2008-11-25 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-11-25  Dan Williams  <dcbw@redhat.com>
2
3         Patch from Tambet Ingo <tambet@gmail.com>
4
5         Fix mishandling of netlink error floods (rh #459205, novell #443429, lp #284507)
6
7         * src/nm-netlink-monitor.c
8                 - Remove bits for using a non-default GMainContext, which weren't used
9                 - (nm_netlink_monitor_error_handler): don't leak the GError, and report
10                         the actual error code
11
12         * src/NetworkManager.c
13                 - (nm_error_monitoring_device_link_state): disconnect error handler when
14                         an error flood occurs to avoid pegging the CPU
15
16 2008-11-23  Dan Williams  <dcbw@redhat.com>
17
18         * callouts/nm-dispatcher-action.c
19                 - (construct_envp, nm_dispatcher_action): pass connection UUID to
20                         scripts in the environment
21
22 2008-11-21  Dan Williams  <dcbw@redhat.com>
23
24         Patch from Tambet Ingo  <tambet@gmail.com>
25
26         * configure.in
27           libnm-util/libnm-util.ver
28           libnm-util/nm-setting-8021x.c
29           libnm-util/nm-setting-8021x.h
30                 - Add configure-time option for the system CA path
31                 - Add 'system-ca-certs' option to 802.1x setting, which directs
32                         NetworkManager to use system CA certificates instead of any
33                         connection-defined CA certificates
34
35         * src/supplicant-manager/nm-supplicant-config.c
36           src/supplicant-manager/nm-supplicant-settings-verify.c
37                 - Use system CA certificates if the connection says to do so
38
39 2008-11-21  Dan Williams  <dcbw@redhat.com>
40
41         * src/nm-dbus-manager.c
42           src/nm-dbus-manager.h
43                 - (nm_dbus_manager_get_name_owner): return error
44
45         * src/nm-manager.c
46                 - (impl_manager_activate_connection): perform additional validation on
47                         ActivateConnection calls of user connections
48                 - (is_user_request_authorized): ensure that the requestor is the same
49                         UID as the UID that owns the user settings service; users shouldn't
50                         be able to control another user's connections
51
52 2008-11-21  Dan Williams  <dcbw@redhat.com>
53
54         * gfilemonitor/inotify-sub.c
55                 - (dup_dirname): actually remove trailing '/' (bgo #561807)
56
57 2008-11-21  Tambet Ingo  <tambet@gmail.com>
58
59         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings): Make suse
60         plugin compile again.
61
62 2008-11-20  Dan Williams  <dcbw@redhat.com>
63
64         Patch from Tambet Ingo <tambet@gmail.com>
65
66         * libnm-util/nm-setting.c
67           libnm-util/nm-setting.h
68                 - (NMSettingValueIterFn): instead of just a gboolean for secrets, take
69                         all the GParamSpec flags of the property
70
71         * system-settings/plugins/keyfile/nm-keyfile-connection.c
72           system-settings/plugins/keyfile/reader.c
73           system-settings/plugins/keyfile/writer.c
74                 - Update for NMSettingValueIterFn change
75
76 2008-11-20  Dan Williams  <dcbw@redhat.com>
77
78         * libnm-util/nm-utils.c
79           libnm-util/nm-utils.h
80                 - More documentation updates
81
82 2008-11-20  Dan Williams  <dcbw@redhat.com>
83
84         * libnm-util/libnm-util.ver
85           libnm-util/nm-utils.c
86           libnm-util/nm-utils.h
87           libnm-util/nm-utils-private.h
88           libnm-util/nm-connection.c
89                 - (nm_utils_register_value_transformations): make private, called
90                         from NMConnection registration anyway
91
92 2008-11-20  Dan Williams  <dcbw@redhat.com>
93
94         * libnm-util/Makefile.am
95           libnm-util/nm-utils-private.h
96                 - New header for internal utils private functions
97
98         * libnm-util/libnm-util.ver
99           libnm-util/nm-utils.c
100           libnm-util/nm-utils.h
101                 - Document some functions
102                 - (nm_utils_string_in_list, nm_utils_string_list_contains,
103                    nm_utils_string_slist_validate): un-export, only used within
104                         libnm-util or of limited use in general, and very easy to
105                         re-implement by apps if needed
106
107         * libnm-util/nm-setting-8021x.c
108           libnm-util/nm-setting-wired.c
109           libnm-util/nm-setting-wireless-security.c
110           libnm-util/nm-setting-wireless.c
111                 - Update for private nm_utils_string_* functions
112
113 2008-11-20  Dan Williams  <dcbw@redhat.com>
114
115         * libnm-util/libnm-util.ver
116           libnm-util/nm-setting.c
117           libnm-util/nm-setting.h
118                 - Add NMSetting errors
119                 - (nm_setting_update_secrets): return errors
120
121         * libnm-util/nm-connection.c
122           libnm-util/nm-connection.h
123                 - (nm_connection_update_secrets): return errors
124
125         * libnm-util/nm-setting-vpn.c
126           src/nm-activation-request.c
127           src/vpn-manager/nm-vpn-connection.c
128                 - Handle update secrets errors
129
130 2008-11-20  Dan Williams  <dcbw@redhat.com>
131
132         * libnm-util/nm-setting.c
133           libnm-util/nm-setting.h
134           libnm-util/libnm-util.ver
135                 - (nm_setting_new_from_hash): rename from nm_setting_from_hash() to be
136                         consistent with nm_connection_new_from_hash()
137
138         * src/nm-activation-request.c
139           libnm-util/nm-connection.c
140                 - Handle rename
141
142 2008-11-19  Dan Williams  <dcbw@redhat.com>
143
144         * configure.in
145           Makefile.am
146           docs/libnm-util/Makefile.am
147           docs/libnm-util/libnm-util.types
148                 - Start to document libnm-util
149
150 2008-11-19  Dan Williams  <dcbw@redhat.com>
151
152         * libnm-util/nm-connection.h
153           libnm-util/nm-connection.c
154                 - Document public functions
155
156 2008-11-19  Dan Williams  <dcbw@redhat.com>
157
158         * libnm-util/nm-setting.h
159           libnm-util/nm-setting.c
160           src/nm-device.c
161           src/nm-manager.c
162           system-settings/plugins/ifcfg-fedora/plugin.c
163                 - Prefix compare flag defines with NM_SETTING_
164
165 2008-11-19  Dan Williams  <dcbw@redhat.com>
166
167         * libnm-util/nm-connection.c
168           libnm-util/nm-connection.h
169                 - (nm_connection_replace_settings): take a GError
170
171         * libnm-glib/nm-settings.c
172           libnm-glib/nm-dbus-connection.c
173           src/nm-manager.c
174           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
175           system-settings/plugins/keyfile/nm-keyfile-connection.c
176           system-settings/plugins/keyfile/plugin.c
177                 - Handle, or don't handle, errors from nm_connection_replace_settings()
178
179 2008-11-19  Dan Williams  <dcbw@redhat.com>
180
181         * libnm-util/libnm-util.ver
182           libnm-util/nm-connection.c
183                 - (nm_setting_register, nm_setting_unregister): unexport; they are
184                         private and don't have a use outside libnm-util
185
186 2008-11-17  Dan Williams  <dcbw@redhat.com>
187
188         * src/nm-hso-gsm-device.c
189                 - (real_connection_secrets_updated): handle PIN/PUK correctly for HSO
190                         devices
191
192 2008-11-17  Dan Williams  <dcbw@redhat.com>
193
194         * system-settings/plugins/ifcfg-fedora/reader.c
195                 - (read_mac_address): clean up
196                 - (make_wireless_setting): pass NULL array to read_mac_address() like it
197                         expects
198
199         * system-settings/plugins/ifcfg-fedora/plugin.c
200                 - (read_one_connection): don't segfault on NULL errors
201
202 2008-11-14  Dan Williams  <dcbw@redhat.com>
203
204         * Tag 0.7.0-rc2
205
206 2008-11-14  Dan Williams  <dcbw@redhat.com>
207
208         Handle gateways on different subnets
209
210         * src/NetworkManagerSystem.c
211                 - (add_ip4_route_to_gateway): gateway route should be link scope and
212                         a host route
213                 - (replace_default_ip4_route): use a destination address too; gateway
214                         address should be /0; don't leak the gateway route object
215
216 2008-11-14  Dan Williams  <dcbw@redhat.com>
217
218         * libnm-glib/libnm_glib.ver
219           libnm-glib/nm-dbus-settings-system.c
220           libnm-glib/nm-dbus-settings-system.h
221                 - Add libnm-glib bits for CanModify
222
223 2008-11-14  Dan Williams  <dcbw@redhat.com>
224
225         * introspection/nm-settings-system.xml
226           system-settings/src/dbus-settings.c
227           system-settings/src/dbus-settings.h
228                 - Add a "CanModify" property to indicate if any plugins support
229                         connection modification
230
231 2008-11-14  Dan Williams  <dcbw@redhat.com>
232
233         Relicense libnm-glib to LGPLv2+ with agreement from contributors
234
235 2008-11-14  Dan Williams  <dcbw@redhat.com>
236
237         * vpn-manager/nm-vpn-connection.c
238                 - (plugin_state_changed): clear VPN secrets on error to ensure they
239                         are always requested from the settings service (rh #429287)
240
241 2008-11-13  Dan Williams  <dcbw@redhat.com>
242
243         * libnm-util/crypto.c
244                 - (crypto_get_private_key_data): fix bad initial arg type checking
245                         from pkcs#12 patch
246
247 2008-11-13  Dan Williams  <dcbw@redhat.com>
248
249         Add support for PKCS#12 private keys (bgo #558982)
250
251         * libnm-util/crypto.c
252           libnm-util/crypto.h
253                 - (parse_old_openssl_key_file): rename from parse_key_file(); adapt to
254                         take a GByteArray instead of a filename
255                 - (file_to_g_byte_array): handle private key files too
256                 - (decrypt_key): take a GByteArray rather than data + len
257                 - (crypto_get_private_key_data): refactor crypto_get_private_key() into
258                         one function that takes a filename, and one that takes raw data;
259                         detect pkcs#12 files as well
260                 - (crypto_load_and_verify_certificate): detect file type
261                 - (crypto_is_pkcs12_data, crypto_is_pkcs12_file): add pkcs#12 detection
262                         functions
263
264         * libnm-util/crypto_gnutls.c
265                 - (crypto_decrypt): take GByteArray rather than data + len; fix a bug
266                         whereby tail padding was incorrectly handled, leading to erroneous
267                         successes when trying to decrypt the data
268                 - (crypto_verify_cert): rework somewhat
269                 - (crypto_verify_pkcs12): validate pkcs#12 keys
270
271         * libnm-util/crypto_nss.c
272                 - (crypto_init): enable various pkcs#12 ciphers
273                 - (crypto_decrypt): take a GByteArray rather than data + len
274                 - (crypto_verify_cert): clean up
275                 - (crypto_verify_pkcs12): validate pkcs#12 keys
276
277         * libnm-util/test-crypto.c
278                 - Handle pkcs#12 keys
279
280         * libnm-util/nm-setting-8021x.c
281           libnm-util/nm-setting-8021x.h
282           libnm-util/libnm-util.ver
283                 - Add two new properties, 'private-key-password' and
284                         'phase2-private-key-password', to be used in conjunction with
285                         pkcs#12 keys
286                 - (nm_setting_802_1x_set_ca_cert_from_file,
287                    nm_setting_802_1x_set_client_cert_from_file,
288                    nm_setting_802_1x_set_phase2_ca_cert_from_file,
289                    nm_setting_802_1x_set_phase2_client_from_file): return certificate
290                         type
291                 - (nm_setting_802_1x_get_private_key_password,
292                    nm_setting_802_1x_get_phase2_private_key_password): return private
293                         key passwords
294                 - (nm_setting_802_1x_set_private_key_from_file,
295                    nm_setting_802_1x_set_phase2_private_key_from_file): set the private
296                         key from a file, and update the private key password at the same time
297                 - (nm_setting_802_1x_get_private_key_type,
298                    nm_setting_802_1x_get_phase2_private_key_type): return the private
299                         key type
300
301         * src/supplicant-manager/nm-supplicant-settings-verify.c
302                 - Whitelist private key passwords
303
304         * src/supplicant-manager/nm-supplicant-config.c
305                 - (nm_supplicant_config_add_setting_8021x): for pkcs#12 private keys,
306                         add the private key password to the supplicant config, but do not
307                         add the client certificate (as required by wpa_supplicant)
308
309 2008-11-12  Tambet Ingo  <tambet@gmail.com>
310
311         * system-settings/plugins/keyfile/nm-keyfile-connection.c (copy_one_secret)
312         (add_secrets): Don't add empty secrets to the secrets hash table.
313
314 2008-11-07  Dan Williams  <dcbw@redhat.com>
315
316         * libnm-util/nm-setting-wireless.c
317                 - (nm_setting_wireless_get_seen_bssid): fix bug from accessor conversion
318                         that cased this function to return garbage, breaking hidden AP
319                         detection
320
321 2008-11-07  Dan Williams  <dcbw@redhat.com>
322
323         Fix deletion of VPN gateway route on DHCP renew (bgo #558133)
324
325         * src/NetworkManagerSystem.c
326           src/NetworkManagerSystem.h
327                 - (nm_system_device_set_ip4_route): return the route that was added
328                 - (nm_system_add_ip4_vpn_gateway_route): make add_vpn_gateway_route()
329                         public, clean up, and return the route that was added
330                 - (nm_system_apply_ip4_config): remove VPN related stuff to simplify,
331                         since nm_system_add_ip4_vpn_gateway_route() is now available; add
332                         flags to allow only certain attributes of the NMIP4Config to be
333                         applied
334
335         * src/nm-device.c
336                 - (handle_dhcp_lease_change): don't touch the DHCP4 config on failure
337                 - (nm_device_set_ip4_config): use nm_ip4_config_diff() to only apply
338                         what's really changed between the old and new configs; don't export
339                         the new IP4 config on failure; always send the DNS info to the
340                         named manager
341
342         * src/vpn-manager/nm-vpn-connection.c
343                 - (device_ip4_config_changed, nm_vpn_connection_new, dispose): track the
344                         parent device's IP4Config and re-add the VPN gateway route when it
345                         changes
346                 - (nm_vpn_connection_ip4_config_get): add the VPN gateway route (since
347                         nm_system_apply_ip4_config() no longer does) and cache it for later
348                 - (connection_state_changed): move cleanup code to its own function
349                 - (vpn_cleanup): delete any previously added VPN gateway route; and
350                         re-apply the parent device's addresses and routes using
351                         nm_system_apply_ip4_config(), not nm_device_set_ip4_config()
352
353 2008-11-07  Dan Williams  <dcbw@redhat.com>
354
355         * src/nm-ip4-config.c
356           src/nm-ip4-config.h
357                 - (nm_ip4_config_diff): new function; return the difference between two
358                         IP4 configs
359                 - (nm_ip4_config_compare): change into nm_ip4_config_diff
360
361 2008-11-05  Dan Williams  <dcbw@redhat.com>
362
363         * nm-ip4-config.c
364           nm-ip4-config.h
365                 - (nm_ip4_config_compare): compare two IP4 configs
366
367 2008-11-05  Dan Williams  <dcbw@redhat.com>
368
369         * src/NetworkManagerPolicy.c
370                 - (update_etc_hosts): only add newline if not the last line of the file
371                         (Jonathan Miner)
372
373 2008-11-05  Dan Williams  <dcbw@redhat.com>
374
375         * src/dhcp-manager/nm-dhcp-dhclient.c
376                 - (get_leasefile_for_iface): move lease files back to where dhclient
377                         puts them
378
379 2008-11-05  Michael Biebl  <mbiebl@gmail.com>
380
381         * initscripts/Debian/NetworkManager
382                 - Update to what Debian is actually using
383
384 2008-11-05  Tambet Ingo  <tambet@gmail.com>
385
386         * libnm-util/nm-setting-8021x.c: Verify PEAP settings as well.
387
388 2008-11-03  Dan Williams  <dcbw@redhat.com>
389
390         * system-settings/src/main.c
391                 - (add_default_dhcp_connection): make the fallback connection read-only
392
393         * libnm-glib/nm-settings.c
394           libnm-glib/nm-settings.h
395                 - Add detailed errors
396                 - (impl_exported_connection_update, impl_exported_connection_delete):
397                         return an error if the connection is read-only
398
399         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
400           system-settings/plugins/keyfile/nm-keyfile-connection.c
401           system-settings/src/main.c
402                 - Use more detailed errors
403
404         * system-settings/src/nm-system-config-error.c
405           system-settings/src/nm-system-config-error.h
406           system-settings/src/dbus-settings.c
407                 - Remove NM_SYSCONFIG_SETTINGS_ERROR_INVALID_CONNECTION, replaced by
408                         NM_SETTINGS_ERROR_INVALID_CONNECTION
409
410 2008-11-02  Dan Williams  <dcbw@redhat.com>
411
412         * Add license headers to everything in src/
413
414 2008-11-02  Dan Williams  <dcbw@redhat.com>
415
416         * Tag 0.7.0-rc1
417
418 2008-11-02  Dan Williams  <dcbw@redhat.com>
419
420         * src/NetworkManagerAP.c
421                 - (nm_ap_new_fake_from_connection): treat only lack of a wireless security
422                         setting as unencrypted; fixes a bug where NM wouldn't ask for new
423                         secrets when connecting to an encrypted network failed
424
425 2008-10-30  Dan Williams  <dcbw@redhat.com>
426
427         * libnm-util/libnm-util.ver
428           libnm-util/nm-setting-ip6-config.c
429           libnm-util/nm-setting-ip6-config.h
430           libnm-util/Makefile.am
431                 - Make properties private and add accessor functions
432                 - Hide IPv6 stuff from public API, it's incomplete and completely unused
433
434         * libnm-util/nm-connection.c
435           libnm-util/nm-utils.c
436           libnm-util/nm-utils.h
437                 - Ignore IPv6 stuff for now
438
439 2008-10-30  Dan Williams  <dcbw@redhat.com>
440
441         * libnm-util/libnm-util.ver
442           libnm-util/nm-setting-8021x.c
443           libnm-util/nm-setting-8021x.h
444                 - Make properties private and add accessor functions
445
446         * src/supplicant-manager/nm-supplicant-config.c
447           system-settings/plugins/ifcfg-suse/parser.c
448                 - Use 802.1x setting accessors
449
450 2008-10-30  Dan Williams  <dcbw@redhat.com>
451
452         * libnm-util/libnm-util.ver
453           libnm-util/nm-setting-wireless-security.c
454           libnm-util/nm-setting-wireless-security.h
455                 - Make properties private and add accessor functions
456
457         * libnm-util/nm-setting-wireless.c
458           src/NetworkManagerAP.c
459           src/nm-device-wifi.c
460           src/supplicant-manager/nm-supplicant-config.c
461           system-settings/plugins/ifcfg-fedora/reader.c
462           system-settings/plugins/ifcfg-suse/parser.c
463                 - Use wireless security accessors
464
465 2008-10-30  Dan Williams  <dcbw@redhat.com>
466
467         * src/nm-device-ethernet.c
468           src/nm-device-wifi.c
469           src/nm-device.c
470           src/ppp-manager/nm-ppp-manager.c
471                 - Harmonize return checking of ioctl
472
473         * system-settings/plugins/ifcfg-fedora/reader.c
474                 - (is_wireless_device): fall back to SIOCGIWNAME (rh #466340)
475
476 2008-10-30  Dan Williams  <dcbw@redhat.com>
477
478         * src/ppp-manager/nm-ppp-manager.c
479                 - (nm_ppp_manager_start): if /dev/ppp doesn't exist, load the
480                         ppp_generic module to create it (bgo #533064)
481
482 2008-10-30  Dan Williams  <dcbw@redhat.com>
483
484         Patch from Alexander Sack <asac@canonical.com>
485
486         Fix "ppp connections don't honour ip4 connection settings"
487
488         * src/nm-device-ethernet.c
489                 - (real_act_stage4_get_ip4_config): merge ip4config settings
490                         with results from ppp manager
491
492         * src/nm-serial-device.c
493                 - (real_act_stage4_get_ip4_config): merge ip4config settings
494                         with results from ppp manager
495
496 2008-10-29  Dan Williams  <dcbw@redhat.com>
497
498         * libnm-util/libnm-util.ver
499           libnm-util/nm-setting-ip4-config.c
500           libnm-util/nm-setting-ip4-config.h
501                 - Make properties private and add accessor functions
502
503         * callouts/nm-dispatcher-action.c
504           libnm-glib/libnm-glib-test.c
505           libnm-util/nm-utils.c
506           src/NetworkManagerPolicy.c
507           src/NetworkManagerSystem.c
508           src/NetworkManagerUtils.c
509           src/dhcp-manager/nm-dhcp-dhclient.c
510           src/dhcp-manager/nm-dhcp-manager.c
511           src/dnsmasq-manager/nm-dnsmasq-manager.c
512           src/nm-device-wifi.c
513           src/nm-device.c
514           src/nm-hso-gsm-device.c
515           src/nm-ip4-config.c
516           src/nm-ip4-config.h
517           src/ppp-manager/nm-ppp-manager.c
518           src/vpn-manager/nm-vpn-connection.c
519           system-settings/plugins/ifcfg-fedora/reader.c
520           system-settings/plugins/ifcfg-suse/parser.c
521           system-settings/plugins/ifcfg-suse/plugin.c
522           system-settings/plugins/ifupdown/parser.c
523           test/nm-tool.c
524           vpn-daemons/vpnc/properties/nm-vpnc.c
525                 - Use IP4 accessor functions
526
527 2008-10-29  Tambet Ingo  <tambet@gmail.com>
528
529         Half of it by Dan Williams <dcbw@redhat.com>
530
531         * libnm-util/libnm-util.ver
532         libnm-util/nm-setting-vpn.c
533         libnm-util/nm-setting-vpn.h
534                 - Make properties private and add accessor functions.
535
536         * src/vpn-manager/nm-vpn-connection.c
537         src/vpn-manager/nm-vpn-manager.c
538         system-settings/plugins/keyfile/reader.c
539         vpn-daemons/openvpn/properties/auth-helpers.c
540         vpn-daemons/openvpn/properties/import-export.c
541         vpn-daemons/openvpn/properties/nm-openvpn.c
542         vpn-daemons/openvpn/src/nm-openvpn-service.c
543         vpn-daemons/pptp/auth-dialog/main.c
544         vpn-daemons/pptp/properties/advanced-dialog.c
545         vpn-daemons/pptp/properties/nm-pptp.c
546         vpn-daemons/pptp/src/nm-pptp-service.c
547         vpn-daemons/vpnc/properties/nm-vpnc.c
548         vpn-daemons/vpnc/src/nm-vpnc-service.c
549                 - Use VPN setting accessors.
550
551 2008-10-28  Dan Williams  <dcbw@redhat.com>
552
553         Patch from Tambet Ingo <tambet@gmail.com>
554
555         * libnm-util/libnm-util.ver
556           libnm-util/nm-setting-wireless.c
557           libnm-util/nm-setting-wireless.h
558                 - Make properties private and add accessor functions
559
560         * src/NetworkManagerAP.c
561           src/nm-device-wifi.c
562           src/nm-manager.c
563           src/supplicant-manager/nm-supplicant-config.c
564           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
565           system-settings/plugins/ifcfg-fedora/reader.c
566           system-settings/plugins/ifcfg-suse/parser.c
567           system-settings/plugins/ifupdown/parser.c
568                 - Use wireless setting accessors
569
570 2008-10-27  Dan Williams  <dcbw@redhat.com>
571
572         Patch from Tambet Ingo <tambet@gmail.com>
573
574         * libnm-util/libnm-util.ver
575           libnm-util/nm-setting-ppp.c
576           libnm-util/nm-setting-ppp.h
577                 - Make properties private and add accessor functions
578
579         * src/ppp-manager/nm-ppp-manager.c
580                 - Use ppp setting accessors
581
582 2008-10-27  Dan Williams  <dcbw@redhat.com>
583
584         Patch from Tambet Ingo <tambet@gmail.com>
585
586         * libnm-util/nm-setting.h
587           libnm-util/nm-setting.c
588                 - Make properties private and add accessor functions
589
590         * libnm-util/nm-connection.c
591           libnm-util/nm-setting-8021x.c
592           libnm-util/nm-setting-cdma.c
593           libnm-util/nm-setting-connection.c
594           libnm-util/nm-setting-gsm.c
595           libnm-util/nm-setting-ip4-config.c
596           libnm-util/nm-setting-ip6-config.c
597           libnm-util/nm-setting-ppp.c
598           libnm-util/nm-setting-pppoe.c
599           libnm-util/nm-setting-serial.c
600           libnm-util/nm-setting-template.c
601           libnm-util/nm-setting-vpn.c
602           libnm-util/nm-setting-wired.c
603           libnm-util/nm-setting-wireless-security.c
604           libnm-util/nm-setting-wireless.c
605           system-settings/plugins/keyfile/reader.c
606           system-settings/plugins/keyfile/writer.c
607                 - Use setting accessors
608
609 2008-10-27  Dan Williams  <dcbw@redhat.com>
610
611         * libnm-util/libnm-util.ver
612           libnm-util/nm-setting-connection.c
613           libnm-util/nm-setting-connection.h
614                 - Add a 'read-only' property that indicates the connection cannot be
615                         modified
616
617         * system-settings/plugins/ifcfg-fedora/reader.c
618           system-settings/plugins/ifcfg-suse/parser.c
619           system-settings/plugins/ifupdown/parser.c
620                 - These plugins are read-only at the moment
621
622         * system-settings/plugins/keyfile/reader.c
623           system-settings/plugins/keyfile/writer.c
624                 - Read-only shouldn't get saved out to files or read in from them
625
626 2008-10-27  Tambet Ingo  <tambet@gmail.com>
627
628         * src/nm-device-ethernet.c (nm_device_ethernet_get_speed): Implement
629         correct speed reporting for fast devices (kernel >= 2.6.27).
630
631 2008-10-26  Dan Williams  <dcbw@redhat.com>
632
633         Attempt to compensate for modems that don't enable full AT parsing before
634         the PIN has been entered.
635
636         * src/nm-gsm-device.c
637                 - (init_modem): accept different init strings
638                 - (init_done): try different init strings on failure
639                 - (check_pin_done): on PIN success, do full modem init
640
641 2008-10-26  Dan Williams  <dcbw@redhat.com>
642
643         Patch from Tambet Ingo <tambet@gmail.com>
644
645         * libnm-util/libnm-util.ver
646           libnm-util/nm-setting-connection.c
647           libnm-util/nm-setting-connection.h
648                 - Make properties private and add accessor functions
649
650         * src/NetworkManagerPolicy.c
651           src/nm-cdma-device.c
652           src/nm-device-ethernet.c
653           src/nm-device-interface.c
654           src/nm-device-wifi.c
655           src/nm-gsm-device.c
656           src/nm-manager.c
657           src/ppp-manager/nm-ppp-manager.c
658           src/vpn-manager/nm-vpn-connection.c
659           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
660           system-settings/plugins/ifcfg-fedora/plugin.c
661           system-settings/plugins/ifcfg-fedora/reader.c
662           system-settings/plugins/ifcfg-suse/parser.c
663           system-settings/plugins/ifupdown/parser.c
664           system-settings/plugins/keyfile/nm-keyfile-connection.c
665           system-settings/plugins/keyfile/plugin.c
666           system-settings/plugins/keyfile/writer.c
667           system-settings/src/main.c
668                 - Use those accessors
669
670 2008-10-26  Dan Williams  <dcbw@redhat.com>
671
672         Patch from Tambet Ingo <tambet@gmail.com>
673
674         * libnm-util/libnm-util.ver
675           libnm-util/nm-setting-gsm.c
676           libnm-util/nm-setting-gsm.h
677                 - Make properties private and add accessor functions
678
679         * src/nm-gsm-device.c
680           src/nm-hso-gsm-device.c
681           src/ppp-manager/nm-ppp-manager.c
682                 - Use those accessors
683
684 2008-10-26  Dan Williams  <dcbw@redhat.com>
685
686         Patch from Tambet Ingo <tambet@gmail.com>
687
688         * libnm-util/libnm-util.ver
689           libnm-util/nm-setting-cdma.c
690           libnm-util/nm-setting-cdma.h
691                 - Make properties private and add accessor functions
692
693         * src/nm-cdma-device.c
694           src/ppp-manager/nm-ppp-manager.c
695                 - Use those accessors
696
697 2008-10-26  Dan Williams  <dcbw@redhat.com>
698
699         Patch from Tambet Ingo <tambet@gmail.com>
700
701         * libnm-util/libnm-util.ver
702           libnm-util/nm-setting-pppoe.c
703           libnm-util/nm-setting-pppoe.h
704                 - Make properties private and add accessor functions
705
706         * src/nm-device-ethernet.c
707           src/ppp-manager/nm-ppp-manager.c
708                 - Use those accessors
709
710 2008-10-26  Dan Williams  <dcbw@redhat.com>
711
712         Patch from Tambet Ingo <tambet@gmail.com>
713
714         * libnm-util/libnm-util.ver
715           libnm-util/nm-setting-wired.c
716           libnm-util/nm-setting-wired.h
717                 - Make properties private and add accessor functions
718
719         * src/nm-device-ethernet.c
720           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
721           system-settings/plugins/ifcfg-suse/parser.c
722           system-settings/src/main.c
723                 - Use those accessors
724
725 2008-10-26  Dan Williams  <dcbw@redhat.com>
726
727         Patch from Tambet Ingo <tambet@gmail.com>
728
729         * libnm-util/libnm-util.ver
730           libnm-util/nm-setting-serial.c
731           libnm-util/nm-setting-serial.h
732           src/nm-serial-device.c
733                 - Make properties private and use accessors instead
734
735 2008-10-26  Dan Williams  <dcbw@redhat.com>
736
737         * src/supplicant-manager/nm-supplicant-interface.c
738           src/supplicant-manager/nm-supplicant-interface.h
739           src/supplicant-manager/nm-supplicant-manager.c
740           src/supplicant-manager/nm-supplicant-manager.h
741                 - Add state-to-string conversion functions
742
743         * src/nm-device-wifi.c
744           src/nm-device-ethernet.c
745                 - Normalize state info logging and use strings instead of numbers
746
747 2008-10-26  Dan Williams  <dcbw@redhat.com>
748
749         * src/NetworkManagerPolicy.c
750                 - (update_routing_and_dns): ignore host routes when determining whether
751                         a VPN connection should own the default route (bgo #552594)
752
753 2008-10-24  Dan Williams  <dcbw@redhat.com>
754
755         * src/nm-gsm-device.c
756                 - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
757
758 2008-10-23  Dan Williams  <dcbw@redhat.com>
759
760         * src/ppp-manager/nm-ppp-manager.c
761                 - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
762                         add really important stuff to the command line to ensure that NM
763                         overrides /etc/ppp/options (bgo #556781)
764
765 2008-10-22  Dan Williams  <dcbw@redhat.com>
766
767         * src/NetworkManagerSystem.c
768           src/nm-device.c
769                 - Use the device's IP interface where appropriate (Per Hallsmark)
770
771 2008-10-22  Dan Williams  <dcbw@redhat.com>
772
773         * src/nm-gsm-device.c
774                 - (schedule_automatic_registration_again): use a short timeout here
775                         instead of an idle handler to avoid using too much CPU polling for
776                         something we should be waiting a bit for anyway
777
778 2008-10-22  Dan Williams  <dcbw@redhat.com>
779
780         * include/NetworkManager.h
781           introspection/nm-device.xml
782                 - Add device state change reason for carrier changes
783
784         * src/nm-device-ethernet.c
785                 - (set_carrier): use the carrier change reason when changing device
786                         state in response to carrier changes
787
788 2008-10-21  Dan Williams  <dcbw@redhat.com>
789
790         * src/NetworkManagerPolicy.c
791                 - (update_etc_hosts): don't leak errors, and ensure that
792                         g_file_set_contents() gets a valid error placeholder (rh #461933)
793
794 2008-10-21  Dan Williams  <dcbw@redhat.com>
795
796         * src/nm-manager.c
797                 - (free_get_settings_info): don't use the DBusGProxy which could be
798                         disposed of by the time the function is called
799                 - (internal_new_connection_cb): save connection scope
800                 - (connection_get_settings_cb): don't replace a connection unless it's
801                         actually different from the existing one; fixes an issue where
802                         killing the settings service wouldn't deactivate an active connection
803                         provided by that settings service, because it was using a connection
804                         that had already been replaced in the system or user hash
805
806 2008-10-21  Dan Williams  <dcbw@redhat.com>
807
808         * src/NetworkManager.c
809                 - (main): keep the DHCP manager around since it's a singleton; fixes
810                         a use-after-free exposed by r4196 since the DHCP manager singleton
811                         variable isn't cleared when the DHCP manager object is finalized
812
813 2008-10-20  Dan Williams  <dcbw@redhat.com>
814
815         * libnm-util/nm-setting-wireless-security.c
816                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
817
818 2008-10-20  Dan Williams  <dcbw@redhat.com>
819
820         * src/supplicant-manager/nm-supplicant-config.c
821                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
822
823 2008-10-20  Dan Williams  <dcbw@redhat.com>
824
825         * src/dhcp-manager/nm-dhcp-manager.c
826                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
827                         manager object already refs it once
828                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
829                         also get cleaned up by nm_dhcp_device_destroy() to prevent
830                         double-frees
831
832 2008-10-20  Dan Williams  <dcbw@redhat.com>
833
834         * src/nm-manager.c
835                 - (initial_get_connections): use private dbus manager, don't keep
836                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
837                         manager object.
838
839 2008-10-18  Dan Williams  <dcbw@redhat.com>
840
841         * libnm-glib/nm-settings.c
842           libnm-glib/nm-settings.h
843                 - Rename the "get_secrets" virtual function "service_get_secrets" to
844                         clarify when it's used; NMExportedConnetion is a base-class for both
845                         the client and service side, which is sort of confusing, and
846                         get_secrets only makes sense on the service side.
847
848         * libnm-glib/nm-dbus-connection.c
849                 - (get_secrets): remove, unused, and clients need to do extra work to
850                         get secrets anyway since the call can block on the remote side
851
852         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
853           system-settings/plugins/keyfile/nm-keyfile-connection.c
854                 - Fix up for get_secrets -> service_get_secrets
855
856 2008-10-16  Dan Williams  <dcbw@redhat.com>
857
858         * src/nm-device-wifi.c
859                 - (constructor): correctly determine encryption capabilities
860
861 2008-10-15  Dan Williams  <dcbw@redhat.com>
862
863         * src/nm-device-wifi.c
864                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
865                         (Johannes Berg)
866
867 2008-10-15  Dan Williams  <dcbw@redhat.com>
868
869         * src/NetworkManagerSystem.c
870                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
871                         if the ip4_dest is in a smaller subnet contained within a subnet
872                         the machine is currently on, the destination is in the same subnet
873                 - (nm_system_device_set_ip4_route): move subnet checks to callers
874                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
875                         subnet as the parent device, and if so, don't add the direct
876                         host route via the parent device's gateway (bgo #481620)
877                 - (nm_system_apply_ip4_config): check whether the route to be added
878                         is contained within a subnet the device is already on
879
880 2008-10-11  Dan Williams  <dcbw@redhat.com>
881
882         * include/NetworkManager.h
883           introspection/nm-device.xml
884           include/NetworkManagerVPN.h
885                 - Add a few more state reasons for the device deactivated state
886
887         * src/nm-device-interface.c
888           src/nm-device-interface.h
889                 - (nm_device_interface_deactivate): add a 'reason' argument
890
891         * src/nm-device.c
892           src/nm-device.h
893                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
894                 - (nm_device_state_changed): pass the state change reason to
895                         nm_device_take_down()
896                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
897                         to the state change function
898
899         * src/nm-manager.c
900           src/nm-manager.h
901                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
902                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
903                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
904                         something reasonable along to VPN deactivation
905
906         * src/vpn-manager/nm-vpn-manager.c
907           src/vpn-manager/nm-vpn-manager.h
908                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
909                         pass that along to nm_vpn_connection_disconnect()
910
911 2008-10-11  Dan Williams  <dcbw@redhat.com>
912
913         * src/nm-device-wifi.c
914                 - (can_scan): remove old madwifi hack for not scanning while connected
915
916 2008-10-11  Dan Williams  <dcbw@redhat.com>
917
918         Add support for VPN subnet gateways (bgo #549196)
919
920         * include/NetworkManager.h
921                 - Add key for internal VPN subnet gateway
922
923         * src/vpn-manager/nm-vpn-connection.c
924                 - (ip_address_to_string): return a const from a static buffer so we
925                         don't leak a lot of strings
926                 - (print_vpn_config): print internal VPN gateway as well
927                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
928                         VPN service too
929                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
930
931         * src/NetworkManagerSystem.c
932           src/NetworkManagerSystem.h
933                 - (nm_system_device_replace_default_ip4_route): split into two, one for
934                         VPN connections and one for normal devices
935                 - (replace_default_ip4_route): break out route stuff into its own function
936                 - (nm_system_replace_default_ip4_route_vpn,
937                    nm_system_replace_default_ip4_route): simplify by having two cases,
938                         one for VPNs and one for normal devices
939
940         * src/NetworkManagerPolicy.c
941                 - (update_routing_and_dns): simplify, use split default route replacement
942                         functions
943
944 2008-10-10  Dan Williams  <dcbw@redhat.com>
945
946         Rework default route handling to consolidate decisions in the policy,
947         and to take active VPN connections into account when changing the default
948         route (bgo #545912)
949
950         * src/NetworkManager.c
951                 - (main): pass the vpn_manager to the policy so it knows about active
952                         VPN connections; clean up the named manager which wasn't done before
953
954         * src/NetworkManagerPolicy.c
955           src/NetworkManagerPolicy.h
956                 - (nm_policy_new): get a clue about the vpn_manager
957                 - (update_default_route): remove, fold into update_routing_and_dns()
958                 - (update_routing_and_dns): handle active VPN connections too; an
959                         active VPN connection becomes the default route if it does not have
960                         server-specified or user-specified custom routes.  Otherwise, the
961                         best active device gets the default route
962                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
963                    nm_policy_destroy): track VPN connection activation and deactivation
964                         and update the default route when appropriate
965
966         * src/NetworkManagerSystem.c
967           src/NetworkManagerSystem.h
968                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
969                         in the VPN connection itself
970                 - (nm_system_vpn_device_set_from_ip4_config,
971                    nm_system_device_set_from_ip4_config): merge together to make
972                         nm_system_apply_ip4_config()
973                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
974                         via the parent device
975                 - (nm_system_apply_ip4_config): simplify
976                 - (add_ip4_route_to_gateway): new function; add a direct route to the
977                         gateway if needed
978                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
979                         route stuff out into add_ip4_route_to_gateway() for clarity
980
981         * src/nm-device.c
982                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
983
984         * src/vpn-manager/nm-vpn-connection.c
985           src/vpn-manager/nm-vpn-connection.h
986                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
987                    nm_vpn_connection_get_parent_device): add
988                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
989                         device explicit
990                 - (connection_state_changed): update the named manager now that
991                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
992                         useful on errors
993
994         * src/vpn-manager/nm-vpn-manager.c
995           src/vpn-manager/nm-vpn-manager.h
996                 - Add a 'connection-activated' signal
997                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
998                         policy to find out about active VPN connections
999
1000 2008-10-10  Tambet Ingo  <tambet@gmail.com>
1001
1002         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
1003         a daemon to prevent NM logging spew on console on startup and shutdown (due
1004         to dependency loop between NM and syslog).
1005
1006 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1007
1008         Implement managed mode. We bind devices configured in /etc/network/interfaces
1009         to their connections by updating wired/wireless setting with the
1010         mac address of the device.
1011
1012         * system-settings/plugins/ifupdown/plugin.c
1013                 - (get_net_address_for_udi): implement function to retrieve MAC
1014                         address of udi from hal in GByteArray format
1015                 - (bind_device_to_connection): bind mac address of device to
1016                         wired/wireless system connection
1017                 - (hal_device_added_cb): call bind_device_to_connection for
1018                         system connections with a matching interface.name
1019                 - (hal_device_added_cb): ensure that all code paths
1020                         properly free the "iface" string.
1021
1022 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1023
1024         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
1025         mode of the ifupdown system config plugin.
1026
1027         * system-settings/plugins/ifupdown/plugin.c
1028                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
1029                         private unmanage_well_known state field accordingly
1030
1031 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1032
1033         Implement unmanaged mode that will prevent all devices in the
1034         well_known_udis set from being touched by NetworkManager
1035
1036         * system-settings/plugins/ifupdown/plugin.c
1037                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
1038                         unmanage_well_known field used to turn on/off unmanaged
1039                         mode
1040                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
1041                         signal when well_known_udis get added/removed
1042                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
1043                         if we are in unmanaged mode
1044
1045 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1046
1047         Add support to track network devices that have a configuration
1048         with a matching interface.name in /etc/network/interfaces
1049
1050         * system-settings/plugins/ifupdown/plugin.c
1051                 - (typedef struct SCPluginIfupdownPrivate): add hash table
1052                         to track |well_known_udis|
1053                 - (get_iface_for_udi): helper function to get interface.name
1054                         for a udi
1055                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
1056                         that add and remove devices to and from the well_known_udis
1057                         set depending on whether their |interface.name| matches
1058                         any interface definition in /etc/network/interfaces
1059                 - (SCPluginIfupdown_init): connect callbacks from above with
1060                         hal_mgr and setup well_known_udis hashtable
1061                 - (GObject__dispose): destroy well_known_udis hashtable
1062                 - (hal_device_added_cb2): implement wrapper callback with GFunc
1063                         signature. user_data is supposed to be a triple (hal_mgr,
1064                         config and devtype)
1065                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
1066                         startup and call hal_device_added_cb2
1067
1068 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1069
1070         Remove implementation for not used NMSystemConfigInterface callback functions
1071         in ifupdown plugin
1072
1073         * system-settings/plugins/ifupdown/plugin.c
1074                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
1075                 - (SCPluginIfupdown_connection_added): removed
1076
1077 2008-10-08  Dan Williams  <dcbw@redhat.com>
1078
1079         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
1080
1081         * src/NetworkManagerUtils.c
1082                 - (nm_utils_call_dispatcher): add a 'hostname' action
1083
1084         * src/NetworkManagerPolicy.c
1085                 - (set_system_hostname): dispatch hostname changes
1086
1087         * callouts/nm-dispatcher-action.c
1088                 - (nm_dispatcher_action): handle 'hostname' actions
1089
1090 2008-10-08  Dan Williams  <dcbw@redhat.com>
1091
1092         * src/NetworkManagerSystem.c
1093                 - (find_route): ref the route so it doesn't get destroyed when the cache
1094                         is cleared
1095                 - (nm_system_device_set_priority): unref the route here after it's done
1096                         being used
1097
1098 2008-10-08  Dan Williams  <dcbw@redhat.com>
1099
1100         * src/nm-serial-device.c
1101                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
1102
1103 2008-10-08  Tambet Ingo  <tambet@gmail.com>
1104
1105         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
1106         connection with new settings before saving it.
1107
1108 2008-10-06  Dan Williams  <dcbw@redhat.com>
1109
1110         * src/nm-ip4-config.c
1111           src/nm-ip4-config.h
1112                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
1113
1114         * src/nm-device-interface.c
1115                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
1116                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
1117                         by using '/' for the object path
1118
1119         * src/nm-device.c
1120                 - (src/nm-device.c): marshal missing/unexported ip4-config through
1121                         dbus as '/' since dbus-glib can't handle NULL objects nor can
1122                         dbus handle NULL object paths
1123
1124 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1125
1126         Implement system hostname support for debian/ubuntu
1127
1128         * system-settings/plugins/ifupdown/plugin.c
1129                 - (GObject__get_property): extend announced capabilities; add
1130                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
1131                 - (GObject__set_property,write_system_hostname): implement
1132                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
1133                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
1134                    update_system_hostname, get_hostname):
1135                         implement hostname property that watches and
1136                         parses /etc/hostname
1137
1138 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1139
1140         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
1141           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
1142           system-settings/plugins/ifcfg-fedora/Makefile.am
1143           system-settings/src/nm-inotify-helper.c
1144           system-settings/src/nm-inotify-helper.h
1145           src/Makefile.am
1146                 - Move ifcfg-fedora inotify helpers to the system settings service so
1147                         they are available to all plugins
1148
1149 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1150
1151         Implement support for wep-tx-keyidx in ifupdown system
1152         config plugin.
1153
1154         * system-settings/plugins/ifupdown/parser.c
1155                 - (update_wireless_security_setting_from_if_block): introduce
1156                         free_type_mapping func table; rename a few local
1157                         variables to improve readability; add wpa security mapping
1158                         for wep-tx-keyidx property
1159                 - (string_to_gpointerint): new function used for the auto_type_mapping
1160                         of new wep-tx-keyidx property
1161                 - (slist_free_all): free func used for mapped slist types
1162
1163 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1164
1165         * system-settings/src/main.c:
1166                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
1167                         always used as the hash key; fixes a crash when removing wired
1168                         devices
1169
1170 2008-10-02  Dan Williams  <dcbw@redhat.com>
1171
1172         * src/nm-gsm-device.c
1173                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
1174                         pass the required GSM secret along via user_data rather than keeping
1175                         it around in the private data where it sometimes didn't get cleared
1176                 - (real_get_ppp_name): implement using the GSM username
1177
1178 2008-10-02  Dan Williams  <dcbw@redhat.com>
1179
1180         * src/ppp-manager/nm-ppp-manager.c
1181           src/ppp-manager/nm-ppp-manager.h
1182                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
1183                         the settings daemon for completely new ones
1184                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
1185                         local PPP peer name; allow PPP debuging by launching NM with
1186                         the environment variable NM_PPP_DEBUG defined
1187                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
1188                         create_pppd_cmd_line()
1189
1190         * src/nm-serial-device.c
1191           src/nm-serial-device.h
1192                 - New 'get_ppp_name' function for subclasses to implement to return the
1193                         local PPP peer name
1194                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
1195                         and pass that name to the PPP manager
1196
1197         * src/nm-device-ethernet.c
1198                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
1199                         the local peer name
1200
1201         * src/nm-cdma-device.c
1202                 - (real_get_ppp_name): implement using the CDMA username
1203
1204 2008-10-02  Dan Williams  <dcbw@redhat.com>
1205
1206         Patch from Alexander Sack <asac ubuntu com>
1207
1208         * system-settings/plugins/ifupdown/parser.c
1209                 - Implement more graceful ip4 config parsing for cases where
1210                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
1211                   by using default values
1212
1213 2008-10-02  Dan Williams  <dcbw@redhat.com>
1214
1215         * src/NetworkManagerPolicy.c
1216                 - (device_state_changed): when marking a connection invalid, clear its
1217                         secrets too so that fresh secrets get requested the next time
1218
1219 2008-10-01  Dan Williams  <dcbw@redhat.com>
1220
1221         * system-settings/src/dbus-settings.c
1222                 - (nm_sysconfig_settings_init): cache system hostname on startup as
1223                         a fallback if no plugin provides a hostname
1224                 - (get_property): fall back to cached hostname if no plugin provides
1225                         a hostname
1226
1227 2008-10-01  Dan Williams  <dcbw@redhat.com>
1228
1229         Fix setting value comparison issue that caused some settings to look the
1230         same when they were really different (rh #464417)
1231
1232         * libnm-util/nm-param-spec-specialized.c
1233                 - (type_is_fixed_size): return fundamental size of the fixed type too
1234                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
1235                         in the comparison so that the _entire_ fixed type collection gets
1236                         compared rather than just the first 'len1' bytes
1237
1238 2008-09-30  Dan Williams  <dcbw@redhat.com>
1239
1240         * src/NetworkManagerPolicy.c
1241                 - (lookup_thread_worker): don't store the idle handler ID becuase the
1242                         idle handler could have already run and freed the LookupThread
1243                         structure
1244
1245 2008-09-30  Tambet Ingo  <tambet@gmail.com>
1246
1247         * src/nm-device.c (nm_device_get_priority): Implement.
1248         (nm_device_set_ip4_config): Send the device priority to system ip4 
1249         config setter.
1250
1251         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
1252         Add priority argument and if it's >= 0, set the priority of the network
1253         route added automatically by netlink (or kernel?).
1254         (nm_system_device_set_priority): Implement.
1255
1256         * src/NetworkManagerPolicy.c (get_best_device): Use 
1257         nm_device_get_priority() instead of home-grown version. Revert the
1258         meaning, best priority is the lowest one.
1259
1260 2008-09-29  Dan Williams  <dcbw@redhat.com>
1261
1262         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
1263         when it returns EAGAIN (rh #362421)
1264
1265         * src/nm-device-wifi.c
1266                 - (wireless_get_range): try GIWRANGE a few times until the card responds
1267                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
1268
1269 2008-09-28  Dan Williams  <dcbw@redhat.com>
1270
1271         * src/nm-serial-device.c
1272           src/nm-serial-device.h
1273                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
1274                         cleaned at the right times when subclasses close the serial port too
1275                 - (nm_serial_device_send_command): use a default send delay; don't
1276                         spin forever on EAGAIN
1277                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
1278                         remove, no longer used
1279                 - (find_response): return the matched response if any
1280                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
1281                         while doing so
1282                 - (wait_for_reply_done): pass the matched response to the callback
1283                 - (wait_for_reply_got_data): save the matched response; simplify timeout
1284                         handling
1285                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
1286                         const since they never get modified
1287                 - (cleanup_device): split out common cleanup stuff to a new function
1288                 - (real_deactivate_quickly, finalize): use cleanup_device()
1289
1290         * src/nm-gsm-device.c
1291                 - (modem_get_reply): remove, unused
1292                 - (set_apn): give the card a bit more time to respond
1293                 - (manual_registration_again, schedule_manual_registration_again,
1294                    manual_registration_response, manual_registration): handle manual
1295                         registration timeouts better by retrying registration a few times
1296                         because cards are a bit slow after CFUN=1
1297                 - (automatic_registration_get_network, get_network_response): use
1298                         modem_wait_for_reply() because it interacts better with the serial
1299                         buffer and does more intelligent matching; need to wait for 'OK'
1300                         rather than just matching terminators
1301                 - (schedule_automatic_registration_again,
1302                    automatic_registration_response, automatic_registration): retry
1303                         registration a few times on timeout or "searching" because cards
1304                         take a bit to find a network after being powered up with CFUN=1
1305                 - (power_up_response, power_up, init_full_done, enter_pin,
1306                    check_pin_done): power up the card with CFUN=1 before trying to
1307                         register with the network
1308                 - (init_modem_full, init_modem): use more standard 3G init strings
1309
1310         * src/nm-hso-gsm-device.c
1311                 - (modem_get_reply): remove, unused
1312                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
1313                         modem_wait_for_reply() to match actual responses instead of single
1314                         termination characters; it doesn't leave stuff in the serial buffer
1315                         that might confuse later calls
1316                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
1317                         to ensure that the call is really disconnected and not leave extra
1318                         stuff in the serial buffer
1319
1320         * src/nm-cdma-device.c
1321                 - (power_up_response, power_up, init_done): try Sierra-style modem
1322                         power up before attempting to connect
1323
1324 2008-09-27  Dan Williams  <dcbw@redhat.com>
1325
1326         * libnm-util/nm-setting-gsm.c
1327                 - (verify): verify GSM network ID
1328
1329 2008-09-25  Dan Williams  <dcbw@redhat.com>
1330
1331         * libnm-util/nm-setting-gsm.c
1332           libnm-util/nm-setting-gsm.h
1333                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
1334                         technology terms (bgo #551361)
1335
1336 2008-09-25  Dan Williams  <dcbw@redhat.com>
1337
1338         Fix bgo #549401 (inspired by patch from Alexander Sack)
1339
1340         * src/nm-device-ethernet.c
1341                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1342                 - (remove_supplicant_interface_error_handler): remove the supplicant
1343                         error idle callback too
1344                 - (supplicant_interface_release): rename from supplicant_interface_clean
1345                         to match nm-device-wifi.c; clean up supplicant interface-related
1346                         state tasks when the supplicant interface is disposed of
1347                 - (schedule_state_handler): add scheduled tasks to a list so they can
1348                         be cleaned up later
1349                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1350                    supplicant_iface_connection_state_cb_handler): use
1351                         finish_supplicant_task() to clean up each completed task
1352                 - (supplicant_iface_connection_error_cb_handler,
1353                    supplicant_connection_timeout_cb): clear source id when the task is
1354                         complete
1355                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1356                         later cleanup
1357                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
1358                         tasks
1359
1360         * src/nm-device-wifi.c
1361                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1362                 - (remove_supplicant_interface_error_handler): remove the supplicant
1363                         error idle callback too
1364                 - (supplicant_interface_release): clean up supplicant interface-related
1365                         state tasks when the supplicant interface is disposed of
1366                 - (schedule_state_handler): add scheduled tasks to a list so they can
1367                         be cleaned up later
1368                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1369                    supplicant_iface_connection_state_cb_handler): use
1370                         finish_supplicant_task() to clean up each completed task
1371                 - (supplicant_iface_connection_error_cb_handler): clear source id when
1372                         the task is complete
1373                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1374                         later cleanup
1375                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
1376
1377 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1378
1379         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
1380         method and get/set hostname property.
1381
1382 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1383
1384         * src/supplicant-manager/nm-supplicant-interface.c
1385         (nm_supplicant_interface_disconnect): Don't increment the reference 
1386         count when disconnecting. The problem is on shutdown, when the replies
1387         to these commands do not arrive before NM exits, resulting on never
1388         calling supplicant interface's dispose(), which removes the interface
1389         from supplicant.
1390
1391 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1392
1393         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
1394         all the public function arguments.
1395
1396 2008-09-22  Tambet Ingo  <tambet@gmail.com>
1397
1398         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
1399         "Failure" signal from VPN plugins, store the failure reason, and
1400         use it when the state is changed to failure.
1401
1402         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
1403         description.
1404
1405         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
1406         reason to the end of the list to not break the API.
1407         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
1408         so it can be shared by plugins and daemon.
1409
1410 2008-09-18  Dan Williams  <dcbw@redhat.com>
1411
1412         Patch from Alexander Sack <asac@ubuntu.com>
1413
1414         * configure.in
1415           system-settings/plugins/Makefile.am
1416           system-settings/plugins/ifupdown/Makefile.am
1417           system-settings/plugins/ifupdown/interface_parser.c
1418           system-settings/plugins/ifupdown/interface_parser.h
1419           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
1420           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
1421           system-settings/plugins/ifupdown/parser.c
1422           system-settings/plugins/ifupdown/parser.h
1423           system-settings/plugins/ifupdown/plugin.c
1424           system-settings/plugins/ifupdown/plugin.h
1425                 - Implement a Debian/Ubuntu legacy network configuration plugin
1426                         (gnome.org #551941)
1427
1428 2008-09-18  Dan Williams  <dcbw@redhat.com>
1429
1430         Implement support for honoring configured and automatic hostnames, and for
1431         setting the configured hostname.
1432
1433         * introspection/nm-ip4-config.xml
1434           src/nm-ip4-config.c
1435           src/nm-ip4-config.h
1436           src/dhcp-manager/nm-dhcp-manager.c
1437                 - Remove useless hostname property; it's not really part of the IPv4
1438                         config
1439
1440         * introspection/nm-settings-system.xml
1441           libnm-glib/nm-dbus-settings-system.c
1442           libnm-glib/nm-dbus-settings-system.h
1443                 - Add SetHostname() call to system settings D-Bus interface
1444                 - Add Hostname property to system settings D-Bus interface
1445                 - (nm_dbus_settings_system_save_hostname,
1446                    nm_dbus_settings_system_get_hostname): implement
1447
1448         * src/nm-device.c
1449           src/nm-device.h
1450                 - (nm_device_get_dhcp4_config): implement
1451
1452         * src/nm-manager.c
1453           src/nm-manager.h
1454                 - Fetch and track system settings service hostname changes, and proxy
1455                         the changes via a GObject property of the manager
1456
1457         * system-settings/src/nm-system-config-interface.c
1458           system-settings/src/nm-system-config-interface.h
1459                 - Replace nm_system_config_interface_supports_add() with a capabilities
1460                         bitfield
1461
1462         * system-settings/src/nm-system-config-error.c
1463           system-settings/src/nm-system-config-error.h
1464                 - Add additional errors
1465
1466         * system-settings/src/dbus-settings.c
1467           system-settings/src/dbus-settings.h
1468                 - (get_property, nm_sysconfig_settings_class_init): add hostname
1469                         property; first plugin returning a hostname wins
1470                 - (impl_settings_add_connection): use plugin capabilities instead of
1471                         nm_system_config_interface_supports_add()
1472                 - (impl_settings_save_hostname): implement hostname saving
1473
1474         * src/NetworkManagerPolicy.c
1475                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
1476                    lookup_thread_die): implement an asynchronous hostname lookup thread
1477                         which given an IPv4 address tries to look up the hostname for that
1478                         address with reverse DNS
1479                 - (get_best_device): split out best device code from
1480                         update_routing_and_dns()
1481                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
1482                         to preserve the 127.0.0.1 reverse mapping that so many things require
1483                 - (set_system_hostname): set a given hostname
1484                 - (update_system_hostname): implement hostname policy; a configured
1485                         hostname (from the system settings service) is used if available,
1486                         otherwise an automatically determined hostname from DHCP, VPN, etc.
1487                         If there was no automatically determined hostname, reverse DNS of
1488                         the best device's IP address will be used, and as a last resort the
1489                         hostname 'localhost.localdomain' is set.
1490                 - (update_routing_and_dns): use get_best_device(); update the system
1491                         hostname when the network config changes
1492                 - (hostname_changed): update system hostname if the system settings
1493                         service signals a hostname change
1494                 - (nm_policy_new): list for system settings service hostname changes
1495                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
1496                         gets told to die
1497
1498         * system-settings/plugins/keyfile/plugin.c
1499           system-settings/plugins/ifcfg-suse/plugin.c
1500                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
1501                         capabilities properties
1502
1503         * system-settings/plugins/ifcfg-fedora/shvar.c
1504                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
1505                         writes out /etc/sysconfig/network now
1506
1507         * system-settings/plugins/ifcfg-fedora/plugin.c
1508                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
1509                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
1510                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
1511                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
1512                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
1513                         hostname get/set and capabilities get
1514
1515 2008-09-18  Dan Williams  <dcbw@redhat.com>
1516
1517         * libnm-util/nm-setting-wireless.c
1518                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
1519                         group ciphers if the wireless-security setting explicitly specified
1520                         them, effectively making the default be "all ciphers"  (idea from
1521                         Alexander Sack)
1522
1523 2008-09-15  Dan Williams  <dcbw@redhat.com>
1524
1525         Patch from Alexander Sack <asac@ubuntu.com>
1526
1527         * src/named-manager/nm-named-manager.c
1528                 - (dispatch_resolvconf): respect resolvconf exit code
1529
1530 2008-09-12  Tambet Ingo  <tambet@gmail.com>
1531
1532         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
1533         again. Add some debugging.
1534
1535 2008-09-11  Dan Williams  <dcbw@redhat.com>
1536
1537         * system-settings/plugins/keyfile/plugin.c
1538                 - (update_connection_settings): update connection manually, since
1539                         nm_exported_connection_update() does authentication
1540                 - (dir_changed): update_connection_settings() doesn't need to return
1541                         an error
1542
1543 2008-09-09  Dan Williams  <dcbw@redhat.com>
1544
1545         * libnm-glib/nm-vpn-plugin-ui-interface.c
1546           libnm-glib/nm-vpn-plugin-ui-interface.h
1547           libnm-glib/libnm_glib_vpn.ver
1548                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
1549                         should clean up resources related to the connection (like keyring
1550                         secrets)
1551                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
1552                         should save user-scope secrets (like to the keyring)
1553
1554 2008-09-08  Dan Williams  <dcbw@redhat.com>
1555
1556         Patch from Alexander Sack <asac@ubuntu.com>
1557
1558         * libnm-util/crypto_gnutls.c
1559           libnm-util/crypto_nss.c
1560                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
1561
1562         * libnm-util/nm-utils.c
1563           libnm-util/nm-utils.h
1564           libnm-util/libnm-util.ver
1565                 - (nm_utils_init): initialize libnm-util
1566                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
1567
1568         * libnm-util/nm-setting-8021x.c
1569                 - (nm_setting_802_1x_class_init): init libnm-util when needed
1570
1571 2008-09-05  Dan Williams  <dcbw@redhat.com>
1572
1573         Patch from Roy Marples <roy@marples.name> and others
1574
1575         * configure.in
1576           src/named-manager/nm-named-manager.c
1577                 - Add support for resolvconf; use --with-resolvconf at configure time
1578                         to enable it
1579
1580 2008-09-05  Dan Williams  <dcbw@redhat.com>
1581
1582         * libnm-util/crypto_nss.c
1583           libnm-util/crypto_gnutls.c
1584           libnm-util/crypto.h
1585                 - (crypto_init): return error when init fails
1586
1587 2008-09-05  Dan Williams  <dcbw@redhat.com>
1588
1589         * libnm-glib/nm-device-wifi.c
1590                 - (access_point_removed_proxy): clean up the active access point too
1591                         just in case the active ap changed signal didn't come through yet
1592                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
1593
1594 2008-09-05  Dan Williams  <dcbw@redhat.com>
1595
1596         * libnm-glib/nm-client.c
1597                 - (constructor): get initial state after we know whether NM is running
1598                         or not
1599
1600 2008-09-05  Dan Williams  <dcbw@redhat.com>
1601
1602         * libnm-glib/nm-ip4-config.c
1603           libnm-glib/nm-dhcp4-config.c
1604                 - (finalize): clean up the DBusGProxy
1605
1606 2008-09-04  Dan Williams  <dcbw@redhat.com>
1607
1608         * src/nm-ip4-config.c
1609           src/nm-ip4-config.h
1610                 - (nm_ip4_config_new): don't export over D-Bus here
1611                 - (nm_ip4_config_export): new function; export the config over D-Bus
1612                 - (nm_ip4_config_is_exported): new function
1613
1614         * src/nm-device.c
1615                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
1616                         objects by balancing the IP4Config constructor; the device holds
1617                         a reference to the IP4Config already
1618                 - (nm_device_set_ip4_config): export the IP4Config when needed
1619
1620 2008-09-04  Dan Williams  <dcbw@redhat.com>
1621
1622         * src/supplicant-manager/nm-supplicant-settings-verify.c
1623                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
1624
1625 2008-09-04  Dan Williams  <dcbw@redhat.com>
1626
1627         * libnm-util/nm-setting-vpn.c
1628           libnm-util/nm-setting-vpn.h
1629                 - Split VPN secrets from VPN data so that settings services can actually
1630                         figure out that they are secrets and store them accordingly
1631
1632         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1633           system-settings/plugins/keyfile/reader.c
1634           system-settings/plugins/keyfile/reader.h
1635           system-settings/plugins/keyfile/writer.c
1636                 - Store VPN secrets separately from VPN data so that they can be fetched
1637                         on demand
1638                 - Implement the get_secrets() call so that (a) secrets don't leak out
1639                         to unprivileged callers, and (b) secrets can be sent to privileged
1640                         callers when needed
1641
1642         * vpn-daemons/vpnc/src/nm-vpnc-service.c
1643                 - Handle split VPN secrets
1644
1645 2008-08-27  Dan Williams  <dcbw@redhat.com>
1646
1647         * system-settings/plugins/ifcfg-fedora/reader.c
1648                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
1649
1650 2008-08-27  Dan Williams  <dcbw@redhat.com>
1651
1652         Ensure zombie children get cleaned up.  To get notifications when children
1653         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
1654         that requires calling waitpid() yourself if you've removed the child watch
1655         handler before the process has actually died, which NM needs to do in a few
1656         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
1657         cleans up after the child when required.  Should fix problems trying to
1658         activate mobile broadband connections after a previous failure.
1659
1660         * src/dhcp-manager/nm-dhcp-dhclient.c
1661           src/dhcp-manager/nm-dhcp-dhcpcd.c
1662                 - Use G_SPAWN_DO_NOT_REAP_CHILD
1663
1664         * src/dhcp-manager/nm-dhcp-manager.c
1665                 - (nm_dhcp_device_destroy): ensure child is cleaned up
1666                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
1667                         block on child quitting, since the non-blocking functionality was
1668                         never actually used
1669
1670         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1671                 - (dm_watch_cb): child is already reaped here
1672                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
1673
1674         * src/nm-device.c
1675                 - (aipd_cleanup): block until child is dead
1676
1677         * src/named-manager/nm-named-manager.c
1678                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
1679                         event bothering to watch the child
1680
1681         * src/ppp-manager/nm-ppp-manager.c
1682                 - (ppp_watch_cb): child is already reaped here
1683                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
1684
1685         * src/vpn-manager/nm-vpn-service.c
1686                 - (vpn_service_watch_cb): child is already reaped here
1687                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
1688                         status of the child is actually tracked
1689                 - (ensure_killed, finalize): block until child is dead
1690
1691 2008-08-26  Dan Williams  <dcbw@redhat.com>
1692
1693         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1694                 - (update): Update filename of the connection if the connection id
1695                         was changed
1696
1697         * system-settings/plugins/keyfile/plugin.c
1698                 - (dir_changed): first pass at handling connection renames correctly
1699
1700         * system-settings/plugins/keyfile/writer.c
1701           system-settings/plugins/keyfile/writer.h
1702                 - (write_connection): replace '/' with '*' when writing out the filename
1703                         from the connection id
1704
1705 2008-08-26  Dan Williams  <dcbw@redhat.com>
1706
1707         Add connection UUIDs, since connection names can be changed, and since
1708         old-style connection IDs could change over the life of the connection.  The
1709         UUID should be assigned at connection creation time, be stable for a given
1710         connection, and should be unique among all connections for a given settings
1711         service.
1712
1713         * configure.in
1714           libnm-util/Makefile.am
1715                 - Require libuuid
1716
1717         * introspection/nm-exported-connection.xml
1718                 - Remove "GetID" method
1719
1720         * libnm-glib/nm-dbus-connection.c
1721           libnm-glib/nm-settings.c
1722           libnm-glib/nm-settings.h
1723                 - Remove id-related stuff
1724
1725         * libnm-util/nm-utils.c
1726           libnm-util/nm-utils.h
1727           libnm-util/libnm-util.ver
1728                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
1729                         utility functions to generate UUIDs
1730
1731         * libnm-util/nm-setting-connection.c
1732           libnm-util/nm-setting-connection.h
1733                 - Add 'uuid' member to the connection setting
1734                 - (verify): require valid 'uuid' for a valid connection
1735
1736         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
1737           system-settings/plugins/ifcfg-fedora/reader.c
1738           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
1739           system-settings/plugins/ifcfg-suse/parser.c
1740           system-settings/plugins/keyfile/nm-keyfile-connection.c
1741           system-settings/src/main.c
1742                 - Remove id-related stuff
1743                 - Give connections UUIDs where needed
1744
1745 2008-08-25  Dan Williams  <dcbw@redhat.com>
1746
1747         * libnm-util/crypto_gnutls.c
1748           libnm-util/crypto_nss.c
1749                 - (crypto_init, crypto_deinit): refcount init/deinit
1750                 - (crypto_md5_hash): allow NULL salt
1751
1752 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
1753
1754         * libnm-glib/Makefile.am
1755           libnm-util/Makefile.am
1756           libnm-glib/libnm_glib.ver
1757           libnm-glib/libnm_glib_vpn.ver
1758           libnm-util/libnm-util.ver
1759                 - Use linker version scripts to control the list of exported 
1760                 symbols. List each exported symbol explicitely.
1761         * libnm-util/Makefile.am
1762                 - Fix compilation of the test-crypto binary. The crypto
1763                 functions are no longer part of the libnm-util API. Add 
1764                 crypto_*.c to test_crypto_SOURCES and link against the correct
1765                 crypto libraries.
1766
1767 2008-08-19  Dan Williams  <dcbw@redhat.com>
1768
1769         * configure.in
1770           test/Makefile.am
1771                 - Don't build test/test-common
1772                 - Remove unused stuff
1773
1774         * test/nm-set-fallback
1775           test/nmtestdevices.c
1776           test/test-common/.cvsignore
1777           test/test-common/Makefile.am
1778           test/test-common/test-common.c
1779           test/test-common/test-common.h
1780                 - delete
1781
1782 2008-08-18  Dan Williams  <dcbw@redhat.com>
1783
1784         * libnm-util/nm-utils.c
1785           libnm-util/nm-utils.h
1786                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1787                         export anything that needs to be converted with this function
1788
1789         * src/dhcp-manager/nm-dhcp-manager.c
1790                 - (garray_to_string): convert a byte array to a UTF-8 string with
1791                         minimal validation; the DHCP client sends it in ASCII anyway
1792                 - (get_option, copy_option): use garray_to_string()
1793
1794 2008-08-18  Dan Williams  <dcbw@redhat.com>
1795
1796         * include/NetworkManager.h
1797           introspection/nm-device.xml
1798                 - Add a "missing firmware" device state reason
1799
1800         * src/NetworkManagerSystem.c
1801           src/NetworkManagerSystem.h
1802                 - (nm_system_device_set_up_down): add a no_firmware argument
1803                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1804                         IFF_UP is ENOENT, that almost always means missing firmware
1805
1806         * src/backends/NetworkManagerGeneric.c
1807           src/nm-device-ethernet.c
1808           src/nm-device-private.h
1809           src/nm-device-wifi.c
1810           src/nm-device.c
1811           src/nm-device.h
1812           src/nm-hso-gsm-device.c
1813           src/vpn-manager/nm-vpn-connection.c
1814                 - Pass no_firmware along; check it where appropriate
1815
1816 2008-08-18  Dan Williams  <dcbw@redhat.com>
1817
1818         Patch from Robert Buchholz <rbu@gentoo.org>
1819
1820         * autogen.sh
1821           configure.in
1822                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1823                         1003.1-1988, allowing for file names longer than 99 characters
1824
1825 2008-08-17  Dan Williams  <dcbw@redhat.com>
1826
1827         * include/NetworkManager.h
1828           introspection/nm-device.xml
1829           src/nm-gsm-device.c
1830                 - Finer-grained GSM registration failure error codes
1831
1832 2008-08-17  Dan Williams  <dcbw@redhat.com>
1833
1834         * callouts/Makefile.am
1835           src/Makefile.am
1836                 - Move dispatcher directory creation to callouts/Makefile.am
1837
1838         * system-settings/plugins/keyfile/Makefile.am
1839                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1840
1841 2008-08-15  Dan Williams  <dcbw@redhat.com>
1842
1843         Do connection sharing in a cleaner manner; all required iptables rules
1844         are now stored in the activation request and pertain only to the device
1845         which is being shared to other computers. (rh #458625)
1846
1847         * src/nm-activation-request.c
1848           src/nm-activation-request.h
1849                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1850                         the activation request which will get torn down automatically when
1851                         the activation request dies
1852                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1853                         is started, and tear them down when sharing is stopped
1854
1855         * src/nm-device.c
1856                 - (start_sharing): start up sharing by doing the required iptables magic
1857                 - (share_init): poke the right bits of the kernel and load the right
1858                         modules for NAT
1859                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1860                         connection if it's a 'shared' connection
1861
1862         * src/NetworkManagerPolicy.c
1863                 - Remove all sharing stuff; done in the device code itself
1864
1865 2008-08-15  Dan Williams  <dcbw@redhat.com>
1866
1867         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1868                 - (create_dm_cmd_line): send the right router address
1869
1870 2008-08-15  Dan Williams  <dcbw@redhat.com>
1871
1872         * src/ppp-manager/nm-ppp-manager.c
1873                 - (pppd_timed_out): ensure timeouts fail the connection
1874
1875 2008-08-14  Dan Williams  <dcbw@redhat.com>
1876
1877         * src/nm-properties-changed-signal.c
1878           src/nm-properties-changed-signal.h
1879                 - Add a property spec flag for "don't export this property" in
1880                         property changed signals
1881
1882         * src/nm-hso-gsm-device.c
1883           src/nm-gsm-device.c
1884           src/nm-cdma-device.c
1885                 - Don't export monitor interface or netdev interface properties
1886
1887 2008-08-14  Dan Williams  <dcbw@redhat.com>
1888
1889         * src/NetworkManagerPolicy.c
1890                 - (update_routing_and_dns): 'hso' devices can be default even if they
1891                         don't have a gateway
1892
1893 2008-08-14  Dan Williams  <dcbw@redhat.com>
1894
1895         * src/nm-device.c
1896                 - (nm_device_deactivate_quickly): tear down activation request after
1897                         calling device-specific deactivation
1898
1899         * src/nm-hso-gsm-device.c
1900                 - (real_deactivate_quickly): terminate connection when deactivating
1901
1902 2008-08-14  Dan Williams  <dcbw@redhat.com>
1903
1904         * src/nm-activation-request.h
1905                 - Add HSO secrets caller
1906
1907         * src/nm-gsm-device.c
1908           src/nm-gsm-device.h
1909                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1910                         something to the callback function
1911                 - (set_apn, set_apn_done): call class dial function, not a static one
1912                 - (nm_gsm_device_class_init): add a class 'dial' function
1913
1914         * src/nm-hal-manager.c
1915                 - (get_hso_netdev): find the hso-driven hardware's net device
1916                 - (modem_device_creator): recognize hso-driven hardware and create the
1917                         right type of device object for it
1918
1919         * src/Makefile.am
1920           src/nm-hso-gsm-device.c
1921           src/nm-hso-gsm-device.h
1922                 - Implement support for devices driven by the 'hso' driver as a subclass
1923                         of NMGsmDevice
1924
1925 2008-08-14  Dan Williams  <dcbw@redhat.com>
1926
1927         * src/NetworkManagerSystem.c
1928                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1929                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1930                         success if the operation really was successful
1931
1932 2008-08-14  Dan Williams  <dcbw@redhat.com>
1933
1934         * src/nm-netlink-monitor.c
1935           src/nm-netlink-monitor.h
1936           src/nm-device-ethernet.c
1937                 - (nm_netlink_monitor_request_status): return an error on failure
1938                 - (constructor): don't segfault on missing error
1939
1940 2008-08-13  Dan Williams  <dcbw@redhat.com>
1941
1942         * callouts/nm-dispatcher-action.c
1943                 - Add IP4 config info to script environment
1944
1945 2008-08-12  Dan Williams  <dcbw@redhat.com>
1946
1947         * src/nm-device.c
1948                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1949                         that want to use DHCP hostnames should use dispatcher scripts
1950                         for that
1951
1952         * src/NetworkManagerSystem.h
1953           src/backends/NetworkManagerArch.c
1954           src/backends/NetworkManagerDebian.c
1955           src/backends/NetworkManagerFrugalware.c
1956           src/backends/NetworkManagerGeneric.c
1957           src/backends/NetworkManagerGeneric.h
1958           src/backends/NetworkManagerGentoo.c
1959           src/backends/NetworkManagerMandriva.c
1960           src/backends/NetworkManagerPaldo.c
1961           src/backends/NetworkManagerRedHat.c
1962           src/backends/NetworkManagerSlackware.c
1963           src/backends/NetworkManagerSuSE.c
1964                 - Remove nm_system_set_hostname(), no longer used
1965           
1966         * src/backends/Makefile.am
1967           src/backends/shvar.c
1968           src/backends/shvar.h
1969                 - Remove shvar.*; no longer used
1970
1971 2008-08-12  Dan Williams  <dcbw@redhat.com>
1972
1973         Revert most of the 'hostname' patch.  Too much stuff still breaks when
1974         hostname is updated at runtime.  Distros or users who want hostname updates
1975         can use dispatcher scripts to update the hostname if they need it.
1976
1977 2008-08-12  Dan Williams  <dcbw@redhat.com>
1978
1979         * introspection/nm-settings-system.xml
1980           system-settings/src/dbus-settings.c
1981           system-settings/src/dbus-settings.h
1982                 - Add a 'Hostname' property (rw) which represents the configured
1983                         hostname and domain of the system, if any
1984
1985         * system-settings/src/nm-system-config-error.c
1986           system-settings/src/nm-system-config-error.h
1987           system-settings/src/nm-system-config-interface.c
1988           system-settings/src/nm-system-config-interface.h
1989                 - Add a 'hostname' property to the plugin interface
1990                 - Add a method to send updated hostname to plugins to save in their
1991                         backing configuration store
1992
1993         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1994           system-settings/plugins/keyfile/plugin.c
1995           system-settings/plugins/keyfile/writer.c
1996           system-settings/plugins/keyfile/writer.h
1997           system-settings/plugins/ifcfg-suse/plugin.c
1998                 - Add minimal hostname support
1999
2000         * system-settings/plugins/ifcfg-fedora/plugin.c
2001                 - Add support for updating system hostname in /etc/sysconfig/network
2002
2003 2008-08-12  Dan Williams  <dcbw@redhat.com>
2004
2005         * system-settings/plugins/ifcfg-fedora/shvar.c
2006           system-settings/plugins/ifcfg-fedora/shvar.c
2007                 - Fix double-free caused by svSetValue() followed by svCloseFile()
2008
2009 2008-08-12  Tambet Ingo  <tambet@gmail.com>
2010
2011         * Makefile.am: Fix distcheck.
2012
2013 2008-08-12  Tambet Ingo  <tambet@gmail.com>
2014
2015         * libnm-glib/*.c. Document some more.
2016
2017 2008-08-12  Tambet Ingo  <tambet@gmail.com>
2018
2019         Start documenting libnm-glib public API using gtk-doc.
2020
2021         * libnm-glib/nm-serial-device.c: 
2022         * libnm-glib/nm-object.c: 
2023         * libnm-glib/nm-gsm-device.c: 
2024         * libnm-glib/nm-device.c: 
2025         * libnm-glib/nm-device-wifi.c: 
2026         * libnm-glib/nm-device-ethernet.c: 
2027         * libnm-glib/nm-client.c: 
2028         * libnm-glib/nm-cdma-device.c: Document the public API.
2029
2030         * docs/libnm-glib/libnm-glib.types: Implement.
2031
2032         * docs/libnm-glib/Makefile.am: Implement.
2033
2034         * autogen.sh: 
2035         * configure.in: 
2036         * Makefile.am: Add gtk-doc support.
2037
2038 2008-08-12  Tambet Ingo  <tambet@gmail.com>
2039
2040         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
2041
2042         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
2043         the composite result of all the IP4 configurations and call a distro
2044         specific update_resolv_conf().
2045         (update_resolv_conf): Implement one for directly writing to 
2046         /etc/resolv.conf and one for opensuse to call netconfig.
2047
2048 2008-08-11  Dan Williams  <dcbw@redhat.com>
2049
2050         * src/ppp-manager/nm-ppp-manager.c
2051                 - (impl_ppp_manager_need_secrets): pass interface as required
2052
2053 2008-08-11  Dan Williams  <dcbw@redhat.com>
2054
2055         Merge the vpn-properties setting with the vpn setting since it was pointless
2056         to keep both of them around.  Convert the vpn 'data' hash table to a hash
2057         of string:string (instead of string:variant) so that system settings plugins
2058         can have an easier time dealing with the arbitrary key/value pairs.
2059
2060 2008-08-11  Dan Williams  <dcbw@redhat.com>
2061
2062         * libnm-util/nm-utils.c
2063                 - (nm_utils_register_value_transformations): add value transform for
2064                         a hash table of string:string
2065
2066 2008-08-10  Dan Williams  <dcbw@redhat.com>
2067
2068         * libnm-glib/nm-vpn-plugin.c
2069                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
2070                         an idle handler so the Connect reply gets delivered before the
2071                         stop StateChanged signal
2072
2073 2008-08-10  Dan Williams  <dcbw@redhat.com>
2074
2075         * src/nm-ip4-config.c
2076                 - (get_property): use common ip4 address/route conversion functions
2077                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
2078                         copy the new route here, not take ownership
2079
2080 2008-08-08  Tambet Ingo  <tambet@gmail.com>
2081
2082         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
2083         Update the IP4 setting's method name.
2084
2085 2008-08-07  Dan Williams  <dcbw@redhat.com>
2086
2087         * introspection/nm-ip4-config.xml
2088           libnm-glib/libnm-glib-test.c
2089           libnm-glib/nm-ip4-config.c
2090           libnm-glib/nm-ip4-config.h
2091           src/NetworkManagerSystem.h
2092           src/backends/NetworkManagerArch.c
2093           src/backends/NetworkManagerDebian.c
2094           src/backends/NetworkManagerFrugalware.c
2095           src/backends/NetworkManagerGeneric.c
2096           src/backends/NetworkManagerGeneric.h
2097           src/backends/NetworkManagerGentoo.c
2098           src/backends/NetworkManagerMandriva.c
2099           src/backends/NetworkManagerPaldo.c
2100           src/backends/NetworkManagerRedHat.c
2101           src/backends/NetworkManagerSlackware.c
2102           src/backends/NetworkManagerSuSE.c
2103           src/dhcp-manager/nm-dhcp-manager.c
2104           src/nm-device.c
2105           src/nm-ip4-config.c
2106           src/nm-ip4-config.h
2107                 - Remove NIS logic; should be done from dispatcher scripts instead
2108
2109 2008-08-07  Dan Williams  <dcbw@redhat.com>
2110
2111         * src/dhcp-manager/nm-dhcp-manager.c
2112                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
2113                         mis-handling of DHCP responses that returned more than one router
2114                         (found by Grant Williamson)
2115
2116 2008-08-07  Dan Williams  <dcbw@redhat.com>
2117
2118         * callouts/nm-dispatcher-action.c
2119                 - (nm_dispatcher_action): grab device path and create the device; pass
2120                         the device's DHCP4 config to script caller
2121                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
2122                         scripts
2123
2124         * libnm-glib/nm-dhcp4-config.c
2125           libnm-glib/nm-dhcp4-config.h
2126                 - (nm_dhcp4_config_get_options): expose
2127                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
2128
2129 2008-08-07  Dan Williams  <dcbw@redhat.com>
2130
2131         * include/NetworkManager.h
2132                 - Add the DHCP4Config D-Bus interface
2133
2134         * libnm-glib/Makefile.am
2135           libnm-glib/nm-dhcp4-config.c
2136           libnm-glib/nm-dhcp4-config.h
2137                 - Handle DHCP4 config objects exported by NM over D-Bus
2138
2139         * libnm-glib/nm-device.c
2140           libnm-glib/nm-device.h
2141                 - Add a 'dhcp4-config' property
2142
2143         * libnm-glib/libnm-glib-test.c
2144                 - Print out DHCP4 config for devices
2145                 - Fix some crashes when no connections are active
2146
2147         * src/nm-device-interface.c
2148           src/nm-device.c
2149           src/nm-dhcp4-config.c
2150           src/nm-dhcp4-config.h
2151                 - Treat dhcp4-config object as an object path at the D-Bus interface so
2152                         that when it doesn't exist we can proxy it as "/" which dbus-glib
2153                         doesn't let us do when the property type is G_TYPE_OBJECT
2154
2155 2008-08-07  Dan Williams  <dcbw@redhat.com>
2156
2157         * src/NetworkManager.c
2158           src/NetworkManagerSystem.h
2159           src/backends/NetworkManagerArch.c
2160           src/backends/NetworkManagerDebian.c
2161           src/backends/NetworkManagerFrugalware.c
2162           src/backends/NetworkManagerGeneric.c
2163           src/backends/NetworkManagerGeneric.h
2164           src/backends/NetworkManagerGentoo.c
2165           src/backends/NetworkManagerMandriva.c
2166           src/backends/NetworkManagerPaldo.c
2167           src/backends/NetworkManagerRedHat.c
2168           src/backends/NetworkManagerSlackware.c
2169           src/backends/NetworkManagerSuSE.c
2170                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
2171
2172 2008-08-06  Dan Williams  <dcbw@redhat.com>
2173
2174         * libnm-glib/nm-ip4-config.c
2175           libnm-glib/nm-ip4-config.h
2176                 - Add 'routes' property
2177
2178         * libnm-util/nm-setting-vpn.c
2179           libnm-util/nm-setting-vpn.h
2180                 - Remove 'routes' property
2181
2182         * libnm-util/nm-setting-ip4-config.c
2183           libnm-util/nm-setting-ip4-config.h
2184                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
2185                 - Add 'ignore-auto-routes' property
2186                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
2187                         accomodate route metrics
2188                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
2189
2190         * libnm-util/nm-utils.c
2191           libnm-util/nm-utils.h
2192                 - Add helpers for marshalling IP4 routes
2193
2194         * src/NetworkManagerUtils.c
2195                 - (nm_utils_merge_ip4_config): handle property renames and new route
2196                         structure
2197
2198         * src/NetworkManagerSystem.c
2199                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
2200                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
2201
2202         * src/dhcp-manager/nm-dhcp-manager.c
2203                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
2204
2205         * system-settings/plugins/ifcfg-fedora/reader.c
2206           system-settings/plugins/ifcfg-fedora/writer.c
2207                 - Handle routes separately from addresses now that routes have a different
2208                         format
2209
2210         * introspection/nm-ip4-config.xml
2211           src/nm-ip4-config.c
2212           src/nm-ip4-config.h
2213                 - Rename internal routing functions
2214                 - 'static-routes' renamed to 'routes'
2215
2216 2008-08-04  Dan Williams  <dcbw@redhat.com>
2217
2218         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
2219
2220         * src/NetworkManager.c
2221           src/nm-manager.c
2222           src/nm-manager.h
2223                 - More explicitly make the NMManager a singleton
2224
2225 2008-08-04  Dan Williams  <dcbw@redhat.com>
2226
2227         * libnm-util/nm-connection.c
2228           libnm-util/nm-connection.h
2229                 - (nm_connection_verify): return error on missing 'connection' setting
2230                         (found by Sjoerd Simons)
2231
2232 2008-08-04  Dan Williams  <dcbw@redhat.com>
2233
2234         Handle multiple concurrent PPP connections.
2235
2236         * src/ppp-manager/nm-ppp-manager.c
2237           src/ppp-manager/nm-ppp-manager.h
2238                 - (constructor): only PPP Manager request bus name once; each
2239                         NMPPPManager object gets a unique object path
2240                 - (nm_ppp_manager_class_init, get_property, set_property,
2241                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
2242                         at construct time
2243                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
2244                         remove timeout until PPP manager gets an IP4 config
2245                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
2246                         the plugin can call back to this specific PPP manager instance
2247
2248         * src/nm-device-ethernet.c
2249           src/nm-serial-device.c
2250                 - Pass parent device in nm_ppp_manager_new()
2251
2252         * src/nm-gsm-device.c
2253           src/nm-cdma-device.c
2254                 - (device_state_changed): don't close serial device on NEED_AUTH
2255                         state changed, that's not a failure case like the rest are
2256
2257         * src/ppp-manager/nm-pppd-plugin.c
2258                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
2259                         binds one interface to any pppd process, thus the correct index
2260                         is always 0; send PHASE_DEAD on error to alert NM immediately of
2261                         problems; try harder to get a peer address in spite of pppd
2262                 - (plugin_init): use 'ipparam' as the object path back to our specific
2263                         PPP manager instance
2264
2265 2008-08-04  Dan Williams  <dcbw@redhat.com>
2266
2267         * src/ppp-manager/nm-ppp-manager.c
2268                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
2269                         since the GSM and CDMA settings now implement need_secrets, we can
2270                         rely on them to do the right thing.  Where secrets are not required,
2271                         just pass empty strings back to the pppd plugin.
2272                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
2273                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
2274                         on successful IP4 config receipt
2275
2276 2008-08-04  Dan Williams  <dcbw@redhat.com>
2277
2278         * libnm-util/nm-setting-cdma.c
2279           libnm-util/nm-setting-gsm.c
2280                 - (verify): validate username & password if they exist
2281                 - (need_secrets): if username given, require a password too
2282
2283 2008-08-04  Dan Williams  <dcbw@redhat.com>
2284
2285         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2286                 - (create_dm_cmd_line): really don't listen on lo, despite what the
2287                         manpage says about --listen-address without --interface
2288                         (bgo #546033)
2289
2290 2008-08-01  Dan Williams  <dcbw@redhat.com>
2291
2292         * libnm-glib/nm-device.c
2293                 - (proxy_get_string): util function for querying a HAL property
2294                 - (get_ancestor_device): split out from get_product_and_vendor()
2295                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
2296                         from PCI devices by querying subsys properties
2297                 - (nm_device_update_description): simplify
2298
2299 2008-08-01  Dan Williams  <dcbw@redhat.com>
2300
2301         * libnm-util/nm-setting-ip4-config.c
2302           libnm-util/nm-setting-ip4-config.h
2303                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
2304                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
2305                         settings, and they don't necessarily use DHCP.
2306
2307         * src/NetworkManagerPolicy.c
2308           src/nm-device.c
2309           system-settings/plugins/ifcfg-fedora/reader.c
2310           system-settings/plugins/ifcfg-suse/parser.c
2311                 - Fixup for method changes
2312
2313 2008-07-31  Dan Williams  <dcbw@redhat.com>
2314
2315         * src/nm-activation-request.c
2316           src/vpn-manager/nm-vpn-connection.c
2317                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
2318                         itself should be attached to the activation request or the VPN
2319                         connection, not the NMConnection object, since the call is not
2320                         expected to live as long as the NMConnection itself
2321
2322 2008-07-31  Dan Williams  <dcbw@redhat.com>
2323
2324         * src/nm-device-wifi.c
2325                 - (real_act_stage2_config): fix issue where association would continue
2326                         even though secrets were needed; 'goto out' was in wrong scope and
2327                         result of handle_auth_or_fail() should have been dumped directly to
2328                         'ret' to ensure that the association was postponed until secrets
2329                         are available
2330
2331 2008-07-31  Dan Williams  <dcbw@redhat.com>
2332
2333         * system-settings/plugins/ifcfg-fedora/plugin.c
2334           system-settings/plugins/ifcfg-fedora/reader.c
2335                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
2336                         valid NM connection
2337
2338 2008-07-29  Dan Williams  <dcbw@redhat.com>
2339
2340         * src/nm-gsm-device.c
2341                 - (automatic_registration_response, automatic_registration): recognize
2342                         denied registration and reorder responses
2343
2344 2008-07-29  Dan Williams  <dcbw@redhat.com>
2345
2346         * src/nm-serial-device.c
2347                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
2348                         time(2) is used for current time, which returns seconds, we shouldn't
2349                         be multiplying by 1000.
2350
2351 2008-07-28  Dan Williams  <dcbw@redhat.com>
2352
2353         Patch from Fabrice Bellet <fabrice@bellet.info>
2354
2355         * src/NetworkManagerSystem.c
2356                 - (route_in_same_subnet): mask addresses and compare them so that the
2357                         function actually does what it says it's going to do (rh #456685)
2358
2359 2008-07-27  Dan Williams  <dcbw@redhat.com>
2360
2361         * libnm-util/nm-setting-ip6-config.c
2362                 - (set_property): add missing break that caused routes to be overwritten
2363                         with addresses
2364
2365         * libnm-util/nm-setting-ip6-config.c
2366                 - (verify): validate routes and return GError everywhere on invalid setting
2367                 - (finalize): don't leak routes
2368                 - (set_property): add missing break that caused routes to be overwritten
2369                         with addresses
2370
2371 2008-07-27  Dan Williams  <dcbw@redhat.com>
2372
2373         * libnm-util/*
2374                 - Relicense to LGPLv2+
2375
2376 2008-07-27  Dan Williams  <dcbw@redhat.com>
2377
2378         * system-settings/plugins/ifcfg-fedora/reader.c
2379                 - (make_ip4_setting): fix parsing automatic configs
2380
2381 2008-07-27  Dan Williams  <dcbw@redhat.com>
2382
2383         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2384           src/nm-device.c
2385           src/ppp-manager/nm-ppp-manager.c
2386                 - Ensure child process gets reaped.  The child watch function may be
2387                         removed from the mainloop before the child gets killed, so we have
2388                         to make sure the child is reaped when it's told to die intentionally
2389
2390 2008-07-27  Dan Williams  <dcbw@redhat.com>
2391
2392         Patch from Roy Marples <roy@marples.name>
2393
2394         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2395                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
2396
2397 2008-07-27  Dan Williams  <dcbw@redhat.com>
2398
2399         * src/nm-gsm-device.c
2400                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
2401                         Huawei devices turn echo back on after CPIN (rh #456770)
2402
2403 2008-07-24  Tambet Ingo  <tambet@gmail.com>
2404
2405         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
2406         format argument to g_set_error() call.
2407
2408         * src/backends/interface_parser.[ch]: Remove.
2409
2410         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
2411
2412 2008-07-21  Dan Williams  <dcbw@redhat.com>
2413
2414         * src/ppp-manager/nm-ppp-manager.c
2415                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
2416                         to prevent pppd from picking up some random local address from an
2417                         interface that doesn't have anything to do with the one we're
2418                         interested in (rh #455348)
2419
2420 2008-07-17  Dan Williams  <dcbw@redhat.com>
2421
2422         * libnm-util/nm-utils.c
2423                 - (string_to_utf8): general function for conversion to UTF-8 assisted
2424                         by locale
2425                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
2426                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
2427
2428 2008-07-17  Dan Williams  <dcbw@redhat.com>
2429
2430         * introspection/Makefile.am
2431           introspection/nm-device.xml
2432           introspection/nm-dhcp4-config.xml
2433                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
2434                         itself
2435         * src/nm-device-interface.c
2436           src/nm-device-interface.h
2437                 - Add the DHCP4Config property
2438
2439         * src/nm-device.c
2440                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
2441                         D-Bus clients when it changes
2442
2443         * src/nm-dhcp4-config.c
2444           src/nm-dhcp4-config.h
2445                 - Simple object to store DHCP4 options, export them over D-Bus, and
2446                         notify when they change
2447
2448         * src/dhcp-manager/nm-dhcp-manager.c
2449           src/dhcp-manager/nm-dhcp-manager.h
2450                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
2451                         filter server-returned DHCP options into an NMDHCP4Config object
2452
2453 2008-07-16  Dan Williams  <dcbw@redhat.com>
2454
2455         * introspection/nm-device.xml
2456                 - Add device state reasons
2457
2458 2008-07-16  Dan Williams  <dcbw@redhat.com>
2459
2460         Patch from Roy Marples <roy@marples.name>
2461
2462         * configure.in
2463                 - Add --with-dhcp-client option
2464
2465         * src/dhcp-manager/Makefile.am
2466                 - pass DHCP_CLIENT_PATH on compile line
2467
2468         * src/dhcp-manager/nm-dhcp-manager.c
2469           src/dhcp-manager/nm-dhcp-manager.h
2470                 - Genericize for both dhcpcd and dhclient
2471
2472         * src/dhcp-manager/nm-dhcp-dhclient.c
2473                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
2474
2475         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2476                 - Implement support for dhcpcd too
2477
2478 2008-07-16  Tambet Ingo  <tambet@gmail.com>
2479
2480         * system-settings/src/nm-system-config-interface.c 
2481         (nm_system_config_interface_supports_add): Implement.
2482         (nm_system_config_interface_add_connection): Return a boolean to notify
2483         of errors.
2484
2485         * system-settings/src/nm-polkit-helpers.c: 
2486         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
2487         a separate file.
2488
2489         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
2490         Return an error when none of the plugins support add or if addition
2491         failed for some reason.
2492
2493         * system-settings/src/nm-system-config-error.h: 
2494         * system-settings/src/nm-system-config-error.c: New files, mostly moved
2495         here from nm-polkit-helpers.[ch].
2496
2497         * system-settings/src/Makefile.am: Build new files.
2498
2499         * system-settings/plugins/keyfile/reader.c 
2500         (read_array_of_array_of_uint): Make it more general so that it would
2501         work for routes as well.
2502
2503         * system-settings/plugins/keyfile/writer.c
2504         (write_array_of_array_of_uint): Ditto.
2505         Fix the netmask/prefix writing.
2506
2507         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
2508         boolean to notify errors.
2509
2510         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
2511         Return more specific error.
2512         (delete): Ditto.
2513
2514 2008-07-11  Dan Williams  <dcbw@redhat.com>
2515
2516         Modify the NMDevice::state-changed signal to include the previous state
2517         and reason. Enables the applet to provide more information why device
2518         activation failed.
2519
2520 2008-07-09  Dan Williams  <dcbw@redhat.com>
2521
2522         * callouts/Makefile.am
2523           callouts/nm-avahi-autoipd-action.c
2524           callouts/nm-avahi-autoipd.conf
2525                 - avahi-autoipd callout to send options back to NM
2526
2527         * src/autoip.c
2528           src/autoip.h
2529                 - remove
2530
2531         * src/nm-device.c
2532           src/nm-device-private.h
2533           src/nm-manager.c
2534                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
2535                         old custom stuff
2536
2537 2008-07-07  Dan Williams  <dcbw@redhat.com>
2538
2539         * system-settings/plugins/ifcfg-fedora/reader.c
2540                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
2541                         handle PREFIX too; clean up
2542
2543 2008-07-07  Dan Williams  <dcbw@redhat.com>
2544
2545         Convert to using IPv4 prefixes instead of netmasks.
2546
2547 2008-07-03  Dan Williams  <dcbw@redhat.com>
2548
2549         * libnm-util/nm-setting-ip4-config.c
2550           libnm-util/nm-setting-ip4-config.h
2551                 - Add properties for DHCP Client Identifier and DHCP Hostname
2552
2553         * src/dhcp-manager/nm-dhcp-manager.c
2554           src/dhcp-manager/nm-dhcp-manager.h
2555                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
2556                         setting as an argument to pass on to the dhclient config file
2557                         creation function
2558                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
2559                         DHCP is torn down
2560                 - (dhclient_run): punt config file handling to create_dhclient_config()
2561                 - (create_dhclient_config): create an interface-specific dhclient
2562                         config file since there may need to be interface-specific options
2563                         passed to dhclient
2564                 - (merge_dhclient_config): merge normal distro dhclient config file and
2565                         add options from the connection
2566                 - (nm_dhcp_device_new): generate the interface specific dhclient
2567                         config file path once
2568                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
2569                         dhclient config file path
2570
2571         * src/nm-device.c
2572                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
2573                         DHCP manager when starting DHCP
2574
2575 2008-07-02  Dan Williams  <dcbw@redhat.com>
2576
2577         * libnm-util/nm-setting-8021x.c
2578                 - (verify): allow forcing the PEAP label to 0
2579
2580 2008-07-02  Dan Williams  <dcbw@redhat.com>
2581
2582         * introspection/nm-active-connection.xml
2583           introspection/nm-vpn-connection.xml
2584           libnm-glib/nm-active-connection.c
2585           src/nm-activation-request.c
2586           src/nm-active-connection.h
2587           src/vpn-manager/nm-vpn-connection.c
2588                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
2589                         and libnm-glib API since sharing didn't get implemented that way
2590
2591 2008-07-02  Dan Williams  <dcbw@redhat.com>
2592
2593         * src/nm-device-wifi.c
2594                 - (can_scan): don't scan when a shared connection is activated since
2595                         that makes drivers mad (causing disconnects); also NM doesn't need
2596                         to hedge against disconnects by keeping up-to-date network topology
2597                         because the connection originates from the local machine, and thus
2598                         there should be no disconnects
2599
2600 2008-07-01  Dan Williams  <dcbw@redhat.com>
2601
2602         Fix mobile broadband username/password issues.  NM was never requesting
2603         mobile broadband secrets, nor was it passing back the username and password
2604         if it had them.
2605
2606         * marshallers/nm-marshal.list
2607                 - Add some new types for activation request objects
2608
2609         * src/nm-activation-request.c
2610           src/nm-activation-request.h
2611                 - (get_secrets_cb): pass the caller type in the signal
2612                 - (nm_act_request_request_connection_secrets): take a caller type, so
2613                         that GetSecrets() reply handlers know who asked for the secrets in
2614                         the first place; use secret hints too so the settings service can
2615                         figure out exactly what NM wants (ie, PIN or the PPP password)
2616
2617         * src/ppp-manager/nm-ppp-manager.c
2618           src/ppp-manager/nm-ppp-manager.h
2619                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
2620                         detect needed secrets when the secret could be blank, like GSM/CDMA
2621                         passwords.  So always ask for secrets, and send a hint as to what
2622                         secret we really want.
2623                 - (nm_ppp_manager_update_secrets): make function more generic by making
2624                         the device specific class figure out the username and password, and
2625                         accept an error argument to return back over D-Bus
2626
2627         * src/nm-device-wifi.c
2628                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2629                         nm_act_request_request_connection_secrets()
2630                 - (real_connection_secrets_updated): update for 'caller' changes
2631
2632         * src/nm-device.c
2633           src/nm-device.h
2634                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
2635                         for 'caller' changes
2636
2637         * src/nm-device-ethernet.c
2638                 - (real_connection_secrets_updated): update for 'caller' changes and
2639                         move logic for getting PPPoE username and password here before
2640                         calling nm_ppp_manager_update_secrets()
2641                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2642                         nm_act_request_request_connection_secrets()
2643
2644         * src/nm-cdma-device.c
2645                 - (real_connection_secrets_updated): pass username and password back
2646                         to the PPP manager when required
2647
2648         * src/nm-gsm-device.c
2649                 - (enter_pin): send the required secret name to the settings service
2650                 - (real_connection_secrets_updated): pass username and password back
2651                         to the PPP manager when required
2652
2653 2008-06-30  Dan Williams  <dcbw@redhat.com>
2654
2655         * src/nm-device-wifi.c
2656                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
2657
2658 2008-06-30  Dan Williams  <dcbw@redhat.com>
2659
2660         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
2661         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
2662         priv->supplicant.iface.  When either condition is false, the device should
2663         transition back to UNAVAILABLE because it cannot be used.
2664
2665         * src/nm-device-wifi.c
2666                 - (constructor): cleanup; connect to supplicant manager here since the
2667                         supplicant manager is always around
2668                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
2669                         ensure the supplicant manager is in the IDLE state
2670                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
2671                         cancel any pending scans too
2672                 - (real_bring_up): don't set up the supplicnat interface here, because
2673                         we need the supplicant interface at times when the device may not
2674                         be "up"
2675                 - (real_take_down): just remove the periodic source
2676                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
2677                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
2678                         do anything if there's no supplicant interface
2679                 - (cleanup_association_attempt): cleanup
2680                 - (supplicant_iface_state_cb_handler): request an immediate scan when
2681                         the interface enters the READY state; transition to UNAVAILABLE
2682                         state when the interface goes down because the device can't be used
2683                         without a supplicant interface
2684                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
2685                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
2686                         acquire the supplicant interface and transition to DISCONNECTED
2687                         if the radio isn't killed
2688                 - (nm_device_wifi_dispose): move most of device_cleanup() here
2689                 - (state_changed_cb): release any existing supplicant interface; if the
2690                         radio is enabled then try to acquire a new supplicant interface;
2691                         if the radio is enabled and a supplicant interface has been acquired,
2692                         we can transition to DISCONNECTED
2693                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
2694                         don't enable the radio, because HAL probably lied to us about the
2695                         killswitch being off.  If bringing the hardware up worked, then
2696                         try to grab a supplicant interface, and if that was successful,
2697                         transition to DISCONNECTED
2698
2699 2008-06-30  Dan Williams  <dcbw@redhat.com>
2700
2701         * src/supplicant-manager/nm-supplicant-interface.c
2702                 - (request_scan_results, nm_supplicant_interface_dispose,
2703                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
2704                         the id of the timeout, not a GSource
2705
2706 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2707
2708         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
2709         bunch of typoes introduced by "Patch from David Cantrell 
2710         <dcantrell@redhat.com> and me".
2711
2712 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2713
2714         * src/nm-serial-device.c: 
2715         * src/nm-gsm-device.c: 
2716         * src/nm-cdma-device.c: Move the pending call handling to a common location
2717         in serial device. Handle setting device state to failed in one place as well.
2718
2719 2008-06-29  Dan Williams <dcbw@redhat.com>
2720
2721         * src/nm-hal-manager.c
2722                 - Rework killswitch handling to query killswitch status immediately
2723                         when the first killswitch is added, so that rfkill state is
2724                         known as early as possible
2725                 - Also treat failure of GetPower() as rfkill when the dbus method
2726                         call times out (but not when the HAL callout returns an error)
2727
2728 2008-06-26  Dan Williams <dcbw@redhat.com>
2729
2730         Patch from David Cantrell <dcantrell@redhat.com> and me
2731
2732         * include/nm-dbus-glib-types.h
2733                 - Add IP6 address types
2734
2735         * libnm-util/Makefile.am
2736           libnm-util/nm-setting-ip6-config.c
2737           libnm-util/nm-setting-ip6-config.h
2738                 - Add IP6 settings object
2739
2740         * libnm-util/nm-connection.c
2741                 - (register_default_settings): register ip6 settings object
2742
2743         * libnm-util/nm-utils.c
2744           libnm-util/nm-utils.h
2745                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
2746                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
2747                         ip6 address conversion functions
2748         
2749 2008-06-26  Dan Williams <dcbw@redhat.com>
2750
2751         Patch from David Cantrell <dcantrell@redhat.com>
2752         
2753         * Use inet_ntop() and inet_pton() everwhere and check for errors
2754
2755 2008-06-26  Dan Williams <dcbw@redhat.com>
2756
2757         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
2758
2759 2008-06-26  Dan Williams <dcbw@redhat.com>
2760
2761         Patch from Adel Gadllah <adel.gadllah@gmail.com>
2762
2763         * src/nm-device-wifi.c
2764                 - (link_timeout_cb): don't ignore disconnects due to scanning
2765                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2766                         a longer timeout when scanning; avoids case where supplicant can't
2767                         find the AP and just keeps scanning forever but isn't connected
2768
2769 2008-06-26  Dan Williams <dcbw@redhat.com>
2770
2771         Patch from Michael Biebl <biebl@debian.org>
2772
2773         * Clean up build system stuff
2774
2775 2008-06-23  Christian Persch  <chpe@gnome.org>
2776
2777         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2778         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2779         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2780         (impl_get_object):
2781         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2782         (impl_get_object):
2783         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2784         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2785         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2786         (impl_get_object):
2787         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2788         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2789         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2790         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2791         * vpn-daemons/pptp/properties/vpnui_opt.c:
2792         (vpnui_opt_connect_signals):
2793         * vpn-daemons/pptp/properties/vpnui_opt.h:
2794         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2795         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2796         deprecated gtk type macros. Bug #539325.
2797
2798 2008-06-20  Dan Williams  <dcbw@redhat.com>
2799
2800         * libnm-glib/nm-vpn-plugin-ui-interface.c
2801           libnm-glib/nm-vpn-plugin-ui-interface.h
2802                 - 'validity-changed' -> 'changed' to work better with the connection
2803                         editor.  Plugin UI widgets should emit 'changed' whenever their
2804                         UI values change in a meaningful way.
2805                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2806                         update_connection member now returns validity of the UI widget
2807
2808 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2809
2810         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2811
2812 2008-06-17  Dan Williams  <dcbw@redhat.com>
2813
2814         * libnm-glib/nm-vpn-plugin-ui-interface.c
2815           libnm-glib/nm-vpn-plugin-ui-interface.h
2816                 - Add "desc" property for longer descriptions of the VPN plugin
2817
2818 2008-06-16  Dan Williams  <dcbw@redhat.com>
2819
2820         * configure.in
2821           libnm-glib/libnm_glib_vpn.pc.in
2822                 - add a .pc file for libnm_glib_vpn
2823
2824         * libnm-glib/nm-vpn-plugin-ui-interface.c
2825           libnm-glib/nm-vpn-plugin-ui-interface.h
2826                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2827                         rework it substantially
2828
2829 2008-06-12  Dan Williams  <dcbw@redhat.com>
2830
2831         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2832         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2833         returns a descriptive GError when verification fails.
2834
2835 2008-06-11  Dan Williams  <dcbw@redhat.com>
2836
2837         Patch from Tambet Ingo <tambet@gmail.com>
2838
2839         * libnm-util/nm-setting-gsm.c
2840                 - (verify): validate APN
2841
2842         * src/nm-gsm-device.c
2843                 - (manual_registration_done): start setting APN if needed
2844                 - (set_apn, set_apn_done): set the APN
2845                 - (do_dial): use the APN when dialing
2846
2847 2008-06-11  Dan Williams  <dcbw@redhat.com>
2848
2849         * src/NetworkManagerSystem.c
2850                 - (nm_system_device_set_ip4_route,
2851                    nm_system_device_replace_default_ip4_route): check for the right
2852                         return value from rtnl_route_add() to know when to add a gateway
2853                         route (from Tambet)
2854
2855 2008-06-11  Dan Williams  <dcbw@redhat.com>
2856
2857         * src/NetworkManagerPolicy.c
2858                 - do_ipt_cmd -> do_cmd
2859                 - (sharing_init): use do_cmd() instead of system()
2860
2861 2008-06-10  Dan Williams  <dcbw@redhat.com>
2862
2863         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2864         and use "wifi" everwhere instead.
2865
2866 2008-06-10  Dan Williams  <dcbw@redhat.com>
2867
2868         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2869
2870 2008-06-10  Dan Williams  <dcbw@redhat.com>
2871
2872         Patch from Tambet Ingo <tambet@gmail.com>
2873
2874         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2875                 changes.
2876
2877         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2878                 a signal to emit these changes over dbus.
2879
2880         * src/Makefile.am: Genereate nm-serial-device-glue.
2881
2882         * libnm-glib/nm-serial-device.[ch]: Implement.
2883
2884         * libnm-glib/nm-cdma-device.[ch]
2885           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2886
2887         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2888
2889         * introspection/nm-device-serial.xml: Implement.
2890
2891         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2892
2893         * introspection/Makefile.am: Add nm-device-serial.xml.
2894
2895         * include/NetworkManager.h: Add a DBus interface for serial device.
2896
2897 2008-06-10  Dan Williams  <dcbw@redhat.com>
2898
2899         * configure.in
2900                 - Add TARGET_* define to config.h to distinguish distros
2901
2902         * src/dhcp-manager/nm-dhcp-manager.c
2903                 - (dhclient_run): use distro-specific path for dhclient config file
2904
2905 2008-06-09  Dan Williams  <dcbw@redhat.com>
2906
2907         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2908           src/dnsmasq-manager/nm-dnsmasq-manager.h
2909                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2910                         calculate the addresses passed to dnsmasq instead of hard-coding
2911                         them
2912
2913         * src/nm-device.c
2914                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2915                         IP addresses for shared connections to guard against shared
2916                         connection address collisions
2917                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2918                         error conditions
2919                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2920                         the dnsmasq manager
2921
2922 2008-06-09  Dan Williams  <dcbw@redhat.com>
2923
2924         * src/NetworkManagerPolicy.c
2925                 - (update_routing_and_dns): set the default connection _after_ unsetting
2926                         default on all non-default connections so that two connections can
2927                         never be default at the same time
2928                 - (device_state_changed): start and stop connection sharing when
2929                         needed
2930                 - (active_connection_default_changed): restart or stop sharing when
2931                         the default connection changes to keep shared connections always
2932                         NAT-ed through the default connection
2933                 - (check_sharing): handle activation/deactivation of shared connections
2934                 - (sharing_restart): atom-bomb approach to connection sharing until we
2935                         can use libnl; reinit all sharing when the default connection or
2936                         shared connections change
2937                 - (sharing_init, sharing_stop): evil functions that init and deinit
2938                         iptables
2939
2940 2008-06-09  Dan Williams  <dcbw@redhat.com>
2941
2942         * src/nm-activation-request.c
2943           src/nm-activation-request.h
2944                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2945                    nm_act_request_get_device): new functions to facilitate connection
2946                         sharing
2947
2948 2008-06-09  Dan Williams  <dcbw@redhat.com>
2949
2950         * src/nm-device.c
2951                 - (clear_act_request): unset the 'default' property of the activation
2952                         request when clearing it to ensure the property changed signal gets
2953                         delivered and handled
2954
2955 2008-06-09  Dan Williams  <dcbw@redhat.com>
2956
2957         * libnm-glib/nm-device-802-11-wireless.c
2958                 - (access_point_removed_proxy): actually unref the AP after removing
2959                         it from the device's AP list.  Fixes refcounting bug for APs that
2960                         caused them to get mixed up in the applet's menu.
2961
2962 2008-06-09  Tambet Ingo  <tambet@gmail.com>
2963
2964         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
2965         (nm_dhcp_device_destroy): Destroy the device options hash table.
2966
2967 2008-06-06  Dan Williams <dcbw@redhat.com>
2968
2969         * system-settings/src/nm-polkit-helpers.c
2970                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
2971                         unref the context if the initialization fails; also avoid spew when
2972                         the error isn't set
2973
2974 2008-06-06  Dan Williams <dcbw@redhat.com>
2975
2976         Patch from Tambet Ingo  <tambet@gmail.com>
2977
2978         * src/NetworkManagerSystem.c
2979           src/NetworkManagerSystem.h
2980                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
2981                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
2982                 - (nm_system_device_set_ip4_route): clean up
2983                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
2984
2985         * src/nm-device.c
2986                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
2987
2988         * src/vpn-manager/nm-vpn-connection.c
2989                 - (ip_address_to_string): new function
2990                 - (print_vpn_config): use ip_address_to_string
2991                 - (merge_vpn_routes): add user-defined routes to the ip4 config
2992                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
2993
2994         * include/NetworkManagerVPN.h
2995                 - Add 'routes' key
2996
2997 2008-06-05  Dan Williams <dcbw@redhat.com>
2998
2999         Patch from Markus Becker <mab@comnets.uni-bremen.de>
3000
3001         * test/nm-tool.c
3002                 - Show which device is the default device
3003
3004 2008-06-05  Tambet Ingo  <tambet@gmail.com>
3005
3006         Fix memory leaks.
3007
3008         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
3009         Free data returned from dbus method call.
3010
3011         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
3012         dbus_g_method_get_sender() returns a duplicated string, free it 
3013         when done.
3014         (check_polkit_privileges): Looks like policykit sometimes returns
3015         error and non-null return value, don't leak errors in that case.
3016
3017         * system-settings/src/main.c (find_plugin): Don't leak existing 
3018         plugin names.
3019         (load_stuff): Don't leak device list and list items.
3020         (have_connection_for_device): Don't leak connection list.
3021
3022         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
3023         Free the data received from g_keyfile_get_*.
3024
3025         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
3026         the key when the security object is updated.
3027
3028         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
3029         Free data returned from dbus method call.
3030         (iface_state_cb): Ditto.
3031         (add_network_cb): Ditto.
3032         (nm_supplicant_interface_add_cb): Don't make another copy of already
3033         duplicated object path.
3034         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
3035         when done.
3036
3037         * src/supplicant-manager/nm-supplicant-config.c 
3038         (ADD_STRING_LIST_VAL): Fix a memory leak.
3039
3040         * src/nm-manager.c (free_get_settings_info): Free the allocated
3041         memory slice.
3042         (list_connections_cb): Free data returned from dbus method call.
3043         (system_settings_get_unmanaged_devices_cb): Ditto.
3044
3045         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
3046
3047         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
3048         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
3049         * src/backends/shvar.c (svCloseFile): Free the duplicated content
3050         of the GList.
3051
3052         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
3053         arguments after the object is created.
3054
3055 2008-06-04  Dan Williams <dcbw@redhat.com>
3056
3057         * libnm-util/Makefile.am
3058                 - Don't distribute nm-param-spec-specialized.h
3059
3060 2008-06-02  Tambet Ingo  <tambet@gmail.com>
3061
3062         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
3063
3064         * src/nm-ip4-config.[ch]: Store the static routes as a list of
3065         NMIP4Address, update the getters and setters.
3066
3067         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
3068         Use the updated NMIP4Config routes api.
3069
3070         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
3071         static routes as well.
3072
3073         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
3074         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
3075         routes api.
3076
3077 2008-05-30  Dan Williams <dcbw@redhat.com>
3078
3079         * src/named-manager/nm-named-manager.c
3080           src/named-manager/nm-named-manager.h
3081                 - Remove stale/obsolete bits for controlling bind over DBus
3082
3083 2008-05-29  Dan Williams <dcbw@redhat.com>
3084
3085         * src/dnsmasq-manager/nm-dnsmasq-manager.c
3086           src/dnsmasq-manager/nm-dnsmasq-manager.h
3087                 - (nm_dnsmasq_manager_new): move iface argument here
3088                 - (constructor): remove, not needed
3089                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
3090                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
3091
3092         * src/nm-device.c
3093                 - (real_act_stage4_get_ip4_config,
3094                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
3095                         changes
3096
3097 2008-05-29  Dan Williams <dcbw@redhat.com>
3098
3099         * src/nm-device.c
3100                 - (dnsmasq_state_changed_cb): new function; fail the connection if
3101                         something happens to dnsmasq
3102                 - (nm_device_new_ip4_shared_config): new function; create a new
3103                         ip4-config for shared connections.  Shared connections always use a
3104                         fixed static IP address.
3105                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
3106                         autoip connections by actually using the returned ip4-config and
3107                         not leaking it
3108                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
3109                         connections
3110                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
3111                         if its active
3112
3113 2008-05-29  Dan Williams <dcbw@redhat.com>
3114
3115         * src/nm-device-802-11-wireless.c
3116                 - (real_get_best_auto_connection): auto-activate 'shared' method
3117                         connections too
3118
3119 2008-05-29  Dan Williams <dcbw@redhat.com>
3120
3121         * libnm-util/nm-setting-ip4-config.c
3122           libnm-util/nm-setting-ip4-config.h
3123                 - Add a 'shared' method to indicate that this connection should be
3124                         brought up with a DHCP and proxy DNS server to facilitate
3125                         connection sharing.
3126                 - (verify): 'shared' method doesn't allow DNS or searches either
3127
3128 2008-05-29  Dan Williams <dcbw@redhat.com>
3129
3130         * configure.in
3131           src/Makefile.am
3132           src/dnsmasq-manager/Makefile.am
3133           src/dnsmasq-manager/nm-dnsmasq-manager.c
3134           src/dnsmasq-manager/nm-dnsmasq-manager.h
3135                 - Add a dnsmasq daemon manager to facilitate connection sharing
3136
3137 2008-05-29  Dan Williams <dcbw@redhat.com>
3138
3139         * src/nm-device-private.h
3140                 - Remove unused prototypes and clean up
3141
3142         * src/nm-device.c
3143                 - Remove anything related to system_config_data, which is no longer used
3144                 - (nm_device_new_ip4_autoip_config): make static
3145
3146 2008-05-29  Tambet Ingo  <tambet@gmail.com>
3147
3148         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
3149         (file_changed): Fix a bug where suse system settings plugin didn't
3150         update the connections automatically when the files changed.
3151
3152 2008-05-28  Dan Williams  <dcbw@redhat.com>
3153
3154         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
3155
3156 2008-05-28  Dan Williams  <dcbw@redhat.com>
3157
3158         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3159
3160         * src/NetworkManagerSystem.c
3161                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
3162                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
3163                         was causing -EINVAL errors since the libnl code actually does flush
3164                         the routes on VPN interfaces now
3165
3166         * src/backends/NetworkManagerArch.c
3167           src/backends/NetworkManagerDebian.c
3168           src/backends/NetworkManagerFrugalware.c
3169           src/backends/NetworkManagerGeneric.c
3170           src/backends/NetworkManagerGentoo.c
3171           src/backends/NetworkManagerMandriva.c
3172           src/backends/NetworkManagerPaldo.c
3173           src/backends/NetworkManagerRedHat.c
3174           src/backends/NetworkManagerSlackware.c
3175           src/backends/NetworkManagerSuSE.c
3176                 - (nm_system_device_flush_ip4_routes,
3177                    nm_system_device_flush_ip4_routes_with_iface): remove
3178
3179 2008-05-28  Dan Williams  <dcbw@redhat.com>
3180
3181         * libnm-util/nm-setting-wireless.c
3182           libnm-util/nm-setting-wireless.h
3183                 - (set_property, get_property, nm_setting_wireless_class_init): add the
3184                         'adhoc-create' property, which when TRUE indicates that NM should
3185                         create this connection as an adhoc wifi network if it's not found
3186                         as an adhoc network during scanning.  Can be used to auto-create
3187                         adhoc networks when used in combination with autoconnect.
3188
3189 2008-05-28  Tambet Ingo  <tambet@gmail.com>
3190
3191         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
3192
3193         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
3194         checked, it doesn't work on some devices.
3195
3196 2008-05-28  Tambet Ingo  <tambet@gmail.com>
3197
3198         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
3199         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
3200
3201         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
3202         Use inet_aton() everywhere to improve error detection.
3203         Don't fall back to 'dhcp_server_identifier' if the gateway is not
3204         provided.
3205
3206 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3207
3208         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
3209         Fix a typo.
3210
3211 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3212
3213         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
3214         reference counting issue.
3215
3216 2008-05-23  Dan Williams  <dcbw@redhat.com>
3217
3218         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3219
3220         * src/backends/NetworkManagerGeneric.c
3221                 - (nm_generic_enable_loopback): use libnl
3222
3223 2008-05-23  Dan Williams  <dcbw@redhat.com>
3224
3225         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3226
3227         * src/NetworkManagerSystem.h
3228           src/backends/NetworkManagerArch.c
3229           src/backends/NetworkManagerDebian.c
3230           src/backends/NetworkManagerFrugalware.c
3231           src/backends/NetworkManagerGentoo.c
3232           src/backends/NetworkManagerMandriva.c
3233           src/backends/NetworkManagerPaldo.c
3234           src/backends/NetworkManagerRedHat.c
3235           src/backends/NetworkManagerSlackware.c
3236           src/backends/NetworkManagerSuSE.c
3237                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
3238                    nm_system_flush_arp_cache): remove, unused
3239
3240         * src/backends/NetworkManagerGeneric.c
3241           src/backends/NetworkManagerGeneric.h
3242                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
3243                    nm_generic_flush_arp_cache): remove, unused
3244
3245 2008-05-23  Dan Williams  <dcbw@redhat.com>
3246
3247         * system-settings/plugins/ifcfg-fedora/reader.c
3248                 - (make_ip4_setting): honor PEERDNS setting
3249
3250 2008-05-23  Dan Williams  <dcbw@redhat.com>
3251
3252         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3253
3254         * src/NetworkManagerSystem.c
3255                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
3256                         libnl
3257
3258         * src/backends/NetworkManagerArch.c
3259           src/backends/NetworkManagerDebian.c
3260           src/backends/NetworkManagerFrugalware.c
3261           src/backends/NetworkManagerGentoo.c
3262           src/backends/NetworkManagerMandriva.c
3263           src/backends/NetworkManagerPaldo.c
3264           src/backends/NetworkManagerRedHat.c
3265           src/backends/NetworkManagerSlackware.c
3266           src/backends/NetworkManagerSuSE.c
3267                 - (nm_system_device_flush_ip4_addresses,
3268                    nm_system_device_flush_ip4_addresses_with_iface): remove
3269
3270         * src/backends/NetworkManagerGeneric.c
3271                 - (nm_generic_device_flush_ip4_addresses,
3272                    nm_generic_device_flush_ip4_addresses_with_iface): remove
3273
3274 2008-05-23  Dan Williams  <dcbw@redhat.com>
3275
3276         * src/supplicant-manager/nm-supplicant-settings-verify.c
3277                 - Switch 'bssid' from bytes to keyword type
3278                 - (validate_type_keyword): allow NULL keyword lists
3279
3280         * src/supplicant-manager/nm-supplicant-config.c
3281                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
3282                         a byte array to string form, which is what the supplicant expects
3283
3284 2008-05-23  Tambet Ingo  <tambet@gmail.com>
3285
3286         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
3287         information received from DHCP.
3288
3289         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
3290         to make it possible to ignore the DNS information (both servers and 
3291         searches) returned by DHCP server.
3292
3293         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
3294         name servers and searches if "ignore_dhcp_dns" is set.
3295
3296         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
3297         (nm_ip4_config_reset_searches): Implement.
3298
3299 2008-05-22  Dan Williams  <dcbw@redhat.com>
3300
3301         Remove anything mDNS related.  This is better done from a distro-specific
3302         dispatcher script.  Plus, any distro using avahi doesn't need to restart
3303         avahi, since avahi can handle interface changes just fine using netlink.
3304
3305         * configure.in
3306                 - Remove --with-mdns-provider
3307
3308         * src/NetworkManagerPolicy.c
3309                 - (global_state_changed): don't restart the mdns provider
3310
3311         * src/NetworkManagerSystem.h
3312           src/backends/NetworkManagerArch.c
3313           src/backends/NetworkManagerDebian.c
3314           src/backends/NetworkManagerFrugalware.c
3315           src/backends/NetworkManagerGentoo.c
3316           src/backends/NetworkManagerMandriva.c
3317           src/backends/NetworkManagerPaldo.c
3318           src/backends/NetworkManagerRedHat.c
3319           src/backends/NetworkManagerSlackware.c
3320           src/backends/NetworkManagerSuSE.c
3321                 - (nm_system_restart_mdns_responder): remove
3322
3323         * src/backends/NetworkManagerGeneric.c
3324           src/backends/NetworkManagerGeneric.h
3325                 - (nm_generic_restart_mdns_responder): remove
3326
3327 2008-05-22  Dan Williams  <dcbw@redhat.com>
3328
3329         * configure.in
3330                 - clean up crypto options; just use --with-crypto=nss or
3331                         --with-crypto=gnutls
3332
3333 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3334
3335         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
3336         anymore, do it right away.
3337
3338 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3339
3340         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
3341         serial device open when we're not connecting or connected.
3342
3343         * src/nm-cdma-device.c (device_state_changed): Ditto.
3344
3345 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3346
3347         Don't remove all devices on waking up, sync with HAL.
3348
3349         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
3350         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
3351         (hal_manager_hal_reappeared_cb): Just call sync_devices.
3352
3353 2008-05-21  Tambet Ingo  <tambet@gmail.com>
3354
3355         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
3356         If the default gateway is unreachable, add a route to gateway and try
3357         again.
3358
3359 2008-05-20  Dan Williams  <dcbw@redhat.com>
3360
3361         * system-settings/plugins/ifcfg-fedora/reader.c
3362                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
3363
3364 2008-05-19  Dan Williams  <dcbw@redhat.com>
3365
3366         * system-settings/plugins/ifcfg-fedora/reader.c
3367                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
3368                         if the ifcfg doesn't specify one (rh #446527)
3369
3370 2008-05-19  Dan Williams  <dcbw@redhat.com>
3371
3372         Make the system settings service exit when the bus goes away.  Since it's
3373         a bus-activated service, it's lifetime is limited to the bus that activated
3374         it (rh #444976).
3375
3376         * system-settings/src/Makefile.am
3377           system-settings/src/nm-system-config-hal-manager-private.h
3378                 - Remove nm-system-config-hal-manager-private.h
3379
3380         * system-settings/src/nm-system-config-hal-manager.c
3381                 - (nm_system_config_hal_manager_reinit_dbus,
3382                    nm_system_config_hal_manager_deinit_dbus): remove
3383
3384         * system-settings/src/main.c
3385                 - (dbus_reconnect): remove
3386                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
3387                 - (destroy_cb): just quit when the bus goes away
3388                 - (start_dbus_service, dbus_init): simplify
3389                 - (main): destroy the wired devices hash table after destroying
3390                         the HAL manager so we don't have to disconnect signals from the
3391                         HAL manager
3392
3393 2008-05-15  Tambet Ingo  <tambet@gmail.com>
3394
3395         Move crypto functions from nm-applet to libnm-util.
3396
3397         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
3398         (nm_setting_802_1x_set_client_cert)
3399         (nm_setting_802_1x_set_phase2_ca_cert)
3400         (nm_setting_802_1x_set_phase2_client_cert)
3401         (nm_setting_802_1x_set_private_key)
3402         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
3403         file (or private key and it's password), read the certificate data.
3404
3405         * libnm-util/crypto_nss.c: 
3406         * libnm-util/crypto_gnutls.c: 
3407         * libnm-util/crypto.[ch]: Move here from nm-applet.
3408
3409         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
3410
3411         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
3412         Imlement WPA-EAP configuration reading from sysconfig.
3413
3414 2008-05-16  Dan Williams  <dcbw@redhat.com>
3415
3416         * src/nm-device-802-11-wireless.c
3417                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
3418                         wireless
3419
3420 2008-05-14  Dan Williams  <dcbw@redhat.com>
3421
3422         Fix Linus' bug in rh #134886
3423
3424         * src/nm-device-802-3-ethernet.c
3425                 - (constructor): request initial carrier state
3426
3427         * src/nm-netlink-monitor.c
3428                 - (nm_netlink_monitor_request_status): schedule emission of carrier
3429                         signals after refilling the link cache.  Because the refill is a 
3430                         synchronous operation, the normal message hander won't get called
3431                         since libnl has already consumed the messages.
3432                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
3433
3434 2008-05-14  Dan Williams  <dcbw@redhat.com>
3435
3436         * src/NetworkManagerSystem.c
3437                 - (nm_system_device_is_up_with_iface): clean up
3438
3439 2008-05-13  Dan Williams  <dcbw@redhat.com>
3440
3441         Fix refcounting issues over sleep/wake when a VPN connection was active that
3442         caused NM to try registering an object path for a device upon wake that was
3443         the same as an already registered object path.
3444
3445         * src/nm-device.c
3446                 - (nm_device_take_down): properly handle cases where the device is
3447                         no longer active but was just active, and therefore must be
3448                         deactivated.  When a device moves to unmanaged mode, this function
3449                         previously would not deactivate the device, because the state was
3450                         already unmanaged by the time this function was called.
3451
3452         * src/vpn-manager/nm-vpn-connection.c
3453                 - (device_state_changed): properly handle multiple devices states in
3454                         which the device is now deactivated.  Code previously didn't handle
3455                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
3456                         UNMANAGED states.
3457
3458 2008-05-13  Dan Williams  <dcbw@redhat.com>
3459
3460         * src/nm-device-private.h
3461           src/nm-device.c
3462                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
3463
3464         * src/nm-device-802-11-wireless.c
3465                 - (nm_device_802_11_wireless_set_enabled): take devices up
3466                         and down as appropriate for the rfkill state
3467
3468 2008-05-13  Dan Williams  <dcbw@redhat.com>
3469
3470         * marshallers/nm-marshal.list
3471                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
3472
3473         * system-settings/plugins/ifcfg-fedora/Makefile.am
3474           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
3475           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
3476                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
3477                         events.  Solely for use watching ifcfg files to pick up changes
3478                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
3479
3480         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3481                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
3482                         file contents change
3483                 - (finalize): clean up inotify watches
3484                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
3485                         and the connection ifcfg for changes on their hardlinks
3486                 - (files_changed_cb): proxy the changed signal back out to listeners
3487
3488         * system-settings/plugins/ifcfg-fedora/plugin.c
3489                 - (dir_changed): 
3490                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
3491                         changes
3492                 - (read_one_connection): connect to change signals on the new connection
3493                 - (dir_changed, connection_changed_handler,
3494                    handle_connection_remove_or_new): break out connection change
3495                         handling and connection new/remove handling so it can be used from
3496                         both the GFileMonitor callback and the NMIfcfgConnection changed
3497                         signals
3498
3499         * system-settings/plugins/ifcfg-fedora/reader.c
3500           system-settings/plugins/ifcfg-fedora/reader.h
3501                 - (connection_from_file): return the keyfile path the connection would use
3502
3503 2008-05-13  Tambet Ingo  <tambet@gmail.com>
3504
3505         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
3506         single PolKitContext which is shared by all. PolKitContext::unref leaks
3507         just about everything, including all open file descriptiors and results
3508         in 99% cpu usage when data arrives to any of the fds that don't belong
3509         to any context anymore.
3510
3511 2008-05-12  Dan Williams  <dcbw@redhat.com>
3512
3513         * gfilemonitor/glocaldirectorymonitor.c
3514           gfilemonitor/glocaldirectorymonitor.h
3515                 - (g_local_directory_monitor_constructor): actually subscribe to the
3516                         watch
3517                 - (_g_local_directory_monitor_new): ensure that inotify is started up
3518
3519         * gfilemonitor/glocalfilemonitor.c
3520           gfilemonitor/glocalfilemonitor.h
3521                 - (g_local_file_monitor_constructor): actually subscribe to the watch
3522                 - (_g_local_file_monitor_new): ensure that inotify is started up
3523
3524 2008-05-11  Dan Williams  <dcbw@redhat.com>
3525
3526         * configure.in
3527                 - record PolicyKit version
3528
3529         * system-settings/src/nm-polkit-helpers.c
3530                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
3531                         with PolicyKit <= 0.6
3532
3533 2008-05-11  Dan Williams  <dcbw@redhat.com>
3534
3535         Update Fedora system-settings plugin to support latest API and use
3536         GFileMonitor rather than home-rolled inotify code.
3537
3538         * system-settings/plugins/ifcfg-fedora/Makefile.am
3539           system-settings/plugins/ifcfg-fedora/common.h
3540           system-settings/plugins/ifcfg-fedora/plugin.c
3541                 - Update to latest system settings plugin API; use GIO instead of
3542                         custom inotify code; use NMIfcfgConnection objects instead of
3543                         ConnectionData structures tacked onto NMConnection objects
3544
3545         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3546           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
3547                 - Implement an NMExportedConnection subclass mapping ifcfg files to
3548                         connections
3549
3550         * system-settings/plugins/ifcfg-fedora/reader.c
3551           system-settings/plugins/ifcfg-fedora/reader.h
3552                 - Move ifcfg parsing bits here from parser.c
3553
3554         * system-settings/plugins/ifcfg-fedora/parser.c
3555           system-settings/plugins/ifcfg-fedora/parser.h
3556                 - Remove; most code moved to reader.c
3557
3558 2008-05-11  Dan Williams  <dcbw@redhat.com>
3559
3560         * configure.in
3561           Makefile.am
3562           gfilemonitor/*
3563                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
3564                         implementation, so that the same change monitoring code can be used
3565                         on systems without glib-2.14 (like Fedora 8)
3566
3567         * system-settings/plugins/keyfile/Makefile.am
3568           system-settings/plugins/keyfile/plugin.c
3569           system-settings/plugins/ifcfg-suse/Makefile.am
3570           system-settings/plugins/ifcfg-suse/plugin.c
3571                 - Use private gfilemonitor code if GIO is not present
3572
3573 2008-05-09  Tambet Ingo  <tambet@gmail.com>
3574
3575         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
3576         NMExportedConnection's 'update' and 'delete' and return error with
3577         descriptive message.
3578
3579 2008-05-08  Dan Williams  <dcbw@redhat.com>
3580
3581         Patch from Markus Becker <mab@comnets.uni-bremen.de>
3582
3583         * src/nm-gsm-device.c
3584           src/nm-cdma-device.c
3585                 - (real_get_best_auto_connection): implement; allow autoconnection
3586                         to GSM & CDMA devices
3587
3588 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3589
3590         Use PolicyKit to authorize the system settings' AddConnection method
3591         and the system settings connections' Update and Delete methods.
3592         
3593         * libnm-glib/nm-settings.c (impl_exported_connection_update)
3594         (impl_exported_connection_delete, nm_exported_connection_update)
3595         (nm_exported_connection_delete): Return boolean and fill GError
3596         to notify the callers of the reasons why it might have failed.
3597
3598         * libnm-glib/nm-dbus-settings-system.c
3599         (nm_dbus_settings_system_add_connection): Return the error from dbus
3600         call so that the callers can see why it failed.
3601
3602         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
3603         signatures.
3604
3605         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
3606
3607         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
3608         abstract base class that checks PolicyKit permissions.
3609
3610         * system-settings/src/dbus-settings.c:
3611         (impl_settings_add_connection): Check the policy before carring out
3612         the request.
3613
3614         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
3615         Inherit from NMSysconfigConnection, check the policies before
3616         allowing updating or removing.
3617
3618         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
3619         Inherit from NMSysconfigConnection.
3620
3621         * introspection/nm-exported-connection.xml: Annotate "Update" and 
3622         "Delete" methods with async flag so that the implementations can get
3623         access to DBusGMethodInvocation.
3624
3625         * system-settings/src/dbus-settings.c 
3626         (settings_add_connection_check_privileges): Implement.
3627         (impl_settings_add_connection): Check the privileges before adding a new
3628         connection. Improve error reporting.
3629
3630         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
3631         async so that the implementation can access DBusGMethodInvocation.
3632
3633         * configure.in: Check for PolicyKit.
3634
3635         * policy/org.freedesktop.network-manager-settings.system.policy: 
3636         New file.
3637
3638         * policy/Makefile.am: Install the policy file.
3639
3640         * configure.in: Add 'policy' subdir.
3641
3642 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3643
3644         Rewrite the suse system settings plugin.
3645
3646         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
3647
3648         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
3649
3650         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
3651
3652         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
3653
3654         * system-settings/src/dbus-settings.c: Fix connection reference counting.
3655
3656         * system-settings/src/main.c (load_plugins): Improve error reporting.
3657
3658         * system-settings/src/sha1.[ch] Add.
3659
3660         * system-settings/src/Makefile.am: Add sha1[ch] to build.
3661
3662 2008-05-07  Dan Williams  <dcbw@redhat.com>
3663
3664         * system-settings/plugins/keyfile/reader.c
3665                 - (read_one_setting_value): handle IP address items separately
3666                 - (read_array_of_uint): read IPv4 DNS option as a string array
3667                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
3668                         array
3669
3670         * system-settings/plugins/keyfile/writer.c
3671                 - (write_setting_value): handle IP address items separately
3672                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
3673                         not an array of uint, so that it's user-editable
3674                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
3675                         arrays, so they are user-editable
3676
3677 2008-05-07  Dan Williams  <dcbw@redhat.com>
3678
3679         * system-settings/plugins/keyfile/Makefile.am
3680                 - Change location of the keyfile plugin settings to
3681                         /etc/NetworkManager/system-connections
3682
3683 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3684
3685         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
3686
3687         * system-settings/plugins/keyfile/plugin.c: Work with
3688         NMKeyfileConnections.
3689
3690         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
3691         Plugins are supposed to return NMExportedConnections now and handle the
3692         updated(), removed(), and GetSecrets().
3693         Store the internal list of connections in hash table to make it easier
3694         to find duplicates.
3695
3696 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3697
3698         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
3699         for multiple IP addresses.
3700
3701 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3702
3703         Patch from André Lemos.
3704
3705         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
3706         corruption.
3707
3708 2008-05-06  Dan Williams  <dcbw@redhat.com>
3709
3710         * src/dhcp-manager/nm-dhcp-manager.c
3711                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
3712                         NMIP4Config to support multiple IP addresses
3713
3714         * src/NetworkManagerUtils.c
3715                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
3716
3717         * src/nm-ip4-config.c
3718           src/nm-ip4-config.h
3719                 - Store a list of IPv4 address/netmask/gateway tuples
3720                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
3721                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
3722                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
3723                    nm_ip4_config_set_address): remove
3724                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
3725                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
3726                         new functions; handle multiple IPv4 addresses
3727
3728         * src/nm-device.c
3729           src/ppp-manager/nm-ppp-manager.c
3730           src/vpn-manager/nm-vpn-connection.c
3731           src/NetworkManagerPolicy.c
3732           test/nm-tool.c
3733           libnm-glib/libnm-glib-test.c
3734                 - update for changes to NMIP4Config for multiple IPv4 addresses
3735
3736         * src/NetworkManagerSystem.c
3737                 - (nm_system_device_set_ip4_route): don't add the route if any address
3738                         is on the same subnet as the destination
3739                 - (check_one_address): ignore the exact match, just match family and
3740                         interface index
3741                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
3742                         an interface
3743                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
3744                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
3745
3746         * introspection/nm-ip4-config.xml
3747                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
3748                 - Add 'addresses' property which is an array of (uuu) tuples of
3749                         address/netmask/gateway
3750
3751         * libnm-util/nm-setting-ip4-config.c
3752                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
3753
3754         * libnm-glib/nm-ip4-config.c
3755           libnm-glib/nm-ip4-config.h
3756                 - Handle D-Bus interface changes to support multiple IP addresses
3757
3758 2008-05-06  Dan Williams  <dcbw@redhat.com>
3759
3760         * libnm-util/nm-utils.c
3761           libnm-util/nm-utils.h
3762                 - (nm_utils_ip4_addresses_from_gvalue,
3763                    nm_utils_ip4_addresses_to_gvalue): new functions
3764
3765 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3766
3767         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3768         the returned connection paths.
3769
3770 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3771
3772         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3773         "PropertiesChanged" signal signature.
3774
3775         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3776         defined in nm-dbus-glib-types.h.
3777         Don't register the connection on dbus, we're a proxy class to 
3778         communicate with an already registered connection over dbus.
3779
3780 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3781
3782         Implement new subclasses of NMSettings and NMExportedConnection to make
3783         it easier for the applet to access and modify system settings.
3784
3785         * libnm-glib/nm-dbus-connection.[ch]:
3786         * libnm-glib/nm-dbus-settings.[ch]:
3787         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3788
3789         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3790         bindings and glue.
3791
3792         * include/NetworkManager.h: Define the system settings DBus interface.
3793
3794 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3795
3796         Implement additional C API for exported connections to make them identical
3797         with the DBus API. Change the (list_connections) virtual function to be
3798         more usable from C - instead of requiring implementers to return a GPtrArray
3799         of dbus paths, return a list of connections.
3800
3801         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3802         (nm_settings_list_connections):
3803         (nm_exported_connection_new):
3804         (nm_exported_connection_update):
3805         (nm_exported_connection_delete): Implement.
3806
3807         (impl_settings_list_connections):
3808         (impl_exported_connection_update):
3809         (impl_exported_connection_delete): Use the new public functions to make 
3810         sure the C and dbus interfaces stay in sync.
3811
3812         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3813         connections.
3814
3815 2008-05-02  Dan Williams  <dcbw@redhat.com>
3816
3817         * system-settings/plugins/ifcfg-fedora/plugin.c
3818                 - (dispose): use right unref call on the DBusGConnection
3819
3820 2008-05-02  Dan Williams  <dcbw@redhat.com>
3821
3822         * src/nm-serial-device.c
3823                 - (find_terminator): don't compare the whole line, just the size of the
3824                         terminator, since some modems put stuff after the terminator, like
3825                         "CONNECT 9600"
3826
3827 2008-05-01  Dan Williams  <dcbw@redhat.com>
3828
3829         Patch from Michael Biebl <biebl@debian.org>
3830
3831         * callouts/Makefile.am
3832           callouts/org.freedesktop.nm_dispatcher.service.in
3833           system-settings/src/Makefile.am
3834           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3835                 - use the right install location for dbus-activated stuff
3836
3837 2008-04-30  Dan Williams  <dcbw@redhat.com>
3838
3839         * src/nm-gsm-device.c
3840                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3841                         PIN or PUK
3842
3843 2008-04-30  Dan Williams  <dcbw@redhat.com>
3844
3845         * src/nm-manager.c
3846                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3847
3848 2008-04-30  Dan Williams  <dcbw@redhat.com>
3849
3850         * src/nm-device-802-3-ethernet.c
3851           src/nm-device-802-11-wireless.c
3852                 - (real_is_up): return true instead of chaining up to unimplemented
3853                         parent method
3854
3855 2008-04-30  Dan Williams  <dcbw@redhat.com>
3856
3857         * src/NetworkManagerSystem.c
3858           src/NetworkManagerSystem.h
3859                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3860                         functions to check device flags for IFF_UP
3861
3862         * src/nm-serial-device.c
3863                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3864                         implement is_up
3865
3866         * src/nm-device-802-3-ethernet.c
3867           src/nm-device-802-11-wireless.c
3868                 - (real_hw_is_up): call nm_system_device_is_up()
3869
3870         * src/nm-device.c
3871                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3872                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3873                         does not implement
3874
3875 2008-04-29  Dan Williams  <dcbw@redhat.com>
3876
3877         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3878
3879         * marshallers/nm-marshal.list
3880                 - Add marshaller
3881
3882         * src/NetworkManager.c
3883                 - (main): let the NMManager handle the NMHalManager
3884
3885         * src/nm-hal-manager.c
3886           src/nm-hal-manager.h
3887                 - convert to a GObject, and emit singals when stuff changes.  Let the
3888                         NMManager handle the signals, instead of the NMHalManager calling
3889                         into the NMManager.  
3890
3891         * src/nm-manager.c
3892           src/nm-manager.h
3893                 - (remove_one_device): consolidate device removals here
3894                 - (dispose): use remove_one_device()
3895                 - (nm_manager_get_device_by_udi): make static
3896                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3897                         manager for devices at startup or wakeup time
3898                 - (nm_manager_new): create and monitor the HAL manager
3899                 - (hal_manager_udi_added_cb): new function; do what
3900                         nm_manager_add_device() used to do when signalled by the hal manager
3901                 - (hal_manager_udi_removed_cb): new function; do what
3902                         nm_manager_remove_device() used to do when signalled by the hal
3903                         manager
3904                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3905                         hal manager
3906                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3907                         in our device list that aren't known to HAL
3908                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3909                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3910                         commits ago
3911                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3912                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3913                    nm_manager_wireless_hardware_enabled,
3914                    nm_manager_set_wireless_hardware_enabled): remove, unused
3915
3916 2008-04-28  Dan Williams  <dcbw@redhat.com>
3917
3918         Fix the device up/down ambiguities.  Up/down state used to be a
3919         conglomeration of hardware state (IFF_UP) and any device-specific things
3920         (supplicant, periodic timers, etc) that the device used to indicate
3921         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3922         reason, then the device specific stuff wouldn't get run, and the device
3923         would be stuck.
3924
3925         * src/nm-device.c
3926           src/nm-device.h
3927                 - Create hw_is_up, hw_bring_up, and hw_take_down
3928                 - Rename bring_down -> take_down
3929                 - (real_hw_is_up): check interface flags for IFF_UP
3930                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3931                 - (nm_device_is_up): make static; only used locally
3932                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3933                         if the device is already up; if the device isn't up, bring it up
3934                 - (nm_device_hw_take_down): just take down hardware
3935                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3936                 - (nm_device_take_down): always deactivate device when called; always
3937                         try to take hardware down too
3938                 - (nm_device_state_changed): take device down when entering unmanaged
3939                         state from a higher state
3940
3941         * src/nm-device-802-11-wireless.c
3942                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3943                         check IFF_UP really
3944                 - (real_take_down, supplicant_iface_state_cb_handler, 
3945                    supplicant_iface_connection_state_cb_handler,
3946                    supplicant_mgr_state_cb_handler): fix some messages
3947
3948         * src/nm-device-802-3-ethernet.c
3949                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3950                         check IFF_UP really
3951
3952 2008-04-28  Dan Williams  <dcbw@redhat.com>
3953
3954         * src/nm-manager.c
3955           src/nm-manager.h
3956                 - (nm_manager_error_get_type): add new error
3957                 - (nm_manager_remove_device): don't bother taking down the device here,
3958                         the state change from unmanaging the device will do it
3959                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
3960                         uses it; when going to sleep, just unmanage the device instead of
3961                         taking it down, because stuff will cleaned up correctly when the
3962                         device gets unmanaged
3963
3964 2008-04-28  Dan Williams  <dcbw@redhat.com>
3965
3966         * src/nm-hal-manager.c
3967                 - (add_initial_devices): convert to a GSourceFunc prototype
3968                 - (nm_manager_state_changed): when coming out of sleep, punt the
3969                         device re-addition to an idle handler to let D-Bus events go out
3970                         first, fixing a potential dbus-glib assert if the old device was
3971                         not yet disposed (due to references held while emitting the D-Bus
3972                         signals) but the new device was found, because the mainloop didn't
3973                         run between signal emission and add_initial_devices()
3974
3975 2008-04-27  Dan Williams  <dcbw@redhat.com>
3976
3977         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3978
3979         * initscript/paldo/NetworkManager.in
3980           initscript/SUSE/networkmanager.in
3981                 - Remove last bits of dhcdbd
3982
3983 2008-04-27  Dan Williams  <dcbw@redhat.com>
3984
3985         * src/nm-device-802-11-wireless.c
3986                 - (link_timeout_cb): don't ask for secrets when disconnected during
3987                         association/authentication phase, drivers are still just too crappy
3988
3989 2008-04-27  Dan Williams  <dcbw@redhat.com>
3990
3991         * Makefile.am
3992           configure.in
3993           dispatcher-daemon/Makefile.am
3994           dispatcher-daemon/NetworkManagerDispatcher.c
3995           initscript/Arch/Makefile.am
3996           initscript/Arch/networkmanager-dispatcher.in
3997           initscript/Gentoo/Makefile.am
3998           initscript/Gentoo/NetworkManagerDispatcher.in
3999           initscript/Mandriva/Makefile.am
4000           initscript/Mandriva/networkmanagerdispatcher.in
4001           initscript/RedHat/Makefile.am
4002           initscript/RedHat/NetworkManagerDispatcher.in
4003           initscript/SUSE/Makefile.am
4004           initscript/SUSE/networkmanager-dispatcher.in
4005           initscript/Slackware/Makefile.am
4006           initscript/Slackware/rc.networkmanager-dispatcher.in
4007           initscript/paldo/Makefile.am
4008           initscript/paldo/NetworkManagerDispatcher.in
4009           man/Makefile.am
4010           man/NetworkManagerDispatcher.8.in
4011                 - Remove the dispatcher daemon
4012
4013 2008-04-27  Dan Williams  <dcbw@redhat.com>
4014
4015         * callouts/Makefile.am
4016           callouts/nm-dispatcher-action.c
4017           callouts/nm-dispatcher-action.h
4018           callouts/nm-dispatcher.conf
4019           callouts/nm-dispatcher.xml
4020           callouts/org.freedesktop.nm_dispatcher.service
4021                 - Re-implement the dispatcher as a system-bus activated service that
4022                         NM calls on-demand, rather than an always running daemon
4023
4024         * src/Makefile.am
4025                 - Add callouts dir to includes to pick up dispatcher defines
4026
4027         * src/nm-device.c
4028                 - (nm_device_state_changed): call dispatcher on device activated/
4029                         deactivated
4030
4031         * src/vpn-manager/nm-vpn-connection.c
4032                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
4033                         go up and down
4034
4035         * src/NetworkManagerUtils.c
4036           src/NetworkManagerUtils.h
4037                 - (nm_utils_call_dispatcher): helper to call dispatcher
4038
4039 2008-04-27  Dan Williams  <dcbw@redhat.com>
4040
4041         * src/NetworkManagerUtils.c
4042           src/NetworkManagerUtils.h
4043                 - remove unneeded includes
4044                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
4045                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
4046                    nm_timeval_cmp, nm_timeval_add): remove, unused
4047                 - clean up formatting
4048                 - (nm_spawn_process): de-uglify
4049
4050         * src/nm-device-802-11-wireless.c
4051                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
4052
4053 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
4054
4055         * initscript/Gentoo/NetworkManager.in:
4056                 Fix for starting the daemon.
4057
4058 2008-04-25  Dan Williams  <dcbw@redhat.com>
4059
4060         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4061
4062         * src/NetworkManagerSystem.c
4063                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
4064
4065 2008-04-25  Dan Williams  <dcbw@redhat.com>
4066
4067         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4068
4069         * src/NetworkManagerSystem.c
4070                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
4071                         implementation of nm_system_device_replace_default_route()
4072
4073         * src/NetworkManagerPolicy.c
4074                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
4075
4076         * src/backends/NetworkManagerArch.c
4077           src/backends/NetworkManagerDebian.c
4078           src/backends/NetworkManagerFrugalware.c
4079           src/backends/NetworkManagerGeneric.c
4080           src/backends/NetworkManagerGeneric.h
4081           src/backends/NetworkManagerGentoo.c
4082           src/backends/NetworkManagerMandriva.c
4083           src/backends/NetworkManagerPaldo.c
4084           src/backends/NetworkManagerRedHat.c
4085           src/backends/NetworkManagerSlackware.c
4086           src/backends/NetworkManagerSuSE.c
4087                 - (nm_system_device_replace_default_route): remove
4088
4089 2008-04-25  Dan Williams  <dcbw@redhat.com>
4090
4091         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4092
4093         * src/NetworkManagerSystem.c
4094                 - (validate_ip4_route): remove; use nl_addr_parse() instead
4095                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
4096                         replace nm_system_device_add_route_via_device_with_iface() in the
4097                         backends
4098
4099         * src/backends/NetworkManagerArch.c
4100           src/backends/NetworkManagerDebian.c
4101           src/backends/NetworkManagerFrugalware.c
4102           src/backends/NetworkManagerGeneric.c
4103           src/backends/NetworkManagerGeneric.h
4104           src/backends/NetworkManagerGentoo.c
4105           src/backends/NetworkManagerMandriva.c
4106           src/backends/NetworkManagerPaldo.c
4107           src/backends/NetworkManagerRedHat.c
4108           src/backends/NetworkManagerSlackware.c
4109           src/backends/NetworkManagerSuSE.c
4110                 - Remove nm_system_device_add_route_via_device_with_iface()
4111
4112 2008-04-25  Dan Williams  <dcbw@redhat.com>
4113
4114         * system-settings/plugins/ifcfg-fedora/parser.c
4115                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
4116
4117 2008-04-24  Dan Williams  <dcbw@redhat.com>
4118
4119         * dispatcher-daemon/NetworkManagerDispatcher.c
4120                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
4121
4122 2008-04-24  Dan Williams  <dcbw@redhat.com>
4123
4124         * initscript/RedHat/NetworkManager.in
4125           initscript/RedHat/NetworkManagerDispatcher.in
4126                 - Be active at runlevel 2
4127                 - Adjust priorities earlier
4128
4129 2008-04-22  Dan Williams  <dcbw@redhat.com>
4130
4131         * src/NetworkManagerPolicy.c
4132                 - (update_routing_and_dns): when checking for a gateway, look at the
4133                         composite IP4 config, not the connection's ip4-config setting, which
4134                         doesn't include DHCP-returned information
4135
4136 2008-04-22  Tambet Ingo  <tambet@gmail.com>
4137
4138         Implement GKeyFile system settings plugin.
4139         Implement writing system settings (currently supported only by GKeyFile plugin).
4140
4141         * system-settings/src/main.c: 
4142         * system-settings/src/dbus-settings.c: Move the communication with plugins
4143         from main.c to dbus-settings.c. Makes it possible to talk to all registered
4144         plugins for adding/updating/removing connections.
4145
4146         * system-settings/src/nm-system-config-interface.c
4147         (nm_system_config_interface_add_connection): Implement
4148         (nm_system_config_interface_update_connection): Implement.
4149         (nm_system_config_interface_remove_connection): Implement.
4150
4151         * system-settings/plugins/keyfile/Makefile.am:
4152         * system-settings/plugins/keyfile/plugin.[ch]:
4153         * system-settings/plugins/keyfile/writer.[ch]:
4154         * system-settings/plugins/keyfile/reader.[ch]: Implement.
4155
4156         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
4157
4158         * configure.in: Generate GKeyFile Makefile.
4159
4160         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
4161         corruption, need to duplicate the returned string.
4162         (impl_exported_connection_update): Implement.
4163         (impl_exported_connection_delete): Implement.
4164
4165         * introspection/nm-settings-system.xml: Add "AddConnection" method.
4166
4167         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
4168
4169 2008-04-22  Dan Williams  <dcbw@redhat.com>
4170
4171         Patch from Charles R. Anderson (cra@wpi.edu)
4172
4173         * src/NetworkManagerPolicy.c
4174                 - (update_routing_and_dns): don't select devices without a gateway
4175                         as having the default route (rh #437338)
4176
4177 2008-04-21  Dan Williams  <dcbw@redhat.com>
4178
4179         * src/nm-activation-request.c
4180           src/nm-activation-request.h
4181                 - (dispose): ensure to disconnect from the device's state-changed signal
4182                         when appropriate so the signal doesn't get handled by an already
4183                         disposed NMActRequest
4184                 - (device_state_changed): update is_default here too just to make sure
4185                         default is only True when the child device is activated
4186                 - (nm_act_request_set_default): new function
4187
4188         * src/NetworkManagerPolicy.c
4189                 - (update_routing_and_dns): set 'default' on the active connection which
4190                         has the default route and DNS
4191
4192 2008-04-21  Dan Williams  <dcbw@redhat.com>
4193
4194         * src/NetworkManagerPolicy.c
4195                 - (device_state_changed): update routing and DNS when a device goes
4196                         into unmanaged or unavailable states too (like rfkill or carrier loss)
4197
4198 2008-04-21  Dan Williams  <dcbw@redhat.com>
4199
4200         * include/NetworkManager.h
4201                 - Add NMActiveConnectionState enum
4202
4203         * introspection/nm-active-connection.xml
4204           introspection/nm-vpn-connection.xml
4205                 - Add 'State' property for overall active connection state
4206                 - Add 'Default' property, when True means this active connection
4207                         has the default route
4208                 - Add PropertyChanged signals so changes actually go out over the bus
4209
4210         * src/nm-active-connection.h
4211                 - Add defines for State & Default properties
4212
4213         * src/nm-activation-request.c
4214                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
4215                         signal to determine active connection state
4216
4217         * src/vpn-manager/nm-vpn-connection.c
4218           src/vpn-manager/nm-vpn-connection.h
4219           src/vpn-manager/nm-vpn-manager.c
4220           src/vpn-manager/nm-vpn-service.c
4221                 - Rename old 'state' to 'vpn-state'
4222                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
4223                 - Add 'state' and 'default' properties, hook up to the vpn connection's
4224                         'vpn-state-changed' signal
4225
4226         * libnm-glib/nm-active-connection.c
4227           libnm-glib/nm-active-connection.h
4228                 - Add new 'state' and 'default' properties and accessors
4229
4230         * libnm-glib/nm-vpn-connection.c
4231           libnm-glib/nm-vpn-connection.h
4232                 - Rename old 'state' property to 'vpn-state'
4233                 - Add new 'state' and 'default' properties and accessors
4234
4235 2008-04-21  Dan Williams  <dcbw@redhat.com>
4236
4237         * src/nm-ip4-config.c
4238                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
4239                         not specified (rh #443474)
4240
4241 2008-04-20  Dan Williams  <dcbw@redhat.com>
4242
4243         * src/NetworkManagerUtils.c
4244           src/NetworkManagerUtils.h
4245                 - (nm_utils_merge_ip4_config): new function; merge settings from an
4246                         NMSettingIP4Config to an NMIP4Config object
4247
4248         * src/nm-device.c
4249                 - (merge_ip4_config): move to NetworkManagerUtils.c
4250
4251         * src/vpn-manager/nm-vpn-connection.c
4252                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
4253                         too
4254
4255 2008-04-18  Dan Williams  <dcbw@redhat.com>
4256
4257         * libnm-util/nm-setting-ppp.c
4258           libnm-util/nm-setting-ppp.h
4259                 - Add 'no-vj-comp' option for TCP header compression
4260                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
4261                         uint32
4262
4263 2008-04-18  Dan Williams  <dcbw@redhat.com>
4264
4265         * libnm-util/nm-setting-ppp.c
4266           libnm-util/nm-setting-ppp.h
4267           src/ppp-manager/nm-ppp-manager.c
4268                 - Add 'refuse-pap' and 'refuse-mschapv2' options
4269
4270 2008-04-18  Dan Williams  <dcbw@redhat.com>
4271
4272         * libnm-util/nm-setting-ppp.c
4273           libnm-util/nm-setting-ppp.h
4274           src/ppp-manager/nm-ppp-manager.c
4275                 - Remove the 'usepeerdns' option and always request DNS servers from
4276                         the PPP server; the connection chooses to use/override/ignore the
4277                         DNS servers returned from the PPP server
4278
4279 2008-04-18  Dan Williams  <dcbw@redhat.com>
4280
4281         * libnm-util/nm-setting-ppp.c
4282           libnm-util/nm-setting-ppp.h
4283           src/ppp-manager/nm-ppp-manager.c
4284                 - Remove the 'require-mppc' option, because pppd doesn't support it and
4285                         it seems to have been an erroneous addition to the PPTP plugin in
4286                         the first place (from which the ppp-manager is derived)
4287
4288 2008-04-17  Dan Williams  <dcbw@redhat.com>
4289
4290         * libnm-util/nm-setting-pppoe.c
4291                 - (verify): require a PPP setting too
4292
4293         * src/ppp-manager/nm-ppp-manager.c
4294                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
4295                         segfaulting
4296
4297 2008-04-17  Dan Williams  <dcbw@redhat.com>
4298
4299         * src/nm-device.c
4300                 - (nm_device_state_changed): do deactivation and and promotion to
4301                         unavailable here, so that the device gets cleaned up before the
4302                         manager runs and starts emitting signals; do the
4303                         FAILED->DISCONNECTED transition from an idle handler rather than
4304                         immediately to guard against recursion
4305                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
4306                         FAILED->DISCONNECTED handler if it's scheduled
4307
4308 2008-04-17  Dan Williams  <dcbw@redhat.com>
4309
4310         * src/nm-device-802-11-wireless.c
4311                 - (state_changed_cb): clear AP list when device transitions to
4312                         unavailable or unmanaged
4313                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
4314                         since this is already done in device_cleanup()
4315                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
4316                         isn't available or managed
4317                 - (device_cleanup): use remove_all_aps()
4318                 - (remove_all_aps): consolidate code removing all APs
4319
4320 2008-04-17  Dan Williams  <dcbw@redhat.com>
4321
4322         * src/nm-serial-device.c
4323           src/nm-serial-device.h
4324                 - (wait_for_reply_got_data): break input into lines, and search each
4325                         line for responses _and_ terminator strings; also make sure that
4326                         the read loop doesn't continue after the timeout is supposed to fire
4327                 - (nm_serial_device_wait_for_reply): take an array of terminators too
4328
4329         * src/nm-gsm-device.c
4330           src/nm-cdma-device.c
4331                 - Send terminators to nm_serial_device_wait_for_reply()
4332
4333 2008-04-16  Dan Williams  <dcbw@redhat.com>
4334
4335         Patch from 陈鑫 <znscnchen@gmail.com>
4336
4337         * src/ppp-manager/nm-pppd-plugin.c
4338                 - (get_credentials): return correct value for success; handle case where
4339                         pppd just does some checking but doesn't want a password
4340                 - (plugin_init): make CHAP work too
4341
4342 2008-04-16  Dan Williams  <dcbw@redhat.com>
4343
4344         Patch from 陈鑫 <znscnchen@gmail.com>
4345
4346         * src/ppp-manager/nm-ppp-manager.c
4347                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
4348
4349 2008-04-16  Dan Williams  <dcbw@redhat.com>
4350
4351         Patch from 陈鑫 <znscnchen@gmail.com>
4352
4353         * src/nm-device-802-3-ethernet.c
4354                 - (real_deactivate_quickly): clear the IP interface name on
4355                         deactivation, otherwise the wrong interface might get used later
4356                         for routing and IP management
4357
4358 2008-04-15  Dan Williams  <dcbw@redhat.com>
4359
4360         * libnm-glib/nm-device.c
4361                 - (get_product_and_vendor): handle serial devices correctly
4362                 - (nm_device_update_description): pass device to get_product_and_vendor()
4363
4364 2008-04-15  Dan Williams  <dcbw@redhat.com>
4365
4366         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4367
4368         * src/NetworkManagerSystem.h
4369           src/backends/NetworkManagerArch.c
4370           src/backends/NetworkManagerDebian.c
4371           src/backends/NetworkManagerFrugalware.c
4372           src/backends/NetworkManagerGeneric.c
4373           src/backends/NetworkManagerGeneric.h
4374           src/backends/NetworkManagerGentoo.c
4375           src/backends/NetworkManagerMandriva.c
4376           src/backends/NetworkManagerPaldo.c
4377           src/backends/NetworkManagerRedHat.c
4378           src/backends/NetworkManagerSlackware.c
4379           src/backends/NetworkManagerSuSE.c
4380           src/nm-device.c
4381                 - (nm_generic_device_add_ip6_link_address,
4382                    nm_system_device_add_ip6_link_address): remove
4383
4384 2008-04-15  Dan Williams  <dcbw@redhat.com>
4385
4386         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4387
4388         * src/backends/NetworkManagerArch.c
4389           src/backends/NetworkManagerDebian.c
4390           src/backends/NetworkManagerFrugalware.c
4391           src/backends/NetworkManagerGeneric.c
4392           src/backends/NetworkManagerGeneric.h
4393           src/backends/NetworkManagerGentoo.c
4394           src/backends/NetworkManagerMandriva.c
4395           src/backends/NetworkManagerPaldo.c
4396           src/backends/NetworkManagerRedHat.c
4397           src/backends/NetworkManagerSlackware.c
4398           src/backends/NetworkManagerSuSE.c
4399           src/NetworkManagerSystem.h
4400                 - flush_routes -> flush_ip4_routes
4401                 - flush_addresses -> flush_ip4_addresses
4402
4403         * src/NetworkManagerSystem.c
4404           src/nm-device.c
4405           src/vpn-manager/nm-vpn-connection.c
4406                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
4407
4408 2008-04-15  Dan Williams  <dcbw@redhat.com>
4409
4410         Remove exposure of wireless-tools mode types in the API.
4411
4412         * include/NetworkManager.h
4413                 - Define NM80211Mode enum
4414
4415         * introspection/generic-types.xml
4416                 - Describe NM_802_11_MODE enum
4417                 - Remove IW_MODE_* enum
4418
4419         * introspection/nm-access-point.xml
4420           libnm-glib/nm-access-point.c
4421           libnm-glib/nm-access-point.h
4422                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4423
4424         * introspection/nm-device-802-11-wireless.xml
4425           libnm-glib/nm-device-802-11-wireless.c
4426           libnm-glib/nm-device-802-11-wireless.h
4427                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4428
4429         * libnm-util/nm-setting-wireless.c
4430           src/NetworkManagerAP.c
4431           src/NetworkManagerAP.h
4432           src/nm-device-802-11-wireless.c
4433           src/nm-device-802-11-wireless.h
4434           test/nm-tool.c
4435                 - Use NM80211Mode not IW_MODE_*
4436
4437 2008-04-15  Dan Williams  <dcbw@redhat.com>
4438
4439         Enhance nm-online based on a patch from Bill Nottingham.
4440
4441         * test/nm-online.c
4442                 - Add a '-q' option
4443                 - Add help messages and option summary
4444                 - Add long-format options
4445                 - Add a '-x' option to exit if NM isn't running or isn't connecting
4446
4447 2008-04-15  Tambet Ingo  <tambet@gmail.com>
4448
4449         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
4450
4451         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
4452
4453 2008-04-15  Dan Williams  <dcbw@redhat.com>
4454
4455         * nm-setting-ip4-config.c
4456                 - (ip4_addresses_from_gvalue): handle NULL address array
4457
4458         * nm-setting-8021x.c
4459                 - (verify_tls, verify_ttls): warn on failed verification
4460
4461 2008-04-10  Dan Williams  <dcbw@redhat.com>
4462
4463         * src/nm-gsm-device.c
4464                 - (automatic_registration): accept "+CREG: 0,0"
4465                 - (automatic_registration_response): fail on "+CREG: 0,0"
4466
4467 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4468
4469         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
4470
4471 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4472
4473         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
4474         Make it compile again by commenting out broken code that at first didn't work and
4475         now didn't compile either.
4476
4477 2008-04-08  Dan Williams  <dcbw@redhat.com>
4478
4479         * libnm-glib/nm-object-cache.c
4480           libnm-glib/nm-settings.c
4481           src/dhcp-manager/nm-dhcp-manager.c
4482           system-settings/plugins/ifcfg-fedora/plugin.c
4483           system-settings/plugins/ifcfg-suse/plugin.c
4484           system-settings/src/nm-system-config-hal-manager.c
4485           libnm-util/nm-utils.c
4486                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
4487                         not threadsafe anyway
4488
4489 2008-04-08  Dan Williams  <dcbw@redhat.com>
4490
4491         * system-settings/src/main.c
4492                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
4493                         callbacks take a device type too
4494
4495 2008-04-08  Dan Williams  <dcbw@redhat.com>
4496
4497         The system settings service will now create a new default DHCP connection
4498         for wired devices that have no existing applicable connection.
4499
4500         * system-settings/src/nm-system-config-hal-manager.c
4501           system-settings/src/nm-system-config-hal-manager.h
4502                 - (nm_system_config_hal_manager_get_type_for_udi): new function
4503
4504         * system-settings/src/dbus-settings.c
4505           system-settings/src/dbus-settings.h
4506                 - (nm_sysconfig_settings_get_connections): new function
4507                 - (nm_sysconfig_settings_is_device_managed): new function
4508
4509         * system-settings/src/main.c
4510                 - (load_stuff): check for wired devices that need a default connection
4511                 - (get_details_for_udi): get interface and MAC address from HAL
4512                 - (add_default_dhcp_connection): add a default connection for a wired
4513                         device if needed
4514                 - (device_added_cb, device_removed_cb): do the right thing with
4515                         wired devices and their default connections on HAL device events
4516
4517 2008-04-07  Dan Williams  <dcbw@redhat.com>
4518
4519         * libnm-glib/nm-device.c
4520           libnm-glib/nm-device.h
4521                 - Proxy the 'managed' property
4522
4523 2008-04-07  Dan Williams  <dcbw@redhat.com>
4524
4525         * src/nm-gsm-device.c
4526           src/nm-cdma-device.c
4527                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4528                         handler to transition to DISCONNECTED
4529
4530 2008-04-07  Dan Williams  <dcbw@redhat.com>
4531
4532         Patch from Bill Nottingham
4533
4534         * dispatcher-daemon/NetworkManagerDispatcher.c
4535                 - ignore backup/packaging crufy (rh #440143)
4536
4537 2008-04-07  Dan Williams  <dcbw@redhat.com>
4538
4539         * include/NetworkManager.h
4540                 - Remove the DOWN and CANCELLED device states
4541                 - Add UNMANAGED and UNAVAILABLE device states
4542                 - Document the device states
4543
4544         * introspection/nm-device.xml
4545           src/nm-device-interface.c
4546           src/nm-device-interface.h
4547                 - Add the 'managed' property
4548
4549         * test/nm-tool.c
4550                 - (detail_device): print out device state
4551
4552         * src/NetworkManagerSystem.h
4553           src/backends/NetworkManagerArch.c
4554           src/backends/NetworkManagerDebian.c
4555           src/backends/NetworkManagerFrugalware.c
4556           src/backends/NetworkManagerGentoo.c
4557           src/backends/NetworkManagerMandriva.c
4558           src/backends/NetworkManagerPaldo.c
4559           src/backends/NetworkManagerRedHat.c
4560           src/backends/NetworkManagerSlackware.c
4561           src/backends/NetworkManagerSuSE.c
4562                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
4563                    nm_system_device_free_system_config): remove; they were unused and
4564                         their functionality should be re-implemented in each distro's
4565                         system settings service plugin 
4566
4567         * src/nm-gsm-device.c
4568           src/nm-gsm-device.h
4569           src/nm-cdma-device.c
4570           src/nm-cdma-device.h
4571                 - (*_new): take the 'managed' argument
4572
4573         * src/nm-device.c
4574                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
4575                 - (nm_device_init): start in unmanaged state, not disconnected
4576                 - (constructor): don't start device until the system settings service
4577                         has had a chance to figure out if the device is managed or not
4578                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
4579                         don't set device state here, let callers handle that as appropriate
4580                 - (nm_device_dispose): don't touch the device if it's not managed
4581                 - (set_property, get_property, nm_device_class_init): implement the
4582                         'managed' property
4583                 - (nm_device_state_changed): bring the device up if its now managed,
4584                         and deactivate it if it used to be active
4585                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
4586                         with the managed state
4587
4588         * src/nm-hal-manager.c
4589                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
4590                         take initial managed state and pass it along to device constructors
4591                 - (create_device_and_add_to_list): get managed state and pass to
4592                         type creators
4593
4594         * src/nm-device-802-11-wireless.c
4595                 - (real_can_activate): fold in most of
4596                         nm_device_802_11_wireless_can_activate()
4597                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
4598                 - (link_timeout_cb): instead of deactivating, change device state and
4599                         let the device state handler to it
4600                 - (real_update_hw_address): clean up
4601                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4602                         handler to transition to DISCONNECTED if the device isn't rfkilled
4603
4604         * src/nm-device-802-3-ethernet.c
4605                 - (set_carrier): move above callers and get rid of prototype
4606                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
4607                         idle handler to transition to DISCONNECTED if the device has a
4608                         carrier
4609                 - (real_update_hw_address): clean up
4610                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
4611                         deactivation directly as deactivation doesn't change state anymore
4612
4613         * src/NetworkManagerPolicy.c
4614                 - (schedule_activate_check): yay, remove wireless_enabled hack since
4615                         the NMManager and wireless devices work that out themselves now
4616                 - (device_state_changed): change to a switch and update for new device
4617                         states
4618                 - (device_carrier_changed): remove; device handles this now through
4619                         state changes
4620                 - (device_added): don't care about carrier any more; the initial
4621                         activation check will happen when the device transitions to
4622                         DISCONNECTED
4623
4624         * src/nm-manager.c
4625                 - (dispose): clear unmanaged devices
4626                 - (handle_unmanaged_devices): update unmanaged device list and toggle
4627                         the managed property on each device when needed
4628                 - (system_settings_properties_changed_cb): handle signals from the
4629                         system settings service
4630                 - (system_settings_get_unmanaged_devices_cb): handle callback from
4631                         getting the unmanaged device list method call
4632                 - (query_unmanaged_devices): ask the system settings service for its
4633                         list of unmanaged devices
4634                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
4635                         devices
4636                 - (manager_set_wireless_enabled): push rfkill state down to wireless
4637                         devices directly and let them handle the necessary state transitions
4638                 - (manager_device_state_changed): update for new device states
4639                 - (nm_manager_add_device): set initial rfkill state on wireless devices
4640                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
4641                 - (nm_manager_activate_connection): return error if the device is
4642                         unmanaged
4643                 - (nm_manager_sleep): handle new device states correctly; don't change
4644                         the state of unavailable/unmanaged devices
4645
4646         * libnm-glib/nm-device-802-11-wireless.c
4647                 - (state_changed_cb): update for new device states
4648
4649 2008-04-07  Dan Williams  <dcbw@redhat.com>
4650
4651         * marshallers/nm-marshal.list
4652                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
4653
4654 2008-04-07  Dan Williams  <dcbw@redhat.com>
4655
4656         * system-settings/src/main.c
4657                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
4658                         plugins to the dbus settings object
4659                 - (load_stuff): start the dbus service after grabbing unmanaged devices
4660                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
4661                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
4662                 - (main): switch default logging to syslog with a 'debug' option to
4663                         output to console; start up the HAL manager
4664
4665 2008-04-07  Dan Williams  <dcbw@redhat.com>
4666
4667         * introspection/nm-settings-system.xml
4668           introspection/Makefile.am
4669                 - Define the unmanaged devices interface for the system settings service
4670
4671         * system-settings/src/nm-system-config-hal-manager.c
4672           system-settings/src/nm-system-config-hal-manager.h
4673           system-settings/src/nm-system-config-hal-manager-private.h
4674           system-settings/src/Makefile.am
4675                 - Add a lightweight HAL manager object for tracking network devices for
4676                         the purpose of determining unmanaged devices and which devices need
4677                         the default DHCP connections
4678
4679         * system-settings/src/nm-system-config-interface.c
4680           system-settings/src/nm-system-config-interface.h
4681                 - (nm_system_config_interface_init): add the HAL manager as an argument
4682                 - (nm_system_config_interface_get_unmanaged_devices): implement
4683                 - Define 'unmanaged-devices-changed' signal
4684
4685         * system-settings/src/dbus-settings.c
4686           system-settings/src/dbus-settings.h
4687                 - Implement the unmanaged devices interface; some cleanups
4688
4689         * system-settings/plugins/ifcfg-suse/plugin.c
4690                 - Fixup for plugin interface changes
4691
4692         * system-settings/plugins/ifcfg-fedora/plugin.c
4693                 - (get_ether_device_udi): new function; find the device that has
4694                         a specified MAC address and return its UDI
4695                 - (get_udi_for_connection): new function; try to find the specific
4696                         device a connection is locked to, if any
4697                 - (device_added_cb, device_removed_cb): update unmanaged device list in
4698                         response to HAL events
4699                 - (get_unmanaged_devices): new function; return unmanaged device list
4700                 - (build_one_connection): set the connection's locked device, if any
4701                 - (write_auto_wired_connection): remove
4702                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
4703                 - (handle_connection_changed): alert listeners that the unmanaged device
4704                         list has changed
4705                 - (init): fixup for plugin interface changes, implement unmanaged devices
4706
4707         * system-settings/plugins/ifcfg-fedora/parser.c
4708           system-settings/plugins/ifcfg-fedora/parser.h
4709                 - (connection_data_free): clean up connection UDI
4710
4711 2008-04-07  Dan Williams  <dcbw@redhat.com>
4712
4713         * system-settings/plugins/ifcfg-fedora/parser.c
4714                 - (make_ip4_setting): fix parsing of DNS servers
4715
4716 2008-04-05  Dan Williams  <dcbw@redhat.com>
4717
4718         * Makefile.am
4719           configure.in
4720           marshallers/Makefile.am
4721           marshallers/nm-marshal-main.c
4722           marshallers/nm-marshal.list
4723                 - Consolidate marshallers
4724
4725         * libnm-glib/nm-marshal-main.c
4726           libnm-glib/nm-marshal.list
4727           src/marshallers/Makefile.am
4728           src/marshallers/nm-marshal-main.c
4729           src/marshallers/nm-marshal.list
4730                 - Remove
4731
4732         * libnm-glib/Makefile.am
4733           src/Makefile.am
4734           src/dhcp-manager/Makefile.am
4735           src/ppp-manager/Makefile.am
4736           src/supplicant-manager/Makefile.am
4737           src/vpn-manager/Makefile.am
4738                 - Use consolidated marshallers
4739
4740 2008-04-04  Dan Williams  <dcbw@redhat.com>
4741
4742         * src/nm-hal-manager.c
4743           src/nm-hal-manager.h
4744                 - (hal_init): don't look for hardware here
4745                 - (nm_hal_manager_start): new function; look for hardware here instead,
4746                         which can be done at a later time than hal_init()
4747
4748         * src/NetworkManager.c
4749                 - (main): start HAL manager after entering the main loop
4750
4751 2008-04-03  Dan Williams  <dcbw@redhat.com>
4752
4753         * libnm-glib/nm-settings.c
4754           libnm-glib/nm-settings.h
4755             - (nm_exported_connection_get_id): new function
4756                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
4757
4758 2008-04-02  Dan Williams  <dcbw@redhat.com>
4759
4760         * src/nm-device-interface.c
4761           src/nm-device-interface.h
4762           src/nm-device.c
4763           src/nm-device.h
4764                 - Rename check_connection_conflicts() to check_connection_compatible()
4765
4766         * src/nm-device-802-11-wireless.c
4767                 - (real_check_connection_conflicts): remove
4768                 - (real_check_connection_compatible): implement; match MAC address
4769
4770         * src/nm-device-802-3-ethernet.c
4771                 - (real_check_connection_conflicts): remove
4772                 - (real_check_connection_compatible): implement; match MAC address
4773                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4774
4775         * src/nm-manager.c
4776                 - (check_connection_allowed): remove; unused until PolicyKit integration
4777                 - (internal_activate_device): check whether the connection is compatible
4778                         with the device before trying to activate it
4779
4780 2008-04-02  Dan Williams  <dcbw@redhat.com>
4781
4782         * system-settings/plugins/ifcfg-fedora/parser.c
4783                 - (read_mac_address): new function; read in MAC address and stuff it
4784                         into the connection
4785                 - (add_one_wep_key): remove debug spew
4786                 - (make_wireless_security_setting): validate the default TX key; don't
4787                         add the wireless-security setting if the connection doesn't need
4788                         security; don't leak the keys shvarFile on error cases
4789                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4790                         address
4791
4792 2008-04-02  Dan Williams  <dcbw@redhat.com>
4793
4794         * libnm-util/nm-setting-connection.c
4795           libnm-util/nm-setting-connection.h
4796                 - (set_property, get_property, nm_setting_connection_class_init): remove
4797                         the 'lockdown' property; it's functionality will be replaced by
4798                         PolicyKit instead
4799
4800 2008-04-01  Dan Williams  <dcbw@redhat.com>
4801
4802         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4803
4804         * configure.in
4805           initscript/Makefile.am
4806           initscript/Mandriva/Makefile.am
4807           initscript/Mandriva/networkmanager.in
4808           initscript/Mandriva/networkmanagerdispatcher.in
4809           src/backends/Makefile.am
4810           src/backends/NetworkManagerMandriva.c
4811           system-settings/plugins/Makefile.am
4812                 - Add Mandriva support
4813
4814 2008-03-31  Dan Williams  <dcbw@redhat.com>
4815
4816         * src/vpn-manager/nm-vpn-service.c
4817                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4818                         errors can be passed back to the caller; also no longer scheduled
4819                         as an idle handler, but called directly; and bump up VPN service
4820                         spawn timeout, 2s is really short
4821                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4822                         but call it directly so that errors are reported on return from
4823                         ActivateConnection() and don't get lost.  If scheduled as an idle
4824                         handler, clients don't have the time to query NM for the new VPN
4825                         connection's properties before the VPN connection is torn down again
4826                         if the service couldn't be launched, and therefore launch errors
4827                         get lost.
4828
4829 2008-03-31  Dan Williams  <dcbw@redhat.com>
4830
4831         * src/vpn-manager/nm-vpn-connection.c
4832                 - (device_state_changed): send correct state on device failure too
4833                 - (plugin_state_changed): failed state means unexpected disconnection,
4834                         thus if the service goes away while the VPN connection is activated
4835                         that's a failure too
4836
4837 2008-03-31  Dan Williams  <dcbw@redhat.com>
4838
4839         * src/vpn-manager/nm-vpn-manager.c
4840           src/vpn-manager/nm-vpn-manager.h
4841                 - Make VPNManager errors more available; add a service-start-failed error
4842
4843 2008-03-31  Dan Williams  <dcbw@redhat.com>
4844
4845         * libnm-glib/nm-client.c
4846           libnm-glib/nm-client.h
4847                 - (activate_cb): pass the new active connection to callback; fix
4848                         message when no callback is specified
4849
4850 2008-03-30  Dan Williams  <dcbw@redhat.com>
4851
4852         * libnm-util/nm-setting-wireless-security.c
4853                 - (need_secrets): only require key0 if the transmit key index is also
4854                         0
4855                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4856
4857 2008-03-29  Dan Williams  <dcbw@redhat.com>
4858
4859         * libnm-util/nm-setting-8021x.c
4860           libnm-util/nm-setting-ip4-config.c
4861           libnm-util/nm-setting-vpn-properties.c
4862           libnm-util/nm-setting-vpn.c
4863           libnm-util/nm-setting-wireless-security.c
4864           libnm-util/nm-setting-wireless.c
4865           libnm-util/nm-utils.c
4866           src/dhcp-manager/nm-dhcp-manager.c
4867           src/nm-activation-request.c
4868           src/nm-ip4-config.c
4869           src/nm-manager.c
4870           src/nm-properties-changed-signal.c
4871           src/ppp-manager/nm-pppd-plugin.c
4872           src/supplicant-manager/nm-supplicant-interface.c
4873           src/vpn-manager/nm-vpn-connection.c
4874                 - consistently use nm-dbus-glib-types.h
4875
4876 2008-03-29  Dan Williams  <dcbw@redhat.com>
4877
4878         * src/vpn-manager/nm-vpn-connection.c
4879                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4880                         not string
4881
4882         * src/nm-activation-request.c
4883                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4884                         not string
4885
4886 2008-03-29  Dan Williams  <dcbw@redhat.com>
4887
4888         * libnm-glib/nm-device-802-11-wireless.c
4889                 - (access_point_added_proxy): create new APs if not found
4890
4891 2008-03-29  Dan Williams  <dcbw@redhat.com>
4892
4893         * libnm-glib/nm-client.c
4894                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4895                         before freeing them
4896
4897 2008-03-29  Dan Williams  <dcbw@redhat.com>
4898
4899         * system-settings/plugins/ifcfg-fedora/parser.c
4900                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4901                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4902
4903 2008-03-29  Dan Williams  <dcbw@redhat.com>
4904
4905         * system-settings/plugins/ifcfg-fedora/parser.c
4906                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4907
4908 2008-03-27  Dan Williams  <dcbw@redhat.com>
4909
4910         * nm-object.c
4911                 - (nm_object_queue_notify): don't notify multiple times for the same
4912                         property
4913
4914         * nm-object-private.h
4915                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4916                         if it has zero elements
4917
4918         * nm-ip4-config.c
4919                 - (finalize): use g_ptr_array_foreach() when freeing domains
4920                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4921
4922         * nm-active-connection.c
4923                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4924
4925         * nm-device-802-11-wireless.c
4926           nm-device-802-11-wireless.h
4927                 - (nm_device_802_11_wireless_get_access_points): return const; use
4928                         handle_ptr_array_return()
4929
4930         * nm-types.c
4931                 - (nm_object_array_demarshal): always create an array, even of length
4932                         zero, to distinguish between "NM returned no items" and "haven't
4933                         asked NM yet"
4934
4935         * nm-client.c
4936                 - (dispose): free active connections too
4937                 - (proxy_name_owner_changed): free active connections too when NM goes
4938                         away
4939                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4940                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4941
4942 2008-03-26  Dan Williams  <dcbw@redhat.com>
4943
4944         Rework VPN connection handling for a more consistent D-Bus API.  The
4945         VPNManager object has been removed, and active VPN connections are now the
4946         same as any other active connection.  The Manager object's ActivateConnection
4947         and DeactivateConnection methods are used to start and stop a VPN connection,
4948         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4949         When activating a VPN connection, pass the path of the active connection
4950         to which the VPN connection is tied in the 'specific_object' argument.
4951
4952         Consequently, the libnm-glib API has been reworked to match this arrangement,
4953         with the VPNManager object removed, and the NMVPNConnection objects now
4954         being subclasses of NMActiveConnection.
4955
4956 2008-03-25  Dan Williams  <dcbw@redhat.com>
4957
4958         Patch from Björn Martensen <bjoern.martensen@gmail.com>
4959
4960         * initscript/Arch/networkmanager.in
4961           initscript/Arch/networkmanager-dispatcher.in
4962                 - Updates for Arch Linux (gnome.org #523701)
4963
4964 2008-03-25  Dan Williams  <dcbw@redhat.com>
4965
4966         * libnm-glib/nm-ip4-config.c
4967           libnm-glib/nm-active-connection.c
4968           libnm-glib/nm-access-point.c
4969                 - Use nm_object_queue_notify() instead of g_object_notify()
4970
4971         * libnm-glib/nm-device.c
4972                 - (demarshal_ip4_config): distinguish between successful but missing
4973                         ip4-config request, and unsuccessful and missing ip4-config request
4974                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
4975                         path
4976                 - Use nm_object_queue_notify() instead of g_object_notify()
4977
4978         * libnm-glib/nm-device-802-11-wireless.c
4979                 - (demarshal_active_ap): distinguish between successfull but missing
4980                         active-ap request, and unsuccessful and missing active-ap request
4981                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
4982                         code
4983                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
4984                         for the NMClient to notify the device that wireless is disabled,
4985                         and therefore to clear the AP list and active AP
4986                 - Use nm_object_queue_notify() instead of g_object_notify()
4987
4988         * libnm-glib/nm-client.c
4989                 - (poke_wireless_devices_with_rf_status): new function
4990                 - (update_wireless_status): notify wireless devices of the rfkill status
4991                         so they can clean up if needed
4992                 - Use nm_object_queue_notify() instead of g_object_notify()
4993
4994 2008-03-25  Dan Williams  <dcbw@redhat.com>
4995
4996         * libnm-glib/nm-object.c
4997           libnm-glib/nm-object-private.h
4998                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
4999                         signals to an idle handler
5000                 - (nm_object_get_property): add a timeout to the D-Bus method call
5001
5002 2008-03-25  Dan Williams  <dcbw@redhat.com>
5003
5004         * introspection/nm-device-cdma.xml
5005           introspection/nm-device-gsm.xml
5006           introspection/Makefile.am
5007           introspection/all.xml
5008                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
5009
5010         * src/nm-gsm-device.h
5011           src/nm-gsm-device.c
5012           src/nm-cdma-device.h
5013           src/nm-cdma-device.c
5014           src/Makefile.am
5015                 - Implement PropertiesChanged signals
5016
5017         * libnm-glib/nm-cdma-device.c
5018           libnm-glib/nm-cdma-device.c
5019                 - Attach to PropertiesChanged signals
5020
5021 2008-03-24  Dan Williams  <dcbw@redhat.com>
5022
5023         * libnm-glib/nm-client.c
5024                 - (client_device_added_proxy): add new devices to the internal device
5025                         list so they appear to clients
5026
5027 2008-03-24  Dan Williams  <dcbw@redhat.com>
5028
5029         Massive fixup of libnm-glib to:
5030         a) have all objects (with the exception of VPN) cache their properties and
5031                 update them asynchronously on PropertiesChanged signals from NM
5032         b) return internal const data for most attributes/properties instead of
5033                 allocated values that the caller must free
5034         c) cache wrapped objects such that a given D-Bus path will always map to the
5035                 same GObject returned by libnm-glib
5036         d) remove a few signals and move them to GObject property notifications
5037         e) match recent NM D-Bus API changes for activation/deactivation
5038         f) remove some private functions from libnm-glib headers
5039
5040 2008-03-20  Dan Williams  <dcbw@redhat.com>
5041
5042         * src/nm-manager.c
5043                 - (nm_manager_update_state, manager_device_state_changed,
5044                    nm_manager_activate_device, connection_added_default_handler,
5045                    impl_manager_activate_connection, impl_manager_deactivate_connection):
5046                         queue PropertyChanged singals when the active connections change
5047
5048 2008-03-20  Dan Williams  <dcbw@redhat.com>
5049
5050         * introspection/nm-manager.xml
5051           introspection/nm-manager-client.xml
5052                 - (ActivateConnection): return the object path of the active connection
5053                         on success
5054                 - (GetActiveConnections): remove
5055                 - (DeactivateConnection): new function; deactivate a currently active
5056                         connection
5057                 - Add an ActiveConnections property which returns an array of
5058                         active connection object paths
5059
5060         * introspection/nm-device.xml
5061                 - (Deactivate): remove
5062
5063         * introspection/all.xml
5064                 - Add ActiveConnection introspection
5065
5066         * introspection/nm-active-connection.xml
5067                 - Add the ActiveConnection object
5068
5069         * include/NetworkManager.h
5070                 - Add the Connection.Active D-Bus interface
5071
5072         * src/nm-device-interface.c
5073                 - (impl_device_deactivate): remove
5074
5075         * src/nm-activation-request.c
5076           src/nm-activation-request.c
5077           src/Makefile.am
5078                 - Implement the Connection.Active D-Bus interface
5079
5080         * src/nm-manager.c
5081                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
5082                 - (nm_manager_activate_device): return the active connection path
5083                 - (connection_added_default_handler, impl_manager_activate_connection):
5084                         return the active connection to the caller
5085                 - (add_one_connection_element, impl_manager_get_active_connections):
5086                         remove
5087                 - (impl_manager_deactivate_connection): new function; deactivate an
5088                         active connection
5089
5090         * libnm-glib/nm-device.c
5091           libnm-glib/nm-device.h
5092                 - Remove Deactivate() function
5093
5094 2008-03-19  Dan Williams  <dcbw@redhat.com>
5095
5096         * introspection/nm-manager.xml
5097           introspection/nm-manager-client.xml
5098                 - Rename the ActivateDevice method to ActivateConnection to better
5099                         reflect it's usage; it's arguments get reordered a bit too
5100                 - Convert GetActiveConnections method return from a struct to a dict
5101
5102         * include/NetworkManager.h
5103                 - Define the dict keys for return value of GetActiveConnections
5104
5105         * src/nm-manager.c
5106                 - impl_manager_activate_device -> impl_manager_activate_connection
5107                 - (add_one_connection_element): return a populated hash table, not
5108                         a structure
5109
5110         * libnm-glib/nm-client.c
5111           libnm-glib/nm-client.h
5112                 - nm_client_activate_device -> nm_client_activate_connection
5113                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
5114                 - (nm_client_get_active_connections): return a GSList of GHashTables,
5115                         instead of the custom structures.  Each element of the returned list
5116                         must be freed with nm_client_free_active_connections_element()
5117
5118 2008-03-18  Dan Williams  <dcbw@redhat.com>
5119
5120         * system-settings/plugins/ifcfg-fedora/parser.c
5121           system-settings/plugins/ifcfg-fedora/parser.h
5122           system-settings/plugins/ifcfg-fedora/plugin.c
5123                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
5124                         profiles.  DNS servers and searches must now be stored in the ifcfg
5125                         files themselves
5126
5127 2008-03-18  Tambet Ingo  <tambet@gmail.com>
5128
5129         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
5130         print out username and password, it's supposed to be a secret.
5131
5132         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
5133         request and set the device state accordingly.
5134
5135 2008-03-18  Tambet Ingo  <tambet@gmail.com>
5136
5137         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
5138
5139         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
5140
5141 2008-03-18  Dan Williams  <dcbw@redhat.com>
5142
5143         * src/vpn-manager/nm-vpn-connection.c
5144                 - (get_secrets_cb): handle new GetSecrets return format
5145
5146 2008-03-18  Dan Williams  <dcbw@redhat.com>
5147
5148         Adapt system settings service for split 802.1x.
5149
5150         * system-settings/src/nm-system-config-interface.h
5151                 - clarify return value of get_secrets()
5152
5153         * system-settings/src/dbus-settings.c
5154                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
5155                 - (check_for_secrets): check if there actually secrets returned by a
5156                         plugin
5157                 - (exported_connection_get_secrets): just return the plugin-returned
5158                         hash of settings' secrets if it looks valid
5159
5160         * system-settings/plugins/ifcfg-fedora/plugin.c
5161                 - (get_secrets): add split secrets with correct format to reply hash
5162
5163         * system-settings/plugins/ifcfg-fedora/parser.c
5164           system-settings/plugins/ifcfg-fedora/parser.h
5165                 - (copy_one_cdata_secret, connection_data_copy_secrets,
5166                    connection_data_free, connection_data_add): keep secrets for
5167                         different settings in different hashes
5168
5169 2008-03-17  Tambet Ingo  <tambet@gmail.com>
5170
5171         Clean up activating device deactivation.
5172
5173         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
5174         should be done whether the device activation gets cancelled or the device
5175         is just getting deactivated.
5176         (nm_device_activation_cancel): Remove.
5177         (nm_device_deactivate_quickly): Handle the case where device is activating.
5178
5179         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
5180         It does the exact same thing as real_deactivate_quickly().
5181
5182 2008-03-17  Dan Williams  <dcbw@redhat.com>
5183
5184         Split the 802.1x bits out of the wireless-security setting so they are
5185         generalized enough for wired 802.1x to use too.
5186
5187         * introspection/nm-exported-connection.xml
5188                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
5189                         of just a hash of the secrets for one setting
5190
5191         * libnm-util/nm-setting-wireless-security.c
5192           libnm-util/nm-setting-wireless-security.h
5193                 - Remove 802.1x-specific stuff
5194                 - Added leap-username and leap-password properties for old-school LEAP
5195
5196         * src/nm-device.c
5197           src/nm-device.h
5198                 - (connection_secrets_updated_cb): take a list of updated settings names,
5199                         not just one
5200
5201         * src/supplicant-manager/nm-supplicant-config.c
5202           src/supplicant-manager/nm-supplicant-config.h
5203                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
5204                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
5205                         to nm_supplicant_config_add_setting_8021x()
5206                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
5207                         the supplicant config
5208
5209         * src/nm-device-802-11-wireless.c
5210                 - (build_supplicant_config): pass in the 802.1x setting too, if any
5211                 - (real_connection_secrets_updated): take a list of updated settings
5212                         names, not just one
5213
5214         * src/nm-device-802-3-ethernet.c
5215           src/nm-cdma-device.c
5216           src/nm-gsm-device.c
5217                 - (real_connection_secrets_updated_cb): take a list of updated settings
5218                         names, not just one
5219
5220         * src/nm-activation-request.c
5221           src/nm-activation-request.h
5222                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
5223                         now passes a list of updated settings names, not just one
5224                 - (update_one_setting): new function; handle one updated setting
5225                 - (get_secrets_cb): handle multiple settings returned from the
5226                         settings service; have to be careful of ordering here as there are
5227                         some dependencies between settings (ex. wireless-security and 802.1x
5228                         in some cases)
5229
5230         * src/marshallers/nm-marshal.list
5231                 - new marshaller for connection-secrets-updated signal
5232
5233         * libnm-util/nm-setting-8021x.c
5234                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
5235                         methods
5236                 - (verify): a valid 'eap' property is now required
5237
5238         * libnm-util/nm-connection.c
5239                 - (register_default_settings): add priorities to settings; there are
5240                         some dependencies between settings, and during the need_secrets
5241                         calls this priority needs to be respected.  For example, only the
5242                         wireless-security setting knows whether or not the connection is
5243                         going to use 802.1x or now, so it must be asked for secrets before
5244                         any existing 802.1x setting is
5245                 - (nm_connection_lookup_setting_type): expose
5246
5247         * libnm-util/nm-setting-wireless.c
5248                 - (verify): should verify even if all_settings is NULL; otherwise won't
5249                         catch the case where there is missing security
5250
5251         * libnm-util/nm-setting-wireless-security.c
5252                 - Remove everything to do with 802.1x
5253                 - Add old-school LEAP specific properties for username and password
5254                 - (need_secrets): rework LEAP secrets checking
5255                 - (verify): rework for LEAP and 802.1x verification
5256
5257 2008-03-17  Dan Williams  <dcbw@redhat.com>
5258
5259         * src/NetworkManagerPolicy.c
5260                 - (auto_activate_device): always remove the current activation check
5261                         from the pending activation list, otherwise when the policy gets
5262                         destroyed on NM exit it will attempt to free the already freed
5263                         activation check
5264
5265 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5266
5267         * src/backends/NetworkManagerSlackware.c 
5268         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
5269
5270         * src/backends/NetworkManagerSuSE.c: Add missing includes.
5271
5272 2008-03-14  Dan Williams  <dcbw@redhat.com>
5273
5274         * src/nm-manager.c
5275                 - (nm_device_interface_get_iface): g_object_get() will return an
5276                         allocated value, so this function must not return const
5277                 - (nm_device_interface_activate): free returned iface
5278
5279 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5280
5281         * libnm-util/Makefile.am: Add new files to build.
5282
5283         * libnm-util/nm-connection.c: Register NMSetting8021x.
5284
5285         * libnm-util/nm-setting-8021x.c
5286         * libnm-util/nm-setting-8021x.h: Implement.
5287
5288 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5289
5290         * libnm-util/Makefile.am: Add new files to build.
5291
5292         * libnm-util/nm-connection.c: Register NMSetting8021x.
5293
5294         * libnm-util/nm-setting-8021x.c
5295         * libnm-util/nm-setting-8021x.h: Implement.
5296
5297 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5298
5299         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
5300         data.
5301
5302 2008-03-14  Dan Williams  <dcbw@redhat.com>
5303
5304         * include/wireless-helper.h
5305           include/Makefile.am
5306                 - One place for all the junk needed for #including wireless.h
5307
5308         * test/nm-tool.c
5309           src/NetworkManagerAP.c
5310           src/wpa.c
5311           src/Makefile.am
5312           libnm-util/nm-utils.c
5313           libnm-util/nm-setting-wireless.c
5314           libnm-glib/nm-device-802-11-wireless.c
5315           libnm-glib/nm-access-point.c
5316           libnm-glib/libnm-glib-test.c
5317                 - include wireless-helper.h, not iwlib.h
5318
5319         * configure.in
5320                 - Don't need libiw really, just need to check for wireless.h
5321
5322         * src/kernel-types.h
5323                 - Remove; used types moved into wpa.c
5324
5325         * src/nm-device-802-11-wireless.c
5326                 - (nm_device_802_11_wireless_update_signal_strength,
5327                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
5328                    nm_device_802_11_wireless_set_mode,
5329                    nm_device_802_11_wireless_get_frequency,
5330                    nm_device_802_11_wireless_get_ssid,
5331                    nm_device_802_11_wireless_set_ssid,
5332                    nm_device_802_11_wireless_get_bitrate,
5333                    nm_device_802_11_wireless_get_bssid,
5334                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
5335                         instead of iwlib functions
5336
5337 2008-03-14  Dan Williams  <dcbw@redhat.com>
5338
5339         * src/ppp-manager/nm-ppp-manager.c
5340                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
5341                         should only take the DBusGMethodInvocation argument, not user/pass
5342                         too.  With dbus-glib, async functions only take 2 C arguments since
5343                         the real dbus method arguments get passed back with
5344                         dbus_g_method_return()
5345
5346 2008-03-13  Tambet Ingo  <tambet@gmail.com>
5347
5348         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
5349         Adapt the changes of NMSettingIP4Config.
5350
5351 2008-03-13  Dan Williams  <dcbw@redhat.com>
5352
5353         * src/NetworkManagerUtils.c
5354           src/NetworkManagerUtils.h
5355                 - (nm_ether_ntop): replacement for iw_ether_ntop()
5356
5357         * src/NetworkManagerAP.c
5358           src/nm-device-802-11-wireless.c
5359           src/nm-device-802-3-ethernet.c
5360                 - s/iw_ether_ntop/nm_ether_ntop/g
5361
5362 2008-03-13  Dan Williams  <dcbw@redhat.com>
5363
5364         * src/NetworkManagerPolicy.c
5365                 - (update_routing_and_dns): never set the default route through an
5366                         IPv4LL addressed device
5367
5368 2008-03-13  Dan Williams  <dcbw@redhat.com>
5369
5370         * NetworkManagerUtils.c
5371           NetworkManagerUtils.h
5372                 - Remove NMSock stuff
5373                 - Remove the completion stuff
5374
5375         * nm-device.c
5376           nm-device.h
5377           NetworkManager.c
5378           NetworkManagerSystem.c
5379           autoip.c
5380           nm-device-802-11-wireless.c
5381           nm-device-802-3-ethernet.c
5382                 - Remove NMSock and completion stuff
5383                 - Remove nm_ioctl_info()
5384
5385 2008-03-12  Dan Williams  <dcbw@redhat.com>
5386
5387         * src/nm-device.c
5388                 - (merge_ip4_config): avoid duplicates
5389
5390 2008-03-12  Dan Williams  <dcbw@redhat.com>
5391
5392         * libnm-util/nm-setting-ip4-config.c
5393           libnm-util/nm-setting-ip4-config.h
5394                 - Remove 'manual' and 'autoip' properties
5395                 - Add 'method' property
5396                 - (verify): fix verification with 'method'
5397                 - (finalize): free 'method'
5398                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
5399                         up for 'method'
5400
5401         * src/nm-device.c
5402                 - (real_act_stage3_ip_config_start): check IP4Config method
5403                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
5404                         the future
5405                 - (merge_ip4_config): IP settings are valid with DHCP too
5406                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
5407                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
5408
5409         * src/nm-device-802-11-wireless.c
5410                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
5411                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
5412                         only on demand
5413
5414         * system-settings/plugins/ifcfg-fedora/parser.c
5415           system-settings/plugins/ifcfg-suse/parser.c
5416                 - (make_ip4_setting): fix up for 'method'
5417
5418 2008-03-12  Dan Williams  <dcbw@redhat.com>
5419
5420         * system-settings/plugins/ifcfg-fedora/parser.c
5421           system-settings/plugins/ifcfg-fedora/parser.h
5422                 - (get_ifcfg_name): ignore more file suffixes
5423                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
5424
5425 2008-03-12  Dan Williams  <dcbw@redhat.com>
5426
5427         * configure.in
5428                 - Bring in the bits of gnome-common we actually use (all 15 lines)
5429
5430 2008-03-12  Dan Williams  <dcbw@redhat.com>
5431
5432         * system-settings/plugins/ifcfg-fedora/plugin.c
5433                 - (write_auto_wired_connection): new function; write out an auto
5434                         wired connection file since the applet isn't doing it any more
5435                 - (reload_all_connections): write out the auto wired connection file
5436                         if there aren't any wired connections already
5437                 - (init): don't leak a GError
5438
5439 2008-03-12  Dan Williams  <dcbw@redhat.com>
5440
5441         * src/nm-device-interface.c
5442                 - (nm_device_interface_activate): print the ID of the connection
5443                         that's about to be activated
5444
5445 2008-03-12  Dan Williams  <dcbw@redhat.com>
5446
5447         Harmonize the 802.11 bitrate API
5448
5449         * introspection/nm-access-point.xml
5450                 - 'Rate' -> 'MaxBitrate'; clarify units
5451
5452         * introspection/nm-device-802-11-wireless.xml
5453                 - Clarify units of 'Bitrate'
5454
5455         * src/NetworkManagerAP.c
5456           src/NetworkManagerAP.h
5457                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
5458                         property to 'max-bitrate'
5459                 - (foreach_property_cb): convert rate to Kb/s
5460
5461         * src/nm-device-802-11-wireless.c
5462                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
5463
5464         * libnm-glib/nm-access-point.c
5465           libnm-glib/nm-access-point.h
5466                 - 'rate' -> 'max-bitrate'
5467
5468         * test/nm-tool.c
5469           libnm-glib/libnm-glib-test.c
5470                 - Fix up for these changes
5471
5472 2008-03-12  Dan Williams  <dcbw@redhat.com>
5473
5474         * src/nm-device.c
5475                 - (nm_device_set_ip4_config): don't send property notifications when
5476                         the ip4 config is set to NULL; it causes a PropertyChanged signal
5477                         which dbus-glib can't parse because the value is NULL, which isn't
5478                         a legal object path.  Setting the IP4 config to NULL is only
5479                         valid when deactivating a device anyway, so the device state change
5480                         will alert listeners that the ip4 config is invalid.
5481
5482 2008-03-12  Dan Williams  <dcbw@redhat.com>
5483
5484         * src/nm-properties-changed-signal.c
5485                 - (add_to_string): better handling of NULL objects
5486
5487 2008-03-12  Dan Williams  <dcbw@redhat.com>
5488
5489         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
5490         convert the libnm-glib NMDevice8023Ethernet to cached properties
5491
5492         * introspection/nm-device-802-3-ethernet.xml
5493                 - New 'Carrier' property
5494                 - New 'PropertiesChanged' signal
5495
5496         * introspection/nm-device.xml
5497                 - Remove 'Carrier' property
5498                 - Remove 'CarrierChanged' signal
5499
5500         * src/nm-device-interface.c
5501           src/nm-device-interface.h
5502                 - (nm_device_interface_init): remove 'carrier' property and
5503                         'carrier-changed' signal
5504
5505         * src/nm-device.c
5506           src/nm-device.h
5507                 - (nm_device_get_carrier, nm_device_set_carrier): remove
5508                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
5509                         the link here; wired device will handle that
5510                 - (handle_dhcp_lease_change): don't bother updating link here
5511                 - (get_property, nm_device_class_init): remove carrier property
5512
5513         * src/nm-device-802-11-wireless.c
5514                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
5515                         real_update_link(); wireless devices don't use carrier at all
5516                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
5517                    supplicant_iface_connection_state_cb_handler,
5518                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
5519
5520         * src/nm-device-802-3-ethernet.c
5521           src/nm-device-802-3-ethernet.h
5522                 - (nm_device_802_3_ethernet_carrier_on,
5523                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
5524                         instead of nm_device_set_carrier()
5525                 - (device_state_changed): update link from sysfs on activation;
5526                         replaces real_update_link()
5527                 - (real_update_link): remove, replaced by device_state_changed()
5528                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
5529                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
5530                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
5531                         new get_carrier function
5532                 - (get_property): add 'carrier' property
5533                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
5534                         hook into property-changed signal helper
5535
5536         * src/NetworkManagerPolicy.c
5537                 - (device_carrier_changed): will only ever be called with a wired device
5538                 - (device_added): only hook up to carrier-changed for wired devices
5539
5540         * libnm-glib/nm-device.c
5541           libnm-glib/nm-device.h
5542                 - (constructor, nm_device_class_init): remove carrier-changed signal
5543                 - (device_carrier_changed_proxy): remove; unused
5544                 - (nm_device_get_carrier): remove; carrier a property of wired devices
5545
5546         * libnm-glib/nm-device-802-3-ethernet.c
5547           libnm-glib/nm-device-802-3-ethernet.h
5548                 - Convert to cached properties like AP and Wireless objects
5549                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
5550                         instead of a 'char *', return value should not be freed
5551                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
5552                 - (constructor): hook into properties-changed helper
5553                 - (set_property, get_property): new functions
5554                 - (nm_device_802_3_ethernet_class_init): export GObject properties
5555
5556         * test/nm-tool.c
5557                 - (detail_device): strdup the wired hardware address too since it's
5558                         cached now
5559
5560         * libnm-glib/libnm-glib-test.c
5561                 - (dump_wired): strdup the wired hardware address too since it's
5562                         cached now
5563
5564 2008-03-12  Dan Williams  <dcbw@redhat.com>
5565
5566         * libnm-util/nm-setting-ip4-config.c
5567           libnm-util/nm-setting-ip4-config.h
5568                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
5569                         the 'autoip' property from the spec
5570
5571 2008-03-11  Dan Williams  <dcbw@redhat.com>
5572
5573         * src/backends/NetworkManagerGeneric.c
5574           src/backends/NetworkManagerGeneric.h
5575                 - (nm_generic_device_get_use_dhcp): remove
5576
5577 2008-03-11  Dan Williams  <dcbw@redhat.com>
5578
5579         * src/nm-device.c
5580                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
5581                         already in nm_device_set_ip4_config()
5582                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
5583                         due to a DHCP rebind fails
5584                 - (nm_device_set_ip4_config): send property notifications when the
5585                         ip4 config changes
5586                 - (get_property): only report IP4Config property during valid states
5587
5588         * src/NetworkManagerPolicy.c
5589                 - (update_routing_and_dns): ignore devices that don't have an ip4
5590                         config; add parameter 'force_update' to allow callers to specify
5591                         that changes should be made even if the default device doesn't change
5592                 - (device_ip4_config_changed): update DNS and routing when the device's
5593                         IP4Config changes, like for DHCP updates
5594                 - (device_added): listen for ip4-config property changes
5595
5596 2008-03-11  Dan Williams  <dcbw@redhat.com>
5597
5598         Fix address handling as a result of DHCP rebind/renew/reboot.
5599
5600         * src/NetworkManagerSystem.c
5601                 - (check_one_address): delete an address if it doesn't match a given
5602                         one for the same interface
5603                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
5604                         be smarter about flushing addresses (only flush ones that don't
5605                         match the one we're about to apply)
5606
5607         * src/backends/NetworkManagerDebian.c
5608           src/backends/NetworkManagerSuSE.c
5609           src/backends/NetworkManagerArch.c
5610           src/backends/NetworkManagerSlackware.c
5611           src/backends/NetworkManagerRedHat.c
5612           src/backends/NetworkManagerPaldo.c
5613           src/backends/NetworkManagerFrugalware.c
5614           src/backends/NetworkManagerGentoo.c
5615                 - (nm_system_delete_default_route): remove
5616
5617         * src/backends/NetworkManagerGeneric.c
5618           src/backends/NetworkManagerGeneric.h
5619                 - (nm_generic_enable_loopback): fix the loopback device label
5620                 - (nm_generic_delete_default_route): remove; no longer used
5621
5622 2008-03-11  Dan Williams  <dcbw@redhat.com>
5623
5624         * src/nm-device-interface.h
5625                 - Delimit property name words with '-', otherwise g_object_notify()
5626                         doesn't work the way we expect
5627
5628 2008-03-11  Tambet Ingo  <tambet@gmail.com>
5629
5630         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
5631
5632 2008-03-11  Dan Williams  <dcbw@redhat.com>
5633
5634         * src/NetworkManagerPolicy.c
5635                 - (update_routing_and_dns): don't change anything if the default device
5636                         hasn't changed; print something out when switching the default route
5637                         and DNS
5638
5639 2008-03-10  Tambet Ingo  <tambet@gmail.com>
5640
5641         Implement PPPoE.
5642
5643         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
5644         setting. Use "nic-$eth".
5645
5646         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
5647         the device is activating here to fix a race condition.
5648
5649         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
5650
5651         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
5652         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
5653         (nm_ppp_manager_start): Take activation request instead of connection, we might
5654         need it for asking secrets.
5655         (nm_ppp_manager_update_secrets): Implement.
5656
5657         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
5658         ppp manager start. It might be needed for asking secrets.
5659
5660         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
5661         (ppp_state_changed): Handle pppd daemon disappearing.
5662         (pppoe_stage2_config): Send activation request to ppp manager start.
5663
5664         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
5665
5666         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
5667         username and password.
5668         
5669 2008-03-10  Dan Williams  <dcbw@redhat.com>
5670
5671         * src/nm-device.c
5672                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
5673                         response to a DHCP lease change
5674                 - (dhcp_state_changed): handle DHCP lease changes while activated
5675                 - (nm_device_set_ip4_config): remove a previously set named config
5676                         when setting an ip4 config
5677
5678 2008-03-10  Dan Williams  <dcbw@redhat.com>
5679
5680         * src/nm-serial-device.c
5681                 - (nm_serial_device_send_command): report errno on error
5682                 - (get_reply_got_data): limit the size of the overall buffer
5683                 - (wait_for_reply_info_destroy): destroy result string
5684                 - (wait_for_reply_got_data): append received data to an overall buffer
5685                         until timeout, filled buffer, or error instead of keeping a per-call
5686                         buffer.  Some devices send data slowly enough that this function
5687                         gets called multiple times for the same command stream.
5688                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
5689                         wait_for_reply_got_data() here
5690
5691 2008-03-10  Dan Williams  <dcbw@redhat.com>
5692
5693         * src/nm-cdma-device.c
5694                 - (do_dial, init_modem): handle errors from
5695                         nm_serial_device_send_command_string()
5696
5697         * src/nm-gsm-device.c
5698                 - (do_dial, manual_registration, automatic_registration_get_network,
5699                    automatic_registration, enter_pin, check_pin, init_modem): handle
5700                         errors from nm_serial_device_send_command_string()
5701
5702 2008-03-10  Dan Williams  <dcbw@redhat.com>
5703
5704         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
5705
5706         * src/named-manager/nm-named-manager.c
5707                 - (compute_searches): prefer searches before domains
5708                 - (compute_domain): new function
5709                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
5710                 - (merge_one_ip4_config): if there are no searches in the source config,
5711                         merge domains of the source config into the target config
5712                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
5713
5714 2008-03-10  Dan Williams  <dcbw@redhat.com>
5715
5716         * src/nm-serial-device.c
5717                 - (get_reply_got_data): clean up indentation, shrink serial buffer
5718                 - (wait_for_reply_got_data): try to handle slower serial devices where
5719                         the reply is broken up into multiple reads by concatenating replies
5720                         together until either an error is received or the search string is
5721                         found
5722
5723 2008-03-10  Dan Williams  <dcbw@redhat.com>
5724
5725         * src/nm-device.c
5726                 - (nm_device_bring_down): deactivate the device if it's activating too,
5727                         not just if it's already activated.  This makes sure that everything
5728                         from an association attempt is cleaned up (like DHCP for example)
5729
5730 2008-03-10  Dan Williams  <dcbw@redhat.com>
5731
5732         * src/nm-serial-device.c
5733                 - (config_fd): report error from TCSETA
5734                 - (nm_serial_device_open): fail when config_fd() fails
5735
5736 2008-03-10  Dan Williams  <dcbw@redhat.com>
5737
5738         * src/nm-ip4-config.c
5739                 - (nm_ip4_config_init): allocate searches list
5740                 - (finalize): free searches list
5741
5742 2008-03-09  Dan Williams  <dcbw@redhat.com>
5743
5744         Patch from Bas Zoetekouw <bas@debian.org>
5745
5746         * src/dhcp-manager/nm-dhcp-manager.c
5747                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
5748
5749 2008-03-09  Dan Williams  <dcbw@redhat.com>
5750
5751         Patch from Bas Zoetekouw <bas@debian.org>
5752
5753         * src/nm-ip4-config.c
5754           src/nm-ip4-config.h
5755                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
5756                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
5757                         domains.  'searches' is the correct way to store multiple search
5758                         domains, whereas 'domains' is really just supposed to store one
5759                         domain.  Some sites abuse the DHCP 'domain-name' option to push
5760                         search domains to the client.
5761                 - (nm_ip4_config_add_domain): group with related functions (my patch)
5762
5763 2008-03-09  Dan Williams  <dcbw@redhat.com>
5764
5765         * src/dhcp-manager/nm-dhcp-manager.c
5766                 - (dhclient_run): send interface-specific config files to dhclient
5767
5768 2008-03-07  Dan Williams  <dcbw@redhat.com>
5769
5770         * system-settings/plugins/ifcfg-fedora/parser.c
5771                 - (is_wireless_device): new function; test a device for wireless
5772                         extensions
5773                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5774                         test the device for wireless extensions to determine the type
5775
5776 2008-03-07  Dan Williams  <dcbw@redhat.com>
5777
5778         Change manager's StateChange signal to StateChanged for consistency.
5779
5780         * introspection/nm-manager.xml
5781                 - Add 'StateChanged' signal
5782                 - Move 'StateChange' down to the deprecated section
5783
5784         * src/nm-hal-manager.c
5785                 - (nm_hal_manager_new): connect to 'state-changed' instead
5786
5787         * src/NetworkManagerPolicy.c
5788                 - (nm_policy_new): connect to 'state-changed' instead
5789
5790         * src/nm-manager.c
5791           src/nm-manager.h
5792                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5793                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5794                         of 'state-change'
5795
5796         * libnm-glib/nm-client.c
5797           libnm-glib/nm-client.h
5798                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5799                         track and proxy 'state-changed' instead of 'state-change'
5800
5801 2008-03-07  Dan Williams  <dcbw@redhat.com>
5802
5803         First pass of multiple active device support.  Expect bugs.
5804
5805         * src/nm-ip4-config.c
5806           src/nm-ip4-config.h
5807                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5808                         there are better ways to do this in the named manager
5809
5810         * src/nm-device.c
5811           src/nm-device.h
5812                 - (nm_device_can_activate): return whether the device can activate a
5813                         connection right now; taking into account things like carrier state
5814                         and rfkill state
5815                 - (nm_device_get_best_auto_connection): renamed from
5816                         nm_device_get_best_connection
5817                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5818                         device subclasses themselves, so that each device can override the
5819                         MTU from it's NMSetting subclass if needed
5820                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5821                         in NetworkManagerSystem.c, not here
5822
5823         * src/named-manager/nm-named-manager.c
5824           src/named-manager/nm-named-manager.h
5825                 - (nm_named_manager_name_owner_changed,
5826                    nm_named_manager_dbus_connection_changed): fix for changes to
5827                         rewrite_resolv_conf()
5828                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5829                         from parameter list
5830                 - (merge_one_ip4_config): new function; merge ip4 configs together
5831                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5832                         ip4 configs; the VPN config takes precedence, then the best
5833                         device config, then the rest of the configs
5834                 - (get_domain_for_config): take the NMNamedManager as an argument
5835                         to check whether the config is the VPN config
5836                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5837                         attribute from ip4 configs
5838                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5839                 - (remove_ip4_config_from_named): fix for changes to
5840                         get_domain_for_config()
5841                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5842                         based on its type; callers must pass in the type now
5843                 - (get_last_default_domain): remove, unused
5844                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5845
5846         * src/nm-device-802-11-wireless.c
5847                 - (real_can_activate): new function
5848                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5849                 - (real_act_stage4_get_ip4_config): handle MTU override
5850
5851         * src/nm-device-802-3-ethernet.c
5852                 - (real_can_activate): new function
5853                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5854                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5855
5856         * src/vpn-manager/nm-vpn-connection.c
5857                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5858                         attribute on the ip4 config
5859
5860         * src/NetworkManagerPolicy.c
5861                 - (nm_policy_auto_get_best_device): remove
5862                 - (nm_policy_device_change_check): remove
5863                 - (update_default_route): new function; set the default route via
5864                         the specified device
5865                 - (get_device_priority): new function; return the priority number of
5866                         a device type WRT which one should have the default route.  Order is
5867                         (highest to lowest)  wired, wireless, GSM, CDMA.
5868                 - (update_routing_and_dns): new function; determine which device should
5869                         have the default route, then update the routing table and DNS
5870                 - (maybe_auto_activate_device): new function; if a device is now
5871                         available for activation, find out what connection it would like to
5872                         activate and do it
5873                 - (schedule_activate_check): new function; if a device can be activated
5874                         now, schedule the activation.  Each device may have only one
5875                         pending activation at a given time.
5876                 - (device_state_changed): if activation was canceled, try again,
5877                         possibly with another connection; if the device was activated,
5878                         update routing and DNS; if the device was deactivated, try again
5879                         with another connection
5880                 - (device_carrier_changed): if there is no carrier, deactivate the
5881                         device; otherwise schedule an activation check for the device
5882                 - (wireless_networks_changed): schedule an activation check for the
5883                         device
5884                 - (device_added): keep track of the signal handler IDs so they can
5885                         be removed when the device goes away
5886                 - (device_removed): remove any signal handlers that might be attached
5887                         to the device; update routing and DNS
5888                 - (schedule_activate_all): new function
5889                 - (connections_added, connection_added, connection_updated): when
5890                         connections change, schedule all devices for an activation check
5891                 - (connection_removed): when a device is deactivated because its
5892                         connection was removed, schedule another activation check for it
5893                 - (nm_policy_destroy): destroy pending activations and disconnect
5894                         all device signal handlers
5895
5896         * src/nm-manager.c
5897                 - (nm_manager_activate_device): if the device was already actived,
5898                         deactivate it
5899                 - (deactivate_old_device): remove
5900                 - (connection_added_default_handler, impl_manager_activate_device):
5901                         don't deactivate other devices when activating this one
5902
5903         * src/backends/NetworkManagerGentoo.c
5904           src/backends/NetworkManagerFrugalware.c
5905           src/backends/NetworkManagerPaldo.c
5906           src/backends/NetworkManagerRedHat.c
5907           src/backends/NetworkManagerSlackware.c
5908           src/backends/NetworkManagerArch.c
5909           src/backends/NetworkManagerSuSE.c
5910           src/backends/NetworkManagerDebian.c
5911                 - (nm_system_get_mtu): remove; MTU should be provided through the
5912                         distro's system settings service plugin instead
5913                 - (nm_system_device_add_default_route_via_device): remove
5914                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5915                 - (nm_system_device_replace_default_route): new function; call
5916                         generic implementation
5917
5918         * src/backends/NetworkManagerGeneric.c
5919           src/backends/NetworkManagerGeneric.h
5920                 - (nm_generic_device_add_default_route_via_device,
5921                    nm_generic_device_add_default_route_via_device_with_iface): remove
5922                 - (nm_generic_device_replace_default_route): replace the default route
5923                         with the given route via some gateway
5924
5925         * src/NetworkManagerSystem.c
5926           src/NetworkManagerSystem.h
5927                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5928                         to routing and DNS; but set the MTU here
5929                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5930                         ip_iface of the active device; use the standard MTU setting function
5931                 - (nm_system_set_mtu): remove
5932                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5933
5934 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5935
5936         Rework the interaction between ppp manager and pppd plugin. Register a well
5937         known DBUS service in manager and let the plugin call it's methods instead
5938         of listening plugin's signals.
5939
5940         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5941         of emitting signals.
5942
5943         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5944
5945         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5946
5947         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5948         nm_ppp_manager_start().
5949
5950         * introspection/nm-ppp-manager.xml: New file.
5951
5952         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5953         the case correctly where driver is trying to send -1 for the speed, which gets
5954         casted to u16 and thus is always > 0.
5955
5956 2008-03-07  Dan Williams  <dcbw@redhat.com>
5957
5958         * src/nm-hal-manager.c
5959                 - (nm_get_device_driver_name): use net.originating_device first, fall
5960                         back to physical device.  HAL has deprecated physical_device.
5961
5962         * libnm-glib/nm-device.c
5963                 - (get_product_and_vendor): use net.originating_device first, fall
5964                         back to physical device.  HAL has deprecated physical_device.
5965                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
5966
5967 2008-03-07  Dan Williams  <dcbw@redhat.com>
5968
5969         * src/nm-netlink.c
5970                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
5971                         last commit; fix that
5972                 - (get_link_cache): print error string
5973
5974 2008-03-07  Dan Williams  <dcbw@redhat.com>
5975
5976         * src/nm-netlink.c
5977                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
5978                         don't need this hack any more (Benoit Boissinot)
5979
5980 2008-03-06  Dan Williams  <dcbw@redhat.com>
5981
5982         * autogen.sh
5983                 - Die gnome-common, die
5984
5985 2008-03-04  Dan Williams  <dcbw@redhat.com>
5986
5987         Patch from Michael Biebl <biebl@debian.org>
5988
5989         * NetworkManager.pc.in
5990                 - doesn't actually depend on dbus-1
5991
5992         * libnm-util/nm-utils.h
5993                 - remove unused #include <dbus/dbus.h>
5994
5995         * libnm-glib/libnm_glib.pc.in
5996                 - depends on glib and dbus-glib
5997
5998 2008-03-02  Dan Williams  <dcbw@redhat.com>
5999
6000         * src/NetworkManagerPolicy.c
6001                 - s/device_state_changed_idle_id/update_state_id/
6002
6003 2008-03-02  Dan Williams  <dcbw@redhat.com>
6004
6005         * src/nm-device.c
6006           src/nm-device.h
6007           src/nm-device-802-11-wireless.c
6008           src/nm-device-802-3-ethernet.c
6009           src/NetworkManagerPolicy.c
6010                 - s/link_active/carrier
6011                 - nm_device_set_active_link() -> nm_device_set_carrier()
6012                 - nm_device_has_active_link() -> nm_device_get_carrier()
6013
6014 2008-03-02  Dan Williams  <dcbw@redhat.com>
6015
6016         * system-settings/plugins/ifcfg-fedora/parser.c
6017                 - (make_wireless_setting): fail connection creation on missing SSID
6018
6019 2008-02-29  Dan Williams  <dcbw@redhat.com>
6020
6021         * src/NetworkManagerPolicy.c
6022                 - (nm_policy_device_change_check): ensure that a previously active
6023                         device with a system connection has a link before denying a switch
6024                         to a user connection
6025
6026 2008-02-29  Dan Williams  <dcbw@redhat.com>
6027
6028         * src/nm-device-802-11-wireless.c
6029                 - (link_timeout_cb): try again if scanning; deactivate the device when
6030                         activated if the link dies
6031                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
6032                         15 seconds
6033
6034 2008-02-29  Dan Williams  <dcbw@redhat.com>
6035
6036         * src/nm-device-802-11-wireless.c
6037           src/nm-device-802-11-wireless.h
6038                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
6039                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
6040                 - (device_cleanup): reset the scan interval lower when the device
6041                         deactivates
6042                 - (can_scan): base decision mostly off device state, not supplicant
6043                         interface state since the supplicant interface state isn't a
6044                         great indicator of whether the device is active or not
6045                 - (request_wireless_scan): clean up; schedule the next scan here
6046                 - (schedule_scan): only back the scan interval off if a new scan
6047                         actually gets scheduled; and make scan intervals tighter when the
6048                         device is disconnected
6049                 - (supplicant_iface_state_cb_handler): fold in the bits of
6050                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
6051                         interval to minimum
6052                 - (activation_success_handler): reset scan interval to something
6053                         reasonable 
6054
6055 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
6056
6057         reviewed by: Steev <steev@steev.net>
6058
6059         * configure.in:
6060         * src/backends/NetworkManagerGentoo.c:
6061         (nm_system_restart_mdns_responder):
6062                 Howl is no longer a supported mDNS provider
6063
6064 2008-02-28  Tambet Ingo  <tambet@gmail.com>
6065
6066         Get rid of a bunch of unused distro specific functions.
6067
6068 2008-02-28  Tambet Ingo  <tambet@gmail.com>
6069
6070         Implement suse plugin for system settings daemon.
6071
6072         * system-settings/plugins/ifcfg-suse/*: Implement.
6073
6074         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
6075         suse.
6076
6077         * configure.in: Check (without failing) for gio.
6078         Create ifcfg-suse plugin's Makefile.
6079
6080 2008-02-20  Dan Williams  <dcbw@redhat.com>
6081
6082         * libnm-util/nm-connection.c
6083           libnm-util/nm-connection.h
6084                 - (nm_connection_compare): accept compare flags and pass them to the
6085                         setting compare function
6086
6087         * libnm-util/nm-setting.c
6088           libnm-util/nm-setting.h
6089                 - (nm_setting_compare): accept compare flags; ignore properties that are
6090                         marked fuzzy
6091
6092         * libnm-util/nm-setting-connection.c
6093           libnm-util/nm-setting-wireless.c
6094           libnm-util/nm-setting-ppp.c
6095           libnm-util/nm-setting-wired.c
6096                 - Mark some setting properties as ignorable when doing a fuzzy compare
6097
6098         * src/nm-device.c
6099                 - (device_activation_precheck): use exact compare
6100
6101 2008-02-20  Dan Williams  <dcbw@redhat.com>
6102
6103         * src/NetworkManagerPolicy.c
6104                 - (nm_policy_device_change_check): get scope off the connection, not
6105                         using the manager helper
6106
6107         * src/nm-manager.c
6108           src/nm-manager.h
6109                 - (get_scope_for_proxy): rename from get_type_for_proxy()
6110                 - (connection_get_settings_cb): set scope and path on connection, not
6111                         using GObject data items
6112                 - (get_connection_for_proxy): don't need to return path, since that
6113                         can be gotten from the connection
6114                 - (get_connection_for_proxy): get path off the connection, not from
6115                         parameters
6116                 - (connection_removed_cb, connection_updated_cb): don't need to get
6117                         path from get_connection_for_proxy(); get scope off the connection
6118                         instead of using GObject data items
6119                 - (connection_added_default_handler, add_one_connection_element): use
6120                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
6121                 - (nm_manager_get_connection_dbus_path): remove
6122                 - (nm_manager_get_connection_scope): remove
6123
6124 2008-02-20  Dan Williams  <dcbw@redhat.com>
6125
6126         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
6127                 on confusing names
6128
6129         * Add 'path' and 'scope' properties to NMConnection since both NM and the
6130                 applet were having to hack this in anyway.  Remove the 'path' stuff from
6131                 NMExportedConnection
6132
6133         * Internally rename NMConnectionType -> NMConnectionScope
6134
6135         * Provide default implementations of the 'get_id' and 'get_settings' methods
6136                 of NMExportedConnection
6137
6138 2008-02-15  Dan Williams  <dcbw@redhat.com>
6139
6140         * src/nm-device-802-11-wireless.c
6141                 - (device_cleanup): release the AP list here too so that the AP list
6142                         doesn't survive across suspend/resume and up/down.  There is some
6143                         room for optimization, for example blow the list away when the card
6144                         brought back up, but only if the device has only been down for a
6145                         minute or more.
6146
6147 2008-02-15  Dan Williams  <dcbw@redhat.com>
6148
6149         * src/nm-hal-manager.c
6150                 - (modem_device_creator): recognize new HAL modem capabilities
6151
6152 2008-02-12  Dan Williams  <dcbw@redhat.com>
6153
6154         * system-settings/plugins/ifcfg-fedora/plugin.c
6155                 - (watch_path): handle IN_DELETE_SELF too
6156                 - (handle_connection_changed): notify when removing a connection
6157                 - (stuff_changed): don't warn on unknown inotify watches; handle the
6158                         case of a file moving out of the profile directory
6159
6160 2008-02-12  Dan Williams  <dcbw@redhat.com>
6161
6162         * system-settings/plugins/ifcfg-fedora/parser.c
6163                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
6164
6165 2008-02-12  Dan Williams  <dcbw@redhat.com>
6166
6167         * libnm-util/nm-utils.c
6168                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
6169                         just any empty array
6170
6171 2008-02-12  Dan Williams  <dcbw@redhat.com>
6172
6173         * system-settings/src/nm-system-config-interface.c
6174           system-settings/src/nm-system-config-interface.h
6175                 - (load_connections): get_connections() should now return an allocated
6176                         GSList that the system settings service will free
6177
6178         * system-settings/plugins/ifcfg-fedora/plugin.c
6179           system-settings/plugins/ifcfg-fedora/parser.h
6180           system-settings/plugins/ifcfg-fedora/parser.c
6181                 - Fix up inotify issues; handle keys-* files, handle new files appearing
6182                         in the profile directory, handle resolv.conf file changes
6183
6184 2008-02-10  Dan Williams  <dcbw@redhat.com>
6185
6186         * src/nm-device-802-3-ethernet.c
6187                 - (real_bring_up): save the supplicant interface state signal id
6188                 - (real_bring_down): disconnect from the supplicant interface state
6189                         signal
6190
6191 2008-02-07  Dan Williams  <dcbw@redhat.com>
6192
6193         * initscript/RedHat/NetworkManager.in
6194           initscript/RedHat/NetworkManagerDispatcher.in
6195                 - Add new-style LSB init headers
6196
6197 2008-02-07  Dan Williams  <dcbw@redhat.com>
6198
6199         * system-settings/src/dbus-settings.c
6200           system-settings/src/dbus-settings.h
6201                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
6202                         table of secrets
6203                 - (connection_settings_get_secrets): consolidate error returns into
6204                         one place; use the new get_secrets() plugin interface function to
6205                         get secrets from the plugin itself rather than using GObject data
6206                         magic
6207
6208         * system-settings/src/main.c
6209                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
6210                    load_connections): keep a private list of the plugin-returned
6211                         connections, don't use the plugin's GSList
6212
6213         * system-settings/plugins/ifcfg-fedora/plugin.c
6214                 - (watch_path): watch the path, not the filename (duh)
6215                 - (reload_all_connections): use the direct hash/equal functions; the
6216                         ones for int aren't appropriate here
6217                 - (get_secrets, system_config_interface_init): implement the
6218                         get_secrets() function
6219                 - (build_one_connection, find_connection_by_path): ifcfg file path is
6220                         now in the connection's ConnectionData instead of being a GObject
6221                         data property
6222                 - (handle_profile_item_changed): ifcfg file path is now in the
6223                         connection's ConnectionData instead of being a GObject data property;
6224                         be sure to copy secrets over from the new connection to the existing
6225                         connection when updating the connection's settings
6226                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
6227                         file descriptor
6228
6229         * system-settings/plugins/ifcfg-fedora/parser.c
6230           system-settings/plugins/ifcfg-fedora/parser.h
6231                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
6232                    connection_data_copy_secrets, connection_data_free,
6233                    connection_data_add): new functions; connection data manipulation
6234                 - (make_wireless_security_setting): stuff secrets into the
6235                         connection data, not as GObject data items; make sure to close
6236                         the keys ifcfg file
6237                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
6238                         connection data to the connection
6239
6240 2008-02-07  Dan Williams  <dcbw@redhat.com>
6241
6242         * system-settings/src/nm-system-config-interface.c
6243           system-settings/src/nm-system-config-interface.h
6244                 - Add a get_secrets() interface function to retrieve secrets for a
6245                         specific setting of a specific connection.  Document the interface
6246                         a bit more too.
6247
6248 2008-02-07  Dan Williams  <dcbw@redhat.com>
6249
6250         * src/nm-device-802-11-wireless.c
6251                 - (handle_auth_or_fail): new function; consolidate device activation
6252                         failure check after a certain number of failures getting secrets
6253                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
6254                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
6255                         the connection if secrets were requested more than a few times
6256                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
6257                         tries here; otherwise they are cleared before the IP configure
6258                         timeout, which happens with open system WEP when key is wrong
6259                 - (activation_success_handler): clear wireless secrets tries here too
6260
6261 2008-02-07  Dan Williams  <dcbw@redhat.com>
6262
6263         * src/NetworkManagerPolicy.c
6264                 - (connection_updated): clear invalid tag when connection gets updated
6265                         to allow that connection to be tried again
6266                 - (nm_policy_new): save signal ids so they can be disconnected when
6267                         the policy is destroyed
6268                 - (nm_policy_destroy): stop any in-progress state change idle handler,
6269                         and disconnect all signals from the manager object so that none
6270                         of the policy functions gets called after the policy is destroyed
6271
6272 2008-02-06  Dan Williams  <dcbw@redhat.com>
6273
6274         * src/nm-manager.c
6275                 - (finalize): remove devices a bit earlier; clean up system settings
6276                         poke
6277                 - (nm_manager_name_owner_changed): clean up system settings poke when
6278                         the service appears, and try to restart it if it fails
6279                 - (poke_system_settings_daemon_cb): try to get the system settings
6280                         service started through D-Bus service activation
6281                 - (initial_get_connections): start the system settings daemon if it's
6282                         not already running
6283
6284 2008-02-05  Dan Williams  <dcbw@redhat.com>
6285
6286         * src/supplicant-manager/nm-supplicant-config.c
6287                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
6288                         broadcast networks too
6289
6290 2008-02-04  Dan Williams  <dcbw@redhat.com>
6291
6292         * system-settings/plugins/ifcfg-fedora/parser.c
6293                 - (make_wireless_security_setting): fix spelling; unencrypted networks
6294                         need key_mgmt set too
6295                 - (parser_parse_file): validate ifcfg file name and don't try to parse
6296                         .bak files; ensure that an error is set whenever NULL gets returned
6297
6298 2008-02-04  Dan Williams  <dcbw@redhat.com>
6299
6300         * system-settings/src/Makefile.am
6301                 - Install D-Bus service activation file for the system settings
6302                         service
6303
6304         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
6305                 - D-Bus service activation file for system settings service
6306
6307 2008-02-04  Dan Williams  <dcbw@redhat.com>
6308
6309         * system-settings/src/main.c
6310                 - (parse_config_file): parse a config file
6311                 - (main): accept --config option and read plugins from config file
6312
6313 2008-02-04  Dan Williams  <dcbw@redhat.com>
6314
6315         * system-settings/plugins/ifcfg-fedora/plugin.c
6316                 - Change reported name to 'ifcfg-fedora'
6317                 - Use IFCFG_PLUGIN_NAME
6318
6319         * system-settings/plugins/ifcfg-fedora/plugin.c
6320                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
6321
6322 2008-02-04  Dan Williams  <dcbw@redhat.com>
6323
6324         * system-settings/plugins/ifcfg-fedora/parser.c
6325                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
6326                 - (make_connection_setting): use get_ifcfg_name()
6327                 - (make_wireless_security_setting): handle shadow key files
6328                 - (get_one_wep_key): treat empty string as NULL
6329
6330 2008-02-04  Dan Williams  <dcbw@redhat.com>
6331
6332         * src/supplicant-manager/nm-supplicant-manager.c
6333                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
6334                         glib automatically reschedule
6335                 - (nm_supplicant_manager_init): immediately try to start the supplicant
6336                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
6337                         the supplicant
6338
6339 2008-02-01  Dan Williams  <dcbw@redhat.com>
6340
6341         * src/NetworkManagerPolicy.c
6342                 - (device_state_changed): schedule a change check when a device gets
6343                         deactivated so something happens if you disconnect GSM/CDMA
6344
6345 2008-01-31  Dan Williams  <dcbw@redhat.com>
6346
6347         * src/nm-device-802-11-wireless.h
6348           src/nm-device-802-11-wireless.c
6349                 - (ap_list_get_ap_by_ssid, is_associated,
6350                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
6351                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
6352                 - (nm_device_802_11_wireless_get_activation_ap): collapse
6353                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
6354                         function
6355
6356 2008-01-30  Dan Williams  <dcbw@redhat.com>
6357
6358         * system-settings/plugins/ifcfg
6359         * system-settings/plugins/ifcfg-fedora
6360                 - Move the ifcfg plugin to ifcfg-fedora
6361
6362 2008-01-24  Dan Williams  <dcbw@redhat.com>
6363
6364         * libnm-glib/nm-device-802-11-wireless.c
6365                 - (get_access_point): move the "/" check here; check for invalid path
6366                         too
6367                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
6368                         to get_access_point()
6369                 - (access_point_added_proxy, access_point_removed_proxy): don't try
6370                         to send signals for non-existent access points
6371
6372 2008-01-24  Dan Williams  <dcbw@redhat.com>
6373
6374         * libnm-glib/nm-device-802-11-wireless.c
6375                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
6376
6377 2008-01-23  Dan Williams  <dcbw@redhat.com>
6378
6379         * libnm-glib/libnm_glib.c
6380                 - (libnm_glib_init): make thread joinable
6381                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
6382
6383 2008-01-23  Dan Williams  <dcbw@redhat.com>
6384
6385         * test/libnm_glib_test.c
6386                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
6387                 - (main): set up signal handlers; call libnm_glib_shutdown
6388
6389 2008-01-21  Dan Williams  <dcbw@redhat.com>
6390
6391         * include/NetworkManager.h
6392                 - Add CDMA mobile broadband card device type
6393
6394         * src/nm-hal-manager.c
6395                 - (modem_device_creator): handle both CDMA and GSM modems; the device
6396                         must now be tagged with 'cdma' or 'gsm' capability
6397
6398         * src/nm-cdma-device.c
6399           src/nm-cdma-device.h
6400           src/Makefile.am
6401                 - Add the CDMA mobile broadband card device class
6402
6403         * libnm-util/nm-connection.c
6404                 - (register_default_settings): add NMSettingCdma
6405
6406         * libnm-util/nm-setting-cdma.c
6407           libnm-util/nm-setting-cdma.h
6408           libnm-util/Makefile.am
6409                 - Add the CDMA mobile broadband card setting class
6410
6411         * libnm-glib/nm-cdma-device.c
6412           libnm-glib/nm-cdma-device.h
6413           libnm-glib/Makefile.am
6414                 - Add the CDMA mobile broadband card GLib proxy class
6415
6416         * libnm-glib/nm-client.c
6417                 - (get_device): handle CDMA devices too
6418
6419 2008-01-21  Dan Williams  <dcbw@redhat.com>
6420
6421         * src/ppp-manager/nm-ppp-manager.c
6422                 - (ip4_config_get): set peer address too
6423
6424         * src/ppp-manager/nm-pppd-plugin.c
6425                 - (nm_ip_up): try harder to get the peer's address
6426
6427         * src/NetworkManagerSystem.c
6428                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
6429                         address, use that too.  Otherwise, some PPP connections won't work.
6430
6431 2008-01-19  Dan Williams  <dcbw@redhat.com>
6432
6433         * src/NetworkManagerPolicy.c
6434                 - (nm_policy_device_change_check): system connections override user
6435                         connections; don't activate a user connection if there's a currently
6436                         active system connection, and new, better system connections always
6437                         interrupt user connections
6438
6439 2008-01-19  Dan Williams  <dcbw@redhat.com>
6440
6441         * src/nm-manager.h
6442                 - (nm_manager_get_connection_type): new function
6443
6444 2008-01-19  Dan Williams  <dcbw@redhat.com>
6445
6446         * src/nm-device-802-11-wireless.c
6447                 - (real_get_best_connection): collapse find_best_connection() into this
6448                         function
6449
6450 2008-01-19  Dan Williams  <dcbw@redhat.com>
6451
6452         * src/nm-device-802-3-ethernet.c
6453                 - (real_get_best_connection): collapse find_best_connection() into this
6454                         function
6455
6456 2008-01-18  Dan Williams  <dcbw@redhat.com>
6457
6458         * src/nm-device-802-3-ethernet.c
6459                 - (find_best_connection): check MAC address too
6460                 - (real_get_best_connection): let autoconnect=True connections activate
6461                         for devices that don't have carrier detection
6462
6463         * src/nm-device-802-11-wireless.c
6464                 - (find_best_connection): check MAC address too
6465
6466 2008-01-18  Dan Williams  <dcbw@redhat.com>
6467
6468         * system-settings/plugins/ifcfg/parser.c
6469                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
6470
6471 2008-01-17  Dan Williams  <dcbw@redhat.com>
6472
6473         * src/nm-device-802-3-ethernet.c
6474                 - (nm_device_802_3_ethernet_carrier_on,
6475                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
6476                         carrier events that might come in for devices that don't support
6477                         carrier detect
6478
6479 2008-01-17  Dan Williams  <dcbw@redhat.com>
6480
6481         * src/nm-device-interface.c
6482                 - (nm_device_interface_check_connection_conflicts): need to actually
6483                         get the interface, not cast to the object
6484
6485         * src/nm-device.c
6486                 - (nm_device_check_connection_conflicts): need to get the device class,
6487                         not cast the device to the device class
6488
6489 2008-01-17  Dan Williams  <dcbw@redhat.com>
6490
6491         * src/nm-device-802-11-wireless.c
6492                 - (real_check_connection_conflicts): ignore connections that aren't
6493                         wireless connections
6494
6495 2008-01-17  Dan Williams  <dcbw@redhat.com>
6496
6497         * src/NetworkManagerPolicy.c
6498                 - (nm_policy_device_change_check): clear change check idle here
6499                 - (device_change_check_done): remove
6500                 - (schedule_change_check): simplify
6501
6502 2008-01-17  Dan Williams  <dcbw@redhat.com>
6503
6504         * src/nm-manager.c
6505                 - (check_connection_allowed): take an NMDeviceInterface instead of
6506                         an NMDevice object as an argument
6507                 - (nm_manager_activate_device): pass an NMDeviceInterface to
6508                         check_connection_allowed()
6509
6510 2008-01-13  Dan Williams  <dcbw@redhat.com>
6511
6512         * libnm-glib/nm-device-802-11-wireless.c
6513                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
6514
6515 2008-01-12  Dan Williams  <dcbw@redhat.com>
6516
6517         * src/nm-device-802-11-wireless.c
6518                 - (activation_success_handler): if a match was found in the scan list
6519                         and that match is a hidden AP, update that AP's SSID
6520
6521 2008-01-11  Dan Williams  <dcbw@redhat.com>
6522
6523         * src/NetworkManagerAP.c
6524                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
6525
6526         * src/nm-device-802-11-wireless.c
6527                 - (get_active_ap): do two passes over the scan list if the caller
6528                         requests that hidden APs get matched too; during the second pass
6529                         when matching hidden APs, ignore the SSID since hidden APs in the
6530                         scan list don't have an SSID yet
6531                 - (periodic_update): move some checks to
6532                         nm_device_802_11_periodic_update() because not all callers need them
6533                 - (nm_device_802_11_periodic_update): move some checks here from
6534                         perodic_update()
6535                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
6536                         matching on incoming scan results, because the fake AP's flags
6537                         might be slightly different (yet still compatible) with the incoming
6538                         scan result's flags and they might actually be the same AP; update
6539                         the rate on merged APs too
6540                 - (activation_success_handler): update the frequency of the fake AP
6541                         on successful connection; match hidden APs too since if the
6542                         current AP is fake, there might already be a scan result in the
6543                         scan list for the desired AP, just without it's SSID filled in yet
6544
6545 2008-01-10  Dan Williams  <dcbw@redhat.com>
6546
6547         * src/NetworkManagerAP.c
6548                 - (foreach_property_cb): catch more hidden SSID formats
6549
6550 2008-01-10  Dan Williams  <dcbw@redhat.com>
6551
6552         Fix gnome.org #464215.  Requires the kernel patch titled
6553         "Introduce WEXT scan capabilities" but will handle the patch not being
6554         present, you'll just continue to have problems with hidden SSIDs when
6555         using mac80211-based drivers.
6556
6557         * src/supplicant-manager/nm-supplicant-config.h
6558           src/supplicant-manager/nm-supplicant-config.c
6559                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
6560                         whether the driver supports SSID scans or not.  If it does, and if
6561                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
6562
6563         * src/nm-device-802-11-wireless.c
6564                 - (constructor): check whether or not the driver supports SSID scans
6565                 - (build_supplicant_config): pass driver SSID scan capability when
6566                         building the wireless bits of the supplicant config
6567
6568 2008-01-09  Dan Williams  <dcbw@redhat.com>
6569
6570         * src/nm-device.c
6571           src/nm-device.h
6572                 - (device_activation_precheck, check_connection_complete): remove this
6573                         virtual function; incomplete connections should be invalid by
6574                         definition, complete-ness should be checked in the setting's
6575                         verify function
6576
6577         * src/nm-serial-device.c
6578           src/nm-gsm-device.c
6579                 - (real_check_connection_complete): remove
6580
6581         * libnm-util/nm-setting-serial.c
6582                 - (verify): new function; ensure there is a PPP setting too
6583
6584         * libnm-util/nm-setting-gsm.c
6585                 - (verify): ensure there is a serial setting too
6586
6587 2008-01-06  Dan Williams  <dcbw@redhat.com>
6588
6589         * src/dhcp-manager/nm-dhcp-manager.c
6590                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
6591                         (gnome.org #332953)
6592
6593 2008-01-04  Dan Williams  <dcbw@redhat.com>
6594
6595         * src/named-manager/nm-named-manager.c
6596                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
6597                         nameservers if the secondary config doesn't have any
6598                         (gnome.org #346833)
6599
6600 2008-01-02  Tambet Ingo  <tambet@gmail.com>
6601
6602         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
6603         with G_PARAM_CONSTRUCT so that they get the default values.
6604
6605         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
6606         the monitoring device and prints out the output for now. Or more precicely, doesn't
6607         do absolutely anything right now since the montoring device argument is never set.
6608
6609         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
6610         requires it's own knob to turn it on.
6611         (config_fd): Add NMSettingSerial to the arguments list.
6612         (nm_serial_device_open): Ditto.
6613         (get_reply_got_data): Ignore the terminators at the beginning of the output.
6614         (nm_serial_device_get_io_channel): Implement.
6615
6616         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
6617         a new reference every time (and forgetting to release it sometimes) is a pain and
6618         it's not like NMManager could work without dbus.
6619         (nm_manager_add_device): Register the added device on dbus here.
6620
6621         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
6622         device.
6623
6624         * src/nm-device.c (constructor): Don't export the device here, instead export
6625         it when it's added to the NMManager's device list.
6626
6627 2007-12-31  Dan Williams  <dcbw@redhat.com>
6628
6629         * src/nm-device-interface.c
6630           src/nm-device-interface.h
6631                 - (nm_device_interface_check_connection_conflicts): new function
6632
6633         * src/nm-device.c
6634           src/nm-device.h
6635                 - (nm_device_check_connection_conflicts): new function
6636                 - (device_activation_precheck): don't require subclasses to implement
6637                         check_connection_complete()
6638                 - check_connection() -> check_connection_complete()
6639
6640         * src/nm-device-802-11-wireless.c
6641                 - (real_check_connection): remove; unused
6642                 - (real_check_connection_conflicts): implement, handle lockdown for
6643                         system connections
6644
6645         * src/nm-device-802-3-ethernet.c
6646                 - (real_check_connection): remove; unused
6647
6648         * src/nm-manager.c
6649                 - (check_connection_allowed): new function
6650                 - (nm_manager_activate_device): ensure the connection being requested
6651                         is allowed to be activated
6652
6653         * src/nm-serial-device.c
6654           src/nm-gsm-device.c
6655                 - real_check_connection() -> real_check_connection_complete()
6656
6657 2007-12-27  Dan Williams  <dcbw@redhat.com>
6658
6659         * src/nm-device-interface.c
6660           src/nm-device-interface.h
6661                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
6662                         normalize and expand errors
6663                 - (nm_device_interface_init): register errors so they can be marshalled
6664                         through dbus-glib
6665                 - (nm_device_interface_activate): ensure that failure of activation
6666                         returns an error
6667
6668         * src/nm-device.c
6669           src/nm-device.h
6670                 - (device_activation_precheck): implementations of check_connection()
6671                         now take a GError and must fill it in if the check fails.  Return
6672                         more descriptive error if the requested connection is already
6673                         activating
6674                 - (nm_device_activate): actually try to return descriptive errors on
6675                         failures
6676
6677         * src/nm-device-802-11-wireless.c
6678           src/nm-device-802-3-ethernet.c
6679           src/nm-serial-device.c
6680           src/nm-gsm-device.c
6681                 - (real_check_connection): return more descriptive errors on failure
6682
6683         * src/NetworkManagerPolicy.c
6684                 - (nm_policy_device_change_check): print activation errors in the logs
6685
6686         * src/nm-manager.c
6687                 - (nm_manager_error_quark, nm_manager_error_get_type,
6688                    nm_manager_class_init): new errors
6689                 - (nm_manager_activate_device): handle errors
6690                 - (nm_manager_error_new): removed
6691                 - (wait_for_connection_expired, connection_added_default_handler,
6692                    impl_manager_activate_device): better error handling
6693
6694 2007-12-27  Dan Williams  <dcbw@redhat.com>
6695
6696         Fixes gnome.org #466954
6697
6698         * src/supplicant-manager/nm-supplicant-settings-verify.c
6699                 - Allow 'frequency' network property
6700
6701         * src/supplicant-manager/nm-supplicant-config.c
6702           src/supplicant-manager/nm-supplicant-config.h
6703                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
6704                         for callers to specify the frequency an Ad-Hoc network should operate
6705                         on.  Some drivers require this to successfully create an Ad-Hoc
6706                         network.
6707
6708         * src/nm-device-802-11-wireless.c
6709                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
6710                         guint32 value in MHz
6711                 - (constructor, nm_device_802_11_wireless_get_frequency): use
6712                         iw_freq_to_uint32()
6713                 - (find_supported_frequency): new function; find a free supported
6714                         frequency for a user-created Ad-Hoc network
6715                 - (build_supplicant_config): if no frequency was specified for a user-
6716                         created Ad-Hoc network, find a free one to use
6717                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
6718                         a specific object as user-created
6719
6720 2007-12-27  Dan Williams  <dcbw@redhat.com>
6721
6722         * libnm-util/nm-utils.c
6723           libnm-util/nm-utils.h
6724                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
6725                         for adhoc networks
6726
6727 2007-12-24  Dan Williams  <dcbw@redhat.com>
6728
6729         * libnm-util/nm-setting-wireless.c
6730                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
6731                         185, 187, 188, 192, and 196
6732
6733 2007-12-24  Dan Williams  <dcbw@redhat.com>
6734
6735         * src/nm-device-802-11-wireless.c
6736                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
6737                         a channel # instead of a frequency
6738
6739 2007-12-24  Dan Williams  <dcbw@redhat.com>
6740
6741         * src/NetworkManagerAP.c
6742           src/NetworkManagerAP.h
6743                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
6744                 - (freq_to_channel): handle split band tables
6745                 - (channel_to_freq): handle split band tables, take a band argument
6746
6747 2007-12-24  Dan Williams  <dcbw@redhat.com>
6748
6749         * libnm-util/nm-setting-connection.h
6750           libnm-util/nm-setting-connection.c
6751                 - Add 'lockdown' member
6752
6753 2007-12-22  Dan Williams  <dcbw@redhat.com>
6754
6755         * libnm-util/nm-setting-wireless.c
6756                 - (nm_setting_wireless_class_init): add missing 'rate' property
6757                         specification
6758
6759 2007-12-18  Dan Williams  <dcbw@redhat.com>
6760
6761         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
6762
6763         * src/nm-netlink-monitor.c
6764           src/nm-netlink-monitor.h
6765                 - Remove handrolled netlink, use libnl instead
6766
6767         * src/nm-device-802-3-ethernet.c
6768                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6769                    nm_device_802_3_ethernet_carrier_on): use new names
6770
6771 2007-12-17  Dan Williams  <dcbw@redhat.com>
6772
6773         * configure.in
6774                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6775                         and fixes memory leaks)
6776
6777         * src/nm-netlink.c
6778                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6779                         automatically handle the netlink PID
6780
6781 2007-12-17  Dan Williams  <dcbw@redhat.com>
6782
6783         Patch from Michael Biebl <biebl@debian.org>
6784
6785         * configure.in
6786           src/ppp-manager/Makefile.am
6787                 - fix up install dir of pppd plugin
6788                 - clean up configure.in a bit
6789
6790 2007-12-12  Dan Williams  <dcbw@redhat.com>
6791
6792         * system-settings/src/nm-system-settings.conf
6793                 - Allow non-root clients (like the applet) to read settings
6794
6795 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6796
6797         * Replace all occurences of 'UMTS' with 'GSM'.
6798
6799 2007-12-07  Dan Williams  <dcbw@redhat.com>
6800
6801         * src/nm-serial-device.c
6802                 - (real_is_up): serial devices are always "up"
6803
6804 2007-12-07  Dan Williams  <dcbw@redhat.com>
6805
6806         * src/nm-netlink.c
6807           src/NetworkManagerSystem.c
6808                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6809                         twice (gnome.org #491047)
6810                 - Make more robust against allocation-related failures should they occur
6811
6812 2007-12-07  Dan Williams  <dcbw@redhat.com>
6813
6814         Noticed by Christian Persch <chpe@gnome.org>
6815
6816         Always chain up to parent object in dispose and finalize handlers.
6817                 (gnome.org #433112)
6818
6819 2007-12-07  Dan Williams  <dcbw@redhat.com>
6820
6821         * src/nm-device-802-11-wireless.c
6822                 - Wrap #include of linux/mii.h to fix redefined structures due to
6823                         incorrect kernel headers (gnome.org #350061)
6824
6825 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6826
6827         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6828         before doing anything else.
6829         (init_modem): Move modem initialization here.
6830
6831         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6832         (nm_serial_device_flash): Implement.
6833
6834         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6835         changes signal is "StateChanged" and not "Status".
6836         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6837
6838 2007-12-06  Dan Williams  <dcbw@redhat.com>
6839
6840         * src/supplicant-manager/nm-supplicant-config.c
6841                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6842                         to only send some options when they make sense; also send phase2
6843                         option to the supplicant (possible fix for rh #399631)
6844
6845 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6846
6847         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6848         arguments: This whole file shouldn't really know anything about NMDevices, it
6849         should deal only with device interfaces. Devices might have different ifaces for
6850         different stuff and this place shouldn't know anything about it.
6851
6852         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6853         (global_state_changed): Implement. In the current NM it's not really important,
6854         but will be required in the case of multiple active devices. (Or even better,
6855         if stuff like that gets moved out from NM).
6856
6857         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6858         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6859         instead.
6860
6861         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6862         devices like serial devices (ttyS0 and ppp0 for example).
6863         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6864         set.
6865         (nm_device_set_ip_iface): Implement.
6866         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6867         after setting ip4_config from here ...
6868         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6869         than this function should call nm_system_device_set_from_ip4_config() because no
6870         other code has enough information on which arguments to use. So instead, other code
6871         could just set the new ip4 config using this function and everyone is happy.
6872
6873         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6874         if we happen to get deactivated while something is pending.
6875         (automatic_registration): Handle the response that indicates pending network
6876         registration and wait until the pending registration is done.
6877         (real_deactivate_quickly): If there's a pending operation, cancel it.
6878
6879         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6880         (real_deactivate_quickly): ... and remove it when it's down.
6881         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6882         it if needed.
6883         (nm_serial_device_wait_for_reply): Ditto.
6884
6885 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6886
6887         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6888         (get_network_done): Remove newline, nm_info() does it already.
6889         (real_act_stage1_prepare): Turn the modem echo off.
6890
6891         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6892         device, set the route to the device interface. This is a hack.
6893
6894         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6895         return, no need for a new-line.
6896         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6897         Change the device iface here (ugh).
6898         (real_act_stage4_get_ip4_config): Implement.
6899         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6900         Restore the device iface.
6901
6902         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6903         device is not wired or wireless (eg, automatically upped) device.
6904
6905         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6906         it isn't.
6907         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6908
6909         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6910         before calling it's is_device_fn().
6911
6912 2007-12-05  Dan Williams  <dcbw@redhat.com>
6913
6914         * libnm-util/nm-utils.c
6915                 - (nm_utils_register_value_transformations,
6916                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6917                         GHashTables of GValues too
6918
6919 2007-12-04  Dan Williams  <dcbw@redhat.com>
6920
6921         * initscript/RedHat/NetworkManager.in
6922                 - No longer start named; it's D-Bus interface is going away
6923
6924 2007-12-04  Dan Williams  <dcbw@redhat.com>
6925
6926         Patch from Michael Biebl <biebl@debian.org>
6927
6928         * system-settings/plugins/ifcfg/Makefile.am
6929           system-settings/src/main.c
6930           system-settings/src/Makefile.am
6931                 - Put system settings plugins in NM plugins dir
6932
6933         * src/ppp-manager/Makefile.am
6934           src/ppp-manager/nm-ppp-manager.c
6935                 - Move pppd plugin to NM plugins dir
6936
6937 2007-12-04  Dan Williams  <dcbw@redhat.com>
6938
6939         * libnm-util/nm-setting-vpn-properties.h
6940                 - Clarify usage of the 'data' member of the setting
6941
6942         * libnm-util/nm-setting-vpn-properties.c
6943                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6944                 - (set_property): just remove all the settings; don't recreate the has
6945                 - (update_one_secret): don't need to create the hash table here since
6946                         it should always be present
6947
6948 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6949
6950         Implement PIN and PUK requesting.
6951
6952         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6953         (enter_pin): Handle PIN and PUK requests.
6954         (real_act_stage1_prepare): Clear the secret type.
6955         (real_connection_secrets_updated): Implement this class method to get
6956         notified when new secrets arrive.
6957         (nm_umts_device_class_init): Add private data back to the umts device class
6958         to store the required secret type.
6959
6960 2007-12-01  Dan Williams  <dcbw@redhat.com>
6961
6962         * system-settings/plugins/ifcfg/parser.c
6963                 - (parser_parse_file): don't try to verify NULL connections
6964
6965 2007-12-01  Dan Williams  <dcbw@redhat.com>
6966
6967         * system-settings/src/main.c
6968                 - (load_connections, add_connection_to_settings): actually export
6969                         plugin-provided connections over D-Bus so NM can get them
6970
6971 2007-12-01  Dan Williams  <dcbw@redhat.com>
6972
6973         * system-settings/plugins/ifcfg/parser.c
6974           system-settings/plugins/ifcfg/parser.h
6975           system-settings/plugins/ifcfg/plugin.c
6976                 - Hook up more inotify bits (untested)
6977
6978 2007-11-29  Dan Williams  <dcbw@redhat.com>
6979
6980         * system-settings/src/nm-system-config-interface.h
6981           system-settings/src/nm-system-config-interface.c
6982                 - (nm_system_config_interface_init,
6983                    nm_system_config_interface_get_connections): add
6984
6985         * system-settings/src/main.c
6986                 - (load_plugins, load_connections, main): use a GSList for plugins
6987                         to ensure priority ordering
6988
6989         * system-settings/plugins/ifcfg/parser.c
6990                 - (ifcfg_error_quark): move to plugin.c, and rename
6991
6992         * system-settings/plugins/ifcfg/plugin.h
6993           system-settings/plugins/ifcfg/plugin.c
6994                 - (ifcfg_plugin_error_quark): move here from parser.c
6995                 - rework connection loading and initialization
6996                 - Add preliminary inotify support for network profile config file
6997
6998 2007-11-28  Tambet Ingo  <tambet@gmail.com>
6999
7000         Merge the beginnings of the new GSM card support.
7001
7002         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
7003         ppp watch source before killing pppd - If this happens from g_object_unref()
7004         then the ppp manager is already destroyed by the time the watch callback runs.
7005
7006         * src/nm-hal-manager.c: Add a device_type_name string to the device
7007         creators, so that we can print a nice human readable string when a
7008         device is added.
7009
7010         * src/nm-umts-device.c (automatic_registration_get_network): Query
7011         for the activated network, not much is done with the result thought.
7012
7013         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
7014         (ppp_ip4_config): Change the device state to activated here for now.
7015         (real_check_connection): Make sure the connection includes ppp setting.
7016
7017         * libnm-glib/nm-client.c (get_device): Handle umts devices.
7018
7019         * libnm-glib/Makefile.am: Add the new files to build.
7020
7021         * libnm-glib/nm-umts-device.c: 
7022         * libnm-glib/nm-umts-device.h: Implement.
7023
7024 2007-11-26  Tambet Ingo  <tambet@gmail.com>
7025
7026         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
7027         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
7028
7029         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
7030         the timeout source - this function is only called when the timeout source has
7031         been removed.
7032         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
7033         to be big enough to contain the terminating zero element as well.
7034         The timeout argument is meant to be in seconds now.
7035         (real_deactivate_quickly): Implement.
7036
7037         * src/NetworkManager.conf: Allow root to own 
7038         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
7039
7040         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
7041         (not unsigned ints).
7042
7043         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
7044         small issue with parity bounds - capital letters have lower ascii codes
7045         than lower case letters.
7046
7047         * libnm-util/nm-connection.c (register_default_settings): Register serial
7048         and umts settings.
7049
7050 2007-11-22  Tambet Ingo  <tambet@gmail.com>
7051
7052         Remove the "index" property from devices as not all device types have this.
7053
7054         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
7055
7056         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
7057         (wired_device_creator): Get the device interface from hal to create the device.
7058         (wireless_device_creator): Ditto.
7059
7060         * src/nm-device.c (nm_device_init): Remove the index member.
7061         (constructor): Remove the checks for index property, make interface property
7062         a require constructor property.
7063         Use the HAL udi for DBus path for devices.
7064         (nm_device_get_index): Remove.
7065         (set_property): Remove index handling.
7066         (get_property): Ditto.
7067         (nm_device_get_dbus_path): Remove.
7068
7069         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
7070         property.
7071
7072         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
7073         Access the device index through it's interface.
7074         (nm_device_802_3_ethernet_link_deactivated): Ditto.
7075         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
7076         index argument. Add interface argument.
7077
7078         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
7079         the useless test_dev argument. Remove index argument. Add interface arugment.
7080
7081         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
7082         device index through interface.
7083         (nm_system_set_mtu): Ditto.
7084
7085         * introspection/nm-device.xml: Remove the "Index" property.
7086
7087 2007-11-21  Tambet Ingo  <tambet@gmail.com>
7088
7089         * src/nm-serial-device.c: 
7090         * src/nm-serial-device.c: 
7091         * src/nm-umts-device.c:
7092         * src/nm-umts-device.h: Implement.
7093
7094         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
7095         allocated by libhal.
7096         (modem_device_creator): Implement.
7097         (register_built_in_creators): Register the modem creator.
7098
7099         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
7100         Remove the unused test_dev argument.
7101
7102         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
7103
7104         * src/Makefile.am: Add new files to build.
7105         Link in ppp-manager.
7106
7107         * libnm-util/nm-setting-umts.c: 
7108         * libnm-util/nm-setting-umts.h: 
7109         * libnm-util/nm-setting-serial.c: 
7110         * libnm-util/nm-setting-serial.h: Implement.
7111
7112         * libnm-util/Makefile.am: Add new files to build.
7113
7114 2007-11-28  Dan Williams  <dcbw@redhat.com>
7115
7116         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
7117
7118         Support DHCP-provided static routes.
7119
7120         * src/nm-ip4-config.h
7121           src/nm-ip4-config.c
7122                 - Add get/set functions for static routes
7123
7124         * src/dhcp-manager/nm-dhcp-manager.c
7125                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
7126                         DHCP response
7127
7128         * src/NetworkManagerSystem.c
7129                 - (nm_system_device_set_from_ip4_config): set any static routes on the
7130                         interface when applying the IP4Config
7131
7132 2007-11-28  Dan Williams  <dcbw@redhat.com>
7133
7134         * src/nm-device-802-11-wireless.c
7135                 - (real_act_stage1_prepare): mark APs created for hidden networks
7136                         as non-broadcasting
7137
7138 2007-11-27  Dan Williams  <dcbw@redhat.com>
7139
7140         * system-settings/src/nm-system-config-interface.h
7141                 - Note how to store secrets on NMSetting objects
7142
7143         * system-settings/src/dbus-settings.c
7144                 - (connection_settings_get_secrets): implement
7145
7146 2007-11-27  Dan Williams  <dcbw@redhat.com>
7147
7148         * system-settings/plugins/ifcfg/Makefile.am
7149           system-settings/plugins/ifcfg/parser.c
7150           system-settings/plugins/ifcfg/parser.h
7151           system-settings/plugins/ifcfg/plugin.c
7152                 - Parse wireless connections too
7153
7154         * system-settings/src/dbus-settings.c
7155           system-settings/src/dbus-settings.h
7156           system-settings/src/main.c
7157                 - Handle connection update/removal if the plugin supports it
7158
7159 2007-11-27  Dan Williams  <dcbw@redhat.com>
7160
7161         * src/nm-dbus-manager.h
7162           src/nm-hal-manager.c
7163                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
7164                         do it for them
7165
7166         * src/Makefile.am
7167           src/NetworkManagerDbusUtils.c
7168           src/NetworkManagerDbusUtils.h
7169                 - Remove these two source files; they are unused
7170
7171 2007-11-27  Dan Williams  <dcbw@redhat.com>
7172
7173         * src/vpn-manager/nm-vpn-manager.c
7174                 - (impl_vpn_manager_connect): fix system settings check (found by
7175                         James M. Leddy)
7176
7177 2007-11-26  Dan Williams  <dcbw@redhat.com>
7178
7179         * Fix warnings so everything compiles with --enable-more-warnings
7180
7181 2007-11-25  Dan Williams  <dcbw@redhat.com>
7182
7183         * system-settings/*
7184                 - Rework structure and code to use GModule-loaded plugins and a plugin
7185                         interface that plugins export to the system settings service
7186
7187 2007-11-21  Dan Williams  <dcbw@redhat.com>
7188
7189         * system-settings/*
7190                 - Add Soren's system settings service.  Needs work for distros other
7191                         than Fedora; the backends from NM should mostly migrate to here
7192                         and be converted to GObjects
7193
7194 2007-11-21  Dan Williams  <dcbw@redhat.com>
7195
7196         * libnm-util/nm-setting-vpn-properties.c
7197                 - (set_property): must deep-copy the given settings hash, otherwise
7198                         double-free errors occur when the setting is disposed of
7199
7200 2007-11-21  Dan Williams  <dcbw@redhat.com>
7201
7202         * src/vpn-manager/nm-vpn-act-request.h
7203           src/vpn-manager/nm-vpn-act-request.c
7204                 - Remove; unused
7205
7206 2007-11-20  Dan Williams  <dcbw@redhat.com>
7207
7208         * libnm-util/nm-utils.c
7209                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
7210                    nm_utils_convert_ip4_addr_struct_array_to_string,
7211                    nm_utils_register_value_transformations): print out the readable
7212                         values of more types of properties of NMSettings subclasses
7213
7214 2007-11-20  Dan Williams  <dcbw@redhat.com>
7215
7216         * libnm-util/nm-setting-ip4-config.c
7217                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
7218                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
7219                         marshal GValueArrays inside collections, so switch to types that it
7220                         can actually marshal/demarshal
7221
7222 2007-11-16  Dan Williams  <dcbw@redhat.com>
7223
7224         * libnm-util/nm-setting-wireless-security.c
7225                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
7226                         minimal verification of EAP methods too
7227                 - (verify): verify phase1 eap methods too
7228
7229 2007-11-15  Dan Williams  <dcbw@redhat.com>
7230
7231         * libnm-glib/nm-device.h
7232           libnm-glib/nm-device.c
7233                 - (nm_device_get_product, nm_device_get_vendor): should be returning
7234                         const char *
7235
7236 2007-11-15  Dan Williams  <dcbw@redhat.com>
7237
7238         * libnm-glib/nm-device.c
7239                 - (get_product_and_vendor): don't try to free things that should be
7240                         freed
7241
7242 2007-11-15  Dan Williams  <dcbw@redhat.com>
7243
7244         * src/NetworkManagerUtils.c
7245                 - (nm_ethernet_address_is_valid): unbreak previous fix
7246
7247 2007-11-15  Dan Williams  <dcbw@redhat.com>
7248
7249         * src/supplicant-manager/nm-supplicant-config.c
7250                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
7251                         options
7252
7253 2007-11-15  Dan Williams  <dcbw@redhat.com>
7254
7255         * src/NetworkManagerUtils.c
7256                 - (nm_ethernet_address_is_valid): fix style, clarify
7257                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
7258
7259         * src/nm-device-802-11-wireless.c
7260                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
7261                 - (nm_device_802_11_wireless_get_ssid,
7262                    nm_device_802_11_wireless_get_bssid,
7263                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
7264                         before calling the ioctl; fixes valgrind-reported jump depends on
7265                         uninitialized value errors
7266
7267 2007-11-15  Dan Williams  <dcbw@redhat.com>
7268
7269         * libnm-util/nm-setting.c
7270                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
7271                         unecessary to serialize 'name'
7272
7273         * src/nm-activation-request.c
7274                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
7275                         the GetSecrets call
7276
7277 2007-11-15  Dan Williams  <dcbw@redhat.com>
7278
7279         * libnm-util/nm-setting-connection.h
7280           libnm-util/nm-setting-connection.c
7281                 - Rename the 'name' property to 'id', because it conflicted with the
7282                         NMSetting superclass' 'name' property.
7283
7284         * libnm-util/nm-setting.c
7285                 - (nm_setting_to_hash): serialize the 'name' property
7286                 - (one_property_cb): ignore 'name' on deserialization of a connection
7287
7288         * src/nm-device-802-11-wireless.c
7289           src/vpn-manager/nm-vpn-connection.c
7290           src/NetworkManagerPolicy.c
7291                 - Fix up for NMSettingConnection 'name'->'id' changes
7292
7293 2007-11-13  Dan Williams  <dcbw@redhat.com>
7294
7295         * libnm-glib/nm-device-802-11-wireless.h
7296           libnm-glib/nm-device-802-11-wireless.c
7297                 - (nm_device_802_11_wireless_get_hw_address): return should be const
7298
7299         * test/nm-tool.c
7300           libnm-glib/libnm-glib-test.c
7301                 - Fixes for above change
7302
7303 2007-11-12  Dan Williams  <dcbw@redhat.com>
7304
7305         * src/supplicant-manager/nm-supplicant-settings-verify.c
7306                 - Allow fragment_size option
7307
7308         * src/supplicant-manager/nm-supplicant-settings-verify.c
7309                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
7310                         EAP fragment size than the default to help some TLS connections
7311
7312 2007-11-12  Dan Williams  <dcbw@redhat.com>
7313
7314         Make certs actually work.  The private key is now a secret, and should be
7315         decrypted when requested by NM.  The private key and phase2 private key
7316         passwords are no longer interesting to NM because they should be used by
7317         the settings service to decrypt the private key itself before passing it
7318         to NM, and hence have been removed as fields.
7319
7320         * libnm-util/nm-setting-wireless-security.h
7321           libnm-util/nm-setting-wireless-security.c
7322                 - Remove private-key-passwd and phase2-private-key-passwd from
7323                         properties
7324                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
7325                    need_secrets): use property #defines instead strings to keep things
7326                         consistent
7327                 - (need_secrets_tls): if a client certificate is present but no
7328                         private key, request the private key
7329                 - (set_property, get_property, nm_setting_wireless_security_class_init):
7330                         remove private key password stuff, mark private keys as secret
7331
7332         * src/supplicant-manager/nm-supplicant-settings-verify.c
7333                 - Remove private_key_passwd and private_key2_passwd from opt_table
7334
7335 2007-11-09  Dan Williams  <dcbw@redhat.com>
7336
7337         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
7338         Since the vpn-properties are managed and known by the VPN daemons themselves,
7339         libnm-util doesn't know what's secret and what's in the setting's 'data'
7340         member.
7341
7342         * libnm-util/nm-setting.h
7343           libnm-util/nm-setting.c
7344                 - Add the ability for subclasses to override update_one_secret
7345
7346         * libnm-util/nm-setting-vpn-properties.c
7347                 - Override update_one_secret and just copy the values into the
7348                         internal table
7349
7350 2007-11-09  Dan Williams  <dcbw@redhat.com>
7351
7352         * libnm-glib/nm-settings.h
7353           libnm-glib/nm-settings.c
7354                 - (nm_settings_new_error): remove
7355                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
7356                         clients should use g_set_error() with NM_SETTINGS_ERROR
7357
7358 2007-11-09  Dan Williams  <dcbw@redhat.com>
7359
7360         * src/supplicant-manager/nm-supplicant-config.c
7361                 - (nm_supplicant_config_add_setting_wireless_security): private key
7362                         passwords are never sent to wpa_supplicant, because the supplicant
7363                         should never be reading random files from the disk.  Clients like
7364                         the applet are required to decrypt the private keys and send NM
7365                         the decrypted blobs.
7366
7367 2007-11-08  Dan Williams  <dcbw@redhat.com>
7368
7369         * libnm-util/nm-setting-wireless-security.h
7370           libnm-util/nm-setting-wireless-security.c
7371                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
7372                         members to 802-11-wireless-security structure.  This should be used
7373                         to indicate that the values in private-key and phase2-private-key
7374                         are already decrypted by the user agent, and that no
7375                         private-key-passwd or phase2-private-key-passwd should be expected.
7376                         It is not meant to be a stored configuration value, but meant to
7377                         be set when the conneciton is sent to NM over dbus.
7378
7379 2007-11-08  Dan Williams  <dcbw@redhat.com>
7380
7381         * libnm-util/nm-connection.h
7382           libnm-util/nm-connection.c
7383                 - (nm_connection_need_secrets): add argument to return hints
7384
7385         * src/nm-device-802-11-wireless.c
7386                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7387                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
7388                         nm_connection_need_secrets() change
7389
7390 2007-11-07  Tambet Ingo  <tambet@gmail.com>
7391
7392         Rework NMSetting structures: Move each setting to it's own file.
7393         Convert to GObject. Remove home grown setting types and use GTypes.
7394         Use GObject property introspection for hash conversion, enumerating
7395         properties, etc.
7396
7397         * libnm-util/nm-setting-connection.[ch]
7398         * libnm-util/nm-setting-ip4-config.[ch]
7399         * libnm-util/nm-setting-ppp.[ch]
7400         * libnm-util/nm-setting-vpn.[ch]
7401         * libnm-util/nm-setting-vpn-properties.[ch]
7402         * libnm-util/nm-setting-wired.[ch]
7403         * libnm-util/nm-setting-wireless.[ch]
7404         * libnm-util/nm-setting-wireless-security.[ch]
7405
7406         New files, each containing a setting.
7407
7408         * libnm-util/nm-setting-template.[ch]: A template for creating new
7409         settings. To use it, just replace 'template' with the new setting
7410         name, and you're half-way done.
7411
7412         * libnm-util/nm-setting.c: Convert to GObject and use GObject
7413         introspection instead of internal types and tables.
7414
7415         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
7416
7417         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
7418         GValue types defined by dbus-glib for composed types like collections,
7419         structures and maps.
7420
7421         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
7422         a setting from connection takes the setting type now. Also, since
7423         the settings are in multiple files, include relevant settings.
7424
7425 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
7426
7427         * configure.in:
7428         * src/backends/NetworkManagerGentoo.c:
7429         (nm_system_restart_mdns_responder): Implement restarts for other mdns
7430         providers in Gentoo.
7431
7432 2007-10-31  Dan Williams  <dcbw@redhat.com>
7433
7434         * libnm-util/nm-connection.c
7435                 - (gvalue_to_string): handle UINT32 arrays
7436
7437 2007-10-31  Dan Williams  <dcbw@redhat.com>
7438
7439         * libnm-glib/nm-device.h
7440           libnm-glib/nm-device.c
7441                 - (nm_device_get_description): remove
7442                 - (nm_device_get_product, nm_device_get_vendor): add
7443                 - (nm_device_update_description): new function (private); walk HAL
7444                         devices to get product and vendor IDs for a specific device
7445
7446 2007-10-31  Dan Williams  <dcbw@redhat.com>
7447
7448         * src/nm-device-802-11-wireless.c
7449                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
7450
7451 2007-10-29  Dan Williams  <dcbw@redhat.com>
7452
7453         * src/nm-hal-manager.c
7454                 - (device_added, device_new_capability): ignore device additions while
7455                         asleep.  Fixes crash caused when NM goes to sleep, a network device
7456                         kernel module is unloaded and reloaded and recognized by NM again.
7457
7458 2007-10-26  Dan Williams  <dcbw@redhat.com>
7459
7460         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
7461
7462         * src/NetworkManagerAP.c
7463           src/NetworkManagerAP.h
7464           libnm-glib/nm-access-point.c
7465           libnm-glib/nm-access-point.h
7466                 - Make 'rate' property a guint32 to better match with WEXT and
7467                         wpa_supplicant and to allow representation of higher bitrates
7468
7469         * src/nm-device-802-11-wireless.c
7470           introspection/nm-device-802-11-wireless.xml
7471           libnm-glib/nm-device-802-11-wireless.c
7472           libnm-glib/nm-device-802-11-wireless.h
7473                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
7474
7475         * src/nm-device-802-3-ethernet.c
7476           src/nm-device-802-3-ethernet.h
7477           introspection/nm-device-802-3-ethernet.xml
7478           libnm-glib/nm-device-802-3-ethernet.c
7479           libnm-glib/nm-device-802-3-ethernet.h
7480                 - Make 'speed' property a guint32 to match other speed/rate types
7481                 - Make nm_device_802_3_ethernet_get_speed() static
7482
7483         * test/nm-tool.c
7484                 - Update for the changes above
7485
7486 2007-10-26  Dan Williams  <dcbw@redhat.com>
7487
7488         * src/named-manager/nm-named-manager.c
7489                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
7490                     not calling fclose() twice on some error conditions
7491
7492 2007-10-26  Dan Williams  <dcbw@redhat.com>
7493
7494         * src/nm-activation-request.c
7495                 - (dispose): clean up indentation; get the right DBusGProxy object to
7496                         cancel the GetSecrets pending call on.  Need to use the Secrets
7497                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
7498                         pending call doesn't get canceled, and pressing Cancel in the
7499                         applet's password dialog could cause get_secrets_cb() to be called
7500                         after the activation request has already been destroyed
7501
7502 2007-10-24  Dan Williams  <dcbw@redhat.com>
7503
7504         * src/supplicant-manager/nm-supplicant-config.c
7505                 - (nm_supplicant_config_add_blob): pass blob data and length for
7506                         verification
7507                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
7508
7509 2007-10-24  Dan Williams  <dcbw@redhat.com>
7510
7511         * src/supplicant-manager/nm-supplicant-settings-verify.c
7512                 - (opt_table): max length for certificates should be 65536
7513
7514 2007-10-24  Dan Williams  <dcbw@redhat.com>
7515
7516         * src/supplicant-manager/nm-supplicant-interface.c
7517                 - (blob_free): correctly free blob data after use
7518                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
7519
7520 2007-10-24  Dan Williams  <dcbw@redhat.com>
7521
7522         * libnm-util/nm-setting.c
7523                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
7524                         EAP method need secrets
7525
7526 2007-10-24  Dan Williams  <dcbw@redhat.com>
7527
7528         * src/backends/NetworkManagerRedHat.c
7529                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
7530
7531 2007-10-23  Dan Williams  <dcbw@redhat.com>
7532
7533         * libnm-util/nm-setting.c
7534           libnm-util/nm-setting.c
7535                 - (nm_setting_compare): implement
7536                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
7537                    compare_one_hash_gvalue): compare the contents of a setting
7538
7539         * libnm-util/nm-connection.c
7540                 - (nm_connection_compare): implement
7541
7542 2007-10-23  Dan Williams  <dcbw@redhat.com>
7543
7544         * src/nm-activation-request.c
7545                 - (get_secrets_cb): handle getting a setting back that is more than
7546                         just secrets (ie, user changed auth or EAP method or something)
7547
7548 2007-10-23  Dan Williams  <dcbw@redhat.com>
7549
7550         * libnm-util/nm-setting.c
7551           libnm-util/nm-setting.h
7552                 - (nm_setting_verify): new function; verify one setting
7553                 - (nm_settings_verify_all): rename from nm_settings_verify()
7554                 - (setting_connection_verify, setting_wireless_verify): allow NULL
7555                         all_settings
7556
7557         * libnm-util/nm-connection.c
7558                 - (nm_connection_replace_settings, nm_connection_verify,
7559                    nm_connection_new_from_hash): handle nm_settings_verify() rename
7560
7561 2007-10-23  Dan Williams  <dcbw@redhat.com>
7562
7563         * src/nm-device-802-11-wireless.c
7564                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
7565                         desired behavior
7566
7567 2007-10-23  Dan Williams  <dcbw@redhat.com>
7568
7569         * src/supplicant-manager/nm-supplicant-settings-verify.c
7570                 - eap_allowed, phase2_allowed: harmonize with allowed values from
7571                         nm-settings.c
7572
7573 2007-10-23  Dan Williams  <dcbw@redhat.com>
7574
7575         * src/nm-device-802-11-wireless.c
7576                 - (real_act_stage2_config): after the first association failure,
7577                         if the connection still needs secrets ask the user for them
7578                         explicitly.  After the fourth association failure due to bad
7579                         secrets, fail the connection entirely.  Handles the GetSecrets
7580                         loop that NM gets into when the provided secrets don't match up
7581                         with the connection details.
7582
7583 2007-10-23  Dan Williams  <dcbw@redhat.com>
7584
7585         * src/supplicant-manager/nm-supplicant-config.c
7586                 - (nm_supplicant_config_add_setting_wireless_security): only add
7587                         WPA-specific options when WPA is in use
7588
7589 2007-10-23  Dan Williams  <dcbw@redhat.com>
7590
7591         * src/supplicant-manager/nm-supplicant-config.c
7592                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
7593                         secret doesn't need to be unhexified
7594
7595 2007-10-23  Dan Williams  <dcbw@redhat.com>
7596
7597         * libnm-util/nm-setting.c
7598                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
7599                         before trying to do something with it
7600
7601 2007-10-23  Dan Williams  <dcbw@redhat.com>
7602
7603         * src/nm-device-802-11-wireless.c
7604                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
7605
7606 2007-10-23  Dan Williams  <dcbw@redhat.com>
7607
7608         * src/nm-device-802-11-wireless.c
7609                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
7610                         non-SSID-broadcasting APs
7611
7612 2007-10-23  Dan Williams  <dcbw@redhat.com>
7613
7614         * src/NetworkManagerAP.c
7615                 - (match_cipher, security_compatible): remove
7616                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
7617                         libnm-util instead
7618
7619 2007-10-23  Dan Williams  <dcbw@redhat.com>
7620
7621         * libnm-util/nm-utils.c
7622           libnm-util/nm-utils.h
7623                 - (nm_utils_ap_security_compatible): common function for checking
7624                         whether a specific AP is compatible with an NMConnection
7625
7626 2007-10-23  Dan Williams  <dcbw@redhat.com>
7627
7628         * libnm-util/nm-setting.c
7629                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
7630                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
7631                    need_secrets_password, setting_wireless_security_verify): fix
7632                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
7633                         secrets logic for each supported EAP method
7634
7635 2007-10-23  Dan Williams  <dcbw@redhat.com>
7636
7637         * src/supplicant-manager/nm-supplicant-config.c
7638                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
7639                         config option name, should be "private_key2_passwd"
7640
7641 2007-10-22  Tambet Ingo  <tambet@gmail.com>
7642
7643         Implement support for static IP addresses, additional/overridden DNS and
7644         DNS domain search lists.
7645
7646         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
7647         (ip4_addresses_to_gvalue): Implement.
7648         (convert_array_to_byte_array): Implement.
7649         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
7650         NM_S_TYPE_IP4_ADDRESSES.
7651         (nm_setting_hash): Ditto.
7652         (default_setting_clear_secrets): Add a default case for the switch: IP address
7653         shouldn't be secret, ever.
7654         (setting_ip4_config_verify): Update, requires addresses in case of manual
7655         configurations.
7656         (setting_ip4_config_destroy): Free stuff.
7657
7658         * src/nm-device.c (merge_ip4_config): Implement.
7659         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
7660
7661 2007-10-22  Dan Williams  <dcbw@redhat.com>
7662
7663         * libnm-util/nm-setting.c
7664                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
7665                         pairwise cipher options for Dynamic WEP
7666
7667 2007-10-21  Dan Williams  <dcbw@redhat.com>
7668
7669         * src/NetworkManagerAP.c
7670           src/NetworkManagerAP.h
7671                 - Rename 'articifical' -> 'fake' since that's what they are until
7672                         noticed in scans
7673                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
7674                         from the attributes in an NMConnection object
7675                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
7676                         WPA Enterprise
7677                 - (nm_ap_match_in_list): find a matching AP in a scan list
7678
7679         * src/nm-device-802-11-wireless.c
7680                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
7681                         AP when searching the scan list; match on frequency and mode too
7682                 - (nm_device_802_11_wireless_get_frequency): implement
7683                 - (merge_scanned_ap): replace duplicate matching logic with
7684                         nm_ap_match_in_list()
7685                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
7686                         the user is trying to connect to a hidden network that is not yet
7687                         known from the scan list
7688                 - (activation_success_handler): now that the card knows the AP's BSSID,
7689                         there may already be a scanned AP in the scan list that is what
7690                         we really wanted to connect to, but didn't know at the time.  Use
7691                         that instead of the 'fake' AP created at activation start and get
7692                         rid of the 'fake' AP 
7693                 - (cull_scan_list): don't remove fake APs
7694
7695 2007-10-21  Dan Williams  <dcbw@redhat.com>
7696
7697         * src/nm-activation-request.h
7698           src/nm-activation-request.c
7699                 - (nm_act_request_set_specific_object): new function; allow setting the
7700                         specific object if one isn't set yet
7701
7702 2007-10-20  Dan Williams  <dcbw@redhat.com>
7703
7704         * src/supplicant-manager/nm-supplicant-config.h
7705           src/supplicant-manager/nm-supplicant-config.c
7706                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
7707                         table to store blobs
7708                 - (nm_supplicant_config_add_blob): new function; add blob to internal
7709                         blob hash table
7710                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
7711                 - (nm_supplicant_config_add_setting_wireless_security): handle
7712                         options that use certificates (ie, blobs)
7713
7714         * src/nm-device-802-11-wireless.c
7715                 - (build_supplicant_config): pass a UID (just use the connection path)
7716                         to the supplicant config as now required
7717
7718         * src/supplicant-manager/nm-supplicant-interface.c
7719                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
7720                         there are any blobs to send to wpa_supplicant, send those first
7721                         before sending the network configuration
7722
7723 2007-10-19  Dan Williams  <dcbw@redhat.com>
7724
7725         Split the GetSecrets() call off to a separate D-Bus interface so that it
7726         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
7727         should be able to call GetSecrets().
7728
7729         * include/NetworkManager.h
7730                 - Define the connection secrets D-Bus interface
7731
7732         * src/vpn-manager/nm-vpn-connection.c
7733                 - (clear_need_auth): get the right proxy object for the connection
7734                         secrets interface
7735                 - (get_connection_secrets): use the connection secrets proxy; send
7736                         empty hints in get secrets request
7737
7738         * src/nm-activation-request.c
7739                 - (nm_act_request_request_connection_secrets): use the connection
7740                         secrets proxy; send empty hints in get secrets request
7741
7742         * src/nm-manager.c
7743           src/nm-manager.h
7744                 - (connection_get_settings_cb): set the connection secrets proxy on
7745                         the connection object too
7746                 - (internal_new_connection_cb): create the connection secrets proxy
7747
7748         * introspection/nm-settings-connection.xml
7749                 - Define Connection.Secrets interface and move GetSecrets there
7750                 - Add a 'hints' argument to GetSecrets
7751
7752         * libnm-glib/nm-settings.c
7753           libnm-glib/nm-settings.h
7754                 - (impl_connection_settings_get_secrets): add 'hints' argument
7755
7756 2007-10-19  Dan Williams  <dcbw@redhat.com>
7757
7758         * src/nm-device.c
7759                 - (constructor): add message about what path a device is exported as
7760                         to help in debugging rh #339011
7761
7762 2007-10-17  Dan Williams  <dcbw@redhat.com>
7763
7764         * libnm-util/nm-utils.h
7765           libnm-util/nm-utils.c
7766                 - (nm_utils_security_valid): common function to help find the intersection
7767                         of capabilities of devices and (optionally) access points
7768
7769 2007-10-17  Dan Williams  <dcbw@redhat.com>
7770
7771         * src/nm-device-802-11-wireless.c
7772                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7773                         don't get erroneously cleared
7774
7775 2007-10-17  Dan Williams  <dcbw@redhat.com>
7776
7777         * src/nm-manager.h
7778           src/nm-manager.c
7779           src/nm-hal-manager.c
7780                 - (device_removed, finalize, nm_manager_remove_device,
7781                    nm_manager_sleep): add a 'deactivate' argument to 
7782                    nm_manager_remove_device() to fully deactivate devices when necessary
7783                    (ie, always except when waking up)
7784
7785 2007-10-16  Dan Williams  <dcbw@redhat.com>
7786
7787         * libnm-util/nm-setting.c
7788                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7789                         also isn't valid phase2 autheap method
7790
7791 2007-10-16  Dan Williams  <dcbw@redhat.com>
7792
7793         * libnm-glib/nm-client.c
7794                 - (update_wireless_status): consolidate updates of wireless status
7795                 - (constructor): use update_wireless_status()
7796                 - (manager_running): set wireless status off when NM goes away; requery
7797                         the wireless status when NM comes back
7798
7799 2007-10-16  Dan Williams  <dcbw@redhat.com>
7800
7801         * libnm-glib/nm-client.c
7802                 - (nm_client_activate_device): actually use the fixed-up specific
7803                         object path
7804
7805 2007-10-16  Dan Williams  <dcbw@redhat.com>
7806
7807         * src/nm-hal-manager.c
7808                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7809                         killswitch error messages once
7810
7811 2007-10-16  Dan Williams  <dcbw@redhat.com>
7812
7813         * src/nm-manager.c
7814                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7815                         if it's disabled in hardware; don't touch network devices while
7816                         NM is asleep
7817
7818 2007-10-16  Dan Williams  <dcbw@redhat.com>
7819
7820         * libnm-util/nm-client.c
7821                 - (nm_client_activate_device): convert NULL specific_object to "/",
7822                         which is used in place of NULL
7823
7824         * src/nm-manager.c
7825                 - (impl_manager_activate_device): convert "/" specific_object back into
7826                         NULL
7827
7828 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7829
7830         Implement a generic NMSetting creator from setting name.
7831         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7832         add a virtual function 'populate_fn'.
7833
7834         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7835         (register_default_creators): Register setting creators instead of functions
7836         that create and then populate.
7837         (parse_one_setting): Use the common setting creator and then setting specific
7838         poplulation function.
7839
7840         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7841         they all looked exactly the same.
7842         Add a 'populate_fn' virtual function to NMSetting.
7843         Use default virtual functions in case they are not overriden.
7844         (nm_setting_populate_from_hash): Implement.
7845
7846         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7847         name, use a defined string.
7848         (real_act_stage4_get_ip4_config): Ditto.
7849
7850 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7851
7852         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7853         HAL is int, not uint.
7854
7855 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7856
7857         Implement killswitch polling through HAL.
7858
7859         * src/nm-manager.c: Add wireless hardware status property. Add 
7860         'properties-changed' signal for changes in wireless and wireless hardware
7861         state changes.
7862
7863         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7864         and update NMManager's wireless hardware state when it has changed.
7865         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7866         already does that.
7867
7868         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7869         values of wireless state and wireless hardware state. Listen for the
7870         'properties-changed' signals, update the cached values and emit notify.
7871
7872         * include/NetworkManager.h: Fix a typo in a comment.
7873
7874 2007-10-14  Dan Williams  <dcbw@redhat.com>
7875
7876         * libnm-util/nm-setting.c
7877                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7878
7879 2007-10-13  Dan Williams  <dcbw@redhat.com>
7880
7881         * libnm-util/nm-setting.h
7882           libnm-util/nm-setting.c
7883           src/supplicant-manager/nm-supplicant-config.c
7884                 - Make the 'proto' field of the 802-11-wireless-security field a
7885                         string list
7886
7887 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7888
7889         Rework the "properties-changed" signal listening implementation.
7890         Add a generic implementation to NMObject class that listens for
7891         the signal and calls property setters of the target NMObject.
7892
7893         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7894
7895         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7896         code to the end of file so that all the static functions are available
7897         without extra declarations.
7898         Remove the "properties-changed" signal handling and use the framework from
7899         NMObject.
7900         Implement property setters for properties that change with 
7901         "properties-changed" signal.
7902
7903         * libnm-glib/nm-access-point.c: Ditto.
7904
7905 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7906
7907         Rework the "properties-changed" signal implementation.
7908         In classes that need to use it, just emit "GObject::notify" and the new
7909         framework takes care of the rest to make the signal available on dbus.
7910         The framework queues the notifications and tries to send as many together
7911         in one signal as possible.
7912
7913         * src/nm-properties-changed-signal.c:
7914         * src/nm-properties-changed-signal.h: Implement.
7915
7916         * src/Makefile.am: Add new files to build.
7917
7918         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7919         signal.
7920
7921         * src/nm-device-802-11-wireless.c: Ditto.
7922
7923 2007-10-10  Dan Williams  <dcbw@redhat.com>
7924
7925         * src/nm-manager.c
7926                 - (wait_for_connection_expired): ensure info is valid
7927                 - (connection_added_default_handler): Should only remove pending
7928                         connection info when the manager has the connection that it's
7929                         waiting for.  Fixes segfault in wait_for_connection_info().  
7930
7931 2007-10-10  Dan Williams  <dcbw@redhat.com>
7932
7933         * libnm-util/nm-setting.c
7934           libnm-util/nm-setting.h
7935                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7936                         can use if they choose.  Should be filled in by the settings service
7937                         on-the-fly with the currently logged in user's username
7938
7939 2007-10-10  Dan Williams  <dcbw@redhat.com>
7940
7941         * src/nm-device-802-11-wireless.c
7942                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7943                         as such, because even if the manager fills in the SSID, NM still
7944                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7945                         its SSID
7946
7947 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7948
7949         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7950         code that used NM's own version of dbus signal handling and custom dictionary
7951         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7952         and we get to maintain over 2000 lines less code.
7953
7954         * libnm-util/dbus-dict-helpers.c:
7955         * libnm-util/dbus-dict-helpers.h: Remove.
7956
7957         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
7958
7959         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
7960
7961         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
7962         handlers.
7963
7964         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
7965
7966         * configure.in: Remove test/libnm-util/Makefile creation.
7967
7968         * test/Makefile.am: Remove libnm-util from SUBDIRS.
7969
7970         * test/libnm-util/: Remove the whole directory.
7971
7972 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7973
7974         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
7975         device_state_changed_idle_id variable or it would contain some random value and the
7976         schedule_change_check calls would not do anything.
7977
7978 2007-10-09  Dan Williams  <dcbw@redhat.com>
7979
7980         * src/nm-device-802-11-wireless.c
7981                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
7982                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
7983                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
7984                         merging of non-SSID-broadcasting APs
7985
7986 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7987
7988         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
7989         "guint8 *" since it's usually used with GByteArray->data.
7990         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
7991
7992 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7993
7994         * src/NetworkManagerUtils.c
7995         (nm_utils_is_empty_ssid):
7996         (nm_utils_escape_ssid):
7997         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
7998         lot of places, so they belong to libnm-utils instead.
7999
8000         Now with 100% less compiler warnings:
8001
8002         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
8003         (nm_dbus_unescape_object_path): Ditto.
8004         (nm_utils_ssid_to_utf8): Ditto.
8005         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
8006         (nm_utils_escape_ssid): Ditto.
8007         (nm_utils_same_ssid): Ditto.
8008
8009         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
8010         (add_one_connection_element): Remove an unused variable.
8011         (impl_manager_get_active_connections): Ditto.
8012
8013         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
8014         variable.
8015
8016         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
8017         from the previous commit.
8018
8019         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
8020         (real_act_stage1_prepare): Ditto.
8021         (activation_success_handler): Ditto.
8022         (get_property): Ditto.
8023
8024         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
8025         variable.
8026
8027         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
8028         it's always set.
8029
8030         * src/supplicant-manager/nm-supplicant-config.c 
8031         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
8032         to expected "char *".
8033         (nm_supplicant_config_add_setting_wireless): Ditto.
8034         (nm_supplicant_config_remove_option): Remove, not used.
8035
8036         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
8037         not double.
8038         (test_wireless_enabled): Ifdef out unused function.
8039         (device_deactivate): Ditto.
8040         (device_state_changed): Ditto.
8041         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
8042         (nm_utils_escape_ssid): Ditto.
8043
8044         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
8045         (nm_utils_is_empty_ssid): Ditto.
8046
8047         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
8048         unused variable.
8049
8050         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
8051         (setting_vpn_properties_update_secrets): Ditto.
8052         (int_to_gvalue): Ifdef out for now, not used.
8053         (byte_to_gvalue): Ditto.
8054
8055         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
8056         Unused, remove.
8057
8058 2007-10-08  Tambet Ingo  <tambet@gmail.com>
8059
8060         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
8061         about dbus manager, not named manager.
8062         Make sure hal_manager and dbus_mgr are created before trying to unreference.
8063
8064         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
8065         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
8066         However, the same signal is emitted when we destroy it and there's 
8067         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
8068
8069         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
8070         releasing the DBusGConnection, since proxy needs a conneciton.
8071         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
8072
8073 2007-10-08  Dan Williams  <dcbw@redhat.com>
8074
8075         * src/NetworkManager.c
8076                 - (main): error on unknown command-line options
8077
8078 2007-10-08  Dan Williams  <dcbw@redhat.com>
8079
8080         Reimplement the invalid connection list.  Don't try to re-activate a
8081         connection that just failed or was canceled.
8082
8083         * src/nm-device.c
8084                 - (connection_secrets_failed_cb): fail device activation, don't just
8085                         deactivate the device.  Listeners have to know about the failure.
8086
8087         * src/NetworkManagerPolicy.c
8088                 - (nm_policy_auto_get_best_device): exclude invalid connections from
8089                         the connection list given to a device's get_best_connection()
8090                         method
8091                 - (device_state_changed): tag failed connections as invalid; clear the
8092                         tag from successful connections
8093
8094 2007-10-08  Dan Williams  <dcbw@redhat.com>
8095
8096         Fix problems with interrupted activation.  Previously, choosing an AP
8097         from the menu, then choosing another one before the first connection was
8098         successful wouldn't deactivate the device before starting the new connection
8099         on that same device.
8100
8101         * src/NetworkManagerPolicy.c
8102                 - (deactivate_old_device, device_state_changed, state_changed,
8103                    nm_policy_new): wrong place to deactivate old devices
8104
8105         * src/nm-manager.c
8106                 - (pending_connection_info_destroy, finalize,
8107                    wait_for_connection_expired): decouple destruction of the pending
8108                         connection info from the manager device
8109                 - (connection_added_default_handler): deactivate any active or
8110                         activating device before starting a new activation
8111                 - (impl_manager_activate_device): deactivate any active or activating
8112                         device before starting a new activation; be sure not to leak
8113                         pending connection info if a new activation request arrives but
8114                         there's already a pending one in-process
8115
8116 2007-10-08  Dan Williams  <dcbw@redhat.com>
8117
8118         * src/NetworkManagerAP.h
8119           src/NetworkManagerAP.c
8120                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
8121                         should handle default SSIDs and whether or not to autoconnect
8122                         to them
8123
8124 2007-10-08  Dan Williams  <dcbw@redhat.com>
8125
8126         * src/NetworkManagerPolicy.c
8127                 - (nm_policy_device_change_check): print out connection name where
8128                         possible
8129
8130 2007-10-08  Dan Williams  <dcbw@redhat.com>
8131
8132         * src/nm-device-802-11-wireless.c
8133           src/nm-device-802-11-wireless.h
8134                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
8135                         'hidden-ap-found' signal (for internal use only) that allows the
8136                         NMManager to fill in the AP's SSID if a connection has that AP's
8137                         BSSID in its seen-bssids list
8138
8139         * src/nm-manager.c
8140                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
8141                         wireless device's hidden-ap-found signal and fill in the APs SSID
8142                         if possible
8143
8144 2007-10-07  Dan Williams  <dcbw@redhat.com>
8145
8146         * src/nm-manager.c
8147           src/nm-manager.h
8148                 - Add a 'connections-added' signal to batch together updates of large
8149                         numbers of connections, like when reading from a settings service
8150                         the first time.  Otherwise, the policy would just activate the first
8151                         suitable connection it saw rather than waiting for the full list
8152                         to arrive.
8153                 - (nm_manager_class_init): register new signal
8154                 - (get_type_for_proxy, connection_get_settings_cb,
8155                    get_connection_for_proxy): centralize places where a proxy's setting
8156                         service is determined
8157                 - (free_get_settings_info): if the call being freed is the last call
8158                         in a pending call group, fire off the connections-added signal
8159                 - (internal_new_connection_cb): add call to a pending call group if
8160                         requested
8161                 - (list_connections_cb): always create a call group here, because this
8162                         call results in a batch of new connections
8163                 - (initial_get_connections): start getting system connections first
8164                 - (nm_manager_connections_destroy, emit_removed): actually emit the
8165                         removed signal when destroying connections
8166
8167         * src/NetworkManagerPolicy.c
8168                 - (nm_policy_new, connections_added): handle connections-added signal
8169                         from the manager
8170
8171 2007-10-06  Dan Williams  <dcbw@redhat.com>
8172
8173         * src/nm-device-802-11-wireless.c
8174                 - (constructor): fix leaked socket
8175
8176 2007-10-06  Dan Williams  <dcbw@redhat.com>
8177
8178         * src/NetworkManagerPolicy.c
8179                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
8180                         connection in the list returned by nm_manager_get_connections() is
8181                         reffed, but they weren't getting unreffed before returning
8182
8183 2007-10-06  Dan Williams  <dcbw@redhat.com>
8184
8185         * src/nm-manager.c
8186                 - (connections_to_slist): sort connections first on autoconnect, then
8187                         on timestamp
8188
8189 2007-10-06  Dan Williams  <dcbw@redhat.com>
8190
8191         * libnm-util/nm-connection.c
8192                 - (gvalue_to_string): handle UINT64
8193
8194 2007-10-06  Dan Williams  <dcbw@redhat.com>
8195
8196         * src/NetworkManagerPolicy.c
8197                 - (connection_updated, nm_policy_new): recheck state when a connection
8198                         gets updated
8199
8200 2007-10-06  Dan Williams  <dcbw@redhat.com>
8201
8202         * src/nm-manager.c
8203           src/nm-manager.h
8204                 - (nm_manager_get_connection_dbus_path): make static
8205                 - (nm_manager_update_connections): remove; unused
8206                 - Add a connection-updated signal
8207                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
8208                         handle connection object updates
8209
8210 2007-10-06  Dan Williams  <dcbw@redhat.com>
8211
8212         * src/NetworkManagerPolicy.c
8213                 - (connection_removed): deactivate removed connections
8214
8215 2007-10-06  Dan Williams  <dcbw@redhat.com>
8216
8217         * libnm-util/nm-connection.c
8218           libnm-util/nm-connection.h
8219                 - (nm_connection_replace_settings): new function
8220
8221 2007-10-06  Dan Williams  <dcbw@redhat.com>
8222
8223         * libnm-glib/nm-device-802-11-wireless.c
8224                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
8225                         on error when getting the active access point over D-Bus from NM
8226
8227 2007-10-05  Dan Williams  <dcbw@redhat.com>
8228
8229         * libnm-util/nm-setting.c
8230                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
8231                         to the NMSettingWireless table; it's now a string array not an array
8232                         of byte arrays
8233
8234 2007-10-05  Dan Williams  <dcbw@redhat.com>
8235
8236         * libnm-glib/nm-device-802-11-wireless.c
8237                 - Cache properties and update cached properties on D-Bus signals from NM
8238
8239 2007-10-05  Dan Williams  <dcbw@redhat.com>
8240
8241         * src/nm-device-802-11-wireless.c
8242                 - (set_current_ap): consolidate current_ap handling code into one place
8243                         to ensure that PropertiesChanged signals are emitted in all cases
8244                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
8245                    nm_device_802_11_wireless_dispose): use set_current_ap()
8246
8247 2007-10-05  Dan Williams  <dcbw@redhat.com>
8248
8249         * libnm-glib/nm-access-point.c
8250           libnm-glib/nm-access-point.h
8251                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
8252                         because the value is cached internally now.  Callers should not
8253                         free the internal value.
8254                 - Make signal name defines private
8255
8256         * test/nm-tool.c
8257           libnm-glib/libnm-glib-test.c
8258                 - Don't free value returned from nm_access_point_get_hw_address()
8259
8260 2007-10-04  Dan Williams  <dcbw@redhat.com>
8261
8262         * introspection/nm-device-802-11-wireless.xml
8263           src/nm-device-802-11-wireless.h
8264           src/nm-device-802-11-wireless.c
8265                 - Add a PropertiesChanged signal for wireless device
8266                 - Store currently associated access point
8267                 - (periodic_update): generalize; update rate here too and emit the
8268                         correct PropertiesChanged signal when stuff changes
8269                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
8270                    real_activation_cancel_handler): clear current_ap when device is
8271                         deactivated
8272                 - (link_to_specific_ap, get_ap_blacklisted,
8273                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
8274                         code
8275                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
8276                         outside this file
8277                 - (real_set_hw_address): emit property changed signal if the card's
8278                         MAC address changes
8279                 - (real_act_stage1_prepare): set the initial current_ap to the AP
8280                         the card is supposed to be connecting to
8281                 - (activation_success_handler): send out property updates on successful
8282                         activation
8283                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
8284                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
8285                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
8286                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
8287                         is now boxed; add PropertiesChanged signal
8288
8289 2007-10-04  Dan Williams  <dcbw@redhat.com>
8290
8291         * libnm-util/nm-connection.c
8292           libnm-util/nm-connection.h
8293                 - (nm_connection_verify): new function
8294
8295 2007-10-04  Dan Williams  <dcbw@redhat.com>
8296
8297         * libnm-util/nm-setting.c
8298                 - (nm_settings_verify): use #defines when possible rather than strings
8299                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
8300                 - (setting_vpn_verify): tighter validity check on 'service_type'
8301
8302 2007-10-04  Dan Williams  <dcbw@redhat.com>
8303
8304         * libnm-glib/nm-settings.c
8305                 - (nm_connection_settings_class_init): provide correct type for argument
8306                         to the Updated signal so that dbus-glib knows how to marshal it
8307
8308 2007-10-03  Dan Williams  <dcbw@redhat.com>
8309
8310         * src/nm-device-802-3-ethernet.c
8311                 - (real_get_best_connection): don't create automatic connections
8312                         internally; clients should provide a setting that applies to
8313                         the device with 'autoconnect: True'.  Problem was that these
8314                         internally auto-created connections don't have a proxy or service
8315                         name becuase they weren't created by a settings daemon, and therefore
8316                         clients have no idea what to do with them.
8317
8318 2007-10-03  Dan Williams  <dcbw@redhat.com>
8319
8320         * src/nm-device-802-11-wireless.c
8321           src/nm-device-802-11-wireless.h
8322           introspection/nm-device-802-11-wireless.xml
8323                 - GetActiveNetworks -> GetAccessPoints
8324                 - ActiveNetwork -> ActiveAccessPoint
8325                 - NetworkAdded -> AccessPointAdded
8326                 - NetowrkRemoved -> AccessPointRemoved
8327
8328         * libnm-glib/nm-device-802-11-wireless.c
8329           libnm-glib/nm-device-802-11-wireless.h
8330                 - network-added signal -> access-point-added
8331                 - network-removed signal -> access-point-removed
8332                 - nm_device_802_11_wireless_get_active_network() ->
8333                         nm_device_802_11_wireless_get_active_access_point()
8334                 - nm_device_802_11_wireless_get_network_by_path() ->
8335                         nm_device_802_11_wireless_get_access_point_by_path()
8336                 - nm_device_802_11_wireless_get_networks() ->
8337                         nm_device_802_11_wireless_get_access_points()
8338
8339         * libnm-glib/libnm-glib-test.c
8340           test/nm-tool.c
8341           src/NetworkManagerPolicy.c
8342                 - Fixups for Network -> AccessPoint
8343
8344 2007-10-03  Dan Williams  <dcbw@redhat.com>
8345
8346         Add a GetActiveConnections() method on the Manager object.
8347
8348         * src/nm-manager.c
8349           src/nm-manager.h
8350           introspection/nm-manager.xml
8351                 - (connection_get_settings_cb): keep connection type around too
8352                 - (impl_manager_get_active_connections, add_one_connection_element):
8353                         implement; returns all active connections and what devices they
8354                         apply to
8355
8356         * libnm-glib/nm-client.c
8357           libnm-glib/nm-client.h
8358           introspection/nm-manager-client.xml
8359                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
8360                         by the caller; free here to avoid memory leak
8361                 - (nm_client_get_active_connections): implement; return the list of
8362                         active connections
8363                 - (nm_client_free_active_connection_element): implement; free an element
8364                         of the GSList returned by nm_client_get_active_connections()
8365
8366 2007-10-03  Dan Williams  <dcbw@redhat.com>
8367
8368         * src/nm-device-802-11-wireless.c
8369                 - (nm_device_802_11_wireless_update_bssid): remove
8370                 - (get_active_ap): new function; find the AP in the scan list which
8371                         matches the current BSSID and SSID of the wireless device
8372                 - (nm_device_802_11_periodic_update): get current AP using
8373                         get_active_ap() and print AP roam messages
8374
8375 2007-10-01  Dan Williams  <dcbw@redhat.com>
8376
8377         * libnm-util/nm-setting.h
8378                 - Add a 'timestamp' option to NMSettingConnection
8379                 - Add a UINT64 type
8380
8381         * libnm-util/nm-setting.c
8382                 - (uint64_to_gvalue): new function
8383                 - (nm_setting_populate_from_hash, nm_setting_hash,
8384                    default_setting_clear_secrets): handle UINT64 type
8385                 - con_table: add 'timestamp' member
8386
8387 2007-10-01  Dan Williams  <dcbw@redhat.com>
8388
8389         * src/nm-manager.c
8390                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
8391                         value when the connection can be activated immediately
8392
8393 2007-10-01  Dan Williams  <dcbw@redhat.com>
8394
8395         * libnm-glib/nm-device.c
8396                 - (nm_device_class_init): actually tell glib about the carrier-changed
8397                         signal
8398
8399 2007-10-01  Dan Williams  <dcbw@redhat.com>
8400
8401         * configure.in
8402           src/marshallers/Makefile.am
8403           src/marshallers/nm-marshal.list
8404           src/marshallers/nm-marshal-main.c
8405                 - Consolidate glib marshallers into one place
8406
8407         * src/dhcp-manager/Makefile.am
8408           src/dhcp-manager/nm-dhcp-manager.c
8409           src/supplicant-manager/Makefile.am
8410           src/supplicant-manager/nm-supplicant-manager.c
8411           src/supplicant-manager/nm-supplicant-interface.c
8412           src/ppp-manager/Makefile.am
8413           src/ppp-manager/nm-ppp-manager.c
8414           src/vpn-manager/Makefile.am
8415           src/vpn-manager/nm-vpn-connection.c
8416           src/Makefile.am
8417                 - Use consolidated marshallers
8418
8419         * src/dhcp-manager/nm-dhcp-marshal.list
8420           src/dhcp-manager/nm-dhcp-marshal-main.c
8421           src/supplicant-manager/nm-supplicant-marshal-main.c
8422           src/supplicant-manager/nm-supplicant-marshal.list
8423           src/nm-marshal-main.c
8424           src/nm-marshal.list
8425           src/ppp-manager/nm-ppp-marshal-main.c
8426           src/ppp-manager/nm-ppp-marshal.list
8427           src/vpn-manager/nm-vpn-marshal-main.c
8428           src/vpn-manager/nm-vpn-marshal.list
8429                 - Remove
8430
8431 2007-10-01  Dan Williams  <dcbw@redhat.com>
8432
8433         * include/NetworkManagerVPN.h
8434                 - define VPN connection state change reason codes
8435
8436         * src/vpn-manager/Makefile.am
8437           src/vpn-manager/nm-vpn-marshal.list
8438           src/vpn-manager/nm-vpn-marshal-main.c
8439                 - Add marshallers for StateChanged signal
8440
8441         * introspection/nm-vpn-connection.xml
8442                 - New Banner property
8443                 - StateChanged signal now includes a 'reason' argument
8444
8445         * src/vpn-manager/nm-vpn-connection.c
8446           src/vpn-manager/nm-vpn-connection.h
8447                 - Add a "Banner" property that contains the returned VPN server login
8448                         banner (if any); valid only in the ACTIVATED state
8449                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
8450                         a 'reason' argument and emits that reason along with the
8451                         state-changed signal
8452                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
8453                 - (nm_vpn_connection_ip4_config_get): save banner for later
8454                 - (nm_vpn_connection_get_banner, get_property,
8455                    nm_vpn_connection_class_init): implement Banner property
8456
8457         * src/vpn-manager/nm-vpn-service.c
8458                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
8459                         connection list because elements may get added/removed from it
8460                         while iterating over the list
8461                 - (connection_state_changed): signal now includes the 'reason' argument
8462
8463         * libnm-glib/nm-vpn-connection.c
8464           libnm-glib/nm-vpn-connection.h
8465                 - (nm_vpn_connection_get_banner): new function
8466                 - (state_changed_proxy): handle reason argument
8467
8468 2007-09-28  Tambet Ingo  <tambet@gmail.com>
8469
8470         * src/nm-manager.c:
8471         * src/nm-manager.h:
8472         Implement device activation through NMManager.
8473         Implement "pending device activation" here - If the connection isn't found,
8474         we try to wait for up to 5 seconds for the connection to be provided.
8475         Add NMConnectionType argument to "connection-added" and "connection-removed"
8476         signals.
8477         (nm_manager_get): Remove. Finally.
8478
8479         * src/nm-activation-request.c: 
8480         * src/nm-activation-request.h: 
8481         Remove all the deferred activation code.
8482
8483         * src/nm-device.c: Remove all the deferred activation code. Once the device
8484         activation is started, it's started. Update the activation virtual function
8485         signature.
8486
8487         * src/nm-device-interface.c:
8488         * src/nm-device-interface.h:
8489         Device activation now takes only NMActRequest argument.
8490         Don't expose device activation directly on dbus, it's supposed to go through
8491         NMManager now.
8492
8493         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
8494         a bit more compact.
8495         Use the new device activation methods through NMManager.
8496
8497         * introspection/nm-manager-client.xml: 
8498         * introspection/nm-manager.xml: 
8499         * libnm-glib/nm-client.c:
8500         * libnm-glib/nm-client.h:
8501         Add device activation method.
8502         
8503         * libnm-glib/nm-device.c: 
8504         * libnm-glib/nm-device.h: 
8505         * introspection/nm-device.xml: 
8506         Remove device activation method. It's done through NMManager now.
8507
8508         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
8509         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
8510
8511 2007-09-28  Dan Williams  <dcbw@redhat.com>
8512
8513         * libnm-glib/nm-vpn-connection.c
8514                 - (nm_vpn_connection_get_state): try to update state if the current
8515                         state is UNKNOWN
8516
8517 2007-09-27  Dan Williams  <dcbw@redhat.com>
8518
8519         Patch from Bill Nottingham
8520
8521         * src/supplicant-manager/nm-supplicant-config.c
8522                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
8523                         data to the supplicant
8524
8525 2007-09-27  Dan Williams  <dcbw@redhat.com>
8526
8527         * src/NetworkManagerSystem.c
8528                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
8529                         and all address manipulation here should be happening on the
8530                         _VPN_ device, not the active device
8531
8532 2007-09-26  Dan Williams  <dcbw@redhat.com>
8533
8534         * src/nm-manager.c
8535           src/nm-manager.h
8536           src/nm-activation-request.c
8537           src/nm-activation-request.h
8538                 - Move the GetSecrets stuff out of the NMManager instance because it
8539                         doesn't really need to be there and complicates things
8540
8541         * src/nm-device.c
8542                 - (connection_secrets_failed_cb, device_activation_go): connect to the
8543                         connection-secrets-failed signal and deactivate the device if
8544                         the GetSecrets call fails
8545
8546         * src/nm-device-802-11-wireless.c
8547                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8548                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
8549                         secrets and give correct hints about whether new secrets should be
8550                         asked for by the client or not
8551
8552 2007-09-26  Dan Williams  <dcbw@redhat.com>
8553
8554         * src/vpn-manager/nm-vpn-connection.c
8555                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
8556                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
8557                         to the secrets-updated signal of the NMConnection since updating
8558                         the secrets is done within the scope of the NMVPNConnection object
8559                         already
8560                 - (get_connection_secrets): fix an uninialized variable usage error
8561
8562 2007-09-26  Dan Williams  <dcbw@redhat.com>
8563
8564         * libnm-util/nm-setting.c
8565                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
8566                         actually get updated when the user enters them
8567
8568 2007-09-26  Dan Williams  <dcbw@redhat.com>
8569
8570         * libnm-glib/nm-vpn-plugin.c
8571                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
8572
8573 2007-09-26  Dan Williams  <dcbw@redhat.com>
8574
8575         * include/NetworkManagerVPN.h
8576                 - Add a NEED_AUTH state
8577
8578         * src/vpn-manager/nm-vpn-connection.c
8579                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
8580                         the connection needs secrets, and if so, then ask the settings
8581                         service to fill in the secrets.  Then start the connection.
8582
8583 2007-09-26  Dan Williams  <dcbw@redhat.com>
8584
8585         * src/vpn-manager/nm-vpn-manager.c
8586                 - (new_vpn_error, impl_vpn_manager_connect): set errors
8587
8588 2007-09-26  Dan Williams  <dcbw@redhat.com>
8589
8590         * introspection/nm-vpn-plugin.xml
8591           libnm-glib/nm-vpn-plugin.c
8592           libnm-glib/nm-vpn-plugin.h
8593                 - (impl_vpn_plugin_need_secrets): implement a call that should return
8594                         the name of the NMSetting in an NMConnection that may require
8595                         secrets specific to that VPN plugin
8596
8597 2007-09-26  Dan Williams  <dcbw@redhat.com>
8598
8599         * src/nm-manager.c
8600           src/nm-manager.h
8601                 - (nm_manager_get_connection_secrets): make static, unused outside
8602                         the file
8603                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
8604
8605 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8606
8607         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
8608         method.
8609         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
8610         unreference the connection.
8611
8612         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
8613         passing properties hash and routes string list, pass NMConnection (in hashed form).
8614
8615         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
8616         as GSList, no need to copy stuff around anymore.
8617         (nm_vpn_connection_activate): Update the plugin activation method.
8618
8619         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
8620         routes argument to GSList.
8621
8622 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8623
8624         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
8625         state and try to get the secrets.
8626
8627         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
8628         connections from NMManager and let the device to choose the best from the list.
8629         Since the connection list is sorted by system ones first and user ones later,
8630         the devices still prefer system connections like they did before.
8631         (deactivate_old_device): Implement. When a device starts activation, we have a
8632         policy (for now at least) to deactivate any other device that might be either
8633         active or still activating.
8634
8635         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
8636         It's set on construction, there will be no other way to access it.
8637
8638         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
8639         device events and drive the device, not the other way around.
8640
8641         * src/nm-device-802-3-ethernet.c: Ditto.
8642
8643         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
8644         sent along, pass it on to virtual functions.
8645
8646         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
8647         for now, but should really be public instead of nm_device_get_iface() since iface
8648         is a property of the DeviceInterface, not Device.
8649         (impl_device_activate): Don't touch NMManager!
8650
8651 2007-09-26  Jürg Billeter  <j@bitron.ch>
8652
8653         * initscript/paldo/NetworkManager.in:
8654         * initscript/paldo/NetworkManagerDispatcher.in:
8655         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
8656         (nm_system_flush_loopback_routes): update paldo backend
8657
8658 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8659
8660         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
8661         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
8662         which means none of the devices get brought down properly, which in turn leaves
8663         DHCP client running.
8664
8665         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
8666         (supplicant_connection_timeout_cb): Ditto.
8667
8668 2007-09-25  Dan Williams  <dcbw@redhat.com>
8669
8670         * src/nm-device.c
8671                 - (device_activation_go): small hack to work around race when
8672                         activating deferred connections; should solve this in a better way
8673
8674 2007-09-25  Dan Williams  <dcbw@redhat.com>
8675
8676         * introspection/nm-device.xml
8677           libnm-glib/nm-device.c
8678           libnm-glib/nm-device.h
8679                 - Add 'Carrier' property to exported NMDevice objects
8680
8681         * src/nm-device-interface.h
8682           src/nm-device-interface.c
8683           src/nm-device.c
8684                 - Add a 'carrier' property to internal NMDevice objects
8685
8686 2007-09-25  Dan Williams  <dcbw@redhat.com>
8687
8688         * src/nm-device-802-11-wireless.c
8689                 - (ap_auth_enforced): also return the encryption status of the AP so
8690                         that callers can differentiate easily between unencrypted APs
8691                         and encrypted ones, in addition to whether the AP has an
8692                         authenticator
8693                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8694                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
8695                         previously would request secrets from unencrypted APs at times
8696
8697 2007-09-25  Dan Williams  <dcbw@redhat.com>
8698
8699         * src/nm-manager.c
8700                 - (nm_manager_update_state): new function; updates state and emits
8701                         appropriate signals ensuring a state-change signal for the same state
8702                         never gets emitted twice in a row.
8703                 - (manager_device_state_changed): handle more device state to get a
8704                         better picture of the overall NM state
8705
8706 2007-09-25  Dan Williams  <dcbw@redhat.com>
8707
8708         * libnm-glib/nm-settings.c
8709           libnm-glib/nm-settings.h
8710                 - (new_error -> nm_settings_new_error): make public so that subclasses
8711                         can use the same error domain.  Also pass a valid error code to
8712                         g_error_new_literal() so that libdbus doesn't assert when converting
8713                         the GError into a DBusError
8714                 - (impl_settings_list_connections, impl_connection_settings_get_id,
8715                    impl_connection_settings_get_settings,
8716                    impl_connection_settings_get_secrets): use new error creator
8717                         function
8718
8719 2007-09-25  Dan Williams  <dcbw@redhat.com>
8720
8721         * src/NetworkManager.c
8722                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
8723
8724 2007-09-25  Dan Williams  <dcbw@redhat.com>
8725
8726         * src/supplicant-manager/nm-supplicant-manager.c
8727                 - (poke_supplicant_cb, nm_supplicant_manager_init,
8728                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
8729                    nm_supplicant_manager_startup): when the supplicant isn't running,
8730                         try to start it periodically via system bus activation.  Fixes
8731                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
8732                         for the supplicant to come back
8733
8734 2007-09-25  Dan Williams  <dcbw@redhat.com>
8735
8736         Ensure that old activation requests are forgotten about; previously
8737         hitting Cancel in the password dialog would deactivate whatever device
8738         that password was requested for, even if that wasn't the currently
8739         activating connection.
8740
8741         * src/nm-manager.c
8742           src/nm-manager.h
8743                 - (nm_manager_get_connection_secrets): track the pending call
8744                         object so it can be canceled later if needed
8745                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
8746                         GetSecrets call for a particular connection
8747
8748         * src/nm-activation-request.c
8749                 - (dispose): cancel any outstanding GetSecrets calls on the
8750                         connection
8751
8752 2007-09-25  Dan Williams  <dcbw@redhat.com>
8753
8754         * src/NetworkManagerPolicy.c
8755                 - (nm_policy_device_change_check): handle devices that have a
8756                         deferred activation.  These devices are not really active _yet_,
8757                         but need to be treated as such here.  Don't interrupt them
8758                         automatically.
8759
8760         * src/nm-device-interface.c
8761                 - (impl_device_activate): handle devices that have a deferred activation
8762                         like activating or active devices.  When multiple active devices
8763                         get committed, the device shouldn't be deactivated until the
8764                         connection details are available to avoid DoS and such.  Currently,
8765                         any active, activating, or deferred activation device is deactivated
8766                         here before starting the new activation request.
8767
8768 2007-09-25  Dan Williams  <dcbw@redhat.com>
8769
8770         Properly re-query secrets from the settings daemon when stuff fails.
8771
8772         * src/nm-device-802-11-wireless.c
8773                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8774                         between Shared Key and Open System auth modes
8775                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8776                    real_act_stage4_ip_config_timeout): clear existing secrets and
8777                         request new ones when something fails due to a suspected wrong key
8778                 - (real_act_stage2_config): fix for new request_new argument to
8779                         nm_manager_get_connection_secrets()
8780
8781         * src/nm-manager.c
8782           src/nm-manager.h
8783                 - (nm_manager_get_connection_secrets): return error status; pass
8784                         new request_new argument on to the settings daemon
8785
8786         * introspection/nm-settings-connection.xml
8787                 - New 'request_new' argument to the GetSecrets call that hints to the
8788                         settings daemon to ask the user for completely new secrets
8789
8790         * libnm-glib/nm-settings.c
8791           libnm-glib/nm-settings.h
8792                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8793                         argument
8794
8795 2007-09-25  Dan Williams  <dcbw@redhat.com>
8796
8797         * libnm-util/nm-connection.c
8798           libnm-util/nm-connection.h
8799                 - (nm_connection_clear_secrets): new function; clear secrets out of
8800                         each NMSetting in an NMConnection
8801
8802         * libnm-util/nm-setting.h
8803           libnm-util/nm-setting.c
8804                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8805                         secrets out of an NMSetting
8806                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8807                    nm_setting_wired_new, nm_setting_wireless_new,
8808                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8809                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8810                         to default handler default_setting_clear_secrets()
8811
8812 2007-09-25  Dan Williams  <dcbw@redhat.com>
8813
8814         * src/nm-activation-request.c
8815           src/nm-activation-request.h
8816                 - (nm_act_request_is_deferred): new function
8817
8818 2007-09-24  Dan Williams  <dcbw@redhat.com>
8819
8820         * src/nm-device-802-11-wireless.c
8821                 - (activation_success_handler): update signal strength immediately
8822                         after activation
8823
8824 2007-09-24  Dan Williams  <dcbw@redhat.com>
8825
8826         * libnm-util/nm-setting.c
8827                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8828
8829 2007-09-24  Dan Williams  <dcbw@redhat.com>
8830
8831         * src/NetworkManagerPolicy.c
8832                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8833                         device by deactivating it because it doesn't have a "best connection".
8834                         Since autoconnect=False connections aren't automatically chosen,
8835                         NM would interrupt activation of such a connection because it
8836                         would never be "best" due to autoconnect=False.
8837
8838 2007-09-24  Dan Williams  <dcbw@redhat.com>
8839
8840         * src/nm-manager.c
8841                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8842                         actually has some time to enter a key before the GetSecrets call
8843                         times out
8844
8845 2007-09-24  Dan Williams  <dcbw@redhat.com>
8846
8847         * introspection/nm-manager.xml
8848           src/nm-manager.c
8849                 - (impl_manager_legacy_state): fix 'state' method call return value
8850
8851 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8852
8853         * test/Makefile.am: Install nm-tool
8854
8855 2007-09-24  Dan Williams  <dcbw@redhat.com>
8856
8857         Patch from Ross Burton <ross@burtonini.com>
8858
8859         * test/nm-tool.c
8860           callouts/nm-dhcp-client-action.c
8861           src/nm-netlink.c
8862           src/vpn-manager/nm-vpn-connection.c
8863           libnm-glib/libnm-glib-test.c
8864                 - warning fixes
8865
8866 2007-09-24  Dan Williams  <dcbw@redhat.com>
8867
8868         * libnm-util/nm-utils.h
8869           libnm-util/nm-utils.c
8870                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8871                         remove, unused
8872
8873 2007-09-23  Dan Williams  <dcbw@redhat.com>
8874
8875         * vpn-daemons/vpnc/properties/nm-vpnc.c
8876                 - Update for new VPN properties API bits; instead of passing around
8877                         a lot of random things, everything goes into the NMConnection
8878                         object.
8879
8880 2007-09-23  Dan Williams  <dcbw@redhat.com>
8881
8882         * libnm-util/nm-setting.c
8883                 - Correctly dispose of settings objects if creating them from a hash
8884                         table fails
8885
8886 2007-09-23  Dan Williams  <dcbw@redhat.com>
8887
8888         * libnm-util/nm-setting.c
8889                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8890                         the hash table in a standard manner.  Clients of libnm-util should
8891                         only call g_hash_table_remove_all(), never destroy the hash table
8892                         and recreate it.
8893
8894 2007-09-22  Dan Williams  <dcbw@redhat.com>
8895
8896         * src/nm-device-802-11-wireless.c
8897                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8898                         real reason to do it so often, and reduces wakeups for clients.
8899
8900 2007-09-21  Dan Williams  <dcbw@redhat.com>
8901
8902         * src/nm-device-802-11-wireless.c
8903                 - (build_supplicant_config): wpa_supplicant requires the option
8904                         key_mgmt=NONE for unencrypted networks
8905                 - (real_act_stage2_config): clarify log message on activation
8906
8907 2007-09-21  Dan Williams  <dcbw@redhat.com>
8908
8909         * test/nm-supplicant-test.c
8910           test/Makefile.am
8911                 - Remove supplicant test binary; no longer applicable
8912
8913 2007-09-21  Dan Williams  <dcbw@redhat.com>
8914
8915         * src/supplicant-manager/nm-supplicant-manager.c
8916                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8917                         activate it on the system bus
8918
8919 2007-09-20  Dan Williams  <dcbw@redhat.com>
8920
8921         * initscript/RedHat/NetworkManager.in
8922                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8923
8924 2007-09-20  Dan Williams  <dcbw@redhat.com>
8925
8926         * src/nm-device.c
8927                 - (nm_device_is_activating): work around a race between auto-activation
8928                         and the user activating the same device that is being auto-activated
8929
8930 2007-09-20  Dan Williams  <dcbw@redhat.com>
8931
8932         * src/nm-device-interface.c
8933                 - (impl_device_activate): until multiple active device support lands,
8934                         ensure only one device can be active at a time
8935
8936 2007-09-20  Dan Williams  <dcbw@redhat.com>
8937
8938         * src/supplicant-manager/nm-supplicant-config.c
8939           src/supplicant-manager/nm-supplicant-config.h
8940                 - (nm_supplicant_config_add_option): hide secrets from system logs
8941
8942 2007-09-20  Dan Williams  <dcbw@redhat.com>
8943
8944         * src/NetworkManagerPolicy.c
8945                 - (nm_policy_device_change_check): re-enable the wireless device change
8946                         checking code; insted of checking for SSIDs, check for the same
8947                         connection instead
8948
8949 2007-09-20  Dan Williams  <dcbw@redhat.com>
8950
8951         * src/nm-device-802-11-wireless.c
8952                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8953                         composite link state when determining when to start the disconnection
8954                         timer; that link state is already based on the supplicant interface's
8955                         status which is exactly what's already being examined, plus the link
8956                         state is a conglomeration of various things that we don't want here
8957
8958 2007-09-20  Dan Williams  <dcbw@redhat.com>
8959
8960         * libnm-glib/nm-access-point.c
8961                 - (handle_property_changed): strength is a UCHAR
8962
8963 2007-09-20  Dan Williams  <dcbw@redhat.com>
8964
8965         * src/supplicant-manager/nm-supplicant-config.c
8966                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
8967                         string list keywords too since that's what wpa_supplicant wants
8968
8969 2007-09-20  Dan Williams  <dcbw@redhat.com>
8970
8971         * libnm-util/nm-setting.c
8972                 - (convert_strv_to_slist): dupe the values in the list because since
8973                         the list is a boxed value, it'll get destroyed when it's container
8974                         (like a hash table or whatever) gets destroyed
8975
8976 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8977
8978         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
8979         GSList.
8980
8981         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
8982
8983         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
8984         just use (g_object_set_data_full).
8985
8986         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
8987         that NMSettingVPN->routes is a GSList, convert it to char **.
8988         (nm_vpn_connection_ip4_config_get): Free routes when done.
8989         (nm_vpn_connection_activate): Ditto.
8990
8991         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
8992         (real_act_stage2_config): Use defined setting names.
8993
8994 2007-09-20  Dan Williams  <dcbw@redhat.com>
8995
8996         * src/nm-device-802-11-wireless.c
8997           src/nm-manager.c
8998           src/nm-manager.h
8999                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
9000                         so that the device can be deactivated if secrets are wrong
9001
9002 2007-09-20  Dan Williams  <dcbw@redhat.com>
9003
9004         * introspection/nm-settings-connection.xml
9005           libnm-glib/nm-settings.c
9006           libnm-glib/nm-settings.h
9007                 - Make GetSecrets asynchronous on the server side
9008
9009 2007-09-20  Dan Williams  <dcbw@redhat.com>
9010
9011         * src/nm-manager.h
9012           src/nm-device.c
9013                 - (nm_device_activate): actually check if a given connection
9014                         exists before assuming it doesn't
9015
9016 2007-09-20  Tambet Ingo  <tambet@gmail.com>
9017
9018         * libnm-util/nm-connection.c (register_default_creators): Use defined
9019         setting names. Register NMSettingVPN and NMSettingVPNProperties.
9020
9021         * libnm-util/nm-setting.c: Define property name strings, use them.
9022         Implement NMSettingVPN and NMSettingVPNProperties settings.
9023         Implement NM_S_TYPE_GVALUE_HASH.
9024         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
9025         (setting_connection_verify): Rename 'devtype' property to 'type'.
9026
9027         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
9028         properties.
9029
9030         * src/vpn-manager/nm-vpn-service.c: Ditto.
9031
9032         * src/vpn-manager/nm-vpn-connection.c: Ditto.
9033
9034         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
9035         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
9036
9037         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
9038         names. NMSettingConnection->devtype got renamed to 'type'.
9039
9040         * src/nm-device-802-3-ethernet.c (find_best_connection):
9041         (real_get_best_connection): Ditto.
9042
9043         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
9044
9045         * libnm-glib/nm-vpn-manager.[ch]: Update.
9046
9047 2007-09-19  Dan Williams  <dcbw@redhat.com>
9048
9049         * src/NetworkManagerAP.c
9050           src/NetworkManagerAP.h
9051           introspection/nm-access-point.xml
9052                 - Change strength-changed signal into a properties-changed signal
9053                         for all properties, not just strength.  Export that signal over dbus
9054                         so listeners don't have to poll NM for changes.
9055                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
9056                         get exported over D-Bus, so break up the logic and let other bits
9057                         decided when to export the AP
9058                 - (nm_ap_new_from_ap): remove, unused
9059
9060         * src/nm-device-802-11-wireless.c
9061                 - (merge_scanned_ap): only export APs that are actually on the device
9062                         list, not every AP created internally
9063
9064         * libnm-glib/nm-access-point.c
9065           libnm-glib/nm-access-point.h
9066                 - Cache properties internally and only hit DBus when needed.  Get
9067                         property updates from NM signals
9068
9069 2007-09-16  Dan Williams  <dcbw@redhat.com>
9070
9071         * libnm-util/nm-connection.c
9072           libnm-util/nm-connection.h
9073                 - (nm_connection_for_each_setting_value): new function; iterate over
9074                         each setting's value and call a user-provided function with details
9075                         about that value
9076
9077         * libnm-util/nm-setting.c
9078           libnm-util/nm-setting.h
9079                 - (nm_setting_enumerate_values): new function; enumerate the values
9080                         of a specific NMSetting subclass for a user-provided function with
9081                         details about that value
9082                 - Change wep_tx_keyidx to a uint32
9083                 - Create settings value tables for each setting defining their type,
9084                         key name, offset into the NMSetting subclass' structure, and whether
9085                         they are required and/or a secret
9086                 - (nm_setting_populate_from_hash): generic function to populate an
9087                         NMSetting from a GHash table, make all settings use it
9088                 - (nm_setting_hash): generic function to derive a GHashTable from
9089                         an NMSetting object, make all settings use it
9090
9091 2007-09-14  Dan Williams  <dcbw@redhat.com>
9092
9093         Remove unused stuff in libnm-util
9094
9095         * configure.in
9096           libnm-util/Makefile.am
9097           libnm-util/cipher-private.h
9098           libnm-util/cipher-wep-ascii.c
9099           libnm-util/cipher-wep-ascii.h
9100           libnm-util/cipher-wep-hex.c
9101           libnm-util/cipher-wep-hex.h
9102           libnm-util/cipher-wep-passphrase.c
9103           libnm-util/cipher-wep-passphrase.h
9104           libnm-util/cipher-wpa-psk-hex.c
9105           libnm-util/cipher-wpa-psk-hex.h
9106           libnm-util/cipher-wpa-psk-passphrase.c
9107           libnm-util/cipher-wpa-psk-passphrase.h
9108           libnm-util/cipher.c
9109           libnm-util/cipher.h
9110           libnm-util/dbus-helpers.c
9111           libnm-util/dbus-helpers.h
9112           libnm-util/gnome-keyring-md5.c
9113           libnm-util/gnome-keyring-md5.h
9114           libnm-util/sha1.c
9115           libnm-util/sha1.h
9116           src/nm-device-802-11-wireless.c
9117           test/libnm-util/Makefile.am
9118           test/libnm-util/test-ciphers.c
9119           test/libnm-util/test-dbus-helpers.c
9120           test/libnm-util/test-inputs.h
9121                 - Removed
9122
9123 2007-09-14  Dan Williams  <dcbw@redhat.com>
9124
9125         * libnm-util/dbus-method-dispatcher.c
9126           libnm-util/dbus-method-dispatcher.h
9127                 - Remove, unused
9128
9129 2007-09-14  Dan Williams  <dcbw@redhat.com>
9130
9131         Implement deferred activation support in the device class.
9132
9133         * src/nm-device-interface.c
9134           src/nm-device-interface.h
9135                 - (nm_device_interface_activate): take more arguments to support
9136                         deferred activation; callers must pass one of (connection) OR
9137                         (service_name, connection_path)
9138                 - (impl_device_activate): connection validation is punted to the device
9139                         to be able to handle deferred activation.  Yes, this means errors
9140                         don't get returned from the Activate() dbus call, and yes, that
9141                         should be fixed somehow later.
9142
9143         * src/nm-device.c
9144           src/nm-device.h
9145                 - (clear_act_request): clear additional deferred activation stuff too
9146                 - (deferred_activation_timeout_cb): new function; clean up when
9147                         deferred activation times out.
9148                 - (deferred_activation_start_cb): new function; when the connection
9149                         finally becomes available, start device activation
9150                 - (nm_device_activate): attach to the right signals of the activation
9151                         request if we need to defer activation until the connection is valid
9152
9153         * src/NetworkManagerPolicy.c
9154                 - (nm_policy_device_change_check): update for additional arguments
9155                         required for nm_device_interface_activate().  Pass NULL for these
9156                         though because this function already knows exactly which
9157                         NMConnection to use
9158
9159 2007-09-14  Dan Williams  <dcbw@redhat.com>
9160
9161         Implement deferred activation handling in the NMActRequest class.  When a
9162         client wants to activate a device but must create the NMConnection details
9163         on the fly, there likely hasn't been enough time yet for NM to receive the
9164         new connection signal and grab all the connection details.  So the
9165         activation is deferred (and bounded by a timer) for a while, and if the
9166         connection appears within the window, it is activated.
9167
9168         * src/nm-activation-request.c
9169           src/nm-activation-request.h
9170                 - (nm_act_request_class_init): two new signals to support deferred
9171                         activation, to allow the listener to handle both timeout and success
9172                 - (nm_act_request_new_deferred): new function, starts the deferred
9173                         activation timeout handler and listens to the NMManager for
9174                         new-connection signals to notice when the connection comes in
9175
9176 2007-09-14  Dan Williams  <dcbw@redhat.com>
9177
9178         * src/nm-manager.h
9179           src/nm-manager.c
9180                 - (nm_manager_get_connection_service_name,
9181                    nm_manager_get_connection_dbus_path): get details about a connection
9182                         known internally by the NMManager
9183                 - (nm_manager_class_init): fix connection add/remove signal marshalers
9184                         because NMConnection is now a GObject subclass
9185                 - Use constant for the gobject data tag used on NMConnection objects for
9186                         storing the associated DBusGProxy
9187
9188 2007-09-14  Dan Williams  <dcbw@redhat.com>
9189
9190         * utils/Makefile.am
9191           utils/nm-utils.c
9192           utils/nm-utils.h
9193           src/supplicant-manager/Makefile.am
9194           src/dhcp-manager/Makefile.am
9195           src/backends/Makefile.am
9196           src/named-manager/Makefile.am
9197           src/ppp-manager/Makefile.am
9198           src/vpn-manager/Makefile.am
9199           test/libnm-util/Makefile.am
9200           test/test-common/Makefile.am
9201                 - Remove utils/; it was unused
9202
9203 2007-09-13  Dan Williams  <dcbw@redhat.com>
9204
9205         * libnm-glib/nm-vpn-manager.h
9206           libnm-glib/nm-vpn-manager.c
9207                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
9208
9209 2007-09-13  Dan Williams  <dcbw@redhat.com>
9210
9211         * src/nm-device-802-3-ethernet.c
9212                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
9213                         netlink monitor carrier signals on dispose, not bring down.  The
9214                         carrier signals should be handled over the entire lifetime of the
9215                         device anyway, not created/destroyed on up or down.
9216
9217 2007-09-13  Dan Williams  <dcbw@redhat.com>
9218
9219         * libnm-glib/nm-device.c
9220           libnm-glib/nm-device.h
9221                 - (nm_device_activate): take a connection object path rather than an
9222                         NMConnection because NMConnection isn't exported over D-Bus and
9223                         therefore it dbus-glib can't automatically get an object path from it
9224
9225 2007-09-13  Dan Williams  <dcbw@redhat.com>
9226
9227         * libnm-util/nm-setting.c
9228                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
9229
9230 2007-09-13  Tambet Ingo  <tambet@gmail.com>
9231
9232         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
9233
9234 2007-09-12  Tambet Ingo  <tambet@gmail.com>
9235
9236         * src/vpn-manager/nm-vpn-connection.[ch]: 
9237         * src/vpn-manager/nm-vpn-manager.[ch]:
9238         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
9239         dbus-glib, GObjects, signals etc.
9240
9241         * libnm-glib/nm-vpn-manager.[ch]: 
9242         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
9243         so much, rewrite these too.
9244
9245         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
9246         the new introspection files.
9247
9248         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
9249
9250         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
9251         the header with the same name from libnm-utils.
9252
9253         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
9254
9255         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
9256
9257         * introspection/nm-vpn-plugin.xml: Implement.
9258
9259         * introspection/nm-vpn-connection.xml: Implement.
9260
9261         * introspection/nm-vpn-manager.xml: Implement.
9262
9263         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
9264         the named manager argument, it can just as easily get it as the caller.
9265         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
9266
9267         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
9268
9269         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
9270
9271         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
9272         libnm-utils.
9273
9274         * libnm-util/nm-connection.c: Ditto.
9275
9276         * src/NetworkManagerMain.h: Remove, it's finally empty.
9277
9278         * configure.in: Remove utils/ from build.
9279
9280         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
9281         of hard-coded strings.
9282
9283         * utils/: Move it over to libnm-util.
9284
9285         * test/Makefile.am: Link against libnm-util now that util/ is gone.
9286
9287         * dispatcher-daemon/Makefile.am: Ditto.
9288
9289         * src/Makefile.am: Ditto.
9290
9291 2007-09-12  Dan Williams  <dcbw@redhat.com>
9292
9293         Wireless connections can be made with config data from the applet now.
9294         
9295         Yay.
9296
9297         * src/supplicant-manager/nm-supplicant-config.h
9298           src/supplicant-manager/nm-supplicant-config.c
9299                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
9300                 - (nm_supplicant_config_add_setting_wireless,
9301                    nm_supplicant_config_add_setting_wireless_security): new functions;
9302                         add key/value pairs from the settings objects to the supplicant
9303                         config
9304
9305         * src/nm-device-802-11-wireless.c
9306                 - (cull_scan_list): fix check to not prune currently associated AP
9307                 - (build_supplicant_config, real_act_stage2_config): call the functions
9308                         of the NMSupplicantConfig that parse settings objects rather than
9309                         doing it manually here
9310
9311 2007-09-12  Dan Williams  <dcbw@redhat.com>
9312
9313         * src/supplicant-manager/nm-supplicant-interface.c
9314           src/supplicant-manager/nm-supplicant-marshal.list
9315                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
9316                         "connection-error" signal arguments should be STRING not CHAR
9317
9318 2007-09-12  Dan Williams  <dcbw@redhat.com>
9319
9320         * src/NetworkManagerUtils.c
9321           src/NetworkManagerUtils.h
9322                 - (nm_utils_hexstr2bin): new function
9323
9324 2007-09-11  Dan Williams  <dcbw@redhat.com>
9325
9326         * src/nm-manager.c
9327                 - (connection_get_settings_cb): emit connection-added signal
9328                 - (connection_removed_cb): uncomment bits for system settings service,
9329                         send connection-removed when appropriate
9330                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
9331                         the stack by trying to g_object_set_data() on something that's
9332                         not a GObject; handle case where settings service returns
9333                         empty settings hash table
9334
9335 2007-09-11  Dan Williams  <dcbw@redhat.com>
9336
9337         * src/NetworkManagerPolicy.c
9338                 - (connection_added, connection_removed): trigger device change checks
9339                         on connection changes
9340
9341 2007-09-11  Dan Williams  <dcbw@redhat.com>
9342
9343         * src/nm-activation-request.c
9344                 - (connection_secrets_updated_cb): fix c&p error in signal emission
9345
9346 2007-09-11  Dan Williams  <dcbw@redhat.com>
9347
9348         * src/nm-device-802-11-wireless.c
9349                 - (real_connection_secrets_updated): fix erroneous check
9350
9351 2007-09-11  Dan Williams  <dcbw@redhat.com>
9352
9353         * introspection/nm-device.xml
9354           libnm-glib/nm-device.c
9355           libnm-glib/nm-device.c
9356                 - Fix Activate call argument borkage; Activate takes 3 arguments
9357
9358 2007-09-11  Dan Williams  <dcbw@redhat.com>
9359
9360         * libnm-glib/nm-access-point.c
9361           libnm-glib/nm-access-point.c
9362                 - (nm_access_point_get_frequency): now returns guint32 to match
9363                         property change on 2007-09-10
9364
9365 2007-09-11  Dan Williams  <dcbw@redhat.com>
9366
9367         * src/nm-device-802-11-wireless.c
9368                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
9369                         somewhere defines 'index' and I missed this one when I fixed the
9370                         shadow declaration errors earlier
9371
9372 2007-09-11  Dan Williams  <dcbw@redhat.com>
9373
9374         * libnm-util/nm-connection.c
9375                 - (nm_connection_update_secrets, need_secrets_check): move
9376                         802-11-wireless-security need_secrets checks to the setting object
9377                         itself, where it belongs
9378
9379         * libnm-util/nm-setting.c
9380           libnm-util/nm-setting.h
9381                 - (nm_setting_need_secrets): new function
9382                 - (setting_wireless_security_verify,
9383                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
9384                 - (setting_wireless_security_need_secrets): mostly copy code over
9385                         from nm-connection.c
9386
9387 2007-09-11  Dan Williams  <dcbw@redhat.com>
9388
9389         * libnm-util/nm-setting.c
9390           libnm-util/nm-setting.h
9391                 - (nm_setting_update_secrets): new function; add a virtual function that
9392                         subclasses can implement to update their secrets
9393                 - (setting_wireless_security_update_secrets): implement that function
9394                         for the 802-11-wireless-security subclass
9395
9396         * libnm-util/nm-connection.c
9397           libnm-util/nm-connection.h
9398                 - (nm_connection_update_secrets): update secrets for a Setting and
9399                         emit a signal on success
9400
9401         * src/nm-manager.c
9402           src/nm-manager.h
9403           src/nm-marshal.list
9404                 - (connection_get_settings_cb): enable system settings bits
9405                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
9406                         to request secrets from the settings dbus service and to
9407                         push those secrets to the NMConnection itself
9408
9409         * src/nm-activation-request.c
9410           src/nm-activation-request.h
9411                 - Attach to the 'secrets-updated' signal of the NMConnection that's
9412                         currently being activated, and proxy that signal to other listeners.
9413                         Goes through the activation request because the activation request
9414                         is the thing that manages the lifetime of the NMConnection that's
9415                         being activated.
9416
9417         * src/nm-device-802-11-wireless.c
9418                 - (real_connection_secrets_updated): implement the connection secrets
9419                         updated notification and restart activation when secrets are
9420                         received
9421                 - (real_act_stage2_config): request secrets from the settings dbus
9422                         service if secrets are needed
9423
9424         * src/nm-device.c
9425           src/nm-device.h
9426                 - (clear_act_request, nm_device_activation_cancel,
9427                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
9428                         where the activation request is cleared
9429                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
9430                         updated secrets signal of activation request and add a function
9431                         that subclasses can override to handle it easily
9432
9433 2007-09-11  Tambet Ingo  <tambet@gmail.com>
9434
9435         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
9436         removal of NetworkManagerAPList.
9437
9438 2007-09-10  Dan Williams  <dcbw@redhat.com>
9439
9440         * src/NetworkManagerAP.c
9441           src/NetworkManagerAP.h
9442           introspection/nm-access-point.xml
9443                 - Change 'freq' property to a guint32 instead of a double since we
9444                         weren't using the floating point bits anyway
9445
9446 2007-09-10  Dan Williams  <dcbw@redhat.com>
9447
9448         * NetworkManagerAP.c
9449           NetworkManagerAP.h
9450           NetworkManagerPolicy.c
9451           NetworkManagerSystem.c
9452           NetworkManagerUtils.c
9453           NetworkManagerUtils.h
9454           nm-device-802-11-wireless.c
9455           nm-device-802-3-ethernet.c
9456           nm-hal-manager.c
9457           nm-manager.c
9458           vpn-manager/nm-dbus-vpn.c
9459                 - Warning fixes; casts and removal of unused variables
9460
9461 2007-09-10  Dan Williams  <dcbw@redhat.com>
9462
9463         * include/NetworkManager.h
9464                 - Kill NMNetworkType; AP types don't matter any more
9465
9466         * src/NetworkManagerAPList.c
9467           src/NetworkManagerAPList.h
9468           src/Makefile.am
9469                 - Kill; NMAccessPointList has outlived it's usefulness
9470
9471         * src/NetworkManagerAP.c
9472           src/NetworkManagerAP.h
9473                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
9474                         functions; check if an NMConnection object is compatible with the
9475                         settings of this AP
9476                 - (freq_to_channel, channel_to_freq): utility functions for
9477                         channel <-> frequency conversion
9478
9479         * src/nm-device.c
9480           src/nm-device.h
9481                 - (nm_device_get_best_connection): pass the specific object around
9482                          (which might be the object path of a specific AP to connect to).
9483                          The get_best_connection() call should populate this on return
9484                          if needed (wireless does).
9485
9486         * src/nm-device-802-3-ethernet.c
9487                 - (real_get_best_connection): handle specific_object argument
9488
9489         * src/NetworkManager.c
9490           src/NetworkManagerMain.h
9491                 - Remove unused includes
9492
9493         * src/nm-device-802-11-wireless.c
9494           src/nm-device-802-11-wireless.h
9495                 - Convert the ap_list into a GSList from an NMAccessPointList
9496                 - No need for caching the 'activation_ap' since this is now determined
9497                         from the specific_object of the activation request, which is
9498                         populated from the get_best_connection() call or from a user request
9499                 - (nm_device_802_11_wireless_update_bssid): fix warning
9500                 - (get_wireless_capabilities): fix error message format arguments
9501                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
9502                 - (find_best_connection, real_get_best_connection): implement
9503                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
9504                         move here from NetworkManagerAPList
9505                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
9506                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
9507                         already verified earlier
9508                 - (real_act_stage2_config): use nm_connection_need_secrets()
9509
9510         * src/NetworkManagerPolicy.c
9511                 - (nm_policy_auto_get_best_device): handle specific objects
9512                 - (create_connection): remove; automatic connection creation functionality
9513                         is handled by the Connection objects
9514                 - (nm_policy_device_change_check): handle specific_object
9515
9516         * libnm-util/nm-connection.c
9517                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
9518
9519 2007-09-10  Dan Williams  <dcbw@redhat.com>
9520
9521         * src/nm-manager.c
9522                 - (query_connections): fix uninitialized variable problem that caused
9523                         segfault
9524                 - (nm_manager_add_device): take devices down on startup so that we can
9525                         be assured that nm_device_is_up() won't short-circuit the init
9526                         process.  Hack until the is_up check gets split into two pieces
9527                         that aren't behaviorally confusing.
9528
9529 2007-09-09  Dan Williams  <dcbw@redhat.com>
9530
9531         * introspection/nm-device.xml
9532                 - The 'Activate' method now takes 3 arguments, a service name for the
9533                 settings service (user or system), the object path of the connection
9534                 to activate, and the specific object to activate, if any
9535
9536         * src/nm-device-interface.c
9537                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
9538                 Add error bits
9539                 - (impl_device_activate): adapt to new Activate arguments; validate
9540                 the service name and get the Connection object from the NMManager
9541                 before starting to activate the device with the specified connection
9542
9543         * src/nm-device-802-3-ethernet.c
9544                 - (real_get_best_connection): find the best connection, or create a
9545                 default one if no existing connections can be used
9546
9547         * src/NetworkManagerPolicy.c
9548                 - (nm_policy_auto_get_best_device): Get the device's best connection
9549                 and only pick the device if it has one
9550                 - (nm_policy_device_change_check): disable wireless bits for now until
9551                 wireless get_best_connection() can be implemented (replacing "best_ap");
9552                 don't create a default connection here as the device subclass will do
9553                 that if needed
9554
9555         * src/nm-manager.h
9556           src/nm-manager.c
9557                 - (nm_manager_get): make NMManager a singleton and expose the getter
9558                 internally
9559                 - Rework internal NMManager connection handling to use the same
9560                 routines for both the system and user settings services.  Most calls
9561                 take a new NMConnectionType argument specifying either system or user
9562                 connections
9563                 - (nm_manager_get_connection_by_object_path): new function; get a
9564                 connection keyed on its object path
9565
9566         * src/NetworkManager.c
9567                 - (main): use nm_manager_get()
9568
9569 2007-09-09  Dan Williams  <dcbw@redhat.com>
9570
9571         * src/nm-device.h
9572           src/nm-device.c
9573                 - (nm_device_get_best_connection): new function; get best connection
9574                         for the device at that time
9575
9576 2007-09-09  Dan Williams  <dcbw@redhat.com>
9577
9578         * src/nm-device-interface.h
9579                 - Add NMDeviceInterfaceError with an UnknownConnection error
9580
9581 2007-09-09  Dan Williams  <dcbw@redhat.com>
9582
9583         Stupid mistake on my part; object path and interface for settings service
9584         and connection objects can be the same, only the service name must be
9585         different for the system and user settings services.
9586
9587         * include/NetworkManager.h
9588           src/nm-manager.c
9589           introspection/nm-settings-connection.xml
9590           introspection/nm-settings.xml
9591           libnm-glib/nm-settings.c
9592                 - (nm_connection_settings_init, query_user_connections,
9593                    new_connection_cb): Unify NetworkManagerSettings and Connection
9594                    interface name and object path
9595
9596 2007-09-06  Dan Williams  <dcbw@redhat.com>
9597
9598         * libnm-glib/nm-object.c
9599                 - (nm_object_get_string_property, nm_object_get_object_path_property,
9600                    nm_object_get_int_property, nm_object_get_uint_property,
9601                    nm_object_get_boolean_property, nm_object_get_byte_property,
9602                    nm_object_get_double_property, nm_object_get_byte_array_property):
9603                         clear GValues after copying their contents, fixes memory leaks
9604                         after every property access because dbus-glib copies the values
9605                         from the DBusMessage into the GValue already.
9606
9607 2007-09-06  Dan Williams  <dcbw@redhat.com>
9608
9609         * introspection/nm-access-point.xml
9610                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
9611                         them to be.  There's some magic property name parsing going on in
9612                         dbus-glib that breaks up property names based on studly-caps and
9613                         puts - between words.
9614
9615         * libnm-glib/nm-access-point.c
9616                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
9617                         Fix property names
9618
9619 2007-09-06  Dan Williams  <dcbw@redhat.com>
9620
9621         * src/nm-manager.c
9622                 - (nm_manager_user_connections_destroy): clear the user connections hash
9623                         table, don't destroy it
9624                 - (finalize): only destroy the hash table on NMManager finalization
9625
9626 2007-09-02  Dan Williams  <dcbw@redhat.com>
9627
9628         * include/NetworkManager.h
9629           libnm-glib/nm-settings.c
9630                 - defines for the user settings daemon D-Bus bits
9631
9632         * src/NetworkManager.c
9633                 - Remove stuff that referred to the old NetworkManagerInfo service
9634
9635         * src/vpn-manager/nm-dbus-vpn.h
9636                 - Move old NMI defines to the only place they are used still
9637
9638         * libnm-util/nm-connection.c
9639           libnm-util/nm-connection.h
9640           src/nm-activation-request.c
9641                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
9642
9643         * src/nm-manager.c
9644           src/nm-manager.h
9645                 - Get connections and their settings from the user settings daemon
9646                         at the appropriate times
9647
9648 2007-09-02  Dan Williams  <dcbw@redhat.com>
9649
9650         * libnm-util/nm-setting.c
9651                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
9652                 - (setting_wireless_hash): set the right value on the item
9653
9654 2007-09-02  Dan Williams  <dcbw@redhat.com>
9655
9656         * test/Makefile.am
9657           test/nminfotest.c
9658                 - Remove, no longer useful
9659
9660 2007-08-30  Dan Williams  <dcbw@redhat.com>
9661
9662         * src/Makefile.am
9663           src/NetworkManagerDbus.c
9664           src/NetworkManagerDbus.h
9665           src/vpn-manager/nm-dbus-vpn.c
9666                 - Remove, no longer necessary.  Move last bits to the only place its
9667                 used, in nm-dbus-vpn.c
9668
9669         * src/NetworkManagerAPList.c
9670           src/nm-device.c
9671           src/NetworkManager.c
9672           src/nm-device-802-11-wireless.c
9673           src/vpn-manager/nm-vpn-manager.c
9674           src/vpn-manager/nm-vpn-service.c
9675           src/NetworkManagerPolicy.c
9676           src/nm-manager.c
9677                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
9678                 that was message_is_error()
9679
9680 2007-08-30  Dan Williams  <dcbw@redhat.com>
9681
9682         * libnm-util/sha1.c
9683                 - Include config.h to get defines for endiannes (gnome.org #420216)
9684
9685 2007-08-30  Dan Williams  <dcbw@redhat.com>
9686
9687         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
9688
9689         * src/ppp-manager/Makefile.am
9690                 - use -fPIC (gnome.org #471825)
9691
9692 2007-08-29  Dan Williams  <dcbw@redhat.com>
9693
9694         * include/NetworkManager.h
9695                 - Keep NMConnection object path in sync
9696
9697         * libnm-glib/nm-settings.c
9698           libnm-glib/nm-settings.h
9699                 - Break D-Bus object registration out of the init function, because
9700                 every object that's exported over D-Bus needs to use the _same_
9701                 DBusConnection.  Otherwise, each object would get a different object
9702                 path tree and wouldn't be callable.
9703
9704 2007-08-29  Dan Williams  <dcbw@redhat.com>
9705
9706         * libnm-util/nm-setting.h
9707           libnm-util/nm-setting.c
9708           libnm-util/nm-connection.c
9709           src/NetworkManagerPolicy.c
9710                 - 'info' settings object should be 'connection' says the spec
9711                 at NetworkManagerConfigurationSpecification
9712
9713 2007-08-29  Dan Williams  <dcbw@redhat.com>
9714
9715         * libnm-glib/nm-settings.c
9716           libnm-glib/nm-settings.h
9717                 - make the dbus path a property of the object, and autogenerate it.
9718                 It can't be composed of the 'id' field becuase that's not available
9719                 yet during the GObject creation in nm_connection_settings_init()
9720
9721 2007-08-29  Dan Williams  <dcbw@redhat.com>
9722
9723         * introspection/nm-settings-connection.xml
9724           introspection/nm-settings.xml
9725                 - Service name -> NetworkManagerUserSettings because two services
9726                 can't share part of the same path.  I'm not really sure how we'll use
9727                 the same code with the system-settings daemon...
9728
9729 2007-08-28  Dan Williams  <dcbw@redhat.com>
9730
9731         * src/nm-device-interface.c
9732           src/nm-device-interface.h
9733                 - Kill one more bit of NMData
9734
9735 2007-08-28  Dan Williams  <dcbw@redhat.com>
9736
9737         * src/NetworkManagerSystem.h
9738           src/nm-device.c
9739           src/nm-device.h
9740           src/nm-hal-manager.c
9741           src/NetworkManager.c
9742           src/nm-device-802-11-wireless.c
9743           src/nm-hal-manager.h
9744           src/nm-device-802-3-ethernet.c
9745           src/vpn-manager/nm-vpn-service.h
9746           src/vpn-manager/nm-vpn-manager.c
9747           src/vpn-manager/nm-vpn-manager.h
9748           src/vpn-manager/nm-vpn-service.c
9749           src/nm-device-802-11-wireless.h
9750           src/NetworkManagerMain.h
9751           src/nm-device-802-3-ethernet.h
9752           src/backends/NetworkManagerGentoo.c
9753           src/backends/NetworkManagerPaldo.c
9754           src/backends/NetworkManagerFrugalware.c
9755           src/backends/NetworkManagerRedHat.c
9756           src/backends/NetworkManagerSlackware.c
9757           src/backends/NetworkManagerGeneric.c
9758           src/backends/NetworkManagerArch.c
9759           src/backends/NetworkManagerSuSE.c
9760           src/backends/NetworkManagerGeneric.h
9761           src/backends/NetworkManagerDebian.c
9762                 - Kill NMData
9763
9764 2007-08-28  Dan Williams  <dcbw@redhat.com>
9765
9766         * src/NetworkManagerMain.h
9767           src/nm-device-802-11-wireless.c
9768           src/NetworkManager.c
9769                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9770                 for now we should set the 'invalid' property on individual APs, and when
9771                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9772                 that ESS
9773
9774 2007-08-28  Dan Williams  <dcbw@redhat.com>
9775
9776         * src/NetworkManagerAP.c
9777           src/NetworkManagerAP.h
9778                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9779                         'autoconnect' property instead
9780
9781         * src/NetworkManager.c
9782           src/NetworkManagerMain.h
9783           src/NetworkManagerPolicy.c
9784           src/NetworkManagerPolicy.h
9785                 - Remove the 'allowed_ap_list', which should be replaced by 
9786                         NMConnection/NMSettings instead, since _those_ are the allowed
9787                         things that NM can connect to
9788
9789         * src/nm-device-802-11-wireless.c
9790                 - Remove both allowed_ap_list usage and 'fallback' checking
9791
9792 2007-08-28  Dan Williams  <dcbw@redhat.com>
9793
9794         * src/nm-device.c
9795           src/named-manager/nm-named-manager.c
9796           src/named-manager/nm-named-manager.h
9797           src/NetworkManager.c
9798           src/vpn-manager/nm-vpn-manager.c
9799           src/NetworkManagerMain.h
9800           src/NetworkManagerSystem.c
9801                 - Remove the named-manager object from NMData structure in preparation
9802                 for NMData's timely death.  Make the NMNamedManager the singleton that
9803                 it really is
9804
9805 2007-08-28  Dan Williams  <dcbw@redhat.com>
9806
9807         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9808         each AP's capabilities, and by NMConnection/NMSettings objects for user
9809         defined connections.
9810
9811         * include/NetworkManager.h
9812                 - Redefine 802.11 security properties.  There are now device capabilities
9813                         and AP flags and AP security flags.  It was way to unclear before.
9814
9815         * src/Makefile.am
9816           src/nm-ap-security-leap.h
9817           src/nm-ap-security-leap.c
9818           src/nm-ap-security-wpa-eap.c
9819           src/nm-ap-security-wpa-eap.h
9820           src/nm-ap-security-private.h
9821           src/nm-ap-security-wpa-psk.c
9822           src/nm-ap-security-wpa-psk.h
9823           src/nm-ap-security-wep.c
9824           src/nm-ap-security-wep.h
9825           src/nm-ap-security.c
9826           src/nm-ap-security.h
9827                 - Removed, to be replaced with NMConnection/NMSettings objects
9828
9829         * src/nm-dbus-nmi.c
9830           src/nm-dbus-nmi.h
9831                 - Removed, to be replaced by code that talks to the new info daemon
9832                         interface and gets NMConnection/NMSettings objects
9833
9834         * src/backends/NetworkManagerSuSE.c
9835                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9836                         info-daemon that does the same thing but talks the new info-daemon
9837                         D-Bus interface
9838
9839         * src/NetworkManagerAP.h
9840           src/NetworkManagerAP.c
9841           src/NetworkManagerAPList.c
9842           libnm-glib/libnm-glib-test.c
9843                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9844                         WPA/RSN
9845
9846         * libnm-glib/nm-access-point.c
9847           libnm-glib/nm-access-point.h
9848           introspection/nm-access-point.xml
9849           test/nm-tool.c
9850                 - Adjust to new flags for AP security
9851
9852         * utils/nm-utils.c
9853           utils/nm-utils.h
9854           src/vpn-manager/nm-dbus-vpn.c
9855                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9856                         stuff which is the only place it's used
9857
9858         * src/nm-device-interface.c
9859           src/nm-device-interface.h
9860           introspection/nm-device.xml
9861           src/nm-activation-request.c
9862           src/nm-activation-request.h
9863           src/nm-device.c
9864                 - Add a new 'specific_object' argument that hints to NM what actual
9865                         AP or other device-specific thing the connection should apply to.
9866                         NMConnection objects can apply to more than one actual device/AP.
9867
9868         * libnm-util/nm-connection.c
9869         * libnm-util/nm-connection.h
9870                 - Add 'have_secrets" call stubs
9871
9872         * libnm-util/cipher.h
9873                 - Move NM_AUTH_TYPE_* defines here for now
9874
9875         * src/nm-device-802-11-wireless.c
9876                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9877                         NMSettings objects
9878
9879         * src/NetworkManagerDbus.c
9880         * src/NetworkManagerPolicy.c
9881                 - Remove usage of update_allowed_networks, should be pushing data in
9882                         a different manner
9883
9884 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9885
9886         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9887         dbus-glib frees it when the call is done.
9888
9889 2007-08-26  Dan Williams  <dcbw@redhat.com>
9890
9891         * introspection/nm-device.xml
9892                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9893
9894 2007-08-26  Dan Williams  <dcbw@redhat.com>
9895
9896         * src/nm-device-802-3-ethernet.c
9897                 - (constructor): move connection of interface-connected/disconnected
9898                         signals here from real_bring_up().  Should be listening to netlink
9899                         for carrier events no matter what the initial state of the device
9900                         is.
9901
9902 2007-08-26  Dan Williams  <dcbw@redhat.com>
9903
9904         * src/nm-netlink-monitor.c
9905                 - (nm_netlink_monitor_class_init): fix marshalling types for
9906                         interface-connected/interface-disconnected
9907                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9908                         check
9909
9910 2007-08-26  Dan Williams  <dcbw@redhat.com>
9911
9912         Convert to using interface indexes as the primary method of identifying
9913         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9914         be renamed at any time.  Device object paths now refer to the device
9915         index rather than the name, and you can map those two manually if you like
9916         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9917         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9918         to use interface indexes rather than names.
9919
9920 2007-08-26  Dan Williams  <dcbw@redhat.com>
9921
9922         * src/nm-netlink-monitor.h
9923                 - Remove one last bit of wireless-event signal
9924
9925 2007-08-26  Dan Williams  <dcbw@redhat.com>
9926
9927         * src/nm-netlink-monitor.c
9928                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9929                         don't need the 'wireless-event' signal anymore since that's all
9930                         handled by wpa_supplicant
9931
9932 2007-08-25  Dan Williams  <dcbw@redhat.com>
9933
9934         It's 2007. Remove support for drivers that don't support wireless scanning.
9935
9936         * test/nm-tool.c
9937           include/NetworkManager.h
9938           src/NetworkManagerUtils.c
9939           src/NetworkManagerPolicy.c
9940           src/nm-device-802-11-wireless.c
9941                 - Remove special handling for non-scanning devices and mark them
9942                         as unsupported/unhandled
9943
9944 2007-08-20  Dan Williams  <dcbw@redhat.com>
9945
9946         * src/nm-device-802-11-wireless.c
9947           src/nm-device-802-3-ethernet.c
9948                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9949                         because when the card is pulled or the module removed, the device
9950                         is already !IFF_UP and then device-specific cleanup (removing
9951                         the supplicant interface, periodic checks, etc) never gets done
9952
9953 2007-08-20  Dan Williams  <dcbw@redhat.com>
9954
9955         * src/nm-manager.c
9956                 - (nm_manager_remove_device): bring device down before disconnecting
9957                         signal handlers, so that the 'state' signal will get broadcast when
9958                         the device enters the DOWN state
9959                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
9960                         of states that cause the NMManager to recheck its state
9961
9962 2007-08-20  Dan Williams  <dcbw@redhat.com>
9963
9964         * src/supplicant-manager/nm-supplicant-interface.c
9965                 - (interface_disconnect_done): don't try to dispose of the net proxy
9966                         when it may already have been disposed of
9967
9968 2007-08-20  Dan Williams  <dcbw@redhat.com>
9969
9970         * src/nm-device-802-11-wireless.c
9971                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
9972                         the SSID isn't available; this can happen when the card is pulled
9973                         or the module unloaded, during the post-removal deactivation
9974                         paths, when the ioctl returns ENODEV
9975
9976 2007-08-20  Dan Williams  <dcbw@redhat.com>
9977
9978         * src/nm-device-802-11-wireless.c
9979                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
9980                         frequency, and mode match.  Applets are now responsible for grouping
9981                         access points
9982
9983 2007-08-20  Dan Williams  <dcbw@redhat.com>
9984
9985         * src/NetworkManagerAP.c
9986         * src/NetworkManagerAP.h
9987                 - (nm_ap_print_self): new function
9988
9989         * src/NetworkManagerAPList.c
9990                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
9991                         to do it all here
9992         
9993 2007-08-17  Dan Williams  <dcbw@redhat.com>
9994
9995         * src/nm-device-802-3-ethernet.c
9996                 - (real_bring_down): don't try to dispose of stuff that might not
9997                         exist
9998
9999 2007-08-17  Dan Williams  <dcbw@redhat.com>
10000
10001         * src/NetworkManagerAP.c
10002                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
10003                         applet.  This ensures that the case between the seen-bssids and
10004                         the bssids reported by the driver match.
10005
10006 2007-08-17  Dan Williams  <dcbw@redhat.com>
10007
10008         * src/nm-device-802-11-wireless.c
10009                 - (device_cleanup): disconnect the interface in wpa_supplicant before
10010                         we dispose of the interface proxy in NM
10011
10012 2007-08-16  Dan Williams  <dcbw@redhat.com>
10013
10014         * libnm-glib/nm-client.c
10015                 - (nm_client_init): create VPN connections hash table with key free
10016                         function
10017                 - (proxy_vpn_connection_added): VPN connections hash table key should
10018                         be a duplicated value, not the same memory address as the VPN
10019                         connection name.  This is because the VPN connection name could
10020                         potentially be freed and set to something else during the lifetime
10021                         of the NMVPNConnection object.
10022
10023 2007-08-16  Tambet Ingo  <tambet@gmail.com>
10024
10025         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
10026         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
10027         with the file descriptors. Send a child setup function to change the pppd
10028         progress group.
10029
10030 2007-08-15  Dan Williams  <dcbw@redhat.com>
10031
10032         * src/supplicant-manager/nm-supplicant-interface.c
10033                 - (try_remove_iface): new function, ask wpa_supplicant to remove
10034                         an interface
10035                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
10036                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
10037                         happens on hotplug if wpa_supplicant doesn't tear down and readd
10038                         the interface internally
10039
10040 2007-08-15  Dan Williams  <dcbw@redhat.com>
10041
10042         * src/nm-device-802-11-wireless.c
10043                 - (real_bring_down): move most of this function into device_cleanup()
10044                         so that it can be called from elsewhere
10045                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
10046                         and stuff on dispose.  These would normally get cleaned up when
10047                         the device is marked down and deactivated, but when the device is
10048                         hot-unplugged, it's already down and real_down() never gets run
10049
10050 2007-08-15  Dan Williams  <dcbw@redhat.com>
10051
10052         * src/nm-dbus-nmi.c
10053                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
10054                         caused a reference leak on device for which NM requested a key
10055
10056 2007-08-15  Dan Williams  <dcbw@redhat.com>
10057
10058         * libnm-glib/nm-client.c
10059                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
10060
10061 2007-08-15  Tambet Ingo  <tambet@gmail.com>
10062
10063         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
10064         nothing is using it at the moment, but it'll be all useful and stuff later on.
10065
10066         * libnm-util/nm-setting.h: Define NMSettingPPP.
10067
10068         * libnm-util/nm-setting.c: Implement NMSettingPPP.
10069
10070         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
10071
10072         * src/Makefile.am: Add ppp-manager to SUBDIRS.
10073
10074         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
10075
10076         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
10077
10078 2007-08-14  Tambet Ingo  <tambet@gmail.com>
10079
10080         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
10081
10082         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
10083         an issue with dbus-glib bindings generator. The issue is, the generated C caller
10084         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
10085         name and different arguments and it won't compile anymore. To fix this, we now have
10086         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
10087         that is new API + compatibility API and used by the daemon. The other, 
10088         nm-manager-client.xml is only the new API without compatibility bits and is used
10089         by libnm-glib to make it compile.
10090
10091         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
10092
10093         * src/nm-manager.c (impl_manager_legacy_sleep)
10094         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
10095         interface functions for 0.6 branch.
10096
10097 2007-08-14  Dan Williams  <dcbw@redhat.com>
10098
10099         * src/NetworkManagerAP.c
10100                 - (nm_ap_new_from_properties): fix mistaken check of return value
10101                         from memcmp (should expect 0)
10102
10103 2007-08-14  Dan Williams  <dcbw@redhat.com>
10104
10105         (force-commit to fix wrong comment and partial commit of r2685; this
10106          commit actually applies to r2685)
10107
10108         * src/NetworkManagerUtils.c
10109                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
10110                         ignores trailing nulls in the SSID to work around mismatches in
10111                         expectations between WEXT and what the info-daemon passes back.  The
10112                         info-daemon would pass back the correct length, but due to the
10113                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
10114                         the device would always have an SSID + 1 depending on what versions
10115                         of wpa_supplicant, the kernel, and NM you have.  This was most often
10116                         visible by just quitting the applet and relaunching, which caused
10117                         NM to reassociated to the same network over again when reloading
10118                         the save networks.
10119
10120         * src/NetworkManagerPolicy.c
10121           src/NetworkManagerUtils.h
10122           src/nm-device-802-11-wireless.c
10123                 - Update for new parameter to nm_utils_same_ssid()
10124
10125 2007-08-14  Dan Williams  <dcbw@redhat.com>
10126
10127         * src/NetworkManagerAP.c
10128                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
10129                         I encountered a BSS that wasn't just hiding it's ESSID, it was
10130                         setting the BSSID to all 0s.  That confused the heck out of NM,
10131                         plus it's useless and probably out-of-spec.
10132
10133 2007-08-14  Dan Williams  <dcbw@redhat.com>
10134
10135         * callouts/Makefile.am
10136           src/dhcp-manager/nm-dhcp-manager.c
10137           src/dhcp-manager/nm-dhcp-manager.h
10138           src/dhcp-manager/Makefile.am
10139                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
10140
10141 2007-08-14  Dan Williams  <dcbw@redhat.com>
10142
10143         * src/dhcp-manager/nm-dhcp-manager.c
10144                 - (dhclient_run): don't pass -x to dhclient until we figure out if
10145                         it's really needed, get rid of unused xtra_args parameter
10146
10147 2007-08-14  Dan Williams  <dcbw@redhat.com>
10148
10149         * include/NetworkManagerVPN.h
10150           src/vpn-manager/nm-dbus-vpn.c
10151           src/vpn-manager/nm-dbus-vpn.h
10152           src/vpn-manager/nm-vpn-act-request.c
10153           src/vpn-manager/nm-vpn-act-request.h
10154           src/vpn-manager/nm-vpn-service.c
10155           src/vpn-manager/nm-vpn-service.h
10156           libnm-glib/nm-vpn-connection.c
10157           libnm-glib/nm-vpn-connection.h
10158           libnm-glib/nm-client.h
10159                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
10160                         NMVPNServiceState to clarify what they apply to
10161                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
10162                         NMVPNActStage -> NMVPNConnectionState for the same reason
10163
10164         * libnm-glib/nm-client.c
10165                 - Constant + type renames from above
10166                 - Properly handle NameOwnerChanged/manager_running signals
10167                         for NM service; only emit when state really changes
10168                 - Use hash tables correctly so that the key (which was previously owned
10169                         by the D-Bus message) now has the same lifetime as the value, since
10170                         the key is now taken from the the NMVPNConnection itself.  This
10171                         really fixes the double-VPN names in the applet
10172
10173 2007-08-13  Dan Williams  <dcbw@redhat.com>
10174
10175         Patch from Michael Biebl <biebl@debian.org>
10176
10177         * po/POTFILES.in
10178           po/POTFILES.skip
10179                 - Update for vpn-properties move
10180
10181 2007-08-13  Dan Williams  <dcbw@redhat.com>
10182
10183         * libnm-glib/nm-client.c
10184                 - Convert internal VPN connection tracking from a list to a hash table
10185                         to easily avoid duplicates
10186                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
10187                         must be freed by the caller, like nm_client_get_devices()
10188                 - (nm_client_remove_vpn_connection): don't let the removal signal
10189                         leak through for NMVPNConnection objects that aren't actually
10190                         tracked.
10191                 - (manager_running): throw away VPN connection list when NM goes away,
10192                         like with the device list
10193
10194 2007-08-13  Dan Williams  <dcbw@redhat.com>
10195
10196         * src/dhcp-manager/nm-dhcp-manager.c
10197                 - Stop any dhclient instance that might be already running for a
10198                         particular interface before starting an NM spawned dhclient.  Fixes
10199                         dhclient processes left over if NM crashes, stuff like that.
10200
10201 2007-08-13  Dan Williams  <dcbw@redhat.com>
10202
10203         * src/NetworkManagerAP.c
10204                 - (finalize): don't try to g_array_free (NULL, ...), which happened
10205                         when the AP wasn't broadcasting it's SSID
10206
10207 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
10208
10209         * include/NetworkManager.h: added DBus path for connection settings.
10210
10211         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
10212         nm_connection_settings_signal_updated,
10213         nm_connection_settings_signal_removed): new functions to wrap the
10214         objects' signals.
10215         (nm_connection_settings_init): register GObject with DBus.
10216         (nm_connection_settings_get_dbus_object_path): new function.
10217
10218         * libnm-glib/Makefile.am: added libnmutil to link flags.
10219
10220 2007-08-13  Tambet Ingo  <tambet@gmail.com>
10221
10222         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
10223
10224         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
10225         libnm_glib directory got merged with libnm-glib/.
10226
10227         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
10228
10229         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
10230         Rename the library from libnm-glib to libnm_glib to maintain the library API
10231         compatibility with 0.6 branch.
10232
10233         * Makefile.am: Remove gnome/ SUBDIR.
10234
10235         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
10236
10237         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
10238
10239         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
10240
10241         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
10242         anymore.
10243         Remove checks for wpa_supplicant binary, it's used over dbus.
10244         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
10245
10246         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
10247         Link the binaries with libnm_glib.la.
10248
10249 2007-08-12  Dan Williams  <dcbw@redhat.com>
10250
10251         * src/NetworkManagerPolicy.c
10252                 - (nm_policy_device_change_check): fix policy to deactivate old device
10253                         before activating new one, at least until the multiple active
10254                         device support lands
10255
10256 2007-08-12  Dan Williams  <dcbw@redhat.com>
10257
10258         * src/NetworkManagerPolicy.c
10259                 - (nm_policy_new): hook up to connection-added / connection-removed
10260                         signals instead of connections-changed
10261
10262 2007-08-12  Dan Williams  <dcbw@redhat.com>
10263
10264         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
10265         Robert Frank <rfrank@redhat.com>
10266
10267         * src/dhcp-manager/nm-dhcp-manager.c
10268           src/dhcp-manager/nm-dhcp-manager.c
10269           src/nm-device.c
10270                 - Spawn and communicate with dhclient directly, through means of a
10271                 custom dhclient callout script.  Process callout D-Bus signals
10272                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
10273                 sent via gobject signals rather than being driven by the dhcp manager
10274                 directly.
10275
10276 2007-08-12  Dan Williams  <dcbw@redhat.com>
10277
10278         * callouts/nm-dhcp-client-action.c
10279                 - (build_message): ignore non-DHCP-related environment variables
10280
10281 2007-08-12  Dan Williams  <dcbw@redhat.com>
10282
10283         * Makefile.am
10284           configure.in
10285           callouts/Makefile.am
10286           callouts/nm-dhcp-client-action.c
10287           callouts/nm-dhcp-client.conf
10288                 - Add dhclient-executed callout that takes the place of dhclient-script
10289                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
10290                 NM then listens for
10291
10292 2007-08-09  Tambet Ingo  <tambet@gmail.com>
10293
10294         [Based on patch by Helmut Schaa <hschaa@suse.de>]
10295
10296         * libnm-glib/nm-client.h:
10297         * libnm-glib/nm-object.h:
10298         * libnm-glib/nm-vpn-connection.h:
10299         * libnm-glib/nm-settings.h:
10300         * libnm-glib/nm-device.h:
10301         * libnm-glib/nm-ip4-config.h:
10302         * libnm-glib/nm-access-point.h:
10303         * libnm-glib/nm-device-802-3-ethernet.h:
10304         * libnm-util/nm-setting.h: 
10305         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
10306
10307         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
10308
10309         * libnm-glib/nm-access-point.c: Strength has type char.
10310
10311         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
10312         to fix build. GnomeDruid is deprecated in recent libgnomeui.
10313
10314         * introspection/nm-access-point.xml: Strength property is char, not int.
10315
10316         * src/NetworkManagerAP.c (set_property): Set strength from char.
10317         (get_property): Handle hidden APs (with empty SSID).
10318         Get strength value from char.
10319         (nm_ap_class_init): Strength property has char type.
10320
10321 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
10322
10323         * introspection/Makefile.am:
10324         * introspection/nm-settings.xml:
10325         * introspection/nm-settings-connection.xml: added Settings interfaces.
10326
10327         * libnm-glib/nm-settings.[ch]:
10328         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
10329         containing the DBus implementation.
10330
10331 2007-07-26  Dan Williams  <dcbw@redhat.com>
10332
10333         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
10334
10335         * src/NetworkManagerSystem.c
10336                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
10337                         same subnet (#437396)
10338
10339 2007-07-26  Dan Williams  <dcbw@redhat.com>
10340
10341         Patch from Kelemen Gábor <kelemeng@gnome.hu>
10342
10343         * gnome/vpn-properties/nm-vpn-properties.c
10344                 - Fix translatable strings (#445865)
10345
10346 2007-07-26  Dan Williams  <dcbw@redhat.com>
10347
10348         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
10349
10350         * configure.in
10351                 - Remove useless junk (#412530)
10352
10353 2007-07-10  Christopher Aillon  <caillon@redhat.com>
10354
10355         Patch from Robert Buchholz <rbu@gentoo.org>:
10356
10357         * configure.in:
10358         * Makefile.am:
10359         * introspection/Makefile.am:
10360         Make make distcheck work again.
10361
10362 2007-06-27  Dan Williams  <dcbw@redhat.com>
10363
10364         * Make SSIDs GByteArrays everywhere
10365         * Rename "essid" -> "ssid" everywhere that's appropriate
10366         * Refcount activation_ap member of the 802.11 wireless device class
10367
10368 2007-06-27  Tambet Ingo  <tambet@ximian.com>
10369
10370         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
10371
10372 2007-06-22  Tambet Ingo  <tambet@ximian.com>
10373
10374         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
10375         that we got a new AP when we just update existing AP properties.
10376
10377 2007-06-21  Tambet Ingo  <tambet@ximian.com>
10378
10379         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
10380
10381         * nm-utils.[ch]: Remove.
10382
10383         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
10384         objects for easy property access and dbus connection handling.
10385
10386         * libnm-glib/nm-client.c: Derive from NMObject.
10387
10388         * libnm-glib/nm-device.c: Ditto.
10389
10390         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
10391
10392         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
10393
10394         * libnm-glib/nm-ip4-config.c: Ditto.
10395
10396         * libnm-glib/nm-access-point.c: Ditto.
10397
10398         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
10399         comparision. Currently used by the device activation code to determine if the new
10400         activation is the same as the old one.
10401
10402         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
10403         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
10404         able to ask password for the AP.
10405
10406         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
10407         up if the device is already connected, tear down it's connection (if it isn't the
10408         same as new one) and start the activation.
10409
10410         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
10411
10412         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
10413         the issue where all APs are always listed as encrypted.
10414
10415         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
10416         their own registered paths.
10417
10418         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
10419         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
10420
10421 2007-06-13  Tambet Ingo  <tambet@ximian.com>
10422
10423         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
10424         (0 & 0 == 0, doh)
10425
10426         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
10427         because the handling code will cause the next state change and signal listeners
10428         get the signals in wrong order.
10429
10430         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
10431         correctly in case of pending activation.
10432
10433         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10434         Convert the essid byte array to string correctly, including the terminating NULL.
10435
10436         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
10437         mode with correct types.
10438
10439         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
10440         constructed info to dbus call instead of the activation request.
10441
10442 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10443
10444         Patch from Christian Persch <chpe@gnome.org>
10445
10446         * libnm-glib/Makefile.am:
10447         * dispatcher-daemon/Makefile.am:
10448         Use the correct variables, the correct paths, and correct ordering. (446315)
10449
10450 2007-06-11  Tambet Ingo  <tambet@ximian.com>
10451
10452         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
10453         argument. The activation request is easy to retrieve.
10454
10455         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
10456         just to be a convenient location for devices to store random stuff.
10457
10458 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10459
10460         Patch from Alex Smith <alex@alex-smith.me.uk>
10461
10462         * src/backends/NetworkManagerFrugalware.c:
10463         Update the FrugalWare backend to fix a few segfaults. (#392642)
10464
10465 2007-06-08  Tambet Ingo  <tambet@ximian.com>
10466
10467         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
10468
10469         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
10470         setting.
10471         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
10472
10473 2007-06-06  Tambet Ingo  <tambet@ximian.com>
10474
10475         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
10476         automagically.
10477         Implement NMSettingIP4Config.
10478         Finish NMSettingWired by adding all known members.
10479         (setting_wired_verify): Implement.
10480         Finish NMSettingWireless by adding all known members.
10481         (setting_wireless_verify): Implement.
10482
10483         * libnm-util/nm-connection.c: Register "ipv4" setting.
10484         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
10485         dump function, we can introspect the GHashTable which is used for sending connections
10486         over dbus.
10487
10488         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10489         Take GByteArray for essid, it's really not a string.
10490
10491         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
10492         Start DHCP request if setting is not passed or if it states that DHCP should be used.
10493         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
10494         means overriding the values we got from DHCP.
10495         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
10496         (nm_device_deactivate_quickly): Ditto.
10497
10498         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
10499         for debugging.
10500
10501 2007-05-07  Tambet Ingo  <tambet@ximian.com>
10502
10503         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
10504         NMConnection.
10505
10506         * libnm-glib/nm-device-802-11-wireless.c:
10507         (nm_device_802_3_ethernet_activate): Remove.
10508
10509         * libnm-glib/nm-device-802-3-ethernet.c
10510         (nm_device_802_3_ethernet_activate): Remove.
10511
10512         * libnm-glib/nm-device.c (nm_device_activate): Implement.
10513
10514         * src/nm-device-802-3-ethernet.c: Implement the new activation using
10515         NMConnection.
10516
10517         * src/nm-device-802-11-wireless.c: Store an activation AP once the
10518         activation has started.
10519         Implement the new activation using NMConnection.
10520
10521         * src/nm-activation-request.c: Store a generic connection object instead
10522         of a wireless-specific AP.
10523
10524         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
10525         on device type, create a device specific connection object suitable for
10526         device activation.
10527
10528         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
10529         specific check to validate the connection and on success start the
10530         activation.
10531
10532         * src/nm-device-interface.h: Add a activate virtual function to the
10533         interface definition.
10534
10535         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
10536         (impl_device_activate): Implement.
10537
10538         * introspection/nm-device.xml: Add a generic device activation interface
10539         that accepts an abstract NMConnection structure that has device-specific
10540         information in it.
10541
10542         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
10543         activation interface.
10544
10545         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
10546         activation interface.
10547
10548         * libnm-util/nm-connection.c: 
10549         * libnm-util/nm-connection.h: 
10550         * libnm-util/nm-setting.c:
10551         * libnm-util/nm-setting.h: Add.
10552
10553         * libnm-util/Makefile.am: Build the added files.
10554
10555         * src/nm-dbus-manager.c
10556         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
10557         DbusConnection argument from 'name-owner-changed' signal. The manager
10558         is already passed as a first argument to the signal and the connection
10559         is easy enough to get from it.
10560
10561         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
10562         Update the signature of the function.
10563
10564         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
10565         Ditto.
10566
10567         * src/NetworkManager.c: Ditto.
10568
10569         * src/named-manager/nm-named-manager.c
10570         (nm_named_manager_name_owner_changed): Ditto.
10571
10572         * src/supplicant-manager/nm-supplicant-manager.c
10573         (nm_supplicant_manager_name_owner_changed): Ditto.
10574
10575         * src/nm-hal-manager.c (name_owner_changed): Ditto.
10576
10577         * src/dhcp-manager/nm-dhcp-manager.c
10578         (nm_dhcp_manager_name_owner_changed): Ditto.
10579
10580         * src/nm-hal-manager.c: Add a list of device detectors and creators
10581         to make it easier to add new devices. Each device type has it's own
10582         entry in the table so adding new device types is only a matter of
10583         implementing a couple of functions, one for device detection and the
10584         other for device creation.
10585
10586 2007-04-25  Dan Williams  <dcbw@redhat.com>
10587
10588         * initscript/RedHat/NetworkManager.in: remove trailing backslash
10589                 (gnome.org #432401)
10590
10591 2007-03-30  Dan Williams  <dcbw@redhat.com>
10592
10593         * src/NetworkManagerSystem.c
10594                 - (nm_system_device_set_ip4_route): clean up and fix argument
10595                         to nm_dev_sock_open()
10596
10597 2007-03-28  Tambet Ingo  <tambet@ximian.com>
10598
10599         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
10600         data to correct types instead of always using string.
10601
10602         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
10603         _not_ have NM_802_11_CAP_PROTO_NONE.
10604         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
10605         is not set.
10606
10607 2007-03-27  Tambet Ingo  <tambet@ximian.com>
10608
10609         * libnm-glib/Makefile.am: Fix the build issue.
10610
10611 2007-03-26  Tambet Ingo  <tambet@ximian.com>
10612
10613         * libnm-glib/nm-vpn-connection.h: 
10614         * libnm-glib/nm-vpn-connection.c: Implement.
10615
10616         * libnm-glib/nm-client.c: Add VPN support.
10617
10618         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
10619         handler for VPN.
10620
10621         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
10622         on DBUS again.
10623
10624 2007-03-26  Dan Williams  <dcbw@redhat.com>
10625
10626         * src/NetworkManagerAPList.c
10627         * src/nm-device-802-11-wireless.c
10628         * src/NetworkManagerAP.c:
10629                 - Store last seen as glong instead of GTimeVal.
10630                 - Fix the upper bound of capabilities, it's a bitfield.
10631
10632 2007-03-16  Tambet Ingo  <tambet@ximian.com>
10633
10634         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
10635
10636         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
10637         "manager-running" signal that notifies the appearance/disappearance of NM.
10638         (nm_client_sleep): Implement.
10639
10640         * libnm-glib/nm-device.c:
10641         * libnm-glib/nm-device-802-11-wireless.c: 
10642         * libnm-glib/nm-device-802-3-ethernet.c: 
10643
10644         Don't inherit from DBusGProxy, add a proxy to private
10645         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
10646         for anything but their own dbus interface. DBusGProxy objects support only one
10647         interfaces and to work around this, NMDevice has spearate proxy for each dbus
10648         interface. The nice side effect of this change is that we do not create a new
10649         DBusGProxy object for each property access.
10650
10651 2007-03-15  Tambet Ingo  <tambet@ximian.com>
10652
10653         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
10654         with zeroes before passing them to functions - the functions never do that and
10655         reading the values back may produce wrong values.
10656         (real_bring_up): Store the signal handler id ...
10657         (real_bring_down): ... So that it can be removed here.
10658         Disconnect the supplicant interface here as well.
10659         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
10660         from the access point instead of old $device/Networks/$essid.
10661
10662         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
10663         device state is connected (instead of just having link/carrier).
10664
10665         * src/nm-activation-request.c: Don't store NMData in activation request, it's
10666         already easily accessible through the device.
10667
10668         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
10669         store it within the object.
10670         (nm_ap_get_dbus_path): Export it to public as well.
10671
10672         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
10673         of the singleton.
10674
10675 2007-03-12  Dan Williams  <dcbw@redhat.com>
10676
10677         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
10678         for non-carrier-detect capable devices, and useless for carrier-detect
10679         devices since we get notifications from netlink about carrier status anyway.
10680
10681         * src/nm-device-802-3-ethernet.c
10682                 - remove 'link_source_id' member from private data
10683                 - (probe_link): remove and collapse into real_update_link()
10684                 - (nm_device_802_3_periodic_update): remove
10685                 - (real_is_up): check for sup_iface rather than link_source_id
10686                 - (real_bring_up): return gboolean for success/fail; require that
10687                         sup_iface be valid for device bringup to succeed
10688                 - (real_bring_down): zero out link signal ids
10689
10690         * src/nm-device.c
10691                 - (nm_device_activate_stage2_device_config): fail activation if device
10692                         bringup fails
10693                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
10694                         fails
10695                 - (nm_device_bring_up): return success/fail
10696
10697         * src/nm-device.h
10698                 - bring_up now returns success/fail
10699
10700         * src/nm-device-802-11-wireless.c
10701                 - (real_bring_up): return success from bringup
10702
10703 2007-03-07  Dan Williams  <dcbw@redhat.com>
10704
10705         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
10706         * src/nm-ap-security-wpa-psk.c
10707                 - (real_write_supplicant_config): work with PSKs that may contain
10708                         zeros in the binary format rather than treating it as a string
10709
10710 2007-03-02  Tambet Ingo  <tambet@ximian.com>
10711
10712         * libnm-glib/nm-device-802-11-wireless.c
10713         (nm_device_802_11_wireless_get_capabilities): Implement.
10714
10715         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
10716
10717         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
10718
10719         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
10720         reply only if it's not NULL. Not sure why this started happening right now.
10721
10722         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
10723         code paths for when devices get removed on shutdown or when a device is just
10724         removed.
10725         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
10726         gets freed so any signal from a device (disconnected for instance) would invoke
10727         NMState update which would crash.
10728         (nm_manager_remove_device): Bring the device down when it gets removed.
10729
10730         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
10731         the unused dev_type.
10732
10733         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
10734         reference to the added device, NMManager will own it (if it wants).
10735
10736         * test/nm-tool.c: Rewrite using libnm-glib.
10737
10738         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
10739         We get signalled when it changes.
10740
10741         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
10742         when it changes.
10743
10744         * libnm-glib/nm-device.c: Cache the device state property.
10745
10746         * libnm-glib/nm-access-point.c: Cache the strength property.
10747
10748         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
10749         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
10750         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
10751         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
10752         the device is down, activating, or activated (in case of A/B/G cards).
10753         Remove some old dead ifdef'ed out code that used to configure wireless devices,
10754         it's all done through supplicant now.
10755
10756         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
10757         counting issues with pending calls which caused leaks and crashes when
10758         interface was removed (now that the interface actually gets removed).
10759
10760         * src/nm-call-store.c: Make a copy of data before running a foreach
10761         with user callback on it - The most common usage pattern is to cancel
10762         (and thus remove) all pending calls with foreach which would modify
10763         the hash table we're iterating over.
10764
10765         * src/nm-manager.c: When a device is added, make sure it is "up". When
10766         it's removed or disabled due to disabling wireless or networking, bring
10767         it down.
10768
10769         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10770
10771         * src/nm-device-802-11-wireless.c: 
10772         * src/nm-device-802-3-ethernet.c: 
10773         * src/nm-device.c:
10774                 - Remove "init" virtual function, all gobjects have a place for that
10775                   already (constructor).
10776                 - Replace "start" virtual function with "bring_up", devices can be
10777                   brought up and down more than just on startup now.
10778                 - Add "is_up" virtual function.
10779                 - Implement one way to bring a device down instead of previous 4 different
10780                   ways, each of witch did something different.
10781
10782         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10783         all it needs is the device interface.
10784
10785         Get rid of NMData.dev_list (3 members to go).
10786         Get rif of NMData in a lot of places.
10787
10788         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10789
10790 2007-02-23  Dan Williams  <dcbw@redhat.com>
10791
10792         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10793
10794         * src/NetworkManagerAP.c
10795                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10796                         OR-ing rather than AND-ing
10797
10798 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10799
10800         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10801         "network-removed" signals.
10802
10803         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10804
10805         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10806         when receiving the signal from dbus.
10807
10808         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10809         property.
10810
10811         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10812         deactivation of the previously activated device working again.
10813
10814         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10815         and setter.
10816
10817         * src/nm-device.c (nm_device_is_activated): Remove.
10818         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10819
10820         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10821         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10822         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10823         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10824         Remove NMNetworkStatus and NMActStage enums.
10825
10826 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10827
10828         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10829         Handle device state changes and disconnect VPN if it's device deactivates.
10830
10831         * src/nm-dbus-nm.c: 
10832         * src/nm-dbus-nm.h: 
10833         * src/nm-dbus-device.c: 
10834         * src/nm-dbus-device.c: 
10835         * src/nm-dbus-net.c: 
10836         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10837
10838         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10839
10840         * src/nm-device.c (nm_device_get_by_udi):
10841         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10842         implemented in the correct location (NMManager).
10843         Rip out all the test_device stuff.
10844
10845         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10846         failure handlers, it's all done by NMDevice already.
10847
10848         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10849         Remove the iochannel hack to route the unix signals to the main thread since
10850         we're not threaded anymore.
10851
10852         * src/NetworkManagerAP.c: Implement HWAddress property.
10853
10854         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10855         automatically with dbus-glib.
10856
10857         * src/nm-netlink-monitor.c: 
10858         * src/nm-netlink-monitor.h:
10859                 - Move it low in the class hierarchy, don't reference any NM types.
10860                 - Remove private data from the header.
10861                 - Use type safe checks in public API methods.
10862                 - Make it a singleton so we don't have to pass the single reference around.
10863
10864 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10865
10866         * introspection/nm-ip4-config.xml: Implement.
10867
10868         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10869
10870         * libnm-glib/nm-ip4-config.c:
10871         * libnm-glib/nm-ip4-config.c: Implement.
10872
10873         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10874         securities. APs reference security.
10875
10876         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10877         be exported over DBUS.
10878
10879         * src/nm-device-802-3-ethernet.c: Ditto.
10880
10881         * src/NetworkManagerAP.c:
10882         * src/NetworkManagerAP.h:
10883                 - Convert to GObject, export over DBUS.
10884
10885         * src/nm-ip4-config.h:
10886         * src/nm-ip4-config.h:
10887                 - Convert to GObject, export over DBUS.
10888
10889 2007-02-12  Dan Williams  <dcbw@redhat.com>
10890
10891         Patch from Helmut Schaa <hschaa@suse.de>
10892
10893         * vpn-daemons/pptp/configure.in
10894           vpn-daemons/pptp/Makefile.am
10895           vpn-daemons/openvpn/configure.in
10896           vpn-daemons/openvpn/Makefile.am
10897           vpn-daemons/vpnc/configure.in
10898           vpn-daemons/vpnc/Makefile.am
10899                 - Add --without-gnome switch which disables building gnome bits
10900
10901 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10902
10903         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10904
10905         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10906
10907         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10908         'HwAddress'.
10909
10910         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10911
10912         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10913
10914         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10915
10916         * src/:
10917                 - Remove old low-level dbus interface implementations and replace them
10918                   with dbus-glib one.
10919
10920         * configure.in:
10921                 - Require dbus-glib >= 0.72.
10922                 - Plug in new sources to build.
10923
10924         * libnm-glib/:
10925                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10926                   to make it more convenient to use from GObject based programs.
10927
10928         * introspection/:
10929                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10930
10931 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10932
10933         * src/nm-device-802-11-wireless.c:
10934                 - Add "network-added" and "network-removed" signals.
10935                 - Use gobject boilerplate macros to define the GObject.
10936                 - Implement wireless device activation.
10937                 - Remove activation_failure_handler and activation_success_handler
10938                   and instead listen on state-changed signals and run the same code
10939                   from there.
10940
10941         * src/nm-device.c:
10942                 - Implment NMDeviceInterface::deactivate.
10943                 - Remove activation_failure_handler and activation_success_handler
10944                   virtual methods. Each device which is interested in these events
10945                   can just listen on it's state changed signals.
10946
10947         * src/NetworkManagerPolicy.c:
10948                 - Move a bit more NMData usage to NMManager.
10949                 - Remove activation scheduling bits.
10950                 - Add listeners for wireless device's "network-added" and
10951                   "network-removed" signals.
10952                 - Listen device changed signals and deactivate currently activated
10953                   device when another device start activating (for now).
10954                 - Remove (nm_policy_schedule_device_change_check): There's never a need
10955                   for calling this, the policy code knows exactly when this should happen,
10956                   by listening on events from NMManager and NMDevices.
10957
10958         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
10959         Implement.
10960
10961         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
10962         method on the specific device instead of going to through policy code
10963         and determining the device type by passed in AP's existance.
10964
10965         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
10966         abstract NMDevice deactivation.
10967
10968 2007-02-08  Tambet Ingo  <tambet@ximian.com>
10969
10970         * src/NetworkManager.c:
10971                 - Set up all the shiny new managers.
10972
10973         * src/NetworkManagerPolicy.c:
10974                 - Add the beginnings of new NMPolicy code. Instead of requireing all
10975                   classes to call into policy code, make the policy code kind of like
10976                   a supervisor that monitors what's going on and drives the whole NM.
10977
10978         * src/nm-hal-manager.c: 
10979         * src/nm-hal-manager.h:
10980                 - Collect all libhal code scattered around NM to this one class.
10981                 - Listen libhal and NMManager events and add/remove devices to
10982                   NMManager.
10983
10984         * src/nm-manager.c:
10985         * src/nm-manager.h:
10986                 - Implment a replacement for NMData. NMData is now officially
10987                 deprecated.
10988
10989 2007-02-05  Tambet Ingo  <tambet@ximian.com>
10990
10991         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
10992         * src/supplicant-manager/nm-supplicant-interface.h
10993         * src/supplicant-manager/nm-supplicant-interface.c
10994         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
10995         argument to boolean from enum.
10996
10997         Make NMDevice abstract class, remove almost all references to it's
10998         subclasses (the last place gets removed with new policy manager). Add
10999         NMDeviceInterface (which NMDevice implements) so that when we have
11000         NMDevice exported over DBUS, there's a common NMDevice interface which
11001         all instances have, plus there's a device specific interface for each
11002         specific type.
11003         Remove functions (nm_device_is_802_3_ethernet) and
11004         (nm_device_is_802_11_wireless). There are already standard GObject macros
11005         for type safe checks.
11006         Use the updated supplican manager API.
11007
11008         * src/nm-device-interface.h: 
11009         * src/nm-device-interface.c: 
11010         * src/nm-call-store.h: 
11011         * src/nm-call-store.c: Implement.
11012
11013         * src/supplicant-manager/nm-supplicant-interface.c:
11014         * src/supplicant-manager/nm-supplicant-interface.h:
11015         * src/supplicant-manager/nm-supplicant-manager.c:
11016         * src/supplicant-manager/nm-supplicant-manager.h:
11017                 - Remove all private data type references from public header files.
11018                 - Remove all references to other NM classes, this class is just a
11019                   proxy between wpa_supplicant and NM so it doesn't have to know
11020                   any internals.
11021                 - Convert to dbus-glib bindings.
11022                 - Type safe checks for public methods' arguments.
11023                 - Store pending DBUS call ids to NMCallStore.
11024
11025         * src/supplicant-manager/nm-supplicant-config.c:
11026                 - Store config values in a GHashTable instead of GSList.
11027
11028         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
11029
11030         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
11031         singleton now.
11032
11033         * src/nm-device.c: Use the new DHCP manager API.
11034
11035         * src/nm-activation-request.c:
11036         * src/nm-activation-request.h:
11037                 - Remove all dhcp related properties and methods.
11038
11039         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
11040
11041         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
11042
11043         * src/dhcp-manager/nm-dhcp-manager.c:
11044         * src/dhcp-manager/nm-dhcp-manager.h:
11045                 - Convert it to GObject since we need to signal state changes.
11046                 - Remove all references to other NM classes, this class is one
11047                   of the lowest classes in our hierarchy.
11048                 - One less class to use NMActRequest.
11049                 - Make it singleton, one less user of NMData.
11050                 - Remove a couple of sleep() calls.
11051                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
11052                   One less class to use the NM's custom tailored signal handlig.
11053
11054         * Makefile.am: Generate marshallers, add them to build.
11055
11056 2007-02-02  Dan Williams  <dcbw@redhat.com>
11057
11058         * configure.in
11059           gnome/Makefile.am
11060           nm-applet.desktop
11061           Makefile.am
11062                 - Remove last bits referencing gnome applet
11063
11064 2007-02-02  Dan Williams  <dcbw@redhat.com>
11065
11066         * src/vpn-manager/nm-vpn-service.c
11067                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
11068                         and NBNS server addresses
11069
11070 2007-02-02  Tambet Ingo  <tambet@ximian.com>
11071
11072         * src/nm-dbus-manager.c:
11073         * src/nm-dbus-manager.h:
11074                 - Convert all internal DBUS code to use dbus-glib bindings.
11075                 - Remove GObject properties, we don't need them here.
11076                 - Don't explicitly set things to NULL after freeing, glib is
11077                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
11078                 - Make public API argument checks type safe.
11079                 - Remove unnecessary (and wrong) cast to GObject for the first
11080                   argument to g_signal_* calls - The first argument is a gpointer.
11081                 - Export DBusGConnection to other cool classes that (are going to)
11082                   use dbus-glib.
11083
11084 2007-01-26  Dan Williams  <dcbw@redhat.com>
11085
11086         * libnm-util/dbus-dict-helpers.c
11087           libnm-util/dbus-dict-helpers.h
11088                 - Coordinate style with wpa_supplicant version to minimize diff
11089                 - Add uint32 array support
11090                 - (nmu_dbus_dict_append_uint32_array): new function
11091                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
11092                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
11093                         version; allow adding string array elements individually
11094
11095         * test/libnm-util/test-dbus-dict-helpers.c
11096                 - Test uint32 arrays
11097
11098 2007-01-27  Jürg Billeter  <j@bitron.ch>
11099
11100         * src/backends/NetworkManagerPaldo.c
11101                 - (nm_system_update_dns): clear nscd hosts cache
11102
11103 2007-01-04  Dan Williams  <dcbw@redhat.com>
11104
11105         Threading removal related cleanups:
11106
11107         - Use the glib default main context.  Remove the device main context
11108                 member from NMDevice, and the main_context member from NMData.  Change
11109                 all the idle and timeout scheduler functions to use plain
11110                 g_idle_add() and g_timeout_add().
11111
11112         - As a side-effect of the first change, nm_dbus_manager_get() no longer
11113                 takes an argument; fix that up too.
11114
11115         - Remove all locking, which is useless since we no longer use threads.  For
11116                 example, nm_get_device_by_iface_locked() has been removed.  The global
11117                 device list lock, the AP List lock, and all static locks in
11118                 NetworkManagerPolicy.c have been removed.  The locking utility functions
11119                 in NetworkManagerUtils.c have also been removed.
11120
11121         - Other cleanups in spacing and code style
11122
11123 2007-01-01  Dan Williams  <dcbw@redhat.com>
11124
11125         Found by Bill Moss:
11126
11127         * src/supplicant-manager/nm-supplicant-interface.c
11128                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
11129                         the supplicant interface wasn't already disconnected.  Always
11130                         call removeNetwork and disconnect unless the supplicant interface
11131                         is in the DISCONNECTED or INACTIVE state.
11132
11133 2006-12-28  Dan Williams  <dcbw@redhat.com>
11134
11135         Use a single thread for everything.  With the move to wpa_supplicant
11136         and communication over D-Bus, there's no reason for multiple threads.
11137         Almost all of the blocking code has been removed, with one exception in
11138         the DHCP manager and a few in the VPN manager.  This commit removes the
11139         per-device worker thread and fixes activation cancellation in the absence
11140         of threads.  Further removal of thread-related code would be removing
11141         any locking code (like the device list lock) and simplification of logic
11142         around areas of code or data structures that are currently locked.
11143
11144         * autoip.c
11145           dhcp-manager/nm-dhcp-manager.c 
11146           nm-device-802-11-wireless.c
11147           nm-device-802-3-ethernet.c
11148           nm-device.c
11149           nm-device.h
11150                 - Remove usage of multiple threads
11151
11152 2006-12-19  Dan Williams  <dcbw@redhat.com>
11153
11154         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
11155         plus a few other patches from wpa_supplicant bugzilla.
11156
11157         * src/Makefile.am
11158           src/NetworkManagerPolicy.c
11159           src/NetworkManagerUtils.c
11160           src/NetworkManagerUtils.h
11161           src/nm-ap-security-leap.c
11162           src/nm-ap-security-wep.c
11163           src/nm-ap-security-wpa-eap.c
11164           src/nm-ap-security-wpa-psk.c
11165           src/nm-ap-security.c
11166           src/nm-ap-security.h
11167           src/nm-device-802-11-wireless.c
11168           src/nm-device-802-11-wireless.h
11169           src/supplicant-manager/nm-supplicant-config.c
11170           src/supplicant-manager/nm-supplicant-config.h
11171           src/supplicant-manager/nm-supplicant-interface.c
11172           src/supplicant-manager/nm-supplicant-interface.h
11173           src/supplicant-manager/nm-supplicant-marshal.list
11174           src/supplicant-manager/nm-supplicant-settings-verify.c
11175           src/supplicant-manager/nm-supplicant-settings-verify.h
11176                 - Move all connection management and association handling to
11177                         wpa_supplicant over dbus, rather than spawning a private copy
11178
11179 2006-12-19  Dan Williams  <dcbw@redhat.com>
11180
11181         * src/NetworkManagerPolicy.c
11182                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
11183                         better locking of the device change check handler ID.  Incorrect
11184                         locking was causing lost device change requests
11185
11186 2006-12-18  Dan Williams  <dcbw@redhat.com>
11187
11188         * libnm-util/dbus-dict-helpers.c
11189                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
11190                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
11191                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
11192
11193 2006-12-18  Dan Williams  <dcbw@redhat.com>
11194
11195         * gnome/libnm_glib/libnm_glib.c
11196                 - Change dbus_connection_close() -> dbus_connection_unref()
11197
11198 2006-12-11  Dan Williams  <dcbw@redhat.com>
11199
11200         * src/supplicant-manager/nm-supplicant-interface.c
11201                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
11202                         wpa_supplicant interface state
11203                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
11204                         state before transitioning to READY state
11205
11206 2006-12-04  Dan Williams  <dcbw@redhat.com>
11207
11208         * src/nm-device-802-11-wireless.c
11209                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
11210                         odd length of ESSID returned from ieee80211 stack-based drivers
11211
11212 2006-12-04  Dan Williams  <dcbw@redhat.com>
11213
11214         * src/nm-device-802-11-wireless.c
11215                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
11216                         IE handling blocks that cause mis-parsing of the IE
11217
11218 2006-12-04  Dan Williams  <dcbw@redhat.com>
11219
11220         * src/nm-device-802-11-wireless.c
11221                 - (init_supplicant_interface): new function; pull supplicant interface
11222                         setup code out into standalone function since it must be called from
11223                         two different places
11224                 - (real_init): sup_mgr is now in private object data; get and track
11225                         the supplicant manager object over the NMDevice subclass' lifetime
11226                         and register a signal handler for its state signals; only try to
11227                         initialize the supplicant interface if the supplicant manager is in
11228                         the IDLE state (and therefore is ready for requests)
11229                 - (request_wireless_scan): reschedule the scan request if (a) there is
11230                         no supplicant interface yet (meaning wpa_supplicant isn't running
11231                         or isn't ready yet), or (b) if the supplicant interface isn't ready
11232                         for requests yet
11233                 - (supplicant_iface_connection_state_cb): new function; stub for
11234                         handling supplicant interface connection state signals
11235                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
11236                         comes and goes
11237                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
11238                         supplicant manager object that's being tracked starting with this
11239                         commit
11240
11241 2006-12-04  Dan Williams  <dcbw@redhat.com>
11242
11243         * src/supplicant-manager/nm-supplicant-interface.c
11244                 - (nm_supplicant_interface_set_property): track signal handler ID
11245                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
11246
11247 2006-12-04  Dan Williams  <dcbw@redhat.com>
11248
11249         * src/supplicant-manager/nm-supplicant-interface.[ch]
11250                 - (nm_supplicant_interface_get_state): new function
11251
11252 2006-12-04  Dan Williams  <dcbw@redhat.com>
11253
11254         * src/supplicant-manager/nm-supplicant-interface.c
11255                 - (bssid_properties_cb): don't treat DBus errors as valid
11256                         scanned AP messages
11257
11258 2006-12-04  Dan Williams  <dcbw@redhat.com>
11259
11260         * src/supplicant-manager/nm-supplicant-interface.[ch]
11261                 - (nm_supplicant_interface_get_connection_state): new function
11262                 - define new supplicant connection states
11263                 - send a signal when the supplicant connection state changes
11264
11265 2006-12-03  Dan Williams  <dcbw@redhat.com>
11266
11267         * src/supplicant-manager/Makefile.am
11268           src/supplicant-manager/nm-supplicant-connection.h
11269           src/supplicant-manager/nm-supplicant-connection.c
11270           src/supplicant-manager/nm-supplicant-config.h
11271           src/supplicant-manager/nm-supplicant-config.c
11272           src/supplicant-manager/nm-supplicant-types.h
11273           src/supplicant-manager/nm-supplicant-interface.h
11274           src/supplicant-manager/nm-supplicant-interface.c
11275                 - Rename NMSupplicantConnection -> NMSupplicantConfig
11276
11277 2006-12-03  Dan Williams  <dcbw@redhat.com>
11278
11279         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
11280
11281         * po/POTFILES.in
11282           po/POTFILES.skip
11283                 - Move VPN-related translatables to .skip
11284
11285         * vpn-daemons/pptp/po/POTFILES.in
11286                 - Update with new translatables
11287
11288 2006-12-02  Dan Williams  <dcbw@redhat.com>
11289
11290         Patch from Christian Persch <chpe@gnome.org>
11291
11292         * gnome/applet/Makefile.am
11293           gnome/applet/applet-dbus-devices.c
11294           gnome/applet/applet-notifications.c
11295           gnome/applet/applet.c
11296           gnome/applet/applet.h
11297           gnome/applet/main.c
11298                 - Be a GtkStatusIcon on GTK+ >= 2.10
11299
11300 2006-12-02  Dan Williams  <dcbw@redhat.com>
11301
11302         * gnome/applet/applet.c
11303                 - (nma_update_info): fix two unecessary allocations
11304
11305 2006-12-02  Dan Williams  <dcbw@redhat.com>
11306
11307         Patch from Michael Biebl <biebl@teco.edu>
11308         * configure.in
11309           man/NetworkManager.1.in
11310           man/NetworkManagerDispatcher.1.in
11311           man/NetworkManager.8.in
11312           man/NetworkManagerDispatcher.8.in
11313                 - Add .SH NAME stanzas
11314                 - Move NM & NM Dispatcher manpages to section 8 (admin)
11315
11316 2006-12-02  Dan Williams  <dcbw@redhat.com>
11317
11318         Patch from Christian Persch <chpe@gnome.org>
11319
11320         * configure.in
11321                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
11322
11323 2006-11-29  Tambet Ingo  <tambet@ximian.com>
11324
11325         Patch by Timo Hoenig <thoenig@suse.de>:
11326         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
11327         DBUS-1.0.
11328
11329         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
11330         we can't use the one from the main source directory.
11331
11332 2006-11-27  Dan Williams  <dcbw@redhat.com>
11333
11334         Patch from Christian Persch <chpe@gnome.org>
11335
11336         * gnome/applet/applet-dbus-devices.c
11337                 - (hal_info_product_cb): fix memleak; free duped string.
11338                         Gnome.org #379908
11339
11340 2006-11-27  Dan Williams  <dcbw@redhat.com>
11341
11342         Patch from Christian Persch <chpe@gnome.org>
11343
11344         * gnome/applet/menu-items.c
11345                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
11346                         as gtk_progress_set_percentage is deprecated.  Should
11347                         work as far back as GTK+ 2.4.  Gnome.org #379780
11348
11349 2006-11-26  Dan Williams  <dcbw@redhat.com>
11350
11351         Scan using wpa_supplicant over DBus.
11352
11353         * src/nm-device-802-11-wireless.c
11354                 - remove wireless extensions netlink event handler bits
11355                         (wireless_event_helper, nm_device_802_11_wireless_event)
11356                 - remove wireless extensions scan event handler bits
11357                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
11358                         hex2byte, hex2num, request_and_convert_scan_results,
11359                         free_process_scan_cb_data, scan_results_timeout,
11360                         schedule_scan_results_timeout, cancel_scan_results_timeout)
11361                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
11362                         and request scans from the supplicant interface rather than directly
11363                 - Move functionality of convert_scan_results() to cull_scan_list() and
11364                         supplicant_iface_scanned_ap_cb()
11365                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
11366                         at the scan interval when the current scan has finished
11367                 - (supplicant_iface_state_cb): start scanning when the supplicant
11368                         interface enters the READY state, and stop scanning when it
11369                         enters the DOWN state
11370                 - (cull_scan_list): weed out old access points from the scan list
11371                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
11372                         point into an NMAccessPoint and merge it into the device's scan list
11373
11374         * src/supplicant-manager/nm-supplicant-interface.c
11375           src/supplicant-manager/nm-supplicant-interface.h
11376                 - Add a new signal "scan-result" which is issued when the supplicant
11377                         notifies NM that a scan has completed
11378                 - Add a new signal "scanned-ap" that notifies listeners of a new access
11379                         point found in the scan.  Called once for each access point that
11380                         the supplicant interface object receives from the supplicant as a
11381                         result of the "scanResults" method call
11382                 - (wpas_iface_query_scan_results): don't wait 4s before querying
11383                         for the initial scan results
11384                 - (scan_request_cb): new function; send listeners the result
11385                         (success, error) of a wireless scan request
11386                 - (nm_supplicant_interface_request_scan): new function; ask the
11387                         supplicant to perform an immediate wireless scan
11388
11389 2006-11-25  Dan Williams  <dcbw@redhat.com>
11390
11391         * src/supplicant-manager/Makefile.am
11392                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
11393                         add HAL cflags/includes and named-manager includes directory
11394
11395         * src/supplicant-manager/nm-supplicant-interface.h
11396                 - New state STARTING to handle transition from INIT to READY where
11397                         the addInterface pending call is still outstanding
11398
11399         * src/supplicant-manager/nm-supplicant-interface.c
11400                 - track pending calls differently since we may have more than one
11401                         going on at any given time
11402                 - request scan results from wpa_supplicant; but don't do it more often
11403                         than every 4 seconds.  Drivers that do background scanning
11404                         (like the 'ipw' drivers) send a continuous stream of scan completion
11405                         notifications, so we don't want to hammer the supplicant or dbus
11406                         with requests for all scan results every time we get a completion
11407                         notification.
11408
11409 2006-11-25  Dan Williams  <dcbw@redhat.com>
11410
11411         * src/supplicant-manager/nm-supplicant-types.h
11412                 - new file; move all supplicant manager object typedefs here for
11413                         #include sanity
11414
11415         * src/supplicant-manager/nm-supplicant-interface.c
11416           src/supplicant-manager/nm-supplicant-interface.h
11417                 - new file; an object that interfaces an NMDevice object to the
11418                         supplicant and handles signals from the supplicant.  This object
11419                         does all necessary DBus communication with wpa_supplicant.
11420
11421         * src/supplicant-manager/nm-supplicant-manager.c
11422           src/supplicant-manager/nm-supplicant-manager.h
11423                 - Actually do something.  Track the state of the wpa_supplicant service
11424                         and deal with its comings & goings.  Handle life events of
11425                         supplicant interfaces too.
11426                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
11427
11428         * src/supplicant-manager/nm-supplicant-connection.h
11429                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
11430
11431         * src/supplicant-manager/Makefile.am
11432                 - Add new files to build, and add libnm-util to includes
11433
11434         * src/nm-marshal.list
11435                 - New marshaler type: VOID:UINT,UINT
11436
11437         * src/nm-device-802-3-ethernet.c
11438                 - (real_init): grab a supplicant interface
11439                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
11440                 - (supplicant_iface_state_cb): new function, stub for handling
11441                         supplicant interface state changes
11442
11443         * src/nm-device-802-11-wireless.c
11444                 - (real_init): grab a supplicant interface
11445                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
11446                 - (supplicant_iface_state_cb): new function, stub for handling
11447                         supplicant interface state changes
11448
11449         * src/NetworkManager.c
11450                 - (main): create and keep the supplicant manager around for the lifetime
11451                         of NetworkManager
11452
11453         * src/Makefile.am
11454                 - Link to the supplicant manager sub-library and use the supplicant
11455                         manager includes
11456
11457 2006-11-25  Dan Williams  <dcbw@redhat.com>
11458
11459         Rework DBus manager signal handling to be more flexible.  Previously,
11460         only one signal handler could be registered for a particular interface.
11461         The DBus manager now reference counts DBus bus matches and allows multiple
11462         clients to register signal handlers for the same interface and sender.
11463
11464         * src/NetworkManager.c
11465                 - (main): track NMI signal handler ID and remove it when we quit
11466
11467         * src/NetworkManagerMain.h
11468                 - Keep track of NMI signal handler ID
11469
11470         * src/nm-dbus-manager.c
11471           src/nm-dbus-manager.h
11472                 - rework signal handling; each signal handler references one signal
11473                         match, but a signal match may be referenced by one or more
11474                         signal handlers.  Matches are refcounted and are destroyed when the
11475                         last signal handler that references the match is removed.  This is
11476                         necessary because two signal handlers may end up requiring the same
11477                         dbus bus match, so the match must live until the last signal handler
11478                         is destroyed (for example, with the wpa_supplicant network interface
11479                         dbus interface).
11480
11481         * src/dhcp-manager/nm-dhcp-manager.c
11482                 - (nm_dhcp_manager_new): track DHCP signal handler id
11483                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
11484
11485         * src/vpn-manager/nm-vpn-service.c
11486                 - (nm_vpn_service_add_watch): track VPN service signal handler id
11487                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
11488
11489 2006-11-25  Dan Williams  <dcbw@redhat.com>
11490
11491         Suggested by Helmut Schaa <hschaa@suse.de>
11492
11493         * src/vpn-daemons/nm-vpn-service.c
11494                 - (supplicant_child_setup): new function
11495                 - (supplicant_exec): make child process use a new process group id
11496
11497         * src/nm-device-802-11-wireless.c
11498                 - (nm_vpn_service_child_setup): new function
11499                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
11500                         process group id
11501
11502 2006-11-19  Dan Williams  <dcbw@redhat.com>
11503
11504         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
11505         * gnome/vpn-properties/nm-vpn-properties.c
11506                 - clean up after renamed VPN connection
11507
11508 2006-11-19  Dan Williams  <dcbw@redhat.com>
11509
11510         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
11511         * gnome/applet/applet-dbus-vpn.c
11512                 - (nma_dbus_vpn_properties_cb): sort VPN connections
11513
11514         * gnome/vpn-properties/nm-vpn-properties.c
11515                 - (init_app): sort VPN connections
11516
11517 2006-11-09  Dan Williams  <dcbw@redhat.com>
11518
11519         * src/NetworkManagerAPList.c
11520                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
11521                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
11522                 from the nm_ap_list_get_ap_by_address() call was incorrect and
11523                 broke hidden SSID matching.  Found by Bill Moss.
11524
11525 2006-10-25  Dan Williams  <dcbw@redhat.com>
11526
11527         * src/nm-dbus-nm.c
11528                 - (nm_dbus_nm_set_active_device): return an empty success message on
11529                         success, rather than falling through to the error case.
11530
11531 2006-10-25  Dan Williams  <dcbw@redhat.com>
11532
11533         * src/NetworkManagerUtils.c
11534                 - (nm_utils_supplicant_request_with_check): suppress messages for the
11535                         "SCAN" command
11536
11537 2006-10-24  Dan Williams  <dcbw@redhat.com>
11538
11539         Reduce the number of times the Gnome applet wakes up, especially when
11540         it's doing absolutely nothing and is hidden.  Initial patch by
11541         Chris Aillon.
11542
11543         * gnome/applet/applet-dbus.c
11544                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
11545                         kill the redraw timeout.  When NM starts up, start the redraw
11546                         timeout.  Also, if we get kicked off the bus for some reason,
11547                         start the reconnection timeout if one's not already running.
11548                 - (nma_dbus_init): better handling of error conditions, don't leak
11549                         a half-initialized dbus connection
11550                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
11551                         the applet's data, just call nm_dbus_init_helper()
11552                 - (nma_start_dbus_connection_watch): new function, starts a periodic
11553                         timeout that calls nma_dbus_connection_watcher()
11554                 - (nma_dbus_init_helper): if we get a successful connection, kill the
11555                         reconnection timeout, and don't start the reconnection timeout
11556                         unconditionally anymore
11557
11558         * gnome/applet/applet-dbus.h
11559                 - Expose nma_start_dbus_connection_watch()
11560
11561         * gnome/applet/applet.c
11562                 - (nma_update_state): no longer static, called from applet-dbus.c for
11563                         immediate UI updates on certain events
11564                 - (nma_set_running): new function; take over setting applet->running,
11565                         when not running (ie, NM is not active), don't activate the redraw
11566                         timeout because we're not showing the applet anyway.  When we are
11567                         running (ie, NM is active), and only when we're running, start the
11568                         redraw timeout.
11569                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
11570                         kill any reconnection timeout
11571                 - (nma_get_instance): move one-off dbus initialization code here since
11572                         nm_dbus_init_helper() gets called more than once, possibly by the
11573                         reconnection timeout function too.  And, when we start up, if we
11574                         can't get a connection to the bus, start the reconnection timeout.
11575                         But don't start the redraw timeout yet, only do that when we get
11576                         NM's state and find out if it's running or not.
11577
11578         * gnome/applet/applet.h
11579                 - Add the reconnection GSource ID
11580                 - Add prototypes for nma_set_running() and the no-longer-static
11581                         nma_update_state()
11582
11583 2006-10-24  Dan Williams  <dcbw@redhat.com>
11584
11585         * src/vpn-daemons/nm-dbus-vpnc.c
11586                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
11587                         pending call tracker
11588                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
11589                         pending call tracker; register one-vpn-connection update pending
11590                         call in pending call tracker
11591                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
11592                         update pending call in pending call tracker
11593                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
11594                         update pending call in pending call tracker; don't block waiting
11595                         for call to return
11596
11597 2006-10-19  Robert Love  <rml@novell.com>
11598
11599         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
11600           refresh the cache.
11601
11602 2006-10-14  Dan Williams  <dcbw@redhat.com>
11603
11604         * src/dhcp-manager/nm-dhcp-manager.c
11605                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
11606                 the dbus connection and the device object path rather than
11607                 constructing it inside both functions.  Saves a bit of memory
11608                 and clarifies a failure path.
11609                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
11610                 and allocate device path here rather than each of the two
11611                 functions above.
11612
11613 2006-10-13  Dan Williams  <dcbw@redhat.com>
11614
11615         * src/NetworkManager.c
11616                 - (nm_name_owner_changed_handler): handle NMI coming and going,
11617                 this somehow droppout in the refactor
11618
11619 2006-10-13  Dan Williams  <dcbw@redhat.com>
11620
11621         * Huge DBus refactor:
11622                 - Create a "DBus Manager" object which manages the connection and
11623                 sends signals on NameOwnerChanged and connection/disconnection events,
11624                 handles reconnection to the bus if NM gets kicked off, and abstracts
11625                 signal handling
11626                 - Remove DBusConnection members from places where they are no
11627                 longer needed due to the refactor, like the dbus-connection
11628                 property of the named manager, and from NMData
11629                 - Reformats a bunch of the code to gnome style
11630                 (8-space tabs, braces on same line as statement, 80-col width).
11631                 Consider it open season to reformat any bits to gnome style.
11632                 style that aren't already.
11633
11634 2006-10-13  Dan Williams  <dcbw@redhat.com>
11635
11636         * src/supplicant-manager/Makefile.am
11637                 - Add new files
11638
11639         * src/supplicant-manager/nm-supplicant-manager.[ch]:
11640                 - Make it a minimal GObject
11641
11642         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
11643                 - Verify settings destined for wpa_supplicant
11644
11645         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
11646                 - Minimal GObject to track wpa_supplicant controlled device
11647                 connections
11648
11649 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
11650
11651         * gnome/applet/applet.c: (nma_update_info),
11652         (nma_act_stage_to_pixbuf), (nma_update_state):
11653         Mark missing strings for translation. Fixes bug #343306.
11654
11655 2006-10-01  Dan Williams  <dcbw@redhat.com>
11656
11657         * src/vpn-manager/nm-vpn-manager.c
11658                 - (nm_vpn_manager_load_services): split and clean up
11659                 for readability and correctness.  Restrict VPN service
11660                 files to ending in ".name", as was meant from the
11661                 beginning (but not coded in).  Better error reporting.
11662
11663 2006-10-01  Dan Williams  <dcbw@redhat.com>
11664
11665         * utils/nm-utils.h
11666                 - Clean up formatting of debug/info/warning log messages
11667
11668 2006-09-27  Robert Love  <rml@novell.com>
11669
11670         Patch by Tambet Ingo <tambet@ximian.com>:
11671         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
11672           actually work.
11673
11674 2006-09-07  Dan Williams <dcbw@redhat.com>
11675
11676         * test/Makefile.am
11677           test/libnm-util/Makefile.am
11678           test/nm-supplicant-test.c
11679                 - Add test program emulating the way NM drives wpa_supplicant
11680                 to help debug supplicant issues
11681
11682 2006-08-24  Dan Williams <dcbw@redhat.com>
11683
11684         * configure.in
11685           src/Makefile.am
11686           src/supplicant-manager/Makefile.am
11687           src/supplicant-manager/nm-supplicant-manager.c
11688           src/supplicant-manager/nm-supplicant-manager.h
11689                 - Add skeleton bits of the wpa_supplicant manager
11690
11691 2006-08-24  Dan Williams <dcbw@redhat.com>
11692
11693         Patch from Ed Catmur:
11694         * src/NetworkManagerUtils.c
11695                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
11696                 if netmask is 0 (Gnome #352634)
11697
11698 2006-08-17  Robert Love  <rml@novell.com>
11699
11700         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
11701           package is now DBUS-enabled and listens for the NM signals.
11702
11703 2006-08-14  Dan Williams  <dcbw@redhat.com>
11704
11705         * Patch from Christian Persch <chpe gnome org>
11706         * configure.in
11707           po/LINGUAS
11708           vpn-daemons/openvpn/po/LINGUAS
11709           vpn-daemons/openvpn/configure.in
11710           vpn-daemons/pptp/po/LINGUAS
11711           vpn-daemons/pptp/configure.in
11712           vpn-daemons/vpnc/po/LINGUAS
11713           vpn-daemons/vpnc/configure.in
11714                 - Convert to LINGUAS method so translators don't have to modify
11715                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
11716                 0.35 or higher
11717
11718 2006-08-14  Dan Williams  <dcbw@redhat.com>
11719
11720         Patch from Alex Smith <alex.extreme2@gmail.com>
11721         * configure.in
11722           src/backends/Makefile.am
11723           src/backends/NetworkManagerFrugalware.c
11724                 - Add support for Frugalware
11725
11726 2006-08-13  Dan Williams  <dcbw@redhat.com>
11727
11728         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11729         * src/nm-device-802-11-wireless.c
11730                 - (supplicant_exec): spawn wpa_supplicant without debug spew
11731                 Gnome #346875
11732
11733 2006-08-13  Dan Williams  <dcbw@redhat.com>
11734
11735         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11736         * src/nm-ap-security.c
11737           src/nm-ap-security.h
11738                 - Add authentication_required bits for subclasses to specify whether
11739                 or not real authentication is required for connections, i.e. whether
11740                 the AP rejects us when an encryption key is wrong or not.
11741
11742         * src/nm-ap-security-wep.c
11743           src/nm-ap-security-wpa-eap.c
11744           src/nm-ap-security-wpa-psk.c
11745           src/nm-ap-security-leap.c
11746                 - Implement authentication_required appropriately for each method
11747
11748         * src/nm-device-802-11-wireless.c
11749                 - Be smarter about when to request a key; for example, using a wrong key
11750                 in WEP shared key mode previously just timed out and did not request
11751                 a new key
11752
11753 2006-08-13  Dan Williams  <dcbw@redhat.com>
11754
11755         * gnome/libnm_glib/libnm_glib.c
11756                 - dbus_connection_disconnect() -> dbus_connection_close() for
11757                 dbus >= 0.90
11758
11759 2006-08-07  Dan Williams  <dcbw@redhat.com>
11760
11761         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11762         * src/NetworkManagerSystem.c
11763                 - Respect specified MTU.  Gnome #344967
11764
11765 2006-08-07  Dan Williams  <dcbw@redhat.com>
11766
11767         * src/vpn-manager/nm-vpn-service.c
11768                 - Simplify print_vpn_config() arguments
11769
11770         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11771         * src/vpn-manager/Makefile.am
11772           src/vpn-manager/nm-vpn-service.c
11773                 - Add new API for passing VPN config options as a dict. Gnome #344967
11774
11775 2006-08-06  Dan Williams  <dcbw@redhat.com>
11776
11777         * gnome/applet/applet-dbus-devices.c
11778           gnome/applet/applet-dbus-vpn.c
11779           gnome/applet/applet-dbus.c
11780           gnome/applet/applet-dbus.h
11781           src/nm-dbus-nmi.c
11782           utils/nm-utils.c
11783           utils/nm-utils.h
11784                 - Make pending call tracking code generic,
11785                 so we can use it in NM as well as the applet
11786
11787 2006-08-06  Dan Williams  <dcbw@redhat.com>
11788
11789         * src/nm-activation-request.c
11790                 - Refcount pending call objects
11791
11792 2006-08-06  Dan Williams  <dcbw@redhat.com>
11793
11794         Patch from Christan Chiesa <christanc@gmail.com>
11795         * configure.in
11796                 - Tell sha1.c to use bigendian mode on PPC
11797
11798 2006-08-04  Robert Love  <rml@novell.com>
11799
11800         Glib Memory Slices!
11801         * configure.in: Require glib 2.10 or later.
11802         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11803           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11804           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11805           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11806           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11807           Memory Slices are the greatest thing since bread slices.
11808         * src/NetworkManagerAP.c: Also, fix memory leak.
11809
11810 2006-08-01  Robert Love  <rml@novell.com>
11811
11812         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11813
11814 2006-07-31  Robert Love  <rml@novell.com>
11815
11816         * src/backends/interface_parser.c: Declarations must begin the block.
11817
11818 2006-07-24  Dan Williams  <dcbw@redhat.com>
11819
11820         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11821         * src/backends/Makefile.am
11822           src/backends/NetworkManagerArch.c
11823           src/backends/NetworkManagerDebian.c
11824           src/backends/NetworkManagerGeneric.c
11825           src/backends/NetworkManagerGeneric.h
11826           src/backends/NetworkManagerGentoo.c
11827           src/backends/NetworkManagerPaldo.c
11828           src/backends/NetworkManagerRedHat.c
11829           src/backends/NetworkManagerSlackware.c
11830           src/backends/NetworkManagerSuSE.c
11831                 - Genericize common backend functions
11832
11833 2006-07-18  Robert Love  <rml@novell.com>
11834
11835         * configure.in: Add "--with-notify" option to allow disabling of
11836           libnotify support.
11837
11838 2006-07-13  Dan Williams  <dcbw@redhat.com>
11839
11840         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11841         * gnome/applet/applet.glade
11842           gnome/applet/Makefile.am
11843           gnome/applet/nm-gconf-wso.c
11844           gnome/applet/nm-gconf-wso-leap.c
11845           gnome/applet/nm-gconf-wso-leap.h
11846           gnome/applet/wireless-security-manager.c
11847           gnome/applet/wso-leap.c
11848           gnome/applet/wso-leap.h
11849           include/NetworkManager.h
11850           libnm-util/dbus-helpers.c
11851           libnm-util/dbus-helpers.h
11852           src/Makefile.am
11853           src/NetworkManagerAP.c
11854           src/nm-ap-security.c
11855           src/nm-ap-security-leap.c
11856           src/nm-ap-security-leap.h
11857                 - Add LEAP authentication support
11858
11859 2006-07-13  Dan Williams  <dcbw@redhat.com>
11860
11861         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11862         * configure.in
11863           src/backends/NetworkManagerArch.c
11864           src/backends/NetworkManagerDebian.c
11865           src/backends/NetworkManagerGentoo.c
11866           src/backends/NetworkManagerPaldo.c
11867           src/backends/NetworkManagerRedHat.c
11868           src/backends/NetworkManagerSlackware.c
11869           src/backends/NetworkManagerSuSE.c
11870                 - Convert hardcoding of 'ip' path to configure-time
11871                         detected one
11872
11873 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11874
11875         * configure.in: added ru to ALL_LINGUAS
11876
11877 2006-07-10  Dan Williams  <dcbw@redhat.com>
11878
11879         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11880         * src/nm-device.c
11881                 - (real_act_stage3_ip_config_start): don't infinite loop when
11882                         dhcdbd isn't running (Gnome #346845)
11883
11884 2006-07-09  Dan Williams  <dcbw@redhat.com>
11885
11886         * gnome/applet/applet.c
11887                 - (nma_destroy): don't pass NULL to notify_notification_close
11888                         (RH #197917)
11889
11890 2006-07-09  Dan Williams  <dcbw@redhat.com>
11891
11892         * gnome/applet/applet.c
11893                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11894
11895 2006-07-04  Tor Krill  <tor@krill.nu>
11896
11897         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11898         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11899         (nm_system_restart_mdns_responder), (ArchReadConfig),
11900         (nm_system_device_get_system_config):
11901                 - Explicitly check for DHCP configuration
11902                 - Check if daemons are running before starting them
11903
11904 2006-06-25  Dan Williams  <dcbw@redhat.com>
11905
11906         * libnm-util/dbus-dict-helpers.[ch]
11907           test/libnm-util/test-dbus-dict-helpers.c
11908                 - Add string array support
11909
11910 2006-06-24  Dan Williams  <dcbw@redhat.com>
11911
11912         * src/dhcp-manager/nm-dhcp-manager.c
11913                 - (nm_dhcp_manager_process_signal): clean up spacing
11914
11915 2006-06-21  Dan Williams  <dcbw@redhat.com>
11916
11917         * src/nm-dbus-device.c
11918                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11919                         through dbus
11920
11921 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11922
11923         * configure.in: Added 'lv' to ALL_LINGUAS
11924
11925 2006-06-19  Dan Williams  <dcbw@redhat.com>
11926
11927         * src/NetworkManagerAP.c
11928                 - Clarify usage of user_created
11929
11930         * src/nm-ap-security-wep.c
11931           src/nm-ap-security-wpa-eap.c
11932           src/nm-ap-security-wpa-psk.c
11933           src/nm-ap-security.c
11934           src/nm-ap-security.h
11935                 - s/user_created/adhoc, because we really do mean adhoc
11936
11937         Patch from Bernard Blackham <bernard@blackham.com.au>
11938         * src/nm-device-802-11-wireless.c         
11939                 - (supplicant_send_network_config): instead of user_created,
11940                         use adhoc, and do AP_SCAN 2 for adhoc networks
11941
11942 2006-06-18  Robert Love  <rml@novell.com>
11943
11944         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11945           we have a value to set.  Gconf generates a warning if `val' is NULL.
11946         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11947           unless we actually received a valid private key file passphrase or
11948           password.  Otherwise, we don't know to later ask the applet to pull
11949           the key from the keyring.
11950
11951 2006-06-17  Dan Williams  <dcbw@redhat.com>
11952
11953         * libnm-util/dbus-dict-helpers.[ch]
11954           test/libnm-util/test-dbus-dict-helpers.c
11955                 - Fixes for zero-length byte arrays
11956                 - Replace return values of 0 with FALSE for clarity
11957                 - Test zero-length byte arrays
11958
11959 2006-06-17  Dan Williams  <dcbw@redhat.com>
11960
11961         * libnm-util/dbus-dict-helpers.[ch]
11962           test/libnm-util/test-dbus-dict-helpers.c
11963                 - Add helpers for byte arrays
11964                 - Rework bits of the testcase
11965
11966 2006-06-16  Dan Williams  <dcbw@redhat.com>
11967
11968         * libnm-util/Makefile.am
11969         * libnm-util/dbus-dict-helpers.[ch]
11970                 - Add some helpers to take the pain out of using dict types in
11971                         dbus.
11972
11973         * test/libnm-util/Makefile.am
11974         * test/libnm-util/test-dbus-dict-helpers.c
11975                 - Test cases for the dict helper functions
11976
11977 2006-06-15  Robert Love  <rml@novell.com>
11978
11979         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
11980           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
11981           if there is no key to pass.
11982         * libnm-util/dbus-helpers.c: Given the above, we can trust always
11983           receiving a non-NULL key.
11984
11985 2006-06-14  Robert Love  <rml@novell.com>
11986
11987         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
11988           copy the strings.
11989
11990
11991 2006-06-14  Dan Williams  <dcbw@redhat.com>
11992
11993         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
11994         * src/nm-device-802-11-wireless.c
11995                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
11996                         or ones where the driver is unknown
11997                 - (supplicant_exec): don't wait for supplicant startup here
11998                 - (supplicant_interface_init): finer grained polling for supplicant
11999                         startup
12000
12001 2006-06-13  Robert Love  <rml@novell.com>
12002
12003         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
12004           if it is currently set to TRUE.  Otherwise, we will reset the value
12005           when we connect normally.
12006         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
12007           the old BSSID is valid, too.  The recently added ESSID check may not be
12008           sufficient (we can remove it?).  What we really want to catch is the
12009           case of going from all-zeros to the BSSID of some other network, which
12010           happens on failure.
12011
12012 2006-06-09  Dan Williams  <dcbw@redhat.com>
12013
12014         * src/NetworkManagerSystem.[ch]
12015                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
12016                         it was unused and pointless
12017                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
12018                         fix for set_up_down_with_iface change
12019
12020         * src/vpn-manager/nm-vpn-connection.c
12021                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
12022
12023         * src/backends/NetworkManagerPaldo.c
12024           src/backends/NetworkManagerRedHat.c
12025           src/backends/NetworkManagerSuSE.c
12026           src/backends/NetworkManagerArch.c
12027           src/backends/NetworkManagerDebian.c
12028           src/backends/NetworkManagerGentoo.c
12029                 - (nm_system_enable_loopback): use set_up_down_with_iface where
12030                         appropriate
12031                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
12032                         where appropriate
12033
12034 2006-06-09  Dan Williams  <dcbw@redhat.com>
12035
12036         Patch from Peter Jones:
12037         * src/nm-device-802-11-wireless.c
12038                 - (nm_device_802_11_wireless_update_bssid): make sure that the
12039                         SSID hasn't changed from what we expect before automatically
12040                         updating the saved BSSID from a new AP
12041
12042 2006-06-08  Robert Love  <rml@novell.com>
12043
12044         Add 'fallback' support.  NetworkManager will attempt to brute-force
12045         connect to networks marked as fallback if there are no better wireless
12046         connections available.  This is useful as a method of last resort, to
12047         work around driver problems, and for use with hidden networks.
12048         * gnome/applet/applet-dbus-devices.c,
12049           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
12050         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
12051           pass it on via DBUS.
12052         * gnome/applet/applet.c: No fallback by default.
12053         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
12054           Update other-network-dialog to add UI checkbox toggling fallback.
12055         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
12056           propery from AP object.  Add "fallback" property to AP object.
12057         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
12058         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
12059         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
12060           separate function.  Add get_best_fallback_ap() for returning an AP
12061           on which to attempt fallback.
12062         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
12063         * test/nm-set-fallback: New file.  Sets a given network as fallback.
12064
12065 2006-06-07  Robert Love  <rml@novell.com>
12066
12067         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
12068           checked that the return type was GCONF_VALUE_STRING, not the correct
12069           GCONF_VALUE_BOOL, and thus it never worked.
12070         * src/NetworkManagerAPList.c: Before concluding that two networks are
12071           identical based on their BSSID, make sure that the BSSID in question
12072           is actually valid.  Specifically, an empty or all zero BSSID does not
12073           cut it.
12074         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
12075           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
12076           similar invariant clean up.
12077
12078 2006-06-02  Robert Love  <rml@novell.com>
12079
12080         * gnome/applet/applet.c: Update copyright years.  Add Novell.
12081
12082 2006-05-28  Dan Williams  <dcbw@redhat.com>
12083
12084         * gnome/applet/applet.glade
12085           gnome/vpn-properties/nm-vpn-properties.glade
12086                 - Set window icons on dialogs  (Gnome.org #333420)
12087
12088 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
12089
12090         * gnome/vpn-properties/nm-vpn-properties.glade:
12091         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
12092         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
12093         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
12094                 - Make the VPN properties pages prettier and more HIG
12095                   compliant. Gnome Bug #336913.
12096
12097 2006-05-28  Dan Williams  <dcbw@redhat.com>
12098
12099         Patch from Christian Persch <chpe@gnome.org>
12100         * gnome/vpn-properties/nm-vpn-properties.c
12101         * gnome/vpn-properties/nm-vpn-properties.glade
12102                 - HIG-ification love  (Gnome.org #336846)
12103
12104 2006-05-28  Dan Williams  <dcbw@redhat.com>
12105
12106         Patch from Christian Persch <chpe@gnome.org>
12107         * configure.in
12108           gnome/vpn-properties/nm-vpn-properties.c
12109                 - (main): Fix option parsing.  Gnome.org #336847
12110
12111 2006-05-28  Dan Williams  <dcbw@redhat.com>
12112
12113         * gnome/vpn-properties/nm-vpn-properties.c
12114                 - (find_vpn_ui_by_service_name): protect against NULL service names
12115                 - (update_edit_del_sensitivity): protect against NULL service names
12116                         Gnome.org #341306
12117
12118 2006-05-28  Dan Williams  <dcbw@redhat.com>
12119
12120         Patch from Chris Fuller <crf@grandecom.net>:
12121         * src/nm-device-802-11-wireless.c
12122                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
12123                         don't dispose of wireless-specific stuff unless it is actually
12124                         initialized.  Gnome.org #341263
12125
12126 2006-05-28  Dan Williams  <dcbw@redhat.com>
12127
12128         * src/NetworkManagerPolicy.c
12129                 - (nm_policy_device_change_check): don't switch devices if the "best"
12130                         AP is essentially the same as the current activation request, but
12131                         the current activation request isn't done activating yet.  Fixes
12132                         multiple requests for keyring password on startup for Gnome applet.
12133                         Gnome.org #341297
12134
12135 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
12136
12137         * src/NetworkManager.c: use GOptions instead of getopt
12138         * configure.in: bump glib required version to >= 2.6 for GOption
12139           support
12140
12141 2006-05-25  Robert Love  <rml@novell.com>
12142
12143         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
12144           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
12145           instead of dumping ifdef's throughout the code.
12146         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
12147           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
12148           use nm_ioctl_info() in lieu.
12149
12150 2006-05-25  Robert Love  <rml@novell.com>
12151
12152         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
12153         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
12154           not using gcrypt.  Otherwise, we get a linker error.
12155
12156 2006-05-25  Robert Love  <rml@novell.com>
12157
12158         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
12159         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
12160           configure flag to disable building of the GNOME-based applet.
12161
12162 2006-05-25  Robert Love  <rml@novell.com>
12163
12164         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
12165           parameter from link, because it shadows a global variable with some
12166           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
12167           should never have exported to the entire system a common four letter
12168           word.  But we here at NetworkManager are team players.  Fixes
12169           GNOME bug #336532.
12170
12171 2006-05-25  Arangel Angov <ufo@linux.net.mk>
12172
12173         * configure.in: Added mk.po, Macedonian translation.
12174
12175 2006-05-24  Robert Love  <rml@novell.com>
12176
12177         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
12178           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
12179           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
12180
12181 2006-05-24  Robert Love  <rml@novell.com>
12182
12183         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
12184           libnm-util/Makefile.am, src/Makefile.am,
12185           vpn-daemons/openvpn/auth-dialog/Makefile.am,
12186           vpn-daemons/openvpn/properties/Makefile.am,
12187           vpn-daemons/pptp/auth-dialog/Makefile.am,
12188           vpn-daemons/pptp/properties/Makefile.am,
12189           vpn-daemons/vpnc/auth-dialog/Makefile.am,
12190           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
12191           user passed for --datadir, if anything, when setting the GNOME locale
12192           directory.  It should be a function of the specified datadir and not
12193           the prefix.
12194
12195 2006-05-24  Robert Love  <rml@novell.com>
12196
12197         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
12198           src/NetworkManager.c: Take care to call bindtextdomain with the
12199           location of msgid files.
12200         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
12201           files.
12202
12203 2006-05-22  Robert Love  <rml@novell.com>
12204
12205         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
12206           stage4_timeout on failure unless the wireless network is Ad-Hoc.
12207           99% of the time there is a real problem with wireless, and a
12208           seemingly successful connection via Zeroconf just confuses the user.
12209           And that 1% of the time the network is probably Ad-Hoc, anyhow.
12210
12211 2006-05-22  Robert Love  <rml@novell.com>
12212
12213         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
12214           autofs on interface up if NIS is configured.  On interface down, do
12215           nothing.
12216
12217 2006-05-22  Robert Love  <rml@novell.com>
12218
12219         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
12220           to avoid calling g_object_unref() on stale pointers on error in
12221           nma_icons_free().  This happens because we short-circuit loaded the
12222           icons on the first failure but then free all icons.  Normally we have
12223           no issue because the icons were zero'ed out malloc, but we have stale
12224           pointer data after nma_icon_theme_changed().
12225         * gnome/applet/main.c: Return error code if nma_new() failed.
12226
12227 2060-05-21  Dan Williams  <dcbw@redhat.com>
12228
12229         * initscript/NetworkManager.in
12230                 - Ensure both dhcdbd and named are started before NM
12231
12232 2006-05-21  Dan Williams  <dcbw@redhat.com>
12233
12234         * configure.in
12235                 - Bump version to 0.7 to signify we are in 0.7 development
12236
12237 2006-05-21  Dan Williams  <dcbw@redhat.com>
12238
12239         Patch from Adam Schreiber <sadam@clemson.edu>
12240         * gnome/vpn-properties/nm-vpn-properties.c
12241                 - (main): correct Gnome program name  (gnome.org #342498)
12242
12243 2006-05-21  Dan Williams  <dcbw@redhat.com>
12244
12245         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
12246
12247         * src/NetworkManagerDbus.[ch]
12248                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
12249                         clarify that function's argument should be an escaped dbus object
12250                         path, and look for path segment end before returning a match
12251         * src/nm-dbus-nm.c:
12252                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
12253
12254 2006-05-17  Robert Love  <rml@novell.com>
12255
12256         Functionality to differentiate Ad-Hoc networks from infrastructure
12257         networks in the applet, by displaying a special icon:
12258         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
12259         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
12260         * gnome/applet/menu-items.c: Set a special icon in the scan list for
12261           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
12262           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
12263           networks, encrypted or not.
12264         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
12265           accessor functions to get and set the mode of a given network,
12266           wireless_network_get_mode() and wireless_network_set_mode().
12267
12268 2006-05-17  Robert Love  <rml@novell.com>
12269
12270         Functionality to automatically add BSSIDs to the allowed-MAC list as
12271         one roams from access point to access point on a given network:
12272         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
12273           helper function to compare two ether_addr structures and return TRUE
12274           if they contain the same MAC address.
12275         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
12276           prototype.
12277         * src/nm-device-802-11-wireless.c: New function to update the BSSID
12278           stored with the current AP.  If the BSSID has indeed changed, we
12279           send it out to the applet, allowing the allowed-MAC list to grow
12280           automatically in response to roaming.
12281
12282 2006-05-16  Robert Love  <rml@novell.com>
12283
12284         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
12285           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
12286
12287 2006-05-13  Dan Williams  <dcbw@redhat.com>
12288
12289         * src/nm-device-802-3-ethernet.c
12290                 - (real_get_generic_capabilities): Don't ignore devices that can't do
12291                         carrier detect (Debian bug #366373)
12292
12293 2006-05-11  Dan Williams  <dcbw@redhat.com>
12294
12295         Patch from Michael Biebl <biebl@teco.edu>
12296         * src/backends/NetworkManagerDebian.c
12297                 - Debian backend fixups
12298
12299 2006-05-10  Robert Love  <rml@novell.com>
12300
12301         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
12302
12303 2006-05-09  Robert Love  <rml@novell.com>
12304
12305         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
12306           private certificate passphrase, if any, in the GNOME Keyring.
12307         * libnm-utils/dbus-helpers.c: Update.
12308
12309 2006-05-05  Dan Williams  <dcbw@redhat.com>
12310
12311         * src/nm-device-802-11-wireless.c
12312                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
12313                         nm_device_802_11_wireless_disable_encryption() since that's all
12314                         we use it for anymore; we don't ever set WEP keys ourselves.
12315                 - (real_deactivate_quickly): reset SSID and encryption keys
12316                 - (real_deactivate): move SSID and encryption key reset to
12317                         real_deactivate_quickly(), which gets run before us anyway
12318
12319 2006-05-05  Robert Love  <rml@novell.com>
12320
12321         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
12322           root has a wacky default of its own (or, more common, a user has a
12323           bad umask and uses su/sudo to restart NetworkManager).  Anything
12324           other than 0022 does not do what we want with, for example,
12325           resolv.conf.  This problem is amplified by our judicious use of
12326           fopen(), which uses mode 0666 -- implying that the only way to get
12327           the permissions we want is with a umask of 0022.
12328
12329 2006-05-05  Dan Williams  <dcbw@redhat.com>
12330
12331         * gnome/libnm_glib/libnm_glib.c
12332                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
12333                         to reconnect; instead wait a bit more with each reconnect attempt
12334                         up to a max of one minute.
12335
12336 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
12337
12338         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
12339           the WirelessNetwork structure using the proper function instead of
12340           just casting it directly to (const char *) (gnome.org #336991)
12341
12342 2006-05-03  Robert Love  <rml@novell.com>
12343
12344         * src/backends/NetworkManagerSuSE.c: Respect the variable
12345           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
12346           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
12347           to dynamically update /etc/resolv.conf.
12348
12349 2006-05-02  Peter Jones  <pjones@redhat.com>
12350
12351         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
12352
12353 2006-05-02  Robert Love  <rml@novell.com>
12354
12355         Patch by Timo Hoenig;
12356         * tests/nm-online.c: Print pretty status indicator as timeout winds
12357           down.  Also fix possible race between DBUS startup and failure
12358           return.
12359
12360 2006-05-01  Robert Love  <rml@novell.com>
12361
12362         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
12363           empty, too.
12364
12365 2006-04-27  Jeremy Katz  <katzj@redhat.com>
12366
12367         * src/nm-device.c (discover_device_type): Actually use the hal
12368         device type instead of ioctl poking
12369
12370 2006-04-26  Robert Love  <rml@novell.com>
12371
12372         * tests/nm-online.c: New file.  Simple utility that returns exit status
12373           noting whether the connection is offline or online.  If offline on
12374           start, it waits 30 seconds (or a command-line given value) for an
12375           online signal.  If it times out, it again returns offline.  This is
12376           useful for scripts that want to wait for network connections.
12377
12378 2006-04-25  Robert Love  <rml@novell.com>
12379
12380         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
12381           key mode (the authentication algorithm), e.g. open or shared, when we
12382           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
12383           only shared was broken.  If the user specified a shared key, set it
12384           explicitly, otherwise let wpa_supplicant go with the default.
12385
12386 2006-04-24  Dan Williams  <dcbw@redhat.com>
12387
12388         * src/nm-device-802-11-wireless.c
12389                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
12390
12391 2006-04-24  Dan Williams  <dcbw@redhat.com>
12392
12393         Commit the async scanning patch
12394
12395         * src/nm-device-802-11-wireless.c
12396                 - get rid of scan_mutex
12397                 - (wireless_event_helper): act on wireless scan events
12398                 - (real_start): schedule a pending scan
12399                 - (link_to_specific_ap): fake the link to the AP during a scan
12400                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
12401                         strength during scans
12402                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
12403                         nm_device_set_bitrate): unused with new scanning code, disable
12404                 - (nm_device_wireless_schedule_scan): removed
12405                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
12406                 - (request_and_convert_scan_results): new function; retrieve scan
12407                         results from the driver and schedule the processing function
12408                 - (scan_results_timeout): timeout triggered when card doesn't send
12409                         a scan results wireless event during a certain interval
12410                 - (schedule_scan_results_timeout): new function; schedule the scan
12411                         results timeout
12412                 - (cancel_scan_results_timeout): new function; cancel the scan
12413                         results timeout
12414                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
12415                         to do the scanning.  Otherwise, just request a scan but don't
12416                         grab results here; instead schedule a timeout for scan results and
12417                         let netlink notify us of scan completion events
12418                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
12419                 - (cancel_pending_scan): new function; cancel a pending wireless scan
12420                 - (supplicant_status_cb): ignore disconnect events while scanning
12421                 - (supplicant_exec): wait a bit longer for the supplicant to start up
12422                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
12423                         timeouts
12424                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
12425
12426 2006-04-24  Dan Williams  <dcbw@redhat.com>
12427
12428         * gnome/applet/applet-dbus.c
12429                 - Disable the pending call debug stuff, seems under control now
12430
12431 2006-04-20  Robert Love  <rml@novell.com>
12432
12433         Fix bug where hidden ESSID's would not show up in the applet, even
12434         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
12435         because nm_policy_device_list_update_from_allowed_list() would merge
12436         the data, putting a name to the hidden networks, but never notify NMI
12437         of the changes.  Simple fix is to invoke the function
12438         nm_dbus_signal_wireless_network_change() if we make a mapping.
12439         * src/NetworkManagerAPList.c: Call the function
12440           nm_dbus_signal_wireless_network_change() if we made a successful
12441           BSSID to ESSID mapping, notifying the applet of the "new" network.
12442         * src/NetworkManagerAPList.h: Update the prototypes for both
12443           nm_ap_list_copy_essids_by_address() and
12444           nm_ap_list_copy_one_essid_by_address().
12445
12446 2006-04-20  Robert Love  <rml@novell.com>
12447
12448         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
12449           not set.  Just return zero.
12450
12451 2006-04-20  Robert Love  <rml@novell.com>
12452
12453         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
12454           only one copy of nm-vpn-properties is running at a time via the 'ol
12455           X selection trick.  This prevents the user from opening two "VPN
12456           Connections" windows from within the applet, which leads to mass
12457           hysteria.
12458         * clipboard.c: New file, implementing simple X selection logic.
12459         * clipboard.h: New file.
12460         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
12461
12462 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
12463
12464         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
12465         * configure.in
12466           initscript/Gentoo/Makefile.am
12467           initscript/Gentoo/NetworkManagerDispatcher.in
12468                 - New script
12469         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
12470           Gentopia
12471
12472 2006-04-16  Dan Williams  <dcbw@redhat.com>
12473
12474         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
12475         * configure.in
12476           initscript/Slackware/Makefile.am
12477           initscript/Slackware/rc.networkmanager-dispatcher.in
12478           initscript/Slackware/rc.networkmanager.in
12479                 - Update slackware initscripts
12480
12481 2006-04-10  Robert Love  <rml@novell.com>
12482
12483         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
12484           the "delete_event" signal on the druid's parent window and handle it
12485           our way, lest using the WM to close the druid results in a series of
12486           bloody and ultimately lethal errors.
12487
12488 2006-04-10  Robert Love  <rml@novell.com>
12489
12490         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
12491           'Back' too or else the 'Forward' option is initially disabled despite
12492           valid input.
12493
12494 2006-04-06  Robert Love  <rml@novell.com>
12495
12496         Fix bad but simple bug where an active modem connection did not update
12497         NM's connection state, breaking any app that did online/offline:
12498         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
12499           represented whether a dial up connection is active, or not.
12500         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
12501           to modem activation and deactivation.
12502         * src/NetworkManagerDbus.c: When asked our state, do not return
12503           disconnected if the modem is active.
12504
12505 2006-04-04  Robert Love  <rml@novell.com>
12506
12507         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
12508           applet.  It just confuses the crap out of people and does not make a
12509           lot of sense, as the daemon still runs.
12510
12511 2006-04-02  Tor Krill  <tor@krill.nu>
12512
12513         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
12514           in start of service.
12515         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
12516           get Archlinux backend up to date.
12517
12518 2006-03-29  Robert Love  <rml@novell.com>
12519
12520         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
12521         to add support for per-route MSS and improve support for per-interface
12522         MTU:
12523         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
12524           optionally take an MSS parameter and set it for the given route.
12525           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
12526           NMIP4Config's stored MSS, if any.
12527         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
12528           the interface's MTU and the route's MSS, respectively.  Add functions
12529           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
12530           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
12531           MSS.
12532         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
12533           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
12534           nm_ip4_config_set_mss.
12535         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
12536           VPN daemon.
12537         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
12538           Change the retval of nm_system_get_mtu to guint32.
12539         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
12540           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
12541           servers can specify MTU's, we should set it here if the MTU was not
12542           provided.
12543
12544 2006-03-27  Jürg Billeter  <j@bitron.ch>
12545
12546         * configure.in:
12547         * initscript/Makefile.am:
12548         * initscript/paldo/Makefile.am:
12549         * initscript/paldo/NetworkManager.in:
12550         * initscript/paldo/NetworkManagerDispatcher.in:
12551         * src/backends/Makefile.am:
12552         * src/backends/NetworkManagerPaldo.c:
12553                 - Add paldo support
12554
12555 2006-03-27  Dan Williams  <dcbw@redhat.com>
12556
12557         Patch from Christian Persch <chpe@gnome.org>
12558         * gnome/applet/applet.glade
12559                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
12560
12561 2006-03-27  Dan Williams  <dcbw@redhat.com>
12562
12563         Patch from Diffe <diffie@blazebox.homeip.net>
12564         * src/backends/NetworkManagerSlackware.c
12565                 - Don't restart howl, since it's been replaced by Avahi
12566                         in most distributions
12567
12568 2006-03-27  Dan Williams  <dcbw@redhat.com>
12569
12570         Patch from Tor Krill <bugzilla@krill.nu>
12571         * configure.in
12572           initscript/Makefile.am
12573           src/backends/Makefile.am
12574           src/backends/NetworkManagerArch.c
12575           initscript/Arch/Makefile.am
12576           initscript/Arch/networkmanager-dispatcher.in
12577           initscript/Arch/networkmanager.in
12578                 - Add Arch Linux support, fixes gnome.org #335147
12579
12580 2006-03-27  Dan Williams  <dcbw@redhat.com>
12581
12582         Patch from Diffe <diffie@blazebox.homeip.net>
12583      * initscript/Slackware/rc.networkmanager
12584         - update, fixed gnome.org #333368
12585
12586 2006-03-27  Robert Love  <rml@novell.com>
12587
12588         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
12589           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
12590
12591 2006-03-27  Robert Love  <rml@novell.com>
12592
12593         Patch by Jürg Billeter <j@bitron.ch>:
12594         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
12595           systems.
12596         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
12597           as we prefer glibc over kernel headers, if possible.
12598
12599 2006-03-27  Robert Love  <rml@novell.com>
12600
12601         Patch by Jon Escombe <list@dresco.co.uk>:
12602         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
12603         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
12604           fail, don't bail out.  We don't expect all of the various WPA-EAP
12605           values to be present.
12606         * src/nm-ap-security.c: We need to match all capabilities for each
12607           encryption type, not any one of them.
12608
12609 2006-03-27  Robert Love  <rml@novell.com>
12610
12611         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
12612           restart, not reload, ypbind.  Unfortunately there is no superior
12613           solution.
12614
12615 2006-03-24  Christopher Aillon  <caillon@redhat.com>
12616
12617         * gnome/applet/applet-notifications.c:
12618         When displaying a notification, make sure to get rid of the
12619         previous notification so as to not have competing bubbles,
12620         and stop leaking the old one.
12621
12622         * gnome/applet/applet.c:
12623         * gnome/applet/applet.h:
12624         Add a new 'notification' member to the applet, and zero it out
12625         and free it appropriately.
12626
12627 2006-03-23  Robert Love  <rml@novell.com>
12628
12629         Patch by j <j@bootlab.org>:
12630         * gnome/applet/applet.glade: Don't set the invisible_char property,
12631           which simply overrides the GTK default.  By and by, this behavior
12632           ought to be fixed in Glade.
12633
12634 2006-03-22  Robert Love  <rml@novell.com>
12635
12636         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
12637
12638 2006-03-22  Robert Love  <rml@novell.com>
12639
12640         Bug fix by Timo Hoenig <thoenig@suse.de>:
12641         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
12642           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
12643           and the applet going AWOL.
12644
12645 2006-03-22  Robert Love  <rml@novell.com>
12646
12647         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
12648           preprocessor define and use it instead of open-coded the DHCP
12649           timeout, which is currently 25 seconds, everywhere.
12650
12651 2006-03-22  Robert Love  <rml@novell.com>
12652
12653         Implement "Dynamic WEP", which is basically WPA authentication and WEP
12654         key exchange via WPA, ostensibly providing good security without
12655         requiring hardware that supports full WPA.  Also, add UI elements to
12656         allow the user to select the pairwise & group cipher for WPA Enterprise
12657         networks, too:
12658         * gnome/applet/applet.glade: Update glade file.
12659         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
12660           key type, too, to and from gconf.
12661         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
12662           wso_wpa_create_key_type_model(), noting whether we are handling PSK
12663           or EAP configuration, and in the latter case add in "Dynamic WEP" if
12664           the capabilities match.
12665         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
12666           prototype.
12667         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
12668           serialize from UI to DBUS.
12669         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
12670           one element.
12671         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
12672           nmu_security_serialize_wpa_eap_with_cipher(), and
12673           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
12674           serialize/deserialize the key type via DBUS as the new third DBUS
12675           parameter.
12676         * libnm-util/dbus-helpers.h: Update prototypes.
12677         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
12678           too.  If the key type is WEP104, do Dynamic WEP, which means
12679           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
12680           pairwise and group ciphers (fixes a FIXME).
12681
12682 2006-03-21  Robert Love  <rml@novell.com>
12683
12684         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
12685           nm_system_get_mtu(), which returns a user-provided or system-mandated
12686           MTU value for a given device, if any, or zero if no such value
12687           exists.  Add nm_system_set_mtu() to set the MTU for a given device
12688           if we have a provided value.
12689         * src/nm-device.c: Set the MTU of devices.
12690         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
12691         * src/backends/NetworkManagerDebian.c,
12692           src/backends/NetworkManagerGentoo.c,
12693           src/backends/NetworkManagerRedHat.c,
12694           src/backends/NetworkManagerSlackware.c: Implement stub functions.
12695
12696 2006-03-21  Robert Love  <rml@novell.com>
12697
12698         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
12699           configuration file.
12700
12701 2006-03-17  Robert Love  <rml@novell.com>
12702
12703         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
12704           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
12705           it, in case it is not running in the first place.  We just want its
12706           configuration reloaded.  Also, do not "rcypbind stop" on device down.
12707
12708 2006-03-15  Robert Love  <rml@novell.com>
12709
12710         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
12711           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
12712           label "WEP 40/128-bit" is inconsistent because the physical key size
12713           is 40 or 104-bits, to which a 24-bit initialisation vector is
12714           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
12715           to read "40/104" or "64/128".  I do not care much which, but most
12716           users think of "silver" and "gold" encryption as 64 and 128-bits, so
12717           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
12718           WEP passphrase support only handles 128-bit keys, and any future
12719           64-bit passphrase support will require a new option (no way to auto-
12720           detect the target key size), explicitly label our passphrase support
12721           "WEP 128-bit Passphrase".
12722
12723 2006-03-15  Robert Love  <rml@novell.com>
12724
12725         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
12726           the system init scripts (or some other mechanism) starting it (or a
12727           compatible DBUS service) before NetworkManager runs.  This means that
12728           distributions might need to update their init scripts.  This fixes
12729           possible races and is quite a bit cleaner.
12730         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
12731           starting the NetworkManager daemon.
12732
12733
12734 2006-03-14  Robert Love  <rml@novell.com>
12735
12736         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
12737           before adding anything.
12738
12739 2006-03-13  Robert Love  <rml@novell.com>
12740
12741         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
12742           widgets, too, if they exist, in case the user hit the back button.
12743           Fixes a bug where the details page contains the widgets of multiple
12744           VPN modules (Novell bug #157048).
12745
12746 2006-03-13  Robert Love  <rml@novell.com>
12747
12748         Patch by Timo Hoenig <thoenig@suse.de>:
12749         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
12750           daemon survive DBUS restarts, too.
12751
12752 2006-03-10  Robert Love  <rml@novell.com>
12753
12754         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
12755           passphrase or key.
12756         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12757           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
12758           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
12759           in response to "toggled" signal on new toggle.
12760
12761 2006-03-10  Robert Love  <rml@novell.com>
12762
12763         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12764           serialization if strings are NULL, lest DBUS get angry.
12765
12766 2006-03-10  Robert Love  <rml@novell.com>
12767
12768         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12769
12770 2006-03-09  Robert Love  <rml@novell.com>
12771
12772         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12773           configurations.
12774
12775 2006-03-09  Dan Williams  <dcbw@redhat.com>
12776
12777         Track pending call requests in the applet, and report how many are
12778         outstanding, and how long each completed one takes.
12779         
12780         * gnome/applet/applet-dbus-devices.c
12781           gnome/applet/applet-dbus-vpn.c
12782                 - Track pending calls
12783
12784         * gnome/applet/applet-dbus.[ch]
12785                 - Remove some unused enums
12786                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12787                         new functions to track dbus pending calls and spit out some
12788                         statistics about them
12789
12790 2006-03-09  Robert Love  <rml@novell.com>
12791
12792         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12793           nm_ap_set_timestamp() take the second and micro-second parameters as
12794           direct arguments, which avoids both a dynamic memory allocation and a
12795           structure-to-structure copy!  Add a new interface, the aptly named
12796           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12797           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12798           the return from nm_ap_get_timestamp().  New users should use the new
12799           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12800           the extreme benefit to performance.
12801         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12802           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12803
12804 2006-03-08  Robert Love  <rml@novell.com>
12805
12806         * gnome/applet/applet.glade: Hide the password entry text with
12807           asterisks.
12808
12809 2006-03-08  Robert Love  <rml@novell.com>
12810
12811         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12812           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12813           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12814           a second argument, NMData.
12815         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12816         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12817           config files as trusted.
12818
12819 2006-03-06  Robert Love  <rml@novell.com>
12820
12821         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12822         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12823           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12824           Rivera, detect if the applet was auto-started.  If so, ask the user
12825           if he or she would like to stop automatically running the applet on
12826           login.  If so, disable autostart.
12827
12828 2006-03-06  Robert Love  <rml@novell.com>
12829
12830         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12831           directory in CFLAGS so developers can actually use NetworkManager.h.
12832
12833 2006-03-06  Robert Love  <rml@novell.com>
12834
12835         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12836           open-coded integer constants.  Add state_to_string() to map a given
12837           state to a textual description, and provide that when notifying of
12838           state change.
12839         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12840           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12841           this header directly, but it is currently not installed on most
12842           systems.
12843
12844 2006-03-05  Dan Williams  <dcbw@redhat.com>
12845
12846         Process netlink messages in device subclasses rather than in
12847         NetworkManager.c.  Also add support for recognizing Wireless Events.
12848         
12849         * configure.in
12850                 - Find GLIB_GENMARSHAL
12851
12852         * src/Makefile.am
12853                 - Since we're marshalling custom types for wireless event signals,
12854                         we get to create our own marshallers using GLIB_GENMARSHAL
12855
12856         * src/NetworkManager.c
12857                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12858                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12859                         cut down somewhat.  We no longer process signals here.
12860                 - (nm_data_new): create the netlink monitor here, and remove a
12861                         useless call to nm_policy_schedule_device_change_check()
12862                 - (nm_data_free): get rid of the netlink monitor here
12863                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12864                 - (main): don't create the netlink monitor here, let nm_data_new
12865                         do that.  Call nm_policy_schedule_device_change_check() right
12866                         before we jump to the mainloop to figure out which device
12867                         to use first
12868
12869         * src/NetworkManagerSystem.[ch]
12870                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12871                         convert back and forth from interface names to interface
12872                         indexes
12873
12874         * src/nm-device-802-11-wireless.c
12875                 - (real_init): connect to wireless-event signals from the netlink
12876                         monitor object
12877                 - (nm_device_802_11_wireless_event): new function, schedule handler
12878                         for wireless event signals from the netlink monitor object.  We
12879                         want the handler to run in the device's context
12880                 - (wireless_event_helper): handle wireless-event signals from netlink
12881                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12882                         signal handler
12883
12884         * src/nm-device-802-11-wireless.h
12885                 - remove unused prototype for nm_device_802_11_wireless_new
12886
12887         * src/nm-device-802-3-ethernet.c
12888                 - (real_init): new function; set up signal handlers for link events
12889                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12890                         handler for netlink link activated events on device's main loop
12891                 - (link_activated_helper): when we get a link activated event, set
12892                         the device's link to be active
12893                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12894                         handler for netlink link deactivated events on device's main loop
12895                 - (link_deactivated_helper): when we get a link deactivated event, set
12896                         the device's link to be inactive
12897                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12898                         dispose
12899
12900         * src/nm-device-802-3-ethernet.h
12901                 - remove unused prototype for nm_device_802_3_ethernet_new
12902
12903         * src/nm-device.[ch]
12904                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12905                         but locks the device list
12906                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12907
12908         * src/nm-netlink-monitor.[ch]
12909                 - (nm_netlink_monitor_class_install_signals): New signal
12910                         "wireless-event"
12911                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12912                         at the device list
12913                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12914
12915         * src/nm-marshal-main.c
12916                 - Include generated nm-marshal.c and nm-marshal.h
12917
12918         * src/nm-marshal.list
12919                 - List of custom marshal functions
12920
12921 2006-03-05  Dan Williams  <dcbw@redhat.com>
12922
12923         * gnome/applet/applet-notifications.h
12924                 - Protect prototype of nma_send_event_notification() because it
12925                         includes libnotify-specific types
12926                 - Include libnotify/libnotify.h too, since we technically need it
12927
12928         * gnome/applet/applet.c
12929                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12930                 - (nma_show_vpn_login_banner_dialog): add some error checking
12931
12932 2006-03-04  Dan Williams  <dcbw@redhat.com>
12933
12934         Clean up activation cancellation.  Should be a lot faster now.  Observed
12935         an issue with wireless devices between stage 2 and 3 of activation, where
12936         activation would be cancelled, but the device thread wouldn't notice until
12937         the supplicant association timed out.  Reorganize activation such that
12938         a cancellation handler gets immediately scheduled in the device's thread,
12939         and devices have a chance to perform any custom cleanup too.
12940
12941         * src/nm-device.[ch]
12942                 - (activation_cancel_handler): new device-type-specific function
12943                         for cleaning up device-type-specific stuff on cancellation
12944                 - (cancel_activation): removed
12945                 - (nm_device_activation_cancel): subsume functionality of
12946                         real_cancel_activation, but instead of doing anything, punt
12947                         operation to a handler that's run in device-thread context
12948                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12949                         a warning message
12950                 - (activation_handle_cancel_helper): cancellation handler run in
12951                         device-thread context, calls device-type-specific cancelation,
12952                         then tears down the activation request
12953                 - (real_activation_cancel_handler): generic cancellation handler,
12954                         deals with cancelling any in-process DHCP request
12955                 - (nm_device_activate_stage1_device_prepare,
12956                    nm_device_activate_stage2_device_config,
12957                    nm_device_activate_stage3_ip_config_start,
12958                    nm_device_activate_stage4_ip_config_get,
12959                    nm_device_activate_stage4_ip_config_timeout,
12960                    nm_device_activate_stage5_ip_commit): don't call
12961                         nm_device_schedule_activation_handle_cancel() any more, since
12962                         cancellation will have been already scheduled for us by
12963                         nm_device_activation_cancel().  Just exit the function and
12964                         assume that the cancel handler will be called next.
12965
12966         * src/nm-device-802-3-ethernet.c
12967                 - (real_act_stage2_config): remove; didn't do anything anyway
12968
12969         * src/nm-device-802-11-wireless.c
12970                 - (supplicant_status_cb): ensure we don't do anything if the activation
12971                         got cancelled
12972                 - (real_activation_cancel_handler): implement; cancel user key request
12973                         on activation cancellation
12974
12975 2006-03-04  Dan Williams  <dcbw@redhat.com>
12976
12977         * src/nm-device-802-11-wireless.c
12978                 - (supplicant_send_network_config): assume that drivers that don't
12979                         support WPA pretty much suck, and can't handle NM scanning
12980                         along with wpa_supplicant.
12981
12982 2006-03-03  Robert Love  <rml@novell.com>
12983
12984         * configure.in: Bump version to 0.6.0.
12985         * NEWS: Update.
12986
12987 2006-03-03  Robert Love  <rml@novell.com>
12988
12989         * configure.in: Require DBUS 0.60 or later.
12990
12991 2006-03-03  Dan Williams  <dcbw@redhat.com>
12992
12993         Fix a crash if an "Other wireless network" was chosen, failed, then
12994         chosen again from the applet's menu.  If the other network wasn't
12995         noticed in a scan, it wouldn't have any capabilities, but would still
12996         be listed because the user forced the network.  To fix this, we set
12997         sensible capabilities on the forced network, which will get overwritten
12998         with the correct ones if the network shows up later in a scan.
12999         
13000         * src/nm-ap-security.h
13001                 - Add a new "get_default_capabilities_func" member to the
13002                         NMAPSecurity class
13003
13004         * src/nm-ap-security.c
13005                 - (nm_ap_security_get_default_capabilities): new function
13006
13007         * src/nm-ap-security.c
13008           src/nm-ap-security-wep.c
13009           src/nm-ap-security-wpa-psk.c
13010           src/nm-ap-security-wpa-eap.c
13011                 - Implement get_default_capabilities_func() for all, which
13012                         uses the information contained in a specific NMAPSecurity
13013                         object to determine default AP capabilites necessary
13014                         to support that object
13015
13016         As a secondary measure, we now prune artificial access points that fail
13017         to be activated right away.  The thing failed, and we have no scan data for
13018         it, so it's pretty much useless since security information is only saved
13019         in the applets when a connection is successful.
13020
13021         * src/NetworkManagerAPList.c
13022                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
13023                         not artificial.  If we see it, it's no longer a figment of the
13024                         user's imagination :)
13025
13026         * src/NetworkManagerPolicy.c
13027                 - (nm_policy_activation_failed): send along the failed AP if we
13028                         have it
13029
13030         * src/nm-device-802-11-wireless.c
13031                 - (real_activation_failure_handler): remove artificial APs from
13032                         the device list, because activation failed
13033
13034 2006-03-02  Robert Love  <rml@novell.com>
13035
13036         Add support for retrieving both the per-device speed and the
13037         per-network maximum supported rate.  Then change the getProperties
13038         DBUS API for both networks and devices to report this informaiton.
13039         Finally, display the information via both nm-applet and nm-tool:
13040         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
13041           and set it.
13042         * gnome/applet/applet.c: Display the device's speed in the 'Connection
13043           Information' dialog.
13044         * gnome/applet/applet.glade: Update the UI to show per-device speed.
13045         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
13046           network_device_get_speed() and network_device_set_speed() for
13047           retrieving and setting, respectively, a network device's current
13048           speed.
13049         * src/nm-dbus-device.c: Send the device's speed on getProperties.
13050         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
13051           in the function nm_device_802_11_wireless_get_bitrate() -- it does
13052           not matter (yet) what the units are, because we only feed it its own
13053           output.  Implement SIOCGIRATE and set the per-network maximum
13054           supported rate during scanning.
13055         * src/nm-device-802-11-wireless.h: Export the function
13056           nm_device_802_11_wireless_get_bitrate().
13057         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
13058           function nm_device_802_3_ethernet_get_speed() for returning an
13059           802.3's current speed, in Mb/s.
13060         * test/nm-tool.c: Display the per-device current speed, if available,
13061           and the per-network maximum rate.
13062
13063 2006-03-02  Dan Williams  <dcbw@redhat.com>
13064
13065         * src/nm-device-802-11-wireless.c
13066                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
13067                         card when it gets initialized.  Since devices don't get added to
13068                         the scan list until they are initialized, this function wasn't
13069                         setting the intitial scan interval correctly, and was leaving
13070                         it at 0.  This caused cards to get many scan requests in a short
13071                         amount of time when they were initialized
13072
13073 2006-03-02  Robert Love  <rml@novell.com>
13074
13075         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
13076           active device.  But do not do what we used to do and override the
13077           state, which caused the dreaded icon race of '05.
13078
13079 2006-03-02  Robert Love  <rml@novell.com>
13080
13081         Commit Dan's update of my previous commit:
13082         * src/nm-device-802-11-wireless.c: Always set the mode, because the
13083           set_mode() function itself does the check.  But do only set the
13084           frequency if in Ad-Hoc mode.
13085
13086 2006-03-02  Robert Love  <rml@novell.com>
13087
13088         Patch by Brian Magnuson <magnuson@rcn.com>:
13089         * src/nm-device-802-11-wireless.c: During scanning, only set the
13090           wireless mode to infrastructure if it is not currently in
13091           infrastructure mode.  For some driver, setting the mode is a costly
13092           operation, apparently.
13093
13094 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
13095
13096         * Makefile.am: use the correct dir for autostart mechanism.
13097
13098 2006-02-28  Dan Williams  <dcbw@redhat.com>
13099
13100         Patch from Brian Magnuson <magnuson@rcn.com>
13101         * gnome/applet/applet.c
13102                 - (nma_show_vpn_failure_dialog): fix errors left over from
13103                         libnotify support changes
13104
13105 2006-02-28  Dan Williams  <dcbw@redhat.com>
13106
13107         * src/vpn-manager/nm-vpn-act-request.[ch]
13108                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
13109                         just one value
13110                 - (nm_vpn_act_request_is_failed): new function; return whether or
13111                         not the vpn activation request has failed
13112
13113         * src/vpn-manager/nm-vpn-manager.c 
13114                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
13115                         daemon to kill the connection when the activation request fails.
13116                         Fixes issue where NM would get confused if the VPN activation
13117                         request timed out, and would not allow further VPN connections
13118                         on that service.
13119
13120 2006-02-28  Dan Williams  <dcbw@redhat.com>
13121
13122         * gnome/applet/applet.c
13123                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
13124                         overlapping connection requests, disable all VPN menu items
13125                         but the active VPN connection
13126
13127 2006-02-28  Dan Williams  <dcbw@redhat.com>
13128
13129         * src/vpn-manager/nm-vpn-connection.c
13130                 - (nm_vpn_connection_set_parent_device): fix C&P error which
13131                         called g_object_unref() on the connection's parent device
13132                         when it should have been ref-ed instead.  Fixes crash with
13133                         repeated vpn connect requests
13134
13135 2006-02-28  Christopher Aillon  <caillon@redhat.com>
13136
13137         * gnome/applet/applet.glade:
13138         Mark a few strings non-translatable, since they shouldn't be.
13139
13140 2006-02-28  Dan Williams  <dcbw@redhat.com>
13141
13142         * src/vpn-manager/nm-vpn-service.c
13143                 - (nm_vpn_service_start_connection): if the vpn service daemon is
13144                         already running, don't blindly ask it to connect, but wait until
13145                         it's in the STOPPED state first.  Fixes an assertion when user
13146                         starts a second vpn connection without stopping the first.
13147                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
13148                         dbus service exists before continuing with the connection
13149                         process, and reduce latency while waiting for it to become
13150                         available
13151                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
13152                         waiting for the vpn service daemon to become available
13153                 - General log message cleanups; show progress via "Stage x of 4"
13154                         rather than not telling anyone how many stages there are
13155
13156 2006-02-28  Robert Love  <rml@novell.com>
13157
13158         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
13159         * src/backends/NetworkManagerSuSE.c: Implement the interface
13160           nm_system_should_modify_resolv_conf() for SUSE.
13161         * src/backends/NetworkManagerDebian.c,
13162           src/backends/NetworkManagerGentoo.c,
13163           src/backends/NetworkManagerRedHat.c,
13164           src/backends/NetworkManagerSlackware.c: Add stub.
13165         * src/named-manager/Makefile.am: Grab includes from src.
13166         * src/named-manager/nm-named-manager.c: Allow backends to disable the
13167           automatic updating of resolv.conf.  This is useful for testing,
13168           broken static configurations, and administrator lock-down.
13169
13170 2006-02-28  Dan Williams  <dcbw@redhat.com>
13171
13172         * src/nm-device-802-11-wireless.c
13173                 - Move all the wpa_supplicant-related management stuff into its
13174                         own struct, just for oranization's sake
13175                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
13176                         to a GIOChannel/GSource
13177                 - (supplicant_log_stdout): new function; grab output from the
13178                         wpa_supplicant stdout pipe and write it to our logs.
13179
13180 2006-02-27  Christopher Aillon  <caillon@redhat.com>
13181
13182         * src/nm-device-802-11-wireless.c:
13183         Err, fix thinko in my previous commit.
13184
13185 2006-02-28  Robert Love  <rml@novell.com>
13186
13187         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
13188
13189 2006-02-28  Robert Love  <rml@novell.com>
13190
13191         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
13192           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
13193           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
13194           deserializers are responsible for freeing the returned DBUS strings.
13195
13196 2006-02-27  Christopher Aillon  <caillon@redhat.com>
13197
13198         * src/nm-device-802-11-wireless.c:
13199         The scan list is being pruned prematurely.  We should prune after
13200         the device has gone MIA for three scans, not one.  Split out the
13201         interval to realtime seconds function to better serve this.
13202
13203 2006-02-27  Robert Love  <rml@novell.com>
13204
13205         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
13206           Open the pid file O_TRUNC, so if it already exists we truncate it to
13207           zero length.  Also, be more verbose about warnings generated during
13208           writing out the pid file.  Finally, always write out the pid file if
13209           in daemon mode.  Use "--pid-file" to override the default.
13210
13211 2006-02-27  Robert Love  <rml@novell.com>
13212
13213         Patch by R. Vinay <rvinay@novell.com>:
13214         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
13215           'last_attempt_success' when removing a VPN connection, too.  (Fixes
13216           Novell bug #153628).
13217           
13218 2006-02-27  Robert Love  <rml@novell.com>
13219
13220         * gnome/applet/applet.glade: Set "activates_default" on passphrase
13221           entry so user can hit <ENTER> after entering passphrase (Novell bug
13222           #153738).
13223
13224 2006-02-27  Dan Williams  <dcbw@redhat.com>
13225
13226         * gnome/applet/*
13227                 - Mass search/replace of:
13228                         nmwa -> nma
13229                         NMWirelessApplet -> NMApplet
13230                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
13231                    (it ain't just for wireless anymore, ma!)
13232                 - Fix duplicate function name printing when using nm_warning
13233                 - wireless-applet.glade -> applet.glade
13234
13235 2006-02-27  Dan Williams  <dcbw@redhat.com>
13236
13237         * dispatcher-daemon/NetworkManagerDispatcher.c
13238                 - Accept --pid-file with a path to a pidfile, write it out on
13239                         startup, and delete it on shutdown
13240
13241         * src/NetworkManager.c
13242                 - Accept --pid-file with a path to a pidfile, write it out on
13243                         startup, and delete it on shutdown
13244                 - Move nm_print_usage() lower
13245
13246         * initscripts/RedHat/NetworkManager.in
13247                 - Use new --pid-file option
13248                 - Fix service stopping to wait a bit for NM to quit
13249
13250         * initscripts/RedHat/NetworkManagerDispatcher.in
13251                 - Use new --pid-file option
13252
13253 2006-02-26  Dan Williams  <dcbw@redhat.com>
13254
13255         * src/Makefile.am
13256                 - make and install nm-crash-logger
13257
13258         * src/nm-logging.[ch]
13259                 - New files; consolidate logging and crash handling
13260
13261         * src/nm-crash-logger.c
13262           src/gdb-cmd
13263                 - Standalong crashlogger for NM, grab a backtrace
13264                         using GDB
13265
13266         * src/NetworkManager.[ch]
13267                 - Remove signal handling and put it into nm-logging.c
13268
13269 2006-02-26  Dan Williams  <dcbw@redhat.com>
13270
13271         * configure.in
13272           gnome/applet/Makefile.am
13273                 - Conditionalize all the notify stuff
13274
13275         Merge most of Chris Aillon's notification patch:
13276         
13277         * gnome/applet/applet-notifications.[ch]
13278                 - New files; show a notification
13279         
13280         * gnome/applet/applet-dbus-devices.[ch]
13281                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
13282                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
13283                         new functions, do the right thing when a device change occurs
13284
13285         * gnome/applet/applet-dbus.c
13286                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
13287                         signals, so we can handle them specially
13288
13289         * gnome/applet/applet.[ch]
13290                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
13291                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
13292                 - (nmwa_notify_state): remove
13293                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
13294                         notification work is now done when the appropriate dbus signals
13295                         are received.
13296                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
13297                         defer execution of the notification/dialog stuff.  That was an
13298                         artifact of the previous multi-threaded nature of the applet
13299                         and is now pointless.
13300                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
13301                         no longer needed.  Function folded into applet-notifications.c
13302
13303         * src/NetworkManagerPolicy.c
13304                 - (nm_policy_activation_finish): send the AP along with the device
13305                         status change signal, if the connection is wireless.  Should
13306                         fix the race where applet would show a connection to "unknown"
13307
13308 2006-02-25  Robert Love  <rml@novell.com>
13309
13310         Add WPA Enterprise support:
13311         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
13312           nm-gconf-wso-wpa-eap.h.
13313         * gnome/applet/nm-gconf-wso-wpa-eap.c,
13314           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
13315           serialization and deserialization.
13316         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13317           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
13318           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
13319         * gnome/applet/wireless-applet.glade: Add UI for configurating security
13320           settings related to WPA Enterprise.
13321         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
13322           instantiate WPA Enterprise wireless-security-option.
13323         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
13324           Implement WPA Enterprise wireless-security-option object.
13325         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
13326           defines.  Cleanup.
13327         * libnm-util/cipher-wpa-psk-hex.c,
13328           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
13329         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
13330           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
13331           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
13332           including the cipher to DBUS method, and
13333           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
13334           to output.
13335         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
13336           nm-ap-security-wpa-eap.h
13337         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
13338           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
13339         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
13340           files.  Implement NMAPSecurityWPA_EAP object.
13341         * src/nm-ap-security-wpa-psk.c: Cleanup.
13342         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
13343           an NMAPSecurityWPA_EAP object via the method
13344           nm_ap_security_wpa_eap_new_deserialize().
13345         * src/nm-dbus-nm.c: Cleanup.
13346         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
13347           WPA Enterprise support.
13348
13349 2006-02-24  Robert Love  <rml@novell.com>
13350
13351         Patch from Timo Hoenig <thoenig@suse.de>:
13352         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
13353
13354 2006-02-24  Robert Love  <rml@novell.com>
13355
13356         Patch from Dan Winship <danw@novell.com>:
13357         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
13358           area to transparent.
13359
13360 2006-02-21  Dan Williams  <dcbw@redhat.com>
13361
13362         * gnome/applet/applet.[ch]
13363           gnome/applet/applet-dbus.c
13364                 - Implement notification support for VPN messages too
13365
13366 2006-02-21  Dan Williams  <dcbw@redhat.com>
13367
13368         * gnome/applet/applet-dbus-info.c
13369                 - Clean up warning messages to not double-print the function
13370
13371 2006-02-21  Dan Williams  <dcbw@redhat.com>
13372
13373         * gnome/applet/applet-compat.c
13374                 - (convert_one_entry): accept entries without a key_type and
13375                         convert them to unencrypted networks
13376
13377 2006-02-21  Dan Williams  <dcbw@redhat.com>
13378
13379         * gnome/libnm_glib/libnm_glib.c
13380                 - Use __func__ everywhere we can
13381                 - Code cleanups
13382                 - Use dbus pending calls rather than blocking
13383                 - Reduce busywaits for our thread to start and stop
13384                         (gnome.org #330562)
13385                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
13386                         stomp on others using the default shared dbus connection.
13387                         Fixes #rh177546# and gnome.org #326572
13388
13389 2006-02-21  Dan Williams  <dcbw@redhat.com>
13390
13391         Patch from Rodney Dawes <dobey@novell.com>
13392         * configure.in
13393           gnome/applet/Makefile.am
13394           gnome/applet/applet.c
13395                 - Add libnotify support if '--enable-notify=yes' is passed
13396                   at configure time
13397
13398 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
13399
13400         * configure.in (ALL_LINGUAS): ko added. (Korean)
13401
13402 2006-02-15  Robert Love  <rml@novell.com>
13403
13404         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
13405           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
13406           and WPA_SUPPLICANT_CONTROL_SOCKET.
13407         
13408 2006-02-15  Robert Love  <rml@novell.com>
13409
13410         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
13411           information about what connection stage we are at, provide the total
13412           number of stages, e.g. "Stage 2 of 5", so users know how far along
13413           they are if they experience problems.
13414
13415 2006-02-15  Robert Love  <rml@novell.com>
13416
13417         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
13418           define to $sysconfdir.
13419         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
13420           editing dialog, vpn_edit_widget, which fixes a bug where editing one
13421           type of VPN and then editing another results in a mangled dialog
13422           box containing the widgets from both VPNs (fixes Novell #150854).
13423           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
13424
13425 2006-02-14  Robert Love  <rml@novell.com>
13426
13427         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
13428           syslog's file descriptor.
13429
13430 2006-02-14  Robert Love  <rml@novell.com>
13431
13432         Fix bug around since the change to "deal with APs changing settings on
13433         us," checked in on the fifth of February in the year of the dog, 
13434         wherein connecting to non-broadcast encrypted networks always fails
13435         because nm_ap_get_encrypted() always returns FALSE, even when the user
13436         provided a key, because the newly-created fake AP does not have any
13437         capabilities set, which is a sypmtom of security settings not matching
13438         capabilities (Novell bug #150784):
13439         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
13440           nm_ap_add_capabilities_from_security(), which sets the given AP's
13441           capabilities off the given security settings.  Also improve our
13442           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
13443           NM_AUTH_CIPHER_AUTO.
13444         * src/nm-device-802-11-wireless.c: Call the function
13445           nm_ap_add_capabilities_from_security() to ensure that capabilities
13446           match newly updated security settings.
13447
13448 2006-02-14  Robert Love  <rml@novell.com>
13449
13450         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
13451           error as a string, not an integer, if possible; do not print the
13452           function name twice; always give the interface, if possible; misc.
13453           cleanup.
13454
13455 2006-02-12  Dan Williams  <dcbw@redhat.com>
13456
13457         Patch from Tom Parker <palfrey@tevp.net>
13458         * src/NetworkManagerSystem.h
13459                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
13460                         no longer used
13461
13462         * src/backends/NetworkManagerDebian.c
13463                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
13464                         unused variables
13465
13466 2006-02-12  Dan Williams  <dcbw@redhat.com>
13467
13468         * vpn-daemons/openvpn/intltool-extract.in
13469           vpn-daemons/openvpn/intltool-merge.in
13470           vpn-daemons/openvpn/intltool-update.in
13471           vpn-daemons/pptp/intltool-extract.in
13472           vpn-daemons/pptp/intltool-merge.in
13473           vpn-daemons/pptp/intltool-update.in
13474                 - Remove from CVS, they should get created by intltoolize,
13475                         shouldn't they?
13476
13477 2006-02-12  Dan Williams  <dcbw@redhat.com>
13478
13479         * vpn-daemons/pptp/src/pppd/patchlevel.h
13480         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13481                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
13482                         Makefile-defined VERSION
13483
13484 2006-02-09  Dan Williams  <dcbw@redhat.com>
13485
13486         Patch from: Vinay A R <rvinay@novell.com>
13487         * src/vpn-manager/nm-vpn-act-request.[ch]
13488                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
13489                         IPSec VPNs require them for std gateway.
13490                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
13491                         and 'user_routes_count'
13492                 - (nm_vpn_act_request_get_user_routes): new function; gets user
13493                         defined routes  from NMVPNActRequest object, returns the string
13494                         array of routes.
13495
13496         * src/vpn-manager/nm-vpn-manager.[ch]
13497                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
13498                         for 'user_routes' and 'user_routes_count'
13499         
13500         * src/vpn-manager/nm-dbus-vpn.c
13501                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
13502                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
13503         
13504         * src/vpn-manager/nm-vpn-service.c
13505                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
13506                         the vpn daemon
13507
13508         Modifications by Dan:
13509         * src/vpn-manager/nm-vpn-service.c
13510                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
13511                         arrays into dbus
13512
13513         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13514         * vpn-daemons/pptp/src/nm-pptp-service.c
13515         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13516                 - Grab user routes from dbus message
13517                 - Free all string arrays we got from dbus
13518
13519 2006-02-07  Robert Love  <rml@novell.com>
13520
13521         Patch by Stefan Seyfried <seife@suse.de>:
13522         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
13523
13524 2006-02-06  Robert Love  <rml@novell.com>
13525
13526         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
13527
13528 2006-02-06  Robert Love  <rml@novell.com>
13529
13530         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
13531           test ">=" is never false.  If no newline is found, we loop forever.
13532           We can just check for ">" because the following if() will see the
13533           zero-th argument if the while() gets that far.
13534
13535 2006-02-05  Dan Williams  <dcbw@redhat.com>
13536
13537         Refine handling of non-broadcast networks.
13538
13539         * src/NetworkManagerAPList.c
13540                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
13541                         property from scanned AP to the AP from the device list
13542
13543         * src/nm-device-802-11-wireless.c
13544                 - (supplicant_send_network_config): use ap_scan=1 for all networks
13545                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
13546                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
13547                         networks since those don't have APs.
13548                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
13549                         AP as non-SSID-broadcasting
13550                 - (process_scan_results): don't handle non-SSID-broadcasting here
13551
13552 2006-02-05  Dan Williams  <dcbw@redhat.com>
13553
13554         * src/nm-device-802-11-wireless.c
13555                 - (get_supplicant_timeout): new function; return
13556                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
13557                         14 channels.  These are likely a/b/g cards, like Atheros, and
13558                         slow as hell to scan.
13559                 - (supplicant_timeout_cb, supplicant_monitor_start): use
13560                         get_supplicant_timeout()
13561
13562 2006-02-05  Dan Williams  <dcbw@redhat.com>
13563
13564         * src/dhcp-manager/nm-dhcp-manager.c
13565                 - Loose a commit race with Robert; make sure size check
13566                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
13567
13568 2006-02-05  Robert Love  <rml@novell.com>
13569
13570         Patch by Christoph Brill <chrisbrill@gmx.net>:
13571         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
13572           with DHCP_SERVICE_NAME.
13573
13574 2006-02-05  Dan Williams  <dcbw@redhat.com>
13575
13576         Remove anything having to do with device_setup_func from the
13577         AP security objects, since it's no longer used.
13578
13579         * src/nm-ap-security.h
13580                 - Kill device_setup_func and nm_ap_security_device_setup()
13581
13582         * src/nm-ap-security-wep.c
13583           src/nm-ap-security-wpa-psk.c
13584                 - (real_device_setup): remove
13585
13586         * src/nm-ap-security.c
13587                 - (real_device_setup): remove
13588                 - (nm_ap_security_device_setup): remove
13589
13590         * src/nm-device-802-11-wireless.[ch]
13591                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
13592                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
13593                         and done by wpa_supplicant now anyway
13594
13595 2006-02-05  Dan Williams  <dcbw@redhat.com>
13596
13597         * src/nm-device-802-11-wireless.c
13598                 - (ap_need_key, real_act_stage2_config): deal with APs changing
13599                         settings on us.  Previously NM would loop asking for the
13600                         key but getting the same one back.  Now, if the NMI-supplied
13601                         cipher doesn't overlap with the scanned AP capabilities,
13602                         we request a completely new key from the user.
13603
13604 2006-02-05  Dan Williams  <dcbw@redhat.com>
13605
13606         * src/NetworkManagerUtils.c
13607                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
13608                         Handle newline killing better
13609
13610 2006-02-05  Dan Williams  <dcbw@redhat.com>
13611
13612         * gnome/applet/nm-gconf-wso.c
13613                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
13614                         of unencrypted access point security info.
13615
13616 2006-02-03  Robert Love  <rml@novell.com>
13617
13618         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
13619           user's encryption key, so we print the err_msg_cmd not the command,
13620           if available.  So long as SUPPLICANT_DEBUG is default, this makes
13621           sense.
13622
13623 2006-02-03  Christopher Aillon  <caillon@redhat.com>
13624
13625         * initscript/RedHat/NetworkManagerDispatcher.in:
13626         * initscript/RedHat/NetworkManager.in: modify the pidfile location
13627         Patch from Dan Walsh <dwalsh@redhat.com>
13628
13629 2006-02-03  Robert Love  <rml@novell.com>
13630
13631         * dispatcher-daemon/NetworkManagerDispatcher.c,
13632           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
13633           but use the sysconfdir.
13634
13635 2006-02-03  Robert Love  <rml@novell.com>
13636
13637         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
13638           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
13639           'char *'.
13640         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
13641           nm_ip4_config_get_hostname() and
13642           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
13643         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
13644           leak g_strdup() result.
13645
13646 2006-02-03  Robert Love  <rml@novell.com>
13647
13648         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
13649           broadcast == TRUE.  Also, copy broadcast and artificial properties
13650           from source network to destination in nm_ap_copy().
13651         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
13652           since we now default new networks to non-hidden.
13653
13654 2006-02-03  Dan Williams  <dcbw@redhat.com>
13655
13656         * gnome/applet/main.c
13657                 - (main): change the NEVER->ALWAYS so we start at the
13658                         beginning of the session, if being session-managed
13659
13660 2006-02-03  Dan Williams  <dcbw@redhat.com>
13661
13662         * gnome/applet/main.c
13663                 - (main): in a variation on Robert's patch, change
13664                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
13665                         he wants.
13666
13667 2006-02-02  Robert Love  <rml@novell.com>
13668
13669         * src/Makefile.am: If we aren't going to create the run directory at,
13670           uh, run-time, create it during install.  Then users just doing
13671           'make install' are cool, too.  While we are here, create the
13672           dispatcher.d directory, too.
13673         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
13674           the exact run directory.
13675         * Makefile.am: Install nm-applet.desktop.
13676
13677 2006-02-02  Robert Love  <rml@novell.com>
13678
13679         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
13680           structure, which denotes whether or not the AP is hidden.  This is a
13681           superset of 'artificial' -- we need 'broadcast' because a hidden AP
13682           can show up in the scan list.  Add nm_ap_get_broadcast() and
13683           nm_ap_set_broadcast() accessor interfaces.
13684         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
13685           nm_ap_set_broadcast().
13686         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
13687           "getProperties" method, which denotes whether or not the given
13688           network is hidden.
13689         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
13690           an artificial network.  Set broadcast to TRUE when scanning returns
13691           an ESSID and FALSE when not.
13692         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
13693           from "getProperties" method on a network.  Possible TODO is to
13694           somehow display this.
13695         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
13696
13697 2006-02-02  Dan Williams  <dcbw@redhat.com>
13698
13699         * src/nm-device-802-11-wireless.c
13700                 - (supplicant_interface_init): don't try to create
13701                         /var/run/NetworkManager, since that should be done by
13702                         the distro package.  Causes problems for stuff like SELinux
13703
13704 2006-02-02  Robert Love  <rml@novell.com>
13705
13706         Patch by Sureshkumar T <tsureshkumar@novell.com>:
13707         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
13708           Check for and handle empty string for iface.
13709
13710 2006-02-01  Robert Love  <rml@novell.com>
13711
13712         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
13713           manpage.
13714
13715 2006-01-31  Dan Williams  <dcbw@redhat.com>
13716
13717         * nm-applet.desktop
13718                 - Add --sm-disable to Exec arguments, presuming that when
13719                         using autostart, we don't want session management
13720
13721 2006-01-31  Robert Love  <rml@novell.com>
13722
13723         * src/NetworkManagerAP.c: Add two new manufacturer default network
13724           names: linksys-a and linksys-g.  These are found (at least) on the
13725           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
13726           own ESSID.
13727
13728 2006-01-31  Robert Love  <rml@novell.com>
13729
13730         * src/NetworkManagerAP.c: Optimize the function
13731           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
13732           machine code.  This is the first in a series of code tweaks aiming to
13733           generate better machine code and make NetworkManager all the better.
13734           Just kidding.  Who has time to go through the assembly generated for
13735           every function?  I certainly don't.  I have a wife, a kid, a job,
13736           a mortgage, a mistress.  But this function was so bad, I was called
13737           to arms.  Like the book.
13738
13739 2006-01-31  Robert Love  <rml@novell.com>
13740
13741         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
13742           AP is not broadcasting, to scan with probe request frames.  Required
13743           for non-broadcast networks.
13744
13745 2006-01-31  Robert Love  <rml@novell.com>
13746
13747         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
13748           preprocessor define (still 20s).  Fix message text in nm_info()
13749           s/too too/took too/.
13750
13751 2006-01-30  Dan Williams  <dcbw@redhat.com>
13752
13753         * src/nm-device-802-11-wireless.c
13754                 - (supplicant_monitor_start): increase connect/auth timeout to
13755                         20 seconds from 10 seconds
13756
13757 2006-01-30  Dan Williams  <dcbw@redhat.com>
13758
13759         * src/Makefile.am
13760                 - Define LOCALSTATEDIR
13761
13762         * src/nm-device-802-11-wireless.c
13763                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13764                         socket where we want it to
13765
13766         * src/wpa_ctrl.[ch]
13767                 - (wpa_ctrl_open): accept location to put local control socket
13768
13769 2006-01-30  Robert Love  <rml@novell.com>
13770
13771         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13772           get_ip4_string() for "domain_name".
13773
13774 2006-01-30  Robert Love  <rml@novell.com>
13775
13776         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13777           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13778           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13779           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13780           support for "Automatic" pairwise and group cipher configuration by
13781           letting wpa_supplicant handle the details.  Add UI elements, new
13782           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13783           charm.  Note this does more than add a nice feature, it fixes a bug.
13784           Apparently, some people have AP's where the pairwise cipher does not
13785           match the group cipher.  Insane, but true.
13786
13787 2006-01-30  Dan Williams  <dcbw@redhat.com>
13788
13789         * gnome/applet/applet-dbus-devices.c
13790                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13791                         functions, grab device driver name from NetworkManager
13792                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13793
13794         * gnome/applet/applet.c
13795                 - (nmwa_update_info): show driver name in Connection Information
13796                         dialog
13797
13798         * gnome/applet/nm-device.[ch]
13799                 - (network_device_get_driver, network_device_set_driver): add
13800                         accessors for driver name
13801
13802         * gnome/applet/wireless-applet.glade
13803                 - Add line for driver name to Connection Information dialog
13804
13805         * src/nm-dbus-device.c
13806                 - (nm_dbus_device_get_driver): new function to return driver name
13807                 - (nm_dbus_device_methods): hook up driver name function to dbus
13808
13809         * test/nm-tool.c
13810                 - (get_driver_name): new function
13811                 - (detail_device): grab and show driver name
13812
13813 2006-01-30  Robert Love  <rml@novell.com>
13814
13815         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13816           does not parse the markup if it is not part of the format.
13817
13818 2006-01-30  Robert Love  <rml@novell.com>
13819
13820         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13821           FALSE, we have no security options for this dialog, so we throw up
13822           an error dialog instead of a broken passphrase dialog.  Fixes
13823           Novell #138404.
13824         * gnome/applet/wireless-security-manager.c,
13825           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13826           does not add any security options, not even NONE, print a warning
13827           and return FALSE.  This let's functions constructing a dialog bail
13828           out if the device's capabilities and the network's requirements have
13829           zero overlap.
13830
13831 2006-01-27  Robert Love  <rml@novell.com>
13832
13833         * configure.in: Require wpa_supplicant.  Detect location of binary and
13834           use it.  Override with "--with-wpa_supplicant=foo".
13835         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13836           path to wpa_supplicant but use the auto-detected or user-provided
13837           value from configure.
13838
13839 2006-01-27  Robert Love  <rml@novell.com>
13840
13841         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13842           but the DHCP server did not return a hostname, try to look up our
13843           name via DNS and set the system hostname to that.
13844
13845 2006-01-27  Dan Williams  <dcbw@redhat.com>
13846
13847         * src/backends/NetworkManagerRedHat.c
13848                 - Add NM_CONTROLLED system network script support for RH/Fedora
13849
13850 2006-01-27  Dan Williams  <dcbw@redhat.com>
13851
13852         * src/backends/NetworkManagerGentoo.c
13853                 - (nm_system_device_get_disabled): add missing function.
13854                         Gnome BZ #328780
13855
13856 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13857
13858         * configure.in: Added vi in ALL_LINGUAS line.
13859         
13860 2006-01-26  Robert Love  <rml@novell.com>
13861
13862         * src/Makefile.am, src/kernel-types.h: Now that two different source
13863           files are feeling the crack-addled leakage of kernel types such as
13864           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13865           types in user-space -- define a header and include it as needed.
13866         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13867         * src/nm-device-802-3-ethernet.h: Remove defines.
13868         * src/wpa.c: Remove defines and include kernel-types.h.
13869
13870 2006-01-26  Robert Love  <rml@novell.com>
13871
13872         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13873           work.
13874
13875 2006-01-26  Robert Love  <rml@novell.com>
13876
13877         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13878         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13879           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13880           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13881           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13882           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13883           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13884           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13885           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13886           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13887           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13888           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13889           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13890           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13891           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13892           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13893           Kill unused variables, labels, and static functions.  Don't pass
13894           string literals as the format string for printf-like functions.
13895
13896 2006-01-25  Dan Williams  <dcbw@redhat.com>
13897
13898         * gnome/applet/wireless-applet.glade
13899                 - Remove WPA2 Checkbox
13900
13901         * gnome/applet/wireless-security-manager.c
13902                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13903                         This means the Wireless Security menu now has two WPA options,
13904                         one for "WPA Personal" and one for "WPA2 Personal"
13905
13906         * gnome/applet/wso-wpa-psk.[ch]
13907                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13908                         'wpa2' argument to determine WPA version to use
13909                 - (append_dbus_params_func): pass stored WPA version to cipher
13910                         rather than using the (removed) checkbox
13911
13912 2006-01-24  Robert Love  <rml@novell.com>
13913
13914         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13915           before we g_strdup(), not the ultimate string.
13916
13917 2006-01-23  Dan Williams  <dcbw@redhat.com>
13918
13919         * src/NetworkManagerAP.[ch]
13920                 - (nm_ap_new_from_ap): copy original essid too
13921                 - (nm_ap_unref): free original essid
13922                 - (nm_ap_get_orig_essid): new function
13923                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13924                         but keep original essid around too
13925
13926         * src/nm-device-802-11-wireless.c
13927                 - (supplicant_send_network_config): send wpa_supplicant the
13928                         _original_ essid, and not as a string, but in hex.  Should
13929                         allow us to connect to more APs that use wierd character
13930                         encodings for their essids
13931
13932         * utils/nm-utils.[ch]
13933                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13934                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13935                         use the current locale as a hint for what encoding the essid
13936                         might be in.  Obviously not 100% accurate, but the idea here is
13937                         that if a user's locale is ex. ja_JP, they are more likely than
13938                         not to be in Japan, where access points will likely be in some
13939                         Japanese encoding.
13940
13941 2006-01-23  Dan Williams  <dcbw@redhat.com>
13942
13943         * libnm-util/cipher-private.h
13944           libnm-util/cipher.c
13945           libnm-util/cipher.h
13946                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13947
13948 2006-01-23  Robert Love  <rml@novell.com>
13949
13950         Patch by Timo Hoenig <thoenig@suse.de>:
13951         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13952           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13953           by DHCP and pass it to the backends, allowing distribution-specific
13954           behavior with respect to the DHCP-supplied hostname (if nothing else,
13955           some distributions might not want to set the hostname).
13956         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
13957           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
13958           Also update our NIS behavior.
13959         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
13960           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
13961           Add stub functions.
13962
13963 2006-01-23  Robert Love  <rml@novell.com>
13964
13965         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
13966           gnome-session does autostart.  TODO: We need to install this to
13967           $prefix/share/autostart/.
13968
13969 2006-01-22  Dan Williams  <dcbw@redhat.com>
13970
13971         * src/NetworkManagerAP.[ch]
13972           src/nm-dbus-nmi.c
13973           src/nm-device-802-11-wireless.c         
13974                 - Make nm_ap_get_essid return "const char *"
13975
13976 2006-01-22  Dan Williams  <dcbw@redhat.com>
13977
13978         * src/NetworkManagerAP.[ch]
13979                 - (nm_ap_get_matched, nm_ap_set_matched): remove
13980
13981         * src/NetworkManagerAPList.[ch]
13982                 - (nm_ap_list_diff): removed
13983                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
13984                         deal with access points changing essids on us
13985
13986         * src/nm-device-802-11-wireless.c
13987                 - (add_new_ap_to_device_list): move AP dbus signal logic to
13988                         src/NetworkManagerAPList.c
13989                 - (real_can_interrupt_activation): new function; allow interruption
13990                         of device activation if we are waiting for a network key
13991
13992         * src/NetworkManagerPolicy.c
13993                 - (nm_policy_device_change_check): allow interruption of currently
13994                         activating devices if the device allows it.  Previous behavior
13995                         would refuse to activate a just-plugged wired device if a
13996                         wireless device was waiting for a key.
13997
13998         * src/nm-device.[ch]
13999                 - (nm_device_can_interrupt_activation): new function; ask devices
14000                         whether their activation can be interrupted
14001
14002 2006-01-20  Robert Love  <rml@novell.com>
14003
14004         * Makefile.am, configure.in: Add new man subdirectory.
14005         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
14006           man/Makefile.am: Add man pages for NetworkManager and its
14007           crime-solving bumbling buddy, NetworkManagerDispatcher.
14008         * man/.cvsignore: Add.
14009         * initscript/Debian/NetworkManager,
14010           initscript/Gentoo/NetworkManager.in,
14011           initscript/RedHat/NetworkManager.in,
14012           initscript/RedHat/NetworkManagerDispatcher.in,
14013           initscript/SUSE/networkmanager-dispatcher.in,
14014           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
14015
14016 2006-01-20  Robert Love  <rml@novell.com>
14017
14018         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
14019           instead of queuing.  This prevents the running of multiple NM
14020           daemons concurrently, which does not work whatsoever and results in
14021           neither daemon working correctly.  Also, we don't handle queuing and
14022           name-owner-changes, anyhow.
14023
14024 2006-01-20  Robert Love  <rml@novell.com>
14025
14026         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
14027         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
14028           to sbin, not bin.
14029
14030 2006-01-19  Robert Love  <rml@novell.com>
14031
14032         * configure.in: Require hal 0.5.0 or later.
14033
14034 2006-01-18  Robert Love  <rml@novell.com>
14035
14036         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
14037           Allow backends to flag a device (in whatever distro-dependent way
14038           they so desire) as disabled.  NM will ignore any such device.
14039         * src/backends/NetworkManagerDebian.c,
14040           src/backends/NetworkManagerRedHat.c,
14041           src/backends/NetworkManagerSlackware.c: Add stub function
14042           nm_system_device_get_disabled() that always returns FALSE (enabled).
14043         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
14044           SUSE-specific configuration structure.  Fill it in from the
14045           NM_CONTROLLED variable in the system networking scripts.  If this var
14046           exists and is "no", we ignore the device.
14047
14048 2006-01-17  Robert Love  <rml@novell.com>
14049
14050         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
14051           identical for NM.  For a full discussion, see the thread at
14052           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
14053
14054 2006-01-17  Dan Williams  <dcbw@redhat.com>
14055
14056         * src/nm-device.c
14057                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
14058                         function.  Fixes crash when wired DHCP fails.
14059
14060 2006-01-16  Robert Love  <rml@novell.com>
14061
14062         * src/Makefile.am: Don't install NMLoadModules
14063         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
14064           from src/ to test/ as no one uses it anymore.  Note that I would be
14065           fine with removing it altogether.
14066
14067 2006-01-16  Robert Love  <rml@novell.com>
14068
14069         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
14070           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
14071           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
14072           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
14073           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
14074           src/nm-netlink-monitor.c: Don't miss any initializers on structure
14075           declarations, ever.
14076         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
14077           NM_STATE_DISCONNECTED is zero).
14078
14079 2006-01-16  Robert Love  <rml@novell.com>
14080
14081         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
14082           uninitialized parameter and buffer overflow.  Novell #143496.
14083
14084 2006-01-16  Dan Williams  <dcbw@redhat.com>
14085
14086         Apply the PtP Address bits of a patch from Tim Niemueller
14087
14088         * src/nm-ip4-config.[ch]
14089                 - Add ip4_ptp_address member to object
14090                 - (nm_ip4_config_copy): copy ptp address too
14091                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
14092                         new functions
14093                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
14094                         rather than local tunnel ip address
14095
14096         * src/vpn-manager/nm-vpn-service.c
14097                 - (print_vpn_config): update for PtP address
14098                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
14099                         DBusMessageIters in preparation for getting routes from the VPN
14100                         service daemons too
14101
14102         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
14103                 - (send_config_info): update for PtP address, clean up code
14104                 - (main): update for PtP address, clean up code, fix typo
14105
14106         * vpn-daemons/openvpn/src/nm-openvpn-service.c
14107                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
14108
14109         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
14110                 - (pptp_ip_up): update for PtP address
14111
14112         * vpn-daemons/pptp/src/nm-pptp-service.c
14113                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
14114
14115         * vpn-daemons/vpnc/src/nm-vpnc-service.c
14116                 - (print_vpn_config): update for PtP address
14117                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
14118
14119 2006-01-16  Dan Williams  <dcbw@redhat.com>
14120
14121         * gnome/applet/applet.c
14122                 - (nmwa_add_networks_helper): don't indicate an active network
14123                         if NM is disconnected or asleep
14124
14125 2006-01-16  Dan Williams  <dcbw@redhat.com>
14126
14127         * src/NetworkManagerPolicy.c
14128                 - (nm_policy_device_change_check): switch devices if we lose the link
14129                         on an ethernet device. 
14130
14131 2006-01-16  Dan Williams  <dcbw@redhat.com>
14132
14133         * gnome/applet/wso-wpa-psk-hex.[ch]
14134                 - Renamed -> wso-wpa-psk.[ch]
14135
14136         * gnome/applet/wso-wpa-psk.[ch]
14137                 - New files
14138
14139         * gnome/applet/wso-wpa-psk-passphrase.[ch]
14140                 - Removed, rolled into wso-wpa-psk.[ch]
14141
14142         * gnome/applet/Makefile.am
14143                 - Updated for above changes
14144
14145         * gnome/applet/wireless-applet.glade
14146                 - Consolidate WPA-PSK options into one notebook
14147                         widget, and make dialogs invisible by default
14148                         to fix screen oddities
14149
14150         * gnome/applet/wireless-security-manager.c
14151                 - (wsm_set_capabilities): create the new wpa-psk widget rather
14152                         than both the old hex & passphrase ones
14153
14154 2006-01-16  Dan Williams  <dcbw@redhat.com>
14155
14156         * gnome/applet/other-network-dialog.c
14157                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
14158
14159 2006-01-16  Dan Williams  <dcbw@redhat.com>
14160
14161         * gnome/applet/applet.c
14162                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
14163                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
14164                         prevention to realize window before trying to get server
14165                         time
14166
14167         * gnome/applet/other-network-dialog.c
14168                 - (nmwa_other_network_dialog_run): fix up focus-stealing
14169                         prevention to realize window before trying to get server
14170                         time
14171
14172         * gnome/applet/passphrase-dialog.c
14173                 - (nmi_passphrase_dialog_new): fix up focus-stealing
14174                         prevention to realize window before trying to get server
14175                         time
14176
14177 2006-01-16  Robert Love  <rml@novell.com>
14178
14179         Patch from Timo Hoenig  <thoenig@suse.de:
14180         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
14181           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
14182           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
14183           libnm-util/dbus-helpers.h: add checks whether headers are used
14184           within a C++ build.
14185
14186 2006-01-16  Dan Williams  <dcbw@redhat.com>
14187
14188         * gnome/applet/wireless-security-option.c
14189                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
14190
14191 2006-01-16  Dan Williams  <dcbw@redhat.com>
14192
14193         * libnm-util/cipher-wpa-psk-passphrase.c
14194                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
14195                         be 8 - 63 characters inclusive
14196
14197 2006-01-16  Dan Williams  <dcbw@redhat.com>
14198
14199         * src/nm-dbus-nm.c
14200                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
14201
14202 2006-01-13  Robert Love  <rml@novell.com>
14203
14204         Patch by T Sureshkumar <tsureshkuman@novell.com>:
14205         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
14206           modules that do not use an interface.
14207
14208 2006-01-13  Dan Williams  <dcbw@redhat.com>
14209
14210         * src/nm-device.c
14211           src/nm-device.h
14212                 - Allow subclasses to implement deactivate_quickly()
14213                 - (nm_device_deactivate_quickly): call subclass
14214                         deactivate_quickly() methods
14215                 - (nm_device_set_active_link): small cleanups, and don't
14216                         deactivate the device right away because we risk a deadlock
14217                         when called from device thread, waiting for the device
14218                         thread to cancel activation
14219
14220         * src/nm-device-802-11-wireless.c
14221                 - (real_deactivate_quickly): new function
14222                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
14223                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
14224                         so that we kill the supplicant when we sleep too
14225                 - (supplicant_interface_init): work around naive naming attempts of
14226                         wpa_ctrl when naming sockets
14227
14228 2006-01-13  Dan Williams  <dcbw@redhat.com>
14229
14230         * src/nm-device-802-11-wireless.c
14231                 - (supplicant_cleanup): delete old device control sockets too
14232                 - (supplicant_get_device_socket_path): new function to consolidate
14233                         locations that need a path to a device's control socket
14234
14235 2006-01-12  Robert Love  <rml@novell.com>
14236
14237         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
14238           description so that the description is unique for each
14239           pair (device,provider).  Fixes Novell #142773.
14240
14241 2006-01-12  Dan Williams  <dcbw@redhat.com>
14242
14243         * src/nm-device-802-11-wireless.c
14244                 - (supplicant_exec): ensure GError is correctly initialized
14245                         Reported by Diego González (gnome.org #326708)
14246
14247 2006-01-11  Robert Love  <rml@novell.com>
14248
14249         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
14250           define if_mii(), open code the same results, and do so without any
14251           type punning.
14252
14253 2006-01-11  Robert Love  <rml@novell.com>
14254
14255         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
14256           that wso_foo_new() returned non-NULL.  Instead, only append the new
14257           wso to wsm->options if the wso is non-NULL.  The crux is that we
14258           assume that the relevant key types are implied by WEP and WPA as
14259           appropriate.  To be sure, they should be, but we should not expect
14260           drivers to not be oozing piles of wolf fecal matter.
14261
14262 2006-01-11  Robert Love  <rml@novell.com>
14263
14264         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
14265         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
14266           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14267           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
14268           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
14269           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
14270           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
14271         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
14272           comparing values within DBL_EPSILON.  Also fix shadowed variable
14273           usage.
14274
14275 2006-01-11  Dan Williams  <dcbw@redhat.com>
14276
14277         Add options for WPA2 and WPA1+CCMP (AES).
14278
14279         * gnome/applet/wireless-applet.glade
14280                 - Add UI bits for WPA+CCMP
14281
14282         * gnome/applet/other-network-dialog.c
14283                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
14284                         and don't allow creation of WPA2 Ad-Hoc networks since
14285                         wpa_supplicant doesn't support them
14286
14287         * gnome/applet/wireless-security-manager.c
14288                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
14289                         on to the specific wireless security option being created
14290
14291         * gnome/applet/wireless-security-option.[ch]
14292                 - (wso_wpa_create_key_type_model): new utility function to create
14293                         the model required for WPA Key Type combo box
14294
14295         * gnome/applet/wso-private.h
14296           gnome/applet/wireless-security-option.h
14297                 - Move private function prototypes into wso-private.h
14298
14299         * gnome/applet/wso-wpa-psk-hex.[ch]
14300           gnome/applet/wso-wpa-psk-passphrase.[ch]
14301                 - (append_dbus_params_func): get WPA version from checkbox and pass
14302                         it to the dbus serialization helper
14303                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
14304                         key type combo changes
14305                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
14306                         model and options
14307
14308         * libnm-util/cipher-wpa-psk-hex.c
14309           libnm-util/cipher-wpa-psk-passphrase.c
14310                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
14311                         new function; allow the cipher to be changed after object creation
14312
14313         * src/nm-ap-security-wpa-psk.c
14314                 - (set_description): Do WPA2 descriptions too
14315
14316         * src/nm-ap-security.c
14317                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
14318
14319 2006-01-11  Robert Love  <rml@novell.com>
14320
14321         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
14322           is defined in <linux/mii.h> to return the mii_ioctl_data structure
14323           from the ifreq structure in lieu of an open coded solution.  Removes
14324           a life-threatening type-punning.
14325         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
14326           types, ever, whatsoever, baby.
14327
14328 2006-01-11  Robert Love  <rml@novell.com>
14329
14330         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
14331           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
14332           assignments to applet->nm_state into a new nmwa_set_state() function
14333           for both cleanliness and to help debugging.
14334
14335 2006-01-10  Robert Love  <rml@novell.com>
14336
14337         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
14338           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
14339           seconds, exclusive.  That is, we want to sleep x seconds such that
14340           1 < x < 2.
14341
14342 2006-01-10  Robert Love  <rml@novell.com>
14343
14344         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
14345           the attr fields according to the example in the email available at
14346           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
14347           Conversely, we do have to free 'name', so we do so, fixing a leak.
14348
14349 2006-01-10  Robert Love  <rml@novell.com>
14350
14351         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
14352           sure that we close the socket!
14353
14354 2006-01-10  Robert Love  <rml@novell.com>
14355
14356         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
14357           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
14358           src/nm-device.c: Fix a FIXME!  Reimplement the function
14359           nm_device_update_hw_address() in device subclass variants,
14360           nm_device_802_3_ethernet_set_address() and
14361           nm_device_802_11_wireless_set_address(), hook them up, and use them.
14362           This fixes the existing bug where MAC addresses are all zeros.
14363
14364 2006-01-10  Robert Love  <rml@novell.com>
14365
14366         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
14367           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
14368           option to give users ability to globally disconnect and put NM to
14369           sleep.  This is useful as a 'lockdown mode' for flying, security, and
14370           clean disconnect.
14371
14372 2006-01-09  Robert Love  <rml@novell.com>
14373
14374         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
14375           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
14376           User-space does not supply these types, so we have to define them
14377           ourselves.  The relevant kernel maintainer refused to accept a patch
14378           switching these headers to the proper C99 types.
14379
14380 2006-01-09  Dan Williams  <dcbw@redhat.com>
14381
14382         Apply Robert's 'tray icon redo' patch with fixes
14383         * gnome/applet/applet.c
14384           gnome/applet/applet.h
14385                 - Instead of using a menu bar + menu item, simulate menu
14386                         behavior using a popup menu.  Highlight the area around
14387                         the icon more like a menu too, by playing with the
14388                         applet's size requisition
14389
14390 2006-01-09  Timo Hoenig   <thoenig@suse.de>
14391         * libnm-util/dbus-helpers.c
14392           libnm-util/dbus-helpers.h
14393                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
14394                         to 'exception_namespace' (:namespace is a keyword in
14395                         C++)
14396
14397 2006-01-09  Dan Williams  <dcbw@redhat.com>
14398
14399         * src/NetworkManagerPolicy.c
14400                 - (nm_policy_device_change_check): don't autoswitch away from
14401                         Ad-Hoc networks, since there's really no concept of
14402                         "link"
14403
14404         * src/nm-dbus-nm.c
14405                 - (nm_dbus_nm_create_wireless_network): mark created networks
14406                         as Ad-Hoc networks
14407
14408         * src/nm-device-802-11-wireless.c
14409                 - (real_activation_success_handler): add user-created Ad-Hoc
14410                         networks to the device's scan list
14411
14412 2006-01-08  Dan Williams  <dcbw@redhat.com>
14413
14414         We now require a patch for wpa_supplicant to support Ad-Hoc
14415         networks:
14416           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
14417
14418         * src/nm-device-802-11-wireless.c
14419                 - (supplicant_send_network_config): turn off wpa_supplicant's
14420                         scanning.  Fixes Ad-Hoc networks.
14421
14422 2006-01-08  Dan Williams  <dcbw@redhat.com>
14423
14424         * src/nm-ap-security.c
14425           src/nm-ap-security.h
14426                 - Add a user_created argument to the write_supplicant_config
14427                         functions
14428
14429         * src/nm-ap-security-wep.c
14430           src/nm-ap-security-wpa-psk.c
14431           src/nm-device-802-11-wireless.c
14432                 - Make Ad-Hoc mode somewhat work, at least write the
14433                         correct options to wpa_supplicant
14434
14435 2006-01-08  Dan Williams  <dcbw@redhat.com>
14436
14437         * src/nm-device-802-11-wireless.c
14438                 - Remove unused code from the old device activation path
14439
14440 2006-01-08  Dan Williams  <dcbw@redhat.com>
14441
14442         * libnm-util/dbus-helpers.c
14443                 - (nmu_security_serialize_wpa_psk): pass a blank key through
14444                         dbus when key == NULL
14445
14446 2006-01-08  Dan Williams  <dcbw@redhat.com>
14447
14448         * gnome/applet/nm-gconf-wso-wpa-psk.c
14449                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
14450                         correct arguments to nmu_security_deserialize_wpa_psk()
14451
14452         * src/nm-ap-security-wpa-psk.c
14453                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
14454                         arguments to nmu_security_deserialize_wpa_psk()
14455
14456 2006-01-08  Dan Williams  <dcbw@redhat.com>
14457
14458         * gnome/applet/wso-wpa-psk-hex.c
14459           gnome/applet/wso-wpa-psk-passphrase.c
14460                 - Hook up the append_dbus_params_func() function
14461
14462 2006-01-08  Dan Williams  <dcbw@redhat.com>
14463
14464         * src/nm-device-802-11-wireless.c
14465                 - (get_wireless_capabilities): correctly detect driver WPA
14466                         capabilities
14467
14468 2006-01-08  Dan Williams  <dcbw@redhat.com>
14469
14470         * gnome/applet/Makefile.am
14471           gnome/applet/wso-wpa-psk-hex.c
14472           gnome/applet/wso-wpa-psk-hex.h
14473                 - New files, implement WPA-PSK Hex key input
14474
14475         * gnome/applet/wireless-applet.glade
14476                 - Change existing wpa-psk stuff to wpa-psk-hex
14477                 - Add new widgets for wpa-psk-passphrase
14478
14479         * gnome/applet/wireless-security-manager.c
14480                 - (wsm_set_capabilities): enable WPA options
14481
14482         * gnome/applet/wso-wpa-psk-passphrase.c
14483                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
14484                         for WPA-PSK passphrase
14485
14486 2006-01-08  Dan Williams  <dcbw@redhat.com>
14487
14488         * include/NetworkManager.h
14489                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
14490                         applet/info-daemons
14491
14492         * gnome/applet/passphrase-dialog.c
14493                 - Use the constant.  Fixes a bug where the arguments to
14494                         dbus_message_new_error() were incorrect
14495
14496         * src/nm-dbus-nmi.c
14497                 - Use the constant
14498
14499 2006-01-07  Dan Williams  <dcbw@redhat.com>
14500
14501         * src/nm-device-802-11-wireless.c
14502                 - Add a link timeout so we allow the supplicant time to
14503                         reassociate if it can, before we deactivate the card
14504                 - Fix up link status and link updating so things work better
14505
14506 2006-01-07  Dan Williams  <dcbw@redhat.com>
14507
14508         * src/nm-device-802-11-wireless.c
14509                 - Switch over to using wpa_supplicant
14510                 - Add a timeout of 10s for association of the supplicant
14511                 - Start the monitor callback of the supplicant
14512
14513 2006-01-07  Dan Williams  <dcbw@redhat.com>
14514
14515         * src/NetworkManagerUtils.c
14516                 - (nm_utils_supplicant_request,
14517                   nm_utils_supplicant_request_with_check):
14518                         pass correct buffer length to wpa_ctrl_request()
14519
14520 2006-01-07  Dan Williams  <dcbw@redhat.com>
14521
14522         * src/nm-device-private.h
14523           src/nm-device.c
14524                 - (nm_device_activate_schedule_stage3_ip_config_start): make
14525                         this function available to subclasses
14526
14527 2006-01-06  Robert Love  <rml@novell.com>
14528
14529         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
14530           user plugging in a network cable signals their preference for to
14531           switch, unless the user explicitly selected a wireless network and
14532           therefore signaled their preference for said wireless network over
14533           wired.  In other words, do exactly what makes sense.
14534
14535 2006-01-06  Robert Love  <rml@novell.com>
14536
14537         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14538           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
14539           src/NetworkManagerWireless.h: Remove, no longer used and they keep
14540           showing up in my greps.
14541
14542 2006-01-06  Robert Love  <rml@novell.com>
14543
14544         * gnome/applet/applet-dbus-devices.c,
14545           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
14546           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
14547           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
14548           New Network' both failed in the non-encrypted case because we were
14549           not appending the security options to the DBUS message.  And
14550           'Connect to Other' was also failing in the encrypted case because
14551           we were not incrementing to the next DBUS parameter.  All fixed.
14552           Thanks to dcdw for some debugging help.
14553
14554 2006-01-06  Robert Love  <rml@novell.com>
14555
14556         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
14557           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
14558           hangup code and add per-device hangup.  Tie last commit into the
14559           GNOME applet.  TODO:  Save, understand, and respond to the state of
14560           each dialup device.
14561
14562 2006-01-06  Robert Love  <rml@novell.com>
14563
14564         Patch by Timo Hoenig <thoenig@suse.de>:
14565         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
14566           hangup specific dialup devices.
14567         * src/backends/NetworkManagerDebian.c,
14568           src/backends/NetworkManagerGentoo.c,
14569           src/backends/NetworkManagerRedHat.c,
14570           src/backends/NetworkManagerSlackware.c: Add stub backend.
14571         * src/backends/NetworkManagerRedHat.c,
14572           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
14573           hangup specific dialup devices.
14574
14575 2006-01-04  Robert Love  <rml@novell.com>
14576
14577         * gnome/applet/applet-dbus-devices.c,
14578           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
14579           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
14580           connections.
14581
14582 2006-01-04  Dan Williams  <dcbw@redhat.com>
14583
14584         First dump of wpa_supplicant-related code.  It's not hooked up to
14585         anything yet though.  Thanks to Kay Sievers for
14586         wpa_supplicant_wrapper.c, which formed the basis for this work,
14587         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
14588
14589         * src/Makefile.am
14590           src/wpa_ctrl.[ch]
14591                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
14592
14593         * src/NetworkManagerUtils.[ch]
14594                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
14595                         Add convenience functions for talking to wpa_supplicant
14596
14597         * src/nm-ap-security.[ch]
14598           src/nm-ap-security-wep.c
14599           src/nm-ap-security-wpa-psk.[ch]
14600                 - Update and implement real_write_supplicant_config functions
14601                         in all security types
14602                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
14603                         nm-ap-security-wpa-psk.c
14604
14605         * src/nm-device-802-11-wireless.c
14606                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
14607                    wpa_supplicant_start, wpa_supplicant_interface_init,
14608                    wpa_supplicant_send_network_config): add functions to talk to
14609                         wpa_supplicant and write network config to it
14610
14611 2006-01-04  Robert Love  <rml@novell.com>
14612
14613         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
14614           values so that distribution-backends can differentiate between the
14615           various types (modem, ISDN, et cetera) of dialup device that they
14616           support.
14617         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
14618           needed.
14619
14620 2006-01-03  Dan Williams  <dcbw@redhat.com>
14621
14622         * src/NetworkManagerPolicy.c
14623           src/nm-device.[ch]
14624           src/nm-device-802-11-wireless.c
14625                 - Move wireless-specific activation failure and success code
14626                         into wireless device class
14627
14628 2006-01-03  Robert Love  <rml@novell.com>
14629
14630         Patch by Preggna S:
14631         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
14632           IPsec does not require that a VPN client be bound to an interface,
14633           due to the use of the in-kernel IPSec bits.  So make the tunnel
14634           device optional.
14635
14636 2006-01-03  Dan Williams  <dcbw@redhat.com>
14637
14638         * src/NetworkManagerAP.c
14639                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
14640                         the WPA IE specifies that WEP is supported
14641
14642         * src/nm-device-802-11-wireless.c
14643                 - (process_scan_results): don't mark an AP as supporting WEP
14644                         if there's already other encryption capability info
14645
14646 2006-01-03  Dan Williams  <dcbw@redhat.com>
14647
14648         * src/dhcp-manager/nm-dhcp-manager.c
14649                 - Recognize activation cancellation when waiting for DHCP
14650                         configuration from dhcdbd
14651                 - Ignore non-dhcdbd messages
14652
14653         * src/nm-device.c
14654                 - (real_act_stage3_ip_config_start): return to correct behavior
14655                         of letting the dhcp-manager notify us of failure or
14656                         success rather than incorrectly doing that ourselves
14657                 - (nm_device_activate_stage4_ip_config_get): deal with
14658                         activation cancellation a bit earlier
14659
14660 2006-01-03  Dan Williams  <dcbw@redhat.com>
14661
14662         * src/nm-device-802-11-wireless.c
14663           src/nm-device.[ch]
14664                 - Add hooks to subclasses for stage3_ip_config_start and
14665                         stage4_ip_config_timeout
14666
14667         * src/nm-device-802-3-ethernet.c
14668                 - (real_get_generic_capabilities): make devices NM-supported
14669                         by default
14670
14671 2006-01-03  Robert Love  <rml@novell.com>
14672
14673         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
14674           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
14675           latter cannot differentiate between error and the address -1; misc.
14676           clean up.
14677
14678 2006-01-03  Dan Williams  <dcbw@redhat.com>
14679
14680         * src/NetworkManager.c
14681                 - Move link-checking/probing into the device subclasses
14682                         themselves
14683
14684         * src/nm-device.[ch]
14685           src/nm-device-802-11-wireless.c
14686           src/nm-device-802-3-ethernet.c
14687                 - Do periodic link checking in device subclasses rather
14688                         than being triggered from NetworkManager.c
14689                 - discover_wireless_capabilities -> get_wireless_capabilities
14690                 - discover_generic_capabilities -> get_generic_capabilities
14691                 - Device subclass activation routines now return a value of type
14692                         NMActStageReturn to indicate what step to perform next
14693                 - Devices now override stage4_get_ip4_config if they choose
14694
14695 2006-01-01  Dan Williams  <dcbw@redhat.com>
14696
14697         * src/nm-device-802-11-wireless.c
14698                 - (real_init): don't chain up to parent init because we don't
14699                         need to do that anymore
14700
14701         * src/nm-device.c
14702                 - (discover_device_type): fix arguments to ioctl() to correctly
14703                         pass interface name
14704                 - (nm_device_new): consolidate generic device initialization into
14705                         nm_device_new()
14706                 - (real_init): remove, consolidated to nm_device_new()
14707                 - (nm_device_deactivate, real_deactivate): consolidate
14708
14709 2006-01-01  Dan Williams  <dcbw@redhat.com>
14710
14711         * src/nm-activation-request.c
14712                 - Change dhcp_state member of the NMActRequest structure
14713                         from guint8 to guint32
14714
14715         * src/dhcp-manager/nm-dhcp-manager.[ch]
14716                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
14717                         than guint8 to match the dbus argument.  Turns out we were
14718                         overwriting memory since we were passing in only a guint8
14719
14720 2005-12-31  Dan Williams  <dcbw@redhat.com>
14721
14722         * refactor NMDevice into a GObject-based framework with separate
14723                 objects for wired and wireless.  The following files are no
14724                 longer used but should stick around for a bit so we don't
14725                 loose code through the cracks:
14726                         NetworkManagerDevice.c
14727                         NetworkManagerDevice.h
14728                         NetworkManagerWireless.c
14729                         NetworkManagerWireless.h
14730
14731         The intent here is to allow each device type to manage its own
14732         connection & activation life-cycle, ie to allow wireless devices
14733         to interface with wpa_supplicant, etc.  There's a fair bit of
14734         encapsulation breakage right now that should gradually get pulled
14735         back into each device, along with things like periodic property
14736         updates and link probing.
14737
14738 2005-12-29  Dan Williams  <dcbw@redhat.com>
14739
14740         * include/NetworkManager.h
14741                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
14742                         between networks that don't have any encryption at all
14743
14744 2005-12-29  Dan Williams  <dcbw@redhat.com>
14745
14746         * test/test-common.c
14747           test/test-common.h
14748           test/Makefile.am
14749                 - Move to a test-common subdirectory
14750
14751         * test/libnm-util/test-ciphers.c
14752                 - Move test data to test-inputs.h
14753                 - Test WPA ciphers too
14754
14755         * test/libnm-util/test-dbus-helpers.c
14756                 - Test serialization/deserialization of ciphers
14757
14758 2005-12-29  Dan Williams  <dcbw@redhat.com>
14759
14760         * gnome/applet/applet-dbus-devices.c
14761                 - Replace 'enc' parameter with 'capabilities' for wireless networks
14762                         in dbus calls to NM
14763                 - Set capabilities on WirelessNetwork objects
14764                 - Receive and save type-specific device capabilities too
14765
14766         * gnome/applet/applet-dbus-info.c
14767           gnome/applet/applet-dbus.c
14768                 - Passphrase dialog no longer a singleton; new instance gets created
14769                         on each request.  Updates to deal with that.
14770
14771         * gnome/applet/applet.c
14772                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14773                         than single 'encrypted' flag
14774                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14775                         menu items
14776                 - Passphrase dialog updates per above
14777
14778         * gnome/applet/menu-items.c
14779                 - (network_menu_item_update): use AP capabilities to determine
14780                         encryption
14781
14782         * gnome/applet/nm-device.[ch]
14783                 - Add accessors for type-specific device capabilities
14784
14785         * gnome/applet/other-network-dialog.c
14786                 - Rework to respect device capabilities.  i.e., if the device doesn't
14787                         support WPA, remove that option from the security dropdown
14788
14789         * gnome/applet/passphrase-dialog.c
14790                 - Massive rework so that a new instance is created each time
14791                         it's used, to support wireless network capabilities
14792
14793         * gnome/applet/wireless-network.[ch]
14794                 - Add accessors and members for wireless network capabilities
14795
14796         * gnome/applet/wireless-security-manager.[ch]
14797                 - (wsm_set_capabilities): called after creation to set which
14798                         security options get shown to the user
14799
14800 2005-12-29  Dan Williams  <dcbw@redhat.com>
14801
14802         * libnm-util/cipher-wpa-psk-passphrase.c
14803                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14804                         like other ciphers
14805
14806 2005-12-23  Dan Williams  <dcbw@redhat.com>
14807
14808         * gnome/applet/applet-dbus-info.c
14809                 - (nmi_dbus_get_key_for_network): if there's no entry in
14810                         GConf for a network, assume we want a new key
14811                 - (nmi_save_network_info): serialize wireless security info
14812                         into GConf so its saved
14813
14814         * src/nm-dbus-nm.c
14815                 - Fix warning as we may not be passed security info when
14816                         connecting to a wireless network
14817
14818 2005-12-23  Dan Williams  <dcbw@redhat.com>
14819
14820         * gnome/applet/applet-compat.c
14821                 - Fix bugs in GConf entry conversion
14822
14823         * gnome/applet/applet-dbus-info.c
14824                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14825                         list being zero-length
14826
14827         * libnm-util/cipher-*
14828           libnm-util/dbus-helpers.c
14829                 - All ciphers must now return hashed keys as UTF-8 valid
14830                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14831                         through dbus as strings too.
14832                 - Consolidate various functions that do bin->hex and hex->bin
14833                         conversion into cipher.c
14834
14835         * src/nm-ap-security-wep.c
14836           src/nm-ap-security-wpa-psk.c
14837                 - Handle NULL keys since we may not know keys right away
14838
14839         * src/nm-dbus-nmi.c
14840                 - (nm_dbus_get_network_data_cb): actually advance to the start
14841                         of the wireless security info before we try to deserialize it
14842
14843         * libnm-util/test-ciphers.c
14844                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14845
14846 2005-12-22  Dan Williams  <dcbw@redhat.com>
14847
14848         * gnome/applet/applet-compat.[ch]
14849                 - Convert old-format GConf and keyring entries
14850                         when the applet starts up.
14851
14852         * gnome/applet/applet.c
14853                 - (nmwa_get_instance): Call the conversion function
14854                         on startup before dbus is initialized
14855
14856 2005-12-22  Dan Williams  <dcbw@redhat.com>
14857
14858         * gnome/applet/applet-dbus-info.c
14859                 - Remove nmi_dbus_create_error_message() in favor of
14860                         nmu_create_dbus_error_message()
14861                 - (nmi_dbus_get_network_properties): Error message cleanups
14862                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14863                         gconf key rather than 'addresses', since they really are BSSIDs
14864                 - (nmi_dbus_get_network_properties): Dispose of the security
14865                         object when we're done with it
14866
14867 2005-12-21  Dan Williams  <dcbw@redhat.com>
14868
14869         * Consolidate the info-daemon's "updateNetworkInfo" and
14870                 "addNetworkAddress" calls into just "updateNetworkInfo"
14871
14872 2005-12-21  Dan Williams  <dcbw@redhat.com>
14873
14874         * Make connection after key retrieval work again
14875
14876 2005-12-21  Dan Williams  <dcbw@redhat.com>
14877
14878         * gnome/applet/nm-gconf-wso*
14879                 - Make the serialize functions return gboolean
14880                         rather than int
14881
14882         * gnome/applet/nm-gconf-wso.c
14883                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14884                         parent class handling so we don't segfault
14885
14886         * src/NetworkManagerAP.[ch]
14887                 - (nm_ap_get_capabilities): new function, return capabilities
14888                         now that something can use them
14889                 - (nm_ap_set_encrypted): assume that an access point supports
14890                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14891                         we even tell whether it just supports WEP40?
14892
14893         * src/NetworkManagerDevice.c
14894                 - (ap_need_key): resurrect and update for the New World Order
14895                 - (nm_device_wireless_get_activation_ap): if we're not given
14896                         security info to use, create some based on access point
14897                         capabilities
14898
14899         * src/nm-ap-security-wep.c
14900                 - (nm_ap_security_wep_new_from_ap): create a new object
14901                         based on a certain access point's capabilities
14902
14903         * src/nm-ap-security.c
14904                 - (nm_ap_security_new_from_ap): delegate creation of a new
14905                         object based on access point capabilities to a subclass
14906                 - (nm_ap_security_copy_properties): don't segfault if we
14907                         don't have a key yet
14908
14909         * src/nm-dbus-nm.c
14910                 - (nm_dbus_nm_set_active_device): provide more informative
14911                         output when errors occur.  Also construct security info
14912                         for a given access point if we weren't given any
14913
14914 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14915
14916         * configure.in: Added Lithuanian to ALL_LINGUAS.
14917
14918 2005-12-21  Dan Williams  <dcbw@redhat.com>
14919
14920         * test/libnm-util
14921                 - Add some testcases for WEP ciphers
14922
14923 2005-12-17  Dan Williams  <dcbw@redhat.com>
14924
14925         * Fix bugs
14926
14927 2005-12-17  Dan Williams  <dcbw@redhat.com>
14928
14929         * include/NetworkManager.h
14930                 - Finally kill NMEncKeyType
14931
14932         * gnome/applet/applet-dbus-info.c
14933                 - (nmi_save_network_info): convert to NMGConfWSO
14934
14935         * gnome/applet/nm-gconf-wso-*.c
14936                 - Implement gconf serialization functions
14937
14938         * src/NetworkManagerPolicy.c
14939                 - (nm_policy_activation_finish): fix up meaning of
14940                         automatic/user_requested
14941
14942 2005-12-17  Dan Williams  <dcbw@redhat.com>
14943
14944         * gnome/applet/*
14945                 - More applet cleanups
14946                 - Use the dbus-method-dispatcher
14947
14948         * libnm-util/dbus-method-dispatcher.[ch]
14949                 - Generalize the implementation from NM in
14950                         NetworkManagerUtils.c
14951
14952 2005-12-16  Dan Williams  <dcbw@redhat.com>
14953
14954         * gnome/applet/*
14955                 - Fix up the passphrase dialog to use all the
14956                         WirelessSecurityOption stuff (untested)
14957
14958 2005-12-16  Dan Williams  <dcbw@redhat.com>
14959
14960         * Move nm_gconf_get_*_helper() functions to separate files,
14961                 gconf-helpers.c & gconf-helpers.h
14962
14963         * New NMGConfWSO objects for managing the gconf side of things.
14964                 Eventually these should be merged with the
14965                 WirelessSecurityOption objects and a common base (that can
14966                 serialize/deserialize from dbus & gconf) should be
14967                 refactored out, but for now they are separate.
14968
14969 2005-12-16  Robert Love  <rml@novell.com>
14970
14971         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
14972           binaries unless they exist (nm_spawn_process() emits a warning if
14973           asked to spawn a non-existant process).
14974
14975 2005-12-16  Dan Williams  <dcbw@redhat.com>
14976
14977         * gnome/applet/applet-dbus-info.c
14978                 - Clean up lots of gconf-related code
14979
14980 2005-12-16  Robert Love  <rml@novell.com>
14981
14982         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
14983
14984 2005-12-16  Dan Williams  <dcbw@redhat.com>
14985
14986         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
14987
14988         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
14989                 bits still to be done)
14990
14991 2005-12-16  Dan Williams  <dcbw@redhat.com>
14992
14993         * Finally move info-daemon related stuff out of
14994                 NetworkManagerDbus.c to nm-dbus-nmi.c
14995
14996 2005-12-16  Dan Williams  <dcbw@redhat.com>
14997
14998         * Kill auth_method for access points, since that's now done
14999                 by NMAPSecurity objects
15000
15001         * Add a copy-constructor of sorts to NMAPSecurity
15002                 (how do you do this properly in glib???)
15003
15004 2005-12-15  Dan Williams  <dcbw@redhat.com>
15005
15006         * Exorcise encryption key hashing on APs
15007         * Use libnm-util's serialization/deserialization in both the
15008                 applet and NM
15009         * Random other stuff
15010
15011 2005-12-15  Robert Love  <rml@novell.com>
15012
15013         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
15014           is being added to the icon naming spec, so let's use that (Tango CVS
15015           has the icon).  Because it is new, however, we fall back to the
15016           current "gnome-lockscreen" if the new icon is not around, thus
15017           behavior is the same.
15018         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
15019           factory junk.
15020
15021 2005-12-15  Robert Love  <rml@novell.com>
15022
15023         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
15024           well, help to give.  Couple other misc. bits.
15025
15026 2005-12-15  Dan Williams  <dcbw@redhat.com>
15027
15028         * libnm-util/dbus-helpers.[ch]
15029                 - Make this the one-stop-shop for serializing/deserializing
15030                         AP & connection security settings over dbus.  Both NM
15031                         and applets should use this to ensure consistent dbus
15032                         API going forwared.
15033
15034 2005-12-15  Robert Love  <rml@novell.com>
15035
15036         Patch by Timo Hoenig  <thoenig@suse.de>:
15037         * src/NetworkManagerDbus.c
15038                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
15039                         if HAL jumps off the system bus.  Otherwise libdbus
15040                         (dbus_connection_dispatch) will try to run the filter
15041                         function of our libhal context which is already freed.
15042
15043 2005-12-15  Alexander Shopov  <ash@contact.bg>
15044
15045         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
15046
15047 2005-12-14  Dan Williams  <dcbw@redhat.com>
15048
15049         * include/NetworkManager.h
15050           src/NetworkManagerWireless.c
15051                 - Rearrange 802.11 wireless-specific capabilities again
15052
15053         * src/Makefile.am
15054                 - Forgot to add wpa.c/wpa.h to the makefiles
15055
15056         * src/NetworkManagerAP.[ch]
15057                 - Implement access point capabilities and parse the
15058                         WPA/RSN IEs into the capability bitfield
15059                 - Switch the "encrypted" attribute to utilize the bitfield
15060                         and capabilities rather than being independent
15061
15062         * src/NetworkManagerDevice.c
15063                 - (nm_device_wireless_get_activation_ap): break it horribly
15064                         until we can push NMAPSecurity objects into access point
15065                         objects and through the activation chain
15066                 - Stuff WPA & RSN IEs into AP capabilities
15067
15068         * src/nm-dbus-nm.c
15069                 - Take a shot at actually making setActiveDevice work
15070
15071         * src/wpa.[ch]
15072                 - Make the API a bit saner
15073
15074 2005-12-14  Dan Williams  <dcbw@redhat.com>
15075
15076         * include/NetworkManager.h
15077                 - Add 802.11-specific capability for 802.1x key
15078                         management
15079
15080         * src/wpa.[ch]
15081                 - Pull in WPA IE and RSN IE parsing code from
15082                         wpa_supplicant so we can determine access point
15083                         capabilities
15084                 - Move WPA-related constants here from NetworkManagerAP.h
15085                         and NetworkManagerDevice.c
15086
15087         * src/NetworkManagerDevice.c
15088           src/NetworkManagerAP.[ch]
15089                 - Use WPA-related constants from wpa.h
15090
15091 2005-12-14  Dan Williams  <dcbw@redhat.com>
15092
15093         * include/NetworkManager.h
15094                 - Update and split 802.11 wireless-specific capabilities from
15095                         generic device capabilities
15096
15097         * src/NetworkManagerDevice.c
15098           src/NetworkManagerDevicePrivate.h
15099                 - (nm_device_wireless_discover_capabilities): Move 802.11
15100                         wireless-specific capability checks to
15101                         NetworkManagerWireless.c
15102                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
15103                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
15104
15105         * src/NetworkManagerWireless.[ch]
15106                 - (nm_802_11_wireless_discover_capabilities): Check extended
15107                         802.11 wireless-specific capabilities of the driver
15108
15109 2005-12-14  Robert Love  <rml@novell.com>
15110
15111         Patch from Stefan Scheler <sscheler@suse.de>:
15112         * src/NetworkManagerDevice.c: call backend code to activate and
15113           deactivate NIS.
15114         * src/NetworkManagerSystem.h: add new NIS interfaces.
15115         * src/backends/NetworkManagerDebian.c,
15116           src/backends/NetworkManagerGentoo.c,
15117           src/backends/NetworkManagerRedHat.c,
15118           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
15119           support.
15120         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
15121
15122 2005-12-14  Dan Williams  <dcbw@redhat.com>
15123
15124         * src/nm-ap-security*.[ch]
15125                 - Add AP security abstractions to NetworkManager
15126
15127         * src/nm-dbus-device.c
15128                 - Begin to parse new format dbus messages from the applet
15129                         and construct an AP security object from the message
15130
15131         * libnm-util/dbus-helpers.c
15132                 - Use message iters so we can append the key as a fixed
15133                         array of bytes, which actually works rather than
15134                         using dbus_message_append_args() as we were before
15135
15136 2005-12-14  Dan Williams  <dcbw@redhat.com>
15137
15138         * src/NetworkManagerDbus.c
15139           gnome/applet/applet-dbus.c
15140                 - Fix up dbus service replacement options.  The applet
15141                         should allow replacement, NM itself should not.
15142
15143 2005-12-13  Robert Love  <rml@novell.com>
15144
15145         * src/named-manager/nm-named-manager.c: Revert earlier commit.
15146           Instead, fail silently if config is NULL by not asserting and not
15147           returning FALSE.  Also, make sure we always fclose() the file.
15148
15149 2005-12-13  Robert Love  <rml@novell.com>
15150
15151         Patch by Stefan Scheler <sscheler@suse.de>:
15152         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
15153            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
15154            via DHCP.  Still need the backends to commit the NIS domain name and
15155            and servers to yp.conf as needed.
15156
15157 2005-12-13  Robert Love  <rml@novell.com>
15158
15159         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
15160           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
15161
15162 2005-12-13  Robert Love  <rml@novell.com>
15163
15164         * src/named-manager/nm-named-manager.c: Don't unref the config until
15165           after we call rewrite_resolv_conf(), because get_last_default_domain()
15166           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
15167           `config != NULL' failed" assertion failures and "Could not commit DNS
15168           changes" warnings.
15169
15170 2005-12-12  Dan Williams  <dcbw@redhat.com>
15171
15172         * libnm-util/dbus-helpers.[ch]
15173           libnm-util/Makefile.am
15174                 - new helper calls to consolidate locations where
15175                         NM's setDevice method is called
15176
15177         * gnome/applet/applet-dbus-devices.c
15178           gnome/applet/wireless-security-option.c
15179           gnome/applet/wso-*
15180                 - Implement dbus message param append function for
15181                         all wireless security options
15182
15183 2005-12-12  Robert Love  <rml@novell.com>
15184
15185         * libnm-util/cipher-wep-passphrase.c,
15186           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
15187           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
15188           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
15189           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
15190           When handling keys, we don't care what the sign is.  The compiler
15191           guarantees us that we get our 8-bits, which is all we care about.
15192         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
15193
15194 2005-12-12  Dan Williams  <dcbw@redhat.com>
15195
15196         * gnome/applet/applet-dbus-devices.[ch]
15197           gnome/applet/applet.c
15198           gnome/applet/other-network-dialog.c
15199           gnome/applet/wireless-security-manager.[ch]
15200           gnome/applet/wireless-security-option.[ch]
15201           gnome/applet/wso-*
15202                 - Push the wireless security options further into the applet
15203
15204 2005-12-12  Robert Love  <rml@novell.com>
15205
15206         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
15207           return any name servers.  That is perfectly valid.  (Novell #134369).
15208
15209 2005-12-11  Dan Williams  <dcbw@redhat.com>
15210
15211         * gnome/applet/wso-*
15212           gnome/applet/wireless-security-option.*
15213           gnome/applet/Makefile.am
15214                 - split each security option out so we can eventually
15215                         have each one build up their own dbus message
15216                         arguments to send to NM
15217
15218 2005-12-11  Dan Williams  <dcbw@redhat.com>
15219
15220         * Make validation of the key work correctly
15221
15222 2005-12-11  Dan Williams  <dcbw@redhat.com>
15223
15224         * Hook more bits of the Other Network Dialog up to the
15225                 wireless security manager stuff, and restructure
15226                 bits of the dialog so there's less code.
15227
15228 2005-12-10  Dan Williams  <dcbw@redhat.com>
15229
15230         * gnome/applet/Makefile.am
15231                 - Add libnm-util to includes
15232                 - Add libnm-util to link list
15233                 - Add wireless-security-common.* to compile list
15234
15235         * gnome/applet/other-network-dialog.c
15236                 - Convert to using the WirelessSecurityManager code and
15237                         widgets
15238
15239         * gnome/applet/passphrase-dialog.c
15240                 - Comment out references to stuff in the glade file that
15241                         cause runtime errors until it can be fixed up
15242                         to use the WirelessSecurityManager code
15243
15244         * gnome/applet/wireless-applet.glade
15245                 - Rename some widgets
15246                 - Add widgets for the WirelessSecurityManager code
15247                 - Remove passphrase-related stuff since that's now
15248                         handled by the WirelessSecurityManager code
15249
15250 2005-12-10  Dan Williams  <dcbw@redhat.com>
15251
15252         * gnome/applet/applet-dbus-devices.c
15253                 - Print out error message details for dbus pending call callbacks
15254                 - Move nmwa_dbus_update_devices() up
15255
15256         * gnome/applet/applet-dbus-vpn.c
15257                 - Print out error message details for dbus pending call callbacks
15258
15259 2005-12-10  Dan Williams  <dcbw@redhat.com>
15260
15261         * libnm-util/*
15262                 - More fixups
15263                 - Remove cipher-manager.* because we don't need it
15264                 - Forgot to add gnome-keyring-md5 files to compile list
15265
15266 2005-12-09  Dan Williams  <dcbw@redhat.com>
15267
15268         * libnm-util/*
15269           configure.in
15270           Makefile.am
15271                 - Add a utility library for clients of NetworkManager.  It's
15272                         only targetted at applets for the moment, and contains
15273                         a generalized 802.11 cipher framework for different
15274                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
15275
15276 2005-12-09  Robert Love  <rml@novell.com>
15277
15278         * src/NetworkManagerDevice.c: handle error better in
15279           nm_device_set_mode().
15280
15281 2005-12-08  Robert Love  <rml@novell.com>
15282
15283         * include/NetworkManager.h: add WPA capabilities constants
15284         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
15285           or WPA2 and add the capabilities bits as appropriate.
15286
15287 2005-12-08  Robert Love  <rml@novell.com>
15288
15289         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
15290           NetworkManagerDispatcher.
15291         * configure.in, initscript/SUSE/.cvsignore,
15292           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
15293           initscript.
15294
15295 2005-12-08  Robert Love  <rml@novell.com>
15296
15297         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
15298
15299 2005-12-08  Robert Love  <rml@novell.com>
15300
15301         * src/NetworkManagerDevice.c: We want to fall back on and default to
15302           IW_MODE_AUTO, not -1, which is more in line with our previous
15303           behavior.  Otherwise, we try to set the wireless mode to -1 in
15304           nm_device_set_mode().
15305
15306 2005-12-07  Robert Love  <rml@novell.com>
15307
15308         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
15309           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
15310           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
15311           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
15312           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
15313           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
15314           zero.
15315
15316 2005-12-07  Robert Love  <rml@novell.com>
15317
15318         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
15319           supplied IP is invalid, fall back to DHCP.
15320
15321 2005-12-07  Dan Williams  <dcbw@redhat.com>
15322
15323         * Convert NETWORK_MODE_* constants to IW_MODE_*
15324         * Make all the get_mode/set_mode functions take and return 'int'
15325         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
15326
15327 2005-12-07  Robert Love  <rml@novell.com>
15328
15329         * src/NetworkManagerDevice.c: strncpy() buffer check.
15330         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
15331
15332 2005-12-06  Dan Williams  <dcbw@redhat.com>
15333
15334         * gnome/applet/applet-dbus.c
15335                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
15336
15337         * gnome/applet/applet-dbus-vpn.c
15338                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
15339                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
15340                         to TRUE here if stage was ACTIVATED
15341
15342 2005-12-06  Dan Williams  <dcbw@redhat.com>
15343
15344         * Change nm_device_is_* functions to better names:
15345                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
15346                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
15347
15348 2005-12-06  Dan Williams  <dcbw@redhat.com>
15349
15350         * Change naming of NMDeviceType to something more sensible:
15351                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
15352                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
15353                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
15354
15355 2005-12-06  Dan Williams  <dcbw@redhat.com>
15356
15357         * Move NetworkManager.h -> include/NetworkManager.h
15358         * Split out VPN stuff into include/NetworkManagerVPN.h
15359         * Fix up makefiles to include new location
15360         * Fix up sources to include NetworkManagerVPN.h
15361
15362 2005-12-06  Dan Williams  <dcbw@redhat.com>
15363
15364         Various changes in the applet to move VPN connection "state" -> "stage",
15365         which it actually is.  I'd like to change the signal as well when we
15366         break compat in the near future.
15367
15368 2005-12-06  Dan Williams  <dcbw@redhat.com>
15369
15370         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
15371         * initscript/Slackware/rc.networkmanager
15372                 - Cosmetic fix
15373
15374         * src/backends/NetworkManagerSlackware.c
15375                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
15376                         interfaces
15377
15378 2005-12-05  Robert Love  <rml@novell.com>
15379
15380         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
15381           to free, particularly here as it just barfs.
15382
15383 2005-12-05  Dan Williams  <dcbw@redhat.com>
15384
15385         * gnome/applet/applet-dbus.c
15386                 - Work with dbus 0.6 too
15387
15388 2005-12-03  Dan Williams  <dcbw@redhat.com>
15389
15390         * src/NetworkManagerUtils.[ch]
15391           src/nm-ip4-config.c
15392                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
15393                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
15394
15395 2005-12-01  Robert Love  <rml@novell.com>
15396
15397         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
15398           need a NULL for the '...' parameter, too, to fill the so-called
15399           sentinel.
15400
15401 2005-12-01  Robert Love  <rml@novell.com>
15402
15403         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
15404           interface is already gone, so don't call rtnl_link_change() to down
15405           it (which will segfault, anyhow).
15406
15407 2005-11-22  Robert Love  <rml@novell.com>
15408
15409         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
15410           gateway is not set, just print a little note.  Configurations without
15411           gateways are valid.
15412
15413 2005-11-22  Robert Love  <rml@novell.com>
15414
15415         * README: update
15416
15417 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
15418
15419         * configure.in: Added Finnish translation to ALL_LINGUAS
15420
15421 2005-11-14  Robert Love  <rml@novell.com>
15422
15423         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
15424           Niemueller <tim@niemueller.de>.
15425
15426 2005-11-08  Dan Williams  <dcbw@redhat.com>
15427
15428         Patch from Bill Moss <bmoss@clemson.edu>
15429         * src/NetworkManagerDevice.c
15430                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
15431                         of nm_policy_schedule_activation_finish() to prevent a
15432                         race condition that causes the link to be dropped
15433
15434 2005-11-08  Dan Williams  <dcbw@redhat.com>
15435
15436         Patch from Bill Moss <bmoss@clemson.edu>
15437         * src/NetworkManagerAPList.c
15438           src/NetworkManagerDevice.c
15439           src/NetworkManagerDbus.c
15440                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
15441                         we get more readable ether/mac addresses
15442
15443 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15444
15445         * gnome/applet/main.c: Don't set the restart command.  This fixes
15446         the issue where the restart command was getting copies of all its
15447         arguments for each time the applet was restarted.
15448
15449 2005-11-02  Robert Love  <rml@novell.com>
15450
15451         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
15452           if the widget state differs from our saved state.  This ensures we
15453           do not enter an endless loop of death and destruction.  Also, this
15454           guarantees us that we enforce the widget state.
15455
15456 2005-11-02  Robert Love  <rml@novell.com>
15457
15458         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
15459         * gnome/applet/applet-dbus-devices.c: invoke the new function
15460           nmwa_enable_wireless_set_active() to ensure that the state of the
15461           'Enable Wireless' checkbox matches the daemon's state.  This is a
15462           concern because the daemon remembers the state.
15463
15464 2005-11-02  Robert Love  <rml@novell.com>
15465
15466         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
15467           Enabled", as checkboxes should be actions/commands not positive
15468           statements, otherwise they are confusing in the unselected case.  See
15469           examples in GNOME HIG, Chapter 6.
15470
15471 2005-11-02  Robert Love  <rml@novell.com>
15472
15473         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
15474           show a list of wireless networks or the wireless devices or the
15475           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
15476           a bad bug: If wireless is disabled and the user picks a wireless
15477           network, NM will switch to the network, only to immediately switch
15478           back, as wireless is disabled.  This also reassures people that NM
15479           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
15480
15481 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15482
15483         * gnome/applet/applet.c:
15484         * gnome/applet/applet.h:
15485         Partial backout of Dan's timeout animation patch.
15486         Timeout IDs cannot legally be 0, so revert the code in place to handle
15487         a timeout ID of 0 to denote the timeout isn't running.
15488
15489 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15490
15491         * src/NetworkManagerPolicy.c:
15492         (nm_policy_device_change_check) Clarify wireless switch nm_info text
15493
15494 2005-10-28  Robert Love  <rml@novell.com>
15495
15496         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
15497           "Import Saved Configuration..." to make it clear that importing is
15498           not the next step, but an option.  As an aside, a nice TODO would be
15499           to move Importing out of the vpn-specific dialog and into the main
15500           property editor, as Importing goes with Adding, but that will require
15501           some rearchitecting of the VPN stuff I suspect.
15502
15503 2005-10-27  Dan Williams  <dcbw@redhat.com>
15504
15505         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
15506         we should replace most of the distro-specific backend code
15507         with libnl stuff.
15508
15509         Get it here:  http://people.suug.ch/~tgr/libnl/
15510
15511         * configure.in
15512           src/Makefile.am
15513                 - Add checks for libnl pkgconfig file
15514                 - Use LIBNL_LIBS & LIBNL_CFLAGS
15515
15516         * src/NetworkManagerSystem.c
15517           src/nm-ip4-config.[ch]
15518                 - Use libnl rather than ioctl() for most things
15519                 - Remove unused functions
15520
15521 2005-10-27  Robert Love  <rml@novell.com>
15522
15523         * src/backends/NetworkManagerSuSE.c: fix warning message text
15524
15525 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15526
15527         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
15528
15529 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15530
15531         * gnome/applet/applet.c: The applet's about dialog can advertise our 
15532         project page <http://www.gnome.org/projects/NetworkManager/>
15533
15534 2005-10-26  Christopher Aillon  <caillon@redhat.com>
15535
15536         * gnome/applet.c: Also use translator credits if we don't have
15537         the new GtkAboutDialog (older versions of GTK+)
15538
15539 2005-10-26  Robert Love  <rml@novell.com>
15540
15541         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
15542           failure; correct usage text for "--no-daemon"
15543
15544 2005-10-25  Dan Williams  <dcbw@redhat.com>
15545
15546         * src/NetworkManagerDevice.c
15547                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
15548                         no scan results
15549                 - (free_process_scan_cb_data): unref the device when freeing results
15550                 - (nm_device_wireless_process_scan_results): free scan results a bit later
15551                         so we don't unref the device underneath ourselves
15552
15553 2005-10-25  Dan Williams  <dcbw@redhat.com>
15554
15555         * Back out 2005-10-24 commit from Tor Krill.  Patch
15556                 causes nameservers never to be removed from named.
15557
15558 2005-10-24  Dan Williams  <dcbw@redhat.com>
15559
15560         Clean up wireless scanning and wireless link probing.
15561
15562         * src/NetworkManagerDevice.c
15563                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
15564                         just see if there's an activation request on the device, and check the
15565                         current link against the activation request access point's ESSID.
15566                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
15567                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
15568                         don't call process_scan_results() on zero-length data
15569                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
15570                         15 seconds (from 10)
15571
15572 2005-10-24  Dan Williams  <dcbw@redhat.com>
15573
15574         Cleanup some applet stuff:
15575
15576         - Animation timeouts.  If NM died while the applet was animating,
15577                 the applet would not hide itself.  This is now fixed.
15578
15579         - Remove some dead code
15580
15581         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
15582                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
15583
15584         - Track animation timeout using a gboolean rather than the timeout's
15585                 ID, since timeout IDs can legally be 0.
15586
15587 2005-10-24  Dan Williams  <dcbw@redhat.com>
15588
15589         * src/backends/interface_parser.c
15590                 - Add void to function declarations that need it
15591                         to match patch from Engin AYDOGAN
15592
15593         * src/backends/interface_parser.h
15594                 - Remove unused prototype for ifparser_interfaces()
15595
15596         Patch from Engin AYDOGAN <engin@bzzzt.biz>
15597         * src/backends/interface_parser.h:
15598                 - Compile fixes for gcc 4.0.2 (add void)
15599
15600 2005-10-24  Dan Williams  <dcbw@redhat.com>
15601
15602         Patch from Tor Krill <tor@krill.nu>
15603         * src/named-manager/nm-named-manager.c
15604                 - Write more than just the first nameserver to /etc/resolv.conf
15605                 - Write out valid /etc/resolv.conf on exit
15606
15607 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15608
15609         * gnome/applet/applet-dbus-vpn.c:
15610         Get rid of spurious newlines in debug console output
15611
15612 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15613
15614         * src/backends/NetworkManagerGentoo.c:
15615         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
15616
15617 2005-10-20  Robert Love  <rml@novell.com>
15618
15619         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
15620           direct comparison of floating point values, which is never correct.
15621           Also some misc. cleanup.
15622
15623 2005-10-19  Robert Love  <rml@novell.com>
15624
15625         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
15626
15627 2005-10-19  Robert Love  <rml@novell.com>
15628
15629         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
15630           sensitivity of the buttons.  Specificaly, do the right thing if
15631           there are no entries.
15632
15633 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15634
15635         * configure.in: Update check for adequate wireless-tools
15636         with an AC_TRY_COMPILE for the new symbols we use.
15637
15638 2005-10-19  Dan Williams  <dcbw@redhat.com>
15639
15640         * src/NetworkManagerDevice.c
15641                 - (process_scan_results): don't drop the last (or only)
15642                         access point we see
15643
15644 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15645
15646         * src/backends/NetworkManagerSlackware.c:
15647         Patch from Nico <lordllucifer@gmail.com>
15648                 - Update the Slackware backend.
15649
15650 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15651
15652         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
15653         if we've got GLib 2.8.0
15654
15655 2005-10-18  Robert Love  <rml@novell.com>
15656
15657         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
15658           function nm_schedule_state_change_signal_broadcast() when we
15659           deactivate a device, too.
15660
15661 2005-10-18  Robert Love  <rml@novell.com>
15662
15663         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
15664           be used uninitialized.
15665
15666 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15667
15668         * test/libnm_glib_test.c: Test unregistering, too.
15669
15670 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15671
15672         * configure.in: Bump to 0.5.0
15673
15674 2005-10-17  Dan Williams  <dcbw@redhat.com>
15675
15676         * NetworkManager.h
15677                 - Remove WPA-related constants so they aren't part of the
15678                         upcoming release.
15679
15680 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15681
15682         * gnome/applet/applet.c:
15683         * gnome/applet/applet.h:
15684         Desensitize the 'Connection Information' menu item when there is
15685         no active connection.
15686
15687 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15688
15689         * gnome/libnm_glib/libnm_glib.c:
15690         Make libnm_glib_unregister_callback () actually unregister the callback
15691
15692 2005-10-17  Robert Love  <rml@novell.com>
15693
15694         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
15695           two seconds -- tries is updated every 1/10 of a second, not every
15696           second..
15697
15698 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15699
15700         * gnome/applet/applet-dbus-info.c:
15701         Let D-BUS know that we haven't handled a message when we haven't.
15702
15703 2005-10-17  Robert Love  <rml@novell.com>
15704
15705         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
15706           in order to remain 64-bit clean.
15707
15708 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15709
15710         * gnome/applet/applet-dbus-info.c:
15711         Find network encryption keys asynchronously
15712
15713 2005-10-17  Robert Love  <rml@novell.com>
15714
15715         * src/backends/NetworkManagerDebian.c,
15716           src/backends/NetworkManagerRedHat,
15717           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
15718           comment delimiter.
15719
15720 2005-10-17  Robert Love  <rml@novell.com>
15721
15722         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
15723           "/etc"
15724
15725 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15726
15727         * src/NetworkManagerDevice.c: (process_scan_results)
15728         Fix logic that checks to see whether we have an ESSID.
15729
15730 2005-10-15  Dan Williams  <dcbw@redhat.com>
15731
15732         Move scanning code into NetworkManager rather than use iwlib's
15733         iw_scan() function, so that we can figure out AP capabilities.
15734
15735         * NetworkManager.h
15736                 - Add AP capability bits
15737
15738         * src/NetworkManagerAP.[ch]
15739                 - Add capability field to NMAccessPoint structure
15740                 - Add WPA & RSN Information Element fields and accessor
15741                         functions to NMAccessPoint
15742
15743         * src/NetworkManagerDevice.c
15744                 - Remove usage of iw_scan
15745                 - Add scanning code to NetworkManager rather than use
15746                         iw_scan() from iwlib
15747
15748         * src/NetworkManagerUtils.[ch]
15749                 - (nm_dispose_scan_results): remove, unused
15750
15751 2005-10-14  Christopher Aillon  <caillon@redhat.com>
15752
15753         * gnome/libnm_glib/libnm_glib.c:
15754         * gnome/libnm_glib/libnm_glib.h:
15755         Use guint instead of gint for callback IDs.
15756
15757 2005-10-12  Christopher Aillon  <caillon@redhat.com>
15758
15759         * gnome/applet/applet.c:
15760         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
15761         every 1000ms.  It will unconditionally call nmwa_update_state which
15762         kills the existing animation timeout and registers a new one with a
15763         callback to draw a new frame every 100ms.  There are 11 connecting
15764         icon frames, so the last 2 frames kept getting dropped.  Only reset
15765         the animation timeout if we aren't animating.
15766
15767 2005-10-11  Dan Williams  <dcbw@redhat.com>
15768
15769         * gnome/applet/applet-dbus-devices.c
15770                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15771                         We want to grab the product & vendor from net.physical_dev
15772                         rather than info.parent.
15773
15774 2005-10-11  Dan Williams  <dcbw@redhat.com>
15775
15776         * src/NetworkManagerDevice.c
15777                 - Use the driver's WE version for scanning rather than
15778                         the WE version NM was compiled with.  Fixes random
15779                         crashes in iw_scan () in iwlib.
15780
15781 2005-10-10  Dan Williams  <dcbw@redhat.com>
15782
15783         * Remove nm_system_load_device_modules() from backend files
15784                 and from NetworkManager.c
15785
15786 2005-10-10  Dan Williams  <dcbw@redhat.com>
15787
15788         * src/NetworkManagerPolicy.c
15789                 - Fix some bugs introduced by the capabilities patch
15790
15791 2005-10-10  Dan Williams  <dcbw@redhat.com>
15792
15793         * gnome/applet/applet-dbus-info.c
15794                 - (nmi_dbus_get_network_key): hide the menu when putting up
15795                         the keyring dialog.  (not sure if the code is right...)
15796
15797 2005-10-09  Dan Williams  <dcbw@redhat.com>
15798
15799         Patch from Bill Moss <bmoss@clemson.edu>
15800         * src/NetworkManagerDevice.c
15801                 - (nm_device_set_user_key_for_network): don't try to set auth
15802                         mode on the AP from the allowed list if it's NULL
15803
15804 2005-10-09  Dan Williams  <dcbw@redhat.com>
15805
15806         * Replace the "driver support level" stuff with capabilities.  The
15807                 capability field is a bitfield that is more flexible than the
15808                 old driver support level thing.  It's mostly so we can easily
15809                 figure out what supports WPA and what doesn't, but should be
15810                 quite useful later.
15811
15812 2005-10-09  Dan Williams  <dcbw@redhat.com>
15813
15814         * test/nmtest.c
15815                 - Removed
15816
15817         * test/nm-tool.c
15818           test/Makefile.am
15819                 - Added new "nm-tool" tool that gives quite a bit more
15820                         information
15821
15822 2005-10-07  Robert Love  <rml@novell.com>
15823
15824         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15825           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15826           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15827           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15828           appropriate
15829
15830 2005-10-07  Robert Love  <rml@novell.com>
15831
15832         * configure.in: Change our compile flags for the betterment of mankind.
15833           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15834           prototype is very bad on 64-bit platforms as types default to int but
15835           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15836           "-Wmissing-declarations" to warn if we define an exported function
15837           but fail to put it in a header.
15838
15839 2005-10-07  Robert Love  <rml@novell.com>
15840
15841         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15842           by the name nm_update_device_wireless_timeouts() and once tried,
15843           without success, to steal my pet turtle.
15844
15845 2005-10-07  Robert Love  <rml@novell.com>
15846
15847         * Cleanup prototypes: put some functions in header files and mark
15848           others as 'static' -- feel free to invert
15849         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15850           nm_vpn_manager_vpn_connection_list_copy()
15851         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15852           nm_vpn_service_get_dbus_connection()
15853         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15854           nm_vpn_manager_vpn_connection_list_copy()
15855         * src/vpn-manager/nm-vpn-service.c: make
15856           nm_vpn_service_act_request_failed() and
15857           nm_vpn_service_stage2_daemon_wait() static
15858         * src/vpn-manager/nm-vpn-service.h: add prototype for
15859           nm_vpn_service_get_dbus_connection()
15860
15861 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15862
15863         * gnome/applet/applet.c:
15864         * gnome/applet/applet.h:
15865         * gnome/applet/icons/Makefile.am:
15866         Convey information about the current connection stage in the
15867         icons themselves instead of creating a separate progress bar.
15868
15869 2005-10-04  Robert Love  <rml@novell.com>
15870
15871         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15872           convert an ether_addr structure's MAC into a string, because the
15873           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15874           versus 07:3B:04, while the former will not.
15875
15876 2005-10-04  Robert Love  <rml@novell.com>
15877
15878         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15879           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15880           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15881           default route in the 'Connection Information' dialog, send primary
15882           and secondary name servers in in "getProperties" DBUS method, add
15883           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15884           secondary domain name servers are crucial pieces of information
15885           that a user might need in debugging a network problem.
15886
15887 2005-10-04  Robert Love  <rml@novell.com>
15888
15889         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15890           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15891           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15892           default route in the 'Connection Information' dialog, send default
15893           route in "getProperties" DBUS method, add network_device_set_route(),
15894           and network_device_get_route().  The Gateway is a crucial piece of
15895           connection-related information that a user might need in debugging a
15896           network problem.
15897
15898 2005-10-03  Robert Love  <rml@novell.com>
15899
15900         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15901           NULL.
15902
15903 2005-10-02  Dan Williams  <dcbw@redhat.com>
15904
15905         * Shorten time taken to sleep by fastpathing bits of device deactivation
15906                 necessary for sleep.
15907
15908         * Fix issue where deactivating a device might deactivate the active
15909                 VPN connection, even if the VPN was not using the device.
15910
15911 2005-10-02  Dan Williams  <dcbw@redhat.com>
15912
15913         * gnome/applet/applet.c
15914                 - Adjust signal strength -> icon mapping values slightly
15915                         (so that 51% signal doesn't show a 75% icon) by adding
15916                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15917                         shows 50% icon, etc.
15918
15919 2005-09-29  Robert Love  <rml@novell.com>
15920
15921         * src/NetworkManager.c: removed unused variable.
15922
15923 2005-09-28  Dan Williams  <dcbw@redhat.com>
15924
15925         Support for named + DBus, using Red Hat DBus patches for named.  You
15926         can find those patches here, with "dbus" in the patch's filename:
15927
15928                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15929
15930         Don't forget the named dbus service file either.
15931
15932         Instead of writing a config file and spawing a named process, NM will
15933         use an already-running dbus-enabled named if it finds one.  NM will
15934         update named's forwarder configuration on the fly using dbus.
15935
15936         If there is no dbus-enabled named running, NM will automatically fall
15937         back to writing the most-recent DNS server information to /etc/resolv.conf
15938         and calling nm_system_update_dns() to kick the system's resolver.
15939
15940         Accordingly, all named-related configure-time options have been removed.
15941
15942 2005-09-26  Robert Love  <rml@novell.com>
15943
15944         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15945           ISDN support!
15946         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15947           bug in error path if "ASKPASSWORD" is "no".
15948
15949 2005-09-26  Robert Love  <rml@novell.com>
15950
15951         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15952           comment in /etc/resolv.conf -- ';' is not.
15953
15954 2005-09-19  Dan Williams  <dcbw@redhat.com>
15955
15956         * src/backends/NetworkManagerRedHat.c:
15957         * src/backends/NetworkManagerDebian.c:
15958         * src/backends/NetworkManagerSlackware.c:
15959         * src/backends/NetworkManagerGentoo.c:
15960         * src/backends/NetworkManagerSUSE.c:
15961         Fix invocations of "/sbin/ip address" to use short form instead
15962
15963 2005-09-19  Christopher Aillon  <caillon@redhat.com>
15964
15965         * src/nm-dbus-device.c: Don't assert when getting
15966         addresses of a not yet connected interface.
15967
15968         * gnome/applet/applet.c: Free icons if loading fails.
15969         Use translator-credits so translators can make themselves known.
15970
15971 2005-09-15  Christopher Aillon  <caillon@redhat.com>
15972
15973         * src/NetworkManagerAP.c:
15974         * src/NetworkManagerAP.h:
15975         * src/NetworkManagerDevice.c:
15976         Set a blacklist for certain common manufacturer default ESSIDs:
15977         APs with these ESSIDs are extremely likely to be completely
15978         different networks: connecting to one should not make NM
15979         auto-connect to every other AP with the same default ESSID.
15980
15981 2005-09-12  Christopher Aillon  <caillon@redhat.com>
15982
15983         * gnome/applet/wireless-applet.glade:
15984         The passphrase entry should also activate the default
15985
15986         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
15987
15988         * gnome/applet/applet-dbus-devices.c:
15989         * gnome/applet/applet.c:
15990         * gnome/applet/nm-device.c:
15991         * gnome/applet/nm-device.h:
15992         * src/NetworkManagerUtils.c:
15993         * src/NetworkManagerUtils.h:
15994         * src/nm-dbus-device.c:
15995         I've got a fever, and the only cure for it is less ioctl.
15996         Make NM push IP data rather than make the applet open a socket
15997         to the device.
15998
15999 2005-09-10  Christopher Aillon  <caillon@redhat.com>
16000
16001         * gnome/applet/applet.c:
16002         * gnome/applet/applet-dbus-devices.c:
16003         * gnome/applet/applet-dbus-info.c:
16004         * gnome/applet/passphrase-dialog.c:
16005         * gnome/libnm_glib/libnm_glib.c:
16006         * gnome/vpn-properties/nm-vpn-properties.c:
16007         * src/autoip.c:
16008         * src/backends/NetworkManagerRedHat.c:
16009         * src/named-manager/nm-named-manager.c:
16010         * src/NetworkManagerAPList.c:
16011         * src/NetworkManager.c:
16012         * src/NetworkManagerDbus.c:
16013         * src/NetworkManagerDevice.c:
16014         * src/NetworkManagerPolicy.c:
16015         * src/NetworkManagerSystem.c:
16016         * src/nm-dbus-device.c:
16017         * src/nm-dbus-nm.c:
16018         * src/vpn-manager/nm-vpn-manager.c:
16019         * src/vpn-manager/nm-vpn-service.c:
16020         * test/libnm_glib_test.c:
16021         * test/nminfotest.c:
16022         * test/nmtestdevices.c:
16023         Fix a bunch of 'unused variable' compiler warnings
16024
16025         * NetworkManager.h:
16026         * gnome/applet/applet-dbus-info.c:
16027         * gnome/applet/applet-dbus-info.h:
16028         * gnome/applet/applet.c:
16029         * gnome/applet/applet.h:
16030         * src/NetworkManager.c:
16031         * src/NetworkManagerDbus.c:
16032         * src/NetworkManagerDbus.h:
16033         * src/NetworkManagerDevice.c:
16034         * src/NetworkManagerDevice.h:
16035         * src/NetworkManagerMain.h:
16036         * src/NetworkManagerWireless.c:
16037         * src/NetworkManagerWireless.h:
16038         * src/nm-dbus-nm.c:
16039         Make NetworkManager be smart about how frequently to scan
16040         based on its current state.  Remove the UI for choosing when
16041         to scan.  Scanning still may disabled completely by the user
16042         via the "Wireless Enabled" menu item.
16043
16044 2005-09-09  Christopher Aillon  <caillon@redhat.com>
16045
16046         * gnome/applet/applet.c:
16047         Also overlay the vpn connecting icons onto the wired icon,
16048         when appropriate.
16049
16050         * gnome/vpn-properties/nm-vpn-properties.glade:
16051         Clean up a few strings to use better grammar and proper casing.
16052
16053 2005-09-08  Christopher Aillon  <caillon@redhat.com>
16054
16055         * gnome/applet/vpn-connection.c:
16056         * gnome/applet/vpn-connection.h:
16057         Add nmwa_vpn_connection_is_activating ()
16058
16059         * gnome/applet/applet.c:
16060         * gnome/applet/applet.h:
16061         * gnome/applet/icons/nm-vpn-connecting*.png:
16062         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
16063         the user know something's happening between clicking the VPN item and it
16064         actually being connected.
16065
16066 2005-09-07  Christopher Aillon  <caillon@redhat.com>
16067
16068         * gnome/applet/applet-dbus-info.c: need to free attributes in the
16069         failure case as well.
16070
16071 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
16072
16073         * gnome/panel/eggtrayicon.[ch]:
16074         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
16075
16076 2005-09-07  Dan Williams  <dcbw@redhat.com>
16077
16078         Patch from Bill Moss <bmoss@clemson.edu>
16079         * src/applet-dbus.c
16080                 - (nmwa_dbus_filter): strip whitespace from beginning
16081                         and end of VPN login banner
16082
16083 2005-09-07  Dan Williams  <dcbw@redhat.com>
16084
16085         * The great VPN Manager rewrite of 2005
16086
16087 2005-09-07  Christopher Aillon  <caillon@redhat.com>
16088
16089         * gnome/applet/menu-items.c:
16090         * gnome/applet/nm-device.c:
16091         * gnome/applet/wireless-network.c:
16092         * gnome/libnm_glib/libnm_glib.c:
16093         * src/NetworkManagerDbusUtils.c:
16094         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
16095         g_malloc0 doesn't return NULL
16096
16097 2005-09-06  Dan Williams  <dcbw@redhat.com>
16098
16099         Patch from Tomislav Vujec <tvujec@redhat.com>
16100         * src/NetworkManagerDevice.c
16101                 - (nm_get_device_by_udi): don't return a device when we
16102                         actually didn't find what we were looking for
16103
16104 2005-09-06  Christopher Aillon  <caillon@redhat.com>
16105
16106         * gnome/applet/applet-dbus-devices.c:
16107         * gnome/applet/applet-dbus-devices.h:
16108         * gnome/applet/applet-dbus.c:
16109         * src/NetworkManagerDbus.c:
16110         * src/NetworkManagerDbus.h:
16111         * src/NetworkManagerDevice.c:
16112         * src/nm-dbus-device.c:
16113         Make NM push updates about active device strength when it changes,
16114         rather than having the applet poll every 2s.
16115
16116 2005-09-05  Christopher Aillon  <caillon@redhat.com>
16117
16118         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
16119         network_device_set_strength
16120
16121 2005-09-04  Dan Williams  <dcbw@redhat.com>
16122
16123         Patch from Bill Nottingham <notting@redhat.com>
16124         * src/NetworkManagerDevice.c
16125                 - (nm_device_activation_cancel): reset the quit_activation flag
16126
16127 2005-09-04  Dan Williams  <dcbw@redhat.com>
16128
16129         * src/nm-activation-request.c
16130                 - (nm_act_request_unref): actually free the structure,
16131                         which we didn't seem to be doing before
16132
16133 2005-09-04  Dan Williams  <dcbw@redhat.com>
16134
16135         Patch from John Palmieri <johnp@redhat.com>
16136         * gnome/applet/applet-dbus-devices.c
16137                 - Fix up unreffing of DBusMessage objects
16138
16139 2005-09-04  Dan Williams  <dcbw@redhat.com>
16140
16141         Patch from John Palmieri <johnp@redhat.com>
16142         * gnome/applet/nm-device.c
16143                 - (nm_device_unref): clear network_device's memory _before_ freeing it
16144
16145 2005-09-02  Christopher Aillon  <caillon@redhat.com>
16146
16147         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
16148
16149 2005-09-02  Bill Nottingham  <notting@redhat.com>
16150
16151         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
16152
16153 2005-09-01  Dan Williams  <dcbw@redhat.com>
16154
16155         * src/NetworkManager.c
16156                 - (nm_remove_device_from_list): rename to nm_remove_device
16157                 - (nm_hal_device_removed): call nm_remove_device()
16158
16159         * src/NetworkManagerDevice.c
16160                 - Change the NMWirelessScanCB member 'reschedule' which
16161                         wasn't used to 'force' to indicate that we need to
16162                         force a scan when adding a device
16163
16164         * src/nm-dbus-nm.c
16165                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
16166                         from the device list
16167                 - (nm_dbus_nm_wake): Re-add all devices to the device list
16168
16169 2005-09-01  Robert Love  <rml@novell.com>
16170
16171         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
16172           and the check "!iface" in the error case is probably never true.
16173
16174 2005-09-01  Dan Williams  <dcbw@redhat.com>
16175
16176         Patch from Bill Nottingham <notting@redhat.com>
16177         * src/backends/NetworkManagerRedHat.c
16178                 - Add initial dialup support to Red Hat/Fedora backend
16179
16180 2005-09-01  Dan Williams  <dcbw@redhat.com>
16181
16182         * gnome/applet/applet-dbus-devices.c
16183                 - Sort both wireless networks and devices again, which got
16184                         broken when removing threading
16185
16186 2005-09-01  Christopher Aillon  <caillon@redhat.com>
16187
16188         * gnome/applet/applet.c:
16189         Only show the "Stop/Start All Wireless Devices" menuitem
16190         if we actually have wireless devices.
16191
16192         * gnome/applet/applet-dbus-info.c:
16193         * gnome/applet/applet.c:
16194         * gnome/applet/other-network-dialog.c:
16195         * gnome/applet/vpn-password-dialog.c:
16196         Drop the gtk_dialog_run () calls in favor of connecting to
16197         "response" signals, needed now that the applet is not threaded.
16198
16199 2005-08-31  Dan Williams  <dcbw@redhat.com>
16200
16201         Patch from Bill Moss <bmoss@clemson.edu>
16202         * src/NetworkManagerDevice.c
16203                 - (nm_device_wireless_scan): fix scan timeout values
16204
16205 2005-08-30  Dan Williams  <dcbw@redhat.com>
16206
16207         * gnome/applet/wireless-applet.glade
16208                 - HIG-ify the Other Wireless Networks dialog a bit more
16209                 - Fix some potential segfaults in the info dialog
16210
16211 2005-08-30  Dan Williams  <dcbw@redhat.com>
16212
16213         * gnome/applet/applet-dbus-devices.c
16214                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
16215
16216 2005-08-30  Dan Williams  <dcbw@redhat.com>
16217
16218         * gnome/applet/applet-dbus.[ch]
16219                 - Remove all the nmwa_dbus_call_method_xxxx functions since
16220                         they weren't being used anyway
16221
16222 2005-08-30  Bastien Nocera  <hadess@hadess.net>
16223
16224         * test/nmtestdevices.c: (print_usage), (main):
16225         Check the number of arguments, and fix a typo
16226
16227 2005-08-29  Dan Williams  <dcbw@redhat.com>
16228
16229         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
16230         * gnome/applet/applet.c
16231                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
16232
16233 2005-08-29  Dan Williams  <dcbw@redhat.com>
16234
16235         * gnome/applet/*
16236                 - Don't use threads any more.  Anything that blocks
16237                         (like gtk_dialog_run()) will  have to get fixed up which
16238                         should happen quickly.  We really only had threads to make
16239                         the animation smooth, and when everything got converted over
16240                         to DBus Pending Calls, the need for threads kind of went away
16241
16242 2005-08-29  Christopher Aillon  <caillon@redhat.com>
16243
16244         * gnome/applet/applet.c: Draw VPN connections as radio items
16245         since we don't yet support multiple VPNs.
16246         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
16247         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
16248
16249 2005-08-29  Dan Williams  <dcbw@redhat.com>
16250
16251         Patch from j@bootlab.org
16252         - Make --without-named work
16253         - Make --with-dhcdbd work correctly
16254
16255 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
16256
16257         * configure.in: Added "ca" to ALL_LINGUAS.
16258
16259 2005-08-26  Christopher Aillon  <caillon@redhat.com>
16260
16261         * Fix up VPN state handling between the applet and NetworkManager,
16262                 so that the applet doesn't show a VPN as connected when one
16263                 really is not
16264                         - The applet no longer has a pointer to the active VPN's
16265                                 name, but tracks each VPNs state individually
16266                         - NM no longer has a "getActiveVPNConnection" method
16267                         - NM no longer broadcasts the "VPNConnectionChange" signal
16268                         - NM now broadcasts a "VPNConnectionStateChange" signal
16269                                 whenever the state of a VPN changes
16270
16271 2005-08-26  Dan Williams <dcbw@redhat.com>
16272
16273         * gnome/applet/applet-dbus-devices.c
16274           gnome/applet/applet-dbus-vpn.c
16275                 - Remove calls to dbus_pending_call_ref() because we already
16276                         "own" the pending call
16277                 - Remove calls to dbus_pending_call_get_completed() because
16278                         when we are in the callback, the pending call is completed
16279                         by definition
16280
16281 2005-08-22  Dan Williams <dcbw@redhat.com>
16282
16283         Patch by Bill Moss <bmoss@clemson.edu>
16284         * src/dhcp-manager/nm-dhcp-manager.c
16285                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
16286                         some time to send out a RELEASE if they like
16287
16288 2005-08-22  Dan Williams <dcbw@redhat.com>
16289
16290         Noticed by Bill Moss <bmoss@clemson.edu>
16291         * src/NetworkManagerDbus.c
16292                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
16293                         instead of just cancelling its activation
16294
16295         * src/NetworkManagerDevice.c
16296                 - (nm_device_deactivate): some small cleanups
16297                 - (nm_device_set_user_key_for_network): deactivate the device
16298                         instead of just cancelling its activation
16299
16300 2005-08-22  Dan Williams <dcbw@redhat.com>
16301
16302         Noticed by Bill Moss <bmoss@clemson.edu>
16303         * src/NetworkManagerDevice.c
16304                 - (nm_device_wireless_scan): fix scan timeout, we were
16305                         waiting way too long for scans to complete
16306
16307 2005-08-22  Dan Williams <dcbw@redhat.com>
16308
16309         Patch from j@bootlab.org:
16310         * src/backends/NetworkManagerDebian.c
16311                 - Make the Debian backend work for static IP again
16312
16313 2005-08-20  Christopher Aillon  <caillon@redhat.com>
16314
16315         * gnome/applet/other-network-dialog.c:
16316         The "Create New Network" and "Connect to Other Network"
16317         dialogs share alot of code, but shouldn't share a window
16318         title.  Give them different ones.
16319
16320         * gnome/applet/wireless-applet.glade:
16321         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
16322         Some more minor UI tweaks.
16323
16324 2005-08-19  Christopher Aillon  <caillon@redhat.com>
16325
16326         * gnome/applet/other-network-dialog.c:
16327         * gnome/applet/wireless-applet.glade:
16328         Also need mnemonic widgets, and underline enabled.
16329
16330 2005-08-19  Dan Williams <dcbw@redhat.com>
16331
16332         * vpn-daemons/vpnc/nm-vpnc-service.c
16333                 - (vpnc_watch_cb): remove no-longer-relevant comment
16334                 - (write_config_option): new function, helper to write
16335                         config options to vpnc's stdin
16336                 - (nm_vpnc_config_write): use the new helper, make the
16337                         code shorter
16338
16339 2005-08-19  Christopher Aillon <caillon@redhat.com>
16340
16341         * gnome/applet/passphrase-dialog.c:
16342         * gnome/applet/wireless-applet.glade:
16343         Make the passphrase dialog response based, and treat
16344         responses other than OK (such as Esc, [X]) as a cancel.
16345
16346 2005-08-18  Christopher Aillon <caillon@redhat.com>
16347
16348         * initscript/Gentoo/NetworkManager:
16349         * initscript/RedHat/NetworkManager:
16350         * initscript/RedHat/NetworkManagerDispatcher:
16351         * initscript/SUSE/networkmanager:
16352         CVS remove these in place of .in replacements
16353
16354         * configure.in:
16355         * initscript/Gentoo/NetworkManager.in:
16356         * initscript/RedHat/NetworkManager.in:
16357         * initscript/RedHat/NetworkManagerDispatcher.in:
16358         * initscript/SUSE/networkmanager.in:
16359         These scripts now are generated so they work still when
16360         NM is built using a bindir other than /usr/bin
16361
16362 2005-08-18  Dan Williams <dcbw@redhat.com>
16363
16364         * gnome/applet/main.c
16365                 - Revert previous change for --no-session since
16366                         --sm-disable does the same thing
16367
16368 2005-08-18  Dan Williams <dcbw@redhat.com>
16369
16370         * gnome/applet/applet-dbus-info.c
16371                 - (nmi_dbus_create_error_message): new function
16372                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
16373                         functions.  Also don't check for both device _and_ network before
16374                         asking for a user's key, because we may not have gotten all our
16375                         networks back from NM quite yet (due to the dbus pending calls
16376                         coming in later).  Fixes a hang in NM/nm-applet.
16377
16378         * src/NetworkManagerDbus.c
16379                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
16380                         slightly more sane manner, even though we are still broken for
16381                         certain other error conditions.
16382                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
16383                         to the info-daemon too
16384
16385         * src/NetworkManagerDevice.c
16386                 - Fix some debug messages to be info messages instead
16387
16388 2005-08-18  Dan Williams <dcbw@redhat.com>
16389
16390         * gnome/applet/main.c
16391                 - Add new "--no-session" parameter that disables applet
16392                         session management, ie for testing
16393
16394 2005-08-18  Christopher Aillon <caillon@redhat.com>
16395
16396         * gnome/applet/other-network-dialog.c:
16397         * gnome/applet/wireless-applet.glade: More mnemonics
16398
16399 2005-08-17  Robert Love  <rml@novell.com>
16400
16401         * initscript/SUSE/networkmanager: update
16402
16403 2005-08-17  Dan Williams  <dcbw@redhat.com>
16404
16405         * Tag NM_0_4_1_RELEASE
16406
16407 2005-08-17  Christopher Aillon  <caillon@redhat.com>
16408
16409         * gnome/applet/applet.c: More translatable string cleanup
16410
16411
16412 2005-08-17  Dan Williams  <dcbw@redhat.com>
16413
16414         * gnome/applet/applet-dbus-info.c
16415                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
16416                         from the dbus message, which tells us to unconditionally
16417                         ask the user for a new key.  Otherwise, we pull the key from
16418                         the keyring and return it.  If we fail to get the key from the
16419                         keyring, we ask the user for a new key.
16420                 - (nmi_dbus_get_network_key): new function to grab the key for
16421                         an essid from the keyring.
16422                 - (nmi_dbus_get_network_properties): don't access the keyring here.
16423                         Also, don't return any key in the dbus message.
16424
16425         * src/NetworkManagerDbus.[ch]
16426                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
16427                         indicate that we unconditionally want a new key.  This function
16428                         is now also used to get keys from the info-daemon which are
16429                         pre-stored, not just for asking the user for a new key.  The
16430                         "new_key" parameter indicates whether or not we wish to ask the
16431                         user for a new key.
16432                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
16433                         info-daemon in the return message, so use NULL instead.  The
16434                         key will be filled in at connect time by calling
16435                         nm_dbus_get_user_key_for_network()
16436
16437         * src/NetworkManagerDevice.c
16438                 - (nm_device_wireless_configure): update for "new_key" param to
16439                         nm_dbus_get_user_key_for_network().  We initially set new_key
16440                         to FALSE to see if we have a stored key in the info-daemon, but
16441                         if the connection is unsuccessful at this stage we request a
16442                         new one
16443
16444 2005-08-17  Dan Williams  <dcbw@redhat.com>
16445
16446         * gnome/applet/icons/nm-no-connection.png
16447           gnome/applet/icons/nm-device-wired.png
16448                 - Use Diana's new RJ45 connector icons
16449
16450 2005-08-17  Dan Williams  <dcbw@redhat.com>
16451
16452         * src/NetworkManagerPolicy.c
16453                 - (nm_policy_device_change_check): clarify switching rules if
16454                         both new and old devices are valid; mainly, don't switch
16455                         away from user-requested wireless connection back to a wired
16456                         one
16457
16458 2005-08-17  Dan Williams  <dcbw@redhat.com>
16459
16460         * gnome/applet/Makefile.am
16461                 - Relocate the applet to /usr/bin since it is no longer
16462                         executed by anything, but directly by the user
16463
16464 2005-08-17  Dan Williams  <dcbw@redhat.com>
16465
16466         Patch from Bill Moss <bmoss@clemson.edu>
16467
16468         * gnome/applet/applet-dbus-info.[ch]
16469                 - (nmi_save_network_info): save timestamp for network if it
16470                         was a change requested by the user
16471                 - (nmi_dbus_update_network_info): get user_requested from dbus
16472                         message and pass to nmi_save_network_info()
16473
16474         * gnome/applet/applet.c
16475                 - (nmwa_update_network_timestamp): remove
16476                 - (nmwa_menu_item_activate): don't set timestamp on networks
16477                         here, only after a successful connect in nmi_save_network_info()
16478
16479         * src/NetworkManagerDbus.[ch]
16480                 - (nm_dbus_update_network_info): pass user_requested into the 
16481                         dbus message
16482
16483         * src/NetworkManagerPolicy.c
16484                 - (nm_policy_activation_finish): pass user_requested to
16485                         nm_dbus_update_network_info()
16486
16487 2005-08-16  Robert Love  <rml@novell.com>
16488
16489         * gnome/applet/applet.c: Better "Dial Up" menu item.
16490
16491 2005-08-16  Robert Love  <rml@novell.com>
16492
16493         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
16494           "Connection Information" menu item.
16495
16496 2005-08-16  Dan Williams  <dcbw@redhat.com>
16497
16498         Patch from j@bootlab.org
16499         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
16500
16501         * configure.in: allow specifying the path to dhcdbd
16502
16503 2005-08-16  Robert Love  <rml@novell.com>
16504
16505         Patch from j@bootlab.org
16506         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
16507           src/backends/interface_parser.h: Debian dialup support.
16508
16509 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16510
16511         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
16512         * gnome/applet/applet.c: Add some mnemonics for VPNC
16513
16514         * vpn-daemons/.cvsignore: fix this up a little bit
16515
16516 2005-08-16  Robert Love  <rml@novell.com>
16517
16518         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
16519           support.
16520
16521 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16522
16523         * gnome/applet/applet.c: Split markup out of translatable strings
16524         and clean up logic a little bit.  (fixes #309012)
16525
16526 2005-08-15  Christopher Aillon  <caillon@redhat.com>
16527
16528         * gnome/vpn-properties/nm-vpn-properties.c:
16529         * gnome/vpn-properties/nm-vpn-ui-interface.h:
16530         * vpn-daemons/vpnc/properties/nm-vpnc.c:
16531         Makeshift fix to remove newlines from translatable strings.
16532         Note that we now return an allocated string, so callers of
16533         get_confirmation_details () must now call g_free () on the
16534         result. (fixes #309033).
16535
16536 2005-08-12  Robert Love  <rml@novell.com>
16537
16538         * gnome/applet/applet-dbus.c: remove newlines from translatable
16539           strings--not needed here anyway. (fix b.g.o #309011)
16540         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
16541
16542 2005-08-11  Robert Love  <rml@novell.com>
16543
16544         * gnome/applet/applet.c: mark string as translatable.
16545
16546 2005-08-11  Robert Love  <rml@novell.com>
16547
16548         * initscript/SUSE/networkmanager: update.
16549
16550 2005-08-11  Dan Williams  <dcbw@redhat.com>
16551
16552         * src/nm-dhcp-manager.c
16553                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
16554                         an gateway returned from DHCP, try to use the address of the DHCP
16555                         server as the gateway instead.  Found by Ralf Ertzinger.
16556
16557 2005-08-10  Robert Love  <rml@novell.com>
16558
16559         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
16560           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
16561
16562 2005-08-10  Dan Williams  <dcbw@redhat.com>
16563
16564         Patch from Bill Moss <bmoss@clemson.edu>
16565         * Consolidate writes of access point information updates to the info daemon
16566                 so that we only do it when the connection to the access point was
16567                 successful.  Also consolidates updates to GConf in the Gnome applet.
16568
16569         * src/nm-netlink-monitor.c
16570                 - Silence compile warning when calling g_object_new()
16571
16572 2005-08-08  Dan Williams  <dcbw@redhat.com>
16573
16574         Patch from Steev <steev@steev.net>:
16575         * src/backends/NetworkManagerGentoo.c
16576                 - Stub new dialup backend functions
16577
16578 2005-08-08  Dan Williams  <dcbw@redhat.com>
16579
16580         Patch from Colin Slater:
16581         * src/backends/NetworkManagerGentoo.c
16582                 - (nm_system_update_dns): Fix exit status check for restarting
16583                         nscd
16584
16585 2005-08-05  Robert Love  <rml@novell.com>
16586
16587         * NetworkManager.h,
16588           gnome/applet/applet-dbus-devices.c,
16589           gnome/applet/applet-dbus-devices.h,
16590           gnome/applet/applet-dbus.c,
16591           gnome/applet/applet.c,
16592           gnome/applet/applet.h,
16593           src/NetworkManager.c,
16594           src/NetworkManagerMain.h,
16595           src/NetworkManagerSystem.h,
16596           src/backends/NetworkManagerRedHat.c,
16597           src/backends/NetworkManagerSuSE.c,
16598           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
16599
16600 2005-08-05  Robert Love  <rml@novell.com>
16601
16602         * gnome/applet/other-network-dialog.c: default the adhoc network to the
16603           machine's hostname to make adhoc creation idiot-proof.
16604
16605 2005-08-04  Robert Love  <rml@novell.com>
16606
16607         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
16608           freed.
16609
16610 2005-08-04  Dan Williams  <dcbw@redhat.com>
16611
16612         * gnome/applet/applet-dbus-info.c
16613           gnome/applet/applet-dbus-info.h
16614                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
16615                         to store key, key type, and auth method rather than just auth method
16616                 - (nmi_dbus_update_network_info): new function
16617                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
16618
16619         * gnome/applet/passphrase-dialog.c
16620                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
16621                         of saving the info ourselves
16622
16623         * gnome/libnm_glib/libnm_glib.c
16624                 - Remove the stupid version check for dbus
16625
16626         * src/NetworkManagerAP.c
16627           src/NetworkManagerAP.h
16628                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
16629
16630         * src/NetworkManagerDbus.c
16631           src/NetworkManagerDbus.h
16632                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
16633                         more than just the auth method
16634
16635         * src/NetworkManagerDevice.c
16636                 - Update network info at the appropriate times
16637
16638 2005-07-29  Ray Strode  <rstrode@redhat.com>
16639
16640         * src/NetworkManager.c (nm_info_handler): don't use input as format
16641         string (Spotted by Ian Jackson).
16642
16643 2005-07-27  Dan Williams  <dcbw@redhat.com>
16644
16645         * src/nm-dbus-nm.c
16646           src/nm-dbus-net.c
16647                 - Random cleanups of spacing
16648
16649         * gnome/applet/applet.h
16650           gnome/applet/other-network-dialog.c
16651           gnome/applet/passphrase-dialog.c
16652                 - Conslidate usage of NMWAEncryptionKeyTypes enum
16653
16654         Patch from Bill Moss:
16655                 - Make Other Wireless Networks work again with encryption keys
16656
16657 2005-07-26  Dan Williams  <dcbw@redhat.com>
16658
16659         Patch from Steev <steev@steev.net>:
16660         * src/backends/NetworkManagerGentoo.c
16661           src/backends/Makefile.am
16662                 - Fix up Gentoo backend
16663
16664 2005-07-26  Robert Love  <rml@novell.com>
16665
16666         * src/backends/NetworkManagerSuSE.c: misc. cleanup
16667
16668 2005-07-25  Robert Love  <rml@novell.com>
16669
16670         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
16671           in the same group as the wireless networks, since they are all
16672           mutually exclusive.
16673
16674 2005-07-24  Ray Strode  <rstrode@redhat.com>
16675
16676         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
16677         remove unneeded NULL arg from g_object_new().  Any
16678         warnings caused by not having the extra NULL are just a
16679         result of a bug in glib 2.7.0 - 2.7.2.
16680
16681 2005-07-22  Robert Love  <rml@novell.com>
16682
16683         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
16684
16685 2005-07-22  Robert Love  <rml@novell.com>
16686
16687         * src/nm-netlink-monitor.c: g_object_new() needs at least three
16688           parameters (gcc 4.0.2 warning fix).
16689
16690 2005-07-18  Robert Love  <rml@novell.com>
16691
16692         Suggested by Aaron Bockover (abockover@novell.com)
16693         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
16694           s/Ascii/ASCII
16695         * gnome/applet/passphrase-dialog.c: ditto
16696         * gnome/applet/wireless-applet.glade: ditto
16697
16698 2005-07-13  Dan Williams  <dcbw@redhat.com>
16699
16700         Patch from Ray Strode <halfline@gmail.com>
16701         * vpn-daemons/vpnc/nm-vpnc-service.c
16702                 - Don't let vpnc daemonize, fixes some races with PID file reading
16703
16704 2005-07-13  Dan Williams  <dcbw@redhat.com>
16705
16706         Patch from Ray Strode <halfline@gmail.com>
16707         * Random cleanups for strict CFLAGS
16708
16709 2005-07-07  Dan Williams  <dcbw@redhat.com>
16710
16711         Patch from Derek Atkins <warlord@MIT.EDU>
16712         * src/nm-dbus-net.c:
16713                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
16714
16715 2005-07-07  Dan Williams  <dcbw@redhat.com>
16716
16717         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
16718         * src/backends/NetworkManagerGentoo.c
16719                 - Gentoo backend Static IP nameserver fixes
16720                 - General Gentoo backend goodness
16721
16722 2005-07-07  Dan Williams  <dcbw@redhat.com>
16723
16724         Patch from Bastien Nocera:
16725         * gnome/applet/applet.c
16726                 - Fix up error reporting when icons or glade files are missing
16727
16728 2005-07-07  Robert Love  <rml@novell.com>
16729
16730         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
16731           are not any VPN connections above it.
16732
16733 2005-07-07  Robert Love  <rml@novell.com>
16734
16735         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
16736
16737 2005-07-05  Robert Love  <rml@novell.com>
16738
16739         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
16740           zero.
16741
16742 2005-07-05  Robert Love  <rml@novell.com>
16743
16744         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
16745           on wired or unencrypted wireless.
16746
16747 2005-07-01  Robert Love  <rml@novell.com>
16748
16749         * src/NetworkManagerSystem.c: Print the error via strerror().
16750
16751 2005-06-30  Robert Love  <rml@novell.com>
16752
16753         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
16754           then exit if the glade file is not found.  currently the application
16755           just hangs.
16756
16757 2005-06-30  Robert Love  <rml@novell.com>
16758
16759         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
16760           explicitly up all interfaces on wake from sleep.
16761
16762 2005-06-30  Robert Love  <rml@novell.com>
16763
16764         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16765           with information about the currently active connection.
16766         * gnome/applet/applet.h: (ditto)
16767         * gnome/applet/wireless-applet.glade: (ditto), new file
16768
16769 2005-06-30  Robert Love  <rml@novell.com>
16770
16771         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16772         * src/nm-dbus-nm.c: print when we sleep and wake up.
16773         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16774         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16775           in /sbin unless D-BUS is, folks).
16776         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16777
16778 2005-06-27  Robert Love  <rml@novell.com>
16779
16780         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16781           case.
16782
16783 2005-06-27  Robert Love  <rml@novell.com>
16784
16785         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16786           items radios.
16787
16788 2005-06-26  Robert Love  <rml@novell.com>
16789
16790         * src/NetworkManagerDevice.c: be specific about which device in
16791           nm_info() message.
16792
16793 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16794
16795         * src/nm-netlink-monitor.c: correct spelling error.
16796
16797 2005-06-23  Robert Love  <rml@novell.com>
16798
16799         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16800         * gnome/applet/passphrase-dialog.c: more of that keyring!
16801
16802 2005-06-23  Robert Love  <rml@novell.com>
16803
16804         * configure.in: remove extraneous GNOMEKEYRING directives.
16805         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16806         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16807         * gnome/applet/passphrase-dialog.c: whitespace.
16808
16809 2005-06-23  Robert Love  <rml@novell.com>
16810
16811         * src/NetworkManagerDevice.c: division in assignment was flipped.
16812
16813 2005-06-23  David Zeuthen  <david@fubar.dk>
16814
16815         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16816         signal to the child to indicate that we got what we wanted when we
16817         see two new-lines right after each other.
16818         (nmwa_vpn_request_password): Pass a structure with several members
16819         instead of just the passwords
16820
16821 2005-06-23  Dan Williams <dcbw@redhat.com>
16822
16823         * src/NetworkManager.c
16824           src/NetworkManagerMain.h
16825                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16826                 - (nm_hal_init): new function, init libhal context then add devices
16827                 - (nm_hal_deinit): new function, clean up libhal context
16828                 - (nm_data_free): Move Hal cleanup here
16829                 - (main): check whether Hal is running, and if so, get a list of
16830                         network devices from it
16831
16832         * src/NetworkManagerDbus.c
16833                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16834                         and when it appears, get a list of network devices from it.  If
16835                         Hal goes away, clean up the libhal context
16836
16837 2005-06-22  Robert Love  <rml@novell.com>
16838
16839         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16840           permissions of scripts before executing.
16841
16842 2005-06-21  Robert Love  <rml@novell.com>
16843
16844         * initscript/SUSE/networkmanager: update.
16845         * src/backends/NetworkManagerSuSE.c: cleanup.
16846
16847 2005-06-21  Robert Love <rml@novell.com>
16848
16849         * gnome/applet/applet.c: use menu mnemonics.
16850         * gnome/applet/menu-items.c: (ditto)
16851
16852 2005-06-21  Robert Love  <rml@novell.com>
16853
16854         * applet/applet-dbus-devices.c: mark non-static functions static.
16855         * applet/applet-dbus-vpn.c: (ditto)
16856         * applet/applet.c: (ditto)
16857         * applet/nm-device.h: (ditto)
16858         * applet/other-network-dialog.c: (ditto)
16859         * applet/passphrase-dialog.c: (ditto)
16860         * NetworkManager.c: (ditto)
16861         * NetworkManagerDbus.c: (ditto)
16862         * NetworkManagerDevice.c: (ditto)
16863         * NetworkManagerPolicy.c: (ditto)
16864         * NetworkManagerUtils.c: (ditto)
16865         * NetworkManagerWireless.c: (ditto)
16866         * NetworkManagerWireless.h: (ditto)
16867         * nm-netlink-monitor.c: (ditto)
16868         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16869         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16870         * autoip.c: include autoip.h.
16871         * autoip.h: new file.  define get_autoip().
16872         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16873         * NetworkManagerDbus.h: remove duplicate definitions.
16874
16875 2005-06-20  Robert Love  <rml@novell.com>
16876
16877         * Makefile.am: Add missing intltool-foo.in generated files to
16878           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16879           with the start of stuff to cleanup on 'distclea'.
16880         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16881           stuff right and 'distcheck' works.
16882         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16883           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16884           Makefile.am for each.  And systray/Makefile needs to be redone.
16885
16886 2005-06-19  Dan Williams <dcbw@redhat.com>
16887
16888         * src/NetworkManagerDevice.c
16889         - (nm_device_wireless_process_scan_results): scan every 20s when
16890           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16891
16892 2005-06-19  Dan Williams <dcbw@redhat.com>
16893
16894         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16895
16896 2005-06-18  Ray Strode <rstrode@redhat.com>
16897
16898         * src/nm-netlink-monitor.c 
16899         (nm_netlink_monitor_event_handler): check for the presence
16900         of either error condition not both. 
16901         
16902         (nm_netlink_monitor_error_handler): emit error signal if
16903         error occurs.
16904
16905         (nm_netlink_monitor_event_handler),
16906         (nm_netlink_monitor_error_handler),
16907         (nm_netlink_monitor_disconnect_handler): if an 
16908         assertion fails disconnect the event handler to prevent 
16909         infinite loops.
16910
16911         * src/nm-netlink-monitor.h: add new error condition
16912         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16913
16914 2005-06-18  Ray Strode <rstrode@redhat.com>
16915
16916         * src/nm-netlink-monitor.c 
16917         (nm_netlink_monitor_event_handler): remove bogus < 0
16918         check on unsigned value and return early if the kernel
16919         didn't send any bytes.
16920
16921 2005-06-17  Robert Love  <rml@novell.com>
16922
16923         * initscript/SUSE/networkmanager: Change the Provides and default
16924         run levels
16925
16926 2005-06-16  Dan Williams <dcbw@redhat.com>
16927
16928         Patch from Robert Love:
16929         * gnome/applet/applet.c
16930                 - Beautify some applet menu item names
16931
16932 2005-06-17  David Zeuthen  <davidz@redhat.com>
16933
16934         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16935         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16936         Also add new methods can_export, import_file and export.
16937
16938         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16939         to the main UI
16940
16941         * gnome/vpn-properties/nm-vpn-properties.c:
16942         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16943         nm-vpn-ui-interface.h.
16944         (update_edit_del_sensitivity): Also update "Export" sensitivity
16945         (add_vpn_connection): Also add new SVC_NAME column
16946         (import_settings): New function
16947         (retrieve_data_from_selected_connection): New function
16948         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16949         this function
16950         (export_cb): New function
16951         (init_app): Also setup the "export" widget
16952         (main): Support the --import-service and --import-file commandline
16953         arguments
16954
16955         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
16956         D-BUS 0.34
16957
16958 2005-06-16  Dan Williams <dcbw@redhat.com>
16959
16960         Patch from Robert Love:
16961         * gnome/applet/menu-items.c
16962                 - (network_menu_item_new): pass -1 as wireless network
16963                         menu items height size request rather than ascent / 2
16964
16965 2005-06-16  Dan Williams <dcbw@redhat.com>
16966
16967         * Clean up wording in Wireless Scan Methods menu items and constants
16968
16969 2005-06-16  Robert Love  <rml@novell.com>
16970
16971         * po/POTFILES.in
16972                 - remove gtkcell* files
16973
16974 2005-06-15  Dan Williams <dcbw@redhat.com>
16975
16976         Patch from Robert Love: make the applet stetic
16977
16978         * gnome/applet/Makefile.am
16979                 - Don't compile the gtkcellview and gtkcellrendererprogress files
16980
16981         * gnome/applet/gtkcellview.h
16982           gnome/applet/gtkcellview.c
16983           gnome/applet/gtkcellrendererprogress.h
16984           gnome/applet/gtkcellrendererprogress.c
16985                 - Removed
16986
16987         * gnome/applet/menu-items.c
16988                 - Progress bars are 5:1 size ratio
16989                 - Use GTK progress bars rather than internal ones
16990
16991 2005-06-15  Dan Williams <dcbw@redhat.com>
16992
16993         Patch from Robert Love:
16994         * initscript/SUSE/networkmanager
16995                 - Fix typo
16996
16997 2005-06-15  Dan Williams <dcbw@redhat.com>
16998
16999         * src/backends/NetworkManagerSuSE.c
17000           src/backends/NetworkManagerRedHat.c
17001           src/backends/NetworkManagerDebian.c
17002                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
17003
17004 2005-06-15  Dan Williams <dcbw@redhat.com>
17005
17006         * src/backends/NetworkManagerDebian.c
17007                 - Add nm_system_device_get_use_dhcp() to debian backend
17008
17009         Patch from Kay Sievers:
17010         * src/backends/NetworkManagerSuSE.c
17011                 - Update debian backend for static IP nameservers
17012
17013         * src/NetworkManagerDevice.c
17014                 - Actually set the device to use static IP or DHCP rather
17015                         than always DHCP
17016
17017 2005-06-15  Dan Williams <dcbw@redhat.com>
17018
17019         Patch from Thom May:
17020         * src/backends/NetworkManagerDebian.c
17021                 - Update debian backend for static IP nameservers
17022
17023 2005-06-15  Dan Williams <dcbw@redhat.com>
17024
17025         Patches from Robert Love:
17026         * gnome/applet/wireless-applet.glade
17027                 - Tighten up wording
17028
17029         * src/NetworkManagerDevice.c
17030                 - Remove misplaced ';'
17031
17032         * configure.in
17033           initscript/Makefile.am
17034           initscript/SUSE/Makefile.am
17035           initscript/SUSE/networkmanager
17036                 - Add SUSE initscript
17037
17038 2005-06-12  David Zeuthen  <davidz@redhat.com>
17039
17040         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
17041
17042         * gnome/vpn-properties/nm-vpn-properties.glade: New file
17043
17044         * gnome/vpn-properties/nm-vpn-properties.c: New file
17045
17046         * gnome/vpn-properties/Makefile.am: New file
17047
17048         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
17049         array of passwords
17050
17051         * src/vpn-manager/nm-vpn-manager.c
17052         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
17053         instead of just a single one
17054
17055         * src/vpn-manager/nm-dbus-vpn.c:
17056         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
17057         here
17058         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
17059
17060         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
17061         Change the interface here to give a list of passwords. Also, don't
17062         require username, but do require service
17063
17064         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
17065         the binary for the auth-dialog and use that instead of putting up a
17066         dialog asking for a single password
17067
17068         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
17069         however do remember the service
17070
17071         * gnome/applet/main.c (main): Setup i18n
17072
17073         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
17074         connection to '%s'" to the tooltip if we are connected using VPN
17075         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
17076         key to determine whether we the auth-dialog needs to
17077         reprompt. Also cope with the fact that the auth-dialog now returns
17078         an array of passwords.
17079         (nmwa_menu_configure_vpn_item_activate): New handler for
17080         "Configure VPN..." menu item
17081         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
17082         (is_vpn_available): New function to determine if we got any
17083         NM-compatible VPN software installed
17084         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
17085         items only if we have NM-compatible VPN software installed
17086         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
17087         logic for detecting when VPN connections are removed
17088
17089         * gnome/applet/applet-dbus.h: Removed the prototypes for 
17090         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
17091         since these are defined elsewhere
17092
17093         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
17094         function used to keep track of whether the last attempt succeded
17095         (nmwa_dbus_filter): Update last_attempt according to whether the
17096         VPN connection could be established or not
17097
17098         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
17099         Change prototype to take an array of passwords, not just a single
17100         password
17101
17102         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
17103         update service, not user
17104         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
17105         dbus_active_vpn_name is not NULL before using it
17106         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
17107         string array instead of assuming a single password
17108
17109         * gnome/applet/applet-dbus-info.c:
17110         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
17111         user name; don't read from gconf
17112
17113         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
17114         VPN_NAME_FILES_DIR
17115
17116         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
17117
17118         * configure.in: Add checks for gmodule-2.0.
17119         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
17120         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
17121         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
17122         for details
17123
17124         * vpn-daemons/Makefile.am: Removed
17125
17126         * vpn-daemons/README: New file to describe extensions points for VPN
17127         software
17128
17129 2005-06-10  Dan Williams <dcbw@redhat.com>
17130
17131         * src/backends/NetworkManagerRedHat.c
17132                 - (get_current_profile_name): new function, grab current network profile name from
17133                         /etc/sysconfig/network
17134                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
17135                         update an IP4 Config structure's settings from it
17136                 - (nm_system_device_get_system_config): if we're using static IP on this device,
17137                         get DNS info from current network profile
17138
17139 2005-06-09  Dan Williams <dcbw@redhat.com>
17140
17141         Patch from Robert Love:
17142         * src/NetworkManagerDevice.c
17143           src/NetworkManagerUtils.c
17144                 - 64-bit build fixes
17145
17146 2005-06-09  Dan Williams <dcbw@redhat.com>
17147
17148         Patch from Kay Sievers and Robert Love:
17149         * configure.in
17150           src/backends/Makefile.am
17151           src/backends/NetworkManagerSuSE.c
17152                 - Add SuSE support
17153
17154 2005-06-09  Dan Williams <dcbw@redhat.com>
17155
17156         * NetworkManager.h
17157                 - Add NMWirelessScanMethod enum for scan methods
17158
17159         * gnome/applet/applet-dbus-devices.c
17160                 - (nmwa_dbus_update_scanning_enabled_cb): remove
17161                 - (nmwa_dbus_update_scanning_enabled): remove
17162                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
17163                         since it got removed
17164                 - (nmwa_dbus_enable_scanning): remove
17165
17166         * gnome/applet/applet-dbus-info.c
17167                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
17168                         update the wireless scanning method from NMI
17169                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
17170                         method value to NetworkManager
17171                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
17172
17173         * gnome/applet/applet-dbus-info.h
17174                 - Add prototype for nmi_dbus_signal_update_scan_method
17175
17176         * gnome/applet/applet.c
17177                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
17178                         Wireless Scanning menu based on current wireless scan method
17179                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
17180                         signal for Wireless Scanning menu items, tell NetworkManager the new method
17181                         and update our menu items to make sure the right one is checked
17182                 - (nmwa_set_scanning_enabled_cb): remove
17183                 - (nmwa_context_menu_update): remove references to pause_scanning_item
17184                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
17185                         Scanning menu item
17186                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
17187                         from GConf
17188                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
17189                         so we get notified of preference values too
17190                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
17191
17192         * gnome/applet/applet.h
17193                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
17194                 - Add wireless scan method member to applet data
17195                 - Remove pause_scanning_item, add Wireless Scanning submenu
17196
17197         * src/NetworkManager.c
17198                 - (nm_data_new): default to NM_SCAN_METHOD_ON
17199                 - (main): grab scanning method from NMI if we can
17200
17201         * src/NetworkManagerDbus.c
17202                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
17203                         nm_dbus_update_wireless_scan_method()
17204                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
17205                         from NMI
17206                 - (nm_dbus_nmi_is_running): redundant function, removed
17207                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
17208                         when NMI comes back
17209
17210         * src/NetworkManagerDevice.c
17211                 - (nm_device_is_activated): return TRUE if the device is activated
17212                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
17213                         and we are activated
17214
17215         * src/nm-dbus-nm.c
17216                 - (nm_dbus_nm_set_scanning_enabled): removed
17217                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
17218                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
17219
17220 2005-06-09  Dan Williams <dcbw@redhat.com>
17221
17222         * NetworkManager.h
17223           src/vpn-manager/nm-vpn-service.c
17224                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
17225
17226 2005-05-27  Dan Williams <dcbw@redhat.com>
17227
17228         * vpn-daemons/vpnc/nm-vpnc-service.c
17229                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
17230                         Should fix the bug where the VPN connection terminates the first time.
17231
17232 2005-05-20  Dan Williams <dcbw@redhat.com>
17233
17234         * NetworkManager.h
17235                 - Differentiate VPN config signals between bad VPN config options
17236                         and bad IP config
17237
17238         * gnome/applet/applet-dbus-info.h
17239                 - Add prototypes for wireless network and vpn connection update functions
17240
17241         * gnome/applet/applet-dbus.c
17242                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
17243
17244         * gnome/applet/applet.c
17245                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
17246                         error signals
17247                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
17248                         propogation to NetworkManager
17249                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
17250                         notify propogation to NetworkManager
17251
17252         * src/NetworkManagerDbus.c
17253                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
17254                         are updating so a network can be removed from it if necessary
17255
17256         * src/vpn-manager/nm-vpn-manager.c
17257                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
17258
17259         * vpn-daemons/vpnc/nm-vpnc-service.c
17260                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
17261                 - (nm_vpnc_dbus_signal_launch_failed): remove
17262                 - (nm_vpnc_dbus_signal_connect_failed): remove
17263                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
17264                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
17265                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
17266                         for new generalized error signal function, remove config file stuff
17267                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
17268                         we can write configuration options to it
17269                 - (nm_vpnc_config_file_generate): removed
17270                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
17271                 - (nm_vpnc_config_options_validate): validate the config options we receive
17272                         from NetworkManager to block potential exploits
17273                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
17274                         starting vpnc
17275                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
17276                         to NetworkManager
17277
17278 2005-05-16  Dan Williams  <dcbw@redhat.com>
17279
17280         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
17281                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
17282                         is not "connect"
17283
17284 2005-05-16  Dan Williams  <dcbw@redhat.com>
17285
17286         Patch from Tomislav Vujec <tvujec@redhat.com>
17287         * gnome/applet/applet-dbus-info.c
17288                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
17289                         GConf and pass them to NetworkManager.  New key is 'routes' under
17290                         the VPN connection, and should be a string list
17291
17292         * src/NetworkManagerSystem.c
17293                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
17294                         set them on the device when we set the rest of the VPN config.  Ensure
17295                         they are in the correct format since they are passed directly to the
17296                         command line.
17297
17298         * src/backends/NetworkManagerRedHat.c
17299           src/backends/NetworkManagerDebian.c
17300                 - (nm_system_device_add_route_via_device_with_iface): new function
17301
17302         * src/vpn-manager/nm-dbus-vpn.c
17303                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
17304
17305         * src/vpn-manager/nm-vpn-manager.c
17306                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
17307                         them into the IP4 config functions
17308
17309 2005-05-15  Dan Williams  <dcbw@redhat.com>
17310
17311         From Filip Miletic:
17312         * po/sr.po
17313           po/sr@Latn.po
17314           configure.in
17315                 - Serbian translation added
17316
17317 2005-05-15  Dan Williams  <dcbw@redhat.com>
17318
17319         * dispatcher-daemon/NetworkManagerDispatcher.c
17320                 - (main): sync arguments with NetworkManager and the applet, now use
17321                         "--no-daemon" rather than "daemon=no"
17322                 - (nmd_print_usage): Fix script path in usage message
17323
17324 2005-05-15  Dan Williams  <dcbw@redhat.com>
17325
17326         * src/NetworkManagerDevice.[ch]
17327           src/NetworkManagerPolicy.c
17328           src/NetworkManager.c
17329           src/nm-dbus-nm.c
17330                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
17331                         longer send the DeviceNoLongerActive signal unconditionally, but only
17332                         when the device is actually active.
17333
17334         * dispatcher-daemon/NetworkManagerDispatcher.c
17335                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
17336                         and simplify the logic
17337                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
17338                         we free it later on
17339
17340         * initscript/RedHat/Makefile.am
17341           initscript/RedHat/NetworkManagerDispatcher
17342                 - Add initscript for NetworkManagerDispatcher
17343
17344
17345         Patch from Bill Moss:
17346         * dispatcher-daemon/NetworkManagerDispatcher.c
17347                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
17348
17349         * src/NetworkManagerDbus.c
17350                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
17351                         and DeviceNowActive gets signaled, then the device has a new IP address
17352                         anyway.  There's no need for a separate signal.
17353
17354         * src/NetworkManagerDevice.c
17355                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
17356
17357         * src/NetworkManagerPolicy.c
17358                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
17359                         activates successfully.  This kind of went missing when I reworked the
17360                         activation code.
17361
17362 2005-05-15  Dan Williams  <dcbw@redhat.com>
17363
17364         * configure.in
17365                 - Check for dhcdbd and error if its not found
17366
17367         * src/dhcp-manager/Makefile.am
17368           src/dhcp-manager/nm-dhcp-manager.c
17369                 - Use path to dhcdbd that configure found
17370
17371 2005-05-14  Dan Williams  <dcbw@redhat.com>
17372
17373         * gnome/applet/nm-device.c
17374                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
17375                         sort wireless networks alphabetically
17376
17377         * gnome/applet/applet-dbus-devices.c
17378                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
17379                         before copying them over to the GUI
17380
17381 2005-05-14  Dan Williams  <dcbw@redhat.com>
17382
17383         * src/NetworkManager.c
17384                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
17385                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
17386                         the device list, as does nm_get_active_device() which is called from
17387                         nm_vpn_manager_deactivate_vpn_connection().
17388
17389 2005-05-14  Dan Williams  <dcbw@redhat.com>
17390
17391         * NetworkManager.h
17392                 - Add signals for VPN Launch and Connect failures
17393
17394         * gnome/applet/applet-dbus.c
17395                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
17396
17397         * gnome/applet/applet.c
17398                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
17399                         function to handle all VPN failure messages
17400                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
17401                         function to hanlde all VPN failure  messages
17402                 - (show_warning_dialog): work around focus-stealing prevention
17403
17404         * gnome/applet/other-network-dialog.c
17405           gnome/applet/passphrase-dialog.c
17406                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
17407                         problem where it never enabled for ASCII Key and Hex Key types
17408
17409         * gnome/applet/wireless-applet.glade
17410                 - Add window title to Other Wireless Network Dialog
17411
17412         * src/vpn-manager/nm-dbus-vpn.c
17413                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
17414                         function to handle all VPN failure messages
17415
17416         * src/vpn-manager/nm-vpn-manager.c
17417                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
17418
17419         * vpn-daemons/vpnc/nm-vpnc-service.c
17420                 - (nm_vpnc_dbus_signal_launch_failed): new function
17421                 - (nm_vpnc_dbus_signal_connect_failed): new function
17422                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
17423                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
17424                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
17425                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
17426
17427 2005-05-11  Dan Williams  <dcbw@redhat.com>
17428
17429         * vpn-daemons/vpnc/nm-vpnc-service.c
17430                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
17431                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
17432                         file exists before trying to write it out.
17433
17434 2005-05-10  Dan Williams  <dcbw@redhat.com>
17435
17436     * gnome/applet/applet-dbus-device.c
17437         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
17438             prevented just entering ESSID and leaving key and key type up to
17439             NetworkManager (which should have them already cached)
17440
17441 2005-05-08  Dan Williams  <dcbw@redhat.com>
17442
17443         * src/NetworkManagerPolicy.c
17444                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
17445                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
17446                         fix a situation where NM is told to terminate and the device stops activation,
17447                         but the main thread isn't aware of that because it would never have run
17448                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
17449                         had already quit.
17450
17451         * src/NetworkManagerDevice.c
17452                 - (nm_device_probe_wired_link_state): cosmetic fixes
17453                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
17454                         we've failed to activate or been canceled.
17455                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
17456
17457 2005-05-08  Dan Williams  <dcbw@redhat.com>
17458
17459         * src/NetworkManagerWireless.c
17460                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
17461                         value of WEXT quality structures, and add a debug message when we cannot
17462                         determine any quality % at all
17463
17464 2005-05-08  Dan Williams  <dcbw@redhat.com>
17465
17466         * src/dhcp-manager/nm-dhcp-manager.c
17467                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
17468                         it goes down.
17469
17470 2005-05-06  Dan Williams  <dcbw@redhat.com>
17471
17472         * gnome/applet/applet-dbus-device.c
17473           gnome/applet/applet-dbus-info.c
17474           gnome/applet/applet-dbus.c
17475           gnome/applet/applet.c
17476           gnome/applet/applet.h
17477                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
17478
17479         * gnome/applet/applet-dbus.c
17480                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
17481                         so we notice when wired device's carriers come back on.  Should
17482                         fix issue with wired devices being grayed out even if the cable
17483                         is in, for devices that support carrier detection.
17484
17485         * gnome/applet/applet.c
17486                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
17487                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
17488                         tooltip message
17489                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
17490                         Fix situation where applet wouldn't respond to menu selections
17491
17492         * src/NetworkManager.c
17493           src/NetworkManagerDevice.c
17494           src/NetworkManagerDbus.c
17495           src/NetworkManagerDbus.h
17496                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
17497
17498         * src/NetworkManagerDbus.c
17499                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
17500                         Remove, no longer used or relevant
17501                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
17502                 - (nm_dbus_schedule_device_status_change_signal): add
17503
17504         * src/NetworkManagerDevice.c
17505                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
17506                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
17507                         ie don't deactivate them unless explicitly told to by the user.  Also send
17508                         CARRIER_OFF / CARRIER_ON signals when link changes
17509                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
17510                         Don't print error message when device is no longer around
17511                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
17512                         not just during activation
17513
17514         * src/NetworkManagerPolicy.c
17515                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
17516                         auto-device-selection.
17517                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
17518
17519         * src/NetworkManagerSystem.c
17520                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
17521                         is no longer present (Bill Moss)
17522
17523         * src/backends/shvar.c
17524                 - (svOpenFile): Open read-only to make SELinux happy
17525
17526         * src/backends/NetworkManagerRedHat.c
17527                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
17528                         the path to the ifcfg-* files
17529
17530 2005-05-05  Dan Williams  <dcbw@redhat.com>
17531
17532         * Expose activation stages to NetworkManager clients, like the applet
17533         * Add Diana's progress icons to the applet, cued off NM activation stage
17534         * Use more descriptive tooltips, cued off NM activation stage
17535
17536 2005-05-05  Ray Strode  <rstrode@redhat.com>
17537
17538         * src/nm-netlink-monitor.c:
17539                 - Use clear_event_source instead of g_nullify_pointer() again.
17540
17541 2005-05-05  Dan Williams  <dcbw@redhat.com>
17542
17543         * gnome/applet/main.c
17544                 - Fix session management so the applet is actually managed now
17545
17546         * gnome/applet/passphrase-dialog.c
17547                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
17548
17549 2005-05-05  Dan Williams  <dcbw@redhat.com>
17550
17551         Patch from Bill Moss:
17552         * gnome/libnm_glib/libnm_glib.c
17553                 - Fix for dbus-0.33
17554
17555 2005-05-05  Dan Williams  <dcbw@redhat.com>
17556
17557         Suggestion from Bill Moss:
17558         * src/NetworkManagerSystem.c
17559                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
17560
17561
17562         * src/NetworkManager.c
17563                 - (nm_data_free): move destruction of the various managers after
17564                         release of device list, because deactivating and freeing a device
17565                         requires at least the named manager
17566                 - (nm_poll_and_update_wireless_link_state):
17567                   (nm_device_link_activated):
17568                   (nm_device_link_deactivated):
17569                         don't grab the device list lock when actually updating device
17570                         link status or strength, since nm_device_set_link_active()
17571                         needs to call nm_get_active_device(), which also locks the device list.
17572
17573         * src/NetworkManagerDevice.c
17574                 - (nm_device_set_link_active): if a device's link switches from off->on,
17575                         and it's wired, and the active device is wireless (or there is no
17576                         active device), activate the new device whose link just came on
17577                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
17578                         my only calling the link to the current ap "failed" when more than 2
17579                         consecutive link checks have failed
17580
17581 2005-05-04  Dan Williams  <dcbw@redhat.com>
17582
17583         * src/NetworkManagerDevice.c
17584                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
17585                         but let link_to_specific_ap() do the locking where it needs
17586
17587         Patch from Bill Moss:
17588         * src/NetworkManagerSystem.c
17589                 - Set MTU of VPN devices to 1412
17590
17591 2005-05-04  Dan Williams  <dcbw@redhat.com>
17592
17593         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
17594
17595         * Fix some holes in device activation and retaining the currently connected
17596                 access point
17597
17598 2005-05-03  Dan Williams  <dcbw@redhat.com>
17599
17600         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
17601           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
17602           means you need dhcdbd, which you can get here (get the latest one):
17603
17604                 http://people.redhat.com/jvdias/dhcdbd/
17605
17606           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
17607           interface as dhcdbd.
17608
17609         * Rewrite device activation to facilitate the new DHCP infrastructure and
17610           future improvements.  Its now "activation request" based, ie there is a single
17611           activation request composed of the device, access point, and other info which
17612           follows the entire activation process.  There are 5 stages of the activation
17613           process which correspond to:
17614
17615                 1) Device preparation
17616                 2) Device configuration (bring it up, set ESSID/Key/etc)
17617                 3) IP Config Start (fire off DHCP if we're using it)
17618                 4) IP Config Get (grab config from DHCP or static config files)
17619                 5) IP Config Commit (set device's IP address, DNS, etc)
17620
17621           Note that there is no longer a "scanning" step, since the access point must
17622           be known _before_ activation starts.  If the access point drops out or does
17623           not exist for some reason, the entire activation process fails and must be
17624           restarted for a different access point or device.
17625
17626         Patch from Bill Moss:
17627         * gnome/applet/applet.c
17628                 - Fix type of vpn_failure dialog -> vpn_banner dialog
17629
17630 2005-04-27  Dan Williams  <dcbw@redhat.com>
17631
17632         * gnome/applet/applet-dbus-vpn.c
17633           gnome/applet/applet.c
17634           gnome/applet/applet.h
17635                 - Fix up active VPN handling so that we reliably know when a VPN
17636                         connection has been deactivated
17637
17638         * src/vpn-manager/nm-vpn-manager.c
17639                 - Remove duplicate VPNConnectionChange signal
17640
17641 2005-04-27  Dan Williams  <dcbw@redhat.com>
17642
17643         Patch from Peter Jones:
17644         * Remove usage of varargs to fix crashes on PPC (RH #154336)
17645
17646         Patch from Bill Moss:
17647         * src/NetworkManagerSystem.c
17648                 - Fix checking of return value from ioctl()
17649
17650 2005-04-27  Dan Williams  <dcbw@redhat.com>
17651
17652         * Fix choosing of wireless networks and "Other wireless network..." from the applet
17653         * Warn and exit if icons cannot be found
17654
17655 2005-04-27  Dan Williams  <dcbw@redhat.com>
17656
17657         Patch from Tom Parker:
17658         * Update debian backend
17659
17660 2005-04-27  Dan Williams  <dcbw@redhat.com>
17661
17662         * Merge the applet and the info-daemon, and move the converged
17663                 applet under gnome/applet
17664         * Move libnm_glib to gnome/libnm_glib
17665         * Convert most dbus calls between the applet, info-daemon, and NM
17666                 into async calls
17667         * Fix a few things valgrind noticed
17668         * Make NM broadcast state more reliably
17669
17670 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
17671
17672         * configure.in: Added ne in ALL_LINGUAS
17673
17674 2005-04-15  Dan Williams  <dcbw@redhat.com>
17675
17676         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
17677                 code for dbus 0.2x versions
17678
17679 2005-04-15  Dan Williams  <dcbw@redhat.com>
17680
17681         Patches from Tom Parker:
17682         - Fix memleaks
17683         - Join with worker thread rather than polling for its exit
17684
17685         Patch from Bill Moss:
17686         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
17687
17688 2005-04-15  Dan Williams  <dcbw@redhat.com>
17689
17690         - Fixes to pass 'make distcheck'
17691
17692 2005-04-15  Dan Williams  <dcbw@redhat.com>
17693
17694         Initial VPN Support
17695                 - supports 'vpnc'
17696                 - reworks device IP configuration, backend files have changed and will need
17697                         to be updated for all distributions.  I will try to do what I can for
17698                         them, but I cannot test them.
17699
17700         - Move named directory to src/named-manager
17701         - Make backends directory self-contained
17702
17703 2005-04-06  Dan Williams  <dcbw@redhat.com>
17704
17705         Add debug code for socket/file descriptor leaks.  We register every socket
17706         that we open (except for stuff in dhcpcd/) for tracking, and print out the
17707         list of sockets that we forgot to close on shutdown.  This also consolidates
17708         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
17709
17710 2005-04-06  Dan Williams  <dcbw@redhat.com>
17711
17712         * dhcpcd/dhcpcd.c
17713                 - (dhcp_interface_free): fix a file descriptor leak that may have
17714                         caused network drivers to not unload due to refcounts > 0
17715
17716 2005-04-04  Dan Williams  <dcbw@redhat.com>
17717
17718         * panel-applet/NMWirelessAppletDbus.c
17719                 - (nmwa_dbus_call_nm_method): remove some commented code
17720
17721         * src/NetworkManagerAPList.[ch]
17722                 - (nm_ap_list_remove_ap_by_essid): new function
17723
17724         * src/NetworkManagerDevice.c
17725                 - (nm_device_wireless_force_use): remove access points from the ignore list
17726                         when the user forces them
17727
17728         * src/nm-dbus-device.c
17729                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
17730
17731 2005-04-04  Dan Williams  <dcbw@redhat.com>
17732
17733         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
17734
17735 2005-04-04  Dan Williams  <dcbw@redhat.com>
17736
17737         * src/NetworkManagerDevice.c:
17738                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
17739                         of only erroring after the second consecutive scan times out.  Also
17740                         don't exit when the card requires more time than we can give it, just
17741                         log the event and continue.
17742
17743 2005-04-01  Steve Murphy  <murf@e-tools.com>
17744
17745         * configure.in: Added "rw" to ALL_LINGUAS.
17746
17747 2005-04-01  Dan Williams <dcbw@redhat.com>
17748
17749         Perform scans during device activation, if needed.  Both activation 
17750         and scans run in the same GMainContext.  Therefore, if an access point
17751         is not found by the time the device starts activation, it will not
17752         be available until after activation.  We now try to scan during
17753         activation (in nm_wa_test) every 15s so that all available access
17754         points are more likely to be found and available for the activation
17755         procedure.
17756
17757         Also change nm_wireless_link_state_handle() to only update the "best"
17758         AP if we are not forcing a device and if we are not about to change
17759         state.  This attempts to work around a race when forcing a device,
17760         where the forced AP would get cleared out too soon by the link state
17761         checking timeout in the main thread, and the activation attempt with
17762         that AP would fail.
17763
17764 2005-04-01  Dan Williams <dcbw@redhat.com>
17765
17766         * po/POTFILES.in
17767                 - Update with new translatables
17768
17769 2005-03-31  Dan Williams <dcbw@redhat.com>
17770
17771         * panel-applet/NMWirelessAppletDbus.c
17772                 - Fix device names now that hal has changed device parenting for
17773                         network devices.
17774
17775 2005-03-31  Dan Williams <dcbw@redhat.com>
17776
17777         Tighten up handling of wireless devices that don't support wireless
17778         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17779         hadn't been doing pseudo-scanning for a while either and would just
17780         spin waiting for an access point.  They are now manual devices where
17781         the user must choose the access point from the menu every time.  All
17782         "allowed" access points are listed in the applet's menu regardless
17783         of whether or not they can be seen by the card, since it can't scan
17784         anyway.
17785
17786         * src/NetworkManager.c
17787                 - (nm_wireless_link_state_handle): new function, but only update
17788                         the "best" ap for non-scanning devices when its not activating,
17789                         and when no device is being forced on the card
17790                 - (nm_link_state_monitor): split wireless link state handling out
17791                         into separate function
17792
17793         * src/NetworkManagerDevice.c
17794                 - (nm_device_copy_allowed_to_dev_list): new function
17795                 - (nm_device_new): populate non-scanning cards' AP lists with
17796                         access points from the "allowed" list
17797                 - (nm_device_new): don't start a scanning timeout for devices that
17798                         can't scan
17799                 - (nm_device_activation_schedule_finish): new parameter, should be
17800                         the AP that failed to be connected to, pass it on to the
17801                         activation finish function in NetworkManagerPolicy.c
17802                 - (nm_device_activate_wireless): don't ever try to get a new AP
17803                         for non-scanning devices, just fail.  The user must choose
17804                         a new access point manually.
17805                 - (nm_device_activate): grab the AP that failed connection and
17806                         pass it on
17807                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17808                         a link to it, user must manually choose a new one
17809                 - (nm_device_do_pseudo_scan): remove function
17810                 - (nm_device_wireless_process_scan_results): remove bits for non-
17811                         scanning cards since they never get here
17812                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17813                         and fake the scan list for test devices a bit earlier
17814
17815         * src/NetworkManagerPolicy.c
17816                 - (nm_policy_activation_finish): use the failed_ap that we get
17817                         passed rather than getting the best_ap from the card, which
17818                         may have changed since we were scheduled
17819                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17820                         update their scan list directly from the allowed list when
17821                         we get updates to the allowed list from NetworkManagerInfo
17822
17823         * src/NetworkManagerPolicy.h
17824                 - New member for failed access point in NMActivationResult
17825
17826   -------------------------------------
17827
17828         Driver Notification patch: notifies the user when their driver
17829                 sucks.  Gives them the option to ignore further insertions
17830                 of the card that has the sucky driver.
17831
17832         * NetworkManager.h
17833                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17834                         enum and replace it with NO_CARRIER_DETECT and
17835                         NO_WIRELESS_SCAN
17836
17837         * panel-applet/NMWirelessApplet.[ch]
17838                 - Merge essid.glade -> wireless-applet.glade
17839                 - Implement the "Your driver sucks" notification dialog
17840
17841         * panel-applet/NMWirelessAppletDbus.c
17842                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17843                 - Grab hardware address for each device from NM too
17844                 - Check whether the driver for each device sucks or not whenever
17845                         a new device is noticed
17846
17847         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17848                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17849
17850         * src/NetworkManager.c
17851                 - Fix a double-unref on device removal
17852
17853         * src/NetworkManagerUtils.c
17854                 - Set appropriate driver support level on a device that doesn't
17855                         support scanning or carrier detection
17856
17857         * src/nm-dbus-device.c
17858                 - New "getHWAddress" dbus method on devices
17859                 - getSupportsCarrierDetect -> getDriverSupportLevel
17860
17861 2005-03-31  Dan Williams <dcbw@redhat.com>
17862
17863         * src/NetworkManagerDevice.c
17864                 - (nm_device_wireless_scan): Fix leak of scan results in some
17865                         instances
17866
17867 2005-03-29  Dan Williams <dcbw@redhat.com>
17868
17869         * src/NetworkManager.c
17870                 - (nm_poll_and_update_wireless_link_state): make code less indented
17871
17872         Patch from Bill Moss:
17873         * src/NetworkManager.c
17874                 - (nm_device_update_link_state): Update signal strength on wireless
17875                         devices every time we update link state too.
17876
17877 2005-03-29  Dan Williams <dcbw@redhat.com>
17878
17879         * src/NetworkManagerDevice.c
17880                 - (nm_device_set_essid): Work around Orinoco cards which need
17881                         extra time after setting the ESSID
17882
17883 2005-03-29  Dan Williams <dcbw@redhat.com>
17884
17885         * src/NetworkManagerDevice.c
17886                 - Merge one more bit of Peter Jones' completion patch
17887
17888 2005-03-29  Dan Williams <dcbw@redhat.com>
17889
17890         * src/NetworkManagerDevice.c
17891                 - (nm_device_force_use): Fix possible segfault
17892
17893 2005-03-29  Dan Williams <dcbw@redhat.com>
17894
17895         * src/NetworkManagerDevice.c
17896                 - Use iw_get_ext() where we should rather than iw_set_ext()
17897
17898 2005-03-29  Dan Williams <dcbw@redhat.com>
17899
17900         * src/NetworkManagerDevice.c
17901                 - (nm_device_set_up_down): remove check for unsupported devices
17902                         that caused NM to not bring devices up when they were
17903                         added to the device list.
17904
17905 2005-03-28  Dan Williams <dcbw@redhat.com>
17906
17907         * src/NetworkManagerDevice.c
17908                 - (mdio_read): Fix two bugs that caused all devices to fail
17909                         the MII carrier detection support checks
17910
17911 2005-03-26  Dan Williams <dcbw@redhat.com>
17912
17913         * src/NetworkManagerDevice.c
17914                 - (nm_device_wireless_scan): Remove duplicated scanning code
17915
17916 2005-03-25  Dan Williams <dcbw@redhat.com>
17917
17918         * panel-applet/NMWirelessApplet.c
17919                 - (nmwa_about_cb): Add some more contributors
17920                 - (nmwa_update_state): show the applet when there's no connection
17921                 - Enable the "Stop/Resume all wireless devices" option in the
17922                         context menu
17923                 - New "no connection" icon
17924
17925         * src/NetworkManager.c
17926                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17927                         wireless is disabled or we're asleep
17928
17929         * src/NetworkManagerDHCP.c
17930                 - Remove trailing "\n" on debug messages
17931
17932         * src/NetworkManagerDbus.c
17933                 - (nm_dbus_network_status_from_data): new state "asleep"
17934
17935         * src/NetworkManagerDevice.c
17936                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17937                         latency and wait times for most operations
17938                 - (nm_device_wireless_scan): Don't scan when asleep
17939
17940         * src/NetworkManagerPolicy.c
17941                 - (nm_policy_get_best_device): return no device when asleep
17942                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17943                         for all wireless devices on update, not just active device
17944
17945         * src/NetworkManagerUtils.c
17946                 - Merge Peter Jones' "completion" patch
17947
17948         * src/nm-dbus-nm.c
17949                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17950                         we're told to disable them
17951                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17952
17953         * utils/nm-utils.h
17954                 - New variants of the warn/info/error/debug print functions that can take
17955                         variables rather than static strings
17956
17957 2005-03-24  Dan Williams <dcbw@redhat.com>
17958
17959         * src/NetworkManagerUtils.c
17960                 - (nm_get_device_driver_name): driver names are now on the parents of
17961                         "Network Interface" objects, so look for them there
17962
17963 2005-03-24  Dan Williams <dcbw@redhat.com>
17964
17965         * test/nmtest.c
17966                 - Escape some forgotten object paths before we shove them through dbus
17967
17968 2005-03-24  Dan Williams <dcbw@redhat.com>
17969
17970         * dhcpcd/dhcpcd.[ch]
17971           src/NetworkManagerDHCP.c
17972                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
17973                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
17974
17975         * src/NetworkManagerDbus.c
17976                 - spacing cleanups
17977
17978         * src/nm-dbus-dhcp.c
17979                 - Make the API suck less.  There is now only 1 type of each function,
17980                         ie only "getInteger" and no longer also "getIntegerv".  All types
17981                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
17982                         that will never have more than 1 element.  This should simplify
17983                         things greatly.
17984
17985         * test/nm-dhcp-opt-test.c
17986                 - Make the tool not segfault
17987                 - adapt to new DHCP Options API
17988
17989 2005-03-22  Dan Williams <dcbw@redhat.com>
17990
17991         * src/NetworkManager.c
17992                 - (nm_wired_link_deactivated): actually ignore netlink events from
17993                         wireless devices.
17994
17995 2005-03-22  Dan Williams <dcbw@redhat.com>
17996
17997         * src/NetworkManager.c
17998                 - (nm_wired_link_activated): actually ignore netlink events from
17999                         wireless devices.
18000
18001 2005-03-17  Dan Williams <dcbw@redhat.com>
18002
18003         Patch from Tom Parker:
18004         * src/nm-netlink-monitor.c
18005                 - Include unistd.h
18006         * info-daemon/NetworkManagerInfoDbus.c
18007                 - (nmi_dbus_update_network_auth_method): free GConf values
18008
18009         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
18010         * src/NetworkManagerDevice.c
18011                 - (nm_device_set_wireless_config): wait for successful
18012                         association longer for some cards (Atheros a/b/g)
18013
18014 2005-03-15  Ray Strode  <rstrode@redhat.com>
18015
18016         * src/NetworkManager.c:
18017         (sigterm_pipe_handler):
18018         remove bogus FIXME
18019
18020 2005-03-15  Ray Strode  <rstrode@redhat.com>
18021
18022         * src/NetworkManagerDbus.c:
18023         Fix some sign weirdness that gcc4 doesn't like,
18024         and add a header file so PPC can hopefully find
18025         SIGTRAP
18026
18027 2005-03-14  Ray Strode  <rstrode@redhat.com>
18028         
18029         Fourth (probably working) cut at porting to
18030         dbus 0.30 api and new hal. This cut adds
18031         some new logging macros to make debugging
18032         easier.
18033
18034         * dispatcher-daemon/NetworkManagerDispatcher.c:
18035         * info-daemon/NetworkmanagerInfo.c:
18036         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
18037         * info-daemon/NetworkManagerInfoVPN.c:
18038         * src/NetworkManager.c:
18039         * src/NetworkManagerAP.c:
18040         * src/NetworkManagerAPList.c:
18041         * src/NetworkManagerDHCP.c:
18042         * src/NetworkManagerDbus.c:
18043         * src/NetworkManagerDevice.c:
18044         * src/NetworkManagerPolicy.c:
18045         * src/NetworkManagerSystem.c:
18046         * src/NetworkManagerUtils.c:
18047         * src/NetworkManagerWireless.c:
18048         * src/autoip.c:
18049         * src/nm-dbus-nm.c:
18050         * src/backends/NetworkManagerDebian.c:
18051         * src/backends/NetworkManagerGentoo.c:
18052         * src/backends/NetworkManagerRedHat.c:
18053         * src/backends/NetworkManagerSlackware.c:
18054         use new logging macros.
18055
18056         * dispatcher-daemon/NetworkManagerDispatcher.c:
18057         (nmd_dbus_filter): s/dbus_free/g_free/
18058
18059         * info-daemon/Makefile.am: link in utils library.
18060         * info-daemon/NetworkmanagerInfo.c: use new logging 
18061         macros.
18062         (nmi_dbus_get_network): don't assume enumerations
18063         are 32-bit.
18064         (nmi_dbus_nmi_message_handler): don't free what 
18065         doesn't belong to us.
18066
18067         * libnm_glib/libnm_glib.c:
18068         (libnm_glib_get_nm_status): 
18069         (libnm_glib_init): don't free what doesn't
18070         belong to us.
18071         (libnm_glib_dbus): strdup result, so it doesn't get
18072         lost when message is unref'd.
18073
18074         * panel-applet/NMWirelessAppletDbus.c:
18075         (nmwa_dbus_update_devices): s/dbus_free/g_free/
18076
18077         * src/NetworkManager.c:
18078         (nm_monitor_wired_link_state): request initial status 
18079         dump of all cards when we start up, instead of relying
18080         on /sys/.../carrier.
18081         (nm_info_handler), (nm_set_up_log_handlers): 
18082         log handlers to specify what syslog priorites 
18083         the logging macros default to.
18084
18085         * src/NetworkManagerAPList.c: 
18086         (nm_ap_list_populate_from_nmi):
18087         s/dbus_free_string_array/g_strfreev/
18088
18089         * src/NetworkManagerDbus.c:
18090         (nm_dbus_get_network_object):
18091         validate d-bus message argument types.
18092         Advance message iterator after reading argument,
18093         prepend instead of append to GSList.
18094
18095         * src/NetworkManagerDevice.c:
18096         (nm_device_probe_wired_link_status):
18097         remove redundant /sys in /sys path. remove wrong
18098         contents == NULL means has carrier assumption.
18099
18100         * src/nm-netlink-monitor.c 
18101         (nm_netlink_monitor_request_status): implement
18102         function to ask kernel to dump interface link
18103         status over netlink socket.
18104
18105         * test/*.c: s/dbus_free/g_free/
18106
18107         * utils/nm-utils.h:
18108         (nm_print_backtrace): new macro to print backtrace.
18109         (nm_get_timestamp): new macro to get sub-second precise
18110         unix timestamp.
18111         (nm_info), (nm_debug), (nm_warning), (nm_error):
18112         new logging functions. nm_info just prints,
18113         nm_debug includes timestamp and function,
18114         nm_warning includes function, nm_error includes
18115         backtrace and sigtrap.
18116
18117 2005-03-11  Ray Strode  <rstrode@redhat.com>
18118
18119         Third (unfinished, partially working) cut at porting to 
18120         dbus 0.30 api and new hal.
18121
18122         * info-daemon/NetworkManagerInfoDbus.c:
18123                 don't free null arrays.
18124
18125         * panel-applet/NMWirelessAppletDbus.c: 
18126         * src/nm-dbus-device.c:
18127         * src/nm-dbus-net.c: 
18128         * src/NetworkManagerDbus.c: more 
18129         STRING -> OBJECT_PATH fun
18130         * src/NetworkManagerDevice.c:
18131         * src/NetworkManagerDevice.h:
18132         (rename nm_device_get_link_active): rename to 
18133         nm_device_has_active_link
18134         (nm_device_wireless_link_active): rename to
18135         nm_device_probe_wireless_link_state
18136         (nm_device_wired_link_active): rename to
18137         nm_device_probe_wired_link_state.  Rewrite to
18138         use carrier file since hal doesn't maintain
18139         link state anymore.
18140         (nm_device_update_link_active): rename to
18141         nm_device_update_link_state
18142         * src/NetworkManagerPolicy.c 
18143           (nm_policy_activation_finish): check for NULL
18144           MAC address.
18145
18146         * src/Makefile.am:
18147         * src/NetworkManagerMain.h: 
18148         * src/NetworkManager.c:
18149         * src/nm-netlink-monitor.c:
18150         * src/nm-netlink-monitor.h: New class to support
18151         monitoring wired ethernet link status, since HAL
18152         doesn't export that information anymore.
18153
18154 2005-03-09  Ray Strode  <rstrode@redhat.com>
18155
18156         Second (unfinished, unworking) cut at porting to 
18157         dbus 0.30 api.
18158
18159         * dispatcher-daemon/NetworkManagerDispatcher.c:
18160         * info-daemon/NetworkManagerInfoDbus.c:
18161         * panel-applet/NMWirelessAppletDbus.c:
18162         * src/NetworkManagerDbusUtils.c:
18163         * src/NetworkManagerDbusUtils.h:
18164         * src/nm-dbus-device.c:
18165         * src/nm-dbus-nm.c:
18166         * test/nmtest.c: support dbus "object path" type
18167
18168         * configure.in: 
18169         * Makefile.am:
18170         * info-daemon/Makefile.am:
18171         * libnm_glib/Makefile.am:
18172         * panel-applet/Makefile.am:
18173         * dispatcher-daemon/Makefile.am
18174         * src/Makefile.am:
18175         * test/Makefile.am:
18176         * utils/Makefile.am: 
18177         * utils/nm-utils.c: 
18178         * utils/nm-utils.h: new utils static lib
18179
18180 2005-03-07  Ray Strode  <rstrode@redhat.com>
18181
18182         * info-daemon/NetworkManagerInfoDbus.c:
18183         * libnm_glib/libnm_glib.c:
18184         * panel-applet/NMWirelessAppletDbus.c:
18185         * src/NetworkManager.c:
18186         * src/NetworkManagerDbus.c:
18187         * src/NetworkManagerDevice.c:
18188         * src/NetworkManagerUtils.c:
18189         * src/nm-dbus-device.c:
18190         * src/nm-dbus-dhcp.c:
18191         * src/nm-dbus-net.c:
18192         * src/nm-dbus-nm.c:
18193         * test/nminfotest.c:
18194         First (unfinished, unworking) cut at porting to dbus 0.30 api.
18195
18196 2005-03-04  Dan Williams  <dcbw@redhat.com>
18197
18198         * configure.in
18199                 - Mark HEAD as 0.4
18200
18201 2005-03-04  Dan Williams  <dcbw@redhat.com>
18202
18203         Patch from Peter Jones:
18204         - Make stuff work with gcc 4.0
18205
18206 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
18207
18208         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
18209
18210 2005-02-27  Jim Huang  <jserv@kaffe.org>
18211
18212         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
18213
18214 2005-02-27  Dan Williams  <dcbw@redhat.com>
18215
18216         Patch from Bill Moss:
18217         * panel-applet/NMWirelessAppletDbus.c
18218                 - Make sure strength for current access point is up-to-date when we
18219                         update the gui data model
18220
18221 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
18222
18223         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
18224
18225 2005-02-27  Dan Williams  <dcbw@redhat.com>
18226
18227         * src/backends/NetworkManagerRedHat.c
18228                 - (nm_system_init): Kill any dhclient processes lying around as well
18229                         as stopping 'nifd' if its already been started.  NetworkManager
18230                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
18231
18232 2005-02-27  Dan Williams  <dcbw@redhat.com>
18233
18234         * panel-applet/NMWirelessApplet.c
18235                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
18236                         dbus data model, not the GUI data model twice.
18237
18238 2005-02-27  Dan Williams  <dcbw@redhat.com>
18239
18240         * panel-applet/NMWirelessApplet.[ch]
18241           panel-applet/NMWirelessAppletDbus.[ch]
18242                 - Move to incremental network updates.  Instead of blowing away our list
18243                         of devices every time we get a signal from NetworkManager, we now
18244                         incrementally add/remove networks when NetworkManager notifies us that
18245                         a new network has appeared or disappered.  Strength updates now happen
18246                         on-the-fly for each access point as well.  There are now two copies of
18247                         data from NetworkManager: one for the dbus side, and one for the gui side.
18248                         When the dbus side data is modified, it is copied over to the gui side
18249                         so we don't have to hold the data_mutex for long periods of time (and
18250                         therefore block animation of the applet's icon).
18251                 - Clean up some memleaks too
18252
18253         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18254                 - Minor code beautification
18255
18256         * src/NetworkManagerAPList.c
18257                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
18258                         completely new and whether or not an existing one's strength was updated.
18259                         Try to fix multiple access points and signal strength by using the highest
18260                         signal strength in each scan for any given ESSID.
18261
18262         * src/NetworkManagerDbus.[ch]
18263                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
18264                         wireless networks; now we have only WirelessNetworkUpdate which includes
18265                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
18266                 - Kill usage of DbusMessageIter
18267
18268         * src/NetworkManagerDevice.c
18269                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
18270                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
18271                         AP rather than all-at-once.  Also don't ever remove the AP a card is
18272                         currently associated with from the network list.
18273                 - Update for new signals during scan, send out Appeared, Disappeared, or
18274                         StrengthChanged when necessary.
18275
18276 2005-02-25  Dan Williams  <dcbw@redhat.com>
18277
18278         * README
18279                 - Line break the README
18280
18281 2005-02-25  Dan Williams  <dcbw@redhat.com>
18282
18283         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18284                 - Remove usage of gtk_window_set_default_size()
18285
18286         * panel-applet/essid.glade
18287                 - Stick default size here
18288                 - Add in random crap that current glade wants to add in now
18289
18290 2005-02-25  Dan Williams  <dcbw@redhat.com>
18291
18292         * src/backends/NetworkManagerRedHat.c
18293                 - For non-caching-nameserver/non-named case, ensure that nscd is running
18294                         and that we actually tell nscd to reload the hosts cache when it changes
18295
18296 2005-02-25  Dan Williams  <dcbw@redhat.com>
18297
18298         * info-daemon/NetworkManagerInfoDbus.c
18299                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
18300
18301         * test/nminfotest.c
18302                 - Whack usage of DbusMessageIter
18303                 - Clean up DbusError and DbusMessage handling and freeing
18304                 - Remove unused unregister handler
18305
18306         * test/nmtest.c
18307                 - Whack usage of DbusMessageIter
18308
18309         * test/nmtestdevices.c
18310                 - Whack usage of DbusMessageIter
18311
18312 2005-02-25  Dan Williams  <dcbw@redhat.com>
18313
18314         * NetworkManager.h
18315                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
18316                         signal
18317
18318 2005-02-25  Dan Williams  <dcbw@redhat.com>
18319
18320         * named/nm-named-manager.c
18321                 - Ensure that pid and watch variables for child named process get cleared out
18322                         when the child goes away.
18323
18324 2005-02-22  Dan Williams  <dcbw@redhat.com>
18325
18326         * src/NetworkManagerPolicy.c
18327                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
18328                         and NULL out data->active_device so that we have to choose another one.
18329                         This may make NetworkManager keep attempting to connect to a wired network
18330                         if it fails, but if it keeps failing the wired network has more problems than
18331                         just NetworkManager.
18332
18333         * src/backends/NetworkManagerRedHat.c
18334                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
18335                         is already running
18336
18337         * named/nm-named-manager.c
18338                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
18339                         named so that the distro can flush whatever name service caching
18340                         daemon it uses
18341
18342 2005-02-21  Dan Williams  <dcbw@redhat.com>
18343
18344         * src/NetworkManagerDHCP.[ch]
18345                 - (nm_device_dhcp_remove_timeouts): new function
18346
18347         * src/NetworkManagerDevice.c
18348                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
18349                         remove the DHCP timeouts.
18350
18351 2005-02-21  Dan Williams  <dcbw@redhat.com>
18352
18353         * panel-applet/NMWirelessApplet.[ch]
18354           panel-applet/menu-info.[ch]
18355                 - Give the panel applet some major love: menu items are no longer
18356                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
18357                         This allows the applet to actually reflect theme changes correctly,
18358                         since themeing of subclassed items in GTK _sucks_.
18359
18360 2005-02-18  Dan Williams  <dcbw@redhat.com>
18361
18362         * libnm_glib/libnm_glib.[ch]
18363           test/libnm_glib_test.c
18364                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
18365                         and its data, and doesn't have to free the callback data anymore
18366
18367 2005-02-18  Dan Williams  <dcbw@redhat.com>
18368
18369         * panel-applet/NMWirelessApplet.c
18370                 - Revert 2005-02-18 William Jon McCann fix for standard
18371                         copyright string until it passes 'make distcheck'.
18372                         With standard copyright string, xgettext complains
18373                         about "Non-ASCII string at ...".
18374
18375 2005-02-18  Dan Williams  <dcbw@redhat.com>
18376
18377         * panel-applet/essid.glade
18378           panel-applet/NMWirelessAppletOtherNetworksDialog.c
18379                 - Correct spelling of "adaptor"->"adapter"
18380
18381 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18382
18383         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
18384         (nmwa_about_cb): Use standard copyright string.  Update comment
18385         text to reflect that it is a notification area applet.  Remove
18386         leading newline in authors list.
18387         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
18388         instead of on parent menu item activation.  Fixes #167550.
18389
18390 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18391
18392         * panel-applet/essid.glade: Capitalize items as per HIG.
18393           Fixes #167632
18394
18395 2005-02-16  William Jon McCann  <mccann@jhu.edu>
18396
18397         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
18398         files for GTK 2.4 or lower, since now public in GTK 2.6.
18399
18400         * panel-applet/essid.glade: Don't specify window size.
18401         
18402 2005-02-17  Dan Williams  <dcbw@redhat.com>
18403
18404         Caught by Bill Moss:
18405         * dhcpcd/client.c
18406                 - Time remaining for DHCP transaction calculation was incorrectly
18407                         inside a #ifdef DEBUG
18408
18409 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
18410
18411         * configure.in: Added fr (French) to ALL_LINGUAS.
18412
18413 2005-02-14  Dan Williams  <dcbw@redhat.com>
18414
18415         * src/NetworkManagerDHCP.c
18416                 - (set_domain_searches): Fix free of invalid pointer
18417
18418 2005-02-14  Dan Williams  <dcbw@redhat.com>
18419
18420         Patch from Peter Jones:
18421         * dhcpcd/client.c
18422                 - Ensure we return RET_DHCP_CEASED everywhere we should
18423         * dhcpcd/udpipgen.c
18424                 - Use faster TOS for IP packets
18425                 - Don't set ip_id since we're UDP
18426
18427         Patch from Tomislav Vujec:
18428         * src/nm-dbus-dhcp.c
18429           test/nm-dhcp-opt-test.c
18430                 - Clean up warnings to enable cvs tree compilation.
18431
18432 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
18433
18434         * configure.in
18435           po/hr.po
18436                 - Add the Croatian locale.
18437
18438 2005-02-14  Colin Walters  <walters@verbum.org>
18439
18440         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
18441         list of domains to search.
18442         
18443         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
18444
18445 2005-02-13  Dan Williams  <dcbw@redhat.com>
18446
18447         * dhcpcd/client.c
18448                 - Debug output cleanups of DHCP option printing and parsing.
18449
18450 2005-02-13  Dan Williams  <dcbw@redhat.com>
18451
18452         Patch from Dan Reed:  DHCP options D-BUS API
18453                 Exposes the DHCP options that a device receives to clients over D-BUS.
18454
18455         * configure.in
18456                 - A few cleanups
18457
18458         * dhcpcd/client.h
18459                 - Correct names, option length, and types for DHCP options
18460
18461         * dhcpcd/dhcpcd.[ch]
18462                 - Clarify function names that access DHCP options & data
18463
18464         * src/NetworkManagerDHCP.c
18465                 - Use new DHCP data access functions
18466
18467         * src/NetworkManagerDbus.c
18468                 - Message handler for DHCP functions
18469
18470         * src/nm-dbus-dhcp.[ch] (new)
18471                 - DHCP dbus methods
18472
18473         * test/nm-dhcp-opt-test.c
18474                 - Test DHCP D-BUS API and return all present DHCP options
18475
18476 2005-02-12  Dan Williams  <dcbw@redhat.com>
18477
18478         * test/Makefile.am
18479           test/nmclienttest.c
18480           test/nmtest.c
18481                 - Move nmclienttest.c -> nmtest.c
18482
18483 2005-02-12  Dan Williams  <dcbw@redhat.com>
18484
18485         * dhcpcd/buildmsg.c
18486                 - Pad DHCP packets until they are at least 300 bytes in size.
18487
18488 2005-02-11  Dan Williams  <dcbw@redhat.com>
18489
18490         * dhcpcd/client.c
18491                 - (dhcp_init): only print out client ID and class ID if they are specified
18492
18493         * src/NetworkManagerDbus.[ch]
18494           src/nm-dbus-nm.[ch]
18495           src/nm-dbus-device.[ch]
18496           src/nm-dbus-net.[ch]
18497                 - Move NM, Device, and Net functions to separate files and use the
18498                         dbus method list stuff in NetworkManagerDbusUtils.c to do
18499                         method dispatching
18500
18501         * src/NetworkManagerDbusUtils.c
18502                 - Add new validate_method called before each dispatch (if present)
18503                         that can validate the method call
18504
18505         * src/NetworkManagerWireless.c
18506                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
18507                         levels never to be evaluated
18508
18509         Patch from j@bootlab.org
18510         * src/NetworkManagerDevice.c
18511                 - Add typedef for "u64"
18512
18513         * src/backends/NetworkManagerDebian.c
18514                 - Copy in Dave Woodhouse's fixes for IPv6
18515
18516 2005-02-11  Dan Williams  <dcbw@redhat.com>
18517
18518         Patch from Dave Woodhouse for IPv6:
18519         * src/NetworkManagerUtils.c
18520                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
18521                         and multicast addresses
18522
18523         * src/NetworkManagerDevice.c
18524                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
18525                         after bringing up a card.
18526
18527 2005-02-10  Dan Williams  <dcbw@redhat.com>
18528
18529         Patch from Dave Woodhouse:
18530         * src/NetworkManagerSystem.h
18531           src/backends/NetworkManagerDebian.c
18532           src/backends/NetworkManagerGentoo.c
18533           src/backends/NetworkManagerSlackware.c
18534                 - New nm_system_device_add_ip6_link_address() function to add link-local
18535                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
18536
18537         * src/backends/NetworkManagerRedHat.c
18538                 - (nm_system_device_add_ip6_link_address): implement
18539                 - (nm_system_device_flush_addresses): revert to previous behavior of
18540                         flushing all addresses
18541
18542 2005-02-10  Dan Williams  <dcbw@redhat.com>
18543
18544         Patch from Tom Parker:
18545         * src/NetworkManagerDevice.c
18546                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
18547                         mii.h headers are broken, and instead use our own typedefs
18548
18549 2005-02-10  Dan Williams  <dcbw@redhat.com>
18550
18551         * dhcpcd/buildmsg.c
18552                 - (fill_host_and_class_id): only fill in client and class IDs if
18553                         they are set by callers.
18554
18555         * dhcpcd/client.c
18556                 - (class_id_setup): don't autogenerate a class ID, only use one
18557                         we're given, if any.
18558                 - (client_id_setup): don't autogenerate a client ID, only use one
18559                         we're given, if any.
18560
18561         * dhcpcd/dhcpcd.c
18562                 - (dhcp_interface_init): ensure that client options are correctly
18563                         NULL terminated
18564
18565         * src/NetworkManagerDHCP.c
18566                 - (nm_device_dhcp_request): pass hostname to dhcp library
18567
18568 2005-02-10  Dan Williams  <dcbw@redhat.com>
18569
18570         * dhcpcd/client.c
18571                 - #rh147661# Don't send kernel version in DHCP requests
18572
18573         * src/NetworkManagerSystem.h
18574           src/backends/NetworkManagerDebian.c
18575           src/backends/NetworkManagerGentoo.c
18576           src/backends/NetworkManagerRedHat.c
18577           src/backends/NetworkManagerSlackware.c
18578                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
18579                         functions, they are no longer used anyway
18580
18581         * src/backends/NetworkManagerRedHat.c
18582                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
18583                         addresses in an attempt to keep IPv6 local-scope addresses around
18584
18585 2005-02-10  Dan Williams  <dcbw@redhat.com>
18586
18587         * src/NetworkManager.c
18588                 - (nm_create_device_and_add_to_list): change the add message slightly
18589
18590         * src/NetworkManagerUtils.c
18591                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
18592                         Return driver name to calling function
18593                 - (nm_get_driver_support_level): print out the driver a device is using
18594                         during the support check
18595
18596         Patch from Dave Woodhouse:
18597         * dhcpcd/udpipgen.c
18598                 - (in_cksum): copy last byte of odd-sized packets into a
18599                         'u_short' rather than a 'u_char', should fix wrong checksums
18600                         on big-endian platforms
18601
18602 2005-02-09  Dan Williams  <dcbw@redhat.com>
18603
18604         * Clean up usage of GSList objects and looping through their members
18605         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
18606                 now.
18607         * Fix problem where even if scanning was turned off, card would still
18608                 cycle through frequencies.
18609
18610 2005-02-08  Dan Williams  <dcbw@redhat.com>
18611
18612         * panel-applet/NMWirelessApplet.c
18613                 - Fix for gtk 2.4
18614
18615 2005-02-08  Dan Williams  <dcbw@redhat.com>
18616
18617         Patch from Bill Moss
18618         * panel-applet/NMWirelessApplet.c
18619                 - Restore correct ESSID in tooltips
18620
18621 2005-02-07  Dan Williams  <dcbw@redhat.com>
18622
18623         * panel-applet/NMWirelessApplet.[ch]
18624                 - Add a context menu that contains:
18625                         Pause/Resume Wireless Scanning
18626                         Stop/Start All Wireless Devices
18627                         About...
18628                 - Grab active device strength off active device,
18629                         not its network
18630
18631         * panel-applet/NMWirelessAppletDbus.[ch]
18632                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
18633                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
18634                 - Update active device strength every 2 seconds, not every 1 second
18635
18636         * panel-applet/menu-info.c
18637                 - Only disable wired devices in the menu when they support carrier detection,
18638                         and don't currently have a link.  Non-carrier-detect devices will always
18639                         remain choosable
18640
18641         * src/Makefile.am
18642           src/NetworkManagerDbusUtils.[ch]
18643                 - Add new new dbus utils sources
18644
18645         * src/NetworkManager.c
18646                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
18647                         with the boolean parameter
18648                 - Set scanning_enabled & wireless_enabled to TRUE
18649
18650         * src/NetworkManagerDbus.c
18651                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
18652                 - Implement scanning & wireless enable/disable calls
18653                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
18654
18655         * src/NetworkManagerDevice.c
18656                 - New link detection stuff again...
18657                         o  Create device's mainloop earlier (but don't run it earlier)
18658                         o  Hook up new carrier-detect support stuff
18659                         o  Add in the ethtool & mii support detection code
18660                 - Don't scan if scanning is disabled
18661
18662         * src/NetworkManagerPolicy.c
18663                 - Never automatically choose a device that doesn't support carrier detection
18664                 - Don't automatically choose a wireless device if wireless is disabled
18665
18666 2005-02-07  Dan Williams  <dcbw@redhat.com>
18667
18668         * libnm_glib/libnm_glib.c
18669                 - Small cleanup in element list iteration
18670
18671 2005-02-07  Dan Williams  <dcbw@redhat.com>
18672
18673         * src/NetworkManagerWireless.c
18674                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
18675                         to be in line with the WEXT quality specification
18676
18677 2005-02-02  Dan Williams  <dcbw@redhat.com>
18678
18679         Patch from Nathan Fredrickson <nathan@silverorange.com>
18680         * Fix up compile for deprecation of libgnomeui
18681                 - Switch to <glib/gi18n.h> from <libintl.h>
18682                 - Remove <libgnomeui/libgnomeui.h> includes
18683                 - Use gtk_window_set_default_icon_from_file() rather than
18684                         gnome_window_set_default_icon_from_file()
18685
18686         * named/nm-named-manager.c
18687                 - (generate_named_conf): Fix return-nothing in non-void
18688                         function
18689
18690 2005-02-02  Dan Williams  <dcbw@redhat.com>
18691
18692         * Clean up unused variables and the like
18693
18694 2005-02-02  Dan Williams  <dcbw@redhat.com>
18695
18696         * src/NetworkManagerAPList.c
18697                 - (nm_ap_list_merge_scanned_ap): merge strength too
18698
18699         * src/NetworkManagerUtils.c
18700                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
18701                         of locking issues by printing out prettier information than g_mutex_lock
18702                 - Print out names of mutexes registered with nm_register_mutex_desc()
18703                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
18704                         us to seemingly block here for too long
18705
18706         * src/NetworkManager.c
18707           src/NetworkManagerAPList.c
18708           src/NetworkManagerDevice.c
18709                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
18710                         so we get better debug information printed
18711
18712         * src/NetworkManagerDbus.c
18713                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
18714                         since it sometimes has locking side effects
18715                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
18716                         from 10s
18717                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
18718                         we don't need a switch.  This gets called often enough that we can't block
18719                         until the scan mutex is acquired, because we'll block on device activation
18720                         and a few other things, which hangs main thread for too long.
18721
18722         * src/NetworkManagerPolicy.c
18723                 - (nm_policy_auto_get_best_device): reduce the possiblity that
18724                         nm_device_need_ap_switch() will be called               
18725
18726 2005-02-02  Dan Williams  <dcbw@redhat.com>
18727
18728         * panel-applet/NMWirelessApplet.c
18729                 - Display name of wireless network we are connecting to or connected to
18730                         in the tooltip of the applet
18731
18732 2005-02-02  Dan Williams  <dcbw@redhat.com>
18733
18734         * src/NetworkManagerDHCP.c
18735                 - Hopefully fix double-default-route problem by cleaning up the default
18736                         route added by DHCP code right before the DHCP transaction begins
18737
18738 2005-02-02  Dan Williams  <dcbw@redhat.com>
18739
18740         * named/nm-named-manager.c
18741                 - Write out valid resolv.conf when we exit
18742
18743 2005-02-01  Dan Williams  <dcbw@redhat.com>
18744
18745         Patch from Colin Walters:
18746         * named/nm-named-manager.c
18747                 - Make multi-domain search options work
18748
18749 2005-01-31  Dan Williams  <dcbw@redhat.com>
18750
18751         * info-daemon/NetworkManagerInfoDbus.c
18752                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
18753
18754         * src/NetworkManagerDevice.c
18755                 - (nm_device_new): Don't store the entire range struct, use only what we need
18756                         (which is currently avg_quality, max_quality, and frequencies).  Also
18757                         zero device structure when we've free'd it to maybe expose errors down
18758                         the line.
18759                 - (nm_device_update_signal_strength): grab the scan mutex before getting
18760                         quality data from the card since quality will be useless during a scan.
18761                         Call updated wireless qual-to-percent function with values stored in
18762                         nm_device_new() earlier.
18763                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18764                         nm_device_get_bad_crypt_packets())
18765                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18766                         nm_device_new()
18767                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18768                         list if available.  Problem was this: when the WEP key is wrong, NM will
18769                         try OS then SK modes, and then get stuck in SK mode after that.  This
18770                         should reset it.
18771                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18772                         function
18773
18774         * src/NetworkManagerWireless.c
18775                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18776                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18777                         if that's all present, otherwise fall back to signal-to-noise ratios.
18778
18779 2005-01-29  Dan Williams  <dcbw@redhat.com>
18780
18781         * initscript/RedHat/NetworkManager
18782                 - Don't spit out sysctl stuff to console
18783
18784         * libnm_glib/libnm_glib.c
18785                 - (libnm_glib_init): call dbus_g_thread_init()
18786
18787         * panel-applet/NMWirelessAppletDbus.c
18788                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18789
18790         * src/NetworkManager.c
18791                 - (main): call dbus_g_thread_init()
18792
18793         * src/NetworkManagerAPList.c
18794                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18795                         so we can actually see what's there in a normal syslog
18796
18797         * src/NetworkManagerDevice.c
18798                 - (nm_device_activate_wireless): print out the "waiting for access point"
18799                         message only once, then say what access point we actually got after
18800                         the wait.
18801                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18802                         function, wait until the scan is done.  Scans may change the ESSID of
18803                         the card, making this function think we need to switch access points
18804                 - (nm_device_wireless_process_scan_results): for artificial access points
18805                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18806                         prevents collisions with the scanning code, which may change the card's
18807                         ESSID and cause the access point to get dropped from the device's AP
18808                         list.  Also increase the keep-around time to 2m from 60s since the max
18809                         scan interval could be 60s in some cases.
18810
18811         * src/NetworkManagerPolicy.c
18812                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18813                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18814                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18815                         between NM and NMI.
18816
18817 2005-01-27  Dan Williams  <dcbw@redhat.com>
18818
18819         * info-daemon/NetworkManagerInfoDbus.c
18820                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18821                         GConf, make a minimal entry for it (essid & timestamp)
18822
18823         * src/NetworkManagerAPList.c
18824                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18825                         NetworkManagerInfo isn't running
18826
18827         * src/NetworkManagerDbus.[ch]
18828                 - (nm_dbus_nmi_is_running): new function
18829
18830         * src/NetworkManagerDevice.c
18831                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18832                         address to garbage.
18833
18834         * src/NetworkManagerPolicy.c
18835                 - (nm_policy_activation_finish): On successful activation, make sure
18836                         the "best" AP has a MAC address, and don't tell NMI to add the
18837                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18838                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18839                         access point after refreshing our allowed list if it doesn't already
18840                         have a "best" access point.
18841
18842 2005-01-25  Dan Williams  <dcbw@redhat.com>
18843
18844         * panel-applet/NMWirelessAppletDbus.c
18845                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18846                         so we check for NM_DBUS_SERVICE rather than not for it
18847
18848         * libnm_glib/libnm_glib.c
18849                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18850                         ServiceOwnerChanged signal
18851
18852 2005-01-25  Dan Williams  <dcbw@redhat.com>
18853
18854         * configure.in
18855                 - Check DBUS version in configure, and set the C macros
18856                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18857
18858         * info-daemon/NetworkManagerInfoDbus.c
18859                 - Remove #if 0-d section of code that quit NMI if NM went away.
18860
18861         * panel-applet/NMWirelessAppletDbus.c
18862                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18863
18864         * src/NetworkManager.c
18865           src/NetworkManagerMain.h
18866           src/NetworkManagerDbus.c
18867                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18868                 - Make updating of our Allowed Wireless Network lists from NMI
18869                         an idle function in the main thread now, with a high priority.
18870
18871 2005-01-24  Dan Williams  <dcbw@redhat.com>
18872
18873         * panel-applet/gtkcellview.[ch]
18874           panel-applet/menu-info.c
18875                 - Fix GTK version checks to be <= rather than <
18876
18877         * test/Makefile.am
18878                 - Include the libtool archive of libnm_glib rather than
18879                         trying to pull in the .so
18880
18881 2005-01-24  Dan Williams  <dcbw@redhat.com>
18882
18883         * src/NetworkManagerDevice.c
18884           src/NetworkManagerDevicePrivate.h
18885                 - Block nm_device_new() until our device's worker thread has had a
18886                         chance to start up.  Fixes a race between main thread and worker
18887                         thread starting that caused activation requests to get lost.
18888
18889 2005-01-24  Dan Williams  <dcbw@redhat.com>
18890
18891         * initscript/RedHat/NetworkManager
18892                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18893                         to add the NM startup script at priority 50, which was
18894                         way too early
18895
18896 2005-01-24  Colin Walters  <walters@redhat.com>
18897
18898         * named/named.conf: Use any port for query source instead of
18899         restricting to port 53.
18900
18901 2005-01-24  Dan Williams  <dcbw@redhat.com>
18902
18903         * initscript/RedHat/NetworkManager
18904                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18905                         to add the NM startup script at priority 50, which was
18906                         way too early
18907
18908 2005-01-24  Dan Williams  <dcbw@redhat.com>
18909
18910         Patch from Tom Parker <palfrey@tevp.net>
18911         * Fix up compile warnings & errors in the wireless applet
18912
18913 2005-01-24  Dan Williams  <dcbw@redhat.com>
18914
18915         * panel-applet/NMWirelessApplet.c
18916                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18917
18918 2005-01-24  Dan Williams  <dcbw@redhat.com>
18919
18920         * panel-applet/gtkcellview.[ch]
18921                 - Only compile these files for GTK 2.4 or lower, since 
18922                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18923                         when choosing "Other Wireless Networks" from the panel
18924                         applet menu
18925
18926 2005-01-21  Dan Williams  <dcbw@redhat.com>
18927
18928         * src/NetworkManager.c
18929                 - Daemonize earlier so that glib doesn't get confused (?)
18930
18931 2005-01-21  Dan Williams  <dcbw@redhat.com>
18932
18933         * panel-applet/NMWirelessApplet.[ch]
18934           panel-applet/NMWirelessAppletDbus.c
18935           panel-applet/menu-info.c
18936           src/NetworkManagerDevice.c
18937                 - Disable wired devices in the menu when they have no link.
18938
18939 2005-01-21  Dan Williams  <dcbw@redhat.com>
18940
18941         * Cache last-known-good wireless authentication method in
18942                 NetworkManagerInfo, and use that method first during
18943                 wireless device activation.  Should speed up devices that
18944                 need Shared Key authentication method since Open System is
18945                 now the default.
18946
18947         * Remove the hack to not do full activation on wired connections
18948                 that are active when we launch, it causes too many problems
18949                 with name resolution and was a hack in the first place.
18950
18951         * Re-work wireless device activation again somewhat to have a
18952                 clearer chain of events and to use last-known-good
18953                 authentication method of the access point.  Also provide
18954                 better status throughout activation to ensure the applet
18955                 can tell the user exactly what's going on.
18956
18957         * Remove the "find wireless network" code and now simply attempt
18958                 to activate with that access point.  This reduces the delay
18959                 between selecting "Other wireless Network" and actually
18960                 connecting to that network.
18961
18962         * Correctly stop the device's worker thread when its removed.
18963
18964 2005-01-21  Dan Williams  <dcbw@redhat.com>
18965
18966         * dhcpcd/client.c
18967                 - Clean up some of the debug messages
18968
18969 2005-01-21  Dan Williams  <dcbw@redhat.com>
18970
18971         * Add new icons, more frames of animation
18972         * Remove some hacks to get the panel applet to display correct
18973                 status, an NM update will soon follow that will fix the
18974                 real issue.
18975
18976 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
18977
18978         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
18979         the first include for working i18n. Also, don't include it in .h files
18980         * panel-applet/NMWirelessApplet.h: Same
18981         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
18982         * panel-applet/menu-info.c: Same
18983
18984 2005-01-18  Dan Williams <dcbw@redhat.com>
18985
18986         * dhcpcd/client.c
18987                 - Remove some debug messages
18988                 - Wrap others in #ifdef DEBUG/#endif
18989
18990         * src/NetworkManager.c
18991                 - Remove some debug messages
18992                 - Clarify some debug messages
18993                 - Remove code related to old single-thread wireless scanning
18994
18995         * src/NetworkManagerAP.[ch]
18996                 - New AP property "last_seen" to track how recently an AP was
18997                         found in a scan
18998                 - Start using 'const' more in function arguments
18999
19000         * src/NetworkManagerAPList.[ch]
19001                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
19002                         of an AP found in an AP list from a source AP, or if not found
19003                         in the list add the source AP
19004                 - (nm_ap_list_combine): remove, no longer needed
19005
19006         * src/NetworkManagerDevice.c
19007                 - Each device now has a "worker" thread from start to end of its life.
19008                         Scanning for wireless devices now happens in that thread,
19009                         not in a single "wireless scanning thread" for all devices as
19010                         previously.  Activation consists of adding an idle handler to the
19011                         thread's main loop/context, which gets run at the next available
19012                         opportunity.
19013                 - Wireless scanning is also simplified, there is now only one list of
19014                         access points per wireless device, and APs older than 60s are
19015                         removed from the list.  Previously, we kept results for the last
19016                         3 scans and merged whole lists, which was complicated.
19017                 - Cleaned up activation debug messages.
19018                 - Wireless activation and access-point search routines now use Open System
19019                         authentication before trying Shared Key.
19020                 - Removed some code in nm_device_update_best_ap() that could cause cards
19021                         to loose their link to the access point.
19022                 - Scanning now uses a backoff algorithm, where the inverval becomes
19023                         progressively longer between scans when the list of scanned access
19024                         points doesn't change.  A change will revert to the shortest scan
19025                         interval (20s).
19026
19027         * src/NetworkManagerWireless.[ch]
19028                 - Remove code related to old single-thread wireless scanning
19029
19030 2005-01-18  Colin Walters  <walters@redhat.com>
19031
19032         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
19033         of older nameservers.
19034
19035 2005-01-18  Colin Walters  <walters@redhat.com>
19036
19037         * named/nm-named-manager.c (generate_named_conf): Many fixes
19038         to config file generation.
19039         (safer_kill): Remove, was too much trouble for little gain.
19040         (nm_named_manager_start): Run named as NM_NAMED_USER.
19041
19042         * configure.in: Add option --with-named-user.
19043
19044 2005-01-14  Colin Walters  <walters@redhat.com>
19045
19046         Patch from ed@catmur.co.uk (Ed Catmur)
19047
19048         * named/nm-named-manager.c: Add "context" property.
19049         Use it to add child watch source in specific GMainContext.
19050
19051         * src/NetworkManager.c (nm_data_new): Initialize
19052         named with correct main context.  Start named only
19053         after forking.
19054
19055 2005-01-14  Colin Walters  <walters@redhat.com>
19056
19057         * named/nm-named-manager.c (generate_named_conf): Write config
19058         and pid files into NM_NAMED_DATA_DIR; this allows things to
19059         work better with FC3 named SELinux policy.  Also fix up silly
19060         format error.
19061
19062         * configure.in: Add --with-named-dir option.
19063
19064 2005-01-14  Colin Walters  <walters@redhat.com>
19065
19066         * configure.in: Make named support require passing --with-named.
19067
19068         * named/nm-named-manager.c: Support writing resolv.conf directly
19069         without running named.
19070
19071 2005-01-13  Dan Williams <dcbw@redhat.com>
19072
19073         * named/nm-named-manager.c
19074                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
19075
19076         * src/NetworkManagerDevice.c
19077                 - Rework wireless link detection code to be more reliable
19078
19079 2005-01-12  Dan Williams <dcbw@redhat.com>
19080
19081         * initscripts/RedHat/NetworkManager
19082                 - Change initial level to "-" rather than "345" so that
19083                         we don't activate ourselves by default on install
19084
19085 2005-01-12  Dan Williams <dcbw@redhat.com>
19086
19087         * libnm_glib/
19088                 - Client library for applications using glib
19089
19090         * configure.in
19091           various Makefiles
19092                 - Split NM_CFLAGS and NM_LIBS into separate variables
19093                         like DBUS_*, HAL_* and GLIB_*
19094
19095         * src/NetworkManager.c
19096           src/NetworkManagerMain.h
19097                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
19098                         broadcast a status changed signal over DBUS from the main thread.
19099                         Still unused anywhere for the moment.
19100
19101         Patch from j@bootlab.org
19102         * panel_applet/NMWirelessAppletDbus.c
19103           src/NetworkManagerDbus.c
19104                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
19105                         for the "getMode" method call
19106
19107 2005-01-10  Dan Williams <dcbw@redhat.com>
19108
19109         * src/NetworkManagerDevice.c
19110                 - Minor fixups & corrections to "auto" frequency mode, make it
19111                         less chatty with syslog
19112
19113 2005-01-10  Dan Williams <dcbw@redhat.com>
19114
19115         * src/NetworkManagerDevice.c
19116                 - Implement "auto" frequency/channel support, since cards like Atheros
19117                         can't use other frequencies at all when you've told it to use a
19118                         specific one, even for scanning.
19119                 - Grab the scan mutex around places where we can't tolerate wireless
19120                         settings changing underneath us, like nm_device_wireless_network_exists()
19121                         and nm_device_activate_wireless()
19122
19123         * src/NetworkManagerWireless.c
19124                 - Back scan interval off to 20s instead of 14s
19125
19126 2005-01-09  Dan Williams <dcbw@redhat.com>
19127
19128         * src/NetworkManagerDevice.c
19129                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
19130                         already set.  Stops some drivers like Atmel from continually
19131                         reloading the firmware, which they do upon every configuration
19132                         change.
19133
19134 2005-01-09  Dan Williams <dcbw@redhat.com>
19135
19136         * dhcpcd/client.c
19137                 - Use correct timeout value
19138
19139         * info-daemon/NetworkManagerInfoDbus.c
19140           src/NetworkManagerDbus.c
19141                 - Consolidate communication between NM and NMI by doing only 1 dbus
19142                         method call to get Wireless Network info from NMI instead of 6
19143
19144         * src/NetworkManager.c
19145                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
19146                         when we didn't have an AP to use, we'd wait for one forever without
19147                         quitting
19148
19149         * src/NetworkManagerDevice.c
19150                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
19151                         activation, dhcp might not have started yet but we don't quit activation
19152                         before starting it, so the quit signal gets lost
19153
19154 2005-01-07  Dan Williams <dcbw@redhat.com>
19155
19156         * dhcpcd/client.c
19157                 - Rework the DHCP client code to be much less chatty when
19158                         it receives non-DHCP UDP packets during the DHCP run
19159                         (reported by and preliminary patches from Bill Moss)
19160
19161         * Move wireless scanning to a separate thread.  This thread forwards the
19162                 results to the main thread when done where they are integrated into
19163                 the device's access point lists.  This keeps the main thread (which
19164                 does all the DBUS communication) from being blocked for long periods
19165                 of time by wireless scanning.
19166
19167         * Make state modification an idle routine in the main loop, and trigger
19168                 state changes rather than polling for them.
19169
19170         * src/backends/NetworkManagerGentoo.c
19171                 - Fix up invalid C90 code (reported by Christoph Ruessler)
19172
19173         * src/NetworkManagerDevice.c
19174                 - Revert IPv6 patch for wired devices from 2004-12-22 for
19175                         router advertisements, causing problems and infinite loop
19176                         during "best" device determination due to link going up/down
19177                         (reported by Bill Moss)
19178
19179         Apply patch from Peter Jones
19180         * src/NetworkManagerDevice.c
19181                 - Shortcut for link-checking for ipw2x00 cards
19182                 - Split out association check into separate routine
19183
19184 2004-01-05  Colin Walters  <walters@redhat.com>
19185
19186         * named/named.conf: Add PID_FILE.
19187
19188         * named/nm-named-manager.c: Always generate a pid
19189         file, since older BIND versions don't support
19190         "pid-file none".
19191
19192 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
19193
19194         * configure.in (ALL_LINGUAS): Added ja (Japanese).
19195
19196 2004-12-22  Dan Williams <dcbw@redhat.com>
19197
19198         * src/NetworkManagerDevice.c
19199                 - Silently fail when setting bitrate doesn't work
19200
19201
19202         Patches from j@bootlab.org:
19203         * src/backends/NetworkManagerDebian
19204                 - Update backend to match functionality in RedHat backend
19205         * src/NetworkManagerDevice.c
19206                 - Take down then bring up wired devices after connection so
19207                 they send out ipv6 router advertisements
19208
19209 2004-12-21  Colin Walters  <walters@verbum.org>
19210
19211         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
19212         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
19213
19214 2004-12-21  Colin Walters  <walters@redhat.com>
19215
19216         * configure.in: Correct named detection.
19217
19218 2004-12-21  Colin Walters  <walters@redhat.com>
19219
19220         * src/NetworkManager.c (nm_data_new): Initialize named.
19221         Also, set up a signal handler for SIGINT/SIGTERM, and exit
19222         the mainloop when these signals are received.
19223         (nm_data_free): Unref named.
19224         (sigterm_handler, sigterm_pipe_handler): New functions for
19225         exiting mainloop.
19226         
19227         * src/NetworkManagerMain.h (NMData): Add signal handling and
19228         nameserver bits.
19229
19230         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
19231         unref.
19232
19233         * src/NetworkManagerDHCP.c (set_nameservers): New function;
19234         set nameservers from DHCP response data.
19235         (set_domain_search): Set domain search from DHCP response.
19236         (nm_device_dhcp_configure): Invoke them.
19237
19238         * src/NetworkManagerSystem.c
19239         (nm_system_device_update_resolv_conf): Delete.  Deleting
19240         code is totally sweet.
19241
19242         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
19243
19244         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
19245         implements an object which controls a nameserver.  Currently
19246         uses bind 9.
19247
19248         * configure.in: Check for named.
19249
19250         * Makefile.am (SUBDIRS): Add named dir.
19251
19252         * named/named.conf: New template config file.
19253
19254 2004-12-20  Colin Walters  <walters@redhat.com>
19255
19256         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
19257         instead of '='.
19258
19259 2004-12-17  Dan Williams  <dcbw@redhat.com>
19260
19261         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
19262                 link-local addresses instead of doing DHCP.
19263
19264         * In the panel applet, there's a new "Create new Wireless Network..." item
19265
19266         * The panel applet also sticks around now even if NetworkManager dies, but
19267                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
19268                 a bug, I'll fix that later.
19269
19270         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
19271                 lookups after a switch rather than actually doing them.
19272
19273         * Clean up some of those warnings in nm_ap_list_* functions
19274
19275         * Delay between scans changed to 15s instead of 10s
19276
19277 2004-12-15  Dan Williams  <dcbw@redhat.com>
19278
19279         Patch from Tom Parker
19280         * Add autoip/Link Local Addressing support when we fail to get a DHCP
19281                 address
19282
19283         * Longer pause after setting ESSID on cards that support a larger number
19284                 of channels to give the card time to find the right channel
19285
19286         * Add system hook to restart mDNSResponder (or whatever the local implementation
19287                 of Multicast DNS is) when we activate interfaces
19288
19289 2004-12-15  Dan Williams  <dcbw@redhat.com>
19290
19291         * Rework the DHCP code again to revert to sending full ethernet frames
19292                 rather then relying on the kernel to do the right thing with our
19293                 packets.
19294
19295 2004-12-06  Dan Williams  <dcbw@redhat.com>
19296
19297         * dhcpcd/client.c
19298                 - Fix some minor errors in dhcp_handle_transaction() that caused
19299                         unexpected early timeouts of DHCP transactions
19300
19301         * dhcpcd/client.h
19302                 - DHCP retransmit time from 4s -> 5s
19303
19304 2004-12-05  Dan Williams  <dcbw@redhat.com>
19305
19306         * Major rework of the DHCP code, taking some cues from pump.  We don't
19307                 write raw Ethernet packets anymore, which simplifies the code quite
19308                 a bit.  The new code should be more robust, not hang in recvfrom()
19309                 as much, and generally work better.  This also means that we need
19310                 to force HAL/dbus to use a created GMainContext rather than the
19311                 default context, since having the DHCP renew/rebind thread using
19312                 its own GMainContext seemed to give dbus a fit.  There is also more
19313                 debugging information printed from the DHCP loop to help with future
19314                 problems.
19315
19316         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
19317                 assume that the default gateway should be the DHCP server.
19318
19319         Patch from Matthew Schick <matt oss-institute org>
19320         * src/backends/NetworkManagerGentoo.c
19321                 - Fix compilation error due to missing "ip4_broadcast"
19322
19323 2004-12-03  Dan Williams  <dcbw@redhat.com>
19324
19325         * initscript/Makefile.am
19326         * initscript/Debian/NetworkManager
19327         * initscript/Gentoo/NetworkManager
19328         * initscript/RedHat/NetworkManager
19329         * initscript/NMLaunchHelper.c
19330                 - Remove NMLaunchHelper, if you need to wait until the network
19331                         comes up, use the dead code from CVS.
19332
19333 2004-12-01  Colin Walters  <walters@redhat.com>
19334         
19335         * configure.in: Suck in gcc warnings code from Rhythmbox,
19336         but use fewer default flags, and in particular add -Wno-unused,
19337         since the codebase has a lot of unused variables.
19338
19339         * test/nmtestdevices.c (create_device): 
19340         * test/nminfotest.c (get_network_string_property) 
19341         (get_networks_of_type): 
19342         * test/nmclienttest.c (main): 
19343         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
19344         * initscript/NMLaunchHelper.c (get_nm_status): 
19345         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
19346         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
19347         Fix declarations after statements.
19348
19349 2004-12-01  Colin Walters  <walters@redhat.com>
19350
19351         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
19352         (nmi_dbus_get_vpn_userpass): New method.
19353         (nmi_dbus_nmi_message_handler): Invoke it.
19354
19355         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
19356
19357         * info-daemon/NetworkManagerInfoVPN.h,
19358         info-daemon/NetworkManagerInfoVPN.c: New files; responds
19359         to requests for VPN passwords.
19360
19361         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
19362
19363 2004-12-01  Colin Walters  <walters@redhat.com>
19364
19365         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
19366         includes.
19367
19368 2004-12-01  Colin Walters  <walters@redhat.com>
19369
19370         * panel-applet/NMWirelessAppletDbus.c
19371         (nmwa_dbus_update_active_device_strength): Fix missing
19372         return value.
19373
19374 2004-12-01  Colin Walters  <walters@redhat.com>
19375
19376         * panel-applet/NMWirelessApplet.c: Add missing include.
19377
19378 2004-12-01  Colin Walters  <walters@redhat.com>
19379
19380         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
19381         Remove useless CLAMP (); the value is unsigned, and the case tests
19382         qual->qual < 100, so the value must always be between 0 and 100.
19383
19384 2004-12-01  Colin Walters  <walters@redhat.com>
19385
19386         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
19387
19388 2004-11-22  Colin Walters  <walters@verbum.org>
19389
19390         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
19391         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
19392         which is essentially a noop since nscd caches hosts on disk too.
19393         
19394 2004-11-22  Colin Walters  <walters@redhat.com>
19395
19396         * src/Makefile.am (NetworkManager_SOURCES): Add
19397         NetworkManagerDevicePrivate.h.
19398
19399 2004-11-22  Dan Williams <dcbw@redhat.com>
19400
19401         * src/NetworkManagerDevicePrivate.h
19402                 - Split out the NMDevice struct to a different file so that stuff like
19403                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
19404
19405         * dhcpcd/client.c
19406                 - fprintf->syslog
19407                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
19408                         need to cancel the dhcp request during the send and recv
19409
19410         * dhcpcd/client.h
19411                 - Move the DHCP option enum to dhcpcd.h
19412
19413         * src/NetworkManagerDHCP.c
19414                 - Split out the actual IP/netmask/etc setting code
19415                 - New Renew/Rebind functions
19416                 - New timer setup function for renew/rebind operations
19417
19418         * src/NetworkManagerDevice.c
19419                 - For device activation, if we are using DHCP then keep the activation thread
19420                         alive until device deactivation.  We need to renew/rebind the DHCP address
19421                         after the T1 (renew) and T2 (rebind) times have expired.
19422                 - Increase some timeouts after bringing wireless cards up/down
19423
19424 2004-11-17  Dan Williams <dcbw@redhat.com>
19425
19426         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
19427                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
19428                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
19429                 show known access points that don't broadcast their ESSID in the menus without
19430                 any user intervention whatsoever.
19431
19432         * info-daemon/NetworkManagerInfoDbus.c
19433                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
19434                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
19435
19436         * src/NetworkManagerAP.[ch]
19437                 - Add a "user_addresses" data member to the NMAccessPoint structure
19438                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
19439                         the user_addresses data member
19440
19441         * src/NetworkManagerAPList.c
19442                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
19443                         the AP's reported address
19444                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
19445
19446         * src/NetworkManagerDHCP.c
19447                 - Increase DHCP timeout from 25s -> 30s
19448
19449         * src/NetworkManagerDbus.[ch]
19450                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
19451                         user addresses
19452
19453         * src/NetworkManagerDevice.c
19454                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
19455                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
19456                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
19457                         So, we take the card down to clear it out.
19458                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
19459                         too, since that's where the user_addresses are
19460
19461         * src/NetworkManagerPolicy.c
19462                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
19463                         that wireless networks' user_addresses list upon successful activation
19464
19465 2004-11-16  Dan Williams <dcbw@redhat.com>
19466
19467         * src/NetworkManagerDevice.[ch]
19468                 - (nm_device_clear_activation_fail): new function
19469
19470         * src/NetworkManagerPolicy.c
19471                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
19472                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
19473
19474 2004-11-16  Dan Williams <dcbw@redhat.com>
19475
19476         * src/NetworkManagerDevice.c
19477                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
19478                         leak the structure, better updating of now_scanning status
19479                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
19480
19481 2004-11-15  Dan Williams <dcbw@redhat.com>
19482
19483         Major rework of link detection code.  We now use DHCP
19484         as part of the link detection which proves to be much more robust,
19485         and also supports Open System authentication for wireless networks.
19486
19487         We no longer use external DHCP client programs.  Instead, we use 
19488         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
19489         which was written by:
19490                 Yoichi Hariguchi <yoichi@fore.com>
19491                 Sergei Viznyuk <sv@phystech.com>
19492                 http://www.phystech.com/download/
19493         It resides in the "dhcpcd" directory and was refactored into a general
19494         purpose DHCP client library by me.
19495
19496         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
19497         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
19498
19499 2004-11-15  Dan Williams <dcbw@redhat.com>
19500
19501         Patch from Tom Parker <palfrey@tevp.net>:
19502
19503         * src/NetworkManagerDevice.c
19504                 - Less output to console when no access
19505                         points are found during a scan
19506
19507 2004-11-15  Dan Williams <dcbw@redhat.com>
19508
19509         Patch from Tom Parker <palfrey@tevp.net>:
19510
19511         * src/backends/interface_parser.c
19512                 - Use g_strdup ()
19513                 - Check for inp == NULL
19514                 - use syslog ()
19515
19516 2004-11-13  Colin Walters  <walters@redhat.com>
19517
19518         Patch from Tom Parker <palfrey@tevp.net>:
19519
19520         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
19521         
19522         * src/backends/NetworkManagerRedHat.c: Switch to
19523         including shvar.h instead of shvar.c.
19524
19525         * src/backends/NetworkManagerDebian.c: Don't include
19526         interface_parser.c in source file.
19527
19528         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
19529         and interface_parser.[ch].
19530         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
19531         Include shvar.c and shvar.h here.
19532         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
19533         interface_parser.c and interface_parser.h here.
19534
19535 2004-11-12  Colin Walters  <walters@redhat.com>
19536
19537         * configure.in: Strip out TARGET_DISTRO and
19538         SYSTEM_BACKEND_FILE variables.  Switch to Automake
19539         conditionals.
19540
19541         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
19542         (libnmbackend_la_SOURCES): Use Automake conditionals
19543         to add distro-specific files.
19544
19545         * initscript/Makefile.am (SUBDIRS): Update to
19546         use conditionals.
19547
19548 2004-11-12  Colin Walters  <walters@redhat.com>
19549
19550         Patches from j bootlab org
19551
19552         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
19553         Add interface_parser.[ch].
19554
19555         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
19556         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
19557
19558 2004-11-12  Colin Walters  <walters@redhat.com>
19559
19560         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
19561         call to nmi_dbus_is_running too, not necessary anymore.
19562         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
19563         pick up exit().
19564
19565 2004-11-11  Colin Walters  <walters@verbum.org>
19566
19567         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
19568         Delete.
19569         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
19570         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
19571         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
19572         This avoids a race condition that made it pretty easily
19573         possible to get two NetworkManagerInfo daemons running.
19574
19575 2004-11-11  Colin Walters  <walters@verbum.org>
19576         
19577         * src/NetworkManager.c (main): Use daemon(3).
19578
19579         * info-daemon/NetworkManagerInfo.c (main): Ditto.
19580
19581         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
19582
19583 2004-11-10 Dan Williams <dcbw@redhat.com>
19584
19585         Patches from j bootlab org
19586         * src/NetworkManagerDevice.c
19587                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
19588                         whether the card has a link or not, some cards are slow
19589                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
19590
19591         * info-daemon/NetworkManagerInfoPassphraseDialog.c
19592                 - Disable the "Login" button on the passphrase dialog until the user
19593                         enters a valid passphrase or key
19594
19595         Patches from Tom Parker <palfrey tevp net>
19596         * src/backends/NetworkManagerDebian.c
19597                 - Add static IP support to the debian backend
19598
19599         * src/backends/interface_parser.[ch]
19600                 - Parse debian interface config files
19601
19602 2004-11-08 Dan Williams <dcbw@redhat.com>
19603
19604         * src/NetworkManagerDevice.c
19605                 - Some random fprintf->syslog conversions
19606                 - (nm_device_wireless_network_exists): double-check for network
19607                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
19608
19609         * src/NetworkManagerWireless.[ch]
19610                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
19611                         so that the binary->ascii conversion works (if unsigned, the bitshift
19612                         will fill with zeros, which is what's required).  Also mask bitshift
19613                         result with 0xF for futher assurance.
19614
19615 2004-11-06 Dan Williams <dcbw@redhat.com>
19616
19617         * src/NetworkManagerUtils.c
19618                 - (nm_get_wireless_driver_support_level): default to
19619                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
19620                         flip this when changing from whitelist->blacklist of
19621                         wireless drivers
19622
19623 2004-11-05 Dan Williams <dcbw@redhat.com>
19624
19625         Patch from Robert Paskowitz:
19626         * src/backends/NetworkManagerGentoo.c
19627                 - Update static IP config code
19628
19629 2004-11-05 Dan Williams <dcbw@redhat.com>
19630
19631         * info-daemon/NetworkManagerInfoDbus.c
19632           src/NetworkManagerDbus.[ch]
19633           src/NetworkManagerDevice.c
19634                 - Keep track of the # of attempts to get the WEP key
19635                         from the user and pass that along to the info daemon
19636
19637 2004-11-05 Dan Williams <dcbw@redhat.com>
19638
19639         * src/NetworkManagerUtils.c
19640                 - Blacklist wireless cards rather than whitelisting them.
19641                 - Grab driver name from HAL rather than trying to find it
19642                         ourselves.
19643
19644 2004-11-03 Dan Williams <dcbw@redhat.com>
19645
19646         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
19647                 - Disable OK button until valid data is entered
19648                         for encryption stuff too
19649
19650         * panel-applet/NMWirelessApplet.c
19651                 - Report card strength for current AP if the card
19652                         doesn't report strength data for scanned access
19653                         points
19654
19655         * src/NetworkManagerDevice.c
19656                 - Smooth out cards reported quality, Atmel card was
19657                         intermittently reporting no quality data but soon
19658                         recovers
19659
19660         * src/NetworkManagerWireless.c
19661                 - Better quality data percentage calculation.  Atmel
19662                         cards (mine at least) seem to report the quality
19663                         in percentage format already, so honor that
19664
19665         Patch from <j@bootlab.org>
19666         * NetworkManager.h
19667           info-daemon/NetworkManagerInfoPassphraseDialog.c
19668           info-daemon/passphrase.glade
19669           panel-applet/NMWirelessAppletOtherNetworkDialog.c
19670           panel-applet/essid.glade
19671           src/NetworkManagerAP.c
19672           src/NetworkManagerDevice.c
19673           src/NetworkManagerWireless.[ch]
19674                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
19675
19676 2004-11-03 Dan Williams <dcbw@redhat.com>
19677
19678         * src/NetworkManagerDevice.[ch]
19679                 - (nm_device_set_enc_key): Add parameter to set Authentication
19680                         Mode (Open System, Shared Key, or None).  We're still using
19681                         Shared Key for now though.
19682
19683 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
19684
19685         * panel-applet/menu-info.c: change from bold text to light
19686         colored, may cause problems with some themes, i've tested a lot
19687         and they seem fine. 
19688
19689         * panel-applet/NMWirelessApplet.c: fix strength tooltip
19690
19691 2004-11-01  Colin Walters  <walters@verbum.org>
19692
19693         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
19694         (nm_wireless_128bit_key_from_passphrase): Add const.
19695
19696         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
19697         (nm_ap_set_enc_key_source): Add const.
19698         
19699 2004-11-01  Colin Walters  <walters@verbum.org>
19700
19701         * .cvsignore: Update.
19702
19703 2004-10-29 Dan Williams <dcbw@redhat.com>
19704
19705         * src/NetworkManagerDevice.c
19706                 - (nm_device_wireless_network_exists): Actually use the encryption
19707                         key we got from the applet when attempting to find a wireless network
19708                 - Don't bring devices down so much since on some cards it triggers
19709                         firmware hotplugs each time
19710
19711         * src/NetworkManagerDbus.c
19712                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
19713                         from the caller
19714
19715 2004-10-29 Dan Williams <dcbw@redhat.com>
19716
19717         * src/NetworkManager.c
19718                 - (nm_hal_device_property_modified): unlock a locked active
19719                         wireless device when a wired connection gets a link.
19720                         (Means you'll switch to wired whenever you plug in no
19721                         matter what).
19722
19723 2004-10-29 Dan Williams <dcbw@redhat.com>
19724
19725         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
19726                 - New files, implement the "Other wireless network" dialog
19727
19728         * panel-applet/NMWirelessApplet.c
19729                 - Move "other wireless network" dialog to separate file
19730
19731         * panel-applet/NMWirelessAppletDbus.[ch]
19732                 - Take key and key_type paramaters for the set_device function
19733
19734         * panel-applet/essid.glade
19735                 - Add UI bits for encryption settings
19736
19737         * src/NetworkManagerDbus.c
19738                 - Retrieve key and key_type params for "setActiveDevice" method call
19739                         and pass them on
19740                 - unref AP returned from nm_device_get_best_ap() when needed
19741
19742         * src/NetworkManagerDevice.c
19743                 - (nm_device_get_best_ap): ref the ap before returning it
19744                 - unref AP returned from nm_device_get_best_ap() when needed
19745                 - (nm_device_activate_wireless): add "ap" parameter so we don't
19746                         need to call nm_device_get_best_ap() here, it was pretty much
19747                         redundant anyway
19748                 - (AP_NEED_KEY): break second link check condition out into separate
19749                         function, and fix segfault when ap->enc_key_source was NULL
19750                 - (nm_device_find_and_use_essid): take key and key_type parameters and
19751                         pass them along to nm_device_wireless_network_exists().  If the
19752                         network does exist, set the passed-in key+key_type on the AP
19753
19754         * src/NetworkManagerPolicy.c
19755                 - unref AP returned from nm_device_get_best_ap() when needed
19756
19757 2004-10-28 Dan Williams <dcbw@redhat.com>
19758
19759         * src/NetworkManagerUtils.c
19760                 - (nm_spawn_process): Fix a potential dereference of NULL
19761
19762         Patches from Peter Jones:
19763
19764         * src/NetworkManagerDevice.c
19765                 - (nm_device_test_wireless_extensions): Better check for
19766                         wireless devices
19767
19768         * src/NetworkManagerUtils.c
19769                 - (nm_spawn_process): Pass in valid stdout and stderr so
19770                         executed programs don't randomly SIGPIPE and fail
19771                 - (nm_get_wired_driver_support_level): quash hal warning
19772                         when checking for USB ethernet device
19773
19774 2004-10-27 Dan Williams <dcbw@redhat.com>
19775
19776         * info-daemon/NetworkManagerInfo.c
19777           info-daemon/NetworkManagerInfoDbus.c
19778           info-daemon/NetworkManagerInfoPassphraseDialog.c
19779           panel-applet/NMWirelessApplet.c
19780                 - Properly escape gconf keys
19781
19782         * src/NetworkManager.c
19783                 - remove unused variables
19784
19785         * src/NetworkManagerAP.c
19786                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19787                         refcount since it got set in nm_ap_new()
19788
19789         * src/NetworkManagerAPList.c
19790                 - (nm_ap_list_combine): Give up ownership of newly created
19791                         access points to the ap list, fixes memleak
19792
19793         * src/NetworkManagerDevice.c
19794                 - Remove cached_ap_list4 member since its not really needed
19795                 - (nm_device_wireless_network_exists): Try to get correct
19796                         encryption status of a found AP if its already in our
19797                         device list
19798                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19799                         memory allocs/deallocs a bit clearer and shorter-lived
19800
19801 2004-10-26 Ray Strode <rstrode@redhat.com>
19802
19803         * panel-applet/NMWirelessApplet.c:
19804           (custom_essid_item_selected):  kill some compiler
19805         warnings 
19806
19807 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19808
19809         * info-daemon/NetworkManagerInfoDbus.c
19810                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19811                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19812
19813 2004-10-23 Dan Williams <dcbw@redhat.com>
19814
19815         * info-daemon/NetworkManagerInfoDbus.c
19816                 - Trap the "DeviceActivationFailed" signal
19817
19818         * docs/NetworkManager DBUS API.txt
19819                 - Add "DeviceActivationFailed" signal
19820
19821         * panel-applet/NMWirelessAppletDbus.c
19822                 - Quash the "NetworkManager service not available" message
19823
19824         * src/NetworkManagerDbus.[ch]
19825                 - Add the "DeviceActivationFailed" signal
19826
19827         * src/NetworkManagerDevice.c
19828                 - Add support for activation_failed flag
19829                 - Fix deadlock where activation thread didn't clean itself up, making
19830                         main thread still believe it was alive forever (didn't reset activation
19831                         flags like activating, just_activated, etc when IP configuration
19832                         failed)
19833
19834         * src/NetworkManagerPolicy.c
19835                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19836                         for wireless networks, try to fall back to some other access point
19837
19838 2004-10-23 Dan Williams <dcbw@redhat.com>
19839
19840         * panel-applet/NMWirelessApplet.[ch]
19841                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19842                         to the applet object, so we can get tooltips
19843                 - Add tooltips (RH #136866)
19844
19845         * src/NetworkManagerDevice.c
19846                 - When trying to find a wireless network, try to connect with encryption
19847                         turned on first, so that we can more accurately detect whether or not
19848                         we need to use encryption for the actual association later on
19849
19850 2004-10-21 Dan Williams <dcbw@redhat.com>
19851
19852         * Add some support for telling NetworkManagerInfo to tell the user
19853                 that they are using a device that's not fully supported
19854
19855         * Fix some assertions in debug messages due to null access point args
19856
19857 2004-10-21 Dan Williams <dcbw@redhat.com>
19858
19859         * src/NetworkManagerDevice.c
19860                 - Don't try to activate/bring up/down unsupported
19861                         devices
19862
19863         * src/NetworkManagerUtils.c
19864                 - Fix case of PCI ID checks for driver support levels
19865
19866 2004-10-21 Dan Williams <dcbw@redhat.com>
19867
19868         * NetworkManager.h
19869                 - New file, now contains commonly used structures and bits
19870                         for the dbus API of NetworkManager
19871
19872         * Makefile.am
19873                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19874
19875         * src/NetworkManager.h
19876                 - Rename -> src/NetworkManagerMain.c
19877
19878         * Various fixups all around to use NetworkManager.h and new
19879                 src/NetworkManagerMain.h, remove redundant bits that got
19880                 moved into NetworkManager.h
19881
19882         * src/NetworkManagerDevice.[ch]
19883           src/NetworkManagerUtils.[ch]
19884           src/NetworkManagerPolicy.c
19885           src/NetworkManagerDbus.c
19886                 - Whitelist wireless drivers, and blacklist some wired
19887                         drivers.  Also blacklist cipsec and ethernet-over-usb
19888                         devices at this time (RH #135722, RH #135648)
19889                 - Don't leak unsupported devices out over dbus, or allow
19890                         them to be set as the active device.  Skip over them
19891                         during automatic device picking
19892
19893         * test/nmclienttest.c
19894                 - Clean up the dbus code a lot
19895
19896 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19897
19898         * configure.in: post release bump.
19899
19900 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19901
19902         * configure.in:
19903         * NEWS: Released NetworkManager-0.3.1
19904
19905 2004-10-18 Dan Williams <dcbw@redhat.com>
19906
19907         Patches from Thom May:
19908         * test/nmtestdevices.c
19909                 - Include <string.h>
19910         * src/backends/NetworkManagerDebian.c:
19911                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19912                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19913                         Move to using g_strdup_printf rather than arbitrary buffers
19914                 - (nm_system_device_setup_static_ip4_config) Implement function.
19915                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19916
19917 2004-10-17 Dan Williams <dcbw@redhat.com>
19918
19919         * info-daemon/NetworkManagerInfoDbus.c
19920                 - Display name of network in the "network not found" dialog
19921
19922         * panel-applet/NMWirelessAppletDbus.c
19923                 - (nmwa_dbus_call_nm_method): new function replaces all other
19924                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19925                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19926                         consolidated into nmwa_dbus_get_object_name()
19927
19928 2004-10-15 Dan Williams <dcbw@redhat.com>
19929
19930         * src/NetworkManagerDbus.c
19931           info-daemon/NetworkManagerInfoDbus.c
19932                 - Display an error dialog when the user tries to use an
19933                         "Other wireless network" that's not found.
19934
19935 2004-10-15 Dan Williams <dcbw@redhat.com>
19936
19937         * panel-applet/NMWirelessApplet.[ch]
19938                 - Fix up corner cases in applet state, making it
19939                         look more responsive.  Change state to "connecting" when
19940                         the user is forcing a device too.
19941
19942 2004-10-15 Dan Williams <dcbw@redhat.com>
19943
19944         * src/NetworkManagerAPList.c
19945                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19946
19947         * src/NetworkManagerDbus.c
19948                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19949
19950         * src/NetworkManagerDevice.c
19951                 - Disown APs after the device's AP list takes ownership
19952
19953 2004-10-15 Dan Williams <dcbw@redhat.com>
19954
19955         * panel-applet/NMWirelessApplet.c
19956                 - Update our applet state from the GUI thread
19957
19958         * panel-applet/NMWirelessAppletDbus.c
19959                 - Greatly simplify the locking to make the GUI thread
19960                         smoother.  Update a private copy of the device list
19961                         and active device and only when done talking to
19962                         NetworkManager turn it over to the GUI thread.
19963
19964 2004-10-15 Dan Williams <dcbw@redhat.com>
19965
19966         * src/NetworkManagerAP.[ch]
19967                 - Add "artificial" get/set functions, set for APs that
19968                         aren't discovered as part of a scan but instead
19969                         discovered by force-setting the ESSID
19970
19971         * src/NetworkManagerDevice.[ch]
19972                 - (nm_device_wireless_network_exists): pass back whether
19973                         or not the discovered AP was encrypted.  Also, try
19974                         falling back to encrypted mode on the card if unencrypted
19975                         association doesn't work
19976                 - (nm_device_find_and_use_essid): If the network requested
19977                         did in fact exists, but it wasn't in our scan list, add
19978                         an "artificial" entry for it.  Some Cisco cards don't
19979                         see non-ESSID-broadcasting APs in their scan but can still
19980                         associate with them if you know the ESSID, this works around
19981                         that behavior
19982                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
19983                         to scan if the card is currently associated with that AP
19984
19985 2004-10-15 Dan Williams <dcbw@redhat.com>
19986
19987         ---- We have a website ----
19988         http://people.redhat.com/dcbw/NetworkManager
19989
19990         Patch from Robert Paskowitz:
19991         * src/NetworkManager.c
19992                 - (main): Make sure we are run as root
19993         * src/NetworkManagerDevice.c
19994                 - Fix type in ad-hoc setting function
19995
19996         Patch from Thom May:
19997         * src/backends/NetworkManagerDebian.c
19998                 - Make Debian backend compile again
19999
20000 2004-10-14 Dan Williams <dcbw@redhat.com>
20001
20002         * Tagged NetworkManager-0_3
20003
20004 2004-10-14 Dan Williams <dcbw@redhat.com>
20005
20006         Patch from Robert Paskowitz:
20007         * NEWS
20008           src/NetworkManagerDevice.[ch]
20009           src/backends/NetworkManagerDebian.c
20010           src/backends/NetworkManagerGentoo.c
20011           src/backends/NetworkManagerRedHat.c
20012           src/backends/NetworkManagerSlackware.c
20013                 - Add support for grabbing and using a broadcast address
20014                         from system config files
20015                 - Some Gentoo backend fixes for grabbing network config
20016                 - Fix LOG_WARN->LOG_WARNING
20017
20018 2004-10-14 Dan Williams <dcbw@redhat.com>
20019
20020         * NEWS: a few small fixes in the credits
20021
20022 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
20023
20024         * NEWS: prep for release.
20025
20026 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
20027
20028         * panel-applet/NMWirelessAppletDbus.c
20029         (nmwa_dbus_update_device_wireless_networks): remove warnings.
20030
20031 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
20032
20033         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
20034         applet->state == APPLET_STATE_NO_NM animation.
20035
20036         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
20037         set the text correctly.
20038
20039 2004-10-14 Dan Williams <dcbw@redhat.com>
20040
20041         * src/NetworkManager.c
20042                 - Only accept and manager 802.3 and 802.11 devices
20043
20044         * src/NetworkManagerDbus.[ch]
20045                 - (nm_dbus_nm_set_active_device): move most of the actual activation
20046                         logic into NetworkManagerDevice.c
20047                 - (nm_dbus_network_status_from_data): new function
20048                 - (nm_dbus_signal_network_status_change): new function, unused for now
20049                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
20050
20051         * src/NetworkManagerDevice.[ch]
20052                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
20053                         a random ESSID.
20054
20055 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
20056
20057         * info-daemon/NetworkManagerInfo.c 
20058                 - (main): Added session management
20059
20060 2004-10-14 Dan Williams <dcbw@redhat.com>
20061
20062         * panel-applet/NMWirelessAppletDbus.[ch]
20063                 - Expose network_device_[un]ref()
20064                 - Expose wireless_network_[un]ref()
20065                 - (wireless_network_new_with_essid): new function, create and return
20066                         a wireless network with a particular essid
20067
20068         * panel-applet/NMWirelessApplet.c
20069                 - Hook up the "other network" dialog to do something
20070
20071 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
20072
20073         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
20074         doesn't work yet, but it looks okay.
20075
20076         * panel-applet/icons/*png: Resize to 22x22 and install in the
20077         right place.
20078
20079 2004-10-13 Dan Williams <dcbw@redhat.com>
20080
20081         * panel-applet/NMWirelessApplet.c
20082                 - Add function to print out applet_state in a readable
20083                         manner
20084
20085         * src/NetworkManager.c
20086                 - (main): Don't segfault when nm_dbus_init() fails, we had
20087                         a left-over call to hal_shutdown() into which we passed NULL
20088
20089         * src/NetworkManagerAP.c
20090                 - (nm_ap_set_essid): Allow NULL essids
20091
20092         * src/NetworkManagerAPList.[ch]
20093                 - More use of nm_ap_list_[un]lock ()
20094                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
20095                         network/essid, just return nothing.  Also skip over NULL
20096                         essid access points in the list when searching
20097                 - (nm_ap_list_get_ap_by_address): new function
20098                 - (nm_ap_list_update_network): set the access point's key source to
20099                         NULL when the key returned from NetworkManagerInfo is NULL or
20100                         of 0 length
20101                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
20102                         copy timestamp over too
20103                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
20104                         find the correct ESSID for a blank-essid access point by searching
20105                         through another list and matching access point MAC addresses
20106                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
20107
20108         * src/NetworkManagerDbus.c
20109                 - (nm_dbus_nm_set_active_device): deal with random networks the user
20110                         may specify.  This is mainly for access points that don't
20111                         broadcast their essid.  So if the user tells us to associate with
20112                         some random ESSID that's not in our access point list, we find
20113                         out if the access point does in fact exist (by attempting association
20114                         and then matching that access point's MAC address with the essid the
20115                         user gave us) and then we switch to it.
20116                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
20117                         to the returned list of networks for the "getNetworks" method
20118
20119         * src/NetworkManagerDevice.[ch]
20120                 - Extra debugging info for link detection
20121                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
20122                         based on MAC address
20123                 - (nm_device_get_path_for_ap): ignore blank-essid access points
20124                 - (nm_device_wireless_network_exists): new function, find out whether
20125                         a random ESSID exists by attempting to associate with it
20126                 - (nm_device_do_normal_scan): allow blank-essid access points in our
20127                         device list as long as they have an AP MAC address we can use.
20128                         Also send WirelessNetwork[Dis]Appeared signals for non-active
20129                         devices too.  Lets the applet update more frequently.
20130
20131         * src/backends/NetworkManagerGentoo.c
20132                 - Patch from: Robert Paskowitz
20133                         - Update backend code for Gentoo
20134                         - Implement nm_system_device_update_config_info ()
20135
20136         * test/nmclienttest.c
20137                 - (set_network_device): new function, takes a command-line argument
20138                         and tells NetworkManager to use that wireless network
20139
20140 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
20141
20142         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
20143         if the notification icon crashes 5 times within 5 seconds of each respawn 
20144
20145 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
20146
20147         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
20148         g_print.
20149
20150 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
20151
20152         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
20153
20154         * panel-applet/NMWirelessApplet.c: (animation_timeout),
20155         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
20156         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
20157         Change the name of the icons.
20158
20159         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
20160         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
20161         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
20162         (nm_menu_wireless_expose_event): Really bad hack to get the style
20163         to draw in the right color.
20164
20165 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
20166
20167         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
20168         Notification if it crashes
20169
20170 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
20171
20172         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
20173         (nmwa_dbus_get_string): remove unused functions
20174
20175         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
20176         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
20177         remove unused functions
20178
20179         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
20180
20181 2004-10-12 Dan Williams <dcbw@redhat.com>
20182
20183         * panel-applet/NMWirelessAppletDbus.c
20184                 - New functions:
20185                         wireless_network_new
20186                         wireless_network_copy
20187                         network_device_new
20188                         network_device_copy
20189
20190         * src/NetworkManagerDevice.[ch]
20191                 - New functions:
20192                         nm_device_set_mode_managed
20193                         nm_device_set_mode_adhoc
20194                 - Use these functions where appropriate
20195                 - When creating a new wireless device, force the card
20196                         to managed/Infrastructure mode as soon as possible
20197
20198 2004-10-12 Dan Williams <dcbw@redhat.com>
20199
20200         * src/NetworkManagerDevice.c
20201                 - Force wireless cards into Infrastructure mode before we use them
20202
20203 2004-10-12 Dan Williams <dcbw@redhat.com>
20204
20205         * TODO
20206                 - Remove bit about static IP address support
20207
20208         * src/NetworkManagerUtils.c
20209                 - (nm_spawn_process): Add some error reporting
20210
20211         * src/NetworkManagerDevice.c
20212                 - (nm_device_activation_configure_ip): hook up to the static config
20213                         routines in the backends
20214
20215         * src/backends/NetworkManagerRedHat.c
20216                 - (nm_system_device_update_config_info): use shvar.c routines to
20217                         parse the config file iformation, not our own
20218                 - (nm_system_device_setup_static_ip4_config): new function, based
20219                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
20220                         with a static IP address and gateway
20221
20222         * src/backends/shvar.[ch]
20223                 - Parser (filched from initscripts package) for ifcfg-* files
20224
20225         * src/backends/NetworkManagerSystem.h
20226           src/backends/NetworkManagerGentoo.c
20227           src/backends/NetworkManagerDebian.c
20228           src/backends/NetworkManagerSlackware.c
20229                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
20230
20231 2004-10-11 Dan Williams <dcbw@redhat.com>
20232
20233         * TODO
20234                 - Remove bit about more robust AP diffing since I just implemented it
20235
20236 2004-10-11 Dan Williams <dcbw@redhat.com>
20237
20238         * src/NetworkManagerAP.c
20239                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
20240                         enough RAM to allocate new AP structures, but return NULL instead
20241
20242         * src/NetworkManagerAPList.[ch]
20243                 - (nm_ap_list_is_empty): new function
20244                 - (nm_ap_list_combine): new function, combine two access point lists
20245                 - (nm_ap_list_copy_keys): new function, copy keys from one list
20246                         into another
20247
20248         * src/NetworkManagerDevice.[ch]
20249                 - Rename some functions to be clearer:
20250                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
20251                         nm_device_just_activated     -> nm_device_is_just_activated
20252                         nm_device_activating         -> nm_device_is_activating
20253                         nm_device_now_scanning       -> nm_device_is_scanning
20254                 - Cache the last 4 scans so that the access point list is more stable.
20255                         We combine the lastest two scans and use that as the AP list,
20256                         and diff that combined list against the combination of the earliest
20257                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
20258
20259 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20260
20261         * info-daemon/NWManagerInfo.h
20262                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
20263
20264         * info-daemon/NWManagerInfoDbus.c
20265                 - (shutdown_callback): new function
20266                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
20267                         if NetworkManager goes away.  Kill the timeout
20268                         if NetworkManager restarts before the 30 seconds
20269                         are up.
20270                 - (nmi_dbus_service_init): 
20271                         - call gtk_main_quit if NetworkManager is not running
20272                         - add filters to monitor dbus service creations and
20273                                 deletions
20274         
20275 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20276
20277         * panel-applet/NMWirelessApplet.c
20278                 - (nmwa_update_state): Hide notification icon if we are only
20279                         showing one wired card and no wireless interfaces 
20280                         (Red Hat Bug #134895)
20281
20282         * panel-applet/NMWirelessAppletDbus.c
20283                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
20284
20285         * info-daemon/NWManagerInfo.c
20286                 - (main): Terminated the notification_icon_cmd array with a NULL
20287
20288 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
20289
20290         * configure.in (ALL_LINGUAS): Added de (German).
20291
20292 2004-10-08 Dan Williams <dcbw@redaht.com>
20293
20294         * src/NetworkManagerDevice.c
20295                 - Be a bit more robust about link checking, ie make sure that
20296                         the WEP key we were given actually has some data in it
20297
20298 2004-10-08 Dan Williams <dcbw@redhat.com>
20299
20300         * info-daemon/NetworkManagerInfo.c (main):
20301                 - Initialize GError object to NULL
20302
20303 2004-10-08 Dan Williams <dcbw@redhat.com>
20304
20305         * panel-applet/NMWirelessAppletDbus.c
20306                 - Die if NetworkManagerInfo dies, since it manages our lifetime
20307
20308 2004-10-08 Dan Williams <dcbw@redhat.com>
20309
20310         * info-daemon/NetworkManagerInfo.[ch]
20311           info-dameon/NetworkManagerInfoDbus.[ch]
20312           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
20313                 - Preserve original label text in the passphrase dialog so that
20314                         it actually gets updated with the new network name the next
20315                         time around.  Previously, we were overwriting it so you'd get
20316                         the wrong network name to enter a key for
20317                 - Add a "Key Type" combo to the passphrase dialog, user selects
20318                         encryption key type now, type is stored in GConf too
20319                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
20320
20321         * src/NetworkManagerAP.[ch]
20322                 - Remove all the encyption method magic.  It's now set by the user
20323                         and NetworkManager retrieves the type of encryption key from
20324                         NetworkManagerInfo
20325
20326         * src/NetworkManagerAPList.[ch]
20327           src/NetworkManagerDbus.[ch]
20328                 - Adjust to new way of setting encryption key and method
20329                 - Pull encryption method down from NMI along with key
20330
20331         * src/NetworkManagerDevice.[ch]
20332                 - Removed encryption method fallback magic as the method is now
20333                         determined by the user.  This greatly simplifies the connection
20334                         logic.
20335                 - More robust connection/link logic.  Besides removing the encryption
20336                         method fallback magic, check whether or not the card is receiving
20337                         invalidly encrypted packets, which usually indicates that we have
20338                         a bad WEP key set.
20339                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
20340
20341         * test/nminfotest.c
20342                 - Test out new "Key Type" stuff in the NMI passphrase dialog
20343
20344 2004-10-07 Dan Williams <dcbw@redhat.com>
20345
20346         * info-daemon/NetworkManagerInfo.conf
20347                 - Allow root user to run NMI too
20348
20349 2004-10-06 Dan Williams <dcbw@redhat.com>
20350
20351         * src/NetworkManagerDevice.[ch]
20352           src/NetworkManagerDbus.c
20353           doc/NetworkManager DBUS API.txt
20354                 - Add a new status tag "scanning", which is set when there
20355                         is no active network connection, but NetworkManager is
20356                         looking for an access point to associate with
20357
20358         * panel-applet/main.c
20359                 - Cast the applet appropriately for gtk_widget_show_all ()
20360
20361 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
20362
20363         * panel-applet/eggtrayicon.[ch]:
20364         * panel-applet/main.c: Add missing file
20365
20366 2004-10-04 Dan Williams <dcbw@redhat.com>
20367
20368         * src/NetworkManagerDevice.[ch]
20369                 - Add a slightly more robust method of determining if the WEP key
20370                         is correct or not, by checking the WEP-discarded packet count
20371                         on the card
20372
20373         * info-daemon/NetworkManagerInfo.c
20374                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
20375                         un-escape values we pull out rather than escaping them
20376
20377 2004-10-03  Marcel Telka  <marcel@telka.sk>
20378
20379         * configure.in (ALL_LINGUAS): Added sk.
20380
20381 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
20382
20383         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
20384         and feel.  We should be back to working, and have a good, clean
20385         look.
20386
20387 2004-09-30 Dan Williams <dcbw@redhat.com>
20388
20389         * info-daemon/NetworkManagerInfo.c
20390           info-daemon/NetworkManagerInfoDbus.c
20391           test/nminfotest.c
20392                 - Escape ESSIDs in gconf
20393
20394         * src/NetworkManagerDevice.c
20395                 - Fix pseudo-scanning to use netowrk list from info daemon
20396
20397 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
20398
20399         * configure.in: Add a temporary --enable-notification-icon.  This
20400         will prolly go away.
20401
20402         * info-daemon/Makefile.am:
20403         * info-daemon/NetworkManagerInfo.c:
20404         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
20405
20406         * panel-applet/Makefile.am:
20407         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
20408         * panel-applet/NMWirelessApplet.h:
20409
20410 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
20411
20412         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
20413         before 'select custom ESSID'.
20414
20415         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
20416         fully complete, but syncing in prep for merge.
20417
20418         * panel-applet/icons/*png: New images
20419
20420 2004-09-28 Dan Williams <dcbw@redhat.com>
20421
20422         * src/NetworkManager.c
20423           src/NetworkManagerDevice.c
20424           src/NetworkManagerPolicy.c
20425                 - Don't blow away an active wired connection on startup
20426
20427 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
20428
20429         Changes from J5
20430         
20431         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
20432
20433         * info-daemon/NetworkManagerInfoDbus.c: added service name to
20434         syslog output
20435
20436 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
20437
20438         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
20439         have a wireless card.
20440
20441 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
20442
20443         * panel-applet/NMWirelessApplet.c: move the custom essid item.
20444         Also, get the right device strings.
20445
20446 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
20447
20448         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
20449         the logic to make this right.
20450
20451         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
20452         devices so that wired networks are always first.
20453
20454 2004-09-22    <clarkbw@cvs.gnome.org>
20455
20456         * initscript/Debian/.cvsignore:
20457         * initscript/Slackware/.cvsignore:
20458         Added new cvsignores for Makefile, Makefile.in
20459         
20460         * test/.cvsignore:
20461         Added nmtestdevices
20462         
20463         * src/NetworkManagerDevice.c: 
20464         * src/NetworkManager.c: 
20465         Updated the wireless/wired HAL device strings from net.ethernet to
20466         net.80203 or net.80211 depending on wired or wireless respectively
20467         
20468         * examples/python/NetworkManager.py: 
20469         s/Quality/Strength/
20470
20471         * examples/python/systray/network_tray.py:
20472         Lots of little changes and fixes.  been rotting for a while so I
20473         figured I'd finally sync them all with CVS
20474
20475 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
20476
20477         * configure.in: Add graphics
20478
20479         * panel-applet/Makefile.am: Add graphics
20480
20481         * panel-applet/icons/*: Add graphics
20482
20483         * panel-applet/NMWirelessApplet.c: Use new menu times to display
20484         the icons fully lined up.
20485
20486         * panel-applet/menu-info.c: 
20487         * panel-applet/menu-info.h: Add another menu type.
20488
20489 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
20490
20491         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
20492
20493         * panel-applet/menu-item.[ch]: Wireless menu item.
20494
20495 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
20496
20497         * info-daemon/NetworkManagerInfo.conf
20498                 - Created a more robust security policy for the DBus service
20499                         - everything is denied by default
20500                         - root can own and send to the service
20501                         - users logged in at the console can send to the service
20502
20503 2004-09-13  Dan Williams <dcbw@redhat.com>
20504
20505         * src/NetworkManagerDevice.c
20506                 - (nm_device_get_essid): use iw_get_basic_config() rather than
20507                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
20508                         the latter
20509
20510 2004-09-13  Dan Williams <dcbw@redhat.com>
20511
20512         * TODO: fix typo
20513
20514         * docs/NetworkManager DBUS API.txt
20515                 - Update for new signal strength changes
20516
20517         * panel-applet/NMWirelessApplet.c
20518                 - Make panel icon show strength of the current connection
20519                 - Cleanups and memleak fixes
20520
20521         * panel-applet/NMWirelessApplet.h
20522                 - Add data members for signal strength on devices and networks
20523
20524         * panel-applet/NMWirelessAppletDbus.c
20525                 - Free more DBusErrors
20526                 - Update for new signal strength changes
20527                 - Make devices and networks more like real objects, use ref/unref methods
20528                 - Actually unlock the mutex when updating the active device
20529
20530         * src/NetworkManagerAP.c
20531                 - Change AP functions and data members from "quality"->"strength"
20532
20533         * src/NetworkManagerDbus.c
20534                 - Kill "getMaxQuality" and "getQuality" methods
20535                 - Add "getStrength" methods for Networks and Devices
20536
20537         * src/NetworkManagerDevice.[ch]
20538                 - Add accessors for device strength
20539                 - Add functions to update strength for a device.  Note that not all drivers
20540                         actually support signal strength for scanned access points (Atmel drivers
20541                         being one)
20542                 - Calculate signal strength for each AP during scan
20543
20544         * src/NetworkManagerWireless.[ch]
20545                 - Add function to return signal strength % from a device and a raw quality struct
20546
20547         * test/nmclienttest.c
20548                 - Update for new signal strength changes
20549
20550 2004-09-11  Dan Williams <dcbw@redhat.com>
20551
20552         * src/NetworkManager.c
20553                 - Fix race condition between initscripts and NM on card insertion
20554                         which could cause a card to keep an IP address and routes around
20555                         even when it was not the active device
20556
20557         * src/NetworkManagerDbus.c
20558                 - Fix compile errors, free more DBusErrors
20559
20560 2004-09-11  Dan Williams <dcbw@redhat.com>
20561
20562         * docs/NetworkManager DBUS API.txt
20563                 - Add an explanation of NM's API
20564
20565         * src/NetworkManagerDbus.c
20566                 - Free some more DBusErrors if needed
20567
20568 2004-09-11  Dan Williams <dcbw@redhat.com>
20569
20570         * panel-applet/NMWirelessApplet.c
20571           panel-applet/NMWirelessAppletDbus.c
20572                 - Start using NetworkDevice/WirelessNetwork structures in more places
20573                 - Update for unified device/network forcing in NetworkManager
20574
20575         * src/NetworkManager.c
20576                 - some code consolidation
20577
20578         * src/NetworkManagerDbus.c
20579                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
20580                         or two arguments:  the first is the NM ID of the device to switch to,
20581                         and the second (optional) argument is the ESSID of a wireless network
20582                         to use as well.
20583                 - Get rid of "setNetwork" method due to above change
20584
20585         * src/NetworkManagerDevice.c
20586                 - (nm_device_new): perform scan and update best AP on device creation
20587                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
20588                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
20589                         spin waiting for cancellation to finish before returning
20590
20591         * src/NetworkManagerPolicy.c
20592                 - Changes here clarify the situations in which a device switch occurs, and 
20593                         make sure to keep using a forced device and network if the user gives
20594                         us one
20595                 - Remove old unused code
20596
20597 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
20598
20599         * configure.in: Added Danish (da) to ALL_LINGUAS.
20600
20601 2004-09-09  Dan Williams <dcbw@redhat.com>
20602
20603         * panel-applet/NMWirelessAppletDbus.c
20604                 - Pull fresh devices and networks from NM when wireless networks
20605                         change.  Provides faster feedback of a forced wireless network
20606
20607         * src/NetworkManagerDbus.c
20608                 - Return error when "getMaxQuality" is called on a wired device
20609                 - Make best_ap freezing actually work again, and signal cancellation
20610                         of activation if there's already a device activation when the user
20611                         freezes the best_ap
20612
20613         * src/NetworkManagerDevice.c
20614                 - Don't clear out the best_ap for wireless devices when the link goes
20615                         down, that's done elsewhere
20616                 - Kill any dhcp daemons when cancelling device activation since they
20617                         may be stuck waiting for a DHCP address, and since we're cancelling
20618                         activation we don't care about that anymore
20619
20620         * src/NetworkManagerPolicy.c
20621                 - Make sure to unref the device we ref earlier (we refed it to make sure
20622                         it stuck around during device activation and such)
20623                 - If we were going to change the best device, but its activating currently
20624                         (and therefore the change didn't occur due to the check earlier)
20625                         we mark the state changed to we come back to it later when device
20626                         activation has canceled and its no longer activating
20627
20628         * src/backends/NetworkManagerRedHat.c
20629                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
20630
20631 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
20632
20633         * info-daemon/passphrase.glade: 
20634         set passphrase input to activates_default : True
20635
20636         * examples/python/systray/network_tray.py
20637         (network_tray.sort_networks):
20638
20639         Added support for having wireless always scanning
20640
20641 2004-09-09  Dan Williams <dcbw@redhat.com>
20642
20643         NOTE: this commit changes the behavior of wireless devices in
20644         NetworkManager.  They are now up all the time, scanning all
20645         the time.  Only the active device has an IP address and routing
20646         information set up however.  Also, NetworkManager will no longer
20647         opportunistically switch wireless networks when a better one
20648         comes in range, it will remain associated with one wireless network
20649         until that one drops out.
20650
20651         * panel-applet/NMWirelessApplet.c
20652           panel-applet/NMWirelessAppletDbus.c
20653                 - List all wireless cards and their respective networks
20654
20655         * src/NMLoadModules
20656                 - Use full path to /sbin/ip
20657
20658         * src/NetworkManager.c
20659                 - Keep wireless devices up all the time so they can scan
20660
20661         * src/NetworkManagerDbus.c
20662                 - On a WirelessNetworkUpdate signal from NMI, don't update
20663                         the "best" AP
20664
20665         * src/NetworkManagerDevice.c
20666                 - (nm_device_set_link_active): clear out the best ap for
20667                         wireless devices when the link is set to FALSE
20668                 - Scan on all wireless cards, all the time
20669                 - (nm_device_activation_worker): split out the wireless card
20670                         link-waiting code to a separate function
20671                 - Keep wireless cards up even if device activation fails
20672                 - Don't update the "best" ap as much
20673
20674         * src/NetworkManagerPolicy.c
20675                 - Don't update the best ap when checking if its frozen,
20676                         let link checking clear out a frozen best ap for us
20677
20678         * src/NetworkManagerWireless.c
20679                 - Scan on all wireless cards, all the time
20680
20681 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
20682
20683         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
20684
20685 2004-09-09  Ankit Patel <ankit@redhat.com>
20686
20687         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
20688
20689 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
20690
20691         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
20692
20693 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
20694
20695         * examples/python/NetworkManager.py: 
20696         added CONNECTED, CONNECTING, and DISCONNECTED states
20697         added methods to return number of devices of a single type
20698
20699         * examples/python/systray/network_tray.py: 
20700         did some tweaks to get the menu looking near what it is supposed
20701         to look like.  Also did a Airo card hack to make it show the
20702         correct AP quality
20703
20704 2004-09-08  Dan Williams <dcbw@redhat.com>
20705
20706         * panel-applet/no-networkmanager.png
20707           panel-applet/Makefile.am
20708           panel-applet/NMWirelessApplet.c
20709                 - Add a "NetworkManager not running" icon and use it
20710                 - Use new consolidated GConf keys rather than Preferred/Trusted
20711
20712         * TODO: update
20713
20714         * info-daemon/NetworkManagerInfo.c
20715           info-daemon/NetworkManagerInfoDbus.[ch]
20716           info-daemon/NetworkManagerInfoPassphraseDialog.c
20717                 - There are now no longer two separate lists of wireless networks,
20718                         but one list where each network is "trusted" or not trusted
20719                 - Add a "getNetworkTrusted" dbus method
20720                 - "WirelessNetworkUpdate" signal now sent rather than
20721                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
20722                 - Start freeing some dbus errors (not completed yet)
20723
20724         * info-daemon/passphrase.glade
20725                 - Remove the "don't show" hints for pager and taskbar
20726                 - Add a title since its going to be in the taskbar
20727
20728         * src/NetworkManager.[ch]
20729           src/NetworkManagerAPList.[ch]
20730                 - There are now no longer two separate lists of wireless networks,
20731                         but one list where each network is "trusted" or not trusted
20732
20733         * src/NetworkManagerAP.[ch]
20734                 - Add get/set "trusted" accessors and data bit
20735
20736         * src/NetworkManagerDbus.[ch]
20737                 - Add function to get "trusted" status of a network from NetworkManagerInfo
20738                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
20739
20740         * src/NetworkManagerDevice.[ch]
20741                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
20742                 - (nm_device_new): Get device config from backend when initializing devices
20743                 - (nm_device_activation_worker): Split out device configuration on
20744                         activation to deal with static/dynamic IP differences, and try encryption
20745                         fallbacks on a device if the encryption method for the best AP is not good
20746                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
20747                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
20748
20749         * src/NetworkManagerWireless.c
20750                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
20751
20752         * src/backends/NetworkManagerRedHat.c
20753           src/backends/NetworkManagerSystem.h
20754                 - (nm_system_device_update_config_info): Add function to get device configuration
20755                         from system data in ifcfg-* files
20756
20757         * src/backends/NetworkManagerDebian.c
20758           src/backends/NetworkManagerGentoo.c
20759           src/backends/NetworkManagerSlackware.c
20760                 - Add stub functions for getting device configuration
20761
20762 2004-09-07  Dan Williams <dcbw@redhat.com>
20763
20764         * src/backends/NetworkManagerRedhat.c
20765           src/backends/NetworkManagerSlackware.c
20766                 - Use full path to /sbin/ip everywhere
20767
20768 2004-09-07  Dan Williams <dcbw@redhat.com>
20769
20770         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20771
20772         * configure.in
20773           initscript/Makefile.am
20774           initscript/Slackware/Makfile.am
20775           initscript/Slackware/rc.networkmanager
20776           src/Makefile.am
20777           src/backends/NetworkManagerSlackware.c
20778                 - Add Slackware support
20779
20780 2004-09-07  Dan Williams <dcbw@redhat.com>
20781
20782         Patches below from:
20783                 <j@bootlab.org>
20784                 Mark Roach <mrroach@okmaybe.com>
20785                 Thom May <thom@debian.org>
20786
20787         * configure.in
20788           initscript/Debian/NetworkManager
20789           initscript/Debian/Makefile.am
20790                 - Initscript for Debian
20791
20792         * src/backends/NetworkManagerDebian.c
20793                 - Add missing system init function to allow compilation
20794                         on Debian
20795
20796 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20797
20798         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20799
20800 2004-09-03  Akagic Amila <bono@linux.org.ba>
20801
20802         * configure.in: Added 'bs' to ALL_LINGUAS.
20803
20804 2004-09-02  Colin Walters  <walters@verbum.org>
20805
20806         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20807         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20808         g_strdup_printf instead of arbitrarily sized buffers.
20809
20810 2004-09-01  Colin Walters  <walters@verbum.org>
20811
20812         * NetworkManager.pc.in: New file.
20813
20814         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20815
20816 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20817         
20818         * configure.in: Punjabi(pa) is added to po/.
20819
20820 2004-08-31  Dan Williams <dcbw@redhat.com>
20821
20822         * Remove 'debug' extern global from all files since we now
20823                 use syslog()
20824
20825         * src/NetworkManager.[ch]
20826                 - Break out routine that get the net.interface property from HAL,
20827                         removing that logic from nm_create_device_and_add_to_list()
20828                 - (nm_create_device_and_add_to_list): make this a bit more general so
20829                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20830                         the create of test devices.
20831                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20832                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20833                         which makes NetworkManager listen for dbus commands to create test
20834                         devices, which have no backing hardware.  Use when you're on a plane
20835                         for example, and/or forgot your wireless card at home.  Test devices
20836                         _cannot_ be created unless NM is started with --enable-test-devices.
20837
20838         * src/NetworkManagerDbus.[ch]
20839                 - New "getLinkActive" method for devices
20840                 - New "setLinkActive" method for devices (only works on test devices)
20841                 - New "createTestDevice" method on NetworkManager object to create a test
20842                         device of a specified type (ie wired, wireless).  UDI is created from
20843                         scratch, as is the interface name.  Only works when NM is started with
20844                         --enable-test-devices switch.
20845                 - New "removeTestDevice" method on NetworkManager object which removes a
20846                         test device.  Only works when NM is started with --enable-test-devices
20847
20848         * src/NetworkManagerDevice.[ch]
20849                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20850                         whether a device is a test device or not, and what its link status is.
20851                 - Deal with test devices in most functions.  For those that work directly on hardware
20852                         special-case test devices.
20853                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20854                         command-line.
20855                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20856                         checking to separate functions to facilitate test device link checking.
20857                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20858                         don't make a distinction between System Authentication and Encryption
20859                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20860                         on the card.  We don't deal with Shared Key auth yet.
20861                 - (nm_device_activation_worker): split the activation cancel check logic out into
20862                         a separate routine nm_device_activation_cancel_if_needed()
20863                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20864                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20865                         a list of fake access points that they can "see"
20866                 - (nm_device_is_test_device): return whether or not a device is a test device
20867
20868         * src/NetworkManagerPolicy.c
20869                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20870                         previously if you "locked"/forced NM to use a wireless device but then
20871                         selected a wireless network for NM to use, it would switch to a wired device.
20872                         So, if the active device is wireless and it has a "forced" best AP, use it
20873                         if the "forced" best AP is still valid
20874                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20875                         there were no usable network devices, or the last one was removed
20876
20877         * src/backends/NetworkManager*.c
20878                 - Deal with test devices, mostly just return success for operations like getting
20879                         a DHCP address
20880
20881         * test/nmtestdevices.c
20882                 - Test tool to create/remove/link-switch test devices
20883
20884 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20885
20886         * examples/python/NetworkManager.py: 
20887         added convience functions has_wired_device and has_wireless_device
20888
20889         * examples/python/systray/network_tray.py: 
20890         cleaned up a bunch of cruft, added support for listing wireless
20891         networks just like the real applet.  This is probably all I'm
20892         going to work on this applet from now on.
20893         TODO: add support for actually changing networks and devices
20894
20895         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20896         changed "nm.networks" into a dict from a list so I can store all
20897         the cool information about networks in there
20898
20899         * examples/python/systray/network_tray.py: 
20900         Added nice message when you try to run without running make first
20901
20902         * examples/python/NetworkManager.py: 
20903         Bug fixes to the code so we get all the device information
20904         that we need in get_device()
20905         
20906         * examples/python/NMTester.py: 
20907         Fixed _print_device_list to print_device_list
20908
20909 2004-08-29  Seth Nickell  <seth@gnome.org>
20910
20911         * configure.in:
20912
20913         Actually properly setup the Debian backend in configure.
20914         
20915 2004-08-29  Colin Walters  <walters@verbum.org>
20916
20917         * test/nminfotest.c: Include string.h and stdlib.h.
20918         (get_network_string_property, get_networks_of_type): Return NULL.
20919
20920         * test/nmclienttest.c (get_device_name, get_active_device): Return
20921         NULL.
20922
20923         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20924         use strlen, fgets always NULL-terminates the string.
20925
20926         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20927         dbus_message_get_member): Remove /* in comment.
20928
20929         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20930
20931         * src/NetworkManager.c (quit): Unused, delete.
20932         (nm_data_free): Cast arg to GFunc.
20933
20934         * panel-applet/NMWirelessAppletDbus.c: Need to include
20935         string.h, and dbus-glib-lowlevel.h (the latter is needed
20936         for dbus_connection_setup_with_g_main at present).
20937         (nmwa_dbus_update_wireless_network_list): Parenthesize
20938         assignment in conditional.
20939         (nmwa_dbus_worker): Return NULL.
20940
20941         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20942         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20943         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20944         (nmwa_populate_menu): Return NULL on failure, instead of just
20945         return;
20946
20947         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20948
20949         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20950         variables.
20951
20952         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20953         delete.
20954         
20955 2004-08-29  Colin Walters  <walters@verbum.org>
20956
20957         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
20958         a GTimeVal instead of time_t.  This is easier to work with,
20959         since time_t may be a long or double, we don't know.
20960
20961         * src/NetworkManagerDbus.h: Update prototype.
20962         
20963         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
20964         instead of time_t.
20965         (nm_ap_get_timestamp): Update to return GTimeVal.
20966         (nm_ap_set_timestamp): Update to take GTimeVal.
20967         
20968         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
20969         to handle GTimeVal.
20970
20971         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
20972         GTimeVal change.
20973         (nm_ap_list_print_members): Fix warnings in printf format.
20974
20975 2004-08-29  Colin Walters  <walters@verbum.org>
20976         
20977         * panel-applet/NMWirelessApplet.c: Include config.h.
20978
20979 2004-08-29  Colin Walters  <walters@verbum.org>
20980
20981         * configure.in: Generate config.h.
20982
20983         * configure.in: Dump dependency on OpenSSL; we can't
20984         use it since this package is GPL:
20985         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
20986         Instead, check for libgcrypt, use it if available,
20987         otherwise use included MD5 code.
20988
20989         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
20990         Suck in from gnome-keyring, munge a bit.
20991         
20992         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
20993         gnome-keyring-md5.h gnome-keyring-md5.c.
20994         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
20995
20996         * src/NetworkManagerWireless.c (nm_md5): New function, uses
20997         libgcrypt or included gnome-keyring md5 bits.
20998         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
20999
21000 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
21001
21002         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
21003
21004 2004-08-27  Bryan Clark  <bclark@redhat.com>
21005
21006         * examples/python/systray/Makefile: 
21007
21008         Updated the clean section
21009         
21010         * examples/python/systray/trayiconmodule.c: 
21011         * examples/python/systray/trayicon.override: 
21012         * examples/python/systray/network_tray.py: 
21013         * examples/python/systray/eggtrayicon.h: 
21014         * examples/python/systray/eggtrayicon.c: 
21015         * examples/python/systray/Makefile: 
21016         * examples/python/README: 
21017         * examples/python/NetworkManager.py: 
21018         * examples/python/NMTester.py: 
21019
21020         Initial commit of these python example files
21021
21022 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
21023
21024         * panel-applet/NMWirelessApplet.c
21025                 - Make current device bold
21026                 - Show more user-friendly device name if we got one from hal
21027
21028         * panel-applet/NMWirelessAppletDbus.c
21029                 - Grab "info.product" key from hal for network devices
21030                 - Cache the current active device
21031
21032 2004-08-27  Adam Weinberger  <adamw@gnome.org>
21033
21034         * configure.in: Added en_CA to ALL_LINGUAS.
21035
21036 2004-08-27  Christian Rose  <menthos@menthos.com>
21037
21038         * configure.in: Added "sv" to ALL_LINGUAS.
21039
21040 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
21041
21042         * Tag NetworkManager-0.2
21043
21044 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
21045
21046         * initscripts/Makefile.am
21047         * configure.in: Make pass distcheck
21048
21049         * po/ChangeLog: added
21050
21051 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
21052
21053         * panel-applet/NMWirelessApplet.c
21054                 - Remove debugging code
21055                 - Enable device switching from menus
21056
21057         * panel-applet/NMWirelessAppletDbus.[ch]
21058                 - Method for asking NM to switch devices
21059
21060         * src/NetworkManagerDevice.c
21061                 - Set dev->activating earlier, avoids race between
21062                         the dbus signal of "DeviceActivating" and setting
21063                         dev->activating (which is what NM's "status" method call
21064                         looks at)
21065
21066 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
21067
21068         * panel-applet/NMWirelessApplet.[ch]
21069                 - Rework menu code to add devices to menu, and to show
21070                         signal strength for each access point.  Code cleanups
21071                         too.
21072
21073         * panel-applet/NMWirelessAppletDbus.c
21074                 - Grab network devices from NetworkManager too
21075                 - Grab quality information from NM for wireless networks
21076
21077         * src/NetworkManagerDbus.[ch]
21078                 - Add dbus methods for getting the HAL UDI from a device and
21079                         for getting its base quality, if its wireless
21080                 - Consolidate some functions (wireless network notifications,
21081                         device notifications)
21082                 - Add method for requesting NM to use a particular device
21083
21084         * src/NetworkManager.c
21085                 - Change for function consolidations from NetworkManagerDbus.c
21086                 - Implement active device locking and user-requested devices
21087                         (ie, tell NM to use a particular device instead of the one
21088                         it autochose)
21089
21090         * src/NetworkManagerDevice.c
21091                 - Add method for getting the base quality of a device, if its
21092                         wireless
21093                 - Grab device base quailty info from iwlib during scans
21094
21095         * src/NetworkManagerPolicy.c
21096                 - Use a user-requested device rather than the auto-chosen device
21097                         if we are told to
21098
21099 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
21100
21101         * Makefile.am: add po as a supdir
21102
21103         * autogen.sh: use gnome-autogen.sh
21104
21105         * initscript/Gentoo/.cvsignore:
21106         * initscript/RedHat/.cvsignore: Shut up cvs
21107
21108         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
21109
21110         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
21111         (nmwa_fill): Use gettext.
21112
21113         * configure.in: add gettext support
21114         * po/.cvsignore:
21115         * po/NetworkManager.pot:
21116         * po/POTFILES.in:
21117
21118 2004-08-26  Seth Nickell  <seth@gnome.org>
21119
21120         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
21121         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
21122         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
21123         (nmwa_dispose_menu_items), (nmwa_populate_menu),
21124         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
21125         * panel-applet/NMWirelessApplet.h:
21126
21127         Use a menu bar instead of a button for the main clickable
21128         thingy.
21129         
21130 2004-08-25  Dan Williams <dcbw@redhat.com>
21131
21132         * src/NetworkManagerDevice.c
21133                 - (nm_device_set_enc_key): always set device to "open" mode instead of
21134                         turning encryption off, because the Cisco driver doesn't associate
21135                         with WEP-enabled access points unless we are in "open"
21136
21137 2004-08-25  Dan Williams <dcbw@redhat.com>
21138
21139         * src/NetworkManagerWireless.c
21140                 - Don't try to defererence blank passphrases
21141
21142 2004-08-25  Dan Williams <dcbw@redhat.com>
21143
21144         * panel-applet/NMWirelessApplet.c
21145                 - Rebuild the menu whenever a user clicks
21146
21147 2004-08-25  Dan Williams <dcbw@redhat.com>
21148
21149         * panel-applet/NMWirelessApplet.c
21150                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
21151                         when NM isn't around or when its not connected
21152
21153         * src/NetworkManagerDevice.c
21154                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
21155                         canceled.
21156
21157 2004-08-25  Dan Williams <dcbw@redhat.com>
21158
21159         * panel-applet/NMWirelessAppletDbus.c
21160                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
21161                         for getting encryption, and don't stop on "val" once we've gotten it
21162                         from NetworkManager.  Short form:  encryption should now show up.
21163
21164 2004-08-25  Dan Williams <dcbw@redhat.com>
21165
21166         * panel-applet/NMWirelessApplet.c
21167                 - Set ESSID on a gconf trusted network too when force-setting the wireless
21168                         network to associate with
21169
21170 2004-08-25  Dan Williams <dcbw@redhat.com>
21171
21172         * panel-applet/*
21173                 - Rework the panel applet to do all DBUS communication in a separate
21174                         thread
21175
21176 2004-08-25  Dan Williams <dcbw@redhat.com>
21177
21178         * info-daemon/NetworkManagerInfo.[ch]
21179                 - Remove "get_next_priority" function
21180
21181         * info-daemon/NetworkManagerInfoDbus.[ch]
21182                 - Convert "priority" functions to "timestamp"
21183
21184 2004-08-25  Dan Williams <dcbw@redhat.com>
21185
21186         * src/NetworkManagerAP.[ch]
21187                 - Add a "enc_method_good" member and accessors to an Access Point
21188                         to signal when we've found the correct encryption method
21189                         for an access point
21190                 - Add a "timestamp" member and accessors, remove "priority" member
21191                         and accessors (use timestamps instead)
21192                 - Rename "wep_key"->"enc_key"
21193                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
21194                         for a specified encryption method using the access points
21195                         source encryption key/passphrase
21196
21197         * src/NetworkManagerAPList.c
21198                 - When updating a network with dbus, grab timestamp now instead of
21199                         priority
21200
21201         * src/NetworkManagerDBus.[ch]
21202                 - Add signal for "DeviceActivating"
21203                 - Switch priority->timestamp
21204
21205         * src/NetworkManagerDevice.c
21206                 - Change references of "wep_key" -> "enc_key" or "key"
21207                 - Signal DeviceActivating when starting activation
21208                 - When activating a wireless device, if the access point we are connecting
21209                         to is encrypted, and we have a source key, try to generate a mangled
21210                         key and use that (ie, generate real WEP key from a passphrase)
21211                 - Rework device activation to fallback to other encryption methods if
21212                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
21213                         first, then if that doesn't work fall back to direct hex key).
21214                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
21215                         priority.  We now prefer the latest access point used, rather than using
21216                         a priority scheme
21217                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
21218                         points we've just discovered, and merge in correct info from the global
21219                         access point lists
21220
21221 2004-08-25  Seth Nickell  <seth@gnome.org>
21222
21223         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
21224         Debian support.
21225         
21226         * src/Makefile.am:
21227         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
21228         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
21229         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
21230         (nm_system_delete_default_route),
21231         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
21232         (nm_system_load_device_modules):
21233
21234 2004-08-24  Dan Willemsen <dan@willemsen.us>
21235
21236         * src/NetworkManager.c
21237           src/backends/NetworkManagerGentoo.c
21238           src/backends/NetworkManagerRedHat.c
21239           src/backends/NetworkManagerSystem.h
21240                 - Implement preliminary Gentoo support, adding a
21241                         nm_system_init function to the backend specification
21242
21243         * configure.in
21244                 - Distribution auto-detection, lowercase any user-fed
21245                         distribution names
21246
21247         * initscript/.cvsignore
21248           initscript/Makefile.am
21249           initscript/RedHat/Makefile.am
21250           initscript/RedHat/NetworkManager
21251           initscript/Gentoo/Makefile.am
21252           initscript/Gentoo/NetworkManager
21253                 - Refactored initscript code separately for each
21254                         distribution
21255
21256 2004-08-23  Dan Williams <dcbw@redhat.com>
21257
21258         * configure.in
21259           src/Makefile.am
21260           src/NetworkManagerDevice.c
21261           src/NetworkManager.c
21262           src/NetworkManagerUtils.[ch]
21263           src/backends/NetworkManagerSystem.h
21264           src/backends/NetworkManagerRedHat.c
21265           src/backends/NetworkManagerGentoo.c
21266                 - Refactor system-specific code into separate backends for
21267                         each distribution
21268
21269 2004-08-23  Dan Willemsen <dan@willemsen.us>
21270
21271         * dispatcher-daemon/NetworkManagerDispatcher.c
21272           info-daemon/NetworkManagerInfo.[ch]
21273           info-daemon/NetworkManagerInfoDbus.c
21274           info-daemon/NetworkManagerInfoPassphraseDialog.c
21275           src/NetworkManager.c
21276           src/NetworkManagerAP.c
21277           src/NetworkManagerAPList.c
21278           src/NetworkManagerDbus.c
21279           src/NetworkManagerDevice.c
21280           src/NetworkManagerPolicy.c
21281           src/NetworkManagerUtils.[ch]
21282           src/NetworkManagerWireless.c
21283                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
21284
21285         * src/NetworkManager.c
21286                 - Fixed usage wording for --no-daemon
21287
21288 2004-08-23  Dan Williams <dcbw@redhat.com>
21289
21290         * panel-applet/NMWirelessApplet.c
21291                 - Update our state every second to get more responsive panel icon
21292                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
21293                         was causing our marching ants status blips to never move when
21294                         looking for a wireless network
21295
21296         * src/NetworkManagerDevice.c
21297                 - (nm_device_activation_begin): return if activation has already begun
21298                 - (nm_device_do_normal_scan): merge WEP key and priority from the
21299                         trusted/preferred network into the device's access point when the
21300                         scan list is processed
21301
21302 2004-08-23  Dan Williams <dcbw@redhat.com>
21303
21304         * initscript/NetworkManager
21305                 - Use NMLaunchHelper rather than sleeping
21306
21307         * initscript/NMLaunchHelper.c
21308           Makefile.am
21309                 - Add helper program that exits only when NM activates a device,
21310                         or 10 seconds have passed, whichever happens first.  This
21311                         stops the boot processes until we have a network connection,
21312                         which NM can't do because it daemonizes and brings the connection
21313                         up in the background.  Allows stuff like NFS to not die.
21314
21315 2004-08-20  Dan Williams <dcbw@redhat.com>
21316
21317         * info-daemon/NetworkManagerInfoPassphraseDialog.c
21318                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
21319                         for a network, set the essid as well since it may not exist yet
21320                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
21321                         since WEP keys/passphrases are long and prone to entry-error
21322
21323         * panel-applet/Makefile.am
21324           panel-applet/wired.png
21325                 - Add (pulled from system-config-network temporarily)
21326
21327         * panel-applet/NMWirelessApplet.[ch]
21328                 - Show wired picture when a wired connection is used
21329                 - Rename wireless icon enums, adding WIRELESS
21330
21331         * src/NetworkManagerDevice.c
21332                 - (nm_device_activate_wireless): unset encryption before bringing
21333                         down the card and setting the essid
21334                 - (nm_device_activatin_worker): request a key from the user if the
21335                         AP we are connecting to is encrypted but we don't have a key
21336                         for it yet
21337                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
21338                         strcmp() that prevented a user-entered key from actually getting
21339                         used
21340
21341 2004-08-16  Dan Williams <dcbw@redhat.com>
21342
21343         * initscript/NetworkManager
21344                 - Check for /sbin/ip
21345                 - Do sysctl magic that network service does
21346                 - sleep 4s after start to allow network time to come up [hack]
21347
21348         * src/Makefile.am
21349           src/NMLoadModules
21350                 - Load all network device kernel modules (hal doesn't know devices
21351                         are ethernet until the module is loaded, and therefore we don't know)
21352
21353         * src/NetworkManager.c
21354                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
21355                         network devices, and bring up the loopback device explicitly
21356
21357         * src/NetworkManagerUtils.[ch]
21358                 - (nm_enable_loopback): new function
21359
21360 2004-08-13  Dan Williams <dcbw@redhat.com>
21361
21362         * configure.in
21363           panel-applet/Makefile.am
21364                 - Fix up cleanfiles and server_DATA/server_in_files
21365
21366         * README
21367                 - Update with some comments on theory of operation
21368
21369         * CONTRIBUTING
21370           Makefile.am
21371                 - Add CONTRIBUTING
21372
21373 2004-08-12  Dan Williams <dcbw@redhat.com>
21374
21375         * info-daemon/passphrase.glade
21376                 - Set window title to " "
21377
21378         * panel-applet/Makefile.am
21379           panel-applet/keyring.png
21380                 - Deliver to correct place
21381
21382         * panel-applet/NMWirelessApplet.[ch]
21383                 - Add comments
21384                 - Remove applet->have_active_device as its no longer used
21385                 - (nmwa_load_theme): load keyring.png too
21386                 - (error_dialog): remove
21387                 - (show_warning_dialog): subsume functionality of error dialog too
21388                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
21389                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
21390                         the networks menu
21391                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
21392                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
21393                         and when we get broadcasts of changed wireless access points only, not when the
21394                         user clicks on the button to display the menu (too long of a wait)
21395                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
21396                         networks that are encrypted
21397                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
21398                         menu item with g_object_set_data()
21399
21400         * panel-applet/NMWirelessAppletDbus.[ch]
21401                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
21402                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
21403                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
21404                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
21405                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
21406                         activation/deactivation signals and rebuild the menu when they happen
21407
21408         * src/NetworkManager.c
21409                 - (main): use new nm_spawn_process() rather than system()
21410
21411         * src/NetworkManagerDbus.c
21412                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
21413                         instead.  Since we can now force best_aps to stick around, the AP structure to which
21414                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
21415                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
21416                         to freeze the best_ap.
21417
21418         * src/NetworkManagerDevice.[ch]
21419                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
21420                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
21421                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
21422                         ap list
21423
21424         * src/NetworkManagerUtils.[ch]
21425                 - (nm_spawn_process): add replacement for system() usage
21426
21427 2004-08-11  Dan Williams <dcbw@redhat.com>
21428
21429         * panel-applet/NMWirelessApplet.[ch]
21430                 - Fix up copyright and credits to include Bastien and Eskil,
21431                         who created the gnome-applets wireless applet, from whose
21432                         skeleton this one was created
21433                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
21434                         pixmap to draw is computed during nmwa_update_state()
21435                 - Applet now shows itself all the time due to panel packing issues
21436                         which caused the applet to previously never come back after hiding.
21437                         When a wired device is the active device, the applet shows "not connected"
21438
21439         * panel-applet/NMWirelessAppletDbus.[ch]
21440                 - Clean up error messages and show what function they are from
21441                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
21442                 - Add new device type getters, and a status getter
21443
21444         * src/NetworkManagerDbus.c
21445                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
21446                         network is actually in the device's ap list
21447                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
21448
21449         * src/NetworkManagerDevice.c
21450                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
21451                         card
21452
21453         * test/nmclienttest.c
21454                 - Report status of NetworkManager too
21455
21456 2004-08-11  Dan Williams <dcbw@redhat.com>
21457
21458         * info-daemon/NetworkManagerInfo.c:
21459                 - (main): clean up Seth's code style
21460
21461         * info-daemon/NetworkManagerInfoDbus.c:
21462                 - Use the more aptly-named path/service/interface constants from NetworkManager
21463                 - Don't return empty strings ("") as object paths ever, instead return errors
21464
21465         * panel-applet/NMWirelessApplet.c:
21466                 - Clean up Seth's code style
21467
21468         * src/NetworkManager.[ch]
21469                 - (nm_remove_device_from_list): remove anything having to do with pending_device
21470                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
21471
21472         * src/NetworkManagerAPList.[ch]
21473                 - Move Iter struct right above the iter functions to preserve opacity
21474                 - (nm_ap_list_remove_ap): implement
21475                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
21476                         remove AP if NetworkManagerInfo doesn't know anything about it
21477                 - (nm_ap_list_diff): user NMAPList iterators
21478                 - (nm_ap_list_print_members): implement debugging function
21479
21480         * src/NetworkManagerDbus.[ch]
21481                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
21482                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
21483                         and move the actual key setting stuff into NetworkManagerDevice.c
21484                 - (nm_dbus_get_network_priority): return -1 now on errors
21485                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
21486                         get lost, and force the active device to update its "best" ap when AP lists change
21487                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
21488                         method call due to pending_device member removal
21489
21490         * src/NetworkManagerDevice.[ch]
21491                 - Move NMDevice structure to the top
21492                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
21493                 - Remove Pending Action stuff from everywhere
21494                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
21495                         activation for us.  This thread blocks until all conditions for activation have
21496                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
21497                         then setup up the interface and runs dhclient.  We have to do this because there
21498                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
21499                         run our main loop and respond to dbus method calls or HAL device removals/inserts
21500                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
21501                         can tell nm_device_activation_worker() that we've got a key
21502                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
21503                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
21504                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
21505                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
21506
21507         * src/NetworkManagerPolicy.c
21508                 - Remove anything to do with pending_device
21509                 - Adjust device activation to deal with activation-in-worker-thread
21510
21511         * src/NetworkManagerUtils.c
21512                 - Clean up locking debugging a bit
21513
21514         * src/NetworkManagerWireless.[ch]
21515                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
21516                         was badly named and is better as a device function
21517
21518         * panel-applet/.cvsignore: add
21519
21520 2004-08-09  Seth Nickell  <seth@gnome.org>
21521
21522         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
21523         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
21524         (nmwa_new):
21525         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
21526
21527         Don't load the menus until clicked on (also removes a call outside
21528         normal code paths at first load).
21529
21530         Hide applet when NM is not present.
21531         
21532         Improve printf debugging stuff.
21533         
21534 2004-08-09  Dan Williams <dcbw@redhat.com>
21535
21536         * dispatcher-daemon/NetworkManagerDispatcher.c:
21537                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
21538                 - Use constants for NetworkManager interface, service, and path
21539
21540 2004-08-09  Dan Williams <dcbw@redhat.com>
21541
21542         * src/NetworkManagerDbus.c:
21543                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
21544                         instead return an error message
21545                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
21546                         on a wired device.  Also never return an empty object path, instead return an error message
21547
21548 2004-08-06  Seth Nickell  <seth@gnome.org>
21549
21550         * panel-applet/NMWirelessApplet.c: (nmwa_new):
21551
21552         Check the error code when getting a connection.
21553         
21554         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
21555
21556         Check if the NM service exists when initializing (rather than
21557         assuming it does not).
21558         
21559         * src/NetworkManagerDbus.c: (nm_dbus_init):
21560
21561         Don't acquire the well-known service name until we have
21562         registered object/path handlers and can actually receive
21563         calls.
21564         
21565 2004-08-06  Dan Williams <dcbw@redhat.com>
21566
21567         * panel-applet/*
21568                 - Add panel applet
21569
21570         * src/NetworkManagerPolicy.c
21571           src/NetworkManager.c
21572                 - Get access point lists from NetworkManagerInfo on-demand,
21573                         and look for ServiceCreate/ServiceDeleted signals to see when
21574                         we should query NMI for lists
21575         * src/NetworkManagerAPList.c
21576                 - Make sure to init the list's mutex
21577                 - Convert traversals of the list over to the list iter functions
21578
21579         * src/NetworkManagerDbus.[ch]
21580                 - Use more aptly-named path/service/interface constants
21581                 - Treat both active and pending devices the same for "getActiveDevice"
21582                 - Add a "status" method returning "connected", "connecting", or "disconnected"
21583
21584         * src/NetworkManagerDevice.c
21585                 - Honor "ignored" network list when picking best ap to use
21586
21587 2004-08-06  Seth Nickell  <seth@gnome.org>
21588
21589         * aclocal.m4:
21590
21591         Autogenerated, remove from CVS.
21592         
21593         * autogen.sh:
21594
21595         Don't hardcode automake version.
21596         
21597         * configure.in:
21598         * info-daemon/Makefile.am:
21599         * info-daemon/NetworkManagerInfo.c: (main):
21600
21601         Use GnomeProgram et al. for doing session management.
21602         Use popt stuff for argument parsing rather than doing
21603         it manugally.
21604         
21605 2004-08-05  Dan Williams <dcbw@redhat.com>
21606
21607         * test/nminfotest.c
21608                 - Update to new NMI dbus API, check different network types
21609
21610         * info-daemon/NetworkManagerInfoDbus.c
21611                 - Update to new NM dbus API, ie network type sent in query message
21612
21613 2004-08-05  Dan Williams <dcbw@redhat.com>
21614
21615         * An assload of changes
21616
21617 2004-08-02  Dan Williams <dcbw@redhat.com>
21618
21619         * TODO
21620                 - new task: proper logging support
21621
21622         * info-daemon/NetworkManagerInfo.c
21623                 - Correct spelling of "canceled"
21624                 - Correct casting of objects for g_signal_connect()
21625
21626         * info-daemon/NetworkManagerInfoDbus.c
21627                 - Add defines for NetworkManager namespace and object path, and use them
21628                 - Add filter function to trap new signals from NetworkManager:
21629                         WirelessNetworkAppeared, WirelessNetworkDisappeared
21630
21631         * info-daemon/passphrase.glade
21632                 - Change name of "ok" button to "Login to Network..."
21633                 - Mark invisible
21634
21635         * src/NetworkManager.c
21636                 - Code and debug message cleanups
21637                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
21638                 - (nm_add_initial_devices) Check returned string array of devices
21639                         and don't try to add devices if array is NULL
21640                 - (main) Initialize libhal a bit later, make code a bit clearer
21641
21642         * src/NetworkManagerAP.[ch]
21643                 - New accessor and data member "matched": used to speed up AP list
21644                         diffing
21645                 - New accessor and data member "enc_method": will be used during key
21646                         fallback to cache which passphrase->key conversion actually works
21647                         so we don't have to do it every time
21648
21649         * src/NetworkManagerAPList.[ch]
21650                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
21651                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
21652                         between them, and send WirelessNetworkAppeared/Disappeared signals over
21653                         dbus in response to those differences
21654
21655         * src/NetworkManagerDbus.[ch]
21656                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
21657                         make an object path for that access point (NOTE that we don't yet check to
21658                         make sure that access point is actually in the device's AP list yet)
21659                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
21660                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
21661                         New: signal appearance/disappearance of wireless networks
21662                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
21663                         key entry
21664
21665         * src/NetworkManagerDevice.[ch]
21666                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
21667                 - (nm_device_ap_list_get) New: return the AP list (static function)
21668                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
21669                         new one resulting from the scan with the old one
21670
21671         * src/NetworkManagerWireless.c
21672                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
21673
21674         * test/nminfotest.c
21675                 - #define object paths and namespaces and use the #defines rather than static strings
21676                 - Test out user-key functionality of NetworkManagerInfo too
21677
21678 2004-07-29  Dan Williams <dcbw@redhat.com>
21679
21680         * info-daemon/NetworkManagerInfoDbus.c
21681           src/NetworkManagerDbus.c
21682                 - Update to current DBus (ie don't use decomposed paths when registering
21683                         object paths/fallbacks)
21684
21685 2004-07-27  Dan Williams <dcbw@redhat.com>
21686
21687         * Remove various Makefile.in files
21688
21689         * TODO
21690                 - Add some more items
21691
21692         * configure.in
21693                 - Add checks for OpenSSL/md5 headers and libs
21694
21695         * src/Makefile.am
21696                 - Use OpenSSL CFLAGS
21697
21698         * src/NetworkManagerAP.[ch]
21699                 - Remove 'stamp' functions, replace with 'invalid' functions
21700                         to support user cancelling WEP key entry
21701
21702         * src/NetworkManagerDbus.c
21703                 - Remove 'stamp' return functions
21704                 - Treat returned user key as a passphrase and convert to a WEP key,
21705                         but don't actually use the WEP key yet.  We use the returned user
21706                         key as a hexadecimal WEP key until we can figure out a UI for
21707                         passphrase-vs-hex key
21708
21709         * src/NetworkManagerWireless.[ch]
21710                 - Add passphrase-to-128bit-key function
21711
21712 2004-07-27  Dan Williams <dcbw@redhat.com>
21713
21714         * TODO
21715                 - Add a couple of items
21716
21717 2004-07-27  Dan Williams <dcbw@redhat.com>
21718
21719         * info-daemon/NetworkManagerInfo.c
21720                 - Update allowed network's GConf key when user enters a WEP key explicitly
21721
21722         * info-daemon/NetworkManagerDbus.c
21723                 - Fix some comments
21724                 - nmi_dbus_get_allowed_networks(): kill warning
21725
21726 2004-07-27  Dan Williams <dcbw@redhat.com>
21727
21728         * initscript/Makefile.in
21729                 - Remove
21730
21731         * initscript/Makefile.am
21732                 - Add correct rules to install the init.d initscript
21733
21734         * info-daemon/NetworkManagerInfoDbus.c
21735                 - Remove debug fprintf
21736
21737         * src/NetworkManagerDbus.[ch]
21738                 - Remove debug fprintfs
21739                 - Add macros for NetworkManagerInfo object path/namespace
21740                 - Use said macros instead of constant strings
21741
21742 2004-07-27  Dan Williams <dcbw@redhat.com>
21743
21744         * initscript/.cvsignore
21745                 - Add
21746
21747         * info-daemon/Makefile.am
21748                 - Install .glade files and keyring.png
21749                 - Fix stupid omission of a \ that caused half the flags not to be
21750                         passed to gcc
21751
21752         * info-daemon/NetworkManagerInfo.c
21753                 - gtk_signal_connect->g_signal_connect
21754                 - Alert NetworkManagerInfo to new glade file location
21755
21756 2004-07-27  Dan Williams <dcbw@redhat.com>
21757
21758         * test/nmclienttest.c
21759           test/nminfotest.c
21760                 - Add missing <dbus/dbus.h> headers
21761                 - Add GPL message at top
21762
21763 2004-07-27  Dan Williams <dcbw@redhat.com>
21764
21765         * src/NetworkManagerAPList.[ch]
21766           src/Makefile.am
21767                 - Add.  Deal with allowed network list additions, deletions, and updates
21768
21769         * dispatcher-daemon/NetworkManagerDispatcher.c
21770                 - Add missing <dbus/dbus.h> header
21771
21772         * info-daemon/NetworkManagerInfo.[ch]
21773                 - Add missing <dbus/dbus.h> header
21774                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21775                         network change
21776                 - Better error checking
21777
21778         * info-daemon/NetworkManagerInfoDbus.[ch]
21779                 - Add missing <dbus/dbus.h> header
21780                 - Convert to using dbus_message_append_args/dbus_message_get_args
21781                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21782                         that an allowed network changed.  We don't want to signal on individual
21783                         keys _inside_ an allowed network really, just want NM to query the info
21784                         daemon for updated info on all keys.
21785                 - Better error checking
21786
21787         * src/NetworkManager.[ch]
21788                 - Add missing <dbus/dbus.h> header
21789                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21790                 - Zero out NMData structure on free
21791                 - No longer use a thread for allowed_ap_list updating, instead its now done
21792                         through dbus queries against NetworkManagerInfo
21793                 - Populate allowed_ap_list initially before adding existing network devices
21794                         to the device list, so wireless devices can get their "best" AP
21795
21796         * src/NetworkManagerDbus.[ch]
21797                 - Convert to using dbus_message_append_args/dbus_message_get_args
21798                 - Better error checking
21799                 - Implement Allowed Network info functions to request allowed network
21800                         info from NetworkManagerInfo
21801                 - Implement the filter function to process signals from NetworkManagerInfo
21802                         about changing allowed networks
21803
21804         * src/NetworkManagerDevice.c
21805                 - Fix file descriptor leak in nm_device_update_ip4_address()
21806
21807 2004-07-27  Dan Williams <dcbw@redhat.com>
21808
21809         * .cvsignore
21810           src/.cvsignore
21811           test/.cvsignore
21812           dispatcher-daemon/.cvsignore
21813           info-daemon/.cvsignore
21814                 - Add .cvsignore files to reduce noise when diffing
21815
21816 2004-07-24  Dan Williams <dcbw@redhat.com>
21817
21818         * src/NetworkManager.[ch]
21819           src/NetworkManagerDbus.[ch]
21820           src/NetworkManagerDevice.[ch]
21821           src/NetworkManagerPolicy.c
21822           src/NetworkManagerWireless.[ch]
21823                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21824                 - Pass the NMData application data structure through all calls
21825                         that need it so we can get rid of nm_get_global_data()
21826                 - Change deallocation of the allowed_ap_list GSList in preparation
21827                         for not completely clearing it every time we get an update,
21828                         but instead getting incremental updates via GConf/dbus
21829
21830 2004-07-22  Dan Williams <dcbw@redhat.com>
21831
21832         * configure.in
21833                 - Add checks for GConf libs & headers & flags
21834
21835         * info-daemon/Makefile.am
21836                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21837
21838         * info-daemon/NetworkManagerInfo.[ch]
21839                 - Don't use gquarks for data storage, just use normal data storage
21840                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21841
21842         * info-daemon/NetworkManagerDbus.[ch]
21843                 - Add method call for getting allowed networks
21844                 - Add method calls for getting an allowed network's essid, priority, and key
21845                 - Hook the method calls up to GConf
21846                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21847                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21848                 
21849         * src/NetworkManagerDbus.[ch]
21850                 - Switch for enumeration of networks to using essid instead
21851
21852         * test/Makefile.am
21853           test/nminfotest.c
21854                 - Add test program for NetworkManagerInfo
21855
21856 2004-07-19  Dan Williams <dcbw@redhat.com>
21857
21858         * src/NetworkManagerDbus.c
21859                 - Switch from indexed device paths to names.  Less code, more efficient.
21860                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21861
21862 2004-07-19  Dan Williams <dcbw@redhat.com>
21863
21864         * dispatcher-daemon/NetworkManagerDispatcher.c
21865                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21866
21867 2004-07-19  Dan Williams <dcbw@redhat.com>
21868
21869         * Makefile.am
21870                 - Add info-daemon directory
21871
21872         * configure.in
21873                 - Check for glade libs and headers
21874                 - Add info-daemon directory
21875
21876         * src/NetworkManagerAP.c
21877                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21878                         copied over to the new AP.
21879
21880         * src/NetworkManagerDbus.c
21881           src/NetworkManagerDbus.h
21882                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21883                 - Remove nm_dbus_signal_need_key_for_network()
21884                 - Add disabled code for asynchronous user wep key callbacks
21885                 - Add functions for getting, setting, and cancelling user key operations
21886                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21887                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21888
21889         * src/NetworkManagerDevice.c
21890           src/NetworkManagerDevice.h
21891                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21892                         logic is in device activation now
21893                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21894                         key is wrong) trigger get-user-key pending action
21895                 - Implement get-user-key pending action stuff, tie to dbus messages
21896                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21897                 - Add nm_device_ap_list_get_ap_by_essid()
21898                 - Instead of copying "best" access points, ref them instead so that the key we set
21899                         sticks around
21900
21901         * src/NetworkManagerPolicy.c
21902                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21903                 - Don't cancel pending actions on a device if its the same device as last iteration
21904                 - Only promote pending_device->active_device if activation was successfull
21905
21906         * src/Makefile.am
21907                 - Rename nmclienttest->nmtest
21908
21909         * info-daemon/Makefile.am
21910           info-daemon/NetworkManagerInfo.c
21911           info-daemon/NetworkManagerInfo.h
21912           info-daemon/NetworkManagerInfoDbus.c
21913           info-daemon/NetworkManagerInfoDbus.h
21914           info-daemon/passphrase.glade
21915           info-daemon/NetworkManagerInfo.conf
21916           info-daemon/keyring.png
21917                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21918                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21919                         lists to NetworkManager by proxying user's GConf
21920           
21921
21922 2004-07-15  Dan Williams <dcbw@redhat.com>
21923
21924         * src/Makefile.am
21925                 - Turn on warnings
21926
21927         * src/NetworkManager.c
21928                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21929                         that doing the deactivation ourselves
21930                 - Cancel an pending actions on a device if its being removed
21931                 - Break up link state checking a bit, make non-active wireless cards
21932                         deactivated to save power
21933                 - Remove unused variables
21934
21935         * src/NetworkManager.h
21936                 - Add support for "pending" device
21937
21938         * src/NetworkManagerAP.h
21939           src/NetworkManagerAP.c
21940                 - Add support for determining whether and AP has encryption enabled or not
21941                 - AP address is now "struct ether_addr" rather than a string
21942
21943         * src/NetworkManagerDbus.h
21944           src/NetworkManagerDbus.c
21945                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21946                 - Changes for AP address from struct ether_addr->string
21947
21948         * src/NetworkManagerDevice.h
21949           src/NetworkManagerDevice.c
21950                 - Remove unused variables, fix warnings
21951                 - Add support for Pending Actions (things that block a device from being "active"
21952                         until they are completed).
21953                 - First pending action:  Get a WEP key from the user
21954                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
21955                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
21956                 - Update wireless link checking to try to determine if the AP we are associated
21957                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
21958                         trigger the GetUserKey pending action on the device
21959                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
21960                         up in that case, otherwise we can't scan or link-check on it
21961                 - Add IP address change notifications at appropriate points (still needs some work)
21962                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
21963
21964         * src/NetworkManagerPolicy.h
21965           src/NetworkManagerPolicy.c
21966                 - Split out "best" access point determiniation into separate function
21967                 - Make device activation 2-stage:  first the device is pending, then
21968                         in the next iteration through it becomes "active" unless it has
21969                         pending actions
21970
21971         * src/NetworkManagerUtils.h
21972           src/NetworkManagerUtils.c
21973                 - Clean up unused variables and warnings
21974                 - Wrap our debug macros in {} to prevent possible confusion
21975
21976         * src/NetworkManagerWireless.c
21977                 - Forgot to return current best priority, which lead to last available AP always
21978                         being chosen no matter what its priority was.  Corrected.
21979
21980 2004-07-15  Dan Williams <dcbw@redhat.com>
21981
21982         * dispatcher-daemon/Makefile.am
21983                 - Turn on warnings
21984
21985         * dispatcher-daemon/NetworkManagerDispatcher.c
21986                 - Remove unused variables due to warnings
21987                 - Fix some comments
21988                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
21989
21990 2004-07-06  Dan Williams <dcbw@redhat.com>
21991
21992         * src/NetworkManager.c
21993                 - Add IPv4 address update for active device during link state check
21994                 - Don't allow wireless cards to be powered up when they are not the
21995                         active device
21996
21997         * src/NetworkManagerDbus.c
21998           src/NetworkManagerDbus.h
21999                 - Add DBUS IPv4 address change signal
22000                 - Add DBUS IPv4 address get method for devices
22001
22002         * src/NetworkManagerDevice.c
22003                 - Make setting the WEP key actually work
22004                 - Move IP address get/set/update stuff here, per-device
22005                 - Power down/bring down wireless device when deactivated
22006                 - For scanning wireless devices, if first scan returned ENODATA, try again
22007
22008         * src/NetworkManagerPolicy.c
22009                 - Only set the WEP key for an allowed access point if there is one.
22010                         We were setting it to be blank if one wasn't specified.
22011
22012         * src/NetworkManagerUtils.h
22013           src/NetworkManagerUtils.c
22014                 - Move the IP address stuff to NetworkManagerDevice.c
22015
22016         * dispatcher-daemon/NetworkManagerDispatcher.c
22017                 - Add device IPv4 address change notification stuff
22018
22019 2004-07-05  Dan Williams <dcbw@redhat.com>
22020
22021         * dispatcher-daemon/NetworkManagerDispatcher.c
22022                 - A bit more descriptive state message
22023                 - Don't segfault when reading directory
22024
22025         * src/NetworkManager.h
22026                 - Remove NMData desired_ap member, its now
22027                         per-device rather than global
22028
22029         * src/NetworkManager.c
22030                 - Remove references to desired_ap
22031                 - Move the allowed AP list refresh stuff into a thread
22032
22033         * src/NetworkManagerDevice.c
22034           src/NetworkManagerDevice.h
22035                 - Each wireless device now has a "best ap"
22036                 - Make device activate/deactivate functions per-device
22037                 - Make wireless scanning per-device
22038                 - Add IPv4 address discover functions, stub IPv6 ones
22039                 - Move ethernet address validation functions to NetworkManagerUtils.c
22040                 - Add wireless access point accessor function
22041                 - Get/Set functions for "best ap"
22042
22043         * src/NetworkManagerPolicy.c
22044                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
22045                 - Deal with per-device "best ap" rather than data->desired_apa
22046                 - Implement allowed access point worker thread
22047                 - Add nm_policy_essid_is_allowed() function
22048
22049         * src/NetworkManagerUtils.c
22050           src/NetworkManagerUtils.h
22051                 - Add nm_ethernet_address_is_valid() function
22052                 - Add IPv4/IPv6 address get functions
22053
22054         * src/NetworkManagerWireless.c
22055           src/NetworkManagerWireless.h
22056                 - Move scanning stuff into NetworkManagerDevice.c, per-device
22057
22058 2004-06-29  Dan Williams <dcbw@redhat.com>
22059
22060         * dispatcher-daemon/NetworkManagerDispatcher.c
22061                 - Implement script callout functionality
22062
22063 2004-06-24  Dan Williams <dcbw@redhat.com>
22064
22065         * NetworkManager.c
22066             - Spacing cleanups
22067             - Flush device routes and ip addresses when added to the device list
22068
22069         * NetworkManagerDbus.c
22070             - Spacing cleanups
22071             - Add missing returns in the two signal functions
22072         
22073         * NetworkManagerPolicy.c
22074             - Spacing and variable cleanups
22075
22076 2004-06-24  Dan Williams <dcbw@redhat.com>
22077
22078         * Makefile.am
22079           Makefile.in
22080           configure.in
22081           dispatcher-daemon/Makefile.am
22082           dispatcher-daemon/Makefile.in
22083           dispatcher-daemon/NetworkManagerDispatcher.c
22084             - Add a daemon that receives signals from NetworkManager
22085                         and will (eventually) call scripts in /etc/somewhere
22086                         when devices go up or down.
22087         
22088         * NetworkManager.c
22089             - Spacing cleanups
22090             - Flush device routes and ip addresses when added to the device list
22091
22092         * NetworkManagerDbus.c
22093             - Spacing cleanups
22094             - Add missing returns in the two signal functions
22095         
22096         * NetworkManagerPolicy.c
22097             - Spacing and variable cleanups
22098             - Rename nm_policy_switch_interface->nm_policy_switch_device
22099             - nm_policy_switch_device():
22100                                 Use kill (pid) instead of system ("kill <pid>")
22101             - nm_state_modification_monitor():
22102                                 Add wireless essid to output of debug statements
22103                                 Correct typo in device compare to switch or not (should be !=)
22104                                 Don't sleep after sending "no longer active" signal, was useless
22105
22106 2004-06-24  Dan Williams <dcbw@redhat.com>
22107
22108         * Initial import