2008-12-08 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-12-08  Dan Williams  <dcbw@redhat.com>
2
3         * src/vpn-manager/nm-vpn-connection.c
4                 - (plugin_state_changed): clear secrets before setting the connection
5                         state to FAILED, since doing so may destroy the connection itself,
6                         since the NMVPNService owning this NMVPNConnection will unref it
7                         when the NMVPNConnection is failed or stopped
8
9 2008-12-05  Dan Williams  <dcbw@redhat.com>
10
11         Patch from Michael Biebl  <mbiebl@gmail.com>
12
13         * libnm-glib/Makefile.am
14                 - Bump libnm-glib revision to indicate new API
15                 - Give libnm-util version info
16
17         * libnm-util/Makefile.am
18                 - Bump libnm-util soname to indicate API/ABI break with 0.6
19
20 2008-11-26  Dan Williams  <dcbw@redhat.com>
21
22         * Release NetworkManager 0.7
23
24 2008-11-26  Dan Williams  <dcbw@redhat.com>
25
26         * libnm-glib/nm-settings.c
27           libnm-glib/nm-settings.h
28                 - (nm_exported_connection_delete): rename 'delete' to 'do_delete' to
29                         avoid using C++ reserved keywords in headers
30
31         * libnm-glib/nm-dbus-connection.c
32           system-settings/plugins/ifcfg-rh/nm-ifcfg-connection.c
33           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
34           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
35           system-settings/plugins/keyfile/nm-keyfile-connection.c
36           system-settings/src/nm-sysconfig-connection.c
37                 - Change 'delete' to 'do_delete'
38
39 2008-11-25  Dan Williams  <dcbw@redhat.com>
40
41         * system-settings/plugins/ifcfg-rh
42                 - Rename 'ifcfg-fedora' to 'ifcfg-rh'; it's not just used on Fedora
43
44         * system-settings/src/main.c
45                 - (load_plugins): transparently handle ifcfg-fedora as ifcfg-rh
46
47 2008-11-25  Dan Williams  <dcbw@redhat.com>
48
49         Patch from Tambet Ingo <tambet@gmail.com>
50
51         Fix mishandling of netlink error floods (rh #459205, novell #443429, lp #284507)
52
53         * src/nm-netlink-monitor.c
54                 - Remove bits for using a non-default GMainContext, which weren't used
55                 - (nm_netlink_monitor_error_handler): don't leak the GError, and report
56                         the actual error code
57
58         * src/NetworkManager.c
59                 - (nm_error_monitoring_device_link_state): disconnect error handler when
60                         an error flood occurs to avoid pegging the CPU
61
62 2008-11-23  Dan Williams  <dcbw@redhat.com>
63
64         * callouts/nm-dispatcher-action.c
65                 - (construct_envp, nm_dispatcher_action): pass connection UUID to
66                         scripts in the environment
67
68 2008-11-21  Dan Williams  <dcbw@redhat.com>
69
70         Patch from Tambet Ingo  <tambet@gmail.com>
71
72         * configure.in
73           libnm-util/libnm-util.ver
74           libnm-util/nm-setting-8021x.c
75           libnm-util/nm-setting-8021x.h
76                 - Add configure-time option for the system CA path
77                 - Add 'system-ca-certs' option to 802.1x setting, which directs
78                         NetworkManager to use system CA certificates instead of any
79                         connection-defined CA certificates
80
81         * src/supplicant-manager/nm-supplicant-config.c
82           src/supplicant-manager/nm-supplicant-settings-verify.c
83                 - Use system CA certificates if the connection says to do so
84
85 2008-11-21  Dan Williams  <dcbw@redhat.com>
86
87         * src/nm-dbus-manager.c
88           src/nm-dbus-manager.h
89                 - (nm_dbus_manager_get_name_owner): return error
90
91         * src/nm-manager.c
92                 - (impl_manager_activate_connection): perform additional validation on
93                         ActivateConnection calls of user connections
94                 - (is_user_request_authorized): ensure that the requestor is the same
95                         UID as the UID that owns the user settings service; users shouldn't
96                         be able to control another user's connections
97
98 2008-11-21  Dan Williams  <dcbw@redhat.com>
99
100         * gfilemonitor/inotify-sub.c
101                 - (dup_dirname): actually remove trailing '/' (bgo #561807)
102
103 2008-11-21  Tambet Ingo  <tambet@gmail.com>
104
105         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings): Make suse
106         plugin compile again.
107
108 2008-11-20  Dan Williams  <dcbw@redhat.com>
109
110         Patch from Tambet Ingo <tambet@gmail.com>
111
112         * libnm-util/nm-setting.c
113           libnm-util/nm-setting.h
114                 - (NMSettingValueIterFn): instead of just a gboolean for secrets, take
115                         all the GParamSpec flags of the property
116
117         * system-settings/plugins/keyfile/nm-keyfile-connection.c
118           system-settings/plugins/keyfile/reader.c
119           system-settings/plugins/keyfile/writer.c
120                 - Update for NMSettingValueIterFn change
121
122 2008-11-20  Dan Williams  <dcbw@redhat.com>
123
124         * libnm-util/nm-utils.c
125           libnm-util/nm-utils.h
126                 - More documentation updates
127
128 2008-11-20  Dan Williams  <dcbw@redhat.com>
129
130         * libnm-util/libnm-util.ver
131           libnm-util/nm-utils.c
132           libnm-util/nm-utils.h
133           libnm-util/nm-utils-private.h
134           libnm-util/nm-connection.c
135                 - (nm_utils_register_value_transformations): make private, called
136                         from NMConnection registration anyway
137
138 2008-11-20  Dan Williams  <dcbw@redhat.com>
139
140         * libnm-util/Makefile.am
141           libnm-util/nm-utils-private.h
142                 - New header for internal utils private functions
143
144         * libnm-util/libnm-util.ver
145           libnm-util/nm-utils.c
146           libnm-util/nm-utils.h
147                 - Document some functions
148                 - (nm_utils_string_in_list, nm_utils_string_list_contains,
149                    nm_utils_string_slist_validate): un-export, only used within
150                         libnm-util or of limited use in general, and very easy to
151                         re-implement by apps if needed
152
153         * libnm-util/nm-setting-8021x.c
154           libnm-util/nm-setting-wired.c
155           libnm-util/nm-setting-wireless-security.c
156           libnm-util/nm-setting-wireless.c
157                 - Update for private nm_utils_string_* functions
158
159 2008-11-20  Dan Williams  <dcbw@redhat.com>
160
161         * libnm-util/libnm-util.ver
162           libnm-util/nm-setting.c
163           libnm-util/nm-setting.h
164                 - Add NMSetting errors
165                 - (nm_setting_update_secrets): return errors
166
167         * libnm-util/nm-connection.c
168           libnm-util/nm-connection.h
169                 - (nm_connection_update_secrets): return errors
170
171         * libnm-util/nm-setting-vpn.c
172           src/nm-activation-request.c
173           src/vpn-manager/nm-vpn-connection.c
174                 - Handle update secrets errors
175
176 2008-11-20  Dan Williams  <dcbw@redhat.com>
177
178         * libnm-util/nm-setting.c
179           libnm-util/nm-setting.h
180           libnm-util/libnm-util.ver
181                 - (nm_setting_new_from_hash): rename from nm_setting_from_hash() to be
182                         consistent with nm_connection_new_from_hash()
183
184         * src/nm-activation-request.c
185           libnm-util/nm-connection.c
186                 - Handle rename
187
188 2008-11-19  Dan Williams  <dcbw@redhat.com>
189
190         * configure.in
191           Makefile.am
192           docs/libnm-util/Makefile.am
193           docs/libnm-util/libnm-util.types
194                 - Start to document libnm-util
195
196 2008-11-19  Dan Williams  <dcbw@redhat.com>
197
198         * libnm-util/nm-connection.h
199           libnm-util/nm-connection.c
200                 - Document public functions
201
202 2008-11-19  Dan Williams  <dcbw@redhat.com>
203
204         * libnm-util/nm-setting.h
205           libnm-util/nm-setting.c
206           src/nm-device.c
207           src/nm-manager.c
208           system-settings/plugins/ifcfg-fedora/plugin.c
209                 - Prefix compare flag defines with NM_SETTING_
210
211 2008-11-19  Dan Williams  <dcbw@redhat.com>
212
213         * libnm-util/nm-connection.c
214           libnm-util/nm-connection.h
215                 - (nm_connection_replace_settings): take a GError
216
217         * libnm-glib/nm-settings.c
218           libnm-glib/nm-dbus-connection.c
219           src/nm-manager.c
220           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
221           system-settings/plugins/keyfile/nm-keyfile-connection.c
222           system-settings/plugins/keyfile/plugin.c
223                 - Handle, or don't handle, errors from nm_connection_replace_settings()
224
225 2008-11-19  Dan Williams  <dcbw@redhat.com>
226
227         * libnm-util/libnm-util.ver
228           libnm-util/nm-connection.c
229                 - (nm_setting_register, nm_setting_unregister): unexport; they are
230                         private and don't have a use outside libnm-util
231
232 2008-11-17  Dan Williams  <dcbw@redhat.com>
233
234         * src/nm-hso-gsm-device.c
235                 - (real_connection_secrets_updated): handle PIN/PUK correctly for HSO
236                         devices
237
238 2008-11-17  Dan Williams  <dcbw@redhat.com>
239
240         * system-settings/plugins/ifcfg-fedora/reader.c
241                 - (read_mac_address): clean up
242                 - (make_wireless_setting): pass NULL array to read_mac_address() like it
243                         expects
244
245         * system-settings/plugins/ifcfg-fedora/plugin.c
246                 - (read_one_connection): don't segfault on NULL errors
247
248 2008-11-14  Dan Williams  <dcbw@redhat.com>
249
250         * Tag 0.7.0-rc2
251
252 2008-11-14  Dan Williams  <dcbw@redhat.com>
253
254         Handle gateways on different subnets
255
256         * src/NetworkManagerSystem.c
257                 - (add_ip4_route_to_gateway): gateway route should be link scope and
258                         a host route
259                 - (replace_default_ip4_route): use a destination address too; gateway
260                         address should be /0; don't leak the gateway route object
261
262 2008-11-14  Dan Williams  <dcbw@redhat.com>
263
264         * libnm-glib/libnm_glib.ver
265           libnm-glib/nm-dbus-settings-system.c
266           libnm-glib/nm-dbus-settings-system.h
267                 - Add libnm-glib bits for CanModify
268
269 2008-11-14  Dan Williams  <dcbw@redhat.com>
270
271         * introspection/nm-settings-system.xml
272           system-settings/src/dbus-settings.c
273           system-settings/src/dbus-settings.h
274                 - Add a "CanModify" property to indicate if any plugins support
275                         connection modification
276
277 2008-11-14  Dan Williams  <dcbw@redhat.com>
278
279         Relicense libnm-glib to LGPLv2+ with agreement from contributors
280
281 2008-11-14  Dan Williams  <dcbw@redhat.com>
282
283         * vpn-manager/nm-vpn-connection.c
284                 - (plugin_state_changed): clear VPN secrets on error to ensure they
285                         are always requested from the settings service (rh #429287)
286
287 2008-11-13  Dan Williams  <dcbw@redhat.com>
288
289         * libnm-util/crypto.c
290                 - (crypto_get_private_key_data): fix bad initial arg type checking
291                         from pkcs#12 patch
292
293 2008-11-13  Dan Williams  <dcbw@redhat.com>
294
295         Add support for PKCS#12 private keys (bgo #558982)
296
297         * libnm-util/crypto.c
298           libnm-util/crypto.h
299                 - (parse_old_openssl_key_file): rename from parse_key_file(); adapt to
300                         take a GByteArray instead of a filename
301                 - (file_to_g_byte_array): handle private key files too
302                 - (decrypt_key): take a GByteArray rather than data + len
303                 - (crypto_get_private_key_data): refactor crypto_get_private_key() into
304                         one function that takes a filename, and one that takes raw data;
305                         detect pkcs#12 files as well
306                 - (crypto_load_and_verify_certificate): detect file type
307                 - (crypto_is_pkcs12_data, crypto_is_pkcs12_file): add pkcs#12 detection
308                         functions
309
310         * libnm-util/crypto_gnutls.c
311                 - (crypto_decrypt): take GByteArray rather than data + len; fix a bug
312                         whereby tail padding was incorrectly handled, leading to erroneous
313                         successes when trying to decrypt the data
314                 - (crypto_verify_cert): rework somewhat
315                 - (crypto_verify_pkcs12): validate pkcs#12 keys
316
317         * libnm-util/crypto_nss.c
318                 - (crypto_init): enable various pkcs#12 ciphers
319                 - (crypto_decrypt): take a GByteArray rather than data + len
320                 - (crypto_verify_cert): clean up
321                 - (crypto_verify_pkcs12): validate pkcs#12 keys
322
323         * libnm-util/test-crypto.c
324                 - Handle pkcs#12 keys
325
326         * libnm-util/nm-setting-8021x.c
327           libnm-util/nm-setting-8021x.h
328           libnm-util/libnm-util.ver
329                 - Add two new properties, 'private-key-password' and
330                         'phase2-private-key-password', to be used in conjunction with
331                         pkcs#12 keys
332                 - (nm_setting_802_1x_set_ca_cert_from_file,
333                    nm_setting_802_1x_set_client_cert_from_file,
334                    nm_setting_802_1x_set_phase2_ca_cert_from_file,
335                    nm_setting_802_1x_set_phase2_client_from_file): return certificate
336                         type
337                 - (nm_setting_802_1x_get_private_key_password,
338                    nm_setting_802_1x_get_phase2_private_key_password): return private
339                         key passwords
340                 - (nm_setting_802_1x_set_private_key_from_file,
341                    nm_setting_802_1x_set_phase2_private_key_from_file): set the private
342                         key from a file, and update the private key password at the same time
343                 - (nm_setting_802_1x_get_private_key_type,
344                    nm_setting_802_1x_get_phase2_private_key_type): return the private
345                         key type
346
347         * src/supplicant-manager/nm-supplicant-settings-verify.c
348                 - Whitelist private key passwords
349
350         * src/supplicant-manager/nm-supplicant-config.c
351                 - (nm_supplicant_config_add_setting_8021x): for pkcs#12 private keys,
352                         add the private key password to the supplicant config, but do not
353                         add the client certificate (as required by wpa_supplicant)
354
355 2008-11-12  Tambet Ingo  <tambet@gmail.com>
356
357         * system-settings/plugins/keyfile/nm-keyfile-connection.c (copy_one_secret)
358         (add_secrets): Don't add empty secrets to the secrets hash table.
359
360 2008-11-07  Dan Williams  <dcbw@redhat.com>
361
362         * libnm-util/nm-setting-wireless.c
363                 - (nm_setting_wireless_get_seen_bssid): fix bug from accessor conversion
364                         that cased this function to return garbage, breaking hidden AP
365                         detection
366
367 2008-11-07  Dan Williams  <dcbw@redhat.com>
368
369         Fix deletion of VPN gateway route on DHCP renew (bgo #558133)
370
371         * src/NetworkManagerSystem.c
372           src/NetworkManagerSystem.h
373                 - (nm_system_device_set_ip4_route): return the route that was added
374                 - (nm_system_add_ip4_vpn_gateway_route): make add_vpn_gateway_route()
375                         public, clean up, and return the route that was added
376                 - (nm_system_apply_ip4_config): remove VPN related stuff to simplify,
377                         since nm_system_add_ip4_vpn_gateway_route() is now available; add
378                         flags to allow only certain attributes of the NMIP4Config to be
379                         applied
380
381         * src/nm-device.c
382                 - (handle_dhcp_lease_change): don't touch the DHCP4 config on failure
383                 - (nm_device_set_ip4_config): use nm_ip4_config_diff() to only apply
384                         what's really changed between the old and new configs; don't export
385                         the new IP4 config on failure; always send the DNS info to the
386                         named manager
387
388         * src/vpn-manager/nm-vpn-connection.c
389                 - (device_ip4_config_changed, nm_vpn_connection_new, dispose): track the
390                         parent device's IP4Config and re-add the VPN gateway route when it
391                         changes
392                 - (nm_vpn_connection_ip4_config_get): add the VPN gateway route (since
393                         nm_system_apply_ip4_config() no longer does) and cache it for later
394                 - (connection_state_changed): move cleanup code to its own function
395                 - (vpn_cleanup): delete any previously added VPN gateway route; and
396                         re-apply the parent device's addresses and routes using
397                         nm_system_apply_ip4_config(), not nm_device_set_ip4_config()
398
399 2008-11-07  Dan Williams  <dcbw@redhat.com>
400
401         * src/nm-ip4-config.c
402           src/nm-ip4-config.h
403                 - (nm_ip4_config_diff): new function; return the difference between two
404                         IP4 configs
405                 - (nm_ip4_config_compare): change into nm_ip4_config_diff
406
407 2008-11-05  Dan Williams  <dcbw@redhat.com>
408
409         * nm-ip4-config.c
410           nm-ip4-config.h
411                 - (nm_ip4_config_compare): compare two IP4 configs
412
413 2008-11-05  Dan Williams  <dcbw@redhat.com>
414
415         * src/NetworkManagerPolicy.c
416                 - (update_etc_hosts): only add newline if not the last line of the file
417                         (Jonathan Miner)
418
419 2008-11-05  Dan Williams  <dcbw@redhat.com>
420
421         * src/dhcp-manager/nm-dhcp-dhclient.c
422                 - (get_leasefile_for_iface): move lease files back to where dhclient
423                         puts them
424
425 2008-11-05  Michael Biebl  <mbiebl@gmail.com>
426
427         * initscripts/Debian/NetworkManager
428                 - Update to what Debian is actually using
429
430 2008-11-05  Tambet Ingo  <tambet@gmail.com>
431
432         * libnm-util/nm-setting-8021x.c: Verify PEAP settings as well.
433
434 2008-11-03  Dan Williams  <dcbw@redhat.com>
435
436         * system-settings/src/main.c
437                 - (add_default_dhcp_connection): make the fallback connection read-only
438
439         * libnm-glib/nm-settings.c
440           libnm-glib/nm-settings.h
441                 - Add detailed errors
442                 - (impl_exported_connection_update, impl_exported_connection_delete):
443                         return an error if the connection is read-only
444
445         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
446           system-settings/plugins/keyfile/nm-keyfile-connection.c
447           system-settings/src/main.c
448                 - Use more detailed errors
449
450         * system-settings/src/nm-system-config-error.c
451           system-settings/src/nm-system-config-error.h
452           system-settings/src/dbus-settings.c
453                 - Remove NM_SYSCONFIG_SETTINGS_ERROR_INVALID_CONNECTION, replaced by
454                         NM_SETTINGS_ERROR_INVALID_CONNECTION
455
456 2008-11-02  Dan Williams  <dcbw@redhat.com>
457
458         * Add license headers to everything in src/
459
460 2008-11-02  Dan Williams  <dcbw@redhat.com>
461
462         * Tag 0.7.0-rc1
463
464 2008-11-02  Dan Williams  <dcbw@redhat.com>
465
466         * src/NetworkManagerAP.c
467                 - (nm_ap_new_fake_from_connection): treat only lack of a wireless security
468                         setting as unencrypted; fixes a bug where NM wouldn't ask for new
469                         secrets when connecting to an encrypted network failed
470
471 2008-10-30  Dan Williams  <dcbw@redhat.com>
472
473         * libnm-util/libnm-util.ver
474           libnm-util/nm-setting-ip6-config.c
475           libnm-util/nm-setting-ip6-config.h
476           libnm-util/Makefile.am
477                 - Make properties private and add accessor functions
478                 - Hide IPv6 stuff from public API, it's incomplete and completely unused
479
480         * libnm-util/nm-connection.c
481           libnm-util/nm-utils.c
482           libnm-util/nm-utils.h
483                 - Ignore IPv6 stuff for now
484
485 2008-10-30  Dan Williams  <dcbw@redhat.com>
486
487         * libnm-util/libnm-util.ver
488           libnm-util/nm-setting-8021x.c
489           libnm-util/nm-setting-8021x.h
490                 - Make properties private and add accessor functions
491
492         * src/supplicant-manager/nm-supplicant-config.c
493           system-settings/plugins/ifcfg-suse/parser.c
494                 - Use 802.1x setting accessors
495
496 2008-10-30  Dan Williams  <dcbw@redhat.com>
497
498         * libnm-util/libnm-util.ver
499           libnm-util/nm-setting-wireless-security.c
500           libnm-util/nm-setting-wireless-security.h
501                 - Make properties private and add accessor functions
502
503         * libnm-util/nm-setting-wireless.c
504           src/NetworkManagerAP.c
505           src/nm-device-wifi.c
506           src/supplicant-manager/nm-supplicant-config.c
507           system-settings/plugins/ifcfg-fedora/reader.c
508           system-settings/plugins/ifcfg-suse/parser.c
509                 - Use wireless security accessors
510
511 2008-10-30  Dan Williams  <dcbw@redhat.com>
512
513         * src/nm-device-ethernet.c
514           src/nm-device-wifi.c
515           src/nm-device.c
516           src/ppp-manager/nm-ppp-manager.c
517                 - Harmonize return checking of ioctl
518
519         * system-settings/plugins/ifcfg-fedora/reader.c
520                 - (is_wireless_device): fall back to SIOCGIWNAME (rh #466340)
521
522 2008-10-30  Dan Williams  <dcbw@redhat.com>
523
524         * src/ppp-manager/nm-ppp-manager.c
525                 - (nm_ppp_manager_start): if /dev/ppp doesn't exist, load the
526                         ppp_generic module to create it (bgo #533064)
527
528 2008-10-30  Dan Williams  <dcbw@redhat.com>
529
530         Patch from Alexander Sack <asac@canonical.com>
531
532         Fix "ppp connections don't honour ip4 connection settings"
533
534         * src/nm-device-ethernet.c
535                 - (real_act_stage4_get_ip4_config): merge ip4config settings
536                         with results from ppp manager
537
538         * src/nm-serial-device.c
539                 - (real_act_stage4_get_ip4_config): merge ip4config settings
540                         with results from ppp manager
541
542 2008-10-29  Dan Williams  <dcbw@redhat.com>
543
544         * libnm-util/libnm-util.ver
545           libnm-util/nm-setting-ip4-config.c
546           libnm-util/nm-setting-ip4-config.h
547                 - Make properties private and add accessor functions
548
549         * callouts/nm-dispatcher-action.c
550           libnm-glib/libnm-glib-test.c
551           libnm-util/nm-utils.c
552           src/NetworkManagerPolicy.c
553           src/NetworkManagerSystem.c
554           src/NetworkManagerUtils.c
555           src/dhcp-manager/nm-dhcp-dhclient.c
556           src/dhcp-manager/nm-dhcp-manager.c
557           src/dnsmasq-manager/nm-dnsmasq-manager.c
558           src/nm-device-wifi.c
559           src/nm-device.c
560           src/nm-hso-gsm-device.c
561           src/nm-ip4-config.c
562           src/nm-ip4-config.h
563           src/ppp-manager/nm-ppp-manager.c
564           src/vpn-manager/nm-vpn-connection.c
565           system-settings/plugins/ifcfg-fedora/reader.c
566           system-settings/plugins/ifcfg-suse/parser.c
567           system-settings/plugins/ifcfg-suse/plugin.c
568           system-settings/plugins/ifupdown/parser.c
569           test/nm-tool.c
570           vpn-daemons/vpnc/properties/nm-vpnc.c
571                 - Use IP4 accessor functions
572
573 2008-10-29  Tambet Ingo  <tambet@gmail.com>
574
575         Half of it by Dan Williams <dcbw@redhat.com>
576
577         * libnm-util/libnm-util.ver
578         libnm-util/nm-setting-vpn.c
579         libnm-util/nm-setting-vpn.h
580                 - Make properties private and add accessor functions.
581
582         * src/vpn-manager/nm-vpn-connection.c
583         src/vpn-manager/nm-vpn-manager.c
584         system-settings/plugins/keyfile/reader.c
585         vpn-daemons/openvpn/properties/auth-helpers.c
586         vpn-daemons/openvpn/properties/import-export.c
587         vpn-daemons/openvpn/properties/nm-openvpn.c
588         vpn-daemons/openvpn/src/nm-openvpn-service.c
589         vpn-daemons/pptp/auth-dialog/main.c
590         vpn-daemons/pptp/properties/advanced-dialog.c
591         vpn-daemons/pptp/properties/nm-pptp.c
592         vpn-daemons/pptp/src/nm-pptp-service.c
593         vpn-daemons/vpnc/properties/nm-vpnc.c
594         vpn-daemons/vpnc/src/nm-vpnc-service.c
595                 - Use VPN setting accessors.
596
597 2008-10-28  Dan Williams  <dcbw@redhat.com>
598
599         Patch from Tambet Ingo <tambet@gmail.com>
600
601         * libnm-util/libnm-util.ver
602           libnm-util/nm-setting-wireless.c
603           libnm-util/nm-setting-wireless.h
604                 - Make properties private and add accessor functions
605
606         * src/NetworkManagerAP.c
607           src/nm-device-wifi.c
608           src/nm-manager.c
609           src/supplicant-manager/nm-supplicant-config.c
610           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
611           system-settings/plugins/ifcfg-fedora/reader.c
612           system-settings/plugins/ifcfg-suse/parser.c
613           system-settings/plugins/ifupdown/parser.c
614                 - Use wireless setting accessors
615
616 2008-10-27  Dan Williams  <dcbw@redhat.com>
617
618         Patch from Tambet Ingo <tambet@gmail.com>
619
620         * libnm-util/libnm-util.ver
621           libnm-util/nm-setting-ppp.c
622           libnm-util/nm-setting-ppp.h
623                 - Make properties private and add accessor functions
624
625         * src/ppp-manager/nm-ppp-manager.c
626                 - Use ppp setting accessors
627
628 2008-10-27  Dan Williams  <dcbw@redhat.com>
629
630         Patch from Tambet Ingo <tambet@gmail.com>
631
632         * libnm-util/nm-setting.h
633           libnm-util/nm-setting.c
634                 - Make properties private and add accessor functions
635
636         * libnm-util/nm-connection.c
637           libnm-util/nm-setting-8021x.c
638           libnm-util/nm-setting-cdma.c
639           libnm-util/nm-setting-connection.c
640           libnm-util/nm-setting-gsm.c
641           libnm-util/nm-setting-ip4-config.c
642           libnm-util/nm-setting-ip6-config.c
643           libnm-util/nm-setting-ppp.c
644           libnm-util/nm-setting-pppoe.c
645           libnm-util/nm-setting-serial.c
646           libnm-util/nm-setting-template.c
647           libnm-util/nm-setting-vpn.c
648           libnm-util/nm-setting-wired.c
649           libnm-util/nm-setting-wireless-security.c
650           libnm-util/nm-setting-wireless.c
651           system-settings/plugins/keyfile/reader.c
652           system-settings/plugins/keyfile/writer.c
653                 - Use setting accessors
654
655 2008-10-27  Dan Williams  <dcbw@redhat.com>
656
657         * libnm-util/libnm-util.ver
658           libnm-util/nm-setting-connection.c
659           libnm-util/nm-setting-connection.h
660                 - Add a 'read-only' property that indicates the connection cannot be
661                         modified
662
663         * system-settings/plugins/ifcfg-fedora/reader.c
664           system-settings/plugins/ifcfg-suse/parser.c
665           system-settings/plugins/ifupdown/parser.c
666                 - These plugins are read-only at the moment
667
668         * system-settings/plugins/keyfile/reader.c
669           system-settings/plugins/keyfile/writer.c
670                 - Read-only shouldn't get saved out to files or read in from them
671
672 2008-10-27  Tambet Ingo  <tambet@gmail.com>
673
674         * src/nm-device-ethernet.c (nm_device_ethernet_get_speed): Implement
675         correct speed reporting for fast devices (kernel >= 2.6.27).
676
677 2008-10-26  Dan Williams  <dcbw@redhat.com>
678
679         Attempt to compensate for modems that don't enable full AT parsing before
680         the PIN has been entered.
681
682         * src/nm-gsm-device.c
683                 - (init_modem): accept different init strings
684                 - (init_done): try different init strings on failure
685                 - (check_pin_done): on PIN success, do full modem init
686
687 2008-10-26  Dan Williams  <dcbw@redhat.com>
688
689         Patch from Tambet Ingo <tambet@gmail.com>
690
691         * libnm-util/libnm-util.ver
692           libnm-util/nm-setting-connection.c
693           libnm-util/nm-setting-connection.h
694                 - Make properties private and add accessor functions
695
696         * src/NetworkManagerPolicy.c
697           src/nm-cdma-device.c
698           src/nm-device-ethernet.c
699           src/nm-device-interface.c
700           src/nm-device-wifi.c
701           src/nm-gsm-device.c
702           src/nm-manager.c
703           src/ppp-manager/nm-ppp-manager.c
704           src/vpn-manager/nm-vpn-connection.c
705           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
706           system-settings/plugins/ifcfg-fedora/plugin.c
707           system-settings/plugins/ifcfg-fedora/reader.c
708           system-settings/plugins/ifcfg-suse/parser.c
709           system-settings/plugins/ifupdown/parser.c
710           system-settings/plugins/keyfile/nm-keyfile-connection.c
711           system-settings/plugins/keyfile/plugin.c
712           system-settings/plugins/keyfile/writer.c
713           system-settings/src/main.c
714                 - Use those accessors
715
716 2008-10-26  Dan Williams  <dcbw@redhat.com>
717
718         Patch from Tambet Ingo <tambet@gmail.com>
719
720         * libnm-util/libnm-util.ver
721           libnm-util/nm-setting-gsm.c
722           libnm-util/nm-setting-gsm.h
723                 - Make properties private and add accessor functions
724
725         * src/nm-gsm-device.c
726           src/nm-hso-gsm-device.c
727           src/ppp-manager/nm-ppp-manager.c
728                 - Use those accessors
729
730 2008-10-26  Dan Williams  <dcbw@redhat.com>
731
732         Patch from Tambet Ingo <tambet@gmail.com>
733
734         * libnm-util/libnm-util.ver
735           libnm-util/nm-setting-cdma.c
736           libnm-util/nm-setting-cdma.h
737                 - Make properties private and add accessor functions
738
739         * src/nm-cdma-device.c
740           src/ppp-manager/nm-ppp-manager.c
741                 - Use those accessors
742
743 2008-10-26  Dan Williams  <dcbw@redhat.com>
744
745         Patch from Tambet Ingo <tambet@gmail.com>
746
747         * libnm-util/libnm-util.ver
748           libnm-util/nm-setting-pppoe.c
749           libnm-util/nm-setting-pppoe.h
750                 - Make properties private and add accessor functions
751
752         * src/nm-device-ethernet.c
753           src/ppp-manager/nm-ppp-manager.c
754                 - Use those accessors
755
756 2008-10-26  Dan Williams  <dcbw@redhat.com>
757
758         Patch from Tambet Ingo <tambet@gmail.com>
759
760         * libnm-util/libnm-util.ver
761           libnm-util/nm-setting-wired.c
762           libnm-util/nm-setting-wired.h
763                 - Make properties private and add accessor functions
764
765         * src/nm-device-ethernet.c
766           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
767           system-settings/plugins/ifcfg-suse/parser.c
768           system-settings/src/main.c
769                 - Use those accessors
770
771 2008-10-26  Dan Williams  <dcbw@redhat.com>
772
773         Patch from Tambet Ingo <tambet@gmail.com>
774
775         * libnm-util/libnm-util.ver
776           libnm-util/nm-setting-serial.c
777           libnm-util/nm-setting-serial.h
778           src/nm-serial-device.c
779                 - Make properties private and use accessors instead
780
781 2008-10-26  Dan Williams  <dcbw@redhat.com>
782
783         * src/supplicant-manager/nm-supplicant-interface.c
784           src/supplicant-manager/nm-supplicant-interface.h
785           src/supplicant-manager/nm-supplicant-manager.c
786           src/supplicant-manager/nm-supplicant-manager.h
787                 - Add state-to-string conversion functions
788
789         * src/nm-device-wifi.c
790           src/nm-device-ethernet.c
791                 - Normalize state info logging and use strings instead of numbers
792
793 2008-10-26  Dan Williams  <dcbw@redhat.com>
794
795         * src/NetworkManagerPolicy.c
796                 - (update_routing_and_dns): ignore host routes when determining whether
797                         a VPN connection should own the default route (bgo #552594)
798
799 2008-10-24  Dan Williams  <dcbw@redhat.com>
800
801         * src/nm-gsm-device.c
802                 - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
803
804 2008-10-23  Dan Williams  <dcbw@redhat.com>
805
806         * src/ppp-manager/nm-ppp-manager.c
807                 - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
808                         add really important stuff to the command line to ensure that NM
809                         overrides /etc/ppp/options (bgo #556781)
810
811 2008-10-22  Dan Williams  <dcbw@redhat.com>
812
813         * src/NetworkManagerSystem.c
814           src/nm-device.c
815                 - Use the device's IP interface where appropriate (Per Hallsmark)
816
817 2008-10-22  Dan Williams  <dcbw@redhat.com>
818
819         * src/nm-gsm-device.c
820                 - (schedule_automatic_registration_again): use a short timeout here
821                         instead of an idle handler to avoid using too much CPU polling for
822                         something we should be waiting a bit for anyway
823
824 2008-10-22  Dan Williams  <dcbw@redhat.com>
825
826         * include/NetworkManager.h
827           introspection/nm-device.xml
828                 - Add device state change reason for carrier changes
829
830         * src/nm-device-ethernet.c
831                 - (set_carrier): use the carrier change reason when changing device
832                         state in response to carrier changes
833
834 2008-10-21  Dan Williams  <dcbw@redhat.com>
835
836         * src/NetworkManagerPolicy.c
837                 - (update_etc_hosts): don't leak errors, and ensure that
838                         g_file_set_contents() gets a valid error placeholder (rh #461933)
839
840 2008-10-21  Dan Williams  <dcbw@redhat.com>
841
842         * src/nm-manager.c
843                 - (free_get_settings_info): don't use the DBusGProxy which could be
844                         disposed of by the time the function is called
845                 - (internal_new_connection_cb): save connection scope
846                 - (connection_get_settings_cb): don't replace a connection unless it's
847                         actually different from the existing one; fixes an issue where
848                         killing the settings service wouldn't deactivate an active connection
849                         provided by that settings service, because it was using a connection
850                         that had already been replaced in the system or user hash
851
852 2008-10-21  Dan Williams  <dcbw@redhat.com>
853
854         * src/NetworkManager.c
855                 - (main): keep the DHCP manager around since it's a singleton; fixes
856                         a use-after-free exposed by r4196 since the DHCP manager singleton
857                         variable isn't cleared when the DHCP manager object is finalized
858
859 2008-10-20  Dan Williams  <dcbw@redhat.com>
860
861         * libnm-util/nm-setting-wireless-security.c
862                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
863
864 2008-10-20  Dan Williams  <dcbw@redhat.com>
865
866         * src/supplicant-manager/nm-supplicant-config.c
867                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
868
869 2008-10-20  Dan Williams  <dcbw@redhat.com>
870
871         * src/dhcp-manager/nm-dhcp-manager.c
872                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
873                         manager object already refs it once
874                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
875                         also get cleaned up by nm_dhcp_device_destroy() to prevent
876                         double-frees
877
878 2008-10-20  Dan Williams  <dcbw@redhat.com>
879
880         * src/nm-manager.c
881                 - (initial_get_connections): use private dbus manager, don't keep
882                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
883                         manager object.
884
885 2008-10-18  Dan Williams  <dcbw@redhat.com>
886
887         * libnm-glib/nm-settings.c
888           libnm-glib/nm-settings.h
889                 - Rename the "get_secrets" virtual function "service_get_secrets" to
890                         clarify when it's used; NMExportedConnetion is a base-class for both
891                         the client and service side, which is sort of confusing, and
892                         get_secrets only makes sense on the service side.
893
894         * libnm-glib/nm-dbus-connection.c
895                 - (get_secrets): remove, unused, and clients need to do extra work to
896                         get secrets anyway since the call can block on the remote side
897
898         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
899           system-settings/plugins/keyfile/nm-keyfile-connection.c
900                 - Fix up for get_secrets -> service_get_secrets
901
902 2008-10-16  Dan Williams  <dcbw@redhat.com>
903
904         * src/nm-device-wifi.c
905                 - (constructor): correctly determine encryption capabilities
906
907 2008-10-15  Dan Williams  <dcbw@redhat.com>
908
909         * src/nm-device-wifi.c
910                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
911                         (Johannes Berg)
912
913 2008-10-15  Dan Williams  <dcbw@redhat.com>
914
915         * src/NetworkManagerSystem.c
916                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
917                         if the ip4_dest is in a smaller subnet contained within a subnet
918                         the machine is currently on, the destination is in the same subnet
919                 - (nm_system_device_set_ip4_route): move subnet checks to callers
920                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
921                         subnet as the parent device, and if so, don't add the direct
922                         host route via the parent device's gateway (bgo #481620)
923                 - (nm_system_apply_ip4_config): check whether the route to be added
924                         is contained within a subnet the device is already on
925
926 2008-10-11  Dan Williams  <dcbw@redhat.com>
927
928         * include/NetworkManager.h
929           introspection/nm-device.xml
930           include/NetworkManagerVPN.h
931                 - Add a few more state reasons for the device deactivated state
932
933         * src/nm-device-interface.c
934           src/nm-device-interface.h
935                 - (nm_device_interface_deactivate): add a 'reason' argument
936
937         * src/nm-device.c
938           src/nm-device.h
939                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
940                 - (nm_device_state_changed): pass the state change reason to
941                         nm_device_take_down()
942                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
943                         to the state change function
944
945         * src/nm-manager.c
946           src/nm-manager.h
947                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
948                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
949                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
950                         something reasonable along to VPN deactivation
951
952         * src/vpn-manager/nm-vpn-manager.c
953           src/vpn-manager/nm-vpn-manager.h
954                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
955                         pass that along to nm_vpn_connection_disconnect()
956
957 2008-10-11  Dan Williams  <dcbw@redhat.com>
958
959         * src/nm-device-wifi.c
960                 - (can_scan): remove old madwifi hack for not scanning while connected
961
962 2008-10-11  Dan Williams  <dcbw@redhat.com>
963
964         Add support for VPN subnet gateways (bgo #549196)
965
966         * include/NetworkManager.h
967                 - Add key for internal VPN subnet gateway
968
969         * src/vpn-manager/nm-vpn-connection.c
970                 - (ip_address_to_string): return a const from a static buffer so we
971                         don't leak a lot of strings
972                 - (print_vpn_config): print internal VPN gateway as well
973                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
974                         VPN service too
975                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
976
977         * src/NetworkManagerSystem.c
978           src/NetworkManagerSystem.h
979                 - (nm_system_device_replace_default_ip4_route): split into two, one for
980                         VPN connections and one for normal devices
981                 - (replace_default_ip4_route): break out route stuff into its own function
982                 - (nm_system_replace_default_ip4_route_vpn,
983                    nm_system_replace_default_ip4_route): simplify by having two cases,
984                         one for VPNs and one for normal devices
985
986         * src/NetworkManagerPolicy.c
987                 - (update_routing_and_dns): simplify, use split default route replacement
988                         functions
989
990 2008-10-10  Dan Williams  <dcbw@redhat.com>
991
992         Rework default route handling to consolidate decisions in the policy,
993         and to take active VPN connections into account when changing the default
994         route (bgo #545912)
995
996         * src/NetworkManager.c
997                 - (main): pass the vpn_manager to the policy so it knows about active
998                         VPN connections; clean up the named manager which wasn't done before
999
1000         * src/NetworkManagerPolicy.c
1001           src/NetworkManagerPolicy.h
1002                 - (nm_policy_new): get a clue about the vpn_manager
1003                 - (update_default_route): remove, fold into update_routing_and_dns()
1004                 - (update_routing_and_dns): handle active VPN connections too; an
1005                         active VPN connection becomes the default route if it does not have
1006                         server-specified or user-specified custom routes.  Otherwise, the
1007                         best active device gets the default route
1008                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
1009                    nm_policy_destroy): track VPN connection activation and deactivation
1010                         and update the default route when appropriate
1011
1012         * src/NetworkManagerSystem.c
1013           src/NetworkManagerSystem.h
1014                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
1015                         in the VPN connection itself
1016                 - (nm_system_vpn_device_set_from_ip4_config,
1017                    nm_system_device_set_from_ip4_config): merge together to make
1018                         nm_system_apply_ip4_config()
1019                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
1020                         via the parent device
1021                 - (nm_system_apply_ip4_config): simplify
1022                 - (add_ip4_route_to_gateway): new function; add a direct route to the
1023                         gateway if needed
1024                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
1025                         route stuff out into add_ip4_route_to_gateway() for clarity
1026
1027         * src/nm-device.c
1028                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
1029
1030         * src/vpn-manager/nm-vpn-connection.c
1031           src/vpn-manager/nm-vpn-connection.h
1032                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
1033                    nm_vpn_connection_get_parent_device): add
1034                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
1035                         device explicit
1036                 - (connection_state_changed): update the named manager now that
1037                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
1038                         useful on errors
1039
1040         * src/vpn-manager/nm-vpn-manager.c
1041           src/vpn-manager/nm-vpn-manager.h
1042                 - Add a 'connection-activated' signal
1043                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
1044                         policy to find out about active VPN connections
1045
1046 2008-10-10  Tambet Ingo  <tambet@gmail.com>
1047
1048         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
1049         a daemon to prevent NM logging spew on console on startup and shutdown (due
1050         to dependency loop between NM and syslog).
1051
1052 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1053
1054         Implement managed mode. We bind devices configured in /etc/network/interfaces
1055         to their connections by updating wired/wireless setting with the
1056         mac address of the device.
1057
1058         * system-settings/plugins/ifupdown/plugin.c
1059                 - (get_net_address_for_udi): implement function to retrieve MAC
1060                         address of udi from hal in GByteArray format
1061                 - (bind_device_to_connection): bind mac address of device to
1062                         wired/wireless system connection
1063                 - (hal_device_added_cb): call bind_device_to_connection for
1064                         system connections with a matching interface.name
1065                 - (hal_device_added_cb): ensure that all code paths
1066                         properly free the "iface" string.
1067
1068 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1069
1070         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
1071         mode of the ifupdown system config plugin.
1072
1073         * system-settings/plugins/ifupdown/plugin.c
1074                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
1075                         private unmanage_well_known state field accordingly
1076
1077 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1078
1079         Implement unmanaged mode that will prevent all devices in the
1080         well_known_udis set from being touched by NetworkManager
1081
1082         * system-settings/plugins/ifupdown/plugin.c
1083                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
1084                         unmanage_well_known field used to turn on/off unmanaged
1085                         mode
1086                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
1087                         signal when well_known_udis get added/removed
1088                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
1089                         if we are in unmanaged mode
1090
1091 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1092
1093         Add support to track network devices that have a configuration
1094         with a matching interface.name in /etc/network/interfaces
1095
1096         * system-settings/plugins/ifupdown/plugin.c
1097                 - (typedef struct SCPluginIfupdownPrivate): add hash table
1098                         to track |well_known_udis|
1099                 - (get_iface_for_udi): helper function to get interface.name
1100                         for a udi
1101                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
1102                         that add and remove devices to and from the well_known_udis
1103                         set depending on whether their |interface.name| matches
1104                         any interface definition in /etc/network/interfaces
1105                 - (SCPluginIfupdown_init): connect callbacks from above with
1106                         hal_mgr and setup well_known_udis hashtable
1107                 - (GObject__dispose): destroy well_known_udis hashtable
1108                 - (hal_device_added_cb2): implement wrapper callback with GFunc
1109                         signature. user_data is supposed to be a triple (hal_mgr,
1110                         config and devtype)
1111                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
1112                         startup and call hal_device_added_cb2
1113
1114 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1115
1116         Remove implementation for not used NMSystemConfigInterface callback functions
1117         in ifupdown plugin
1118
1119         * system-settings/plugins/ifupdown/plugin.c
1120                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
1121                 - (SCPluginIfupdown_connection_added): removed
1122
1123 2008-10-08  Dan Williams  <dcbw@redhat.com>
1124
1125         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
1126
1127         * src/NetworkManagerUtils.c
1128                 - (nm_utils_call_dispatcher): add a 'hostname' action
1129
1130         * src/NetworkManagerPolicy.c
1131                 - (set_system_hostname): dispatch hostname changes
1132
1133         * callouts/nm-dispatcher-action.c
1134                 - (nm_dispatcher_action): handle 'hostname' actions
1135
1136 2008-10-08  Dan Williams  <dcbw@redhat.com>
1137
1138         * src/NetworkManagerSystem.c
1139                 - (find_route): ref the route so it doesn't get destroyed when the cache
1140                         is cleared
1141                 - (nm_system_device_set_priority): unref the route here after it's done
1142                         being used
1143
1144 2008-10-08  Dan Williams  <dcbw@redhat.com>
1145
1146         * src/nm-serial-device.c
1147                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
1148
1149 2008-10-08  Tambet Ingo  <tambet@gmail.com>
1150
1151         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
1152         connection with new settings before saving it.
1153
1154 2008-10-06  Dan Williams  <dcbw@redhat.com>
1155
1156         * src/nm-ip4-config.c
1157           src/nm-ip4-config.h
1158                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
1159
1160         * src/nm-device-interface.c
1161                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
1162                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
1163                         by using '/' for the object path
1164
1165         * src/nm-device.c
1166                 - (src/nm-device.c): marshal missing/unexported ip4-config through
1167                         dbus as '/' since dbus-glib can't handle NULL objects nor can
1168                         dbus handle NULL object paths
1169
1170 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1171
1172         Implement system hostname support for debian/ubuntu
1173
1174         * system-settings/plugins/ifupdown/plugin.c
1175                 - (GObject__get_property): extend announced capabilities; add
1176                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
1177                 - (GObject__set_property,write_system_hostname): implement
1178                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
1179                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
1180                    update_system_hostname, get_hostname):
1181                         implement hostname property that watches and
1182                         parses /etc/hostname
1183
1184 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1185
1186         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
1187           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
1188           system-settings/plugins/ifcfg-fedora/Makefile.am
1189           system-settings/src/nm-inotify-helper.c
1190           system-settings/src/nm-inotify-helper.h
1191           src/Makefile.am
1192                 - Move ifcfg-fedora inotify helpers to the system settings service so
1193                         they are available to all plugins
1194
1195 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1196
1197         Implement support for wep-tx-keyidx in ifupdown system
1198         config plugin.
1199
1200         * system-settings/plugins/ifupdown/parser.c
1201                 - (update_wireless_security_setting_from_if_block): introduce
1202                         free_type_mapping func table; rename a few local
1203                         variables to improve readability; add wpa security mapping
1204                         for wep-tx-keyidx property
1205                 - (string_to_gpointerint): new function used for the auto_type_mapping
1206                         of new wep-tx-keyidx property
1207                 - (slist_free_all): free func used for mapped slist types
1208
1209 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1210
1211         * system-settings/src/main.c:
1212                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
1213                         always used as the hash key; fixes a crash when removing wired
1214                         devices
1215
1216 2008-10-02  Dan Williams  <dcbw@redhat.com>
1217
1218         * src/nm-gsm-device.c
1219                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
1220                         pass the required GSM secret along via user_data rather than keeping
1221                         it around in the private data where it sometimes didn't get cleared
1222                 - (real_get_ppp_name): implement using the GSM username
1223
1224 2008-10-02  Dan Williams  <dcbw@redhat.com>
1225
1226         * src/ppp-manager/nm-ppp-manager.c
1227           src/ppp-manager/nm-ppp-manager.h
1228                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
1229                         the settings daemon for completely new ones
1230                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
1231                         local PPP peer name; allow PPP debuging by launching NM with
1232                         the environment variable NM_PPP_DEBUG defined
1233                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
1234                         create_pppd_cmd_line()
1235
1236         * src/nm-serial-device.c
1237           src/nm-serial-device.h
1238                 - New 'get_ppp_name' function for subclasses to implement to return the
1239                         local PPP peer name
1240                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
1241                         and pass that name to the PPP manager
1242
1243         * src/nm-device-ethernet.c
1244                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
1245                         the local peer name
1246
1247         * src/nm-cdma-device.c
1248                 - (real_get_ppp_name): implement using the CDMA username
1249
1250 2008-10-02  Dan Williams  <dcbw@redhat.com>
1251
1252         Patch from Alexander Sack <asac ubuntu com>
1253
1254         * system-settings/plugins/ifupdown/parser.c
1255                 - Implement more graceful ip4 config parsing for cases where
1256                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
1257                   by using default values
1258
1259 2008-10-02  Dan Williams  <dcbw@redhat.com>
1260
1261         * src/NetworkManagerPolicy.c
1262                 - (device_state_changed): when marking a connection invalid, clear its
1263                         secrets too so that fresh secrets get requested the next time
1264
1265 2008-10-01  Dan Williams  <dcbw@redhat.com>
1266
1267         * system-settings/src/dbus-settings.c
1268                 - (nm_sysconfig_settings_init): cache system hostname on startup as
1269                         a fallback if no plugin provides a hostname
1270                 - (get_property): fall back to cached hostname if no plugin provides
1271                         a hostname
1272
1273 2008-10-01  Dan Williams  <dcbw@redhat.com>
1274
1275         Fix setting value comparison issue that caused some settings to look the
1276         same when they were really different (rh #464417)
1277
1278         * libnm-util/nm-param-spec-specialized.c
1279                 - (type_is_fixed_size): return fundamental size of the fixed type too
1280                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
1281                         in the comparison so that the _entire_ fixed type collection gets
1282                         compared rather than just the first 'len1' bytes
1283
1284 2008-09-30  Dan Williams  <dcbw@redhat.com>
1285
1286         * src/NetworkManagerPolicy.c
1287                 - (lookup_thread_worker): don't store the idle handler ID becuase the
1288                         idle handler could have already run and freed the LookupThread
1289                         structure
1290
1291 2008-09-30  Tambet Ingo  <tambet@gmail.com>
1292
1293         * src/nm-device.c (nm_device_get_priority): Implement.
1294         (nm_device_set_ip4_config): Send the device priority to system ip4 
1295         config setter.
1296
1297         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
1298         Add priority argument and if it's >= 0, set the priority of the network
1299         route added automatically by netlink (or kernel?).
1300         (nm_system_device_set_priority): Implement.
1301
1302         * src/NetworkManagerPolicy.c (get_best_device): Use 
1303         nm_device_get_priority() instead of home-grown version. Revert the
1304         meaning, best priority is the lowest one.
1305
1306 2008-09-29  Dan Williams  <dcbw@redhat.com>
1307
1308         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
1309         when it returns EAGAIN (rh #362421)
1310
1311         * src/nm-device-wifi.c
1312                 - (wireless_get_range): try GIWRANGE a few times until the card responds
1313                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
1314
1315 2008-09-28  Dan Williams  <dcbw@redhat.com>
1316
1317         * src/nm-serial-device.c
1318           src/nm-serial-device.h
1319                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
1320                         cleaned at the right times when subclasses close the serial port too
1321                 - (nm_serial_device_send_command): use a default send delay; don't
1322                         spin forever on EAGAIN
1323                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
1324                         remove, no longer used
1325                 - (find_response): return the matched response if any
1326                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
1327                         while doing so
1328                 - (wait_for_reply_done): pass the matched response to the callback
1329                 - (wait_for_reply_got_data): save the matched response; simplify timeout
1330                         handling
1331                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
1332                         const since they never get modified
1333                 - (cleanup_device): split out common cleanup stuff to a new function
1334                 - (real_deactivate_quickly, finalize): use cleanup_device()
1335
1336         * src/nm-gsm-device.c
1337                 - (modem_get_reply): remove, unused
1338                 - (set_apn): give the card a bit more time to respond
1339                 - (manual_registration_again, schedule_manual_registration_again,
1340                    manual_registration_response, manual_registration): handle manual
1341                         registration timeouts better by retrying registration a few times
1342                         because cards are a bit slow after CFUN=1
1343                 - (automatic_registration_get_network, get_network_response): use
1344                         modem_wait_for_reply() because it interacts better with the serial
1345                         buffer and does more intelligent matching; need to wait for 'OK'
1346                         rather than just matching terminators
1347                 - (schedule_automatic_registration_again,
1348                    automatic_registration_response, automatic_registration): retry
1349                         registration a few times on timeout or "searching" because cards
1350                         take a bit to find a network after being powered up with CFUN=1
1351                 - (power_up_response, power_up, init_full_done, enter_pin,
1352                    check_pin_done): power up the card with CFUN=1 before trying to
1353                         register with the network
1354                 - (init_modem_full, init_modem): use more standard 3G init strings
1355
1356         * src/nm-hso-gsm-device.c
1357                 - (modem_get_reply): remove, unused
1358                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
1359                         modem_wait_for_reply() to match actual responses instead of single
1360                         termination characters; it doesn't leave stuff in the serial buffer
1361                         that might confuse later calls
1362                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
1363                         to ensure that the call is really disconnected and not leave extra
1364                         stuff in the serial buffer
1365
1366         * src/nm-cdma-device.c
1367                 - (power_up_response, power_up, init_done): try Sierra-style modem
1368                         power up before attempting to connect
1369
1370 2008-09-27  Dan Williams  <dcbw@redhat.com>
1371
1372         * libnm-util/nm-setting-gsm.c
1373                 - (verify): verify GSM network ID
1374
1375 2008-09-25  Dan Williams  <dcbw@redhat.com>
1376
1377         * libnm-util/nm-setting-gsm.c
1378           libnm-util/nm-setting-gsm.h
1379                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
1380                         technology terms (bgo #551361)
1381
1382 2008-09-25  Dan Williams  <dcbw@redhat.com>
1383
1384         Fix bgo #549401 (inspired by patch from Alexander Sack)
1385
1386         * src/nm-device-ethernet.c
1387                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1388                 - (remove_supplicant_interface_error_handler): remove the supplicant
1389                         error idle callback too
1390                 - (supplicant_interface_release): rename from supplicant_interface_clean
1391                         to match nm-device-wifi.c; clean up supplicant interface-related
1392                         state tasks when the supplicant interface is disposed of
1393                 - (schedule_state_handler): add scheduled tasks to a list so they can
1394                         be cleaned up later
1395                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1396                    supplicant_iface_connection_state_cb_handler): use
1397                         finish_supplicant_task() to clean up each completed task
1398                 - (supplicant_iface_connection_error_cb_handler,
1399                    supplicant_connection_timeout_cb): clear source id when the task is
1400                         complete
1401                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1402                         later cleanup
1403                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
1404                         tasks
1405
1406         * src/nm-device-wifi.c
1407                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1408                 - (remove_supplicant_interface_error_handler): remove the supplicant
1409                         error idle callback too
1410                 - (supplicant_interface_release): clean up supplicant interface-related
1411                         state tasks when the supplicant interface is disposed of
1412                 - (schedule_state_handler): add scheduled tasks to a list so they can
1413                         be cleaned up later
1414                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1415                    supplicant_iface_connection_state_cb_handler): use
1416                         finish_supplicant_task() to clean up each completed task
1417                 - (supplicant_iface_connection_error_cb_handler): clear source id when
1418                         the task is complete
1419                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1420                         later cleanup
1421                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
1422
1423 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1424
1425         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
1426         method and get/set hostname property.
1427
1428 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1429
1430         * src/supplicant-manager/nm-supplicant-interface.c
1431         (nm_supplicant_interface_disconnect): Don't increment the reference 
1432         count when disconnecting. The problem is on shutdown, when the replies
1433         to these commands do not arrive before NM exits, resulting on never
1434         calling supplicant interface's dispose(), which removes the interface
1435         from supplicant.
1436
1437 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1438
1439         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
1440         all the public function arguments.
1441
1442 2008-09-22  Tambet Ingo  <tambet@gmail.com>
1443
1444         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
1445         "Failure" signal from VPN plugins, store the failure reason, and
1446         use it when the state is changed to failure.
1447
1448         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
1449         description.
1450
1451         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
1452         reason to the end of the list to not break the API.
1453         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
1454         so it can be shared by plugins and daemon.
1455
1456 2008-09-18  Dan Williams  <dcbw@redhat.com>
1457
1458         Patch from Alexander Sack <asac@ubuntu.com>
1459
1460         * configure.in
1461           system-settings/plugins/Makefile.am
1462           system-settings/plugins/ifupdown/Makefile.am
1463           system-settings/plugins/ifupdown/interface_parser.c
1464           system-settings/plugins/ifupdown/interface_parser.h
1465           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
1466           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
1467           system-settings/plugins/ifupdown/parser.c
1468           system-settings/plugins/ifupdown/parser.h
1469           system-settings/plugins/ifupdown/plugin.c
1470           system-settings/plugins/ifupdown/plugin.h
1471                 - Implement a Debian/Ubuntu legacy network configuration plugin
1472                         (gnome.org #551941)
1473
1474 2008-09-18  Dan Williams  <dcbw@redhat.com>
1475
1476         Implement support for honoring configured and automatic hostnames, and for
1477         setting the configured hostname.
1478
1479         * introspection/nm-ip4-config.xml
1480           src/nm-ip4-config.c
1481           src/nm-ip4-config.h
1482           src/dhcp-manager/nm-dhcp-manager.c
1483                 - Remove useless hostname property; it's not really part of the IPv4
1484                         config
1485
1486         * introspection/nm-settings-system.xml
1487           libnm-glib/nm-dbus-settings-system.c
1488           libnm-glib/nm-dbus-settings-system.h
1489                 - Add SetHostname() call to system settings D-Bus interface
1490                 - Add Hostname property to system settings D-Bus interface
1491                 - (nm_dbus_settings_system_save_hostname,
1492                    nm_dbus_settings_system_get_hostname): implement
1493
1494         * src/nm-device.c
1495           src/nm-device.h
1496                 - (nm_device_get_dhcp4_config): implement
1497
1498         * src/nm-manager.c
1499           src/nm-manager.h
1500                 - Fetch and track system settings service hostname changes, and proxy
1501                         the changes via a GObject property of the manager
1502
1503         * system-settings/src/nm-system-config-interface.c
1504           system-settings/src/nm-system-config-interface.h
1505                 - Replace nm_system_config_interface_supports_add() with a capabilities
1506                         bitfield
1507
1508         * system-settings/src/nm-system-config-error.c
1509           system-settings/src/nm-system-config-error.h
1510                 - Add additional errors
1511
1512         * system-settings/src/dbus-settings.c
1513           system-settings/src/dbus-settings.h
1514                 - (get_property, nm_sysconfig_settings_class_init): add hostname
1515                         property; first plugin returning a hostname wins
1516                 - (impl_settings_add_connection): use plugin capabilities instead of
1517                         nm_system_config_interface_supports_add()
1518                 - (impl_settings_save_hostname): implement hostname saving
1519
1520         * src/NetworkManagerPolicy.c
1521                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
1522                    lookup_thread_die): implement an asynchronous hostname lookup thread
1523                         which given an IPv4 address tries to look up the hostname for that
1524                         address with reverse DNS
1525                 - (get_best_device): split out best device code from
1526                         update_routing_and_dns()
1527                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
1528                         to preserve the 127.0.0.1 reverse mapping that so many things require
1529                 - (set_system_hostname): set a given hostname
1530                 - (update_system_hostname): implement hostname policy; a configured
1531                         hostname (from the system settings service) is used if available,
1532                         otherwise an automatically determined hostname from DHCP, VPN, etc.
1533                         If there was no automatically determined hostname, reverse DNS of
1534                         the best device's IP address will be used, and as a last resort the
1535                         hostname 'localhost.localdomain' is set.
1536                 - (update_routing_and_dns): use get_best_device(); update the system
1537                         hostname when the network config changes
1538                 - (hostname_changed): update system hostname if the system settings
1539                         service signals a hostname change
1540                 - (nm_policy_new): list for system settings service hostname changes
1541                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
1542                         gets told to die
1543
1544         * system-settings/plugins/keyfile/plugin.c
1545           system-settings/plugins/ifcfg-suse/plugin.c
1546                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
1547                         capabilities properties
1548
1549         * system-settings/plugins/ifcfg-fedora/shvar.c
1550                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
1551                         writes out /etc/sysconfig/network now
1552
1553         * system-settings/plugins/ifcfg-fedora/plugin.c
1554                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
1555                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
1556                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
1557                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
1558                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
1559                         hostname get/set and capabilities get
1560
1561 2008-09-18  Dan Williams  <dcbw@redhat.com>
1562
1563         * libnm-util/nm-setting-wireless.c
1564                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
1565                         group ciphers if the wireless-security setting explicitly specified
1566                         them, effectively making the default be "all ciphers"  (idea from
1567                         Alexander Sack)
1568
1569 2008-09-15  Dan Williams  <dcbw@redhat.com>
1570
1571         Patch from Alexander Sack <asac@ubuntu.com>
1572
1573         * src/named-manager/nm-named-manager.c
1574                 - (dispatch_resolvconf): respect resolvconf exit code
1575
1576 2008-09-12  Tambet Ingo  <tambet@gmail.com>
1577
1578         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
1579         again. Add some debugging.
1580
1581 2008-09-11  Dan Williams  <dcbw@redhat.com>
1582
1583         * system-settings/plugins/keyfile/plugin.c
1584                 - (update_connection_settings): update connection manually, since
1585                         nm_exported_connection_update() does authentication
1586                 - (dir_changed): update_connection_settings() doesn't need to return
1587                         an error
1588
1589 2008-09-09  Dan Williams  <dcbw@redhat.com>
1590
1591         * libnm-glib/nm-vpn-plugin-ui-interface.c
1592           libnm-glib/nm-vpn-plugin-ui-interface.h
1593           libnm-glib/libnm_glib_vpn.ver
1594                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
1595                         should clean up resources related to the connection (like keyring
1596                         secrets)
1597                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
1598                         should save user-scope secrets (like to the keyring)
1599
1600 2008-09-08  Dan Williams  <dcbw@redhat.com>
1601
1602         Patch from Alexander Sack <asac@ubuntu.com>
1603
1604         * libnm-util/crypto_gnutls.c
1605           libnm-util/crypto_nss.c
1606                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
1607
1608         * libnm-util/nm-utils.c
1609           libnm-util/nm-utils.h
1610           libnm-util/libnm-util.ver
1611                 - (nm_utils_init): initialize libnm-util
1612                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
1613
1614         * libnm-util/nm-setting-8021x.c
1615                 - (nm_setting_802_1x_class_init): init libnm-util when needed
1616
1617 2008-09-05  Dan Williams  <dcbw@redhat.com>
1618
1619         Patch from Roy Marples <roy@marples.name> and others
1620
1621         * configure.in
1622           src/named-manager/nm-named-manager.c
1623                 - Add support for resolvconf; use --with-resolvconf at configure time
1624                         to enable it
1625
1626 2008-09-05  Dan Williams  <dcbw@redhat.com>
1627
1628         * libnm-util/crypto_nss.c
1629           libnm-util/crypto_gnutls.c
1630           libnm-util/crypto.h
1631                 - (crypto_init): return error when init fails
1632
1633 2008-09-05  Dan Williams  <dcbw@redhat.com>
1634
1635         * libnm-glib/nm-device-wifi.c
1636                 - (access_point_removed_proxy): clean up the active access point too
1637                         just in case the active ap changed signal didn't come through yet
1638                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
1639
1640 2008-09-05  Dan Williams  <dcbw@redhat.com>
1641
1642         * libnm-glib/nm-client.c
1643                 - (constructor): get initial state after we know whether NM is running
1644                         or not
1645
1646 2008-09-05  Dan Williams  <dcbw@redhat.com>
1647
1648         * libnm-glib/nm-ip4-config.c
1649           libnm-glib/nm-dhcp4-config.c
1650                 - (finalize): clean up the DBusGProxy
1651
1652 2008-09-04  Dan Williams  <dcbw@redhat.com>
1653
1654         * src/nm-ip4-config.c
1655           src/nm-ip4-config.h
1656                 - (nm_ip4_config_new): don't export over D-Bus here
1657                 - (nm_ip4_config_export): new function; export the config over D-Bus
1658                 - (nm_ip4_config_is_exported): new function
1659
1660         * src/nm-device.c
1661                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
1662                         objects by balancing the IP4Config constructor; the device holds
1663                         a reference to the IP4Config already
1664                 - (nm_device_set_ip4_config): export the IP4Config when needed
1665
1666 2008-09-04  Dan Williams  <dcbw@redhat.com>
1667
1668         * src/supplicant-manager/nm-supplicant-settings-verify.c
1669                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
1670
1671 2008-09-04  Dan Williams  <dcbw@redhat.com>
1672
1673         * libnm-util/nm-setting-vpn.c
1674           libnm-util/nm-setting-vpn.h
1675                 - Split VPN secrets from VPN data so that settings services can actually
1676                         figure out that they are secrets and store them accordingly
1677
1678         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1679           system-settings/plugins/keyfile/reader.c
1680           system-settings/plugins/keyfile/reader.h
1681           system-settings/plugins/keyfile/writer.c
1682                 - Store VPN secrets separately from VPN data so that they can be fetched
1683                         on demand
1684                 - Implement the get_secrets() call so that (a) secrets don't leak out
1685                         to unprivileged callers, and (b) secrets can be sent to privileged
1686                         callers when needed
1687
1688         * vpn-daemons/vpnc/src/nm-vpnc-service.c
1689                 - Handle split VPN secrets
1690
1691 2008-08-27  Dan Williams  <dcbw@redhat.com>
1692
1693         * system-settings/plugins/ifcfg-fedora/reader.c
1694                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
1695
1696 2008-08-27  Dan Williams  <dcbw@redhat.com>
1697
1698         Ensure zombie children get cleaned up.  To get notifications when children
1699         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
1700         that requires calling waitpid() yourself if you've removed the child watch
1701         handler before the process has actually died, which NM needs to do in a few
1702         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
1703         cleans up after the child when required.  Should fix problems trying to
1704         activate mobile broadband connections after a previous failure.
1705
1706         * src/dhcp-manager/nm-dhcp-dhclient.c
1707           src/dhcp-manager/nm-dhcp-dhcpcd.c
1708                 - Use G_SPAWN_DO_NOT_REAP_CHILD
1709
1710         * src/dhcp-manager/nm-dhcp-manager.c
1711                 - (nm_dhcp_device_destroy): ensure child is cleaned up
1712                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
1713                         block on child quitting, since the non-blocking functionality was
1714                         never actually used
1715
1716         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1717                 - (dm_watch_cb): child is already reaped here
1718                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
1719
1720         * src/nm-device.c
1721                 - (aipd_cleanup): block until child is dead
1722
1723         * src/named-manager/nm-named-manager.c
1724                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
1725                         event bothering to watch the child
1726
1727         * src/ppp-manager/nm-ppp-manager.c
1728                 - (ppp_watch_cb): child is already reaped here
1729                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
1730
1731         * src/vpn-manager/nm-vpn-service.c
1732                 - (vpn_service_watch_cb): child is already reaped here
1733                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
1734                         status of the child is actually tracked
1735                 - (ensure_killed, finalize): block until child is dead
1736
1737 2008-08-26  Dan Williams  <dcbw@redhat.com>
1738
1739         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1740                 - (update): Update filename of the connection if the connection id
1741                         was changed
1742
1743         * system-settings/plugins/keyfile/plugin.c
1744                 - (dir_changed): first pass at handling connection renames correctly
1745
1746         * system-settings/plugins/keyfile/writer.c
1747           system-settings/plugins/keyfile/writer.h
1748                 - (write_connection): replace '/' with '*' when writing out the filename
1749                         from the connection id
1750
1751 2008-08-26  Dan Williams  <dcbw@redhat.com>
1752
1753         Add connection UUIDs, since connection names can be changed, and since
1754         old-style connection IDs could change over the life of the connection.  The
1755         UUID should be assigned at connection creation time, be stable for a given
1756         connection, and should be unique among all connections for a given settings
1757         service.
1758
1759         * configure.in
1760           libnm-util/Makefile.am
1761                 - Require libuuid
1762
1763         * introspection/nm-exported-connection.xml
1764                 - Remove "GetID" method
1765
1766         * libnm-glib/nm-dbus-connection.c
1767           libnm-glib/nm-settings.c
1768           libnm-glib/nm-settings.h
1769                 - Remove id-related stuff
1770
1771         * libnm-util/nm-utils.c
1772           libnm-util/nm-utils.h
1773           libnm-util/libnm-util.ver
1774                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
1775                         utility functions to generate UUIDs
1776
1777         * libnm-util/nm-setting-connection.c
1778           libnm-util/nm-setting-connection.h
1779                 - Add 'uuid' member to the connection setting
1780                 - (verify): require valid 'uuid' for a valid connection
1781
1782         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
1783           system-settings/plugins/ifcfg-fedora/reader.c
1784           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
1785           system-settings/plugins/ifcfg-suse/parser.c
1786           system-settings/plugins/keyfile/nm-keyfile-connection.c
1787           system-settings/src/main.c
1788                 - Remove id-related stuff
1789                 - Give connections UUIDs where needed
1790
1791 2008-08-25  Dan Williams  <dcbw@redhat.com>
1792
1793         * libnm-util/crypto_gnutls.c
1794           libnm-util/crypto_nss.c
1795                 - (crypto_init, crypto_deinit): refcount init/deinit
1796                 - (crypto_md5_hash): allow NULL salt
1797
1798 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
1799
1800         * libnm-glib/Makefile.am
1801           libnm-util/Makefile.am
1802           libnm-glib/libnm_glib.ver
1803           libnm-glib/libnm_glib_vpn.ver
1804           libnm-util/libnm-util.ver
1805                 - Use linker version scripts to control the list of exported 
1806                 symbols. List each exported symbol explicitely.
1807         * libnm-util/Makefile.am
1808                 - Fix compilation of the test-crypto binary. The crypto
1809                 functions are no longer part of the libnm-util API. Add 
1810                 crypto_*.c to test_crypto_SOURCES and link against the correct
1811                 crypto libraries.
1812
1813 2008-08-19  Dan Williams  <dcbw@redhat.com>
1814
1815         * configure.in
1816           test/Makefile.am
1817                 - Don't build test/test-common
1818                 - Remove unused stuff
1819
1820         * test/nm-set-fallback
1821           test/nmtestdevices.c
1822           test/test-common/.cvsignore
1823           test/test-common/Makefile.am
1824           test/test-common/test-common.c
1825           test/test-common/test-common.h
1826                 - delete
1827
1828 2008-08-18  Dan Williams  <dcbw@redhat.com>
1829
1830         * libnm-util/nm-utils.c
1831           libnm-util/nm-utils.h
1832                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1833                         export anything that needs to be converted with this function
1834
1835         * src/dhcp-manager/nm-dhcp-manager.c
1836                 - (garray_to_string): convert a byte array to a UTF-8 string with
1837                         minimal validation; the DHCP client sends it in ASCII anyway
1838                 - (get_option, copy_option): use garray_to_string()
1839
1840 2008-08-18  Dan Williams  <dcbw@redhat.com>
1841
1842         * include/NetworkManager.h
1843           introspection/nm-device.xml
1844                 - Add a "missing firmware" device state reason
1845
1846         * src/NetworkManagerSystem.c
1847           src/NetworkManagerSystem.h
1848                 - (nm_system_device_set_up_down): add a no_firmware argument
1849                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1850                         IFF_UP is ENOENT, that almost always means missing firmware
1851
1852         * src/backends/NetworkManagerGeneric.c
1853           src/nm-device-ethernet.c
1854           src/nm-device-private.h
1855           src/nm-device-wifi.c
1856           src/nm-device.c
1857           src/nm-device.h
1858           src/nm-hso-gsm-device.c
1859           src/vpn-manager/nm-vpn-connection.c
1860                 - Pass no_firmware along; check it where appropriate
1861
1862 2008-08-18  Dan Williams  <dcbw@redhat.com>
1863
1864         Patch from Robert Buchholz <rbu@gentoo.org>
1865
1866         * autogen.sh
1867           configure.in
1868                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1869                         1003.1-1988, allowing for file names longer than 99 characters
1870
1871 2008-08-17  Dan Williams  <dcbw@redhat.com>
1872
1873         * include/NetworkManager.h
1874           introspection/nm-device.xml
1875           src/nm-gsm-device.c
1876                 - Finer-grained GSM registration failure error codes
1877
1878 2008-08-17  Dan Williams  <dcbw@redhat.com>
1879
1880         * callouts/Makefile.am
1881           src/Makefile.am
1882                 - Move dispatcher directory creation to callouts/Makefile.am
1883
1884         * system-settings/plugins/keyfile/Makefile.am
1885                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1886
1887 2008-08-15  Dan Williams  <dcbw@redhat.com>
1888
1889         Do connection sharing in a cleaner manner; all required iptables rules
1890         are now stored in the activation request and pertain only to the device
1891         which is being shared to other computers. (rh #458625)
1892
1893         * src/nm-activation-request.c
1894           src/nm-activation-request.h
1895                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1896                         the activation request which will get torn down automatically when
1897                         the activation request dies
1898                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1899                         is started, and tear them down when sharing is stopped
1900
1901         * src/nm-device.c
1902                 - (start_sharing): start up sharing by doing the required iptables magic
1903                 - (share_init): poke the right bits of the kernel and load the right
1904                         modules for NAT
1905                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1906                         connection if it's a 'shared' connection
1907
1908         * src/NetworkManagerPolicy.c
1909                 - Remove all sharing stuff; done in the device code itself
1910
1911 2008-08-15  Dan Williams  <dcbw@redhat.com>
1912
1913         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1914                 - (create_dm_cmd_line): send the right router address
1915
1916 2008-08-15  Dan Williams  <dcbw@redhat.com>
1917
1918         * src/ppp-manager/nm-ppp-manager.c
1919                 - (pppd_timed_out): ensure timeouts fail the connection
1920
1921 2008-08-14  Dan Williams  <dcbw@redhat.com>
1922
1923         * src/nm-properties-changed-signal.c
1924           src/nm-properties-changed-signal.h
1925                 - Add a property spec flag for "don't export this property" in
1926                         property changed signals
1927
1928         * src/nm-hso-gsm-device.c
1929           src/nm-gsm-device.c
1930           src/nm-cdma-device.c
1931                 - Don't export monitor interface or netdev interface properties
1932
1933 2008-08-14  Dan Williams  <dcbw@redhat.com>
1934
1935         * src/NetworkManagerPolicy.c
1936                 - (update_routing_and_dns): 'hso' devices can be default even if they
1937                         don't have a gateway
1938
1939 2008-08-14  Dan Williams  <dcbw@redhat.com>
1940
1941         * src/nm-device.c
1942                 - (nm_device_deactivate_quickly): tear down activation request after
1943                         calling device-specific deactivation
1944
1945         * src/nm-hso-gsm-device.c
1946                 - (real_deactivate_quickly): terminate connection when deactivating
1947
1948 2008-08-14  Dan Williams  <dcbw@redhat.com>
1949
1950         * src/nm-activation-request.h
1951                 - Add HSO secrets caller
1952
1953         * src/nm-gsm-device.c
1954           src/nm-gsm-device.h
1955                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1956                         something to the callback function
1957                 - (set_apn, set_apn_done): call class dial function, not a static one
1958                 - (nm_gsm_device_class_init): add a class 'dial' function
1959
1960         * src/nm-hal-manager.c
1961                 - (get_hso_netdev): find the hso-driven hardware's net device
1962                 - (modem_device_creator): recognize hso-driven hardware and create the
1963                         right type of device object for it
1964
1965         * src/Makefile.am
1966           src/nm-hso-gsm-device.c
1967           src/nm-hso-gsm-device.h
1968                 - Implement support for devices driven by the 'hso' driver as a subclass
1969                         of NMGsmDevice
1970
1971 2008-08-14  Dan Williams  <dcbw@redhat.com>
1972
1973         * src/NetworkManagerSystem.c
1974                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1975                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1976                         success if the operation really was successful
1977
1978 2008-08-14  Dan Williams  <dcbw@redhat.com>
1979
1980         * src/nm-netlink-monitor.c
1981           src/nm-netlink-monitor.h
1982           src/nm-device-ethernet.c
1983                 - (nm_netlink_monitor_request_status): return an error on failure
1984                 - (constructor): don't segfault on missing error
1985
1986 2008-08-13  Dan Williams  <dcbw@redhat.com>
1987
1988         * callouts/nm-dispatcher-action.c
1989                 - Add IP4 config info to script environment
1990
1991 2008-08-12  Dan Williams  <dcbw@redhat.com>
1992
1993         * src/nm-device.c
1994                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1995                         that want to use DHCP hostnames should use dispatcher scripts
1996                         for that
1997
1998         * src/NetworkManagerSystem.h
1999           src/backends/NetworkManagerArch.c
2000           src/backends/NetworkManagerDebian.c
2001           src/backends/NetworkManagerFrugalware.c
2002           src/backends/NetworkManagerGeneric.c
2003           src/backends/NetworkManagerGeneric.h
2004           src/backends/NetworkManagerGentoo.c
2005           src/backends/NetworkManagerMandriva.c
2006           src/backends/NetworkManagerPaldo.c
2007           src/backends/NetworkManagerRedHat.c
2008           src/backends/NetworkManagerSlackware.c
2009           src/backends/NetworkManagerSuSE.c
2010                 - Remove nm_system_set_hostname(), no longer used
2011           
2012         * src/backends/Makefile.am
2013           src/backends/shvar.c
2014           src/backends/shvar.h
2015                 - Remove shvar.*; no longer used
2016
2017 2008-08-12  Dan Williams  <dcbw@redhat.com>
2018
2019         Revert most of the 'hostname' patch.  Too much stuff still breaks when
2020         hostname is updated at runtime.  Distros or users who want hostname updates
2021         can use dispatcher scripts to update the hostname if they need it.
2022
2023 2008-08-12  Dan Williams  <dcbw@redhat.com>
2024
2025         * introspection/nm-settings-system.xml
2026           system-settings/src/dbus-settings.c
2027           system-settings/src/dbus-settings.h
2028                 - Add a 'Hostname' property (rw) which represents the configured
2029                         hostname and domain of the system, if any
2030
2031         * system-settings/src/nm-system-config-error.c
2032           system-settings/src/nm-system-config-error.h
2033           system-settings/src/nm-system-config-interface.c
2034           system-settings/src/nm-system-config-interface.h
2035                 - Add a 'hostname' property to the plugin interface
2036                 - Add a method to send updated hostname to plugins to save in their
2037                         backing configuration store
2038
2039         * system-settings/plugins/keyfile/nm-keyfile-connection.c
2040           system-settings/plugins/keyfile/plugin.c
2041           system-settings/plugins/keyfile/writer.c
2042           system-settings/plugins/keyfile/writer.h
2043           system-settings/plugins/ifcfg-suse/plugin.c
2044                 - Add minimal hostname support
2045
2046         * system-settings/plugins/ifcfg-fedora/plugin.c
2047                 - Add support for updating system hostname in /etc/sysconfig/network
2048
2049 2008-08-12  Dan Williams  <dcbw@redhat.com>
2050
2051         * system-settings/plugins/ifcfg-fedora/shvar.c
2052           system-settings/plugins/ifcfg-fedora/shvar.c
2053                 - Fix double-free caused by svSetValue() followed by svCloseFile()
2054
2055 2008-08-12  Tambet Ingo  <tambet@gmail.com>
2056
2057         * Makefile.am: Fix distcheck.
2058
2059 2008-08-12  Tambet Ingo  <tambet@gmail.com>
2060
2061         * libnm-glib/*.c. Document some more.
2062
2063 2008-08-12  Tambet Ingo  <tambet@gmail.com>
2064
2065         Start documenting libnm-glib public API using gtk-doc.
2066
2067         * libnm-glib/nm-serial-device.c: 
2068         * libnm-glib/nm-object.c: 
2069         * libnm-glib/nm-gsm-device.c: 
2070         * libnm-glib/nm-device.c: 
2071         * libnm-glib/nm-device-wifi.c: 
2072         * libnm-glib/nm-device-ethernet.c: 
2073         * libnm-glib/nm-client.c: 
2074         * libnm-glib/nm-cdma-device.c: Document the public API.
2075
2076         * docs/libnm-glib/libnm-glib.types: Implement.
2077
2078         * docs/libnm-glib/Makefile.am: Implement.
2079
2080         * autogen.sh: 
2081         * configure.in: 
2082         * Makefile.am: Add gtk-doc support.
2083
2084 2008-08-12  Tambet Ingo  <tambet@gmail.com>
2085
2086         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
2087
2088         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
2089         the composite result of all the IP4 configurations and call a distro
2090         specific update_resolv_conf().
2091         (update_resolv_conf): Implement one for directly writing to 
2092         /etc/resolv.conf and one for opensuse to call netconfig.
2093
2094 2008-08-11  Dan Williams  <dcbw@redhat.com>
2095
2096         * src/ppp-manager/nm-ppp-manager.c
2097                 - (impl_ppp_manager_need_secrets): pass interface as required
2098
2099 2008-08-11  Dan Williams  <dcbw@redhat.com>
2100
2101         Merge the vpn-properties setting with the vpn setting since it was pointless
2102         to keep both of them around.  Convert the vpn 'data' hash table to a hash
2103         of string:string (instead of string:variant) so that system settings plugins
2104         can have an easier time dealing with the arbitrary key/value pairs.
2105
2106 2008-08-11  Dan Williams  <dcbw@redhat.com>
2107
2108         * libnm-util/nm-utils.c
2109                 - (nm_utils_register_value_transformations): add value transform for
2110                         a hash table of string:string
2111
2112 2008-08-10  Dan Williams  <dcbw@redhat.com>
2113
2114         * libnm-glib/nm-vpn-plugin.c
2115                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
2116                         an idle handler so the Connect reply gets delivered before the
2117                         stop StateChanged signal
2118
2119 2008-08-10  Dan Williams  <dcbw@redhat.com>
2120
2121         * src/nm-ip4-config.c
2122                 - (get_property): use common ip4 address/route conversion functions
2123                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
2124                         copy the new route here, not take ownership
2125
2126 2008-08-08  Tambet Ingo  <tambet@gmail.com>
2127
2128         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
2129         Update the IP4 setting's method name.
2130
2131 2008-08-07  Dan Williams  <dcbw@redhat.com>
2132
2133         * introspection/nm-ip4-config.xml
2134           libnm-glib/libnm-glib-test.c
2135           libnm-glib/nm-ip4-config.c
2136           libnm-glib/nm-ip4-config.h
2137           src/NetworkManagerSystem.h
2138           src/backends/NetworkManagerArch.c
2139           src/backends/NetworkManagerDebian.c
2140           src/backends/NetworkManagerFrugalware.c
2141           src/backends/NetworkManagerGeneric.c
2142           src/backends/NetworkManagerGeneric.h
2143           src/backends/NetworkManagerGentoo.c
2144           src/backends/NetworkManagerMandriva.c
2145           src/backends/NetworkManagerPaldo.c
2146           src/backends/NetworkManagerRedHat.c
2147           src/backends/NetworkManagerSlackware.c
2148           src/backends/NetworkManagerSuSE.c
2149           src/dhcp-manager/nm-dhcp-manager.c
2150           src/nm-device.c
2151           src/nm-ip4-config.c
2152           src/nm-ip4-config.h
2153                 - Remove NIS logic; should be done from dispatcher scripts instead
2154
2155 2008-08-07  Dan Williams  <dcbw@redhat.com>
2156
2157         * src/dhcp-manager/nm-dhcp-manager.c
2158                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
2159                         mis-handling of DHCP responses that returned more than one router
2160                         (found by Grant Williamson)
2161
2162 2008-08-07  Dan Williams  <dcbw@redhat.com>
2163
2164         * callouts/nm-dispatcher-action.c
2165                 - (nm_dispatcher_action): grab device path and create the device; pass
2166                         the device's DHCP4 config to script caller
2167                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
2168                         scripts
2169
2170         * libnm-glib/nm-dhcp4-config.c
2171           libnm-glib/nm-dhcp4-config.h
2172                 - (nm_dhcp4_config_get_options): expose
2173                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
2174
2175 2008-08-07  Dan Williams  <dcbw@redhat.com>
2176
2177         * include/NetworkManager.h
2178                 - Add the DHCP4Config D-Bus interface
2179
2180         * libnm-glib/Makefile.am
2181           libnm-glib/nm-dhcp4-config.c
2182           libnm-glib/nm-dhcp4-config.h
2183                 - Handle DHCP4 config objects exported by NM over D-Bus
2184
2185         * libnm-glib/nm-device.c
2186           libnm-glib/nm-device.h
2187                 - Add a 'dhcp4-config' property
2188
2189         * libnm-glib/libnm-glib-test.c
2190                 - Print out DHCP4 config for devices
2191                 - Fix some crashes when no connections are active
2192
2193         * src/nm-device-interface.c
2194           src/nm-device.c
2195           src/nm-dhcp4-config.c
2196           src/nm-dhcp4-config.h
2197                 - Treat dhcp4-config object as an object path at the D-Bus interface so
2198                         that when it doesn't exist we can proxy it as "/" which dbus-glib
2199                         doesn't let us do when the property type is G_TYPE_OBJECT
2200
2201 2008-08-07  Dan Williams  <dcbw@redhat.com>
2202
2203         * src/NetworkManager.c
2204           src/NetworkManagerSystem.h
2205           src/backends/NetworkManagerArch.c
2206           src/backends/NetworkManagerDebian.c
2207           src/backends/NetworkManagerFrugalware.c
2208           src/backends/NetworkManagerGeneric.c
2209           src/backends/NetworkManagerGeneric.h
2210           src/backends/NetworkManagerGentoo.c
2211           src/backends/NetworkManagerMandriva.c
2212           src/backends/NetworkManagerPaldo.c
2213           src/backends/NetworkManagerRedHat.c
2214           src/backends/NetworkManagerSlackware.c
2215           src/backends/NetworkManagerSuSE.c
2216                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
2217
2218 2008-08-06  Dan Williams  <dcbw@redhat.com>
2219
2220         * libnm-glib/nm-ip4-config.c
2221           libnm-glib/nm-ip4-config.h
2222                 - Add 'routes' property
2223
2224         * libnm-util/nm-setting-vpn.c
2225           libnm-util/nm-setting-vpn.h
2226                 - Remove 'routes' property
2227
2228         * libnm-util/nm-setting-ip4-config.c
2229           libnm-util/nm-setting-ip4-config.h
2230                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
2231                 - Add 'ignore-auto-routes' property
2232                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
2233                         accomodate route metrics
2234                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
2235
2236         * libnm-util/nm-utils.c
2237           libnm-util/nm-utils.h
2238                 - Add helpers for marshalling IP4 routes
2239
2240         * src/NetworkManagerUtils.c
2241                 - (nm_utils_merge_ip4_config): handle property renames and new route
2242                         structure
2243
2244         * src/NetworkManagerSystem.c
2245                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
2246                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
2247
2248         * src/dhcp-manager/nm-dhcp-manager.c
2249                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
2250
2251         * system-settings/plugins/ifcfg-fedora/reader.c
2252           system-settings/plugins/ifcfg-fedora/writer.c
2253                 - Handle routes separately from addresses now that routes have a different
2254                         format
2255
2256         * introspection/nm-ip4-config.xml
2257           src/nm-ip4-config.c
2258           src/nm-ip4-config.h
2259                 - Rename internal routing functions
2260                 - 'static-routes' renamed to 'routes'
2261
2262 2008-08-04  Dan Williams  <dcbw@redhat.com>
2263
2264         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
2265
2266         * src/NetworkManager.c
2267           src/nm-manager.c
2268           src/nm-manager.h
2269                 - More explicitly make the NMManager a singleton
2270
2271 2008-08-04  Dan Williams  <dcbw@redhat.com>
2272
2273         * libnm-util/nm-connection.c
2274           libnm-util/nm-connection.h
2275                 - (nm_connection_verify): return error on missing 'connection' setting
2276                         (found by Sjoerd Simons)
2277
2278 2008-08-04  Dan Williams  <dcbw@redhat.com>
2279
2280         Handle multiple concurrent PPP connections.
2281
2282         * src/ppp-manager/nm-ppp-manager.c
2283           src/ppp-manager/nm-ppp-manager.h
2284                 - (constructor): only PPP Manager request bus name once; each
2285                         NMPPPManager object gets a unique object path
2286                 - (nm_ppp_manager_class_init, get_property, set_property,
2287                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
2288                         at construct time
2289                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
2290                         remove timeout until PPP manager gets an IP4 config
2291                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
2292                         the plugin can call back to this specific PPP manager instance
2293
2294         * src/nm-device-ethernet.c
2295           src/nm-serial-device.c
2296                 - Pass parent device in nm_ppp_manager_new()
2297
2298         * src/nm-gsm-device.c
2299           src/nm-cdma-device.c
2300                 - (device_state_changed): don't close serial device on NEED_AUTH
2301                         state changed, that's not a failure case like the rest are
2302
2303         * src/ppp-manager/nm-pppd-plugin.c
2304                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
2305                         binds one interface to any pppd process, thus the correct index
2306                         is always 0; send PHASE_DEAD on error to alert NM immediately of
2307                         problems; try harder to get a peer address in spite of pppd
2308                 - (plugin_init): use 'ipparam' as the object path back to our specific
2309                         PPP manager instance
2310
2311 2008-08-04  Dan Williams  <dcbw@redhat.com>
2312
2313         * src/ppp-manager/nm-ppp-manager.c
2314                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
2315                         since the GSM and CDMA settings now implement need_secrets, we can
2316                         rely on them to do the right thing.  Where secrets are not required,
2317                         just pass empty strings back to the pppd plugin.
2318                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
2319                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
2320                         on successful IP4 config receipt
2321
2322 2008-08-04  Dan Williams  <dcbw@redhat.com>
2323
2324         * libnm-util/nm-setting-cdma.c
2325           libnm-util/nm-setting-gsm.c
2326                 - (verify): validate username & password if they exist
2327                 - (need_secrets): if username given, require a password too
2328
2329 2008-08-04  Dan Williams  <dcbw@redhat.com>
2330
2331         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2332                 - (create_dm_cmd_line): really don't listen on lo, despite what the
2333                         manpage says about --listen-address without --interface
2334                         (bgo #546033)
2335
2336 2008-08-01  Dan Williams  <dcbw@redhat.com>
2337
2338         * libnm-glib/nm-device.c
2339                 - (proxy_get_string): util function for querying a HAL property
2340                 - (get_ancestor_device): split out from get_product_and_vendor()
2341                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
2342                         from PCI devices by querying subsys properties
2343                 - (nm_device_update_description): simplify
2344
2345 2008-08-01  Dan Williams  <dcbw@redhat.com>
2346
2347         * libnm-util/nm-setting-ip4-config.c
2348           libnm-util/nm-setting-ip4-config.h
2349                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
2350                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
2351                         settings, and they don't necessarily use DHCP.
2352
2353         * src/NetworkManagerPolicy.c
2354           src/nm-device.c
2355           system-settings/plugins/ifcfg-fedora/reader.c
2356           system-settings/plugins/ifcfg-suse/parser.c
2357                 - Fixup for method changes
2358
2359 2008-07-31  Dan Williams  <dcbw@redhat.com>
2360
2361         * src/nm-activation-request.c
2362           src/vpn-manager/nm-vpn-connection.c
2363                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
2364                         itself should be attached to the activation request or the VPN
2365                         connection, not the NMConnection object, since the call is not
2366                         expected to live as long as the NMConnection itself
2367
2368 2008-07-31  Dan Williams  <dcbw@redhat.com>
2369
2370         * src/nm-device-wifi.c
2371                 - (real_act_stage2_config): fix issue where association would continue
2372                         even though secrets were needed; 'goto out' was in wrong scope and
2373                         result of handle_auth_or_fail() should have been dumped directly to
2374                         'ret' to ensure that the association was postponed until secrets
2375                         are available
2376
2377 2008-07-31  Dan Williams  <dcbw@redhat.com>
2378
2379         * system-settings/plugins/ifcfg-fedora/plugin.c
2380           system-settings/plugins/ifcfg-fedora/reader.c
2381                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
2382                         valid NM connection
2383
2384 2008-07-29  Dan Williams  <dcbw@redhat.com>
2385
2386         * src/nm-gsm-device.c
2387                 - (automatic_registration_response, automatic_registration): recognize
2388                         denied registration and reorder responses
2389
2390 2008-07-29  Dan Williams  <dcbw@redhat.com>
2391
2392         * src/nm-serial-device.c
2393                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
2394                         time(2) is used for current time, which returns seconds, we shouldn't
2395                         be multiplying by 1000.
2396
2397 2008-07-28  Dan Williams  <dcbw@redhat.com>
2398
2399         Patch from Fabrice Bellet <fabrice@bellet.info>
2400
2401         * src/NetworkManagerSystem.c
2402                 - (route_in_same_subnet): mask addresses and compare them so that the
2403                         function actually does what it says it's going to do (rh #456685)
2404
2405 2008-07-27  Dan Williams  <dcbw@redhat.com>
2406
2407         * libnm-util/nm-setting-ip6-config.c
2408                 - (set_property): add missing break that caused routes to be overwritten
2409                         with addresses
2410
2411         * libnm-util/nm-setting-ip6-config.c
2412                 - (verify): validate routes and return GError everywhere on invalid setting
2413                 - (finalize): don't leak routes
2414                 - (set_property): add missing break that caused routes to be overwritten
2415                         with addresses
2416
2417 2008-07-27  Dan Williams  <dcbw@redhat.com>
2418
2419         * libnm-util/*
2420                 - Relicense to LGPLv2+
2421
2422 2008-07-27  Dan Williams  <dcbw@redhat.com>
2423
2424         * system-settings/plugins/ifcfg-fedora/reader.c
2425                 - (make_ip4_setting): fix parsing automatic configs
2426
2427 2008-07-27  Dan Williams  <dcbw@redhat.com>
2428
2429         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2430           src/nm-device.c
2431           src/ppp-manager/nm-ppp-manager.c
2432                 - Ensure child process gets reaped.  The child watch function may be
2433                         removed from the mainloop before the child gets killed, so we have
2434                         to make sure the child is reaped when it's told to die intentionally
2435
2436 2008-07-27  Dan Williams  <dcbw@redhat.com>
2437
2438         Patch from Roy Marples <roy@marples.name>
2439
2440         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2441                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
2442
2443 2008-07-27  Dan Williams  <dcbw@redhat.com>
2444
2445         * src/nm-gsm-device.c
2446                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
2447                         Huawei devices turn echo back on after CPIN (rh #456770)
2448
2449 2008-07-24  Tambet Ingo  <tambet@gmail.com>
2450
2451         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
2452         format argument to g_set_error() call.
2453
2454         * src/backends/interface_parser.[ch]: Remove.
2455
2456         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
2457
2458 2008-07-21  Dan Williams  <dcbw@redhat.com>
2459
2460         * src/ppp-manager/nm-ppp-manager.c
2461                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
2462                         to prevent pppd from picking up some random local address from an
2463                         interface that doesn't have anything to do with the one we're
2464                         interested in (rh #455348)
2465
2466 2008-07-17  Dan Williams  <dcbw@redhat.com>
2467
2468         * libnm-util/nm-utils.c
2469                 - (string_to_utf8): general function for conversion to UTF-8 assisted
2470                         by locale
2471                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
2472                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
2473
2474 2008-07-17  Dan Williams  <dcbw@redhat.com>
2475
2476         * introspection/Makefile.am
2477           introspection/nm-device.xml
2478           introspection/nm-dhcp4-config.xml
2479                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
2480                         itself
2481         * src/nm-device-interface.c
2482           src/nm-device-interface.h
2483                 - Add the DHCP4Config property
2484
2485         * src/nm-device.c
2486                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
2487                         D-Bus clients when it changes
2488
2489         * src/nm-dhcp4-config.c
2490           src/nm-dhcp4-config.h
2491                 - Simple object to store DHCP4 options, export them over D-Bus, and
2492                         notify when they change
2493
2494         * src/dhcp-manager/nm-dhcp-manager.c
2495           src/dhcp-manager/nm-dhcp-manager.h
2496                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
2497                         filter server-returned DHCP options into an NMDHCP4Config object
2498
2499 2008-07-16  Dan Williams  <dcbw@redhat.com>
2500
2501         * introspection/nm-device.xml
2502                 - Add device state reasons
2503
2504 2008-07-16  Dan Williams  <dcbw@redhat.com>
2505
2506         Patch from Roy Marples <roy@marples.name>
2507
2508         * configure.in
2509                 - Add --with-dhcp-client option
2510
2511         * src/dhcp-manager/Makefile.am
2512                 - pass DHCP_CLIENT_PATH on compile line
2513
2514         * src/dhcp-manager/nm-dhcp-manager.c
2515           src/dhcp-manager/nm-dhcp-manager.h
2516                 - Genericize for both dhcpcd and dhclient
2517
2518         * src/dhcp-manager/nm-dhcp-dhclient.c
2519                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
2520
2521         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2522                 - Implement support for dhcpcd too
2523
2524 2008-07-16  Tambet Ingo  <tambet@gmail.com>
2525
2526         * system-settings/src/nm-system-config-interface.c 
2527         (nm_system_config_interface_supports_add): Implement.
2528         (nm_system_config_interface_add_connection): Return a boolean to notify
2529         of errors.
2530
2531         * system-settings/src/nm-polkit-helpers.c: 
2532         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
2533         a separate file.
2534
2535         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
2536         Return an error when none of the plugins support add or if addition
2537         failed for some reason.
2538
2539         * system-settings/src/nm-system-config-error.h: 
2540         * system-settings/src/nm-system-config-error.c: New files, mostly moved
2541         here from nm-polkit-helpers.[ch].
2542
2543         * system-settings/src/Makefile.am: Build new files.
2544
2545         * system-settings/plugins/keyfile/reader.c 
2546         (read_array_of_array_of_uint): Make it more general so that it would
2547         work for routes as well.
2548
2549         * system-settings/plugins/keyfile/writer.c
2550         (write_array_of_array_of_uint): Ditto.
2551         Fix the netmask/prefix writing.
2552
2553         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
2554         boolean to notify errors.
2555
2556         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
2557         Return more specific error.
2558         (delete): Ditto.
2559
2560 2008-07-11  Dan Williams  <dcbw@redhat.com>
2561
2562         Modify the NMDevice::state-changed signal to include the previous state
2563         and reason. Enables the applet to provide more information why device
2564         activation failed.
2565
2566 2008-07-09  Dan Williams  <dcbw@redhat.com>
2567
2568         * callouts/Makefile.am
2569           callouts/nm-avahi-autoipd-action.c
2570           callouts/nm-avahi-autoipd.conf
2571                 - avahi-autoipd callout to send options back to NM
2572
2573         * src/autoip.c
2574           src/autoip.h
2575                 - remove
2576
2577         * src/nm-device.c
2578           src/nm-device-private.h
2579           src/nm-manager.c
2580                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
2581                         old custom stuff
2582
2583 2008-07-07  Dan Williams  <dcbw@redhat.com>
2584
2585         * system-settings/plugins/ifcfg-fedora/reader.c
2586                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
2587                         handle PREFIX too; clean up
2588
2589 2008-07-07  Dan Williams  <dcbw@redhat.com>
2590
2591         Convert to using IPv4 prefixes instead of netmasks.
2592
2593 2008-07-03  Dan Williams  <dcbw@redhat.com>
2594
2595         * libnm-util/nm-setting-ip4-config.c
2596           libnm-util/nm-setting-ip4-config.h
2597                 - Add properties for DHCP Client Identifier and DHCP Hostname
2598
2599         * src/dhcp-manager/nm-dhcp-manager.c
2600           src/dhcp-manager/nm-dhcp-manager.h
2601                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
2602                         setting as an argument to pass on to the dhclient config file
2603                         creation function
2604                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
2605                         DHCP is torn down
2606                 - (dhclient_run): punt config file handling to create_dhclient_config()
2607                 - (create_dhclient_config): create an interface-specific dhclient
2608                         config file since there may need to be interface-specific options
2609                         passed to dhclient
2610                 - (merge_dhclient_config): merge normal distro dhclient config file and
2611                         add options from the connection
2612                 - (nm_dhcp_device_new): generate the interface specific dhclient
2613                         config file path once
2614                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
2615                         dhclient config file path
2616
2617         * src/nm-device.c
2618                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
2619                         DHCP manager when starting DHCP
2620
2621 2008-07-02  Dan Williams  <dcbw@redhat.com>
2622
2623         * libnm-util/nm-setting-8021x.c
2624                 - (verify): allow forcing the PEAP label to 0
2625
2626 2008-07-02  Dan Williams  <dcbw@redhat.com>
2627
2628         * introspection/nm-active-connection.xml
2629           introspection/nm-vpn-connection.xml
2630           libnm-glib/nm-active-connection.c
2631           src/nm-activation-request.c
2632           src/nm-active-connection.h
2633           src/vpn-manager/nm-vpn-connection.c
2634                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
2635                         and libnm-glib API since sharing didn't get implemented that way
2636
2637 2008-07-02  Dan Williams  <dcbw@redhat.com>
2638
2639         * src/nm-device-wifi.c
2640                 - (can_scan): don't scan when a shared connection is activated since
2641                         that makes drivers mad (causing disconnects); also NM doesn't need
2642                         to hedge against disconnects by keeping up-to-date network topology
2643                         because the connection originates from the local machine, and thus
2644                         there should be no disconnects
2645
2646 2008-07-01  Dan Williams  <dcbw@redhat.com>
2647
2648         Fix mobile broadband username/password issues.  NM was never requesting
2649         mobile broadband secrets, nor was it passing back the username and password
2650         if it had them.
2651
2652         * marshallers/nm-marshal.list
2653                 - Add some new types for activation request objects
2654
2655         * src/nm-activation-request.c
2656           src/nm-activation-request.h
2657                 - (get_secrets_cb): pass the caller type in the signal
2658                 - (nm_act_request_request_connection_secrets): take a caller type, so
2659                         that GetSecrets() reply handlers know who asked for the secrets in
2660                         the first place; use secret hints too so the settings service can
2661                         figure out exactly what NM wants (ie, PIN or the PPP password)
2662
2663         * src/ppp-manager/nm-ppp-manager.c
2664           src/ppp-manager/nm-ppp-manager.h
2665                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
2666                         detect needed secrets when the secret could be blank, like GSM/CDMA
2667                         passwords.  So always ask for secrets, and send a hint as to what
2668                         secret we really want.
2669                 - (nm_ppp_manager_update_secrets): make function more generic by making
2670                         the device specific class figure out the username and password, and
2671                         accept an error argument to return back over D-Bus
2672
2673         * src/nm-device-wifi.c
2674                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2675                         nm_act_request_request_connection_secrets()
2676                 - (real_connection_secrets_updated): update for 'caller' changes
2677
2678         * src/nm-device.c
2679           src/nm-device.h
2680                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
2681                         for 'caller' changes
2682
2683         * src/nm-device-ethernet.c
2684                 - (real_connection_secrets_updated): update for 'caller' changes and
2685                         move logic for getting PPPoE username and password here before
2686                         calling nm_ppp_manager_update_secrets()
2687                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2688                         nm_act_request_request_connection_secrets()
2689
2690         * src/nm-cdma-device.c
2691                 - (real_connection_secrets_updated): pass username and password back
2692                         to the PPP manager when required
2693
2694         * src/nm-gsm-device.c
2695                 - (enter_pin): send the required secret name to the settings service
2696                 - (real_connection_secrets_updated): pass username and password back
2697                         to the PPP manager when required
2698
2699 2008-06-30  Dan Williams  <dcbw@redhat.com>
2700
2701         * src/nm-device-wifi.c
2702                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
2703
2704 2008-06-30  Dan Williams  <dcbw@redhat.com>
2705
2706         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
2707         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
2708         priv->supplicant.iface.  When either condition is false, the device should
2709         transition back to UNAVAILABLE because it cannot be used.
2710
2711         * src/nm-device-wifi.c
2712                 - (constructor): cleanup; connect to supplicant manager here since the
2713                         supplicant manager is always around
2714                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
2715                         ensure the supplicant manager is in the IDLE state
2716                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
2717                         cancel any pending scans too
2718                 - (real_bring_up): don't set up the supplicnat interface here, because
2719                         we need the supplicant interface at times when the device may not
2720                         be "up"
2721                 - (real_take_down): just remove the periodic source
2722                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
2723                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
2724                         do anything if there's no supplicant interface
2725                 - (cleanup_association_attempt): cleanup
2726                 - (supplicant_iface_state_cb_handler): request an immediate scan when
2727                         the interface enters the READY state; transition to UNAVAILABLE
2728                         state when the interface goes down because the device can't be used
2729                         without a supplicant interface
2730                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
2731                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
2732                         acquire the supplicant interface and transition to DISCONNECTED
2733                         if the radio isn't killed
2734                 - (nm_device_wifi_dispose): move most of device_cleanup() here
2735                 - (state_changed_cb): release any existing supplicant interface; if the
2736                         radio is enabled then try to acquire a new supplicant interface;
2737                         if the radio is enabled and a supplicant interface has been acquired,
2738                         we can transition to DISCONNECTED
2739                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
2740                         don't enable the radio, because HAL probably lied to us about the
2741                         killswitch being off.  If bringing the hardware up worked, then
2742                         try to grab a supplicant interface, and if that was successful,
2743                         transition to DISCONNECTED
2744
2745 2008-06-30  Dan Williams  <dcbw@redhat.com>
2746
2747         * src/supplicant-manager/nm-supplicant-interface.c
2748                 - (request_scan_results, nm_supplicant_interface_dispose,
2749                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
2750                         the id of the timeout, not a GSource
2751
2752 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2753
2754         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
2755         bunch of typoes introduced by "Patch from David Cantrell 
2756         <dcantrell@redhat.com> and me".
2757
2758 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2759
2760         * src/nm-serial-device.c: 
2761         * src/nm-gsm-device.c: 
2762         * src/nm-cdma-device.c: Move the pending call handling to a common location
2763         in serial device. Handle setting device state to failed in one place as well.
2764
2765 2008-06-29  Dan Williams <dcbw@redhat.com>
2766
2767         * src/nm-hal-manager.c
2768                 - Rework killswitch handling to query killswitch status immediately
2769                         when the first killswitch is added, so that rfkill state is
2770                         known as early as possible
2771                 - Also treat failure of GetPower() as rfkill when the dbus method
2772                         call times out (but not when the HAL callout returns an error)
2773
2774 2008-06-26  Dan Williams <dcbw@redhat.com>
2775
2776         Patch from David Cantrell <dcantrell@redhat.com> and me
2777
2778         * include/nm-dbus-glib-types.h
2779                 - Add IP6 address types
2780
2781         * libnm-util/Makefile.am
2782           libnm-util/nm-setting-ip6-config.c
2783           libnm-util/nm-setting-ip6-config.h
2784                 - Add IP6 settings object
2785
2786         * libnm-util/nm-connection.c
2787                 - (register_default_settings): register ip6 settings object
2788
2789         * libnm-util/nm-utils.c
2790           libnm-util/nm-utils.h
2791                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
2792                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
2793                         ip6 address conversion functions
2794         
2795 2008-06-26  Dan Williams <dcbw@redhat.com>
2796
2797         Patch from David Cantrell <dcantrell@redhat.com>
2798         
2799         * Use inet_ntop() and inet_pton() everwhere and check for errors
2800
2801 2008-06-26  Dan Williams <dcbw@redhat.com>
2802
2803         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
2804
2805 2008-06-26  Dan Williams <dcbw@redhat.com>
2806
2807         Patch from Adel Gadllah <adel.gadllah@gmail.com>
2808
2809         * src/nm-device-wifi.c
2810                 - (link_timeout_cb): don't ignore disconnects due to scanning
2811                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2812                         a longer timeout when scanning; avoids case where supplicant can't
2813                         find the AP and just keeps scanning forever but isn't connected
2814
2815 2008-06-26  Dan Williams <dcbw@redhat.com>
2816
2817         Patch from Michael Biebl <biebl@debian.org>
2818
2819         * Clean up build system stuff
2820
2821 2008-06-23  Christian Persch  <chpe@gnome.org>
2822
2823         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2824         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2825         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2826         (impl_get_object):
2827         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2828         (impl_get_object):
2829         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2830         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2831         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2832         (impl_get_object):
2833         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2834         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2835         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2836         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2837         * vpn-daemons/pptp/properties/vpnui_opt.c:
2838         (vpnui_opt_connect_signals):
2839         * vpn-daemons/pptp/properties/vpnui_opt.h:
2840         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2841         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2842         deprecated gtk type macros. Bug #539325.
2843
2844 2008-06-20  Dan Williams  <dcbw@redhat.com>
2845
2846         * libnm-glib/nm-vpn-plugin-ui-interface.c
2847           libnm-glib/nm-vpn-plugin-ui-interface.h
2848                 - 'validity-changed' -> 'changed' to work better with the connection
2849                         editor.  Plugin UI widgets should emit 'changed' whenever their
2850                         UI values change in a meaningful way.
2851                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2852                         update_connection member now returns validity of the UI widget
2853
2854 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2855
2856         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2857
2858 2008-06-17  Dan Williams  <dcbw@redhat.com>
2859
2860         * libnm-glib/nm-vpn-plugin-ui-interface.c
2861           libnm-glib/nm-vpn-plugin-ui-interface.h
2862                 - Add "desc" property for longer descriptions of the VPN plugin
2863
2864 2008-06-16  Dan Williams  <dcbw@redhat.com>
2865
2866         * configure.in
2867           libnm-glib/libnm_glib_vpn.pc.in
2868                 - add a .pc file for libnm_glib_vpn
2869
2870         * libnm-glib/nm-vpn-plugin-ui-interface.c
2871           libnm-glib/nm-vpn-plugin-ui-interface.h
2872                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2873                         rework it substantially
2874
2875 2008-06-12  Dan Williams  <dcbw@redhat.com>
2876
2877         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2878         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2879         returns a descriptive GError when verification fails.
2880
2881 2008-06-11  Dan Williams  <dcbw@redhat.com>
2882
2883         Patch from Tambet Ingo <tambet@gmail.com>
2884
2885         * libnm-util/nm-setting-gsm.c
2886                 - (verify): validate APN
2887
2888         * src/nm-gsm-device.c
2889                 - (manual_registration_done): start setting APN if needed
2890                 - (set_apn, set_apn_done): set the APN
2891                 - (do_dial): use the APN when dialing
2892
2893 2008-06-11  Dan Williams  <dcbw@redhat.com>
2894
2895         * src/NetworkManagerSystem.c
2896                 - (nm_system_device_set_ip4_route,
2897                    nm_system_device_replace_default_ip4_route): check for the right
2898                         return value from rtnl_route_add() to know when to add a gateway
2899                         route (from Tambet)
2900
2901 2008-06-11  Dan Williams  <dcbw@redhat.com>
2902
2903         * src/NetworkManagerPolicy.c
2904                 - do_ipt_cmd -> do_cmd
2905                 - (sharing_init): use do_cmd() instead of system()
2906
2907 2008-06-10  Dan Williams  <dcbw@redhat.com>
2908
2909         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2910         and use "wifi" everwhere instead.
2911
2912 2008-06-10  Dan Williams  <dcbw@redhat.com>
2913
2914         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2915
2916 2008-06-10  Dan Williams  <dcbw@redhat.com>
2917
2918         Patch from Tambet Ingo <tambet@gmail.com>
2919
2920         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2921                 changes.
2922
2923         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2924                 a signal to emit these changes over dbus.
2925
2926         * src/Makefile.am: Genereate nm-serial-device-glue.
2927
2928         * libnm-glib/nm-serial-device.[ch]: Implement.
2929
2930         * libnm-glib/nm-cdma-device.[ch]
2931           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2932
2933         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2934
2935         * introspection/nm-device-serial.xml: Implement.
2936
2937         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2938
2939         * introspection/Makefile.am: Add nm-device-serial.xml.
2940
2941         * include/NetworkManager.h: Add a DBus interface for serial device.
2942
2943 2008-06-10  Dan Williams  <dcbw@redhat.com>
2944
2945         * configure.in
2946                 - Add TARGET_* define to config.h to distinguish distros
2947
2948         * src/dhcp-manager/nm-dhcp-manager.c
2949                 - (dhclient_run): use distro-specific path for dhclient config file
2950
2951 2008-06-09  Dan Williams  <dcbw@redhat.com>
2952
2953         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2954           src/dnsmasq-manager/nm-dnsmasq-manager.h
2955                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2956                         calculate the addresses passed to dnsmasq instead of hard-coding
2957                         them
2958
2959         * src/nm-device.c
2960                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2961                         IP addresses for shared connections to guard against shared
2962                         connection address collisions
2963                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2964                         error conditions
2965                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2966                         the dnsmasq manager
2967
2968 2008-06-09  Dan Williams  <dcbw@redhat.com>
2969
2970         * src/NetworkManagerPolicy.c
2971                 - (update_routing_and_dns): set the default connection _after_ unsetting
2972                         default on all non-default connections so that two connections can
2973                         never be default at the same time
2974                 - (device_state_changed): start and stop connection sharing when
2975                         needed
2976                 - (active_connection_default_changed): restart or stop sharing when
2977                         the default connection changes to keep shared connections always
2978                         NAT-ed through the default connection
2979                 - (check_sharing): handle activation/deactivation of shared connections
2980                 - (sharing_restart): atom-bomb approach to connection sharing until we
2981                         can use libnl; reinit all sharing when the default connection or
2982                         shared connections change
2983                 - (sharing_init, sharing_stop): evil functions that init and deinit
2984                         iptables
2985
2986 2008-06-09  Dan Williams  <dcbw@redhat.com>
2987
2988         * src/nm-activation-request.c
2989           src/nm-activation-request.h
2990                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2991                    nm_act_request_get_device): new functions to facilitate connection
2992                         sharing
2993
2994 2008-06-09  Dan Williams  <dcbw@redhat.com>
2995
2996         * src/nm-device.c
2997                 - (clear_act_request): unset the 'default' property of the activation
2998                         request when clearing it to ensure the property changed signal gets
2999                         delivered and handled
3000
3001 2008-06-09  Dan Williams  <dcbw@redhat.com>
3002
3003         * libnm-glib/nm-device-802-11-wireless.c
3004                 - (access_point_removed_proxy): actually unref the AP after removing
3005                         it from the device's AP list.  Fixes refcounting bug for APs that
3006                         caused them to get mixed up in the applet's menu.
3007
3008 2008-06-09  Tambet Ingo  <tambet@gmail.com>
3009
3010         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
3011         (nm_dhcp_device_destroy): Destroy the device options hash table.
3012
3013 2008-06-06  Dan Williams <dcbw@redhat.com>
3014
3015         * system-settings/src/nm-polkit-helpers.c
3016                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
3017                         unref the context if the initialization fails; also avoid spew when
3018                         the error isn't set
3019
3020 2008-06-06  Dan Williams <dcbw@redhat.com>
3021
3022         Patch from Tambet Ingo  <tambet@gmail.com>
3023
3024         * src/NetworkManagerSystem.c
3025           src/NetworkManagerSystem.h
3026                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
3027                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
3028                 - (nm_system_device_set_ip4_route): clean up
3029                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
3030
3031         * src/nm-device.c
3032                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
3033
3034         * src/vpn-manager/nm-vpn-connection.c
3035                 - (ip_address_to_string): new function
3036                 - (print_vpn_config): use ip_address_to_string
3037                 - (merge_vpn_routes): add user-defined routes to the ip4 config
3038                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
3039
3040         * include/NetworkManagerVPN.h
3041                 - Add 'routes' key
3042
3043 2008-06-05  Dan Williams <dcbw@redhat.com>
3044
3045         Patch from Markus Becker <mab@comnets.uni-bremen.de>
3046
3047         * test/nm-tool.c
3048                 - Show which device is the default device
3049
3050 2008-06-05  Tambet Ingo  <tambet@gmail.com>
3051
3052         Fix memory leaks.
3053
3054         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
3055         Free data returned from dbus method call.
3056
3057         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
3058         dbus_g_method_get_sender() returns a duplicated string, free it 
3059         when done.
3060         (check_polkit_privileges): Looks like policykit sometimes returns
3061         error and non-null return value, don't leak errors in that case.
3062
3063         * system-settings/src/main.c (find_plugin): Don't leak existing 
3064         plugin names.
3065         (load_stuff): Don't leak device list and list items.
3066         (have_connection_for_device): Don't leak connection list.
3067
3068         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
3069         Free the data received from g_keyfile_get_*.
3070
3071         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
3072         the key when the security object is updated.
3073
3074         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
3075         Free data returned from dbus method call.
3076         (iface_state_cb): Ditto.
3077         (add_network_cb): Ditto.
3078         (nm_supplicant_interface_add_cb): Don't make another copy of already
3079         duplicated object path.
3080         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
3081         when done.
3082
3083         * src/supplicant-manager/nm-supplicant-config.c 
3084         (ADD_STRING_LIST_VAL): Fix a memory leak.
3085
3086         * src/nm-manager.c (free_get_settings_info): Free the allocated
3087         memory slice.
3088         (list_connections_cb): Free data returned from dbus method call.
3089         (system_settings_get_unmanaged_devices_cb): Ditto.
3090
3091         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
3092
3093         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
3094         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
3095         * src/backends/shvar.c (svCloseFile): Free the duplicated content
3096         of the GList.
3097
3098         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
3099         arguments after the object is created.
3100
3101 2008-06-04  Dan Williams <dcbw@redhat.com>
3102
3103         * libnm-util/Makefile.am
3104                 - Don't distribute nm-param-spec-specialized.h
3105
3106 2008-06-02  Tambet Ingo  <tambet@gmail.com>
3107
3108         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
3109
3110         * src/nm-ip4-config.[ch]: Store the static routes as a list of
3111         NMIP4Address, update the getters and setters.
3112
3113         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
3114         Use the updated NMIP4Config routes api.
3115
3116         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
3117         static routes as well.
3118
3119         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
3120         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
3121         routes api.
3122
3123 2008-05-30  Dan Williams <dcbw@redhat.com>
3124
3125         * src/named-manager/nm-named-manager.c
3126           src/named-manager/nm-named-manager.h
3127                 - Remove stale/obsolete bits for controlling bind over DBus
3128
3129 2008-05-29  Dan Williams <dcbw@redhat.com>
3130
3131         * src/dnsmasq-manager/nm-dnsmasq-manager.c
3132           src/dnsmasq-manager/nm-dnsmasq-manager.h
3133                 - (nm_dnsmasq_manager_new): move iface argument here
3134                 - (constructor): remove, not needed
3135                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
3136                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
3137
3138         * src/nm-device.c
3139                 - (real_act_stage4_get_ip4_config,
3140                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
3141                         changes
3142
3143 2008-05-29  Dan Williams <dcbw@redhat.com>
3144
3145         * src/nm-device.c
3146                 - (dnsmasq_state_changed_cb): new function; fail the connection if
3147                         something happens to dnsmasq
3148                 - (nm_device_new_ip4_shared_config): new function; create a new
3149                         ip4-config for shared connections.  Shared connections always use a
3150                         fixed static IP address.
3151                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
3152                         autoip connections by actually using the returned ip4-config and
3153                         not leaking it
3154                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
3155                         connections
3156                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
3157                         if its active
3158
3159 2008-05-29  Dan Williams <dcbw@redhat.com>
3160
3161         * src/nm-device-802-11-wireless.c
3162                 - (real_get_best_auto_connection): auto-activate 'shared' method
3163                         connections too
3164
3165 2008-05-29  Dan Williams <dcbw@redhat.com>
3166
3167         * libnm-util/nm-setting-ip4-config.c
3168           libnm-util/nm-setting-ip4-config.h
3169                 - Add a 'shared' method to indicate that this connection should be
3170                         brought up with a DHCP and proxy DNS server to facilitate
3171                         connection sharing.
3172                 - (verify): 'shared' method doesn't allow DNS or searches either
3173
3174 2008-05-29  Dan Williams <dcbw@redhat.com>
3175
3176         * configure.in
3177           src/Makefile.am
3178           src/dnsmasq-manager/Makefile.am
3179           src/dnsmasq-manager/nm-dnsmasq-manager.c
3180           src/dnsmasq-manager/nm-dnsmasq-manager.h
3181                 - Add a dnsmasq daemon manager to facilitate connection sharing
3182
3183 2008-05-29  Dan Williams <dcbw@redhat.com>
3184
3185         * src/nm-device-private.h
3186                 - Remove unused prototypes and clean up
3187
3188         * src/nm-device.c
3189                 - Remove anything related to system_config_data, which is no longer used
3190                 - (nm_device_new_ip4_autoip_config): make static
3191
3192 2008-05-29  Tambet Ingo  <tambet@gmail.com>
3193
3194         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
3195         (file_changed): Fix a bug where suse system settings plugin didn't
3196         update the connections automatically when the files changed.
3197
3198 2008-05-28  Dan Williams  <dcbw@redhat.com>
3199
3200         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
3201
3202 2008-05-28  Dan Williams  <dcbw@redhat.com>
3203
3204         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3205
3206         * src/NetworkManagerSystem.c
3207                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
3208                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
3209                         was causing -EINVAL errors since the libnl code actually does flush
3210                         the routes on VPN interfaces now
3211
3212         * src/backends/NetworkManagerArch.c
3213           src/backends/NetworkManagerDebian.c
3214           src/backends/NetworkManagerFrugalware.c
3215           src/backends/NetworkManagerGeneric.c
3216           src/backends/NetworkManagerGentoo.c
3217           src/backends/NetworkManagerMandriva.c
3218           src/backends/NetworkManagerPaldo.c
3219           src/backends/NetworkManagerRedHat.c
3220           src/backends/NetworkManagerSlackware.c
3221           src/backends/NetworkManagerSuSE.c
3222                 - (nm_system_device_flush_ip4_routes,
3223                    nm_system_device_flush_ip4_routes_with_iface): remove
3224
3225 2008-05-28  Dan Williams  <dcbw@redhat.com>
3226
3227         * libnm-util/nm-setting-wireless.c
3228           libnm-util/nm-setting-wireless.h
3229                 - (set_property, get_property, nm_setting_wireless_class_init): add the
3230                         'adhoc-create' property, which when TRUE indicates that NM should
3231                         create this connection as an adhoc wifi network if it's not found
3232                         as an adhoc network during scanning.  Can be used to auto-create
3233                         adhoc networks when used in combination with autoconnect.
3234
3235 2008-05-28  Tambet Ingo  <tambet@gmail.com>
3236
3237         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
3238
3239         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
3240         checked, it doesn't work on some devices.
3241
3242 2008-05-28  Tambet Ingo  <tambet@gmail.com>
3243
3244         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
3245         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
3246
3247         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
3248         Use inet_aton() everywhere to improve error detection.
3249         Don't fall back to 'dhcp_server_identifier' if the gateway is not
3250         provided.
3251
3252 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3253
3254         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
3255         Fix a typo.
3256
3257 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3258
3259         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
3260         reference counting issue.
3261
3262 2008-05-23  Dan Williams  <dcbw@redhat.com>
3263
3264         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3265
3266         * src/backends/NetworkManagerGeneric.c
3267                 - (nm_generic_enable_loopback): use libnl
3268
3269 2008-05-23  Dan Williams  <dcbw@redhat.com>
3270
3271         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3272
3273         * src/NetworkManagerSystem.h
3274           src/backends/NetworkManagerArch.c
3275           src/backends/NetworkManagerDebian.c
3276           src/backends/NetworkManagerFrugalware.c
3277           src/backends/NetworkManagerGentoo.c
3278           src/backends/NetworkManagerMandriva.c
3279           src/backends/NetworkManagerPaldo.c
3280           src/backends/NetworkManagerRedHat.c
3281           src/backends/NetworkManagerSlackware.c
3282           src/backends/NetworkManagerSuSE.c
3283                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
3284                    nm_system_flush_arp_cache): remove, unused
3285
3286         * src/backends/NetworkManagerGeneric.c
3287           src/backends/NetworkManagerGeneric.h
3288                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
3289                    nm_generic_flush_arp_cache): remove, unused
3290
3291 2008-05-23  Dan Williams  <dcbw@redhat.com>
3292
3293         * system-settings/plugins/ifcfg-fedora/reader.c
3294                 - (make_ip4_setting): honor PEERDNS setting
3295
3296 2008-05-23  Dan Williams  <dcbw@redhat.com>
3297
3298         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3299
3300         * src/NetworkManagerSystem.c
3301                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
3302                         libnl
3303
3304         * src/backends/NetworkManagerArch.c
3305           src/backends/NetworkManagerDebian.c
3306           src/backends/NetworkManagerFrugalware.c
3307           src/backends/NetworkManagerGentoo.c
3308           src/backends/NetworkManagerMandriva.c
3309           src/backends/NetworkManagerPaldo.c
3310           src/backends/NetworkManagerRedHat.c
3311           src/backends/NetworkManagerSlackware.c
3312           src/backends/NetworkManagerSuSE.c
3313                 - (nm_system_device_flush_ip4_addresses,
3314                    nm_system_device_flush_ip4_addresses_with_iface): remove
3315
3316         * src/backends/NetworkManagerGeneric.c
3317                 - (nm_generic_device_flush_ip4_addresses,
3318                    nm_generic_device_flush_ip4_addresses_with_iface): remove
3319
3320 2008-05-23  Dan Williams  <dcbw@redhat.com>
3321
3322         * src/supplicant-manager/nm-supplicant-settings-verify.c
3323                 - Switch 'bssid' from bytes to keyword type
3324                 - (validate_type_keyword): allow NULL keyword lists
3325
3326         * src/supplicant-manager/nm-supplicant-config.c
3327                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
3328                         a byte array to string form, which is what the supplicant expects
3329
3330 2008-05-23  Tambet Ingo  <tambet@gmail.com>
3331
3332         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
3333         information received from DHCP.
3334
3335         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
3336         to make it possible to ignore the DNS information (both servers and 
3337         searches) returned by DHCP server.
3338
3339         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
3340         name servers and searches if "ignore_dhcp_dns" is set.
3341
3342         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
3343         (nm_ip4_config_reset_searches): Implement.
3344
3345 2008-05-22  Dan Williams  <dcbw@redhat.com>
3346
3347         Remove anything mDNS related.  This is better done from a distro-specific
3348         dispatcher script.  Plus, any distro using avahi doesn't need to restart
3349         avahi, since avahi can handle interface changes just fine using netlink.
3350
3351         * configure.in
3352                 - Remove --with-mdns-provider
3353
3354         * src/NetworkManagerPolicy.c
3355                 - (global_state_changed): don't restart the mdns provider
3356
3357         * src/NetworkManagerSystem.h
3358           src/backends/NetworkManagerArch.c
3359           src/backends/NetworkManagerDebian.c
3360           src/backends/NetworkManagerFrugalware.c
3361           src/backends/NetworkManagerGentoo.c
3362           src/backends/NetworkManagerMandriva.c
3363           src/backends/NetworkManagerPaldo.c
3364           src/backends/NetworkManagerRedHat.c
3365           src/backends/NetworkManagerSlackware.c
3366           src/backends/NetworkManagerSuSE.c
3367                 - (nm_system_restart_mdns_responder): remove
3368
3369         * src/backends/NetworkManagerGeneric.c
3370           src/backends/NetworkManagerGeneric.h
3371                 - (nm_generic_restart_mdns_responder): remove
3372
3373 2008-05-22  Dan Williams  <dcbw@redhat.com>
3374
3375         * configure.in
3376                 - clean up crypto options; just use --with-crypto=nss or
3377                         --with-crypto=gnutls
3378
3379 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3380
3381         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
3382         anymore, do it right away.
3383
3384 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3385
3386         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
3387         serial device open when we're not connecting or connected.
3388
3389         * src/nm-cdma-device.c (device_state_changed): Ditto.
3390
3391 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3392
3393         Don't remove all devices on waking up, sync with HAL.
3394
3395         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
3396         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
3397         (hal_manager_hal_reappeared_cb): Just call sync_devices.
3398
3399 2008-05-21  Tambet Ingo  <tambet@gmail.com>
3400
3401         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
3402         If the default gateway is unreachable, add a route to gateway and try
3403         again.
3404
3405 2008-05-20  Dan Williams  <dcbw@redhat.com>
3406
3407         * system-settings/plugins/ifcfg-fedora/reader.c
3408                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
3409
3410 2008-05-19  Dan Williams  <dcbw@redhat.com>
3411
3412         * system-settings/plugins/ifcfg-fedora/reader.c
3413                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
3414                         if the ifcfg doesn't specify one (rh #446527)
3415
3416 2008-05-19  Dan Williams  <dcbw@redhat.com>
3417
3418         Make the system settings service exit when the bus goes away.  Since it's
3419         a bus-activated service, it's lifetime is limited to the bus that activated
3420         it (rh #444976).
3421
3422         * system-settings/src/Makefile.am
3423           system-settings/src/nm-system-config-hal-manager-private.h
3424                 - Remove nm-system-config-hal-manager-private.h
3425
3426         * system-settings/src/nm-system-config-hal-manager.c
3427                 - (nm_system_config_hal_manager_reinit_dbus,
3428                    nm_system_config_hal_manager_deinit_dbus): remove
3429
3430         * system-settings/src/main.c
3431                 - (dbus_reconnect): remove
3432                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
3433                 - (destroy_cb): just quit when the bus goes away
3434                 - (start_dbus_service, dbus_init): simplify
3435                 - (main): destroy the wired devices hash table after destroying
3436                         the HAL manager so we don't have to disconnect signals from the
3437                         HAL manager
3438
3439 2008-05-15  Tambet Ingo  <tambet@gmail.com>
3440
3441         Move crypto functions from nm-applet to libnm-util.
3442
3443         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
3444         (nm_setting_802_1x_set_client_cert)
3445         (nm_setting_802_1x_set_phase2_ca_cert)
3446         (nm_setting_802_1x_set_phase2_client_cert)
3447         (nm_setting_802_1x_set_private_key)
3448         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
3449         file (or private key and it's password), read the certificate data.
3450
3451         * libnm-util/crypto_nss.c: 
3452         * libnm-util/crypto_gnutls.c: 
3453         * libnm-util/crypto.[ch]: Move here from nm-applet.
3454
3455         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
3456
3457         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
3458         Imlement WPA-EAP configuration reading from sysconfig.
3459
3460 2008-05-16  Dan Williams  <dcbw@redhat.com>
3461
3462         * src/nm-device-802-11-wireless.c
3463                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
3464                         wireless
3465
3466 2008-05-14  Dan Williams  <dcbw@redhat.com>
3467
3468         Fix Linus' bug in rh #134886
3469
3470         * src/nm-device-802-3-ethernet.c
3471                 - (constructor): request initial carrier state
3472
3473         * src/nm-netlink-monitor.c
3474                 - (nm_netlink_monitor_request_status): schedule emission of carrier
3475                         signals after refilling the link cache.  Because the refill is a 
3476                         synchronous operation, the normal message hander won't get called
3477                         since libnl has already consumed the messages.
3478                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
3479
3480 2008-05-14  Dan Williams  <dcbw@redhat.com>
3481
3482         * src/NetworkManagerSystem.c
3483                 - (nm_system_device_is_up_with_iface): clean up
3484
3485 2008-05-13  Dan Williams  <dcbw@redhat.com>
3486
3487         Fix refcounting issues over sleep/wake when a VPN connection was active that
3488         caused NM to try registering an object path for a device upon wake that was
3489         the same as an already registered object path.
3490
3491         * src/nm-device.c
3492                 - (nm_device_take_down): properly handle cases where the device is
3493                         no longer active but was just active, and therefore must be
3494                         deactivated.  When a device moves to unmanaged mode, this function
3495                         previously would not deactivate the device, because the state was
3496                         already unmanaged by the time this function was called.
3497
3498         * src/vpn-manager/nm-vpn-connection.c
3499                 - (device_state_changed): properly handle multiple devices states in
3500                         which the device is now deactivated.  Code previously didn't handle
3501                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
3502                         UNMANAGED states.
3503
3504 2008-05-13  Dan Williams  <dcbw@redhat.com>
3505
3506         * src/nm-device-private.h
3507           src/nm-device.c
3508                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
3509
3510         * src/nm-device-802-11-wireless.c
3511                 - (nm_device_802_11_wireless_set_enabled): take devices up
3512                         and down as appropriate for the rfkill state
3513
3514 2008-05-13  Dan Williams  <dcbw@redhat.com>
3515
3516         * marshallers/nm-marshal.list
3517                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
3518
3519         * system-settings/plugins/ifcfg-fedora/Makefile.am
3520           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
3521           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
3522                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
3523                         events.  Solely for use watching ifcfg files to pick up changes
3524                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
3525
3526         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3527                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
3528                         file contents change
3529                 - (finalize): clean up inotify watches
3530                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
3531                         and the connection ifcfg for changes on their hardlinks
3532                 - (files_changed_cb): proxy the changed signal back out to listeners
3533
3534         * system-settings/plugins/ifcfg-fedora/plugin.c
3535                 - (dir_changed): 
3536                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
3537                         changes
3538                 - (read_one_connection): connect to change signals on the new connection
3539                 - (dir_changed, connection_changed_handler,
3540                    handle_connection_remove_or_new): break out connection change
3541                         handling and connection new/remove handling so it can be used from
3542                         both the GFileMonitor callback and the NMIfcfgConnection changed
3543                         signals
3544
3545         * system-settings/plugins/ifcfg-fedora/reader.c
3546           system-settings/plugins/ifcfg-fedora/reader.h
3547                 - (connection_from_file): return the keyfile path the connection would use
3548
3549 2008-05-13  Tambet Ingo  <tambet@gmail.com>
3550
3551         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
3552         single PolKitContext which is shared by all. PolKitContext::unref leaks
3553         just about everything, including all open file descriptiors and results
3554         in 99% cpu usage when data arrives to any of the fds that don't belong
3555         to any context anymore.
3556
3557 2008-05-12  Dan Williams  <dcbw@redhat.com>
3558
3559         * gfilemonitor/glocaldirectorymonitor.c
3560           gfilemonitor/glocaldirectorymonitor.h
3561                 - (g_local_directory_monitor_constructor): actually subscribe to the
3562                         watch
3563                 - (_g_local_directory_monitor_new): ensure that inotify is started up
3564
3565         * gfilemonitor/glocalfilemonitor.c
3566           gfilemonitor/glocalfilemonitor.h
3567                 - (g_local_file_monitor_constructor): actually subscribe to the watch
3568                 - (_g_local_file_monitor_new): ensure that inotify is started up
3569
3570 2008-05-11  Dan Williams  <dcbw@redhat.com>
3571
3572         * configure.in
3573                 - record PolicyKit version
3574
3575         * system-settings/src/nm-polkit-helpers.c
3576                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
3577                         with PolicyKit <= 0.6
3578
3579 2008-05-11  Dan Williams  <dcbw@redhat.com>
3580
3581         Update Fedora system-settings plugin to support latest API and use
3582         GFileMonitor rather than home-rolled inotify code.
3583
3584         * system-settings/plugins/ifcfg-fedora/Makefile.am
3585           system-settings/plugins/ifcfg-fedora/common.h
3586           system-settings/plugins/ifcfg-fedora/plugin.c
3587                 - Update to latest system settings plugin API; use GIO instead of
3588                         custom inotify code; use NMIfcfgConnection objects instead of
3589                         ConnectionData structures tacked onto NMConnection objects
3590
3591         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3592           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
3593                 - Implement an NMExportedConnection subclass mapping ifcfg files to
3594                         connections
3595
3596         * system-settings/plugins/ifcfg-fedora/reader.c
3597           system-settings/plugins/ifcfg-fedora/reader.h
3598                 - Move ifcfg parsing bits here from parser.c
3599
3600         * system-settings/plugins/ifcfg-fedora/parser.c
3601           system-settings/plugins/ifcfg-fedora/parser.h
3602                 - Remove; most code moved to reader.c
3603
3604 2008-05-11  Dan Williams  <dcbw@redhat.com>
3605
3606         * configure.in
3607           Makefile.am
3608           gfilemonitor/*
3609                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
3610                         implementation, so that the same change monitoring code can be used
3611                         on systems without glib-2.14 (like Fedora 8)
3612
3613         * system-settings/plugins/keyfile/Makefile.am
3614           system-settings/plugins/keyfile/plugin.c
3615           system-settings/plugins/ifcfg-suse/Makefile.am
3616           system-settings/plugins/ifcfg-suse/plugin.c
3617                 - Use private gfilemonitor code if GIO is not present
3618
3619 2008-05-09  Tambet Ingo  <tambet@gmail.com>
3620
3621         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
3622         NMExportedConnection's 'update' and 'delete' and return error with
3623         descriptive message.
3624
3625 2008-05-08  Dan Williams  <dcbw@redhat.com>
3626
3627         Patch from Markus Becker <mab@comnets.uni-bremen.de>
3628
3629         * src/nm-gsm-device.c
3630           src/nm-cdma-device.c
3631                 - (real_get_best_auto_connection): implement; allow autoconnection
3632                         to GSM & CDMA devices
3633
3634 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3635
3636         Use PolicyKit to authorize the system settings' AddConnection method
3637         and the system settings connections' Update and Delete methods.
3638         
3639         * libnm-glib/nm-settings.c (impl_exported_connection_update)
3640         (impl_exported_connection_delete, nm_exported_connection_update)
3641         (nm_exported_connection_delete): Return boolean and fill GError
3642         to notify the callers of the reasons why it might have failed.
3643
3644         * libnm-glib/nm-dbus-settings-system.c
3645         (nm_dbus_settings_system_add_connection): Return the error from dbus
3646         call so that the callers can see why it failed.
3647
3648         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
3649         signatures.
3650
3651         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
3652
3653         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
3654         abstract base class that checks PolicyKit permissions.
3655
3656         * system-settings/src/dbus-settings.c:
3657         (impl_settings_add_connection): Check the policy before carring out
3658         the request.
3659
3660         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
3661         Inherit from NMSysconfigConnection, check the policies before
3662         allowing updating or removing.
3663
3664         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
3665         Inherit from NMSysconfigConnection.
3666
3667         * introspection/nm-exported-connection.xml: Annotate "Update" and 
3668         "Delete" methods with async flag so that the implementations can get
3669         access to DBusGMethodInvocation.
3670
3671         * system-settings/src/dbus-settings.c 
3672         (settings_add_connection_check_privileges): Implement.
3673         (impl_settings_add_connection): Check the privileges before adding a new
3674         connection. Improve error reporting.
3675
3676         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
3677         async so that the implementation can access DBusGMethodInvocation.
3678
3679         * configure.in: Check for PolicyKit.
3680
3681         * policy/org.freedesktop.network-manager-settings.system.policy: 
3682         New file.
3683
3684         * policy/Makefile.am: Install the policy file.
3685
3686         * configure.in: Add 'policy' subdir.
3687
3688 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3689
3690         Rewrite the suse system settings plugin.
3691
3692         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
3693
3694         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
3695
3696         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
3697
3698         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
3699
3700         * system-settings/src/dbus-settings.c: Fix connection reference counting.
3701
3702         * system-settings/src/main.c (load_plugins): Improve error reporting.
3703
3704         * system-settings/src/sha1.[ch] Add.
3705
3706         * system-settings/src/Makefile.am: Add sha1[ch] to build.
3707
3708 2008-05-07  Dan Williams  <dcbw@redhat.com>
3709
3710         * system-settings/plugins/keyfile/reader.c
3711                 - (read_one_setting_value): handle IP address items separately
3712                 - (read_array_of_uint): read IPv4 DNS option as a string array
3713                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
3714                         array
3715
3716         * system-settings/plugins/keyfile/writer.c
3717                 - (write_setting_value): handle IP address items separately
3718                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
3719                         not an array of uint, so that it's user-editable
3720                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
3721                         arrays, so they are user-editable
3722
3723 2008-05-07  Dan Williams  <dcbw@redhat.com>
3724
3725         * system-settings/plugins/keyfile/Makefile.am
3726                 - Change location of the keyfile plugin settings to
3727                         /etc/NetworkManager/system-connections
3728
3729 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3730
3731         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
3732
3733         * system-settings/plugins/keyfile/plugin.c: Work with
3734         NMKeyfileConnections.
3735
3736         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
3737         Plugins are supposed to return NMExportedConnections now and handle the
3738         updated(), removed(), and GetSecrets().
3739         Store the internal list of connections in hash table to make it easier
3740         to find duplicates.
3741
3742 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3743
3744         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
3745         for multiple IP addresses.
3746
3747 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3748
3749         Patch from André Lemos.
3750
3751         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
3752         corruption.
3753
3754 2008-05-06  Dan Williams  <dcbw@redhat.com>
3755
3756         * src/dhcp-manager/nm-dhcp-manager.c
3757                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
3758                         NMIP4Config to support multiple IP addresses
3759
3760         * src/NetworkManagerUtils.c
3761                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
3762
3763         * src/nm-ip4-config.c
3764           src/nm-ip4-config.h
3765                 - Store a list of IPv4 address/netmask/gateway tuples
3766                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
3767                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
3768                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
3769                    nm_ip4_config_set_address): remove
3770                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
3771                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
3772                         new functions; handle multiple IPv4 addresses
3773
3774         * src/nm-device.c
3775           src/ppp-manager/nm-ppp-manager.c
3776           src/vpn-manager/nm-vpn-connection.c
3777           src/NetworkManagerPolicy.c
3778           test/nm-tool.c
3779           libnm-glib/libnm-glib-test.c
3780                 - update for changes to NMIP4Config for multiple IPv4 addresses
3781
3782         * src/NetworkManagerSystem.c
3783                 - (nm_system_device_set_ip4_route): don't add the route if any address
3784                         is on the same subnet as the destination
3785                 - (check_one_address): ignore the exact match, just match family and
3786                         interface index
3787                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
3788                         an interface
3789                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
3790                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
3791
3792         * introspection/nm-ip4-config.xml
3793                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
3794                 - Add 'addresses' property which is an array of (uuu) tuples of
3795                         address/netmask/gateway
3796
3797         * libnm-util/nm-setting-ip4-config.c
3798                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
3799
3800         * libnm-glib/nm-ip4-config.c
3801           libnm-glib/nm-ip4-config.h
3802                 - Handle D-Bus interface changes to support multiple IP addresses
3803
3804 2008-05-06  Dan Williams  <dcbw@redhat.com>
3805
3806         * libnm-util/nm-utils.c
3807           libnm-util/nm-utils.h
3808                 - (nm_utils_ip4_addresses_from_gvalue,
3809                    nm_utils_ip4_addresses_to_gvalue): new functions
3810
3811 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3812
3813         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3814         the returned connection paths.
3815
3816 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3817
3818         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3819         "PropertiesChanged" signal signature.
3820
3821         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3822         defined in nm-dbus-glib-types.h.
3823         Don't register the connection on dbus, we're a proxy class to 
3824         communicate with an already registered connection over dbus.
3825
3826 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3827
3828         Implement new subclasses of NMSettings and NMExportedConnection to make
3829         it easier for the applet to access and modify system settings.
3830
3831         * libnm-glib/nm-dbus-connection.[ch]:
3832         * libnm-glib/nm-dbus-settings.[ch]:
3833         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3834
3835         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3836         bindings and glue.
3837
3838         * include/NetworkManager.h: Define the system settings DBus interface.
3839
3840 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3841
3842         Implement additional C API for exported connections to make them identical
3843         with the DBus API. Change the (list_connections) virtual function to be
3844         more usable from C - instead of requiring implementers to return a GPtrArray
3845         of dbus paths, return a list of connections.
3846
3847         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3848         (nm_settings_list_connections):
3849         (nm_exported_connection_new):
3850         (nm_exported_connection_update):
3851         (nm_exported_connection_delete): Implement.
3852
3853         (impl_settings_list_connections):
3854         (impl_exported_connection_update):
3855         (impl_exported_connection_delete): Use the new public functions to make 
3856         sure the C and dbus interfaces stay in sync.
3857
3858         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3859         connections.
3860
3861 2008-05-02  Dan Williams  <dcbw@redhat.com>
3862
3863         * system-settings/plugins/ifcfg-fedora/plugin.c
3864                 - (dispose): use right unref call on the DBusGConnection
3865
3866 2008-05-02  Dan Williams  <dcbw@redhat.com>
3867
3868         * src/nm-serial-device.c
3869                 - (find_terminator): don't compare the whole line, just the size of the
3870                         terminator, since some modems put stuff after the terminator, like
3871                         "CONNECT 9600"
3872
3873 2008-05-01  Dan Williams  <dcbw@redhat.com>
3874
3875         Patch from Michael Biebl <biebl@debian.org>
3876
3877         * callouts/Makefile.am
3878           callouts/org.freedesktop.nm_dispatcher.service.in
3879           system-settings/src/Makefile.am
3880           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3881                 - use the right install location for dbus-activated stuff
3882
3883 2008-04-30  Dan Williams  <dcbw@redhat.com>
3884
3885         * src/nm-gsm-device.c
3886                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3887                         PIN or PUK
3888
3889 2008-04-30  Dan Williams  <dcbw@redhat.com>
3890
3891         * src/nm-manager.c
3892                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3893
3894 2008-04-30  Dan Williams  <dcbw@redhat.com>
3895
3896         * src/nm-device-802-3-ethernet.c
3897           src/nm-device-802-11-wireless.c
3898                 - (real_is_up): return true instead of chaining up to unimplemented
3899                         parent method
3900
3901 2008-04-30  Dan Williams  <dcbw@redhat.com>
3902
3903         * src/NetworkManagerSystem.c
3904           src/NetworkManagerSystem.h
3905                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3906                         functions to check device flags for IFF_UP
3907
3908         * src/nm-serial-device.c
3909                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3910                         implement is_up
3911
3912         * src/nm-device-802-3-ethernet.c
3913           src/nm-device-802-11-wireless.c
3914                 - (real_hw_is_up): call nm_system_device_is_up()
3915
3916         * src/nm-device.c
3917                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3918                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3919                         does not implement
3920
3921 2008-04-29  Dan Williams  <dcbw@redhat.com>
3922
3923         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3924
3925         * marshallers/nm-marshal.list
3926                 - Add marshaller
3927
3928         * src/NetworkManager.c
3929                 - (main): let the NMManager handle the NMHalManager
3930
3931         * src/nm-hal-manager.c
3932           src/nm-hal-manager.h
3933                 - convert to a GObject, and emit singals when stuff changes.  Let the
3934                         NMManager handle the signals, instead of the NMHalManager calling
3935                         into the NMManager.  
3936
3937         * src/nm-manager.c
3938           src/nm-manager.h
3939                 - (remove_one_device): consolidate device removals here
3940                 - (dispose): use remove_one_device()
3941                 - (nm_manager_get_device_by_udi): make static
3942                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3943                         manager for devices at startup or wakeup time
3944                 - (nm_manager_new): create and monitor the HAL manager
3945                 - (hal_manager_udi_added_cb): new function; do what
3946                         nm_manager_add_device() used to do when signalled by the hal manager
3947                 - (hal_manager_udi_removed_cb): new function; do what
3948                         nm_manager_remove_device() used to do when signalled by the hal
3949                         manager
3950                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3951                         hal manager
3952                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3953                         in our device list that aren't known to HAL
3954                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3955                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3956                         commits ago
3957                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3958                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3959                    nm_manager_wireless_hardware_enabled,
3960                    nm_manager_set_wireless_hardware_enabled): remove, unused
3961
3962 2008-04-28  Dan Williams  <dcbw@redhat.com>
3963
3964         Fix the device up/down ambiguities.  Up/down state used to be a
3965         conglomeration of hardware state (IFF_UP) and any device-specific things
3966         (supplicant, periodic timers, etc) that the device used to indicate
3967         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3968         reason, then the device specific stuff wouldn't get run, and the device
3969         would be stuck.
3970
3971         * src/nm-device.c
3972           src/nm-device.h
3973                 - Create hw_is_up, hw_bring_up, and hw_take_down
3974                 - Rename bring_down -> take_down
3975                 - (real_hw_is_up): check interface flags for IFF_UP
3976                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3977                 - (nm_device_is_up): make static; only used locally
3978                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3979                         if the device is already up; if the device isn't up, bring it up
3980                 - (nm_device_hw_take_down): just take down hardware
3981                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3982                 - (nm_device_take_down): always deactivate device when called; always
3983                         try to take hardware down too
3984                 - (nm_device_state_changed): take device down when entering unmanaged
3985                         state from a higher state
3986
3987         * src/nm-device-802-11-wireless.c
3988                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3989                         check IFF_UP really
3990                 - (real_take_down, supplicant_iface_state_cb_handler, 
3991                    supplicant_iface_connection_state_cb_handler,
3992                    supplicant_mgr_state_cb_handler): fix some messages
3993
3994         * src/nm-device-802-3-ethernet.c
3995                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3996                         check IFF_UP really
3997
3998 2008-04-28  Dan Williams  <dcbw@redhat.com>
3999
4000         * src/nm-manager.c
4001           src/nm-manager.h
4002                 - (nm_manager_error_get_type): add new error
4003                 - (nm_manager_remove_device): don't bother taking down the device here,
4004                         the state change from unmanaging the device will do it
4005                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
4006                         uses it; when going to sleep, just unmanage the device instead of
4007                         taking it down, because stuff will cleaned up correctly when the
4008                         device gets unmanaged
4009
4010 2008-04-28  Dan Williams  <dcbw@redhat.com>
4011
4012         * src/nm-hal-manager.c
4013                 - (add_initial_devices): convert to a GSourceFunc prototype
4014                 - (nm_manager_state_changed): when coming out of sleep, punt the
4015                         device re-addition to an idle handler to let D-Bus events go out
4016                         first, fixing a potential dbus-glib assert if the old device was
4017                         not yet disposed (due to references held while emitting the D-Bus
4018                         signals) but the new device was found, because the mainloop didn't
4019                         run between signal emission and add_initial_devices()
4020
4021 2008-04-27  Dan Williams  <dcbw@redhat.com>
4022
4023         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4024
4025         * initscript/paldo/NetworkManager.in
4026           initscript/SUSE/networkmanager.in
4027                 - Remove last bits of dhcdbd
4028
4029 2008-04-27  Dan Williams  <dcbw@redhat.com>
4030
4031         * src/nm-device-802-11-wireless.c
4032                 - (link_timeout_cb): don't ask for secrets when disconnected during
4033                         association/authentication phase, drivers are still just too crappy
4034
4035 2008-04-27  Dan Williams  <dcbw@redhat.com>
4036
4037         * Makefile.am
4038           configure.in
4039           dispatcher-daemon/Makefile.am
4040           dispatcher-daemon/NetworkManagerDispatcher.c
4041           initscript/Arch/Makefile.am
4042           initscript/Arch/networkmanager-dispatcher.in
4043           initscript/Gentoo/Makefile.am
4044           initscript/Gentoo/NetworkManagerDispatcher.in
4045           initscript/Mandriva/Makefile.am
4046           initscript/Mandriva/networkmanagerdispatcher.in
4047           initscript/RedHat/Makefile.am
4048           initscript/RedHat/NetworkManagerDispatcher.in
4049           initscript/SUSE/Makefile.am
4050           initscript/SUSE/networkmanager-dispatcher.in
4051           initscript/Slackware/Makefile.am
4052           initscript/Slackware/rc.networkmanager-dispatcher.in
4053           initscript/paldo/Makefile.am
4054           initscript/paldo/NetworkManagerDispatcher.in
4055           man/Makefile.am
4056           man/NetworkManagerDispatcher.8.in
4057                 - Remove the dispatcher daemon
4058
4059 2008-04-27  Dan Williams  <dcbw@redhat.com>
4060
4061         * callouts/Makefile.am
4062           callouts/nm-dispatcher-action.c
4063           callouts/nm-dispatcher-action.h
4064           callouts/nm-dispatcher.conf
4065           callouts/nm-dispatcher.xml
4066           callouts/org.freedesktop.nm_dispatcher.service
4067                 - Re-implement the dispatcher as a system-bus activated service that
4068                         NM calls on-demand, rather than an always running daemon
4069
4070         * src/Makefile.am
4071                 - Add callouts dir to includes to pick up dispatcher defines
4072
4073         * src/nm-device.c
4074                 - (nm_device_state_changed): call dispatcher on device activated/
4075                         deactivated
4076
4077         * src/vpn-manager/nm-vpn-connection.c
4078                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
4079                         go up and down
4080
4081         * src/NetworkManagerUtils.c
4082           src/NetworkManagerUtils.h
4083                 - (nm_utils_call_dispatcher): helper to call dispatcher
4084
4085 2008-04-27  Dan Williams  <dcbw@redhat.com>
4086
4087         * src/NetworkManagerUtils.c
4088           src/NetworkManagerUtils.h
4089                 - remove unneeded includes
4090                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
4091                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
4092                    nm_timeval_cmp, nm_timeval_add): remove, unused
4093                 - clean up formatting
4094                 - (nm_spawn_process): de-uglify
4095
4096         * src/nm-device-802-11-wireless.c
4097                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
4098
4099 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
4100
4101         * initscript/Gentoo/NetworkManager.in:
4102                 Fix for starting the daemon.
4103
4104 2008-04-25  Dan Williams  <dcbw@redhat.com>
4105
4106         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4107
4108         * src/NetworkManagerSystem.c
4109                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
4110
4111 2008-04-25  Dan Williams  <dcbw@redhat.com>
4112
4113         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4114
4115         * src/NetworkManagerSystem.c
4116                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
4117                         implementation of nm_system_device_replace_default_route()
4118
4119         * src/NetworkManagerPolicy.c
4120                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
4121
4122         * src/backends/NetworkManagerArch.c
4123           src/backends/NetworkManagerDebian.c
4124           src/backends/NetworkManagerFrugalware.c
4125           src/backends/NetworkManagerGeneric.c
4126           src/backends/NetworkManagerGeneric.h
4127           src/backends/NetworkManagerGentoo.c
4128           src/backends/NetworkManagerMandriva.c
4129           src/backends/NetworkManagerPaldo.c
4130           src/backends/NetworkManagerRedHat.c
4131           src/backends/NetworkManagerSlackware.c
4132           src/backends/NetworkManagerSuSE.c
4133                 - (nm_system_device_replace_default_route): remove
4134
4135 2008-04-25  Dan Williams  <dcbw@redhat.com>
4136
4137         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4138
4139         * src/NetworkManagerSystem.c
4140                 - (validate_ip4_route): remove; use nl_addr_parse() instead
4141                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
4142                         replace nm_system_device_add_route_via_device_with_iface() in the
4143                         backends
4144
4145         * src/backends/NetworkManagerArch.c
4146           src/backends/NetworkManagerDebian.c
4147           src/backends/NetworkManagerFrugalware.c
4148           src/backends/NetworkManagerGeneric.c
4149           src/backends/NetworkManagerGeneric.h
4150           src/backends/NetworkManagerGentoo.c
4151           src/backends/NetworkManagerMandriva.c
4152           src/backends/NetworkManagerPaldo.c
4153           src/backends/NetworkManagerRedHat.c
4154           src/backends/NetworkManagerSlackware.c
4155           src/backends/NetworkManagerSuSE.c
4156                 - Remove nm_system_device_add_route_via_device_with_iface()
4157
4158 2008-04-25  Dan Williams  <dcbw@redhat.com>
4159
4160         * system-settings/plugins/ifcfg-fedora/parser.c
4161                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
4162
4163 2008-04-24  Dan Williams  <dcbw@redhat.com>
4164
4165         * dispatcher-daemon/NetworkManagerDispatcher.c
4166                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
4167
4168 2008-04-24  Dan Williams  <dcbw@redhat.com>
4169
4170         * initscript/RedHat/NetworkManager.in
4171           initscript/RedHat/NetworkManagerDispatcher.in
4172                 - Be active at runlevel 2
4173                 - Adjust priorities earlier
4174
4175 2008-04-22  Dan Williams  <dcbw@redhat.com>
4176
4177         * src/NetworkManagerPolicy.c
4178                 - (update_routing_and_dns): when checking for a gateway, look at the
4179                         composite IP4 config, not the connection's ip4-config setting, which
4180                         doesn't include DHCP-returned information
4181
4182 2008-04-22  Tambet Ingo  <tambet@gmail.com>
4183
4184         Implement GKeyFile system settings plugin.
4185         Implement writing system settings (currently supported only by GKeyFile plugin).
4186
4187         * system-settings/src/main.c: 
4188         * system-settings/src/dbus-settings.c: Move the communication with plugins
4189         from main.c to dbus-settings.c. Makes it possible to talk to all registered
4190         plugins for adding/updating/removing connections.
4191
4192         * system-settings/src/nm-system-config-interface.c
4193         (nm_system_config_interface_add_connection): Implement
4194         (nm_system_config_interface_update_connection): Implement.
4195         (nm_system_config_interface_remove_connection): Implement.
4196
4197         * system-settings/plugins/keyfile/Makefile.am:
4198         * system-settings/plugins/keyfile/plugin.[ch]:
4199         * system-settings/plugins/keyfile/writer.[ch]:
4200         * system-settings/plugins/keyfile/reader.[ch]: Implement.
4201
4202         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
4203
4204         * configure.in: Generate GKeyFile Makefile.
4205
4206         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
4207         corruption, need to duplicate the returned string.
4208         (impl_exported_connection_update): Implement.
4209         (impl_exported_connection_delete): Implement.
4210
4211         * introspection/nm-settings-system.xml: Add "AddConnection" method.
4212
4213         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
4214
4215 2008-04-22  Dan Williams  <dcbw@redhat.com>
4216
4217         Patch from Charles R. Anderson (cra@wpi.edu)
4218
4219         * src/NetworkManagerPolicy.c
4220                 - (update_routing_and_dns): don't select devices without a gateway
4221                         as having the default route (rh #437338)
4222
4223 2008-04-21  Dan Williams  <dcbw@redhat.com>
4224
4225         * src/nm-activation-request.c
4226           src/nm-activation-request.h
4227                 - (dispose): ensure to disconnect from the device's state-changed signal
4228                         when appropriate so the signal doesn't get handled by an already
4229                         disposed NMActRequest
4230                 - (device_state_changed): update is_default here too just to make sure
4231                         default is only True when the child device is activated
4232                 - (nm_act_request_set_default): new function
4233
4234         * src/NetworkManagerPolicy.c
4235                 - (update_routing_and_dns): set 'default' on the active connection which
4236                         has the default route and DNS
4237
4238 2008-04-21  Dan Williams  <dcbw@redhat.com>
4239
4240         * src/NetworkManagerPolicy.c
4241                 - (device_state_changed): update routing and DNS when a device goes
4242                         into unmanaged or unavailable states too (like rfkill or carrier loss)
4243
4244 2008-04-21  Dan Williams  <dcbw@redhat.com>
4245
4246         * include/NetworkManager.h
4247                 - Add NMActiveConnectionState enum
4248
4249         * introspection/nm-active-connection.xml
4250           introspection/nm-vpn-connection.xml
4251                 - Add 'State' property for overall active connection state
4252                 - Add 'Default' property, when True means this active connection
4253                         has the default route
4254                 - Add PropertyChanged signals so changes actually go out over the bus
4255
4256         * src/nm-active-connection.h
4257                 - Add defines for State & Default properties
4258
4259         * src/nm-activation-request.c
4260                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
4261                         signal to determine active connection state
4262
4263         * src/vpn-manager/nm-vpn-connection.c
4264           src/vpn-manager/nm-vpn-connection.h
4265           src/vpn-manager/nm-vpn-manager.c
4266           src/vpn-manager/nm-vpn-service.c
4267                 - Rename old 'state' to 'vpn-state'
4268                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
4269                 - Add 'state' and 'default' properties, hook up to the vpn connection's
4270                         'vpn-state-changed' signal
4271
4272         * libnm-glib/nm-active-connection.c
4273           libnm-glib/nm-active-connection.h
4274                 - Add new 'state' and 'default' properties and accessors
4275
4276         * libnm-glib/nm-vpn-connection.c
4277           libnm-glib/nm-vpn-connection.h
4278                 - Rename old 'state' property to 'vpn-state'
4279                 - Add new 'state' and 'default' properties and accessors
4280
4281 2008-04-21  Dan Williams  <dcbw@redhat.com>
4282
4283         * src/nm-ip4-config.c
4284                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
4285                         not specified (rh #443474)
4286
4287 2008-04-20  Dan Williams  <dcbw@redhat.com>
4288
4289         * src/NetworkManagerUtils.c
4290           src/NetworkManagerUtils.h
4291                 - (nm_utils_merge_ip4_config): new function; merge settings from an
4292                         NMSettingIP4Config to an NMIP4Config object
4293
4294         * src/nm-device.c
4295                 - (merge_ip4_config): move to NetworkManagerUtils.c
4296
4297         * src/vpn-manager/nm-vpn-connection.c
4298                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
4299                         too
4300
4301 2008-04-18  Dan Williams  <dcbw@redhat.com>
4302
4303         * libnm-util/nm-setting-ppp.c
4304           libnm-util/nm-setting-ppp.h
4305                 - Add 'no-vj-comp' option for TCP header compression
4306                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
4307                         uint32
4308
4309 2008-04-18  Dan Williams  <dcbw@redhat.com>
4310
4311         * libnm-util/nm-setting-ppp.c
4312           libnm-util/nm-setting-ppp.h
4313           src/ppp-manager/nm-ppp-manager.c
4314                 - Add 'refuse-pap' and 'refuse-mschapv2' options
4315
4316 2008-04-18  Dan Williams  <dcbw@redhat.com>
4317
4318         * libnm-util/nm-setting-ppp.c
4319           libnm-util/nm-setting-ppp.h
4320           src/ppp-manager/nm-ppp-manager.c
4321                 - Remove the 'usepeerdns' option and always request DNS servers from
4322                         the PPP server; the connection chooses to use/override/ignore the
4323                         DNS servers returned from the PPP server
4324
4325 2008-04-18  Dan Williams  <dcbw@redhat.com>
4326
4327         * libnm-util/nm-setting-ppp.c
4328           libnm-util/nm-setting-ppp.h
4329           src/ppp-manager/nm-ppp-manager.c
4330                 - Remove the 'require-mppc' option, because pppd doesn't support it and
4331                         it seems to have been an erroneous addition to the PPTP plugin in
4332                         the first place (from which the ppp-manager is derived)
4333
4334 2008-04-17  Dan Williams  <dcbw@redhat.com>
4335
4336         * libnm-util/nm-setting-pppoe.c
4337                 - (verify): require a PPP setting too
4338
4339         * src/ppp-manager/nm-ppp-manager.c
4340                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
4341                         segfaulting
4342
4343 2008-04-17  Dan Williams  <dcbw@redhat.com>
4344
4345         * src/nm-device.c
4346                 - (nm_device_state_changed): do deactivation and and promotion to
4347                         unavailable here, so that the device gets cleaned up before the
4348                         manager runs and starts emitting signals; do the
4349                         FAILED->DISCONNECTED transition from an idle handler rather than
4350                         immediately to guard against recursion
4351                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
4352                         FAILED->DISCONNECTED handler if it's scheduled
4353
4354 2008-04-17  Dan Williams  <dcbw@redhat.com>
4355
4356         * src/nm-device-802-11-wireless.c
4357                 - (state_changed_cb): clear AP list when device transitions to
4358                         unavailable or unmanaged
4359                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
4360                         since this is already done in device_cleanup()
4361                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
4362                         isn't available or managed
4363                 - (device_cleanup): use remove_all_aps()
4364                 - (remove_all_aps): consolidate code removing all APs
4365
4366 2008-04-17  Dan Williams  <dcbw@redhat.com>
4367
4368         * src/nm-serial-device.c
4369           src/nm-serial-device.h
4370                 - (wait_for_reply_got_data): break input into lines, and search each
4371                         line for responses _and_ terminator strings; also make sure that
4372                         the read loop doesn't continue after the timeout is supposed to fire
4373                 - (nm_serial_device_wait_for_reply): take an array of terminators too
4374
4375         * src/nm-gsm-device.c
4376           src/nm-cdma-device.c
4377                 - Send terminators to nm_serial_device_wait_for_reply()
4378
4379 2008-04-16  Dan Williams  <dcbw@redhat.com>
4380
4381         Patch from 陈鑫 <znscnchen@gmail.com>
4382
4383         * src/ppp-manager/nm-pppd-plugin.c
4384                 - (get_credentials): return correct value for success; handle case where
4385                         pppd just does some checking but doesn't want a password
4386                 - (plugin_init): make CHAP work too
4387
4388 2008-04-16  Dan Williams  <dcbw@redhat.com>
4389
4390         Patch from 陈鑫 <znscnchen@gmail.com>
4391
4392         * src/ppp-manager/nm-ppp-manager.c
4393                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
4394
4395 2008-04-16  Dan Williams  <dcbw@redhat.com>
4396
4397         Patch from 陈鑫 <znscnchen@gmail.com>
4398
4399         * src/nm-device-802-3-ethernet.c
4400                 - (real_deactivate_quickly): clear the IP interface name on
4401                         deactivation, otherwise the wrong interface might get used later
4402                         for routing and IP management
4403
4404 2008-04-15  Dan Williams  <dcbw@redhat.com>
4405
4406         * libnm-glib/nm-device.c
4407                 - (get_product_and_vendor): handle serial devices correctly
4408                 - (nm_device_update_description): pass device to get_product_and_vendor()
4409
4410 2008-04-15  Dan Williams  <dcbw@redhat.com>
4411
4412         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4413
4414         * src/NetworkManagerSystem.h
4415           src/backends/NetworkManagerArch.c
4416           src/backends/NetworkManagerDebian.c
4417           src/backends/NetworkManagerFrugalware.c
4418           src/backends/NetworkManagerGeneric.c
4419           src/backends/NetworkManagerGeneric.h
4420           src/backends/NetworkManagerGentoo.c
4421           src/backends/NetworkManagerMandriva.c
4422           src/backends/NetworkManagerPaldo.c
4423           src/backends/NetworkManagerRedHat.c
4424           src/backends/NetworkManagerSlackware.c
4425           src/backends/NetworkManagerSuSE.c
4426           src/nm-device.c
4427                 - (nm_generic_device_add_ip6_link_address,
4428                    nm_system_device_add_ip6_link_address): remove
4429
4430 2008-04-15  Dan Williams  <dcbw@redhat.com>
4431
4432         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4433
4434         * src/backends/NetworkManagerArch.c
4435           src/backends/NetworkManagerDebian.c
4436           src/backends/NetworkManagerFrugalware.c
4437           src/backends/NetworkManagerGeneric.c
4438           src/backends/NetworkManagerGeneric.h
4439           src/backends/NetworkManagerGentoo.c
4440           src/backends/NetworkManagerMandriva.c
4441           src/backends/NetworkManagerPaldo.c
4442           src/backends/NetworkManagerRedHat.c
4443           src/backends/NetworkManagerSlackware.c
4444           src/backends/NetworkManagerSuSE.c
4445           src/NetworkManagerSystem.h
4446                 - flush_routes -> flush_ip4_routes
4447                 - flush_addresses -> flush_ip4_addresses
4448
4449         * src/NetworkManagerSystem.c
4450           src/nm-device.c
4451           src/vpn-manager/nm-vpn-connection.c
4452                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
4453
4454 2008-04-15  Dan Williams  <dcbw@redhat.com>
4455
4456         Remove exposure of wireless-tools mode types in the API.
4457
4458         * include/NetworkManager.h
4459                 - Define NM80211Mode enum
4460
4461         * introspection/generic-types.xml
4462                 - Describe NM_802_11_MODE enum
4463                 - Remove IW_MODE_* enum
4464
4465         * introspection/nm-access-point.xml
4466           libnm-glib/nm-access-point.c
4467           libnm-glib/nm-access-point.h
4468                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4469
4470         * introspection/nm-device-802-11-wireless.xml
4471           libnm-glib/nm-device-802-11-wireless.c
4472           libnm-glib/nm-device-802-11-wireless.h
4473                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4474
4475         * libnm-util/nm-setting-wireless.c
4476           src/NetworkManagerAP.c
4477           src/NetworkManagerAP.h
4478           src/nm-device-802-11-wireless.c
4479           src/nm-device-802-11-wireless.h
4480           test/nm-tool.c
4481                 - Use NM80211Mode not IW_MODE_*
4482
4483 2008-04-15  Dan Williams  <dcbw@redhat.com>
4484
4485         Enhance nm-online based on a patch from Bill Nottingham.
4486
4487         * test/nm-online.c
4488                 - Add a '-q' option
4489                 - Add help messages and option summary
4490                 - Add long-format options
4491                 - Add a '-x' option to exit if NM isn't running or isn't connecting
4492
4493 2008-04-15  Tambet Ingo  <tambet@gmail.com>
4494
4495         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
4496
4497         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
4498
4499 2008-04-15  Dan Williams  <dcbw@redhat.com>
4500
4501         * nm-setting-ip4-config.c
4502                 - (ip4_addresses_from_gvalue): handle NULL address array
4503
4504         * nm-setting-8021x.c
4505                 - (verify_tls, verify_ttls): warn on failed verification
4506
4507 2008-04-10  Dan Williams  <dcbw@redhat.com>
4508
4509         * src/nm-gsm-device.c
4510                 - (automatic_registration): accept "+CREG: 0,0"
4511                 - (automatic_registration_response): fail on "+CREG: 0,0"
4512
4513 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4514
4515         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
4516
4517 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4518
4519         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
4520         Make it compile again by commenting out broken code that at first didn't work and
4521         now didn't compile either.
4522
4523 2008-04-08  Dan Williams  <dcbw@redhat.com>
4524
4525         * libnm-glib/nm-object-cache.c
4526           libnm-glib/nm-settings.c
4527           src/dhcp-manager/nm-dhcp-manager.c
4528           system-settings/plugins/ifcfg-fedora/plugin.c
4529           system-settings/plugins/ifcfg-suse/plugin.c
4530           system-settings/src/nm-system-config-hal-manager.c
4531           libnm-util/nm-utils.c
4532                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
4533                         not threadsafe anyway
4534
4535 2008-04-08  Dan Williams  <dcbw@redhat.com>
4536
4537         * system-settings/src/main.c
4538                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
4539                         callbacks take a device type too
4540
4541 2008-04-08  Dan Williams  <dcbw@redhat.com>
4542
4543         The system settings service will now create a new default DHCP connection
4544         for wired devices that have no existing applicable connection.
4545
4546         * system-settings/src/nm-system-config-hal-manager.c
4547           system-settings/src/nm-system-config-hal-manager.h
4548                 - (nm_system_config_hal_manager_get_type_for_udi): new function
4549
4550         * system-settings/src/dbus-settings.c
4551           system-settings/src/dbus-settings.h
4552                 - (nm_sysconfig_settings_get_connections): new function
4553                 - (nm_sysconfig_settings_is_device_managed): new function
4554
4555         * system-settings/src/main.c
4556                 - (load_stuff): check for wired devices that need a default connection
4557                 - (get_details_for_udi): get interface and MAC address from HAL
4558                 - (add_default_dhcp_connection): add a default connection for a wired
4559                         device if needed
4560                 - (device_added_cb, device_removed_cb): do the right thing with
4561                         wired devices and their default connections on HAL device events
4562
4563 2008-04-07  Dan Williams  <dcbw@redhat.com>
4564
4565         * libnm-glib/nm-device.c
4566           libnm-glib/nm-device.h
4567                 - Proxy the 'managed' property
4568
4569 2008-04-07  Dan Williams  <dcbw@redhat.com>
4570
4571         * src/nm-gsm-device.c
4572           src/nm-cdma-device.c
4573                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4574                         handler to transition to DISCONNECTED
4575
4576 2008-04-07  Dan Williams  <dcbw@redhat.com>
4577
4578         Patch from Bill Nottingham
4579
4580         * dispatcher-daemon/NetworkManagerDispatcher.c
4581                 - ignore backup/packaging crufy (rh #440143)
4582
4583 2008-04-07  Dan Williams  <dcbw@redhat.com>
4584
4585         * include/NetworkManager.h
4586                 - Remove the DOWN and CANCELLED device states
4587                 - Add UNMANAGED and UNAVAILABLE device states
4588                 - Document the device states
4589
4590         * introspection/nm-device.xml
4591           src/nm-device-interface.c
4592           src/nm-device-interface.h
4593                 - Add the 'managed' property
4594
4595         * test/nm-tool.c
4596                 - (detail_device): print out device state
4597
4598         * src/NetworkManagerSystem.h
4599           src/backends/NetworkManagerArch.c
4600           src/backends/NetworkManagerDebian.c
4601           src/backends/NetworkManagerFrugalware.c
4602           src/backends/NetworkManagerGentoo.c
4603           src/backends/NetworkManagerMandriva.c
4604           src/backends/NetworkManagerPaldo.c
4605           src/backends/NetworkManagerRedHat.c
4606           src/backends/NetworkManagerSlackware.c
4607           src/backends/NetworkManagerSuSE.c
4608                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
4609                    nm_system_device_free_system_config): remove; they were unused and
4610                         their functionality should be re-implemented in each distro's
4611                         system settings service plugin 
4612
4613         * src/nm-gsm-device.c
4614           src/nm-gsm-device.h
4615           src/nm-cdma-device.c
4616           src/nm-cdma-device.h
4617                 - (*_new): take the 'managed' argument
4618
4619         * src/nm-device.c
4620                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
4621                 - (nm_device_init): start in unmanaged state, not disconnected
4622                 - (constructor): don't start device until the system settings service
4623                         has had a chance to figure out if the device is managed or not
4624                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
4625                         don't set device state here, let callers handle that as appropriate
4626                 - (nm_device_dispose): don't touch the device if it's not managed
4627                 - (set_property, get_property, nm_device_class_init): implement the
4628                         'managed' property
4629                 - (nm_device_state_changed): bring the device up if its now managed,
4630                         and deactivate it if it used to be active
4631                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
4632                         with the managed state
4633
4634         * src/nm-hal-manager.c
4635                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
4636                         take initial managed state and pass it along to device constructors
4637                 - (create_device_and_add_to_list): get managed state and pass to
4638                         type creators
4639
4640         * src/nm-device-802-11-wireless.c
4641                 - (real_can_activate): fold in most of
4642                         nm_device_802_11_wireless_can_activate()
4643                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
4644                 - (link_timeout_cb): instead of deactivating, change device state and
4645                         let the device state handler to it
4646                 - (real_update_hw_address): clean up
4647                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4648                         handler to transition to DISCONNECTED if the device isn't rfkilled
4649
4650         * src/nm-device-802-3-ethernet.c
4651                 - (set_carrier): move above callers and get rid of prototype
4652                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
4653                         idle handler to transition to DISCONNECTED if the device has a
4654                         carrier
4655                 - (real_update_hw_address): clean up
4656                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
4657                         deactivation directly as deactivation doesn't change state anymore
4658
4659         * src/NetworkManagerPolicy.c
4660                 - (schedule_activate_check): yay, remove wireless_enabled hack since
4661                         the NMManager and wireless devices work that out themselves now
4662                 - (device_state_changed): change to a switch and update for new device
4663                         states
4664                 - (device_carrier_changed): remove; device handles this now through
4665                         state changes
4666                 - (device_added): don't care about carrier any more; the initial
4667                         activation check will happen when the device transitions to
4668                         DISCONNECTED
4669
4670         * src/nm-manager.c
4671                 - (dispose): clear unmanaged devices
4672                 - (handle_unmanaged_devices): update unmanaged device list and toggle
4673                         the managed property on each device when needed
4674                 - (system_settings_properties_changed_cb): handle signals from the
4675                         system settings service
4676                 - (system_settings_get_unmanaged_devices_cb): handle callback from
4677                         getting the unmanaged device list method call
4678                 - (query_unmanaged_devices): ask the system settings service for its
4679                         list of unmanaged devices
4680                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
4681                         devices
4682                 - (manager_set_wireless_enabled): push rfkill state down to wireless
4683                         devices directly and let them handle the necessary state transitions
4684                 - (manager_device_state_changed): update for new device states
4685                 - (nm_manager_add_device): set initial rfkill state on wireless devices
4686                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
4687                 - (nm_manager_activate_connection): return error if the device is
4688                         unmanaged
4689                 - (nm_manager_sleep): handle new device states correctly; don't change
4690                         the state of unavailable/unmanaged devices
4691
4692         * libnm-glib/nm-device-802-11-wireless.c
4693                 - (state_changed_cb): update for new device states
4694
4695 2008-04-07  Dan Williams  <dcbw@redhat.com>
4696
4697         * marshallers/nm-marshal.list
4698                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
4699
4700 2008-04-07  Dan Williams  <dcbw@redhat.com>
4701
4702         * system-settings/src/main.c
4703                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
4704                         plugins to the dbus settings object
4705                 - (load_stuff): start the dbus service after grabbing unmanaged devices
4706                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
4707                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
4708                 - (main): switch default logging to syslog with a 'debug' option to
4709                         output to console; start up the HAL manager
4710
4711 2008-04-07  Dan Williams  <dcbw@redhat.com>
4712
4713         * introspection/nm-settings-system.xml
4714           introspection/Makefile.am
4715                 - Define the unmanaged devices interface for the system settings service
4716
4717         * system-settings/src/nm-system-config-hal-manager.c
4718           system-settings/src/nm-system-config-hal-manager.h
4719           system-settings/src/nm-system-config-hal-manager-private.h
4720           system-settings/src/Makefile.am
4721                 - Add a lightweight HAL manager object for tracking network devices for
4722                         the purpose of determining unmanaged devices and which devices need
4723                         the default DHCP connections
4724
4725         * system-settings/src/nm-system-config-interface.c
4726           system-settings/src/nm-system-config-interface.h
4727                 - (nm_system_config_interface_init): add the HAL manager as an argument
4728                 - (nm_system_config_interface_get_unmanaged_devices): implement
4729                 - Define 'unmanaged-devices-changed' signal
4730
4731         * system-settings/src/dbus-settings.c
4732           system-settings/src/dbus-settings.h
4733                 - Implement the unmanaged devices interface; some cleanups
4734
4735         * system-settings/plugins/ifcfg-suse/plugin.c
4736                 - Fixup for plugin interface changes
4737
4738         * system-settings/plugins/ifcfg-fedora/plugin.c
4739                 - (get_ether_device_udi): new function; find the device that has
4740                         a specified MAC address and return its UDI
4741                 - (get_udi_for_connection): new function; try to find the specific
4742                         device a connection is locked to, if any
4743                 - (device_added_cb, device_removed_cb): update unmanaged device list in
4744                         response to HAL events
4745                 - (get_unmanaged_devices): new function; return unmanaged device list
4746                 - (build_one_connection): set the connection's locked device, if any
4747                 - (write_auto_wired_connection): remove
4748                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
4749                 - (handle_connection_changed): alert listeners that the unmanaged device
4750                         list has changed
4751                 - (init): fixup for plugin interface changes, implement unmanaged devices
4752
4753         * system-settings/plugins/ifcfg-fedora/parser.c
4754           system-settings/plugins/ifcfg-fedora/parser.h
4755                 - (connection_data_free): clean up connection UDI
4756
4757 2008-04-07  Dan Williams  <dcbw@redhat.com>
4758
4759         * system-settings/plugins/ifcfg-fedora/parser.c
4760                 - (make_ip4_setting): fix parsing of DNS servers
4761
4762 2008-04-05  Dan Williams  <dcbw@redhat.com>
4763
4764         * Makefile.am
4765           configure.in
4766           marshallers/Makefile.am
4767           marshallers/nm-marshal-main.c
4768           marshallers/nm-marshal.list
4769                 - Consolidate marshallers
4770
4771         * libnm-glib/nm-marshal-main.c
4772           libnm-glib/nm-marshal.list
4773           src/marshallers/Makefile.am
4774           src/marshallers/nm-marshal-main.c
4775           src/marshallers/nm-marshal.list
4776                 - Remove
4777
4778         * libnm-glib/Makefile.am
4779           src/Makefile.am
4780           src/dhcp-manager/Makefile.am
4781           src/ppp-manager/Makefile.am
4782           src/supplicant-manager/Makefile.am
4783           src/vpn-manager/Makefile.am
4784                 - Use consolidated marshallers
4785
4786 2008-04-04  Dan Williams  <dcbw@redhat.com>
4787
4788         * src/nm-hal-manager.c
4789           src/nm-hal-manager.h
4790                 - (hal_init): don't look for hardware here
4791                 - (nm_hal_manager_start): new function; look for hardware here instead,
4792                         which can be done at a later time than hal_init()
4793
4794         * src/NetworkManager.c
4795                 - (main): start HAL manager after entering the main loop
4796
4797 2008-04-03  Dan Williams  <dcbw@redhat.com>
4798
4799         * libnm-glib/nm-settings.c
4800           libnm-glib/nm-settings.h
4801             - (nm_exported_connection_get_id): new function
4802                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
4803
4804 2008-04-02  Dan Williams  <dcbw@redhat.com>
4805
4806         * src/nm-device-interface.c
4807           src/nm-device-interface.h
4808           src/nm-device.c
4809           src/nm-device.h
4810                 - Rename check_connection_conflicts() to check_connection_compatible()
4811
4812         * src/nm-device-802-11-wireless.c
4813                 - (real_check_connection_conflicts): remove
4814                 - (real_check_connection_compatible): implement; match MAC address
4815
4816         * src/nm-device-802-3-ethernet.c
4817                 - (real_check_connection_conflicts): remove
4818                 - (real_check_connection_compatible): implement; match MAC address
4819                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4820
4821         * src/nm-manager.c
4822                 - (check_connection_allowed): remove; unused until PolicyKit integration
4823                 - (internal_activate_device): check whether the connection is compatible
4824                         with the device before trying to activate it
4825
4826 2008-04-02  Dan Williams  <dcbw@redhat.com>
4827
4828         * system-settings/plugins/ifcfg-fedora/parser.c
4829                 - (read_mac_address): new function; read in MAC address and stuff it
4830                         into the connection
4831                 - (add_one_wep_key): remove debug spew
4832                 - (make_wireless_security_setting): validate the default TX key; don't
4833                         add the wireless-security setting if the connection doesn't need
4834                         security; don't leak the keys shvarFile on error cases
4835                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4836                         address
4837
4838 2008-04-02  Dan Williams  <dcbw@redhat.com>
4839
4840         * libnm-util/nm-setting-connection.c
4841           libnm-util/nm-setting-connection.h
4842                 - (set_property, get_property, nm_setting_connection_class_init): remove
4843                         the 'lockdown' property; it's functionality will be replaced by
4844                         PolicyKit instead
4845
4846 2008-04-01  Dan Williams  <dcbw@redhat.com>
4847
4848         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4849
4850         * configure.in
4851           initscript/Makefile.am
4852           initscript/Mandriva/Makefile.am
4853           initscript/Mandriva/networkmanager.in
4854           initscript/Mandriva/networkmanagerdispatcher.in
4855           src/backends/Makefile.am
4856           src/backends/NetworkManagerMandriva.c
4857           system-settings/plugins/Makefile.am
4858                 - Add Mandriva support
4859
4860 2008-03-31  Dan Williams  <dcbw@redhat.com>
4861
4862         * src/vpn-manager/nm-vpn-service.c
4863                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4864                         errors can be passed back to the caller; also no longer scheduled
4865                         as an idle handler, but called directly; and bump up VPN service
4866                         spawn timeout, 2s is really short
4867                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4868                         but call it directly so that errors are reported on return from
4869                         ActivateConnection() and don't get lost.  If scheduled as an idle
4870                         handler, clients don't have the time to query NM for the new VPN
4871                         connection's properties before the VPN connection is torn down again
4872                         if the service couldn't be launched, and therefore launch errors
4873                         get lost.
4874
4875 2008-03-31  Dan Williams  <dcbw@redhat.com>
4876
4877         * src/vpn-manager/nm-vpn-connection.c
4878                 - (device_state_changed): send correct state on device failure too
4879                 - (plugin_state_changed): failed state means unexpected disconnection,
4880                         thus if the service goes away while the VPN connection is activated
4881                         that's a failure too
4882
4883 2008-03-31  Dan Williams  <dcbw@redhat.com>
4884
4885         * src/vpn-manager/nm-vpn-manager.c
4886           src/vpn-manager/nm-vpn-manager.h
4887                 - Make VPNManager errors more available; add a service-start-failed error
4888
4889 2008-03-31  Dan Williams  <dcbw@redhat.com>
4890
4891         * libnm-glib/nm-client.c
4892           libnm-glib/nm-client.h
4893                 - (activate_cb): pass the new active connection to callback; fix
4894                         message when no callback is specified
4895
4896 2008-03-30  Dan Williams  <dcbw@redhat.com>
4897
4898         * libnm-util/nm-setting-wireless-security.c
4899                 - (need_secrets): only require key0 if the transmit key index is also
4900                         0
4901                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4902
4903 2008-03-29  Dan Williams  <dcbw@redhat.com>
4904
4905         * libnm-util/nm-setting-8021x.c
4906           libnm-util/nm-setting-ip4-config.c
4907           libnm-util/nm-setting-vpn-properties.c
4908           libnm-util/nm-setting-vpn.c
4909           libnm-util/nm-setting-wireless-security.c
4910           libnm-util/nm-setting-wireless.c
4911           libnm-util/nm-utils.c
4912           src/dhcp-manager/nm-dhcp-manager.c
4913           src/nm-activation-request.c
4914           src/nm-ip4-config.c
4915           src/nm-manager.c
4916           src/nm-properties-changed-signal.c
4917           src/ppp-manager/nm-pppd-plugin.c
4918           src/supplicant-manager/nm-supplicant-interface.c
4919           src/vpn-manager/nm-vpn-connection.c
4920                 - consistently use nm-dbus-glib-types.h
4921
4922 2008-03-29  Dan Williams  <dcbw@redhat.com>
4923
4924         * src/vpn-manager/nm-vpn-connection.c
4925                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4926                         not string
4927
4928         * src/nm-activation-request.c
4929                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4930                         not string
4931
4932 2008-03-29  Dan Williams  <dcbw@redhat.com>
4933
4934         * libnm-glib/nm-device-802-11-wireless.c
4935                 - (access_point_added_proxy): create new APs if not found
4936
4937 2008-03-29  Dan Williams  <dcbw@redhat.com>
4938
4939         * libnm-glib/nm-client.c
4940                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4941                         before freeing them
4942
4943 2008-03-29  Dan Williams  <dcbw@redhat.com>
4944
4945         * system-settings/plugins/ifcfg-fedora/parser.c
4946                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4947                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4948
4949 2008-03-29  Dan Williams  <dcbw@redhat.com>
4950
4951         * system-settings/plugins/ifcfg-fedora/parser.c
4952                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4953
4954 2008-03-27  Dan Williams  <dcbw@redhat.com>
4955
4956         * nm-object.c
4957                 - (nm_object_queue_notify): don't notify multiple times for the same
4958                         property
4959
4960         * nm-object-private.h
4961                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4962                         if it has zero elements
4963
4964         * nm-ip4-config.c
4965                 - (finalize): use g_ptr_array_foreach() when freeing domains
4966                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4967
4968         * nm-active-connection.c
4969                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4970
4971         * nm-device-802-11-wireless.c
4972           nm-device-802-11-wireless.h
4973                 - (nm_device_802_11_wireless_get_access_points): return const; use
4974                         handle_ptr_array_return()
4975
4976         * nm-types.c
4977                 - (nm_object_array_demarshal): always create an array, even of length
4978                         zero, to distinguish between "NM returned no items" and "haven't
4979                         asked NM yet"
4980
4981         * nm-client.c
4982                 - (dispose): free active connections too
4983                 - (proxy_name_owner_changed): free active connections too when NM goes
4984                         away
4985                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4986                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4987
4988 2008-03-26  Dan Williams  <dcbw@redhat.com>
4989
4990         Rework VPN connection handling for a more consistent D-Bus API.  The
4991         VPNManager object has been removed, and active VPN connections are now the
4992         same as any other active connection.  The Manager object's ActivateConnection
4993         and DeactivateConnection methods are used to start and stop a VPN connection,
4994         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4995         When activating a VPN connection, pass the path of the active connection
4996         to which the VPN connection is tied in the 'specific_object' argument.
4997
4998         Consequently, the libnm-glib API has been reworked to match this arrangement,
4999         with the VPNManager object removed, and the NMVPNConnection objects now
5000         being subclasses of NMActiveConnection.
5001
5002 2008-03-25  Dan Williams  <dcbw@redhat.com>
5003
5004         Patch from Björn Martensen <bjoern.martensen@gmail.com>
5005
5006         * initscript/Arch/networkmanager.in
5007           initscript/Arch/networkmanager-dispatcher.in
5008                 - Updates for Arch Linux (gnome.org #523701)
5009
5010 2008-03-25  Dan Williams  <dcbw@redhat.com>
5011
5012         * libnm-glib/nm-ip4-config.c
5013           libnm-glib/nm-active-connection.c
5014           libnm-glib/nm-access-point.c
5015                 - Use nm_object_queue_notify() instead of g_object_notify()
5016
5017         * libnm-glib/nm-device.c
5018                 - (demarshal_ip4_config): distinguish between successful but missing
5019                         ip4-config request, and unsuccessful and missing ip4-config request
5020                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
5021                         path
5022                 - Use nm_object_queue_notify() instead of g_object_notify()
5023
5024         * libnm-glib/nm-device-802-11-wireless.c
5025                 - (demarshal_active_ap): distinguish between successfull but missing
5026                         active-ap request, and unsuccessful and missing active-ap request
5027                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
5028                         code
5029                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
5030                         for the NMClient to notify the device that wireless is disabled,
5031                         and therefore to clear the AP list and active AP
5032                 - Use nm_object_queue_notify() instead of g_object_notify()
5033
5034         * libnm-glib/nm-client.c
5035                 - (poke_wireless_devices_with_rf_status): new function
5036                 - (update_wireless_status): notify wireless devices of the rfkill status
5037                         so they can clean up if needed
5038                 - Use nm_object_queue_notify() instead of g_object_notify()
5039
5040 2008-03-25  Dan Williams  <dcbw@redhat.com>
5041
5042         * libnm-glib/nm-object.c
5043           libnm-glib/nm-object-private.h
5044                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
5045                         signals to an idle handler
5046                 - (nm_object_get_property): add a timeout to the D-Bus method call
5047
5048 2008-03-25  Dan Williams  <dcbw@redhat.com>
5049
5050         * introspection/nm-device-cdma.xml
5051           introspection/nm-device-gsm.xml
5052           introspection/Makefile.am
5053           introspection/all.xml
5054                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
5055
5056         * src/nm-gsm-device.h
5057           src/nm-gsm-device.c
5058           src/nm-cdma-device.h
5059           src/nm-cdma-device.c
5060           src/Makefile.am
5061                 - Implement PropertiesChanged signals
5062
5063         * libnm-glib/nm-cdma-device.c
5064           libnm-glib/nm-cdma-device.c
5065                 - Attach to PropertiesChanged signals
5066
5067 2008-03-24  Dan Williams  <dcbw@redhat.com>
5068
5069         * libnm-glib/nm-client.c
5070                 - (client_device_added_proxy): add new devices to the internal device
5071                         list so they appear to clients
5072
5073 2008-03-24  Dan Williams  <dcbw@redhat.com>
5074
5075         Massive fixup of libnm-glib to:
5076         a) have all objects (with the exception of VPN) cache their properties and
5077                 update them asynchronously on PropertiesChanged signals from NM
5078         b) return internal const data for most attributes/properties instead of
5079                 allocated values that the caller must free
5080         c) cache wrapped objects such that a given D-Bus path will always map to the
5081                 same GObject returned by libnm-glib
5082         d) remove a few signals and move them to GObject property notifications
5083         e) match recent NM D-Bus API changes for activation/deactivation
5084         f) remove some private functions from libnm-glib headers
5085
5086 2008-03-20  Dan Williams  <dcbw@redhat.com>
5087
5088         * src/nm-manager.c
5089                 - (nm_manager_update_state, manager_device_state_changed,
5090                    nm_manager_activate_device, connection_added_default_handler,
5091                    impl_manager_activate_connection, impl_manager_deactivate_connection):
5092                         queue PropertyChanged singals when the active connections change
5093
5094 2008-03-20  Dan Williams  <dcbw@redhat.com>
5095
5096         * introspection/nm-manager.xml
5097           introspection/nm-manager-client.xml
5098                 - (ActivateConnection): return the object path of the active connection
5099                         on success
5100                 - (GetActiveConnections): remove
5101                 - (DeactivateConnection): new function; deactivate a currently active
5102                         connection
5103                 - Add an ActiveConnections property which returns an array of
5104                         active connection object paths
5105
5106         * introspection/nm-device.xml
5107                 - (Deactivate): remove
5108
5109         * introspection/all.xml
5110                 - Add ActiveConnection introspection
5111
5112         * introspection/nm-active-connection.xml
5113                 - Add the ActiveConnection object
5114
5115         * include/NetworkManager.h
5116                 - Add the Connection.Active D-Bus interface
5117
5118         * src/nm-device-interface.c
5119                 - (impl_device_deactivate): remove
5120
5121         * src/nm-activation-request.c
5122           src/nm-activation-request.c
5123           src/Makefile.am
5124                 - Implement the Connection.Active D-Bus interface
5125
5126         * src/nm-manager.c
5127                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
5128                 - (nm_manager_activate_device): return the active connection path
5129                 - (connection_added_default_handler, impl_manager_activate_connection):
5130                         return the active connection to the caller
5131                 - (add_one_connection_element, impl_manager_get_active_connections):
5132                         remove
5133                 - (impl_manager_deactivate_connection): new function; deactivate an
5134                         active connection
5135
5136         * libnm-glib/nm-device.c
5137           libnm-glib/nm-device.h
5138                 - Remove Deactivate() function
5139
5140 2008-03-19  Dan Williams  <dcbw@redhat.com>
5141
5142         * introspection/nm-manager.xml
5143           introspection/nm-manager-client.xml
5144                 - Rename the ActivateDevice method to ActivateConnection to better
5145                         reflect it's usage; it's arguments get reordered a bit too
5146                 - Convert GetActiveConnections method return from a struct to a dict
5147
5148         * include/NetworkManager.h
5149                 - Define the dict keys for return value of GetActiveConnections
5150
5151         * src/nm-manager.c
5152                 - impl_manager_activate_device -> impl_manager_activate_connection
5153                 - (add_one_connection_element): return a populated hash table, not
5154                         a structure
5155
5156         * libnm-glib/nm-client.c
5157           libnm-glib/nm-client.h
5158                 - nm_client_activate_device -> nm_client_activate_connection
5159                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
5160                 - (nm_client_get_active_connections): return a GSList of GHashTables,
5161                         instead of the custom structures.  Each element of the returned list
5162                         must be freed with nm_client_free_active_connections_element()
5163
5164 2008-03-18  Dan Williams  <dcbw@redhat.com>
5165
5166         * system-settings/plugins/ifcfg-fedora/parser.c
5167           system-settings/plugins/ifcfg-fedora/parser.h
5168           system-settings/plugins/ifcfg-fedora/plugin.c
5169                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
5170                         profiles.  DNS servers and searches must now be stored in the ifcfg
5171                         files themselves
5172
5173 2008-03-18  Tambet Ingo  <tambet@gmail.com>
5174
5175         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
5176         print out username and password, it's supposed to be a secret.
5177
5178         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
5179         request and set the device state accordingly.
5180
5181 2008-03-18  Tambet Ingo  <tambet@gmail.com>
5182
5183         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
5184
5185         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
5186
5187 2008-03-18  Dan Williams  <dcbw@redhat.com>
5188
5189         * src/vpn-manager/nm-vpn-connection.c
5190                 - (get_secrets_cb): handle new GetSecrets return format
5191
5192 2008-03-18  Dan Williams  <dcbw@redhat.com>
5193
5194         Adapt system settings service for split 802.1x.
5195
5196         * system-settings/src/nm-system-config-interface.h
5197                 - clarify return value of get_secrets()
5198
5199         * system-settings/src/dbus-settings.c
5200                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
5201                 - (check_for_secrets): check if there actually secrets returned by a
5202                         plugin
5203                 - (exported_connection_get_secrets): just return the plugin-returned
5204                         hash of settings' secrets if it looks valid
5205
5206         * system-settings/plugins/ifcfg-fedora/plugin.c
5207                 - (get_secrets): add split secrets with correct format to reply hash
5208
5209         * system-settings/plugins/ifcfg-fedora/parser.c
5210           system-settings/plugins/ifcfg-fedora/parser.h
5211                 - (copy_one_cdata_secret, connection_data_copy_secrets,
5212                    connection_data_free, connection_data_add): keep secrets for
5213                         different settings in different hashes
5214
5215 2008-03-17  Tambet Ingo  <tambet@gmail.com>
5216
5217         Clean up activating device deactivation.
5218
5219         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
5220         should be done whether the device activation gets cancelled or the device
5221         is just getting deactivated.
5222         (nm_device_activation_cancel): Remove.
5223         (nm_device_deactivate_quickly): Handle the case where device is activating.
5224
5225         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
5226         It does the exact same thing as real_deactivate_quickly().
5227
5228 2008-03-17  Dan Williams  <dcbw@redhat.com>
5229
5230         Split the 802.1x bits out of the wireless-security setting so they are
5231         generalized enough for wired 802.1x to use too.
5232
5233         * introspection/nm-exported-connection.xml
5234                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
5235                         of just a hash of the secrets for one setting
5236
5237         * libnm-util/nm-setting-wireless-security.c
5238           libnm-util/nm-setting-wireless-security.h
5239                 - Remove 802.1x-specific stuff
5240                 - Added leap-username and leap-password properties for old-school LEAP
5241
5242         * src/nm-device.c
5243           src/nm-device.h
5244                 - (connection_secrets_updated_cb): take a list of updated settings names,
5245                         not just one
5246
5247         * src/supplicant-manager/nm-supplicant-config.c
5248           src/supplicant-manager/nm-supplicant-config.h
5249                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
5250                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
5251                         to nm_supplicant_config_add_setting_8021x()
5252                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
5253                         the supplicant config
5254
5255         * src/nm-device-802-11-wireless.c
5256                 - (build_supplicant_config): pass in the 802.1x setting too, if any
5257                 - (real_connection_secrets_updated): take a list of updated settings
5258                         names, not just one
5259
5260         * src/nm-device-802-3-ethernet.c
5261           src/nm-cdma-device.c
5262           src/nm-gsm-device.c
5263                 - (real_connection_secrets_updated_cb): take a list of updated settings
5264                         names, not just one
5265
5266         * src/nm-activation-request.c
5267           src/nm-activation-request.h
5268                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
5269                         now passes a list of updated settings names, not just one
5270                 - (update_one_setting): new function; handle one updated setting
5271                 - (get_secrets_cb): handle multiple settings returned from the
5272                         settings service; have to be careful of ordering here as there are
5273                         some dependencies between settings (ex. wireless-security and 802.1x
5274                         in some cases)
5275
5276         * src/marshallers/nm-marshal.list
5277                 - new marshaller for connection-secrets-updated signal
5278
5279         * libnm-util/nm-setting-8021x.c
5280                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
5281                         methods
5282                 - (verify): a valid 'eap' property is now required
5283
5284         * libnm-util/nm-connection.c
5285                 - (register_default_settings): add priorities to settings; there are
5286                         some dependencies between settings, and during the need_secrets
5287                         calls this priority needs to be respected.  For example, only the
5288                         wireless-security setting knows whether or not the connection is
5289                         going to use 802.1x or now, so it must be asked for secrets before
5290                         any existing 802.1x setting is
5291                 - (nm_connection_lookup_setting_type): expose
5292
5293         * libnm-util/nm-setting-wireless.c
5294                 - (verify): should verify even if all_settings is NULL; otherwise won't
5295                         catch the case where there is missing security
5296
5297         * libnm-util/nm-setting-wireless-security.c
5298                 - Remove everything to do with 802.1x
5299                 - Add old-school LEAP specific properties for username and password
5300                 - (need_secrets): rework LEAP secrets checking
5301                 - (verify): rework for LEAP and 802.1x verification
5302
5303 2008-03-17  Dan Williams  <dcbw@redhat.com>
5304
5305         * src/NetworkManagerPolicy.c
5306                 - (auto_activate_device): always remove the current activation check
5307                         from the pending activation list, otherwise when the policy gets
5308                         destroyed on NM exit it will attempt to free the already freed
5309                         activation check
5310
5311 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5312
5313         * src/backends/NetworkManagerSlackware.c 
5314         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
5315
5316         * src/backends/NetworkManagerSuSE.c: Add missing includes.
5317
5318 2008-03-14  Dan Williams  <dcbw@redhat.com>
5319
5320         * src/nm-manager.c
5321                 - (nm_device_interface_get_iface): g_object_get() will return an
5322                         allocated value, so this function must not return const
5323                 - (nm_device_interface_activate): free returned iface
5324
5325 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5326
5327         * libnm-util/Makefile.am: Add new files to build.
5328
5329         * libnm-util/nm-connection.c: Register NMSetting8021x.
5330
5331         * libnm-util/nm-setting-8021x.c
5332         * libnm-util/nm-setting-8021x.h: Implement.
5333
5334 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5335
5336         * libnm-util/Makefile.am: Add new files to build.
5337
5338         * libnm-util/nm-connection.c: Register NMSetting8021x.
5339
5340         * libnm-util/nm-setting-8021x.c
5341         * libnm-util/nm-setting-8021x.h: Implement.
5342
5343 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5344
5345         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
5346         data.
5347
5348 2008-03-14  Dan Williams  <dcbw@redhat.com>
5349
5350         * include/wireless-helper.h
5351           include/Makefile.am
5352                 - One place for all the junk needed for #including wireless.h
5353
5354         * test/nm-tool.c
5355           src/NetworkManagerAP.c
5356           src/wpa.c
5357           src/Makefile.am
5358           libnm-util/nm-utils.c
5359           libnm-util/nm-setting-wireless.c
5360           libnm-glib/nm-device-802-11-wireless.c
5361           libnm-glib/nm-access-point.c
5362           libnm-glib/libnm-glib-test.c
5363                 - include wireless-helper.h, not iwlib.h
5364
5365         * configure.in
5366                 - Don't need libiw really, just need to check for wireless.h
5367
5368         * src/kernel-types.h
5369                 - Remove; used types moved into wpa.c
5370
5371         * src/nm-device-802-11-wireless.c
5372                 - (nm_device_802_11_wireless_update_signal_strength,
5373                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
5374                    nm_device_802_11_wireless_set_mode,
5375                    nm_device_802_11_wireless_get_frequency,
5376                    nm_device_802_11_wireless_get_ssid,
5377                    nm_device_802_11_wireless_set_ssid,
5378                    nm_device_802_11_wireless_get_bitrate,
5379                    nm_device_802_11_wireless_get_bssid,
5380                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
5381                         instead of iwlib functions
5382
5383 2008-03-14  Dan Williams  <dcbw@redhat.com>
5384
5385         * src/ppp-manager/nm-ppp-manager.c
5386                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
5387                         should only take the DBusGMethodInvocation argument, not user/pass
5388                         too.  With dbus-glib, async functions only take 2 C arguments since
5389                         the real dbus method arguments get passed back with
5390                         dbus_g_method_return()
5391
5392 2008-03-13  Tambet Ingo  <tambet@gmail.com>
5393
5394         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
5395         Adapt the changes of NMSettingIP4Config.
5396
5397 2008-03-13  Dan Williams  <dcbw@redhat.com>
5398
5399         * src/NetworkManagerUtils.c
5400           src/NetworkManagerUtils.h
5401                 - (nm_ether_ntop): replacement for iw_ether_ntop()
5402
5403         * src/NetworkManagerAP.c
5404           src/nm-device-802-11-wireless.c
5405           src/nm-device-802-3-ethernet.c
5406                 - s/iw_ether_ntop/nm_ether_ntop/g
5407
5408 2008-03-13  Dan Williams  <dcbw@redhat.com>
5409
5410         * src/NetworkManagerPolicy.c
5411                 - (update_routing_and_dns): never set the default route through an
5412                         IPv4LL addressed device
5413
5414 2008-03-13  Dan Williams  <dcbw@redhat.com>
5415
5416         * NetworkManagerUtils.c
5417           NetworkManagerUtils.h
5418                 - Remove NMSock stuff
5419                 - Remove the completion stuff
5420
5421         * nm-device.c
5422           nm-device.h
5423           NetworkManager.c
5424           NetworkManagerSystem.c
5425           autoip.c
5426           nm-device-802-11-wireless.c
5427           nm-device-802-3-ethernet.c
5428                 - Remove NMSock and completion stuff
5429                 - Remove nm_ioctl_info()
5430
5431 2008-03-12  Dan Williams  <dcbw@redhat.com>
5432
5433         * src/nm-device.c
5434                 - (merge_ip4_config): avoid duplicates
5435
5436 2008-03-12  Dan Williams  <dcbw@redhat.com>
5437
5438         * libnm-util/nm-setting-ip4-config.c
5439           libnm-util/nm-setting-ip4-config.h
5440                 - Remove 'manual' and 'autoip' properties
5441                 - Add 'method' property
5442                 - (verify): fix verification with 'method'
5443                 - (finalize): free 'method'
5444                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
5445                         up for 'method'
5446
5447         * src/nm-device.c
5448                 - (real_act_stage3_ip_config_start): check IP4Config method
5449                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
5450                         the future
5451                 - (merge_ip4_config): IP settings are valid with DHCP too
5452                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
5453                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
5454
5455         * src/nm-device-802-11-wireless.c
5456                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
5457                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
5458                         only on demand
5459
5460         * system-settings/plugins/ifcfg-fedora/parser.c
5461           system-settings/plugins/ifcfg-suse/parser.c
5462                 - (make_ip4_setting): fix up for 'method'
5463
5464 2008-03-12  Dan Williams  <dcbw@redhat.com>
5465
5466         * system-settings/plugins/ifcfg-fedora/parser.c
5467           system-settings/plugins/ifcfg-fedora/parser.h
5468                 - (get_ifcfg_name): ignore more file suffixes
5469                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
5470
5471 2008-03-12  Dan Williams  <dcbw@redhat.com>
5472
5473         * configure.in
5474                 - Bring in the bits of gnome-common we actually use (all 15 lines)
5475
5476 2008-03-12  Dan Williams  <dcbw@redhat.com>
5477
5478         * system-settings/plugins/ifcfg-fedora/plugin.c
5479                 - (write_auto_wired_connection): new function; write out an auto
5480                         wired connection file since the applet isn't doing it any more
5481                 - (reload_all_connections): write out the auto wired connection file
5482                         if there aren't any wired connections already
5483                 - (init): don't leak a GError
5484
5485 2008-03-12  Dan Williams  <dcbw@redhat.com>
5486
5487         * src/nm-device-interface.c
5488                 - (nm_device_interface_activate): print the ID of the connection
5489                         that's about to be activated
5490
5491 2008-03-12  Dan Williams  <dcbw@redhat.com>
5492
5493         Harmonize the 802.11 bitrate API
5494
5495         * introspection/nm-access-point.xml
5496                 - 'Rate' -> 'MaxBitrate'; clarify units
5497
5498         * introspection/nm-device-802-11-wireless.xml
5499                 - Clarify units of 'Bitrate'
5500
5501         * src/NetworkManagerAP.c
5502           src/NetworkManagerAP.h
5503                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
5504                         property to 'max-bitrate'
5505                 - (foreach_property_cb): convert rate to Kb/s
5506
5507         * src/nm-device-802-11-wireless.c
5508                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
5509
5510         * libnm-glib/nm-access-point.c
5511           libnm-glib/nm-access-point.h
5512                 - 'rate' -> 'max-bitrate'
5513
5514         * test/nm-tool.c
5515           libnm-glib/libnm-glib-test.c
5516                 - Fix up for these changes
5517
5518 2008-03-12  Dan Williams  <dcbw@redhat.com>
5519
5520         * src/nm-device.c
5521                 - (nm_device_set_ip4_config): don't send property notifications when
5522                         the ip4 config is set to NULL; it causes a PropertyChanged signal
5523                         which dbus-glib can't parse because the value is NULL, which isn't
5524                         a legal object path.  Setting the IP4 config to NULL is only
5525                         valid when deactivating a device anyway, so the device state change
5526                         will alert listeners that the ip4 config is invalid.
5527
5528 2008-03-12  Dan Williams  <dcbw@redhat.com>
5529
5530         * src/nm-properties-changed-signal.c
5531                 - (add_to_string): better handling of NULL objects
5532
5533 2008-03-12  Dan Williams  <dcbw@redhat.com>
5534
5535         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
5536         convert the libnm-glib NMDevice8023Ethernet to cached properties
5537
5538         * introspection/nm-device-802-3-ethernet.xml
5539                 - New 'Carrier' property
5540                 - New 'PropertiesChanged' signal
5541
5542         * introspection/nm-device.xml
5543                 - Remove 'Carrier' property
5544                 - Remove 'CarrierChanged' signal
5545
5546         * src/nm-device-interface.c
5547           src/nm-device-interface.h
5548                 - (nm_device_interface_init): remove 'carrier' property and
5549                         'carrier-changed' signal
5550
5551         * src/nm-device.c
5552           src/nm-device.h
5553                 - (nm_device_get_carrier, nm_device_set_carrier): remove
5554                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
5555                         the link here; wired device will handle that
5556                 - (handle_dhcp_lease_change): don't bother updating link here
5557                 - (get_property, nm_device_class_init): remove carrier property
5558
5559         * src/nm-device-802-11-wireless.c
5560                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
5561                         real_update_link(); wireless devices don't use carrier at all
5562                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
5563                    supplicant_iface_connection_state_cb_handler,
5564                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
5565
5566         * src/nm-device-802-3-ethernet.c
5567           src/nm-device-802-3-ethernet.h
5568                 - (nm_device_802_3_ethernet_carrier_on,
5569                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
5570                         instead of nm_device_set_carrier()
5571                 - (device_state_changed): update link from sysfs on activation;
5572                         replaces real_update_link()
5573                 - (real_update_link): remove, replaced by device_state_changed()
5574                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
5575                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
5576                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
5577                         new get_carrier function
5578                 - (get_property): add 'carrier' property
5579                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
5580                         hook into property-changed signal helper
5581
5582         * src/NetworkManagerPolicy.c
5583                 - (device_carrier_changed): will only ever be called with a wired device
5584                 - (device_added): only hook up to carrier-changed for wired devices
5585
5586         * libnm-glib/nm-device.c
5587           libnm-glib/nm-device.h
5588                 - (constructor, nm_device_class_init): remove carrier-changed signal
5589                 - (device_carrier_changed_proxy): remove; unused
5590                 - (nm_device_get_carrier): remove; carrier a property of wired devices
5591
5592         * libnm-glib/nm-device-802-3-ethernet.c
5593           libnm-glib/nm-device-802-3-ethernet.h
5594                 - Convert to cached properties like AP and Wireless objects
5595                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
5596                         instead of a 'char *', return value should not be freed
5597                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
5598                 - (constructor): hook into properties-changed helper
5599                 - (set_property, get_property): new functions
5600                 - (nm_device_802_3_ethernet_class_init): export GObject properties
5601
5602         * test/nm-tool.c
5603                 - (detail_device): strdup the wired hardware address too since it's
5604                         cached now
5605
5606         * libnm-glib/libnm-glib-test.c
5607                 - (dump_wired): strdup the wired hardware address too since it's
5608                         cached now
5609
5610 2008-03-12  Dan Williams  <dcbw@redhat.com>
5611
5612         * libnm-util/nm-setting-ip4-config.c
5613           libnm-util/nm-setting-ip4-config.h
5614                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
5615                         the 'autoip' property from the spec
5616
5617 2008-03-11  Dan Williams  <dcbw@redhat.com>
5618
5619         * src/backends/NetworkManagerGeneric.c
5620           src/backends/NetworkManagerGeneric.h
5621                 - (nm_generic_device_get_use_dhcp): remove
5622
5623 2008-03-11  Dan Williams  <dcbw@redhat.com>
5624
5625         * src/nm-device.c
5626                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
5627                         already in nm_device_set_ip4_config()
5628                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
5629                         due to a DHCP rebind fails
5630                 - (nm_device_set_ip4_config): send property notifications when the
5631                         ip4 config changes
5632                 - (get_property): only report IP4Config property during valid states
5633
5634         * src/NetworkManagerPolicy.c
5635                 - (update_routing_and_dns): ignore devices that don't have an ip4
5636                         config; add parameter 'force_update' to allow callers to specify
5637                         that changes should be made even if the default device doesn't change
5638                 - (device_ip4_config_changed): update DNS and routing when the device's
5639                         IP4Config changes, like for DHCP updates
5640                 - (device_added): listen for ip4-config property changes
5641
5642 2008-03-11  Dan Williams  <dcbw@redhat.com>
5643
5644         Fix address handling as a result of DHCP rebind/renew/reboot.
5645
5646         * src/NetworkManagerSystem.c
5647                 - (check_one_address): delete an address if it doesn't match a given
5648                         one for the same interface
5649                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
5650                         be smarter about flushing addresses (only flush ones that don't
5651                         match the one we're about to apply)
5652
5653         * src/backends/NetworkManagerDebian.c
5654           src/backends/NetworkManagerSuSE.c
5655           src/backends/NetworkManagerArch.c
5656           src/backends/NetworkManagerSlackware.c
5657           src/backends/NetworkManagerRedHat.c
5658           src/backends/NetworkManagerPaldo.c
5659           src/backends/NetworkManagerFrugalware.c
5660           src/backends/NetworkManagerGentoo.c
5661                 - (nm_system_delete_default_route): remove
5662
5663         * src/backends/NetworkManagerGeneric.c
5664           src/backends/NetworkManagerGeneric.h
5665                 - (nm_generic_enable_loopback): fix the loopback device label
5666                 - (nm_generic_delete_default_route): remove; no longer used
5667
5668 2008-03-11  Dan Williams  <dcbw@redhat.com>
5669
5670         * src/nm-device-interface.h
5671                 - Delimit property name words with '-', otherwise g_object_notify()
5672                         doesn't work the way we expect
5673
5674 2008-03-11  Tambet Ingo  <tambet@gmail.com>
5675
5676         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
5677
5678 2008-03-11  Dan Williams  <dcbw@redhat.com>
5679
5680         * src/NetworkManagerPolicy.c
5681                 - (update_routing_and_dns): don't change anything if the default device
5682                         hasn't changed; print something out when switching the default route
5683                         and DNS
5684
5685 2008-03-10  Tambet Ingo  <tambet@gmail.com>
5686
5687         Implement PPPoE.
5688
5689         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
5690         setting. Use "nic-$eth".
5691
5692         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
5693         the device is activating here to fix a race condition.
5694
5695         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
5696
5697         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
5698         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
5699         (nm_ppp_manager_start): Take activation request instead of connection, we might
5700         need it for asking secrets.
5701         (nm_ppp_manager_update_secrets): Implement.
5702
5703         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
5704         ppp manager start. It might be needed for asking secrets.
5705
5706         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
5707         (ppp_state_changed): Handle pppd daemon disappearing.
5708         (pppoe_stage2_config): Send activation request to ppp manager start.
5709
5710         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
5711
5712         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
5713         username and password.
5714         
5715 2008-03-10  Dan Williams  <dcbw@redhat.com>
5716
5717         * src/nm-device.c
5718                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
5719                         response to a DHCP lease change
5720                 - (dhcp_state_changed): handle DHCP lease changes while activated
5721                 - (nm_device_set_ip4_config): remove a previously set named config
5722                         when setting an ip4 config
5723
5724 2008-03-10  Dan Williams  <dcbw@redhat.com>
5725
5726         * src/nm-serial-device.c
5727                 - (nm_serial_device_send_command): report errno on error
5728                 - (get_reply_got_data): limit the size of the overall buffer
5729                 - (wait_for_reply_info_destroy): destroy result string
5730                 - (wait_for_reply_got_data): append received data to an overall buffer
5731                         until timeout, filled buffer, or error instead of keeping a per-call
5732                         buffer.  Some devices send data slowly enough that this function
5733                         gets called multiple times for the same command stream.
5734                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
5735                         wait_for_reply_got_data() here
5736
5737 2008-03-10  Dan Williams  <dcbw@redhat.com>
5738
5739         * src/nm-cdma-device.c
5740                 - (do_dial, init_modem): handle errors from
5741                         nm_serial_device_send_command_string()
5742
5743         * src/nm-gsm-device.c
5744                 - (do_dial, manual_registration, automatic_registration_get_network,
5745                    automatic_registration, enter_pin, check_pin, init_modem): handle
5746                         errors from nm_serial_device_send_command_string()
5747
5748 2008-03-10  Dan Williams  <dcbw@redhat.com>
5749
5750         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
5751
5752         * src/named-manager/nm-named-manager.c
5753                 - (compute_searches): prefer searches before domains
5754                 - (compute_domain): new function
5755                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
5756                 - (merge_one_ip4_config): if there are no searches in the source config,
5757                         merge domains of the source config into the target config
5758                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
5759
5760 2008-03-10  Dan Williams  <dcbw@redhat.com>
5761
5762         * src/nm-serial-device.c
5763                 - (get_reply_got_data): clean up indentation, shrink serial buffer
5764                 - (wait_for_reply_got_data): try to handle slower serial devices where
5765                         the reply is broken up into multiple reads by concatenating replies
5766                         together until either an error is received or the search string is
5767                         found
5768
5769 2008-03-10  Dan Williams  <dcbw@redhat.com>
5770
5771         * src/nm-device.c
5772                 - (nm_device_bring_down): deactivate the device if it's activating too,
5773                         not just if it's already activated.  This makes sure that everything
5774                         from an association attempt is cleaned up (like DHCP for example)
5775
5776 2008-03-10  Dan Williams  <dcbw@redhat.com>
5777
5778         * src/nm-serial-device.c
5779                 - (config_fd): report error from TCSETA
5780                 - (nm_serial_device_open): fail when config_fd() fails
5781
5782 2008-03-10  Dan Williams  <dcbw@redhat.com>
5783
5784         * src/nm-ip4-config.c
5785                 - (nm_ip4_config_init): allocate searches list
5786                 - (finalize): free searches list
5787
5788 2008-03-09  Dan Williams  <dcbw@redhat.com>
5789
5790         Patch from Bas Zoetekouw <bas@debian.org>
5791
5792         * src/dhcp-manager/nm-dhcp-manager.c
5793                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
5794
5795 2008-03-09  Dan Williams  <dcbw@redhat.com>
5796
5797         Patch from Bas Zoetekouw <bas@debian.org>
5798
5799         * src/nm-ip4-config.c
5800           src/nm-ip4-config.h
5801                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
5802                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
5803                         domains.  'searches' is the correct way to store multiple search
5804                         domains, whereas 'domains' is really just supposed to store one
5805                         domain.  Some sites abuse the DHCP 'domain-name' option to push
5806                         search domains to the client.
5807                 - (nm_ip4_config_add_domain): group with related functions (my patch)
5808
5809 2008-03-09  Dan Williams  <dcbw@redhat.com>
5810
5811         * src/dhcp-manager/nm-dhcp-manager.c
5812                 - (dhclient_run): send interface-specific config files to dhclient
5813
5814 2008-03-07  Dan Williams  <dcbw@redhat.com>
5815
5816         * system-settings/plugins/ifcfg-fedora/parser.c
5817                 - (is_wireless_device): new function; test a device for wireless
5818                         extensions
5819                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5820                         test the device for wireless extensions to determine the type
5821
5822 2008-03-07  Dan Williams  <dcbw@redhat.com>
5823
5824         Change manager's StateChange signal to StateChanged for consistency.
5825
5826         * introspection/nm-manager.xml
5827                 - Add 'StateChanged' signal
5828                 - Move 'StateChange' down to the deprecated section
5829
5830         * src/nm-hal-manager.c
5831                 - (nm_hal_manager_new): connect to 'state-changed' instead
5832
5833         * src/NetworkManagerPolicy.c
5834                 - (nm_policy_new): connect to 'state-changed' instead
5835
5836         * src/nm-manager.c
5837           src/nm-manager.h
5838                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5839                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5840                         of 'state-change'
5841
5842         * libnm-glib/nm-client.c
5843           libnm-glib/nm-client.h
5844                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5845                         track and proxy 'state-changed' instead of 'state-change'
5846
5847 2008-03-07  Dan Williams  <dcbw@redhat.com>
5848
5849         First pass of multiple active device support.  Expect bugs.
5850
5851         * src/nm-ip4-config.c
5852           src/nm-ip4-config.h
5853                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5854                         there are better ways to do this in the named manager
5855
5856         * src/nm-device.c
5857           src/nm-device.h
5858                 - (nm_device_can_activate): return whether the device can activate a
5859                         connection right now; taking into account things like carrier state
5860                         and rfkill state
5861                 - (nm_device_get_best_auto_connection): renamed from
5862                         nm_device_get_best_connection
5863                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5864                         device subclasses themselves, so that each device can override the
5865                         MTU from it's NMSetting subclass if needed
5866                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5867                         in NetworkManagerSystem.c, not here
5868
5869         * src/named-manager/nm-named-manager.c
5870           src/named-manager/nm-named-manager.h
5871                 - (nm_named_manager_name_owner_changed,
5872                    nm_named_manager_dbus_connection_changed): fix for changes to
5873                         rewrite_resolv_conf()
5874                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5875                         from parameter list
5876                 - (merge_one_ip4_config): new function; merge ip4 configs together
5877                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5878                         ip4 configs; the VPN config takes precedence, then the best
5879                         device config, then the rest of the configs
5880                 - (get_domain_for_config): take the NMNamedManager as an argument
5881                         to check whether the config is the VPN config
5882                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5883                         attribute from ip4 configs
5884                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5885                 - (remove_ip4_config_from_named): fix for changes to
5886                         get_domain_for_config()
5887                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5888                         based on its type; callers must pass in the type now
5889                 - (get_last_default_domain): remove, unused
5890                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5891
5892         * src/nm-device-802-11-wireless.c
5893                 - (real_can_activate): new function
5894                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5895                 - (real_act_stage4_get_ip4_config): handle MTU override
5896
5897         * src/nm-device-802-3-ethernet.c
5898                 - (real_can_activate): new function
5899                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5900                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5901
5902         * src/vpn-manager/nm-vpn-connection.c
5903                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5904                         attribute on the ip4 config
5905
5906         * src/NetworkManagerPolicy.c
5907                 - (nm_policy_auto_get_best_device): remove
5908                 - (nm_policy_device_change_check): remove
5909                 - (update_default_route): new function; set the default route via
5910                         the specified device
5911                 - (get_device_priority): new function; return the priority number of
5912                         a device type WRT which one should have the default route.  Order is
5913                         (highest to lowest)  wired, wireless, GSM, CDMA.
5914                 - (update_routing_and_dns): new function; determine which device should
5915                         have the default route, then update the routing table and DNS
5916                 - (maybe_auto_activate_device): new function; if a device is now
5917                         available for activation, find out what connection it would like to
5918                         activate and do it
5919                 - (schedule_activate_check): new function; if a device can be activated
5920                         now, schedule the activation.  Each device may have only one
5921                         pending activation at a given time.
5922                 - (device_state_changed): if activation was canceled, try again,
5923                         possibly with another connection; if the device was activated,
5924                         update routing and DNS; if the device was deactivated, try again
5925                         with another connection
5926                 - (device_carrier_changed): if there is no carrier, deactivate the
5927                         device; otherwise schedule an activation check for the device
5928                 - (wireless_networks_changed): schedule an activation check for the
5929                         device
5930                 - (device_added): keep track of the signal handler IDs so they can
5931                         be removed when the device goes away
5932                 - (device_removed): remove any signal handlers that might be attached
5933                         to the device; update routing and DNS
5934                 - (schedule_activate_all): new function
5935                 - (connections_added, connection_added, connection_updated): when
5936                         connections change, schedule all devices for an activation check
5937                 - (connection_removed): when a device is deactivated because its
5938                         connection was removed, schedule another activation check for it
5939                 - (nm_policy_destroy): destroy pending activations and disconnect
5940                         all device signal handlers
5941
5942         * src/nm-manager.c
5943                 - (nm_manager_activate_device): if the device was already actived,
5944                         deactivate it
5945                 - (deactivate_old_device): remove
5946                 - (connection_added_default_handler, impl_manager_activate_device):
5947                         don't deactivate other devices when activating this one
5948
5949         * src/backends/NetworkManagerGentoo.c
5950           src/backends/NetworkManagerFrugalware.c
5951           src/backends/NetworkManagerPaldo.c
5952           src/backends/NetworkManagerRedHat.c
5953           src/backends/NetworkManagerSlackware.c
5954           src/backends/NetworkManagerArch.c
5955           src/backends/NetworkManagerSuSE.c
5956           src/backends/NetworkManagerDebian.c
5957                 - (nm_system_get_mtu): remove; MTU should be provided through the
5958                         distro's system settings service plugin instead
5959                 - (nm_system_device_add_default_route_via_device): remove
5960                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5961                 - (nm_system_device_replace_default_route): new function; call
5962                         generic implementation
5963
5964         * src/backends/NetworkManagerGeneric.c
5965           src/backends/NetworkManagerGeneric.h
5966                 - (nm_generic_device_add_default_route_via_device,
5967                    nm_generic_device_add_default_route_via_device_with_iface): remove
5968                 - (nm_generic_device_replace_default_route): replace the default route
5969                         with the given route via some gateway
5970
5971         * src/NetworkManagerSystem.c
5972           src/NetworkManagerSystem.h
5973                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5974                         to routing and DNS; but set the MTU here
5975                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5976                         ip_iface of the active device; use the standard MTU setting function
5977                 - (nm_system_set_mtu): remove
5978                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5979
5980 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5981
5982         Rework the interaction between ppp manager and pppd plugin. Register a well
5983         known DBUS service in manager and let the plugin call it's methods instead
5984         of listening plugin's signals.
5985
5986         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5987         of emitting signals.
5988
5989         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5990
5991         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5992
5993         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5994         nm_ppp_manager_start().
5995
5996         * introspection/nm-ppp-manager.xml: New file.
5997
5998         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5999         the case correctly where driver is trying to send -1 for the speed, which gets
6000         casted to u16 and thus is always > 0.
6001
6002 2008-03-07  Dan Williams  <dcbw@redhat.com>
6003
6004         * src/nm-hal-manager.c
6005                 - (nm_get_device_driver_name): use net.originating_device first, fall
6006                         back to physical device.  HAL has deprecated physical_device.
6007
6008         * libnm-glib/nm-device.c
6009                 - (get_product_and_vendor): use net.originating_device first, fall
6010                         back to physical device.  HAL has deprecated physical_device.
6011                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
6012
6013 2008-03-07  Dan Williams  <dcbw@redhat.com>
6014
6015         * src/nm-netlink.c
6016                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
6017                         last commit; fix that
6018                 - (get_link_cache): print error string
6019
6020 2008-03-07  Dan Williams  <dcbw@redhat.com>
6021
6022         * src/nm-netlink.c
6023                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
6024                         don't need this hack any more (Benoit Boissinot)
6025
6026 2008-03-06  Dan Williams  <dcbw@redhat.com>
6027
6028         * autogen.sh
6029                 - Die gnome-common, die
6030
6031 2008-03-04  Dan Williams  <dcbw@redhat.com>
6032
6033         Patch from Michael Biebl <biebl@debian.org>
6034
6035         * NetworkManager.pc.in
6036                 - doesn't actually depend on dbus-1
6037
6038         * libnm-util/nm-utils.h
6039                 - remove unused #include <dbus/dbus.h>
6040
6041         * libnm-glib/libnm_glib.pc.in
6042                 - depends on glib and dbus-glib
6043
6044 2008-03-02  Dan Williams  <dcbw@redhat.com>
6045
6046         * src/NetworkManagerPolicy.c
6047                 - s/device_state_changed_idle_id/update_state_id/
6048
6049 2008-03-02  Dan Williams  <dcbw@redhat.com>
6050
6051         * src/nm-device.c
6052           src/nm-device.h
6053           src/nm-device-802-11-wireless.c
6054           src/nm-device-802-3-ethernet.c
6055           src/NetworkManagerPolicy.c
6056                 - s/link_active/carrier
6057                 - nm_device_set_active_link() -> nm_device_set_carrier()
6058                 - nm_device_has_active_link() -> nm_device_get_carrier()
6059
6060 2008-03-02  Dan Williams  <dcbw@redhat.com>
6061
6062         * system-settings/plugins/ifcfg-fedora/parser.c
6063                 - (make_wireless_setting): fail connection creation on missing SSID
6064
6065 2008-02-29  Dan Williams  <dcbw@redhat.com>
6066
6067         * src/NetworkManagerPolicy.c
6068                 - (nm_policy_device_change_check): ensure that a previously active
6069                         device with a system connection has a link before denying a switch
6070                         to a user connection
6071
6072 2008-02-29  Dan Williams  <dcbw@redhat.com>
6073
6074         * src/nm-device-802-11-wireless.c
6075                 - (link_timeout_cb): try again if scanning; deactivate the device when
6076                         activated if the link dies
6077                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
6078                         15 seconds
6079
6080 2008-02-29  Dan Williams  <dcbw@redhat.com>
6081
6082         * src/nm-device-802-11-wireless.c
6083           src/nm-device-802-11-wireless.h
6084                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
6085                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
6086                 - (device_cleanup): reset the scan interval lower when the device
6087                         deactivates
6088                 - (can_scan): base decision mostly off device state, not supplicant
6089                         interface state since the supplicant interface state isn't a
6090                         great indicator of whether the device is active or not
6091                 - (request_wireless_scan): clean up; schedule the next scan here
6092                 - (schedule_scan): only back the scan interval off if a new scan
6093                         actually gets scheduled; and make scan intervals tighter when the
6094                         device is disconnected
6095                 - (supplicant_iface_state_cb_handler): fold in the bits of
6096                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
6097                         interval to minimum
6098                 - (activation_success_handler): reset scan interval to something
6099                         reasonable 
6100
6101 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
6102
6103         reviewed by: Steev <steev@steev.net>
6104
6105         * configure.in:
6106         * src/backends/NetworkManagerGentoo.c:
6107         (nm_system_restart_mdns_responder):
6108                 Howl is no longer a supported mDNS provider
6109
6110 2008-02-28  Tambet Ingo  <tambet@gmail.com>
6111
6112         Get rid of a bunch of unused distro specific functions.
6113
6114 2008-02-28  Tambet Ingo  <tambet@gmail.com>
6115
6116         Implement suse plugin for system settings daemon.
6117
6118         * system-settings/plugins/ifcfg-suse/*: Implement.
6119
6120         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
6121         suse.
6122
6123         * configure.in: Check (without failing) for gio.
6124         Create ifcfg-suse plugin's Makefile.
6125
6126 2008-02-20  Dan Williams  <dcbw@redhat.com>
6127
6128         * libnm-util/nm-connection.c
6129           libnm-util/nm-connection.h
6130                 - (nm_connection_compare): accept compare flags and pass them to the
6131                         setting compare function
6132
6133         * libnm-util/nm-setting.c
6134           libnm-util/nm-setting.h
6135                 - (nm_setting_compare): accept compare flags; ignore properties that are
6136                         marked fuzzy
6137
6138         * libnm-util/nm-setting-connection.c
6139           libnm-util/nm-setting-wireless.c
6140           libnm-util/nm-setting-ppp.c
6141           libnm-util/nm-setting-wired.c
6142                 - Mark some setting properties as ignorable when doing a fuzzy compare
6143
6144         * src/nm-device.c
6145                 - (device_activation_precheck): use exact compare
6146
6147 2008-02-20  Dan Williams  <dcbw@redhat.com>
6148
6149         * src/NetworkManagerPolicy.c
6150                 - (nm_policy_device_change_check): get scope off the connection, not
6151                         using the manager helper
6152
6153         * src/nm-manager.c
6154           src/nm-manager.h
6155                 - (get_scope_for_proxy): rename from get_type_for_proxy()
6156                 - (connection_get_settings_cb): set scope and path on connection, not
6157                         using GObject data items
6158                 - (get_connection_for_proxy): don't need to return path, since that
6159                         can be gotten from the connection
6160                 - (get_connection_for_proxy): get path off the connection, not from
6161                         parameters
6162                 - (connection_removed_cb, connection_updated_cb): don't need to get
6163                         path from get_connection_for_proxy(); get scope off the connection
6164                         instead of using GObject data items
6165                 - (connection_added_default_handler, add_one_connection_element): use
6166                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
6167                 - (nm_manager_get_connection_dbus_path): remove
6168                 - (nm_manager_get_connection_scope): remove
6169
6170 2008-02-20  Dan Williams  <dcbw@redhat.com>
6171
6172         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
6173                 on confusing names
6174
6175         * Add 'path' and 'scope' properties to NMConnection since both NM and the
6176                 applet were having to hack this in anyway.  Remove the 'path' stuff from
6177                 NMExportedConnection
6178
6179         * Internally rename NMConnectionType -> NMConnectionScope
6180
6181         * Provide default implementations of the 'get_id' and 'get_settings' methods
6182                 of NMExportedConnection
6183
6184 2008-02-15  Dan Williams  <dcbw@redhat.com>
6185
6186         * src/nm-device-802-11-wireless.c
6187                 - (device_cleanup): release the AP list here too so that the AP list
6188                         doesn't survive across suspend/resume and up/down.  There is some
6189                         room for optimization, for example blow the list away when the card
6190                         brought back up, but only if the device has only been down for a
6191                         minute or more.
6192
6193 2008-02-15  Dan Williams  <dcbw@redhat.com>
6194
6195         * src/nm-hal-manager.c
6196                 - (modem_device_creator): recognize new HAL modem capabilities
6197
6198 2008-02-12  Dan Williams  <dcbw@redhat.com>
6199
6200         * system-settings/plugins/ifcfg-fedora/plugin.c
6201                 - (watch_path): handle IN_DELETE_SELF too
6202                 - (handle_connection_changed): notify when removing a connection
6203                 - (stuff_changed): don't warn on unknown inotify watches; handle the
6204                         case of a file moving out of the profile directory
6205
6206 2008-02-12  Dan Williams  <dcbw@redhat.com>
6207
6208         * system-settings/plugins/ifcfg-fedora/parser.c
6209                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
6210
6211 2008-02-12  Dan Williams  <dcbw@redhat.com>
6212
6213         * libnm-util/nm-utils.c
6214                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
6215                         just any empty array
6216
6217 2008-02-12  Dan Williams  <dcbw@redhat.com>
6218
6219         * system-settings/src/nm-system-config-interface.c
6220           system-settings/src/nm-system-config-interface.h
6221                 - (load_connections): get_connections() should now return an allocated
6222                         GSList that the system settings service will free
6223
6224         * system-settings/plugins/ifcfg-fedora/plugin.c
6225           system-settings/plugins/ifcfg-fedora/parser.h
6226           system-settings/plugins/ifcfg-fedora/parser.c
6227                 - Fix up inotify issues; handle keys-* files, handle new files appearing
6228                         in the profile directory, handle resolv.conf file changes
6229
6230 2008-02-10  Dan Williams  <dcbw@redhat.com>
6231
6232         * src/nm-device-802-3-ethernet.c
6233                 - (real_bring_up): save the supplicant interface state signal id
6234                 - (real_bring_down): disconnect from the supplicant interface state
6235                         signal
6236
6237 2008-02-07  Dan Williams  <dcbw@redhat.com>
6238
6239         * initscript/RedHat/NetworkManager.in
6240           initscript/RedHat/NetworkManagerDispatcher.in
6241                 - Add new-style LSB init headers
6242
6243 2008-02-07  Dan Williams  <dcbw@redhat.com>
6244
6245         * system-settings/src/dbus-settings.c
6246           system-settings/src/dbus-settings.h
6247                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
6248                         table of secrets
6249                 - (connection_settings_get_secrets): consolidate error returns into
6250                         one place; use the new get_secrets() plugin interface function to
6251                         get secrets from the plugin itself rather than using GObject data
6252                         magic
6253
6254         * system-settings/src/main.c
6255                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
6256                    load_connections): keep a private list of the plugin-returned
6257                         connections, don't use the plugin's GSList
6258
6259         * system-settings/plugins/ifcfg-fedora/plugin.c
6260                 - (watch_path): watch the path, not the filename (duh)
6261                 - (reload_all_connections): use the direct hash/equal functions; the
6262                         ones for int aren't appropriate here
6263                 - (get_secrets, system_config_interface_init): implement the
6264                         get_secrets() function
6265                 - (build_one_connection, find_connection_by_path): ifcfg file path is
6266                         now in the connection's ConnectionData instead of being a GObject
6267                         data property
6268                 - (handle_profile_item_changed): ifcfg file path is now in the
6269                         connection's ConnectionData instead of being a GObject data property;
6270                         be sure to copy secrets over from the new connection to the existing
6271                         connection when updating the connection's settings
6272                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
6273                         file descriptor
6274
6275         * system-settings/plugins/ifcfg-fedora/parser.c
6276           system-settings/plugins/ifcfg-fedora/parser.h
6277                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
6278                    connection_data_copy_secrets, connection_data_free,
6279                    connection_data_add): new functions; connection data manipulation
6280                 - (make_wireless_security_setting): stuff secrets into the
6281                         connection data, not as GObject data items; make sure to close
6282                         the keys ifcfg file
6283                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
6284                         connection data to the connection
6285
6286 2008-02-07  Dan Williams  <dcbw@redhat.com>
6287
6288         * system-settings/src/nm-system-config-interface.c
6289           system-settings/src/nm-system-config-interface.h
6290                 - Add a get_secrets() interface function to retrieve secrets for a
6291                         specific setting of a specific connection.  Document the interface
6292                         a bit more too.
6293
6294 2008-02-07  Dan Williams  <dcbw@redhat.com>
6295
6296         * src/nm-device-802-11-wireless.c
6297                 - (handle_auth_or_fail): new function; consolidate device activation
6298                         failure check after a certain number of failures getting secrets
6299                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
6300                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
6301                         the connection if secrets were requested more than a few times
6302                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
6303                         tries here; otherwise they are cleared before the IP configure
6304                         timeout, which happens with open system WEP when key is wrong
6305                 - (activation_success_handler): clear wireless secrets tries here too
6306
6307 2008-02-07  Dan Williams  <dcbw@redhat.com>
6308
6309         * src/NetworkManagerPolicy.c
6310                 - (connection_updated): clear invalid tag when connection gets updated
6311                         to allow that connection to be tried again
6312                 - (nm_policy_new): save signal ids so they can be disconnected when
6313                         the policy is destroyed
6314                 - (nm_policy_destroy): stop any in-progress state change idle handler,
6315                         and disconnect all signals from the manager object so that none
6316                         of the policy functions gets called after the policy is destroyed
6317
6318 2008-02-06  Dan Williams  <dcbw@redhat.com>
6319
6320         * src/nm-manager.c
6321                 - (finalize): remove devices a bit earlier; clean up system settings
6322                         poke
6323                 - (nm_manager_name_owner_changed): clean up system settings poke when
6324                         the service appears, and try to restart it if it fails
6325                 - (poke_system_settings_daemon_cb): try to get the system settings
6326                         service started through D-Bus service activation
6327                 - (initial_get_connections): start the system settings daemon if it's
6328                         not already running
6329
6330 2008-02-05  Dan Williams  <dcbw@redhat.com>
6331
6332         * src/supplicant-manager/nm-supplicant-config.c
6333                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
6334                         broadcast networks too
6335
6336 2008-02-04  Dan Williams  <dcbw@redhat.com>
6337
6338         * system-settings/plugins/ifcfg-fedora/parser.c
6339                 - (make_wireless_security_setting): fix spelling; unencrypted networks
6340                         need key_mgmt set too
6341                 - (parser_parse_file): validate ifcfg file name and don't try to parse
6342                         .bak files; ensure that an error is set whenever NULL gets returned
6343
6344 2008-02-04  Dan Williams  <dcbw@redhat.com>
6345
6346         * system-settings/src/Makefile.am
6347                 - Install D-Bus service activation file for the system settings
6348                         service
6349
6350         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
6351                 - D-Bus service activation file for system settings service
6352
6353 2008-02-04  Dan Williams  <dcbw@redhat.com>
6354
6355         * system-settings/src/main.c
6356                 - (parse_config_file): parse a config file
6357                 - (main): accept --config option and read plugins from config file
6358
6359 2008-02-04  Dan Williams  <dcbw@redhat.com>
6360
6361         * system-settings/plugins/ifcfg-fedora/plugin.c
6362                 - Change reported name to 'ifcfg-fedora'
6363                 - Use IFCFG_PLUGIN_NAME
6364
6365         * system-settings/plugins/ifcfg-fedora/plugin.c
6366                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
6367
6368 2008-02-04  Dan Williams  <dcbw@redhat.com>
6369
6370         * system-settings/plugins/ifcfg-fedora/parser.c
6371                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
6372                 - (make_connection_setting): use get_ifcfg_name()
6373                 - (make_wireless_security_setting): handle shadow key files
6374                 - (get_one_wep_key): treat empty string as NULL
6375
6376 2008-02-04  Dan Williams  <dcbw@redhat.com>
6377
6378         * src/supplicant-manager/nm-supplicant-manager.c
6379                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
6380                         glib automatically reschedule
6381                 - (nm_supplicant_manager_init): immediately try to start the supplicant
6382                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
6383                         the supplicant
6384
6385 2008-02-01  Dan Williams  <dcbw@redhat.com>
6386
6387         * src/NetworkManagerPolicy.c
6388                 - (device_state_changed): schedule a change check when a device gets
6389                         deactivated so something happens if you disconnect GSM/CDMA
6390
6391 2008-01-31  Dan Williams  <dcbw@redhat.com>
6392
6393         * src/nm-device-802-11-wireless.h
6394           src/nm-device-802-11-wireless.c
6395                 - (ap_list_get_ap_by_ssid, is_associated,
6396                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
6397                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
6398                 - (nm_device_802_11_wireless_get_activation_ap): collapse
6399                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
6400                         function
6401
6402 2008-01-30  Dan Williams  <dcbw@redhat.com>
6403
6404         * system-settings/plugins/ifcfg
6405         * system-settings/plugins/ifcfg-fedora
6406                 - Move the ifcfg plugin to ifcfg-fedora
6407
6408 2008-01-24  Dan Williams  <dcbw@redhat.com>
6409
6410         * libnm-glib/nm-device-802-11-wireless.c
6411                 - (get_access_point): move the "/" check here; check for invalid path
6412                         too
6413                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
6414                         to get_access_point()
6415                 - (access_point_added_proxy, access_point_removed_proxy): don't try
6416                         to send signals for non-existent access points
6417
6418 2008-01-24  Dan Williams  <dcbw@redhat.com>
6419
6420         * libnm-glib/nm-device-802-11-wireless.c
6421                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
6422
6423 2008-01-23  Dan Williams  <dcbw@redhat.com>
6424
6425         * libnm-glib/libnm_glib.c
6426                 - (libnm_glib_init): make thread joinable
6427                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
6428
6429 2008-01-23  Dan Williams  <dcbw@redhat.com>
6430
6431         * test/libnm_glib_test.c
6432                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
6433                 - (main): set up signal handlers; call libnm_glib_shutdown
6434
6435 2008-01-21  Dan Williams  <dcbw@redhat.com>
6436
6437         * include/NetworkManager.h
6438                 - Add CDMA mobile broadband card device type
6439
6440         * src/nm-hal-manager.c
6441                 - (modem_device_creator): handle both CDMA and GSM modems; the device
6442                         must now be tagged with 'cdma' or 'gsm' capability
6443
6444         * src/nm-cdma-device.c
6445           src/nm-cdma-device.h
6446           src/Makefile.am
6447                 - Add the CDMA mobile broadband card device class
6448
6449         * libnm-util/nm-connection.c
6450                 - (register_default_settings): add NMSettingCdma
6451
6452         * libnm-util/nm-setting-cdma.c
6453           libnm-util/nm-setting-cdma.h
6454           libnm-util/Makefile.am
6455                 - Add the CDMA mobile broadband card setting class
6456
6457         * libnm-glib/nm-cdma-device.c
6458           libnm-glib/nm-cdma-device.h
6459           libnm-glib/Makefile.am
6460                 - Add the CDMA mobile broadband card GLib proxy class
6461
6462         * libnm-glib/nm-client.c
6463                 - (get_device): handle CDMA devices too
6464
6465 2008-01-21  Dan Williams  <dcbw@redhat.com>
6466
6467         * src/ppp-manager/nm-ppp-manager.c
6468                 - (ip4_config_get): set peer address too
6469
6470         * src/ppp-manager/nm-pppd-plugin.c
6471                 - (nm_ip_up): try harder to get the peer's address
6472
6473         * src/NetworkManagerSystem.c
6474                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
6475                         address, use that too.  Otherwise, some PPP connections won't work.
6476
6477 2008-01-19  Dan Williams  <dcbw@redhat.com>
6478
6479         * src/NetworkManagerPolicy.c
6480                 - (nm_policy_device_change_check): system connections override user
6481                         connections; don't activate a user connection if there's a currently
6482                         active system connection, and new, better system connections always
6483                         interrupt user connections
6484
6485 2008-01-19  Dan Williams  <dcbw@redhat.com>
6486
6487         * src/nm-manager.h
6488                 - (nm_manager_get_connection_type): new function
6489
6490 2008-01-19  Dan Williams  <dcbw@redhat.com>
6491
6492         * src/nm-device-802-11-wireless.c
6493                 - (real_get_best_connection): collapse find_best_connection() into this
6494                         function
6495
6496 2008-01-19  Dan Williams  <dcbw@redhat.com>
6497
6498         * src/nm-device-802-3-ethernet.c
6499                 - (real_get_best_connection): collapse find_best_connection() into this
6500                         function
6501
6502 2008-01-18  Dan Williams  <dcbw@redhat.com>
6503
6504         * src/nm-device-802-3-ethernet.c
6505                 - (find_best_connection): check MAC address too
6506                 - (real_get_best_connection): let autoconnect=True connections activate
6507                         for devices that don't have carrier detection
6508
6509         * src/nm-device-802-11-wireless.c
6510                 - (find_best_connection): check MAC address too
6511
6512 2008-01-18  Dan Williams  <dcbw@redhat.com>
6513
6514         * system-settings/plugins/ifcfg/parser.c
6515                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
6516
6517 2008-01-17  Dan Williams  <dcbw@redhat.com>
6518
6519         * src/nm-device-802-3-ethernet.c
6520                 - (nm_device_802_3_ethernet_carrier_on,
6521                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
6522                         carrier events that might come in for devices that don't support
6523                         carrier detect
6524
6525 2008-01-17  Dan Williams  <dcbw@redhat.com>
6526
6527         * src/nm-device-interface.c
6528                 - (nm_device_interface_check_connection_conflicts): need to actually
6529                         get the interface, not cast to the object
6530
6531         * src/nm-device.c
6532                 - (nm_device_check_connection_conflicts): need to get the device class,
6533                         not cast the device to the device class
6534
6535 2008-01-17  Dan Williams  <dcbw@redhat.com>
6536
6537         * src/nm-device-802-11-wireless.c
6538                 - (real_check_connection_conflicts): ignore connections that aren't
6539                         wireless connections
6540
6541 2008-01-17  Dan Williams  <dcbw@redhat.com>
6542
6543         * src/NetworkManagerPolicy.c
6544                 - (nm_policy_device_change_check): clear change check idle here
6545                 - (device_change_check_done): remove
6546                 - (schedule_change_check): simplify
6547
6548 2008-01-17  Dan Williams  <dcbw@redhat.com>
6549
6550         * src/nm-manager.c
6551                 - (check_connection_allowed): take an NMDeviceInterface instead of
6552                         an NMDevice object as an argument
6553                 - (nm_manager_activate_device): pass an NMDeviceInterface to
6554                         check_connection_allowed()
6555
6556 2008-01-13  Dan Williams  <dcbw@redhat.com>
6557
6558         * libnm-glib/nm-device-802-11-wireless.c
6559                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
6560
6561 2008-01-12  Dan Williams  <dcbw@redhat.com>
6562
6563         * src/nm-device-802-11-wireless.c
6564                 - (activation_success_handler): if a match was found in the scan list
6565                         and that match is a hidden AP, update that AP's SSID
6566
6567 2008-01-11  Dan Williams  <dcbw@redhat.com>
6568
6569         * src/NetworkManagerAP.c
6570                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
6571
6572         * src/nm-device-802-11-wireless.c
6573                 - (get_active_ap): do two passes over the scan list if the caller
6574                         requests that hidden APs get matched too; during the second pass
6575                         when matching hidden APs, ignore the SSID since hidden APs in the
6576                         scan list don't have an SSID yet
6577                 - (periodic_update): move some checks to
6578                         nm_device_802_11_periodic_update() because not all callers need them
6579                 - (nm_device_802_11_periodic_update): move some checks here from
6580                         perodic_update()
6581                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
6582                         matching on incoming scan results, because the fake AP's flags
6583                         might be slightly different (yet still compatible) with the incoming
6584                         scan result's flags and they might actually be the same AP; update
6585                         the rate on merged APs too
6586                 - (activation_success_handler): update the frequency of the fake AP
6587                         on successful connection; match hidden APs too since if the
6588                         current AP is fake, there might already be a scan result in the
6589                         scan list for the desired AP, just without it's SSID filled in yet
6590
6591 2008-01-10  Dan Williams  <dcbw@redhat.com>
6592
6593         * src/NetworkManagerAP.c
6594                 - (foreach_property_cb): catch more hidden SSID formats
6595
6596 2008-01-10  Dan Williams  <dcbw@redhat.com>
6597
6598         Fix gnome.org #464215.  Requires the kernel patch titled
6599         "Introduce WEXT scan capabilities" but will handle the patch not being
6600         present, you'll just continue to have problems with hidden SSIDs when
6601         using mac80211-based drivers.
6602
6603         * src/supplicant-manager/nm-supplicant-config.h
6604           src/supplicant-manager/nm-supplicant-config.c
6605                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
6606                         whether the driver supports SSID scans or not.  If it does, and if
6607                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
6608
6609         * src/nm-device-802-11-wireless.c
6610                 - (constructor): check whether or not the driver supports SSID scans
6611                 - (build_supplicant_config): pass driver SSID scan capability when
6612                         building the wireless bits of the supplicant config
6613
6614 2008-01-09  Dan Williams  <dcbw@redhat.com>
6615
6616         * src/nm-device.c
6617           src/nm-device.h
6618                 - (device_activation_precheck, check_connection_complete): remove this
6619                         virtual function; incomplete connections should be invalid by
6620                         definition, complete-ness should be checked in the setting's
6621                         verify function
6622
6623         * src/nm-serial-device.c
6624           src/nm-gsm-device.c
6625                 - (real_check_connection_complete): remove
6626
6627         * libnm-util/nm-setting-serial.c
6628                 - (verify): new function; ensure there is a PPP setting too
6629
6630         * libnm-util/nm-setting-gsm.c
6631                 - (verify): ensure there is a serial setting too
6632
6633 2008-01-06  Dan Williams  <dcbw@redhat.com>
6634
6635         * src/dhcp-manager/nm-dhcp-manager.c
6636                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
6637                         (gnome.org #332953)
6638
6639 2008-01-04  Dan Williams  <dcbw@redhat.com>
6640
6641         * src/named-manager/nm-named-manager.c
6642                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
6643                         nameservers if the secondary config doesn't have any
6644                         (gnome.org #346833)
6645
6646 2008-01-02  Tambet Ingo  <tambet@gmail.com>
6647
6648         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
6649         with G_PARAM_CONSTRUCT so that they get the default values.
6650
6651         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
6652         the monitoring device and prints out the output for now. Or more precicely, doesn't
6653         do absolutely anything right now since the montoring device argument is never set.
6654
6655         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
6656         requires it's own knob to turn it on.
6657         (config_fd): Add NMSettingSerial to the arguments list.
6658         (nm_serial_device_open): Ditto.
6659         (get_reply_got_data): Ignore the terminators at the beginning of the output.
6660         (nm_serial_device_get_io_channel): Implement.
6661
6662         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
6663         a new reference every time (and forgetting to release it sometimes) is a pain and
6664         it's not like NMManager could work without dbus.
6665         (nm_manager_add_device): Register the added device on dbus here.
6666
6667         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
6668         device.
6669
6670         * src/nm-device.c (constructor): Don't export the device here, instead export
6671         it when it's added to the NMManager's device list.
6672
6673 2007-12-31  Dan Williams  <dcbw@redhat.com>
6674
6675         * src/nm-device-interface.c
6676           src/nm-device-interface.h
6677                 - (nm_device_interface_check_connection_conflicts): new function
6678
6679         * src/nm-device.c
6680           src/nm-device.h
6681                 - (nm_device_check_connection_conflicts): new function
6682                 - (device_activation_precheck): don't require subclasses to implement
6683                         check_connection_complete()
6684                 - check_connection() -> check_connection_complete()
6685
6686         * src/nm-device-802-11-wireless.c
6687                 - (real_check_connection): remove; unused
6688                 - (real_check_connection_conflicts): implement, handle lockdown for
6689                         system connections
6690
6691         * src/nm-device-802-3-ethernet.c
6692                 - (real_check_connection): remove; unused
6693
6694         * src/nm-manager.c
6695                 - (check_connection_allowed): new function
6696                 - (nm_manager_activate_device): ensure the connection being requested
6697                         is allowed to be activated
6698
6699         * src/nm-serial-device.c
6700           src/nm-gsm-device.c
6701                 - real_check_connection() -> real_check_connection_complete()
6702
6703 2007-12-27  Dan Williams  <dcbw@redhat.com>
6704
6705         * src/nm-device-interface.c
6706           src/nm-device-interface.h
6707                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
6708                         normalize and expand errors
6709                 - (nm_device_interface_init): register errors so they can be marshalled
6710                         through dbus-glib
6711                 - (nm_device_interface_activate): ensure that failure of activation
6712                         returns an error
6713
6714         * src/nm-device.c
6715           src/nm-device.h
6716                 - (device_activation_precheck): implementations of check_connection()
6717                         now take a GError and must fill it in if the check fails.  Return
6718                         more descriptive error if the requested connection is already
6719                         activating
6720                 - (nm_device_activate): actually try to return descriptive errors on
6721                         failures
6722
6723         * src/nm-device-802-11-wireless.c
6724           src/nm-device-802-3-ethernet.c
6725           src/nm-serial-device.c
6726           src/nm-gsm-device.c
6727                 - (real_check_connection): return more descriptive errors on failure
6728
6729         * src/NetworkManagerPolicy.c
6730                 - (nm_policy_device_change_check): print activation errors in the logs
6731
6732         * src/nm-manager.c
6733                 - (nm_manager_error_quark, nm_manager_error_get_type,
6734                    nm_manager_class_init): new errors
6735                 - (nm_manager_activate_device): handle errors
6736                 - (nm_manager_error_new): removed
6737                 - (wait_for_connection_expired, connection_added_default_handler,
6738                    impl_manager_activate_device): better error handling
6739
6740 2007-12-27  Dan Williams  <dcbw@redhat.com>
6741
6742         Fixes gnome.org #466954
6743
6744         * src/supplicant-manager/nm-supplicant-settings-verify.c
6745                 - Allow 'frequency' network property
6746
6747         * src/supplicant-manager/nm-supplicant-config.c
6748           src/supplicant-manager/nm-supplicant-config.h
6749                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
6750                         for callers to specify the frequency an Ad-Hoc network should operate
6751                         on.  Some drivers require this to successfully create an Ad-Hoc
6752                         network.
6753
6754         * src/nm-device-802-11-wireless.c
6755                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
6756                         guint32 value in MHz
6757                 - (constructor, nm_device_802_11_wireless_get_frequency): use
6758                         iw_freq_to_uint32()
6759                 - (find_supported_frequency): new function; find a free supported
6760                         frequency for a user-created Ad-Hoc network
6761                 - (build_supplicant_config): if no frequency was specified for a user-
6762                         created Ad-Hoc network, find a free one to use
6763                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
6764                         a specific object as user-created
6765
6766 2007-12-27  Dan Williams  <dcbw@redhat.com>
6767
6768         * libnm-util/nm-utils.c
6769           libnm-util/nm-utils.h
6770                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
6771                         for adhoc networks
6772
6773 2007-12-24  Dan Williams  <dcbw@redhat.com>
6774
6775         * libnm-util/nm-setting-wireless.c
6776                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
6777                         185, 187, 188, 192, and 196
6778
6779 2007-12-24  Dan Williams  <dcbw@redhat.com>
6780
6781         * src/nm-device-802-11-wireless.c
6782                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
6783                         a channel # instead of a frequency
6784
6785 2007-12-24  Dan Williams  <dcbw@redhat.com>
6786
6787         * src/NetworkManagerAP.c
6788           src/NetworkManagerAP.h
6789                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
6790                 - (freq_to_channel): handle split band tables
6791                 - (channel_to_freq): handle split band tables, take a band argument
6792
6793 2007-12-24  Dan Williams  <dcbw@redhat.com>
6794
6795         * libnm-util/nm-setting-connection.h
6796           libnm-util/nm-setting-connection.c
6797                 - Add 'lockdown' member
6798
6799 2007-12-22  Dan Williams  <dcbw@redhat.com>
6800
6801         * libnm-util/nm-setting-wireless.c
6802                 - (nm_setting_wireless_class_init): add missing 'rate' property
6803                         specification
6804
6805 2007-12-18  Dan Williams  <dcbw@redhat.com>
6806
6807         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
6808
6809         * src/nm-netlink-monitor.c
6810           src/nm-netlink-monitor.h
6811                 - Remove handrolled netlink, use libnl instead
6812
6813         * src/nm-device-802-3-ethernet.c
6814                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6815                    nm_device_802_3_ethernet_carrier_on): use new names
6816
6817 2007-12-17  Dan Williams  <dcbw@redhat.com>
6818
6819         * configure.in
6820                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6821                         and fixes memory leaks)
6822
6823         * src/nm-netlink.c
6824                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6825                         automatically handle the netlink PID
6826
6827 2007-12-17  Dan Williams  <dcbw@redhat.com>
6828
6829         Patch from Michael Biebl <biebl@debian.org>
6830
6831         * configure.in
6832           src/ppp-manager/Makefile.am
6833                 - fix up install dir of pppd plugin
6834                 - clean up configure.in a bit
6835
6836 2007-12-12  Dan Williams  <dcbw@redhat.com>
6837
6838         * system-settings/src/nm-system-settings.conf
6839                 - Allow non-root clients (like the applet) to read settings
6840
6841 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6842
6843         * Replace all occurences of 'UMTS' with 'GSM'.
6844
6845 2007-12-07  Dan Williams  <dcbw@redhat.com>
6846
6847         * src/nm-serial-device.c
6848                 - (real_is_up): serial devices are always "up"
6849
6850 2007-12-07  Dan Williams  <dcbw@redhat.com>
6851
6852         * src/nm-netlink.c
6853           src/NetworkManagerSystem.c
6854                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6855                         twice (gnome.org #491047)
6856                 - Make more robust against allocation-related failures should they occur
6857
6858 2007-12-07  Dan Williams  <dcbw@redhat.com>
6859
6860         Noticed by Christian Persch <chpe@gnome.org>
6861
6862         Always chain up to parent object in dispose and finalize handlers.
6863                 (gnome.org #433112)
6864
6865 2007-12-07  Dan Williams  <dcbw@redhat.com>
6866
6867         * src/nm-device-802-11-wireless.c
6868                 - Wrap #include of linux/mii.h to fix redefined structures due to
6869                         incorrect kernel headers (gnome.org #350061)
6870
6871 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6872
6873         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6874         before doing anything else.
6875         (init_modem): Move modem initialization here.
6876
6877         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6878         (nm_serial_device_flash): Implement.
6879
6880         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6881         changes signal is "StateChanged" and not "Status".
6882         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6883
6884 2007-12-06  Dan Williams  <dcbw@redhat.com>
6885
6886         * src/supplicant-manager/nm-supplicant-config.c
6887                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6888                         to only send some options when they make sense; also send phase2
6889                         option to the supplicant (possible fix for rh #399631)
6890
6891 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6892
6893         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6894         arguments: This whole file shouldn't really know anything about NMDevices, it
6895         should deal only with device interfaces. Devices might have different ifaces for
6896         different stuff and this place shouldn't know anything about it.
6897
6898         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6899         (global_state_changed): Implement. In the current NM it's not really important,
6900         but will be required in the case of multiple active devices. (Or even better,
6901         if stuff like that gets moved out from NM).
6902
6903         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6904         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6905         instead.
6906
6907         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6908         devices like serial devices (ttyS0 and ppp0 for example).
6909         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6910         set.
6911         (nm_device_set_ip_iface): Implement.
6912         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6913         after setting ip4_config from here ...
6914         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6915         than this function should call nm_system_device_set_from_ip4_config() because no
6916         other code has enough information on which arguments to use. So instead, other code
6917         could just set the new ip4 config using this function and everyone is happy.
6918
6919         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6920         if we happen to get deactivated while something is pending.
6921         (automatic_registration): Handle the response that indicates pending network
6922         registration and wait until the pending registration is done.
6923         (real_deactivate_quickly): If there's a pending operation, cancel it.
6924
6925         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6926         (real_deactivate_quickly): ... and remove it when it's down.
6927         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6928         it if needed.
6929         (nm_serial_device_wait_for_reply): Ditto.
6930
6931 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6932
6933         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6934         (get_network_done): Remove newline, nm_info() does it already.
6935         (real_act_stage1_prepare): Turn the modem echo off.
6936
6937         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6938         device, set the route to the device interface. This is a hack.
6939
6940         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6941         return, no need for a new-line.
6942         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6943         Change the device iface here (ugh).
6944         (real_act_stage4_get_ip4_config): Implement.
6945         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6946         Restore the device iface.
6947
6948         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6949         device is not wired or wireless (eg, automatically upped) device.
6950
6951         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6952         it isn't.
6953         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6954
6955         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6956         before calling it's is_device_fn().
6957
6958 2007-12-05  Dan Williams  <dcbw@redhat.com>
6959
6960         * libnm-util/nm-utils.c
6961                 - (nm_utils_register_value_transformations,
6962                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6963                         GHashTables of GValues too
6964
6965 2007-12-04  Dan Williams  <dcbw@redhat.com>
6966
6967         * initscript/RedHat/NetworkManager.in
6968                 - No longer start named; it's D-Bus interface is going away
6969
6970 2007-12-04  Dan Williams  <dcbw@redhat.com>
6971
6972         Patch from Michael Biebl <biebl@debian.org>
6973
6974         * system-settings/plugins/ifcfg/Makefile.am
6975           system-settings/src/main.c
6976           system-settings/src/Makefile.am
6977                 - Put system settings plugins in NM plugins dir
6978
6979         * src/ppp-manager/Makefile.am
6980           src/ppp-manager/nm-ppp-manager.c
6981                 - Move pppd plugin to NM plugins dir
6982
6983 2007-12-04  Dan Williams  <dcbw@redhat.com>
6984
6985         * libnm-util/nm-setting-vpn-properties.h
6986                 - Clarify usage of the 'data' member of the setting
6987
6988         * libnm-util/nm-setting-vpn-properties.c
6989                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6990                 - (set_property): just remove all the settings; don't recreate the has
6991                 - (update_one_secret): don't need to create the hash table here since
6992                         it should always be present
6993
6994 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6995
6996         Implement PIN and PUK requesting.
6997
6998         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6999         (enter_pin): Handle PIN and PUK requests.
7000         (real_act_stage1_prepare): Clear the secret type.
7001         (real_connection_secrets_updated): Implement this class method to get
7002         notified when new secrets arrive.
7003         (nm_umts_device_class_init): Add private data back to the umts device class
7004         to store the required secret type.
7005
7006 2007-12-01  Dan Williams  <dcbw@redhat.com>
7007
7008         * system-settings/plugins/ifcfg/parser.c
7009                 - (parser_parse_file): don't try to verify NULL connections
7010
7011 2007-12-01  Dan Williams  <dcbw@redhat.com>
7012
7013         * system-settings/src/main.c
7014                 - (load_connections, add_connection_to_settings): actually export
7015                         plugin-provided connections over D-Bus so NM can get them
7016
7017 2007-12-01  Dan Williams  <dcbw@redhat.com>
7018
7019         * system-settings/plugins/ifcfg/parser.c
7020           system-settings/plugins/ifcfg/parser.h
7021           system-settings/plugins/ifcfg/plugin.c
7022                 - Hook up more inotify bits (untested)
7023
7024 2007-11-29  Dan Williams  <dcbw@redhat.com>
7025
7026         * system-settings/src/nm-system-config-interface.h
7027           system-settings/src/nm-system-config-interface.c
7028                 - (nm_system_config_interface_init,
7029                    nm_system_config_interface_get_connections): add
7030
7031         * system-settings/src/main.c
7032                 - (load_plugins, load_connections, main): use a GSList for plugins
7033                         to ensure priority ordering
7034
7035         * system-settings/plugins/ifcfg/parser.c
7036                 - (ifcfg_error_quark): move to plugin.c, and rename
7037
7038         * system-settings/plugins/ifcfg/plugin.h
7039           system-settings/plugins/ifcfg/plugin.c
7040                 - (ifcfg_plugin_error_quark): move here from parser.c
7041                 - rework connection loading and initialization
7042                 - Add preliminary inotify support for network profile config file
7043
7044 2007-11-28  Tambet Ingo  <tambet@gmail.com>
7045
7046         Merge the beginnings of the new GSM card support.
7047
7048         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
7049         ppp watch source before killing pppd - If this happens from g_object_unref()
7050         then the ppp manager is already destroyed by the time the watch callback runs.
7051
7052         * src/nm-hal-manager.c: Add a device_type_name string to the device
7053         creators, so that we can print a nice human readable string when a
7054         device is added.
7055
7056         * src/nm-umts-device.c (automatic_registration_get_network): Query
7057         for the activated network, not much is done with the result thought.
7058
7059         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
7060         (ppp_ip4_config): Change the device state to activated here for now.
7061         (real_check_connection): Make sure the connection includes ppp setting.
7062
7063         * libnm-glib/nm-client.c (get_device): Handle umts devices.
7064
7065         * libnm-glib/Makefile.am: Add the new files to build.
7066
7067         * libnm-glib/nm-umts-device.c: 
7068         * libnm-glib/nm-umts-device.h: Implement.
7069
7070 2007-11-26  Tambet Ingo  <tambet@gmail.com>
7071
7072         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
7073         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
7074
7075         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
7076         the timeout source - this function is only called when the timeout source has
7077         been removed.
7078         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
7079         to be big enough to contain the terminating zero element as well.
7080         The timeout argument is meant to be in seconds now.
7081         (real_deactivate_quickly): Implement.
7082
7083         * src/NetworkManager.conf: Allow root to own 
7084         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
7085
7086         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
7087         (not unsigned ints).
7088
7089         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
7090         small issue with parity bounds - capital letters have lower ascii codes
7091         than lower case letters.
7092
7093         * libnm-util/nm-connection.c (register_default_settings): Register serial
7094         and umts settings.
7095
7096 2007-11-22  Tambet Ingo  <tambet@gmail.com>
7097
7098         Remove the "index" property from devices as not all device types have this.
7099
7100         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
7101
7102         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
7103         (wired_device_creator): Get the device interface from hal to create the device.
7104         (wireless_device_creator): Ditto.
7105
7106         * src/nm-device.c (nm_device_init): Remove the index member.
7107         (constructor): Remove the checks for index property, make interface property
7108         a require constructor property.
7109         Use the HAL udi for DBus path for devices.
7110         (nm_device_get_index): Remove.
7111         (set_property): Remove index handling.
7112         (get_property): Ditto.
7113         (nm_device_get_dbus_path): Remove.
7114
7115         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
7116         property.
7117
7118         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
7119         Access the device index through it's interface.
7120         (nm_device_802_3_ethernet_link_deactivated): Ditto.
7121         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
7122         index argument. Add interface argument.
7123
7124         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
7125         the useless test_dev argument. Remove index argument. Add interface arugment.
7126
7127         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
7128         device index through interface.
7129         (nm_system_set_mtu): Ditto.
7130
7131         * introspection/nm-device.xml: Remove the "Index" property.
7132
7133 2007-11-21  Tambet Ingo  <tambet@gmail.com>
7134
7135         * src/nm-serial-device.c: 
7136         * src/nm-serial-device.c: 
7137         * src/nm-umts-device.c:
7138         * src/nm-umts-device.h: Implement.
7139
7140         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
7141         allocated by libhal.
7142         (modem_device_creator): Implement.
7143         (register_built_in_creators): Register the modem creator.
7144
7145         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
7146         Remove the unused test_dev argument.
7147
7148         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
7149
7150         * src/Makefile.am: Add new files to build.
7151         Link in ppp-manager.
7152
7153         * libnm-util/nm-setting-umts.c: 
7154         * libnm-util/nm-setting-umts.h: 
7155         * libnm-util/nm-setting-serial.c: 
7156         * libnm-util/nm-setting-serial.h: Implement.
7157
7158         * libnm-util/Makefile.am: Add new files to build.
7159
7160 2007-11-28  Dan Williams  <dcbw@redhat.com>
7161
7162         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
7163
7164         Support DHCP-provided static routes.
7165
7166         * src/nm-ip4-config.h
7167           src/nm-ip4-config.c
7168                 - Add get/set functions for static routes
7169
7170         * src/dhcp-manager/nm-dhcp-manager.c
7171                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
7172                         DHCP response
7173
7174         * src/NetworkManagerSystem.c
7175                 - (nm_system_device_set_from_ip4_config): set any static routes on the
7176                         interface when applying the IP4Config
7177
7178 2007-11-28  Dan Williams  <dcbw@redhat.com>
7179
7180         * src/nm-device-802-11-wireless.c
7181                 - (real_act_stage1_prepare): mark APs created for hidden networks
7182                         as non-broadcasting
7183
7184 2007-11-27  Dan Williams  <dcbw@redhat.com>
7185
7186         * system-settings/src/nm-system-config-interface.h
7187                 - Note how to store secrets on NMSetting objects
7188
7189         * system-settings/src/dbus-settings.c
7190                 - (connection_settings_get_secrets): implement
7191
7192 2007-11-27  Dan Williams  <dcbw@redhat.com>
7193
7194         * system-settings/plugins/ifcfg/Makefile.am
7195           system-settings/plugins/ifcfg/parser.c
7196           system-settings/plugins/ifcfg/parser.h
7197           system-settings/plugins/ifcfg/plugin.c
7198                 - Parse wireless connections too
7199
7200         * system-settings/src/dbus-settings.c
7201           system-settings/src/dbus-settings.h
7202           system-settings/src/main.c
7203                 - Handle connection update/removal if the plugin supports it
7204
7205 2007-11-27  Dan Williams  <dcbw@redhat.com>
7206
7207         * src/nm-dbus-manager.h
7208           src/nm-hal-manager.c
7209                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
7210                         do it for them
7211
7212         * src/Makefile.am
7213           src/NetworkManagerDbusUtils.c
7214           src/NetworkManagerDbusUtils.h
7215                 - Remove these two source files; they are unused
7216
7217 2007-11-27  Dan Williams  <dcbw@redhat.com>
7218
7219         * src/vpn-manager/nm-vpn-manager.c
7220                 - (impl_vpn_manager_connect): fix system settings check (found by
7221                         James M. Leddy)
7222
7223 2007-11-26  Dan Williams  <dcbw@redhat.com>
7224
7225         * Fix warnings so everything compiles with --enable-more-warnings
7226
7227 2007-11-25  Dan Williams  <dcbw@redhat.com>
7228
7229         * system-settings/*
7230                 - Rework structure and code to use GModule-loaded plugins and a plugin
7231                         interface that plugins export to the system settings service
7232
7233 2007-11-21  Dan Williams  <dcbw@redhat.com>
7234
7235         * system-settings/*
7236                 - Add Soren's system settings service.  Needs work for distros other
7237                         than Fedora; the backends from NM should mostly migrate to here
7238                         and be converted to GObjects
7239
7240 2007-11-21  Dan Williams  <dcbw@redhat.com>
7241
7242         * libnm-util/nm-setting-vpn-properties.c
7243                 - (set_property): must deep-copy the given settings hash, otherwise
7244                         double-free errors occur when the setting is disposed of
7245
7246 2007-11-21  Dan Williams  <dcbw@redhat.com>
7247
7248         * src/vpn-manager/nm-vpn-act-request.h
7249           src/vpn-manager/nm-vpn-act-request.c
7250                 - Remove; unused
7251
7252 2007-11-20  Dan Williams  <dcbw@redhat.com>
7253
7254         * libnm-util/nm-utils.c
7255                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
7256                    nm_utils_convert_ip4_addr_struct_array_to_string,
7257                    nm_utils_register_value_transformations): print out the readable
7258                         values of more types of properties of NMSettings subclasses
7259
7260 2007-11-20  Dan Williams  <dcbw@redhat.com>
7261
7262         * libnm-util/nm-setting-ip4-config.c
7263                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
7264                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
7265                         marshal GValueArrays inside collections, so switch to types that it
7266                         can actually marshal/demarshal
7267
7268 2007-11-16  Dan Williams  <dcbw@redhat.com>
7269
7270         * libnm-util/nm-setting-wireless-security.c
7271                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
7272                         minimal verification of EAP methods too
7273                 - (verify): verify phase1 eap methods too
7274
7275 2007-11-15  Dan Williams  <dcbw@redhat.com>
7276
7277         * libnm-glib/nm-device.h
7278           libnm-glib/nm-device.c
7279                 - (nm_device_get_product, nm_device_get_vendor): should be returning
7280                         const char *
7281
7282 2007-11-15  Dan Williams  <dcbw@redhat.com>
7283
7284         * libnm-glib/nm-device.c
7285                 - (get_product_and_vendor): don't try to free things that should be
7286                         freed
7287
7288 2007-11-15  Dan Williams  <dcbw@redhat.com>
7289
7290         * src/NetworkManagerUtils.c
7291                 - (nm_ethernet_address_is_valid): unbreak previous fix
7292
7293 2007-11-15  Dan Williams  <dcbw@redhat.com>
7294
7295         * src/supplicant-manager/nm-supplicant-config.c
7296                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
7297                         options
7298
7299 2007-11-15  Dan Williams  <dcbw@redhat.com>
7300
7301         * src/NetworkManagerUtils.c
7302                 - (nm_ethernet_address_is_valid): fix style, clarify
7303                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
7304
7305         * src/nm-device-802-11-wireless.c
7306                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
7307                 - (nm_device_802_11_wireless_get_ssid,
7308                    nm_device_802_11_wireless_get_bssid,
7309                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
7310                         before calling the ioctl; fixes valgrind-reported jump depends on
7311                         uninitialized value errors
7312
7313 2007-11-15  Dan Williams  <dcbw@redhat.com>
7314
7315         * libnm-util/nm-setting.c
7316                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
7317                         unecessary to serialize 'name'
7318
7319         * src/nm-activation-request.c
7320                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
7321                         the GetSecrets call
7322
7323 2007-11-15  Dan Williams  <dcbw@redhat.com>
7324
7325         * libnm-util/nm-setting-connection.h
7326           libnm-util/nm-setting-connection.c
7327                 - Rename the 'name' property to 'id', because it conflicted with the
7328                         NMSetting superclass' 'name' property.
7329
7330         * libnm-util/nm-setting.c
7331                 - (nm_setting_to_hash): serialize the 'name' property
7332                 - (one_property_cb): ignore 'name' on deserialization of a connection
7333
7334         * src/nm-device-802-11-wireless.c
7335           src/vpn-manager/nm-vpn-connection.c
7336           src/NetworkManagerPolicy.c
7337                 - Fix up for NMSettingConnection 'name'->'id' changes
7338
7339 2007-11-13  Dan Williams  <dcbw@redhat.com>
7340
7341         * libnm-glib/nm-device-802-11-wireless.h
7342           libnm-glib/nm-device-802-11-wireless.c
7343                 - (nm_device_802_11_wireless_get_hw_address): return should be const
7344
7345         * test/nm-tool.c
7346           libnm-glib/libnm-glib-test.c
7347                 - Fixes for above change
7348
7349 2007-11-12  Dan Williams  <dcbw@redhat.com>
7350
7351         * src/supplicant-manager/nm-supplicant-settings-verify.c
7352                 - Allow fragment_size option
7353
7354         * src/supplicant-manager/nm-supplicant-settings-verify.c
7355                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
7356                         EAP fragment size than the default to help some TLS connections
7357
7358 2007-11-12  Dan Williams  <dcbw@redhat.com>
7359
7360         Make certs actually work.  The private key is now a secret, and should be
7361         decrypted when requested by NM.  The private key and phase2 private key
7362         passwords are no longer interesting to NM because they should be used by
7363         the settings service to decrypt the private key itself before passing it
7364         to NM, and hence have been removed as fields.
7365
7366         * libnm-util/nm-setting-wireless-security.h
7367           libnm-util/nm-setting-wireless-security.c
7368                 - Remove private-key-passwd and phase2-private-key-passwd from
7369                         properties
7370                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
7371                    need_secrets): use property #defines instead strings to keep things
7372                         consistent
7373                 - (need_secrets_tls): if a client certificate is present but no
7374                         private key, request the private key
7375                 - (set_property, get_property, nm_setting_wireless_security_class_init):
7376                         remove private key password stuff, mark private keys as secret
7377
7378         * src/supplicant-manager/nm-supplicant-settings-verify.c
7379                 - Remove private_key_passwd and private_key2_passwd from opt_table
7380
7381 2007-11-09  Dan Williams  <dcbw@redhat.com>
7382
7383         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
7384         Since the vpn-properties are managed and known by the VPN daemons themselves,
7385         libnm-util doesn't know what's secret and what's in the setting's 'data'
7386         member.
7387
7388         * libnm-util/nm-setting.h
7389           libnm-util/nm-setting.c
7390                 - Add the ability for subclasses to override update_one_secret
7391
7392         * libnm-util/nm-setting-vpn-properties.c
7393                 - Override update_one_secret and just copy the values into the
7394                         internal table
7395
7396 2007-11-09  Dan Williams  <dcbw@redhat.com>
7397
7398         * libnm-glib/nm-settings.h
7399           libnm-glib/nm-settings.c
7400                 - (nm_settings_new_error): remove
7401                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
7402                         clients should use g_set_error() with NM_SETTINGS_ERROR
7403
7404 2007-11-09  Dan Williams  <dcbw@redhat.com>
7405
7406         * src/supplicant-manager/nm-supplicant-config.c
7407                 - (nm_supplicant_config_add_setting_wireless_security): private key
7408                         passwords are never sent to wpa_supplicant, because the supplicant
7409                         should never be reading random files from the disk.  Clients like
7410                         the applet are required to decrypt the private keys and send NM
7411                         the decrypted blobs.
7412
7413 2007-11-08  Dan Williams  <dcbw@redhat.com>
7414
7415         * libnm-util/nm-setting-wireless-security.h
7416           libnm-util/nm-setting-wireless-security.c
7417                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
7418                         members to 802-11-wireless-security structure.  This should be used
7419                         to indicate that the values in private-key and phase2-private-key
7420                         are already decrypted by the user agent, and that no
7421                         private-key-passwd or phase2-private-key-passwd should be expected.
7422                         It is not meant to be a stored configuration value, but meant to
7423                         be set when the conneciton is sent to NM over dbus.
7424
7425 2007-11-08  Dan Williams  <dcbw@redhat.com>
7426
7427         * libnm-util/nm-connection.h
7428           libnm-util/nm-connection.c
7429                 - (nm_connection_need_secrets): add argument to return hints
7430
7431         * src/nm-device-802-11-wireless.c
7432                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7433                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
7434                         nm_connection_need_secrets() change
7435
7436 2007-11-07  Tambet Ingo  <tambet@gmail.com>
7437
7438         Rework NMSetting structures: Move each setting to it's own file.
7439         Convert to GObject. Remove home grown setting types and use GTypes.
7440         Use GObject property introspection for hash conversion, enumerating
7441         properties, etc.
7442
7443         * libnm-util/nm-setting-connection.[ch]
7444         * libnm-util/nm-setting-ip4-config.[ch]
7445         * libnm-util/nm-setting-ppp.[ch]
7446         * libnm-util/nm-setting-vpn.[ch]
7447         * libnm-util/nm-setting-vpn-properties.[ch]
7448         * libnm-util/nm-setting-wired.[ch]
7449         * libnm-util/nm-setting-wireless.[ch]
7450         * libnm-util/nm-setting-wireless-security.[ch]
7451
7452         New files, each containing a setting.
7453
7454         * libnm-util/nm-setting-template.[ch]: A template for creating new
7455         settings. To use it, just replace 'template' with the new setting
7456         name, and you're half-way done.
7457
7458         * libnm-util/nm-setting.c: Convert to GObject and use GObject
7459         introspection instead of internal types and tables.
7460
7461         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
7462
7463         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
7464         GValue types defined by dbus-glib for composed types like collections,
7465         structures and maps.
7466
7467         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
7468         a setting from connection takes the setting type now. Also, since
7469         the settings are in multiple files, include relevant settings.
7470
7471 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
7472
7473         * configure.in:
7474         * src/backends/NetworkManagerGentoo.c:
7475         (nm_system_restart_mdns_responder): Implement restarts for other mdns
7476         providers in Gentoo.
7477
7478 2007-10-31  Dan Williams  <dcbw@redhat.com>
7479
7480         * libnm-util/nm-connection.c
7481                 - (gvalue_to_string): handle UINT32 arrays
7482
7483 2007-10-31  Dan Williams  <dcbw@redhat.com>
7484
7485         * libnm-glib/nm-device.h
7486           libnm-glib/nm-device.c
7487                 - (nm_device_get_description): remove
7488                 - (nm_device_get_product, nm_device_get_vendor): add
7489                 - (nm_device_update_description): new function (private); walk HAL
7490                         devices to get product and vendor IDs for a specific device
7491
7492 2007-10-31  Dan Williams  <dcbw@redhat.com>
7493
7494         * src/nm-device-802-11-wireless.c
7495                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
7496
7497 2007-10-29  Dan Williams  <dcbw@redhat.com>
7498
7499         * src/nm-hal-manager.c
7500                 - (device_added, device_new_capability): ignore device additions while
7501                         asleep.  Fixes crash caused when NM goes to sleep, a network device
7502                         kernel module is unloaded and reloaded and recognized by NM again.
7503
7504 2007-10-26  Dan Williams  <dcbw@redhat.com>
7505
7506         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
7507
7508         * src/NetworkManagerAP.c
7509           src/NetworkManagerAP.h
7510           libnm-glib/nm-access-point.c
7511           libnm-glib/nm-access-point.h
7512                 - Make 'rate' property a guint32 to better match with WEXT and
7513                         wpa_supplicant and to allow representation of higher bitrates
7514
7515         * src/nm-device-802-11-wireless.c
7516           introspection/nm-device-802-11-wireless.xml
7517           libnm-glib/nm-device-802-11-wireless.c
7518           libnm-glib/nm-device-802-11-wireless.h
7519                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
7520
7521         * src/nm-device-802-3-ethernet.c
7522           src/nm-device-802-3-ethernet.h
7523           introspection/nm-device-802-3-ethernet.xml
7524           libnm-glib/nm-device-802-3-ethernet.c
7525           libnm-glib/nm-device-802-3-ethernet.h
7526                 - Make 'speed' property a guint32 to match other speed/rate types
7527                 - Make nm_device_802_3_ethernet_get_speed() static
7528
7529         * test/nm-tool.c
7530                 - Update for the changes above
7531
7532 2007-10-26  Dan Williams  <dcbw@redhat.com>
7533
7534         * src/named-manager/nm-named-manager.c
7535                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
7536                     not calling fclose() twice on some error conditions
7537
7538 2007-10-26  Dan Williams  <dcbw@redhat.com>
7539
7540         * src/nm-activation-request.c
7541                 - (dispose): clean up indentation; get the right DBusGProxy object to
7542                         cancel the GetSecrets pending call on.  Need to use the Secrets
7543                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
7544                         pending call doesn't get canceled, and pressing Cancel in the
7545                         applet's password dialog could cause get_secrets_cb() to be called
7546                         after the activation request has already been destroyed
7547
7548 2007-10-24  Dan Williams  <dcbw@redhat.com>
7549
7550         * src/supplicant-manager/nm-supplicant-config.c
7551                 - (nm_supplicant_config_add_blob): pass blob data and length for
7552                         verification
7553                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
7554
7555 2007-10-24  Dan Williams  <dcbw@redhat.com>
7556
7557         * src/supplicant-manager/nm-supplicant-settings-verify.c
7558                 - (opt_table): max length for certificates should be 65536
7559
7560 2007-10-24  Dan Williams  <dcbw@redhat.com>
7561
7562         * src/supplicant-manager/nm-supplicant-interface.c
7563                 - (blob_free): correctly free blob data after use
7564                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
7565
7566 2007-10-24  Dan Williams  <dcbw@redhat.com>
7567
7568         * libnm-util/nm-setting.c
7569                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
7570                         EAP method need secrets
7571
7572 2007-10-24  Dan Williams  <dcbw@redhat.com>
7573
7574         * src/backends/NetworkManagerRedHat.c
7575                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
7576
7577 2007-10-23  Dan Williams  <dcbw@redhat.com>
7578
7579         * libnm-util/nm-setting.c
7580           libnm-util/nm-setting.c
7581                 - (nm_setting_compare): implement
7582                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
7583                    compare_one_hash_gvalue): compare the contents of a setting
7584
7585         * libnm-util/nm-connection.c
7586                 - (nm_connection_compare): implement
7587
7588 2007-10-23  Dan Williams  <dcbw@redhat.com>
7589
7590         * src/nm-activation-request.c
7591                 - (get_secrets_cb): handle getting a setting back that is more than
7592                         just secrets (ie, user changed auth or EAP method or something)
7593
7594 2007-10-23  Dan Williams  <dcbw@redhat.com>
7595
7596         * libnm-util/nm-setting.c
7597           libnm-util/nm-setting.h
7598                 - (nm_setting_verify): new function; verify one setting
7599                 - (nm_settings_verify_all): rename from nm_settings_verify()
7600                 - (setting_connection_verify, setting_wireless_verify): allow NULL
7601                         all_settings
7602
7603         * libnm-util/nm-connection.c
7604                 - (nm_connection_replace_settings, nm_connection_verify,
7605                    nm_connection_new_from_hash): handle nm_settings_verify() rename
7606
7607 2007-10-23  Dan Williams  <dcbw@redhat.com>
7608
7609         * src/nm-device-802-11-wireless.c
7610                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
7611                         desired behavior
7612
7613 2007-10-23  Dan Williams  <dcbw@redhat.com>
7614
7615         * src/supplicant-manager/nm-supplicant-settings-verify.c
7616                 - eap_allowed, phase2_allowed: harmonize with allowed values from
7617                         nm-settings.c
7618
7619 2007-10-23  Dan Williams  <dcbw@redhat.com>
7620
7621         * src/nm-device-802-11-wireless.c
7622                 - (real_act_stage2_config): after the first association failure,
7623                         if the connection still needs secrets ask the user for them
7624                         explicitly.  After the fourth association failure due to bad
7625                         secrets, fail the connection entirely.  Handles the GetSecrets
7626                         loop that NM gets into when the provided secrets don't match up
7627                         with the connection details.
7628
7629 2007-10-23  Dan Williams  <dcbw@redhat.com>
7630
7631         * src/supplicant-manager/nm-supplicant-config.c
7632                 - (nm_supplicant_config_add_setting_wireless_security): only add
7633                         WPA-specific options when WPA is in use
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): 'password'
7639                         secret doesn't need to be unhexified
7640
7641 2007-10-23  Dan Williams  <dcbw@redhat.com>
7642
7643         * libnm-util/nm-setting.c
7644                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
7645                         before trying to do something with it
7646
7647 2007-10-23  Dan Williams  <dcbw@redhat.com>
7648
7649         * src/nm-device-802-11-wireless.c
7650                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
7651
7652 2007-10-23  Dan Williams  <dcbw@redhat.com>
7653
7654         * src/nm-device-802-11-wireless.c
7655                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
7656                         non-SSID-broadcasting APs
7657
7658 2007-10-23  Dan Williams  <dcbw@redhat.com>
7659
7660         * src/NetworkManagerAP.c
7661                 - (match_cipher, security_compatible): remove
7662                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
7663                         libnm-util instead
7664
7665 2007-10-23  Dan Williams  <dcbw@redhat.com>
7666
7667         * libnm-util/nm-utils.c
7668           libnm-util/nm-utils.h
7669                 - (nm_utils_ap_security_compatible): common function for checking
7670                         whether a specific AP is compatible with an NMConnection
7671
7672 2007-10-23  Dan Williams  <dcbw@redhat.com>
7673
7674         * libnm-util/nm-setting.c
7675                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
7676                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
7677                    need_secrets_password, setting_wireless_security_verify): fix
7678                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
7679                         secrets logic for each supported EAP method
7680
7681 2007-10-23  Dan Williams  <dcbw@redhat.com>
7682
7683         * src/supplicant-manager/nm-supplicant-config.c
7684                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
7685                         config option name, should be "private_key2_passwd"
7686
7687 2007-10-22  Tambet Ingo  <tambet@gmail.com>
7688
7689         Implement support for static IP addresses, additional/overridden DNS and
7690         DNS domain search lists.
7691
7692         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
7693         (ip4_addresses_to_gvalue): Implement.
7694         (convert_array_to_byte_array): Implement.
7695         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
7696         NM_S_TYPE_IP4_ADDRESSES.
7697         (nm_setting_hash): Ditto.
7698         (default_setting_clear_secrets): Add a default case for the switch: IP address
7699         shouldn't be secret, ever.
7700         (setting_ip4_config_verify): Update, requires addresses in case of manual
7701         configurations.
7702         (setting_ip4_config_destroy): Free stuff.
7703
7704         * src/nm-device.c (merge_ip4_config): Implement.
7705         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
7706
7707 2007-10-22  Dan Williams  <dcbw@redhat.com>
7708
7709         * libnm-util/nm-setting.c
7710                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
7711                         pairwise cipher options for Dynamic WEP
7712
7713 2007-10-21  Dan Williams  <dcbw@redhat.com>
7714
7715         * src/NetworkManagerAP.c
7716           src/NetworkManagerAP.h
7717                 - Rename 'articifical' -> 'fake' since that's what they are until
7718                         noticed in scans
7719                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
7720                         from the attributes in an NMConnection object
7721                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
7722                         WPA Enterprise
7723                 - (nm_ap_match_in_list): find a matching AP in a scan list
7724
7725         * src/nm-device-802-11-wireless.c
7726                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
7727                         AP when searching the scan list; match on frequency and mode too
7728                 - (nm_device_802_11_wireless_get_frequency): implement
7729                 - (merge_scanned_ap): replace duplicate matching logic with
7730                         nm_ap_match_in_list()
7731                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
7732                         the user is trying to connect to a hidden network that is not yet
7733                         known from the scan list
7734                 - (activation_success_handler): now that the card knows the AP's BSSID,
7735                         there may already be a scanned AP in the scan list that is what
7736                         we really wanted to connect to, but didn't know at the time.  Use
7737                         that instead of the 'fake' AP created at activation start and get
7738                         rid of the 'fake' AP 
7739                 - (cull_scan_list): don't remove fake APs
7740
7741 2007-10-21  Dan Williams  <dcbw@redhat.com>
7742
7743         * src/nm-activation-request.h
7744           src/nm-activation-request.c
7745                 - (nm_act_request_set_specific_object): new function; allow setting the
7746                         specific object if one isn't set yet
7747
7748 2007-10-20  Dan Williams  <dcbw@redhat.com>
7749
7750         * src/supplicant-manager/nm-supplicant-config.h
7751           src/supplicant-manager/nm-supplicant-config.c
7752                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
7753                         table to store blobs
7754                 - (nm_supplicant_config_add_blob): new function; add blob to internal
7755                         blob hash table
7756                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
7757                 - (nm_supplicant_config_add_setting_wireless_security): handle
7758                         options that use certificates (ie, blobs)
7759
7760         * src/nm-device-802-11-wireless.c
7761                 - (build_supplicant_config): pass a UID (just use the connection path)
7762                         to the supplicant config as now required
7763
7764         * src/supplicant-manager/nm-supplicant-interface.c
7765                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
7766                         there are any blobs to send to wpa_supplicant, send those first
7767                         before sending the network configuration
7768
7769 2007-10-19  Dan Williams  <dcbw@redhat.com>
7770
7771         Split the GetSecrets() call off to a separate D-Bus interface so that it
7772         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
7773         should be able to call GetSecrets().
7774
7775         * include/NetworkManager.h
7776                 - Define the connection secrets D-Bus interface
7777
7778         * src/vpn-manager/nm-vpn-connection.c
7779                 - (clear_need_auth): get the right proxy object for the connection
7780                         secrets interface
7781                 - (get_connection_secrets): use the connection secrets proxy; send
7782                         empty hints in get secrets request
7783
7784         * src/nm-activation-request.c
7785                 - (nm_act_request_request_connection_secrets): use the connection
7786                         secrets proxy; send empty hints in get secrets request
7787
7788         * src/nm-manager.c
7789           src/nm-manager.h
7790                 - (connection_get_settings_cb): set the connection secrets proxy on
7791                         the connection object too
7792                 - (internal_new_connection_cb): create the connection secrets proxy
7793
7794         * introspection/nm-settings-connection.xml
7795                 - Define Connection.Secrets interface and move GetSecrets there
7796                 - Add a 'hints' argument to GetSecrets
7797
7798         * libnm-glib/nm-settings.c
7799           libnm-glib/nm-settings.h
7800                 - (impl_connection_settings_get_secrets): add 'hints' argument
7801
7802 2007-10-19  Dan Williams  <dcbw@redhat.com>
7803
7804         * src/nm-device.c
7805                 - (constructor): add message about what path a device is exported as
7806                         to help in debugging rh #339011
7807
7808 2007-10-17  Dan Williams  <dcbw@redhat.com>
7809
7810         * libnm-util/nm-utils.h
7811           libnm-util/nm-utils.c
7812                 - (nm_utils_security_valid): common function to help find the intersection
7813                         of capabilities of devices and (optionally) access points
7814
7815 2007-10-17  Dan Williams  <dcbw@redhat.com>
7816
7817         * src/nm-device-802-11-wireless.c
7818                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7819                         don't get erroneously cleared
7820
7821 2007-10-17  Dan Williams  <dcbw@redhat.com>
7822
7823         * src/nm-manager.h
7824           src/nm-manager.c
7825           src/nm-hal-manager.c
7826                 - (device_removed, finalize, nm_manager_remove_device,
7827                    nm_manager_sleep): add a 'deactivate' argument to 
7828                    nm_manager_remove_device() to fully deactivate devices when necessary
7829                    (ie, always except when waking up)
7830
7831 2007-10-16  Dan Williams  <dcbw@redhat.com>
7832
7833         * libnm-util/nm-setting.c
7834                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7835                         also isn't valid phase2 autheap method
7836
7837 2007-10-16  Dan Williams  <dcbw@redhat.com>
7838
7839         * libnm-glib/nm-client.c
7840                 - (update_wireless_status): consolidate updates of wireless status
7841                 - (constructor): use update_wireless_status()
7842                 - (manager_running): set wireless status off when NM goes away; requery
7843                         the wireless status when NM comes back
7844
7845 2007-10-16  Dan Williams  <dcbw@redhat.com>
7846
7847         * libnm-glib/nm-client.c
7848                 - (nm_client_activate_device): actually use the fixed-up specific
7849                         object path
7850
7851 2007-10-16  Dan Williams  <dcbw@redhat.com>
7852
7853         * src/nm-hal-manager.c
7854                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7855                         killswitch error messages once
7856
7857 2007-10-16  Dan Williams  <dcbw@redhat.com>
7858
7859         * src/nm-manager.c
7860                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7861                         if it's disabled in hardware; don't touch network devices while
7862                         NM is asleep
7863
7864 2007-10-16  Dan Williams  <dcbw@redhat.com>
7865
7866         * libnm-util/nm-client.c
7867                 - (nm_client_activate_device): convert NULL specific_object to "/",
7868                         which is used in place of NULL
7869
7870         * src/nm-manager.c
7871                 - (impl_manager_activate_device): convert "/" specific_object back into
7872                         NULL
7873
7874 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7875
7876         Implement a generic NMSetting creator from setting name.
7877         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7878         add a virtual function 'populate_fn'.
7879
7880         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7881         (register_default_creators): Register setting creators instead of functions
7882         that create and then populate.
7883         (parse_one_setting): Use the common setting creator and then setting specific
7884         poplulation function.
7885
7886         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7887         they all looked exactly the same.
7888         Add a 'populate_fn' virtual function to NMSetting.
7889         Use default virtual functions in case they are not overriden.
7890         (nm_setting_populate_from_hash): Implement.
7891
7892         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7893         name, use a defined string.
7894         (real_act_stage4_get_ip4_config): Ditto.
7895
7896 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7897
7898         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7899         HAL is int, not uint.
7900
7901 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7902
7903         Implement killswitch polling through HAL.
7904
7905         * src/nm-manager.c: Add wireless hardware status property. Add 
7906         'properties-changed' signal for changes in wireless and wireless hardware
7907         state changes.
7908
7909         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7910         and update NMManager's wireless hardware state when it has changed.
7911         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7912         already does that.
7913
7914         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7915         values of wireless state and wireless hardware state. Listen for the
7916         'properties-changed' signals, update the cached values and emit notify.
7917
7918         * include/NetworkManager.h: Fix a typo in a comment.
7919
7920 2007-10-14  Dan Williams  <dcbw@redhat.com>
7921
7922         * libnm-util/nm-setting.c
7923                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7924
7925 2007-10-13  Dan Williams  <dcbw@redhat.com>
7926
7927         * libnm-util/nm-setting.h
7928           libnm-util/nm-setting.c
7929           src/supplicant-manager/nm-supplicant-config.c
7930                 - Make the 'proto' field of the 802-11-wireless-security field a
7931                         string list
7932
7933 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7934
7935         Rework the "properties-changed" signal listening implementation.
7936         Add a generic implementation to NMObject class that listens for
7937         the signal and calls property setters of the target NMObject.
7938
7939         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7940
7941         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7942         code to the end of file so that all the static functions are available
7943         without extra declarations.
7944         Remove the "properties-changed" signal handling and use the framework from
7945         NMObject.
7946         Implement property setters for properties that change with 
7947         "properties-changed" signal.
7948
7949         * libnm-glib/nm-access-point.c: Ditto.
7950
7951 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7952
7953         Rework the "properties-changed" signal implementation.
7954         In classes that need to use it, just emit "GObject::notify" and the new
7955         framework takes care of the rest to make the signal available on dbus.
7956         The framework queues the notifications and tries to send as many together
7957         in one signal as possible.
7958
7959         * src/nm-properties-changed-signal.c:
7960         * src/nm-properties-changed-signal.h: Implement.
7961
7962         * src/Makefile.am: Add new files to build.
7963
7964         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7965         signal.
7966
7967         * src/nm-device-802-11-wireless.c: Ditto.
7968
7969 2007-10-10  Dan Williams  <dcbw@redhat.com>
7970
7971         * src/nm-manager.c
7972                 - (wait_for_connection_expired): ensure info is valid
7973                 - (connection_added_default_handler): Should only remove pending
7974                         connection info when the manager has the connection that it's
7975                         waiting for.  Fixes segfault in wait_for_connection_info().  
7976
7977 2007-10-10  Dan Williams  <dcbw@redhat.com>
7978
7979         * libnm-util/nm-setting.c
7980           libnm-util/nm-setting.h
7981                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7982                         can use if they choose.  Should be filled in by the settings service
7983                         on-the-fly with the currently logged in user's username
7984
7985 2007-10-10  Dan Williams  <dcbw@redhat.com>
7986
7987         * src/nm-device-802-11-wireless.c
7988                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7989                         as such, because even if the manager fills in the SSID, NM still
7990                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7991                         its SSID
7992
7993 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7994
7995         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7996         code that used NM's own version of dbus signal handling and custom dictionary
7997         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7998         and we get to maintain over 2000 lines less code.
7999
8000         * libnm-util/dbus-dict-helpers.c:
8001         * libnm-util/dbus-dict-helpers.h: Remove.
8002
8003         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
8004
8005         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
8006
8007         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
8008         handlers.
8009
8010         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
8011
8012         * configure.in: Remove test/libnm-util/Makefile creation.
8013
8014         * test/Makefile.am: Remove libnm-util from SUBDIRS.
8015
8016         * test/libnm-util/: Remove the whole directory.
8017
8018 2007-10-10  Tambet Ingo  <tambet@gmail.com>
8019
8020         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
8021         device_state_changed_idle_id variable or it would contain some random value and the
8022         schedule_change_check calls would not do anything.
8023
8024 2007-10-09  Dan Williams  <dcbw@redhat.com>
8025
8026         * src/nm-device-802-11-wireless.c
8027                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
8028                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
8029                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
8030                         merging of non-SSID-broadcasting APs
8031
8032 2007-10-09  Tambet Ingo  <tambet@gmail.com>
8033
8034         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
8035         "guint8 *" since it's usually used with GByteArray->data.
8036         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
8037
8038 2007-10-09  Tambet Ingo  <tambet@gmail.com>
8039
8040         * src/NetworkManagerUtils.c
8041         (nm_utils_is_empty_ssid):
8042         (nm_utils_escape_ssid):
8043         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
8044         lot of places, so they belong to libnm-utils instead.
8045
8046         Now with 100% less compiler warnings:
8047
8048         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
8049         (nm_dbus_unescape_object_path): Ditto.
8050         (nm_utils_ssid_to_utf8): Ditto.
8051         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
8052         (nm_utils_escape_ssid): Ditto.
8053         (nm_utils_same_ssid): Ditto.
8054
8055         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
8056         (add_one_connection_element): Remove an unused variable.
8057         (impl_manager_get_active_connections): Ditto.
8058
8059         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
8060         variable.
8061
8062         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
8063         from the previous commit.
8064
8065         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
8066         (real_act_stage1_prepare): Ditto.
8067         (activation_success_handler): Ditto.
8068         (get_property): Ditto.
8069
8070         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
8071         variable.
8072
8073         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
8074         it's always set.
8075
8076         * src/supplicant-manager/nm-supplicant-config.c 
8077         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
8078         to expected "char *".
8079         (nm_supplicant_config_add_setting_wireless): Ditto.
8080         (nm_supplicant_config_remove_option): Remove, not used.
8081
8082         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
8083         not double.
8084         (test_wireless_enabled): Ifdef out unused function.
8085         (device_deactivate): Ditto.
8086         (device_state_changed): Ditto.
8087         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
8088         (nm_utils_escape_ssid): Ditto.
8089
8090         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
8091         (nm_utils_is_empty_ssid): Ditto.
8092
8093         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
8094         unused variable.
8095
8096         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
8097         (setting_vpn_properties_update_secrets): Ditto.
8098         (int_to_gvalue): Ifdef out for now, not used.
8099         (byte_to_gvalue): Ditto.
8100
8101         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
8102         Unused, remove.
8103
8104 2007-10-08  Tambet Ingo  <tambet@gmail.com>
8105
8106         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
8107         about dbus manager, not named manager.
8108         Make sure hal_manager and dbus_mgr are created before trying to unreference.
8109
8110         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
8111         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
8112         However, the same signal is emitted when we destroy it and there's 
8113         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
8114
8115         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
8116         releasing the DBusGConnection, since proxy needs a conneciton.
8117         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
8118
8119 2007-10-08  Dan Williams  <dcbw@redhat.com>
8120
8121         * src/NetworkManager.c
8122                 - (main): error on unknown command-line options
8123
8124 2007-10-08  Dan Williams  <dcbw@redhat.com>
8125
8126         Reimplement the invalid connection list.  Don't try to re-activate a
8127         connection that just failed or was canceled.
8128
8129         * src/nm-device.c
8130                 - (connection_secrets_failed_cb): fail device activation, don't just
8131                         deactivate the device.  Listeners have to know about the failure.
8132
8133         * src/NetworkManagerPolicy.c
8134                 - (nm_policy_auto_get_best_device): exclude invalid connections from
8135                         the connection list given to a device's get_best_connection()
8136                         method
8137                 - (device_state_changed): tag failed connections as invalid; clear the
8138                         tag from successful connections
8139
8140 2007-10-08  Dan Williams  <dcbw@redhat.com>
8141
8142         Fix problems with interrupted activation.  Previously, choosing an AP
8143         from the menu, then choosing another one before the first connection was
8144         successful wouldn't deactivate the device before starting the new connection
8145         on that same device.
8146
8147         * src/NetworkManagerPolicy.c
8148                 - (deactivate_old_device, device_state_changed, state_changed,
8149                    nm_policy_new): wrong place to deactivate old devices
8150
8151         * src/nm-manager.c
8152                 - (pending_connection_info_destroy, finalize,
8153                    wait_for_connection_expired): decouple destruction of the pending
8154                         connection info from the manager device
8155                 - (connection_added_default_handler): deactivate any active or
8156                         activating device before starting a new activation
8157                 - (impl_manager_activate_device): deactivate any active or activating
8158                         device before starting a new activation; be sure not to leak
8159                         pending connection info if a new activation request arrives but
8160                         there's already a pending one in-process
8161
8162 2007-10-08  Dan Williams  <dcbw@redhat.com>
8163
8164         * src/NetworkManagerAP.h
8165           src/NetworkManagerAP.c
8166                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
8167                         should handle default SSIDs and whether or not to autoconnect
8168                         to them
8169
8170 2007-10-08  Dan Williams  <dcbw@redhat.com>
8171
8172         * src/NetworkManagerPolicy.c
8173                 - (nm_policy_device_change_check): print out connection name where
8174                         possible
8175
8176 2007-10-08  Dan Williams  <dcbw@redhat.com>
8177
8178         * src/nm-device-802-11-wireless.c
8179           src/nm-device-802-11-wireless.h
8180                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
8181                         'hidden-ap-found' signal (for internal use only) that allows the
8182                         NMManager to fill in the AP's SSID if a connection has that AP's
8183                         BSSID in its seen-bssids list
8184
8185         * src/nm-manager.c
8186                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
8187                         wireless device's hidden-ap-found signal and fill in the APs SSID
8188                         if possible
8189
8190 2007-10-07  Dan Williams  <dcbw@redhat.com>
8191
8192         * src/nm-manager.c
8193           src/nm-manager.h
8194                 - Add a 'connections-added' signal to batch together updates of large
8195                         numbers of connections, like when reading from a settings service
8196                         the first time.  Otherwise, the policy would just activate the first
8197                         suitable connection it saw rather than waiting for the full list
8198                         to arrive.
8199                 - (nm_manager_class_init): register new signal
8200                 - (get_type_for_proxy, connection_get_settings_cb,
8201                    get_connection_for_proxy): centralize places where a proxy's setting
8202                         service is determined
8203                 - (free_get_settings_info): if the call being freed is the last call
8204                         in a pending call group, fire off the connections-added signal
8205                 - (internal_new_connection_cb): add call to a pending call group if
8206                         requested
8207                 - (list_connections_cb): always create a call group here, because this
8208                         call results in a batch of new connections
8209                 - (initial_get_connections): start getting system connections first
8210                 - (nm_manager_connections_destroy, emit_removed): actually emit the
8211                         removed signal when destroying connections
8212
8213         * src/NetworkManagerPolicy.c
8214                 - (nm_policy_new, connections_added): handle connections-added signal
8215                         from the manager
8216
8217 2007-10-06  Dan Williams  <dcbw@redhat.com>
8218
8219         * src/nm-device-802-11-wireless.c
8220                 - (constructor): fix leaked socket
8221
8222 2007-10-06  Dan Williams  <dcbw@redhat.com>
8223
8224         * src/NetworkManagerPolicy.c
8225                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
8226                         connection in the list returned by nm_manager_get_connections() is
8227                         reffed, but they weren't getting unreffed before returning
8228
8229 2007-10-06  Dan Williams  <dcbw@redhat.com>
8230
8231         * src/nm-manager.c
8232                 - (connections_to_slist): sort connections first on autoconnect, then
8233                         on timestamp
8234
8235 2007-10-06  Dan Williams  <dcbw@redhat.com>
8236
8237         * libnm-util/nm-connection.c
8238                 - (gvalue_to_string): handle UINT64
8239
8240 2007-10-06  Dan Williams  <dcbw@redhat.com>
8241
8242         * src/NetworkManagerPolicy.c
8243                 - (connection_updated, nm_policy_new): recheck state when a connection
8244                         gets updated
8245
8246 2007-10-06  Dan Williams  <dcbw@redhat.com>
8247
8248         * src/nm-manager.c
8249           src/nm-manager.h
8250                 - (nm_manager_get_connection_dbus_path): make static
8251                 - (nm_manager_update_connections): remove; unused
8252                 - Add a connection-updated signal
8253                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
8254                         handle connection object updates
8255
8256 2007-10-06  Dan Williams  <dcbw@redhat.com>
8257
8258         * src/NetworkManagerPolicy.c
8259                 - (connection_removed): deactivate removed connections
8260
8261 2007-10-06  Dan Williams  <dcbw@redhat.com>
8262
8263         * libnm-util/nm-connection.c
8264           libnm-util/nm-connection.h
8265                 - (nm_connection_replace_settings): new function
8266
8267 2007-10-06  Dan Williams  <dcbw@redhat.com>
8268
8269         * libnm-glib/nm-device-802-11-wireless.c
8270                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
8271                         on error when getting the active access point over D-Bus from NM
8272
8273 2007-10-05  Dan Williams  <dcbw@redhat.com>
8274
8275         * libnm-util/nm-setting.c
8276                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
8277                         to the NMSettingWireless table; it's now a string array not an array
8278                         of byte arrays
8279
8280 2007-10-05  Dan Williams  <dcbw@redhat.com>
8281
8282         * libnm-glib/nm-device-802-11-wireless.c
8283                 - Cache properties and update cached properties on D-Bus signals from NM
8284
8285 2007-10-05  Dan Williams  <dcbw@redhat.com>
8286
8287         * src/nm-device-802-11-wireless.c
8288                 - (set_current_ap): consolidate current_ap handling code into one place
8289                         to ensure that PropertiesChanged signals are emitted in all cases
8290                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
8291                    nm_device_802_11_wireless_dispose): use set_current_ap()
8292
8293 2007-10-05  Dan Williams  <dcbw@redhat.com>
8294
8295         * libnm-glib/nm-access-point.c
8296           libnm-glib/nm-access-point.h
8297                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
8298                         because the value is cached internally now.  Callers should not
8299                         free the internal value.
8300                 - Make signal name defines private
8301
8302         * test/nm-tool.c
8303           libnm-glib/libnm-glib-test.c
8304                 - Don't free value returned from nm_access_point_get_hw_address()
8305
8306 2007-10-04  Dan Williams  <dcbw@redhat.com>
8307
8308         * introspection/nm-device-802-11-wireless.xml
8309           src/nm-device-802-11-wireless.h
8310           src/nm-device-802-11-wireless.c
8311                 - Add a PropertiesChanged signal for wireless device
8312                 - Store currently associated access point
8313                 - (periodic_update): generalize; update rate here too and emit the
8314                         correct PropertiesChanged signal when stuff changes
8315                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
8316                    real_activation_cancel_handler): clear current_ap when device is
8317                         deactivated
8318                 - (link_to_specific_ap, get_ap_blacklisted,
8319                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
8320                         code
8321                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
8322                         outside this file
8323                 - (real_set_hw_address): emit property changed signal if the card's
8324                         MAC address changes
8325                 - (real_act_stage1_prepare): set the initial current_ap to the AP
8326                         the card is supposed to be connecting to
8327                 - (activation_success_handler): send out property updates on successful
8328                         activation
8329                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
8330                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
8331                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
8332                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
8333                         is now boxed; add PropertiesChanged signal
8334
8335 2007-10-04  Dan Williams  <dcbw@redhat.com>
8336
8337         * libnm-util/nm-connection.c
8338           libnm-util/nm-connection.h
8339                 - (nm_connection_verify): new function
8340
8341 2007-10-04  Dan Williams  <dcbw@redhat.com>
8342
8343         * libnm-util/nm-setting.c
8344                 - (nm_settings_verify): use #defines when possible rather than strings
8345                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
8346                 - (setting_vpn_verify): tighter validity check on 'service_type'
8347
8348 2007-10-04  Dan Williams  <dcbw@redhat.com>
8349
8350         * libnm-glib/nm-settings.c
8351                 - (nm_connection_settings_class_init): provide correct type for argument
8352                         to the Updated signal so that dbus-glib knows how to marshal it
8353
8354 2007-10-03  Dan Williams  <dcbw@redhat.com>
8355
8356         * src/nm-device-802-3-ethernet.c
8357                 - (real_get_best_connection): don't create automatic connections
8358                         internally; clients should provide a setting that applies to
8359                         the device with 'autoconnect: True'.  Problem was that these
8360                         internally auto-created connections don't have a proxy or service
8361                         name becuase they weren't created by a settings daemon, and therefore
8362                         clients have no idea what to do with them.
8363
8364 2007-10-03  Dan Williams  <dcbw@redhat.com>
8365
8366         * src/nm-device-802-11-wireless.c
8367           src/nm-device-802-11-wireless.h
8368           introspection/nm-device-802-11-wireless.xml
8369                 - GetActiveNetworks -> GetAccessPoints
8370                 - ActiveNetwork -> ActiveAccessPoint
8371                 - NetworkAdded -> AccessPointAdded
8372                 - NetowrkRemoved -> AccessPointRemoved
8373
8374         * libnm-glib/nm-device-802-11-wireless.c
8375           libnm-glib/nm-device-802-11-wireless.h
8376                 - network-added signal -> access-point-added
8377                 - network-removed signal -> access-point-removed
8378                 - nm_device_802_11_wireless_get_active_network() ->
8379                         nm_device_802_11_wireless_get_active_access_point()
8380                 - nm_device_802_11_wireless_get_network_by_path() ->
8381                         nm_device_802_11_wireless_get_access_point_by_path()
8382                 - nm_device_802_11_wireless_get_networks() ->
8383                         nm_device_802_11_wireless_get_access_points()
8384
8385         * libnm-glib/libnm-glib-test.c
8386           test/nm-tool.c
8387           src/NetworkManagerPolicy.c
8388                 - Fixups for Network -> AccessPoint
8389
8390 2007-10-03  Dan Williams  <dcbw@redhat.com>
8391
8392         Add a GetActiveConnections() method on the Manager object.
8393
8394         * src/nm-manager.c
8395           src/nm-manager.h
8396           introspection/nm-manager.xml
8397                 - (connection_get_settings_cb): keep connection type around too
8398                 - (impl_manager_get_active_connections, add_one_connection_element):
8399                         implement; returns all active connections and what devices they
8400                         apply to
8401
8402         * libnm-glib/nm-client.c
8403           libnm-glib/nm-client.h
8404           introspection/nm-manager-client.xml
8405                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
8406                         by the caller; free here to avoid memory leak
8407                 - (nm_client_get_active_connections): implement; return the list of
8408                         active connections
8409                 - (nm_client_free_active_connection_element): implement; free an element
8410                         of the GSList returned by nm_client_get_active_connections()
8411
8412 2007-10-03  Dan Williams  <dcbw@redhat.com>
8413
8414         * src/nm-device-802-11-wireless.c
8415                 - (nm_device_802_11_wireless_update_bssid): remove
8416                 - (get_active_ap): new function; find the AP in the scan list which
8417                         matches the current BSSID and SSID of the wireless device
8418                 - (nm_device_802_11_periodic_update): get current AP using
8419                         get_active_ap() and print AP roam messages
8420
8421 2007-10-01  Dan Williams  <dcbw@redhat.com>
8422
8423         * libnm-util/nm-setting.h
8424                 - Add a 'timestamp' option to NMSettingConnection
8425                 - Add a UINT64 type
8426
8427         * libnm-util/nm-setting.c
8428                 - (uint64_to_gvalue): new function
8429                 - (nm_setting_populate_from_hash, nm_setting_hash,
8430                    default_setting_clear_secrets): handle UINT64 type
8431                 - con_table: add 'timestamp' member
8432
8433 2007-10-01  Dan Williams  <dcbw@redhat.com>
8434
8435         * src/nm-manager.c
8436                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
8437                         value when the connection can be activated immediately
8438
8439 2007-10-01  Dan Williams  <dcbw@redhat.com>
8440
8441         * libnm-glib/nm-device.c
8442                 - (nm_device_class_init): actually tell glib about the carrier-changed
8443                         signal
8444
8445 2007-10-01  Dan Williams  <dcbw@redhat.com>
8446
8447         * configure.in
8448           src/marshallers/Makefile.am
8449           src/marshallers/nm-marshal.list
8450           src/marshallers/nm-marshal-main.c
8451                 - Consolidate glib marshallers into one place
8452
8453         * src/dhcp-manager/Makefile.am
8454           src/dhcp-manager/nm-dhcp-manager.c
8455           src/supplicant-manager/Makefile.am
8456           src/supplicant-manager/nm-supplicant-manager.c
8457           src/supplicant-manager/nm-supplicant-interface.c
8458           src/ppp-manager/Makefile.am
8459           src/ppp-manager/nm-ppp-manager.c
8460           src/vpn-manager/Makefile.am
8461           src/vpn-manager/nm-vpn-connection.c
8462           src/Makefile.am
8463                 - Use consolidated marshallers
8464
8465         * src/dhcp-manager/nm-dhcp-marshal.list
8466           src/dhcp-manager/nm-dhcp-marshal-main.c
8467           src/supplicant-manager/nm-supplicant-marshal-main.c
8468           src/supplicant-manager/nm-supplicant-marshal.list
8469           src/nm-marshal-main.c
8470           src/nm-marshal.list
8471           src/ppp-manager/nm-ppp-marshal-main.c
8472           src/ppp-manager/nm-ppp-marshal.list
8473           src/vpn-manager/nm-vpn-marshal-main.c
8474           src/vpn-manager/nm-vpn-marshal.list
8475                 - Remove
8476
8477 2007-10-01  Dan Williams  <dcbw@redhat.com>
8478
8479         * include/NetworkManagerVPN.h
8480                 - define VPN connection state change reason codes
8481
8482         * src/vpn-manager/Makefile.am
8483           src/vpn-manager/nm-vpn-marshal.list
8484           src/vpn-manager/nm-vpn-marshal-main.c
8485                 - Add marshallers for StateChanged signal
8486
8487         * introspection/nm-vpn-connection.xml
8488                 - New Banner property
8489                 - StateChanged signal now includes a 'reason' argument
8490
8491         * src/vpn-manager/nm-vpn-connection.c
8492           src/vpn-manager/nm-vpn-connection.h
8493                 - Add a "Banner" property that contains the returned VPN server login
8494                         banner (if any); valid only in the ACTIVATED state
8495                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
8496                         a 'reason' argument and emits that reason along with the
8497                         state-changed signal
8498                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
8499                 - (nm_vpn_connection_ip4_config_get): save banner for later
8500                 - (nm_vpn_connection_get_banner, get_property,
8501                    nm_vpn_connection_class_init): implement Banner property
8502
8503         * src/vpn-manager/nm-vpn-service.c
8504                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
8505                         connection list because elements may get added/removed from it
8506                         while iterating over the list
8507                 - (connection_state_changed): signal now includes the 'reason' argument
8508
8509         * libnm-glib/nm-vpn-connection.c
8510           libnm-glib/nm-vpn-connection.h
8511                 - (nm_vpn_connection_get_banner): new function
8512                 - (state_changed_proxy): handle reason argument
8513
8514 2007-09-28  Tambet Ingo  <tambet@gmail.com>
8515
8516         * src/nm-manager.c:
8517         * src/nm-manager.h:
8518         Implement device activation through NMManager.
8519         Implement "pending device activation" here - If the connection isn't found,
8520         we try to wait for up to 5 seconds for the connection to be provided.
8521         Add NMConnectionType argument to "connection-added" and "connection-removed"
8522         signals.
8523         (nm_manager_get): Remove. Finally.
8524
8525         * src/nm-activation-request.c: 
8526         * src/nm-activation-request.h: 
8527         Remove all the deferred activation code.
8528
8529         * src/nm-device.c: Remove all the deferred activation code. Once the device
8530         activation is started, it's started. Update the activation virtual function
8531         signature.
8532
8533         * src/nm-device-interface.c:
8534         * src/nm-device-interface.h:
8535         Device activation now takes only NMActRequest argument.
8536         Don't expose device activation directly on dbus, it's supposed to go through
8537         NMManager now.
8538
8539         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
8540         a bit more compact.
8541         Use the new device activation methods through NMManager.
8542
8543         * introspection/nm-manager-client.xml: 
8544         * introspection/nm-manager.xml: 
8545         * libnm-glib/nm-client.c:
8546         * libnm-glib/nm-client.h:
8547         Add device activation method.
8548         
8549         * libnm-glib/nm-device.c: 
8550         * libnm-glib/nm-device.h: 
8551         * introspection/nm-device.xml: 
8552         Remove device activation method. It's done through NMManager now.
8553
8554         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
8555         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
8556
8557 2007-09-28  Dan Williams  <dcbw@redhat.com>
8558
8559         * libnm-glib/nm-vpn-connection.c
8560                 - (nm_vpn_connection_get_state): try to update state if the current
8561                         state is UNKNOWN
8562
8563 2007-09-27  Dan Williams  <dcbw@redhat.com>
8564
8565         Patch from Bill Nottingham
8566
8567         * src/supplicant-manager/nm-supplicant-config.c
8568                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
8569                         data to the supplicant
8570
8571 2007-09-27  Dan Williams  <dcbw@redhat.com>
8572
8573         * src/NetworkManagerSystem.c
8574                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
8575                         and all address manipulation here should be happening on the
8576                         _VPN_ device, not the active device
8577
8578 2007-09-26  Dan Williams  <dcbw@redhat.com>
8579
8580         * src/nm-manager.c
8581           src/nm-manager.h
8582           src/nm-activation-request.c
8583           src/nm-activation-request.h
8584                 - Move the GetSecrets stuff out of the NMManager instance because it
8585                         doesn't really need to be there and complicates things
8586
8587         * src/nm-device.c
8588                 - (connection_secrets_failed_cb, device_activation_go): connect to the
8589                         connection-secrets-failed signal and deactivate the device if
8590                         the GetSecrets call fails
8591
8592         * src/nm-device-802-11-wireless.c
8593                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8594                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
8595                         secrets and give correct hints about whether new secrets should be
8596                         asked for by the client or not
8597
8598 2007-09-26  Dan Williams  <dcbw@redhat.com>
8599
8600         * src/vpn-manager/nm-vpn-connection.c
8601                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
8602                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
8603                         to the secrets-updated signal of the NMConnection since updating
8604                         the secrets is done within the scope of the NMVPNConnection object
8605                         already
8606                 - (get_connection_secrets): fix an uninialized variable usage error
8607
8608 2007-09-26  Dan Williams  <dcbw@redhat.com>
8609
8610         * libnm-util/nm-setting.c
8611                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
8612                         actually get updated when the user enters them
8613
8614 2007-09-26  Dan Williams  <dcbw@redhat.com>
8615
8616         * libnm-glib/nm-vpn-plugin.c
8617                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
8618
8619 2007-09-26  Dan Williams  <dcbw@redhat.com>
8620
8621         * include/NetworkManagerVPN.h
8622                 - Add a NEED_AUTH state
8623
8624         * src/vpn-manager/nm-vpn-connection.c
8625                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
8626                         the connection needs secrets, and if so, then ask the settings
8627                         service to fill in the secrets.  Then start the connection.
8628
8629 2007-09-26  Dan Williams  <dcbw@redhat.com>
8630
8631         * src/vpn-manager/nm-vpn-manager.c
8632                 - (new_vpn_error, impl_vpn_manager_connect): set errors
8633
8634 2007-09-26  Dan Williams  <dcbw@redhat.com>
8635
8636         * introspection/nm-vpn-plugin.xml
8637           libnm-glib/nm-vpn-plugin.c
8638           libnm-glib/nm-vpn-plugin.h
8639                 - (impl_vpn_plugin_need_secrets): implement a call that should return
8640                         the name of the NMSetting in an NMConnection that may require
8641                         secrets specific to that VPN plugin
8642
8643 2007-09-26  Dan Williams  <dcbw@redhat.com>
8644
8645         * src/nm-manager.c
8646           src/nm-manager.h
8647                 - (nm_manager_get_connection_secrets): make static, unused outside
8648                         the file
8649                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
8650
8651 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8652
8653         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
8654         method.
8655         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
8656         unreference the connection.
8657
8658         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
8659         passing properties hash and routes string list, pass NMConnection (in hashed form).
8660
8661         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
8662         as GSList, no need to copy stuff around anymore.
8663         (nm_vpn_connection_activate): Update the plugin activation method.
8664
8665         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
8666         routes argument to GSList.
8667
8668 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8669
8670         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
8671         state and try to get the secrets.
8672
8673         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
8674         connections from NMManager and let the device to choose the best from the list.
8675         Since the connection list is sorted by system ones first and user ones later,
8676         the devices still prefer system connections like they did before.
8677         (deactivate_old_device): Implement. When a device starts activation, we have a
8678         policy (for now at least) to deactivate any other device that might be either
8679         active or still activating.
8680
8681         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
8682         It's set on construction, there will be no other way to access it.
8683
8684         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
8685         device events and drive the device, not the other way around.
8686
8687         * src/nm-device-802-3-ethernet.c: Ditto.
8688
8689         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
8690         sent along, pass it on to virtual functions.
8691
8692         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
8693         for now, but should really be public instead of nm_device_get_iface() since iface
8694         is a property of the DeviceInterface, not Device.
8695         (impl_device_activate): Don't touch NMManager!
8696
8697 2007-09-26  Jürg Billeter  <j@bitron.ch>
8698
8699         * initscript/paldo/NetworkManager.in:
8700         * initscript/paldo/NetworkManagerDispatcher.in:
8701         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
8702         (nm_system_flush_loopback_routes): update paldo backend
8703
8704 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8705
8706         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
8707         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
8708         which means none of the devices get brought down properly, which in turn leaves
8709         DHCP client running.
8710
8711         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
8712         (supplicant_connection_timeout_cb): Ditto.
8713
8714 2007-09-25  Dan Williams  <dcbw@redhat.com>
8715
8716         * src/nm-device.c
8717                 - (device_activation_go): small hack to work around race when
8718                         activating deferred connections; should solve this in a better way
8719
8720 2007-09-25  Dan Williams  <dcbw@redhat.com>
8721
8722         * introspection/nm-device.xml
8723           libnm-glib/nm-device.c
8724           libnm-glib/nm-device.h
8725                 - Add 'Carrier' property to exported NMDevice objects
8726
8727         * src/nm-device-interface.h
8728           src/nm-device-interface.c
8729           src/nm-device.c
8730                 - Add a 'carrier' property to internal NMDevice objects
8731
8732 2007-09-25  Dan Williams  <dcbw@redhat.com>
8733
8734         * src/nm-device-802-11-wireless.c
8735                 - (ap_auth_enforced): also return the encryption status of the AP so
8736                         that callers can differentiate easily between unencrypted APs
8737                         and encrypted ones, in addition to whether the AP has an
8738                         authenticator
8739                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8740                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
8741                         previously would request secrets from unencrypted APs at times
8742
8743 2007-09-25  Dan Williams  <dcbw@redhat.com>
8744
8745         * src/nm-manager.c
8746                 - (nm_manager_update_state): new function; updates state and emits
8747                         appropriate signals ensuring a state-change signal for the same state
8748                         never gets emitted twice in a row.
8749                 - (manager_device_state_changed): handle more device state to get a
8750                         better picture of the overall NM state
8751
8752 2007-09-25  Dan Williams  <dcbw@redhat.com>
8753
8754         * libnm-glib/nm-settings.c
8755           libnm-glib/nm-settings.h
8756                 - (new_error -> nm_settings_new_error): make public so that subclasses
8757                         can use the same error domain.  Also pass a valid error code to
8758                         g_error_new_literal() so that libdbus doesn't assert when converting
8759                         the GError into a DBusError
8760                 - (impl_settings_list_connections, impl_connection_settings_get_id,
8761                    impl_connection_settings_get_settings,
8762                    impl_connection_settings_get_secrets): use new error creator
8763                         function
8764
8765 2007-09-25  Dan Williams  <dcbw@redhat.com>
8766
8767         * src/NetworkManager.c
8768                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
8769
8770 2007-09-25  Dan Williams  <dcbw@redhat.com>
8771
8772         * src/supplicant-manager/nm-supplicant-manager.c
8773                 - (poke_supplicant_cb, nm_supplicant_manager_init,
8774                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
8775                    nm_supplicant_manager_startup): when the supplicant isn't running,
8776                         try to start it periodically via system bus activation.  Fixes
8777                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
8778                         for the supplicant to come back
8779
8780 2007-09-25  Dan Williams  <dcbw@redhat.com>
8781
8782         Ensure that old activation requests are forgotten about; previously
8783         hitting Cancel in the password dialog would deactivate whatever device
8784         that password was requested for, even if that wasn't the currently
8785         activating connection.
8786
8787         * src/nm-manager.c
8788           src/nm-manager.h
8789                 - (nm_manager_get_connection_secrets): track the pending call
8790                         object so it can be canceled later if needed
8791                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
8792                         GetSecrets call for a particular connection
8793
8794         * src/nm-activation-request.c
8795                 - (dispose): cancel any outstanding GetSecrets calls on the
8796                         connection
8797
8798 2007-09-25  Dan Williams  <dcbw@redhat.com>
8799
8800         * src/NetworkManagerPolicy.c
8801                 - (nm_policy_device_change_check): handle devices that have a
8802                         deferred activation.  These devices are not really active _yet_,
8803                         but need to be treated as such here.  Don't interrupt them
8804                         automatically.
8805
8806         * src/nm-device-interface.c
8807                 - (impl_device_activate): handle devices that have a deferred activation
8808                         like activating or active devices.  When multiple active devices
8809                         get committed, the device shouldn't be deactivated until the
8810                         connection details are available to avoid DoS and such.  Currently,
8811                         any active, activating, or deferred activation device is deactivated
8812                         here before starting the new activation request.
8813
8814 2007-09-25  Dan Williams  <dcbw@redhat.com>
8815
8816         Properly re-query secrets from the settings daemon when stuff fails.
8817
8818         * src/nm-device-802-11-wireless.c
8819                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8820                         between Shared Key and Open System auth modes
8821                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8822                    real_act_stage4_ip_config_timeout): clear existing secrets and
8823                         request new ones when something fails due to a suspected wrong key
8824                 - (real_act_stage2_config): fix for new request_new argument to
8825                         nm_manager_get_connection_secrets()
8826
8827         * src/nm-manager.c
8828           src/nm-manager.h
8829                 - (nm_manager_get_connection_secrets): return error status; pass
8830                         new request_new argument on to the settings daemon
8831
8832         * introspection/nm-settings-connection.xml
8833                 - New 'request_new' argument to the GetSecrets call that hints to the
8834                         settings daemon to ask the user for completely new secrets
8835
8836         * libnm-glib/nm-settings.c
8837           libnm-glib/nm-settings.h
8838                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8839                         argument
8840
8841 2007-09-25  Dan Williams  <dcbw@redhat.com>
8842
8843         * libnm-util/nm-connection.c
8844           libnm-util/nm-connection.h
8845                 - (nm_connection_clear_secrets): new function; clear secrets out of
8846                         each NMSetting in an NMConnection
8847
8848         * libnm-util/nm-setting.h
8849           libnm-util/nm-setting.c
8850                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8851                         secrets out of an NMSetting
8852                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8853                    nm_setting_wired_new, nm_setting_wireless_new,
8854                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8855                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8856                         to default handler default_setting_clear_secrets()
8857
8858 2007-09-25  Dan Williams  <dcbw@redhat.com>
8859
8860         * src/nm-activation-request.c
8861           src/nm-activation-request.h
8862                 - (nm_act_request_is_deferred): new function
8863
8864 2007-09-24  Dan Williams  <dcbw@redhat.com>
8865
8866         * src/nm-device-802-11-wireless.c
8867                 - (activation_success_handler): update signal strength immediately
8868                         after activation
8869
8870 2007-09-24  Dan Williams  <dcbw@redhat.com>
8871
8872         * libnm-util/nm-setting.c
8873                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8874
8875 2007-09-24  Dan Williams  <dcbw@redhat.com>
8876
8877         * src/NetworkManagerPolicy.c
8878                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8879                         device by deactivating it because it doesn't have a "best connection".
8880                         Since autoconnect=False connections aren't automatically chosen,
8881                         NM would interrupt activation of such a connection because it
8882                         would never be "best" due to autoconnect=False.
8883
8884 2007-09-24  Dan Williams  <dcbw@redhat.com>
8885
8886         * src/nm-manager.c
8887                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8888                         actually has some time to enter a key before the GetSecrets call
8889                         times out
8890
8891 2007-09-24  Dan Williams  <dcbw@redhat.com>
8892
8893         * introspection/nm-manager.xml
8894           src/nm-manager.c
8895                 - (impl_manager_legacy_state): fix 'state' method call return value
8896
8897 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8898
8899         * test/Makefile.am: Install nm-tool
8900
8901 2007-09-24  Dan Williams  <dcbw@redhat.com>
8902
8903         Patch from Ross Burton <ross@burtonini.com>
8904
8905         * test/nm-tool.c
8906           callouts/nm-dhcp-client-action.c
8907           src/nm-netlink.c
8908           src/vpn-manager/nm-vpn-connection.c
8909           libnm-glib/libnm-glib-test.c
8910                 - warning fixes
8911
8912 2007-09-24  Dan Williams  <dcbw@redhat.com>
8913
8914         * libnm-util/nm-utils.h
8915           libnm-util/nm-utils.c
8916                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8917                         remove, unused
8918
8919 2007-09-23  Dan Williams  <dcbw@redhat.com>
8920
8921         * vpn-daemons/vpnc/properties/nm-vpnc.c
8922                 - Update for new VPN properties API bits; instead of passing around
8923                         a lot of random things, everything goes into the NMConnection
8924                         object.
8925
8926 2007-09-23  Dan Williams  <dcbw@redhat.com>
8927
8928         * libnm-util/nm-setting.c
8929                 - Correctly dispose of settings objects if creating them from a hash
8930                         table fails
8931
8932 2007-09-23  Dan Williams  <dcbw@redhat.com>
8933
8934         * libnm-util/nm-setting.c
8935                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8936                         the hash table in a standard manner.  Clients of libnm-util should
8937                         only call g_hash_table_remove_all(), never destroy the hash table
8938                         and recreate it.
8939
8940 2007-09-22  Dan Williams  <dcbw@redhat.com>
8941
8942         * src/nm-device-802-11-wireless.c
8943                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8944                         real reason to do it so often, and reduces wakeups for clients.
8945
8946 2007-09-21  Dan Williams  <dcbw@redhat.com>
8947
8948         * src/nm-device-802-11-wireless.c
8949                 - (build_supplicant_config): wpa_supplicant requires the option
8950                         key_mgmt=NONE for unencrypted networks
8951                 - (real_act_stage2_config): clarify log message on activation
8952
8953 2007-09-21  Dan Williams  <dcbw@redhat.com>
8954
8955         * test/nm-supplicant-test.c
8956           test/Makefile.am
8957                 - Remove supplicant test binary; no longer applicable
8958
8959 2007-09-21  Dan Williams  <dcbw@redhat.com>
8960
8961         * src/supplicant-manager/nm-supplicant-manager.c
8962                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8963                         activate it on the system bus
8964
8965 2007-09-20  Dan Williams  <dcbw@redhat.com>
8966
8967         * initscript/RedHat/NetworkManager.in
8968                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8969
8970 2007-09-20  Dan Williams  <dcbw@redhat.com>
8971
8972         * src/nm-device.c
8973                 - (nm_device_is_activating): work around a race between auto-activation
8974                         and the user activating the same device that is being auto-activated
8975
8976 2007-09-20  Dan Williams  <dcbw@redhat.com>
8977
8978         * src/nm-device-interface.c
8979                 - (impl_device_activate): until multiple active device support lands,
8980                         ensure only one device can be active at a time
8981
8982 2007-09-20  Dan Williams  <dcbw@redhat.com>
8983
8984         * src/supplicant-manager/nm-supplicant-config.c
8985           src/supplicant-manager/nm-supplicant-config.h
8986                 - (nm_supplicant_config_add_option): hide secrets from system logs
8987
8988 2007-09-20  Dan Williams  <dcbw@redhat.com>
8989
8990         * src/NetworkManagerPolicy.c
8991                 - (nm_policy_device_change_check): re-enable the wireless device change
8992                         checking code; insted of checking for SSIDs, check for the same
8993                         connection instead
8994
8995 2007-09-20  Dan Williams  <dcbw@redhat.com>
8996
8997         * src/nm-device-802-11-wireless.c
8998                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8999                         composite link state when determining when to start the disconnection
9000                         timer; that link state is already based on the supplicant interface's
9001                         status which is exactly what's already being examined, plus the link
9002                         state is a conglomeration of various things that we don't want here
9003
9004 2007-09-20  Dan Williams  <dcbw@redhat.com>
9005
9006         * libnm-glib/nm-access-point.c
9007                 - (handle_property_changed): strength is a UCHAR
9008
9009 2007-09-20  Dan Williams  <dcbw@redhat.com>
9010
9011         * src/supplicant-manager/nm-supplicant-config.c
9012                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
9013                         string list keywords too since that's what wpa_supplicant wants
9014
9015 2007-09-20  Dan Williams  <dcbw@redhat.com>
9016
9017         * libnm-util/nm-setting.c
9018                 - (convert_strv_to_slist): dupe the values in the list because since
9019                         the list is a boxed value, it'll get destroyed when it's container
9020                         (like a hash table or whatever) gets destroyed
9021
9022 2007-09-20  Tambet Ingo  <tambet@gmail.com>
9023
9024         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
9025         GSList.
9026
9027         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
9028
9029         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
9030         just use (g_object_set_data_full).
9031
9032         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
9033         that NMSettingVPN->routes is a GSList, convert it to char **.
9034         (nm_vpn_connection_ip4_config_get): Free routes when done.
9035         (nm_vpn_connection_activate): Ditto.
9036
9037         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
9038         (real_act_stage2_config): Use defined setting names.
9039
9040 2007-09-20  Dan Williams  <dcbw@redhat.com>
9041
9042         * src/nm-device-802-11-wireless.c
9043           src/nm-manager.c
9044           src/nm-manager.h
9045                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
9046                         so that the device can be deactivated if secrets are wrong
9047
9048 2007-09-20  Dan Williams  <dcbw@redhat.com>
9049
9050         * introspection/nm-settings-connection.xml
9051           libnm-glib/nm-settings.c
9052           libnm-glib/nm-settings.h
9053                 - Make GetSecrets asynchronous on the server side
9054
9055 2007-09-20  Dan Williams  <dcbw@redhat.com>
9056
9057         * src/nm-manager.h
9058           src/nm-device.c
9059                 - (nm_device_activate): actually check if a given connection
9060                         exists before assuming it doesn't
9061
9062 2007-09-20  Tambet Ingo  <tambet@gmail.com>
9063
9064         * libnm-util/nm-connection.c (register_default_creators): Use defined
9065         setting names. Register NMSettingVPN and NMSettingVPNProperties.
9066
9067         * libnm-util/nm-setting.c: Define property name strings, use them.
9068         Implement NMSettingVPN and NMSettingVPNProperties settings.
9069         Implement NM_S_TYPE_GVALUE_HASH.
9070         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
9071         (setting_connection_verify): Rename 'devtype' property to 'type'.
9072
9073         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
9074         properties.
9075
9076         * src/vpn-manager/nm-vpn-service.c: Ditto.
9077
9078         * src/vpn-manager/nm-vpn-connection.c: Ditto.
9079
9080         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
9081         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
9082
9083         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
9084         names. NMSettingConnection->devtype got renamed to 'type'.
9085
9086         * src/nm-device-802-3-ethernet.c (find_best_connection):
9087         (real_get_best_connection): Ditto.
9088
9089         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
9090
9091         * libnm-glib/nm-vpn-manager.[ch]: Update.
9092
9093 2007-09-19  Dan Williams  <dcbw@redhat.com>
9094
9095         * src/NetworkManagerAP.c
9096           src/NetworkManagerAP.h
9097           introspection/nm-access-point.xml
9098                 - Change strength-changed signal into a properties-changed signal
9099                         for all properties, not just strength.  Export that signal over dbus
9100                         so listeners don't have to poll NM for changes.
9101                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
9102                         get exported over D-Bus, so break up the logic and let other bits
9103                         decided when to export the AP
9104                 - (nm_ap_new_from_ap): remove, unused
9105
9106         * src/nm-device-802-11-wireless.c
9107                 - (merge_scanned_ap): only export APs that are actually on the device
9108                         list, not every AP created internally
9109
9110         * libnm-glib/nm-access-point.c
9111           libnm-glib/nm-access-point.h
9112                 - Cache properties internally and only hit DBus when needed.  Get
9113                         property updates from NM signals
9114
9115 2007-09-16  Dan Williams  <dcbw@redhat.com>
9116
9117         * libnm-util/nm-connection.c
9118           libnm-util/nm-connection.h
9119                 - (nm_connection_for_each_setting_value): new function; iterate over
9120                         each setting's value and call a user-provided function with details
9121                         about that value
9122
9123         * libnm-util/nm-setting.c
9124           libnm-util/nm-setting.h
9125                 - (nm_setting_enumerate_values): new function; enumerate the values
9126                         of a specific NMSetting subclass for a user-provided function with
9127                         details about that value
9128                 - Change wep_tx_keyidx to a uint32
9129                 - Create settings value tables for each setting defining their type,
9130                         key name, offset into the NMSetting subclass' structure, and whether
9131                         they are required and/or a secret
9132                 - (nm_setting_populate_from_hash): generic function to populate an
9133                         NMSetting from a GHash table, make all settings use it
9134                 - (nm_setting_hash): generic function to derive a GHashTable from
9135                         an NMSetting object, make all settings use it
9136
9137 2007-09-14  Dan Williams  <dcbw@redhat.com>
9138
9139         Remove unused stuff in libnm-util
9140
9141         * configure.in
9142           libnm-util/Makefile.am
9143           libnm-util/cipher-private.h
9144           libnm-util/cipher-wep-ascii.c
9145           libnm-util/cipher-wep-ascii.h
9146           libnm-util/cipher-wep-hex.c
9147           libnm-util/cipher-wep-hex.h
9148           libnm-util/cipher-wep-passphrase.c
9149           libnm-util/cipher-wep-passphrase.h
9150           libnm-util/cipher-wpa-psk-hex.c
9151           libnm-util/cipher-wpa-psk-hex.h
9152           libnm-util/cipher-wpa-psk-passphrase.c
9153           libnm-util/cipher-wpa-psk-passphrase.h
9154           libnm-util/cipher.c
9155           libnm-util/cipher.h
9156           libnm-util/dbus-helpers.c
9157           libnm-util/dbus-helpers.h
9158           libnm-util/gnome-keyring-md5.c
9159           libnm-util/gnome-keyring-md5.h
9160           libnm-util/sha1.c
9161           libnm-util/sha1.h
9162           src/nm-device-802-11-wireless.c
9163           test/libnm-util/Makefile.am
9164           test/libnm-util/test-ciphers.c
9165           test/libnm-util/test-dbus-helpers.c
9166           test/libnm-util/test-inputs.h
9167                 - Removed
9168
9169 2007-09-14  Dan Williams  <dcbw@redhat.com>
9170
9171         * libnm-util/dbus-method-dispatcher.c
9172           libnm-util/dbus-method-dispatcher.h
9173                 - Remove, unused
9174
9175 2007-09-14  Dan Williams  <dcbw@redhat.com>
9176
9177         Implement deferred activation support in the device class.
9178
9179         * src/nm-device-interface.c
9180           src/nm-device-interface.h
9181                 - (nm_device_interface_activate): take more arguments to support
9182                         deferred activation; callers must pass one of (connection) OR
9183                         (service_name, connection_path)
9184                 - (impl_device_activate): connection validation is punted to the device
9185                         to be able to handle deferred activation.  Yes, this means errors
9186                         don't get returned from the Activate() dbus call, and yes, that
9187                         should be fixed somehow later.
9188
9189         * src/nm-device.c
9190           src/nm-device.h
9191                 - (clear_act_request): clear additional deferred activation stuff too
9192                 - (deferred_activation_timeout_cb): new function; clean up when
9193                         deferred activation times out.
9194                 - (deferred_activation_start_cb): new function; when the connection
9195                         finally becomes available, start device activation
9196                 - (nm_device_activate): attach to the right signals of the activation
9197                         request if we need to defer activation until the connection is valid
9198
9199         * src/NetworkManagerPolicy.c
9200                 - (nm_policy_device_change_check): update for additional arguments
9201                         required for nm_device_interface_activate().  Pass NULL for these
9202                         though because this function already knows exactly which
9203                         NMConnection to use
9204
9205 2007-09-14  Dan Williams  <dcbw@redhat.com>
9206
9207         Implement deferred activation handling in the NMActRequest class.  When a
9208         client wants to activate a device but must create the NMConnection details
9209         on the fly, there likely hasn't been enough time yet for NM to receive the
9210         new connection signal and grab all the connection details.  So the
9211         activation is deferred (and bounded by a timer) for a while, and if the
9212         connection appears within the window, it is activated.
9213
9214         * src/nm-activation-request.c
9215           src/nm-activation-request.h
9216                 - (nm_act_request_class_init): two new signals to support deferred
9217                         activation, to allow the listener to handle both timeout and success
9218                 - (nm_act_request_new_deferred): new function, starts the deferred
9219                         activation timeout handler and listens to the NMManager for
9220                         new-connection signals to notice when the connection comes in
9221
9222 2007-09-14  Dan Williams  <dcbw@redhat.com>
9223
9224         * src/nm-manager.h
9225           src/nm-manager.c
9226                 - (nm_manager_get_connection_service_name,
9227                    nm_manager_get_connection_dbus_path): get details about a connection
9228                         known internally by the NMManager
9229                 - (nm_manager_class_init): fix connection add/remove signal marshalers
9230                         because NMConnection is now a GObject subclass
9231                 - Use constant for the gobject data tag used on NMConnection objects for
9232                         storing the associated DBusGProxy
9233
9234 2007-09-14  Dan Williams  <dcbw@redhat.com>
9235
9236         * utils/Makefile.am
9237           utils/nm-utils.c
9238           utils/nm-utils.h
9239           src/supplicant-manager/Makefile.am
9240           src/dhcp-manager/Makefile.am
9241           src/backends/Makefile.am
9242           src/named-manager/Makefile.am
9243           src/ppp-manager/Makefile.am
9244           src/vpn-manager/Makefile.am
9245           test/libnm-util/Makefile.am
9246           test/test-common/Makefile.am
9247                 - Remove utils/; it was unused
9248
9249 2007-09-13  Dan Williams  <dcbw@redhat.com>
9250
9251         * libnm-glib/nm-vpn-manager.h
9252           libnm-glib/nm-vpn-manager.c
9253                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
9254
9255 2007-09-13  Dan Williams  <dcbw@redhat.com>
9256
9257         * src/nm-device-802-3-ethernet.c
9258                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
9259                         netlink monitor carrier signals on dispose, not bring down.  The
9260                         carrier signals should be handled over the entire lifetime of the
9261                         device anyway, not created/destroyed on up or down.
9262
9263 2007-09-13  Dan Williams  <dcbw@redhat.com>
9264
9265         * libnm-glib/nm-device.c
9266           libnm-glib/nm-device.h
9267                 - (nm_device_activate): take a connection object path rather than an
9268                         NMConnection because NMConnection isn't exported over D-Bus and
9269                         therefore it dbus-glib can't automatically get an object path from it
9270
9271 2007-09-13  Dan Williams  <dcbw@redhat.com>
9272
9273         * libnm-util/nm-setting.c
9274                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
9275
9276 2007-09-13  Tambet Ingo  <tambet@gmail.com>
9277
9278         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
9279
9280 2007-09-12  Tambet Ingo  <tambet@gmail.com>
9281
9282         * src/vpn-manager/nm-vpn-connection.[ch]: 
9283         * src/vpn-manager/nm-vpn-manager.[ch]:
9284         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
9285         dbus-glib, GObjects, signals etc.
9286
9287         * libnm-glib/nm-vpn-manager.[ch]: 
9288         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
9289         so much, rewrite these too.
9290
9291         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
9292         the new introspection files.
9293
9294         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
9295
9296         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
9297         the header with the same name from libnm-utils.
9298
9299         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
9300
9301         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
9302
9303         * introspection/nm-vpn-plugin.xml: Implement.
9304
9305         * introspection/nm-vpn-connection.xml: Implement.
9306
9307         * introspection/nm-vpn-manager.xml: Implement.
9308
9309         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
9310         the named manager argument, it can just as easily get it as the caller.
9311         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
9312
9313         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
9314
9315         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
9316
9317         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
9318         libnm-utils.
9319
9320         * libnm-util/nm-connection.c: Ditto.
9321
9322         * src/NetworkManagerMain.h: Remove, it's finally empty.
9323
9324         * configure.in: Remove utils/ from build.
9325
9326         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
9327         of hard-coded strings.
9328
9329         * utils/: Move it over to libnm-util.
9330
9331         * test/Makefile.am: Link against libnm-util now that util/ is gone.
9332
9333         * dispatcher-daemon/Makefile.am: Ditto.
9334
9335         * src/Makefile.am: Ditto.
9336
9337 2007-09-12  Dan Williams  <dcbw@redhat.com>
9338
9339         Wireless connections can be made with config data from the applet now.
9340         
9341         Yay.
9342
9343         * src/supplicant-manager/nm-supplicant-config.h
9344           src/supplicant-manager/nm-supplicant-config.c
9345                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
9346                 - (nm_supplicant_config_add_setting_wireless,
9347                    nm_supplicant_config_add_setting_wireless_security): new functions;
9348                         add key/value pairs from the settings objects to the supplicant
9349                         config
9350
9351         * src/nm-device-802-11-wireless.c
9352                 - (cull_scan_list): fix check to not prune currently associated AP
9353                 - (build_supplicant_config, real_act_stage2_config): call the functions
9354                         of the NMSupplicantConfig that parse settings objects rather than
9355                         doing it manually here
9356
9357 2007-09-12  Dan Williams  <dcbw@redhat.com>
9358
9359         * src/supplicant-manager/nm-supplicant-interface.c
9360           src/supplicant-manager/nm-supplicant-marshal.list
9361                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
9362                         "connection-error" signal arguments should be STRING not CHAR
9363
9364 2007-09-12  Dan Williams  <dcbw@redhat.com>
9365
9366         * src/NetworkManagerUtils.c
9367           src/NetworkManagerUtils.h
9368                 - (nm_utils_hexstr2bin): new function
9369
9370 2007-09-11  Dan Williams  <dcbw@redhat.com>
9371
9372         * src/nm-manager.c
9373                 - (connection_get_settings_cb): emit connection-added signal
9374                 - (connection_removed_cb): uncomment bits for system settings service,
9375                         send connection-removed when appropriate
9376                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
9377                         the stack by trying to g_object_set_data() on something that's
9378                         not a GObject; handle case where settings service returns
9379                         empty settings hash table
9380
9381 2007-09-11  Dan Williams  <dcbw@redhat.com>
9382
9383         * src/NetworkManagerPolicy.c
9384                 - (connection_added, connection_removed): trigger device change checks
9385                         on connection changes
9386
9387 2007-09-11  Dan Williams  <dcbw@redhat.com>
9388
9389         * src/nm-activation-request.c
9390                 - (connection_secrets_updated_cb): fix c&p error in signal emission
9391
9392 2007-09-11  Dan Williams  <dcbw@redhat.com>
9393
9394         * src/nm-device-802-11-wireless.c
9395                 - (real_connection_secrets_updated): fix erroneous check
9396
9397 2007-09-11  Dan Williams  <dcbw@redhat.com>
9398
9399         * introspection/nm-device.xml
9400           libnm-glib/nm-device.c
9401           libnm-glib/nm-device.c
9402                 - Fix Activate call argument borkage; Activate takes 3 arguments
9403
9404 2007-09-11  Dan Williams  <dcbw@redhat.com>
9405
9406         * libnm-glib/nm-access-point.c
9407           libnm-glib/nm-access-point.c
9408                 - (nm_access_point_get_frequency): now returns guint32 to match
9409                         property change on 2007-09-10
9410
9411 2007-09-11  Dan Williams  <dcbw@redhat.com>
9412
9413         * src/nm-device-802-11-wireless.c
9414                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
9415                         somewhere defines 'index' and I missed this one when I fixed the
9416                         shadow declaration errors earlier
9417
9418 2007-09-11  Dan Williams  <dcbw@redhat.com>
9419
9420         * libnm-util/nm-connection.c
9421                 - (nm_connection_update_secrets, need_secrets_check): move
9422                         802-11-wireless-security need_secrets checks to the setting object
9423                         itself, where it belongs
9424
9425         * libnm-util/nm-setting.c
9426           libnm-util/nm-setting.h
9427                 - (nm_setting_need_secrets): new function
9428                 - (setting_wireless_security_verify,
9429                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
9430                 - (setting_wireless_security_need_secrets): mostly copy code over
9431                         from nm-connection.c
9432
9433 2007-09-11  Dan Williams  <dcbw@redhat.com>
9434
9435         * libnm-util/nm-setting.c
9436           libnm-util/nm-setting.h
9437                 - (nm_setting_update_secrets): new function; add a virtual function that
9438                         subclasses can implement to update their secrets
9439                 - (setting_wireless_security_update_secrets): implement that function
9440                         for the 802-11-wireless-security subclass
9441
9442         * libnm-util/nm-connection.c
9443           libnm-util/nm-connection.h
9444                 - (nm_connection_update_secrets): update secrets for a Setting and
9445                         emit a signal on success
9446
9447         * src/nm-manager.c
9448           src/nm-manager.h
9449           src/nm-marshal.list
9450                 - (connection_get_settings_cb): enable system settings bits
9451                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
9452                         to request secrets from the settings dbus service and to
9453                         push those secrets to the NMConnection itself
9454
9455         * src/nm-activation-request.c
9456           src/nm-activation-request.h
9457                 - Attach to the 'secrets-updated' signal of the NMConnection that's
9458                         currently being activated, and proxy that signal to other listeners.
9459                         Goes through the activation request because the activation request
9460                         is the thing that manages the lifetime of the NMConnection that's
9461                         being activated.
9462
9463         * src/nm-device-802-11-wireless.c
9464                 - (real_connection_secrets_updated): implement the connection secrets
9465                         updated notification and restart activation when secrets are
9466                         received
9467                 - (real_act_stage2_config): request secrets from the settings dbus
9468                         service if secrets are needed
9469
9470         * src/nm-device.c
9471           src/nm-device.h
9472                 - (clear_act_request, nm_device_activation_cancel,
9473                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
9474                         where the activation request is cleared
9475                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
9476                         updated secrets signal of activation request and add a function
9477                         that subclasses can override to handle it easily
9478
9479 2007-09-11  Tambet Ingo  <tambet@gmail.com>
9480
9481         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
9482         removal of NetworkManagerAPList.
9483
9484 2007-09-10  Dan Williams  <dcbw@redhat.com>
9485
9486         * src/NetworkManagerAP.c
9487           src/NetworkManagerAP.h
9488           introspection/nm-access-point.xml
9489                 - Change 'freq' property to a guint32 instead of a double since we
9490                         weren't using the floating point bits anyway
9491
9492 2007-09-10  Dan Williams  <dcbw@redhat.com>
9493
9494         * NetworkManagerAP.c
9495           NetworkManagerAP.h
9496           NetworkManagerPolicy.c
9497           NetworkManagerSystem.c
9498           NetworkManagerUtils.c
9499           NetworkManagerUtils.h
9500           nm-device-802-11-wireless.c
9501           nm-device-802-3-ethernet.c
9502           nm-hal-manager.c
9503           nm-manager.c
9504           vpn-manager/nm-dbus-vpn.c
9505                 - Warning fixes; casts and removal of unused variables
9506
9507 2007-09-10  Dan Williams  <dcbw@redhat.com>
9508
9509         * include/NetworkManager.h
9510                 - Kill NMNetworkType; AP types don't matter any more
9511
9512         * src/NetworkManagerAPList.c
9513           src/NetworkManagerAPList.h
9514           src/Makefile.am
9515                 - Kill; NMAccessPointList has outlived it's usefulness
9516
9517         * src/NetworkManagerAP.c
9518           src/NetworkManagerAP.h
9519                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
9520                         functions; check if an NMConnection object is compatible with the
9521                         settings of this AP
9522                 - (freq_to_channel, channel_to_freq): utility functions for
9523                         channel <-> frequency conversion
9524
9525         * src/nm-device.c
9526           src/nm-device.h
9527                 - (nm_device_get_best_connection): pass the specific object around
9528                          (which might be the object path of a specific AP to connect to).
9529                          The get_best_connection() call should populate this on return
9530                          if needed (wireless does).
9531
9532         * src/nm-device-802-3-ethernet.c
9533                 - (real_get_best_connection): handle specific_object argument
9534
9535         * src/NetworkManager.c
9536           src/NetworkManagerMain.h
9537                 - Remove unused includes
9538
9539         * src/nm-device-802-11-wireless.c
9540           src/nm-device-802-11-wireless.h
9541                 - Convert the ap_list into a GSList from an NMAccessPointList
9542                 - No need for caching the 'activation_ap' since this is now determined
9543                         from the specific_object of the activation request, which is
9544                         populated from the get_best_connection() call or from a user request
9545                 - (nm_device_802_11_wireless_update_bssid): fix warning
9546                 - (get_wireless_capabilities): fix error message format arguments
9547                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
9548                 - (find_best_connection, real_get_best_connection): implement
9549                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
9550                         move here from NetworkManagerAPList
9551                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
9552                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
9553                         already verified earlier
9554                 - (real_act_stage2_config): use nm_connection_need_secrets()
9555
9556         * src/NetworkManagerPolicy.c
9557                 - (nm_policy_auto_get_best_device): handle specific objects
9558                 - (create_connection): remove; automatic connection creation functionality
9559                         is handled by the Connection objects
9560                 - (nm_policy_device_change_check): handle specific_object
9561
9562         * libnm-util/nm-connection.c
9563                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
9564
9565 2007-09-10  Dan Williams  <dcbw@redhat.com>
9566
9567         * src/nm-manager.c
9568                 - (query_connections): fix uninitialized variable problem that caused
9569                         segfault
9570                 - (nm_manager_add_device): take devices down on startup so that we can
9571                         be assured that nm_device_is_up() won't short-circuit the init
9572                         process.  Hack until the is_up check gets split into two pieces
9573                         that aren't behaviorally confusing.
9574
9575 2007-09-09  Dan Williams  <dcbw@redhat.com>
9576
9577         * introspection/nm-device.xml
9578                 - The 'Activate' method now takes 3 arguments, a service name for the
9579                 settings service (user or system), the object path of the connection
9580                 to activate, and the specific object to activate, if any
9581
9582         * src/nm-device-interface.c
9583                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
9584                 Add error bits
9585                 - (impl_device_activate): adapt to new Activate arguments; validate
9586                 the service name and get the Connection object from the NMManager
9587                 before starting to activate the device with the specified connection
9588
9589         * src/nm-device-802-3-ethernet.c
9590                 - (real_get_best_connection): find the best connection, or create a
9591                 default one if no existing connections can be used
9592
9593         * src/NetworkManagerPolicy.c
9594                 - (nm_policy_auto_get_best_device): Get the device's best connection
9595                 and only pick the device if it has one
9596                 - (nm_policy_device_change_check): disable wireless bits for now until
9597                 wireless get_best_connection() can be implemented (replacing "best_ap");
9598                 don't create a default connection here as the device subclass will do
9599                 that if needed
9600
9601         * src/nm-manager.h
9602           src/nm-manager.c
9603                 - (nm_manager_get): make NMManager a singleton and expose the getter
9604                 internally
9605                 - Rework internal NMManager connection handling to use the same
9606                 routines for both the system and user settings services.  Most calls
9607                 take a new NMConnectionType argument specifying either system or user
9608                 connections
9609                 - (nm_manager_get_connection_by_object_path): new function; get a
9610                 connection keyed on its object path
9611
9612         * src/NetworkManager.c
9613                 - (main): use nm_manager_get()
9614
9615 2007-09-09  Dan Williams  <dcbw@redhat.com>
9616
9617         * src/nm-device.h
9618           src/nm-device.c
9619                 - (nm_device_get_best_connection): new function; get best connection
9620                         for the device at that time
9621
9622 2007-09-09  Dan Williams  <dcbw@redhat.com>
9623
9624         * src/nm-device-interface.h
9625                 - Add NMDeviceInterfaceError with an UnknownConnection error
9626
9627 2007-09-09  Dan Williams  <dcbw@redhat.com>
9628
9629         Stupid mistake on my part; object path and interface for settings service
9630         and connection objects can be the same, only the service name must be
9631         different for the system and user settings services.
9632
9633         * include/NetworkManager.h
9634           src/nm-manager.c
9635           introspection/nm-settings-connection.xml
9636           introspection/nm-settings.xml
9637           libnm-glib/nm-settings.c
9638                 - (nm_connection_settings_init, query_user_connections,
9639                    new_connection_cb): Unify NetworkManagerSettings and Connection
9640                    interface name and object path
9641
9642 2007-09-06  Dan Williams  <dcbw@redhat.com>
9643
9644         * libnm-glib/nm-object.c
9645                 - (nm_object_get_string_property, nm_object_get_object_path_property,
9646                    nm_object_get_int_property, nm_object_get_uint_property,
9647                    nm_object_get_boolean_property, nm_object_get_byte_property,
9648                    nm_object_get_double_property, nm_object_get_byte_array_property):
9649                         clear GValues after copying their contents, fixes memory leaks
9650                         after every property access because dbus-glib copies the values
9651                         from the DBusMessage into the GValue already.
9652
9653 2007-09-06  Dan Williams  <dcbw@redhat.com>
9654
9655         * introspection/nm-access-point.xml
9656                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
9657                         them to be.  There's some magic property name parsing going on in
9658                         dbus-glib that breaks up property names based on studly-caps and
9659                         puts - between words.
9660
9661         * libnm-glib/nm-access-point.c
9662                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
9663                         Fix property names
9664
9665 2007-09-06  Dan Williams  <dcbw@redhat.com>
9666
9667         * src/nm-manager.c
9668                 - (nm_manager_user_connections_destroy): clear the user connections hash
9669                         table, don't destroy it
9670                 - (finalize): only destroy the hash table on NMManager finalization
9671
9672 2007-09-02  Dan Williams  <dcbw@redhat.com>
9673
9674         * include/NetworkManager.h
9675           libnm-glib/nm-settings.c
9676                 - defines for the user settings daemon D-Bus bits
9677
9678         * src/NetworkManager.c
9679                 - Remove stuff that referred to the old NetworkManagerInfo service
9680
9681         * src/vpn-manager/nm-dbus-vpn.h
9682                 - Move old NMI defines to the only place they are used still
9683
9684         * libnm-util/nm-connection.c
9685           libnm-util/nm-connection.h
9686           src/nm-activation-request.c
9687                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
9688
9689         * src/nm-manager.c
9690           src/nm-manager.h
9691                 - Get connections and their settings from the user settings daemon
9692                         at the appropriate times
9693
9694 2007-09-02  Dan Williams  <dcbw@redhat.com>
9695
9696         * libnm-util/nm-setting.c
9697                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
9698                 - (setting_wireless_hash): set the right value on the item
9699
9700 2007-09-02  Dan Williams  <dcbw@redhat.com>
9701
9702         * test/Makefile.am
9703           test/nminfotest.c
9704                 - Remove, no longer useful
9705
9706 2007-08-30  Dan Williams  <dcbw@redhat.com>
9707
9708         * src/Makefile.am
9709           src/NetworkManagerDbus.c
9710           src/NetworkManagerDbus.h
9711           src/vpn-manager/nm-dbus-vpn.c
9712                 - Remove, no longer necessary.  Move last bits to the only place its
9713                 used, in nm-dbus-vpn.c
9714
9715         * src/NetworkManagerAPList.c
9716           src/nm-device.c
9717           src/NetworkManager.c
9718           src/nm-device-802-11-wireless.c
9719           src/vpn-manager/nm-vpn-manager.c
9720           src/vpn-manager/nm-vpn-service.c
9721           src/NetworkManagerPolicy.c
9722           src/nm-manager.c
9723                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
9724                 that was message_is_error()
9725
9726 2007-08-30  Dan Williams  <dcbw@redhat.com>
9727
9728         * libnm-util/sha1.c
9729                 - Include config.h to get defines for endiannes (gnome.org #420216)
9730
9731 2007-08-30  Dan Williams  <dcbw@redhat.com>
9732
9733         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
9734
9735         * src/ppp-manager/Makefile.am
9736                 - use -fPIC (gnome.org #471825)
9737
9738 2007-08-29  Dan Williams  <dcbw@redhat.com>
9739
9740         * include/NetworkManager.h
9741                 - Keep NMConnection object path in sync
9742
9743         * libnm-glib/nm-settings.c
9744           libnm-glib/nm-settings.h
9745                 - Break D-Bus object registration out of the init function, because
9746                 every object that's exported over D-Bus needs to use the _same_
9747                 DBusConnection.  Otherwise, each object would get a different object
9748                 path tree and wouldn't be callable.
9749
9750 2007-08-29  Dan Williams  <dcbw@redhat.com>
9751
9752         * libnm-util/nm-setting.h
9753           libnm-util/nm-setting.c
9754           libnm-util/nm-connection.c
9755           src/NetworkManagerPolicy.c
9756                 - 'info' settings object should be 'connection' says the spec
9757                 at NetworkManagerConfigurationSpecification
9758
9759 2007-08-29  Dan Williams  <dcbw@redhat.com>
9760
9761         * libnm-glib/nm-settings.c
9762           libnm-glib/nm-settings.h
9763                 - make the dbus path a property of the object, and autogenerate it.
9764                 It can't be composed of the 'id' field becuase that's not available
9765                 yet during the GObject creation in nm_connection_settings_init()
9766
9767 2007-08-29  Dan Williams  <dcbw@redhat.com>
9768
9769         * introspection/nm-settings-connection.xml
9770           introspection/nm-settings.xml
9771                 - Service name -> NetworkManagerUserSettings because two services
9772                 can't share part of the same path.  I'm not really sure how we'll use
9773                 the same code with the system-settings daemon...
9774
9775 2007-08-28  Dan Williams  <dcbw@redhat.com>
9776
9777         * src/nm-device-interface.c
9778           src/nm-device-interface.h
9779                 - Kill one more bit of NMData
9780
9781 2007-08-28  Dan Williams  <dcbw@redhat.com>
9782
9783         * src/NetworkManagerSystem.h
9784           src/nm-device.c
9785           src/nm-device.h
9786           src/nm-hal-manager.c
9787           src/NetworkManager.c
9788           src/nm-device-802-11-wireless.c
9789           src/nm-hal-manager.h
9790           src/nm-device-802-3-ethernet.c
9791           src/vpn-manager/nm-vpn-service.h
9792           src/vpn-manager/nm-vpn-manager.c
9793           src/vpn-manager/nm-vpn-manager.h
9794           src/vpn-manager/nm-vpn-service.c
9795           src/nm-device-802-11-wireless.h
9796           src/NetworkManagerMain.h
9797           src/nm-device-802-3-ethernet.h
9798           src/backends/NetworkManagerGentoo.c
9799           src/backends/NetworkManagerPaldo.c
9800           src/backends/NetworkManagerFrugalware.c
9801           src/backends/NetworkManagerRedHat.c
9802           src/backends/NetworkManagerSlackware.c
9803           src/backends/NetworkManagerGeneric.c
9804           src/backends/NetworkManagerArch.c
9805           src/backends/NetworkManagerSuSE.c
9806           src/backends/NetworkManagerGeneric.h
9807           src/backends/NetworkManagerDebian.c
9808                 - Kill NMData
9809
9810 2007-08-28  Dan Williams  <dcbw@redhat.com>
9811
9812         * src/NetworkManagerMain.h
9813           src/nm-device-802-11-wireless.c
9814           src/NetworkManager.c
9815                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9816                 for now we should set the 'invalid' property on individual APs, and when
9817                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9818                 that ESS
9819
9820 2007-08-28  Dan Williams  <dcbw@redhat.com>
9821
9822         * src/NetworkManagerAP.c
9823           src/NetworkManagerAP.h
9824                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9825                         'autoconnect' property instead
9826
9827         * src/NetworkManager.c
9828           src/NetworkManagerMain.h
9829           src/NetworkManagerPolicy.c
9830           src/NetworkManagerPolicy.h
9831                 - Remove the 'allowed_ap_list', which should be replaced by 
9832                         NMConnection/NMSettings instead, since _those_ are the allowed
9833                         things that NM can connect to
9834
9835         * src/nm-device-802-11-wireless.c
9836                 - Remove both allowed_ap_list usage and 'fallback' checking
9837
9838 2007-08-28  Dan Williams  <dcbw@redhat.com>
9839
9840         * src/nm-device.c
9841           src/named-manager/nm-named-manager.c
9842           src/named-manager/nm-named-manager.h
9843           src/NetworkManager.c
9844           src/vpn-manager/nm-vpn-manager.c
9845           src/NetworkManagerMain.h
9846           src/NetworkManagerSystem.c
9847                 - Remove the named-manager object from NMData structure in preparation
9848                 for NMData's timely death.  Make the NMNamedManager the singleton that
9849                 it really is
9850
9851 2007-08-28  Dan Williams  <dcbw@redhat.com>
9852
9853         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9854         each AP's capabilities, and by NMConnection/NMSettings objects for user
9855         defined connections.
9856
9857         * include/NetworkManager.h
9858                 - Redefine 802.11 security properties.  There are now device capabilities
9859                         and AP flags and AP security flags.  It was way to unclear before.
9860
9861         * src/Makefile.am
9862           src/nm-ap-security-leap.h
9863           src/nm-ap-security-leap.c
9864           src/nm-ap-security-wpa-eap.c
9865           src/nm-ap-security-wpa-eap.h
9866           src/nm-ap-security-private.h
9867           src/nm-ap-security-wpa-psk.c
9868           src/nm-ap-security-wpa-psk.h
9869           src/nm-ap-security-wep.c
9870           src/nm-ap-security-wep.h
9871           src/nm-ap-security.c
9872           src/nm-ap-security.h
9873                 - Removed, to be replaced with NMConnection/NMSettings objects
9874
9875         * src/nm-dbus-nmi.c
9876           src/nm-dbus-nmi.h
9877                 - Removed, to be replaced by code that talks to the new info daemon
9878                         interface and gets NMConnection/NMSettings objects
9879
9880         * src/backends/NetworkManagerSuSE.c
9881                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9882                         info-daemon that does the same thing but talks the new info-daemon
9883                         D-Bus interface
9884
9885         * src/NetworkManagerAP.h
9886           src/NetworkManagerAP.c
9887           src/NetworkManagerAPList.c
9888           libnm-glib/libnm-glib-test.c
9889                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9890                         WPA/RSN
9891
9892         * libnm-glib/nm-access-point.c
9893           libnm-glib/nm-access-point.h
9894           introspection/nm-access-point.xml
9895           test/nm-tool.c
9896                 - Adjust to new flags for AP security
9897
9898         * utils/nm-utils.c
9899           utils/nm-utils.h
9900           src/vpn-manager/nm-dbus-vpn.c
9901                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9902                         stuff which is the only place it's used
9903
9904         * src/nm-device-interface.c
9905           src/nm-device-interface.h
9906           introspection/nm-device.xml
9907           src/nm-activation-request.c
9908           src/nm-activation-request.h
9909           src/nm-device.c
9910                 - Add a new 'specific_object' argument that hints to NM what actual
9911                         AP or other device-specific thing the connection should apply to.
9912                         NMConnection objects can apply to more than one actual device/AP.
9913
9914         * libnm-util/nm-connection.c
9915         * libnm-util/nm-connection.h
9916                 - Add 'have_secrets" call stubs
9917
9918         * libnm-util/cipher.h
9919                 - Move NM_AUTH_TYPE_* defines here for now
9920
9921         * src/nm-device-802-11-wireless.c
9922                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9923                         NMSettings objects
9924
9925         * src/NetworkManagerDbus.c
9926         * src/NetworkManagerPolicy.c
9927                 - Remove usage of update_allowed_networks, should be pushing data in
9928                         a different manner
9929
9930 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9931
9932         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9933         dbus-glib frees it when the call is done.
9934
9935 2007-08-26  Dan Williams  <dcbw@redhat.com>
9936
9937         * introspection/nm-device.xml
9938                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9939
9940 2007-08-26  Dan Williams  <dcbw@redhat.com>
9941
9942         * src/nm-device-802-3-ethernet.c
9943                 - (constructor): move connection of interface-connected/disconnected
9944                         signals here from real_bring_up().  Should be listening to netlink
9945                         for carrier events no matter what the initial state of the device
9946                         is.
9947
9948 2007-08-26  Dan Williams  <dcbw@redhat.com>
9949
9950         * src/nm-netlink-monitor.c
9951                 - (nm_netlink_monitor_class_init): fix marshalling types for
9952                         interface-connected/interface-disconnected
9953                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9954                         check
9955
9956 2007-08-26  Dan Williams  <dcbw@redhat.com>
9957
9958         Convert to using interface indexes as the primary method of identifying
9959         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9960         be renamed at any time.  Device object paths now refer to the device
9961         index rather than the name, and you can map those two manually if you like
9962         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9963         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9964         to use interface indexes rather than names.
9965
9966 2007-08-26  Dan Williams  <dcbw@redhat.com>
9967
9968         * src/nm-netlink-monitor.h
9969                 - Remove one last bit of wireless-event signal
9970
9971 2007-08-26  Dan Williams  <dcbw@redhat.com>
9972
9973         * src/nm-netlink-monitor.c
9974                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9975                         don't need the 'wireless-event' signal anymore since that's all
9976                         handled by wpa_supplicant
9977
9978 2007-08-25  Dan Williams  <dcbw@redhat.com>
9979
9980         It's 2007. Remove support for drivers that don't support wireless scanning.
9981
9982         * test/nm-tool.c
9983           include/NetworkManager.h
9984           src/NetworkManagerUtils.c
9985           src/NetworkManagerPolicy.c
9986           src/nm-device-802-11-wireless.c
9987                 - Remove special handling for non-scanning devices and mark them
9988                         as unsupported/unhandled
9989
9990 2007-08-20  Dan Williams  <dcbw@redhat.com>
9991
9992         * src/nm-device-802-11-wireless.c
9993           src/nm-device-802-3-ethernet.c
9994                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9995                         because when the card is pulled or the module removed, the device
9996                         is already !IFF_UP and then device-specific cleanup (removing
9997                         the supplicant interface, periodic checks, etc) never gets done
9998
9999 2007-08-20  Dan Williams  <dcbw@redhat.com>
10000
10001         * src/nm-manager.c
10002                 - (nm_manager_remove_device): bring device down before disconnecting
10003                         signal handlers, so that the 'state' signal will get broadcast when
10004                         the device enters the DOWN state
10005                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
10006                         of states that cause the NMManager to recheck its state
10007
10008 2007-08-20  Dan Williams  <dcbw@redhat.com>
10009
10010         * src/supplicant-manager/nm-supplicant-interface.c
10011                 - (interface_disconnect_done): don't try to dispose of the net proxy
10012                         when it may already have been disposed of
10013
10014 2007-08-20  Dan Williams  <dcbw@redhat.com>
10015
10016         * src/nm-device-802-11-wireless.c
10017                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
10018                         the SSID isn't available; this can happen when the card is pulled
10019                         or the module unloaded, during the post-removal deactivation
10020                         paths, when the ioctl returns ENODEV
10021
10022 2007-08-20  Dan Williams  <dcbw@redhat.com>
10023
10024         * src/nm-device-802-11-wireless.c
10025                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
10026                         frequency, and mode match.  Applets are now responsible for grouping
10027                         access points
10028
10029 2007-08-20  Dan Williams  <dcbw@redhat.com>
10030
10031         * src/NetworkManagerAP.c
10032         * src/NetworkManagerAP.h
10033                 - (nm_ap_print_self): new function
10034
10035         * src/NetworkManagerAPList.c
10036                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
10037                         to do it all here
10038         
10039 2007-08-17  Dan Williams  <dcbw@redhat.com>
10040
10041         * src/nm-device-802-3-ethernet.c
10042                 - (real_bring_down): don't try to dispose of stuff that might not
10043                         exist
10044
10045 2007-08-17  Dan Williams  <dcbw@redhat.com>
10046
10047         * src/NetworkManagerAP.c
10048                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
10049                         applet.  This ensures that the case between the seen-bssids and
10050                         the bssids reported by the driver match.
10051
10052 2007-08-17  Dan Williams  <dcbw@redhat.com>
10053
10054         * src/nm-device-802-11-wireless.c
10055                 - (device_cleanup): disconnect the interface in wpa_supplicant before
10056                         we dispose of the interface proxy in NM
10057
10058 2007-08-16  Dan Williams  <dcbw@redhat.com>
10059
10060         * libnm-glib/nm-client.c
10061                 - (nm_client_init): create VPN connections hash table with key free
10062                         function
10063                 - (proxy_vpn_connection_added): VPN connections hash table key should
10064                         be a duplicated value, not the same memory address as the VPN
10065                         connection name.  This is because the VPN connection name could
10066                         potentially be freed and set to something else during the lifetime
10067                         of the NMVPNConnection object.
10068
10069 2007-08-16  Tambet Ingo  <tambet@gmail.com>
10070
10071         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
10072         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
10073         with the file descriptors. Send a child setup function to change the pppd
10074         progress group.
10075
10076 2007-08-15  Dan Williams  <dcbw@redhat.com>
10077
10078         * src/supplicant-manager/nm-supplicant-interface.c
10079                 - (try_remove_iface): new function, ask wpa_supplicant to remove
10080                         an interface
10081                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
10082                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
10083                         happens on hotplug if wpa_supplicant doesn't tear down and readd
10084                         the interface internally
10085
10086 2007-08-15  Dan Williams  <dcbw@redhat.com>
10087
10088         * src/nm-device-802-11-wireless.c
10089                 - (real_bring_down): move most of this function into device_cleanup()
10090                         so that it can be called from elsewhere
10091                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
10092                         and stuff on dispose.  These would normally get cleaned up when
10093                         the device is marked down and deactivated, but when the device is
10094                         hot-unplugged, it's already down and real_down() never gets run
10095
10096 2007-08-15  Dan Williams  <dcbw@redhat.com>
10097
10098         * src/nm-dbus-nmi.c
10099                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
10100                         caused a reference leak on device for which NM requested a key
10101
10102 2007-08-15  Dan Williams  <dcbw@redhat.com>
10103
10104         * libnm-glib/nm-client.c
10105                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
10106
10107 2007-08-15  Tambet Ingo  <tambet@gmail.com>
10108
10109         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
10110         nothing is using it at the moment, but it'll be all useful and stuff later on.
10111
10112         * libnm-util/nm-setting.h: Define NMSettingPPP.
10113
10114         * libnm-util/nm-setting.c: Implement NMSettingPPP.
10115
10116         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
10117
10118         * src/Makefile.am: Add ppp-manager to SUBDIRS.
10119
10120         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
10121
10122         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
10123
10124 2007-08-14  Tambet Ingo  <tambet@gmail.com>
10125
10126         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
10127
10128         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
10129         an issue with dbus-glib bindings generator. The issue is, the generated C caller
10130         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
10131         name and different arguments and it won't compile anymore. To fix this, we now have
10132         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
10133         that is new API + compatibility API and used by the daemon. The other, 
10134         nm-manager-client.xml is only the new API without compatibility bits and is used
10135         by libnm-glib to make it compile.
10136
10137         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
10138
10139         * src/nm-manager.c (impl_manager_legacy_sleep)
10140         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
10141         interface functions for 0.6 branch.
10142
10143 2007-08-14  Dan Williams  <dcbw@redhat.com>
10144
10145         * src/NetworkManagerAP.c
10146                 - (nm_ap_new_from_properties): fix mistaken check of return value
10147                         from memcmp (should expect 0)
10148
10149 2007-08-14  Dan Williams  <dcbw@redhat.com>
10150
10151         (force-commit to fix wrong comment and partial commit of r2685; this
10152          commit actually applies to r2685)
10153
10154         * src/NetworkManagerUtils.c
10155                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
10156                         ignores trailing nulls in the SSID to work around mismatches in
10157                         expectations between WEXT and what the info-daemon passes back.  The
10158                         info-daemon would pass back the correct length, but due to the
10159                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
10160                         the device would always have an SSID + 1 depending on what versions
10161                         of wpa_supplicant, the kernel, and NM you have.  This was most often
10162                         visible by just quitting the applet and relaunching, which caused
10163                         NM to reassociated to the same network over again when reloading
10164                         the save networks.
10165
10166         * src/NetworkManagerPolicy.c
10167           src/NetworkManagerUtils.h
10168           src/nm-device-802-11-wireless.c
10169                 - Update for new parameter to nm_utils_same_ssid()
10170
10171 2007-08-14  Dan Williams  <dcbw@redhat.com>
10172
10173         * src/NetworkManagerAP.c
10174                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
10175                         I encountered a BSS that wasn't just hiding it's ESSID, it was
10176                         setting the BSSID to all 0s.  That confused the heck out of NM,
10177                         plus it's useless and probably out-of-spec.
10178
10179 2007-08-14  Dan Williams  <dcbw@redhat.com>
10180
10181         * callouts/Makefile.am
10182           src/dhcp-manager/nm-dhcp-manager.c
10183           src/dhcp-manager/nm-dhcp-manager.h
10184           src/dhcp-manager/Makefile.am
10185                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
10186
10187 2007-08-14  Dan Williams  <dcbw@redhat.com>
10188
10189         * src/dhcp-manager/nm-dhcp-manager.c
10190                 - (dhclient_run): don't pass -x to dhclient until we figure out if
10191                         it's really needed, get rid of unused xtra_args parameter
10192
10193 2007-08-14  Dan Williams  <dcbw@redhat.com>
10194
10195         * include/NetworkManagerVPN.h
10196           src/vpn-manager/nm-dbus-vpn.c
10197           src/vpn-manager/nm-dbus-vpn.h
10198           src/vpn-manager/nm-vpn-act-request.c
10199           src/vpn-manager/nm-vpn-act-request.h
10200           src/vpn-manager/nm-vpn-service.c
10201           src/vpn-manager/nm-vpn-service.h
10202           libnm-glib/nm-vpn-connection.c
10203           libnm-glib/nm-vpn-connection.h
10204           libnm-glib/nm-client.h
10205                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
10206                         NMVPNServiceState to clarify what they apply to
10207                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
10208                         NMVPNActStage -> NMVPNConnectionState for the same reason
10209
10210         * libnm-glib/nm-client.c
10211                 - Constant + type renames from above
10212                 - Properly handle NameOwnerChanged/manager_running signals
10213                         for NM service; only emit when state really changes
10214                 - Use hash tables correctly so that the key (which was previously owned
10215                         by the D-Bus message) now has the same lifetime as the value, since
10216                         the key is now taken from the the NMVPNConnection itself.  This
10217                         really fixes the double-VPN names in the applet
10218
10219 2007-08-13  Dan Williams  <dcbw@redhat.com>
10220
10221         Patch from Michael Biebl <biebl@debian.org>
10222
10223         * po/POTFILES.in
10224           po/POTFILES.skip
10225                 - Update for vpn-properties move
10226
10227 2007-08-13  Dan Williams  <dcbw@redhat.com>
10228
10229         * libnm-glib/nm-client.c
10230                 - Convert internal VPN connection tracking from a list to a hash table
10231                         to easily avoid duplicates
10232                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
10233                         must be freed by the caller, like nm_client_get_devices()
10234                 - (nm_client_remove_vpn_connection): don't let the removal signal
10235                         leak through for NMVPNConnection objects that aren't actually
10236                         tracked.
10237                 - (manager_running): throw away VPN connection list when NM goes away,
10238                         like with the device list
10239
10240 2007-08-13  Dan Williams  <dcbw@redhat.com>
10241
10242         * src/dhcp-manager/nm-dhcp-manager.c
10243                 - Stop any dhclient instance that might be already running for a
10244                         particular interface before starting an NM spawned dhclient.  Fixes
10245                         dhclient processes left over if NM crashes, stuff like that.
10246
10247 2007-08-13  Dan Williams  <dcbw@redhat.com>
10248
10249         * src/NetworkManagerAP.c
10250                 - (finalize): don't try to g_array_free (NULL, ...), which happened
10251                         when the AP wasn't broadcasting it's SSID
10252
10253 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
10254
10255         * include/NetworkManager.h: added DBus path for connection settings.
10256
10257         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
10258         nm_connection_settings_signal_updated,
10259         nm_connection_settings_signal_removed): new functions to wrap the
10260         objects' signals.
10261         (nm_connection_settings_init): register GObject with DBus.
10262         (nm_connection_settings_get_dbus_object_path): new function.
10263
10264         * libnm-glib/Makefile.am: added libnmutil to link flags.
10265
10266 2007-08-13  Tambet Ingo  <tambet@gmail.com>
10267
10268         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
10269
10270         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
10271         libnm_glib directory got merged with libnm-glib/.
10272
10273         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
10274
10275         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
10276         Rename the library from libnm-glib to libnm_glib to maintain the library API
10277         compatibility with 0.6 branch.
10278
10279         * Makefile.am: Remove gnome/ SUBDIR.
10280
10281         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
10282
10283         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
10284
10285         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
10286
10287         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
10288         anymore.
10289         Remove checks for wpa_supplicant binary, it's used over dbus.
10290         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
10291
10292         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
10293         Link the binaries with libnm_glib.la.
10294
10295 2007-08-12  Dan Williams  <dcbw@redhat.com>
10296
10297         * src/NetworkManagerPolicy.c
10298                 - (nm_policy_device_change_check): fix policy to deactivate old device
10299                         before activating new one, at least until the multiple active
10300                         device support lands
10301
10302 2007-08-12  Dan Williams  <dcbw@redhat.com>
10303
10304         * src/NetworkManagerPolicy.c
10305                 - (nm_policy_new): hook up to connection-added / connection-removed
10306                         signals instead of connections-changed
10307
10308 2007-08-12  Dan Williams  <dcbw@redhat.com>
10309
10310         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
10311         Robert Frank <rfrank@redhat.com>
10312
10313         * src/dhcp-manager/nm-dhcp-manager.c
10314           src/dhcp-manager/nm-dhcp-manager.c
10315           src/nm-device.c
10316                 - Spawn and communicate with dhclient directly, through means of a
10317                 custom dhclient callout script.  Process callout D-Bus signals
10318                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
10319                 sent via gobject signals rather than being driven by the dhcp manager
10320                 directly.
10321
10322 2007-08-12  Dan Williams  <dcbw@redhat.com>
10323
10324         * callouts/nm-dhcp-client-action.c
10325                 - (build_message): ignore non-DHCP-related environment variables
10326
10327 2007-08-12  Dan Williams  <dcbw@redhat.com>
10328
10329         * Makefile.am
10330           configure.in
10331           callouts/Makefile.am
10332           callouts/nm-dhcp-client-action.c
10333           callouts/nm-dhcp-client.conf
10334                 - Add dhclient-executed callout that takes the place of dhclient-script
10335                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
10336                 NM then listens for
10337
10338 2007-08-09  Tambet Ingo  <tambet@gmail.com>
10339
10340         [Based on patch by Helmut Schaa <hschaa@suse.de>]
10341
10342         * libnm-glib/nm-client.h:
10343         * libnm-glib/nm-object.h:
10344         * libnm-glib/nm-vpn-connection.h:
10345         * libnm-glib/nm-settings.h:
10346         * libnm-glib/nm-device.h:
10347         * libnm-glib/nm-ip4-config.h:
10348         * libnm-glib/nm-access-point.h:
10349         * libnm-glib/nm-device-802-3-ethernet.h:
10350         * libnm-util/nm-setting.h: 
10351         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
10352
10353         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
10354
10355         * libnm-glib/nm-access-point.c: Strength has type char.
10356
10357         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
10358         to fix build. GnomeDruid is deprecated in recent libgnomeui.
10359
10360         * introspection/nm-access-point.xml: Strength property is char, not int.
10361
10362         * src/NetworkManagerAP.c (set_property): Set strength from char.
10363         (get_property): Handle hidden APs (with empty SSID).
10364         Get strength value from char.
10365         (nm_ap_class_init): Strength property has char type.
10366
10367 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
10368
10369         * introspection/Makefile.am:
10370         * introspection/nm-settings.xml:
10371         * introspection/nm-settings-connection.xml: added Settings interfaces.
10372
10373         * libnm-glib/nm-settings.[ch]:
10374         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
10375         containing the DBus implementation.
10376
10377 2007-07-26  Dan Williams  <dcbw@redhat.com>
10378
10379         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
10380
10381         * src/NetworkManagerSystem.c
10382                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
10383                         same subnet (#437396)
10384
10385 2007-07-26  Dan Williams  <dcbw@redhat.com>
10386
10387         Patch from Kelemen Gábor <kelemeng@gnome.hu>
10388
10389         * gnome/vpn-properties/nm-vpn-properties.c
10390                 - Fix translatable strings (#445865)
10391
10392 2007-07-26  Dan Williams  <dcbw@redhat.com>
10393
10394         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
10395
10396         * configure.in
10397                 - Remove useless junk (#412530)
10398
10399 2007-07-10  Christopher Aillon  <caillon@redhat.com>
10400
10401         Patch from Robert Buchholz <rbu@gentoo.org>:
10402
10403         * configure.in:
10404         * Makefile.am:
10405         * introspection/Makefile.am:
10406         Make make distcheck work again.
10407
10408 2007-06-27  Dan Williams  <dcbw@redhat.com>
10409
10410         * Make SSIDs GByteArrays everywhere
10411         * Rename "essid" -> "ssid" everywhere that's appropriate
10412         * Refcount activation_ap member of the 802.11 wireless device class
10413
10414 2007-06-27  Tambet Ingo  <tambet@ximian.com>
10415
10416         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
10417
10418 2007-06-22  Tambet Ingo  <tambet@ximian.com>
10419
10420         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
10421         that we got a new AP when we just update existing AP properties.
10422
10423 2007-06-21  Tambet Ingo  <tambet@ximian.com>
10424
10425         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
10426
10427         * nm-utils.[ch]: Remove.
10428
10429         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
10430         objects for easy property access and dbus connection handling.
10431
10432         * libnm-glib/nm-client.c: Derive from NMObject.
10433
10434         * libnm-glib/nm-device.c: Ditto.
10435
10436         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
10437
10438         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
10439
10440         * libnm-glib/nm-ip4-config.c: Ditto.
10441
10442         * libnm-glib/nm-access-point.c: Ditto.
10443
10444         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
10445         comparision. Currently used by the device activation code to determine if the new
10446         activation is the same as the old one.
10447
10448         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
10449         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
10450         able to ask password for the AP.
10451
10452         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
10453         up if the device is already connected, tear down it's connection (if it isn't the
10454         same as new one) and start the activation.
10455
10456         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
10457
10458         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
10459         the issue where all APs are always listed as encrypted.
10460
10461         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
10462         their own registered paths.
10463
10464         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
10465         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
10466
10467 2007-06-13  Tambet Ingo  <tambet@ximian.com>
10468
10469         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
10470         (0 & 0 == 0, doh)
10471
10472         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
10473         because the handling code will cause the next state change and signal listeners
10474         get the signals in wrong order.
10475
10476         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
10477         correctly in case of pending activation.
10478
10479         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10480         Convert the essid byte array to string correctly, including the terminating NULL.
10481
10482         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
10483         mode with correct types.
10484
10485         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
10486         constructed info to dbus call instead of the activation request.
10487
10488 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10489
10490         Patch from Christian Persch <chpe@gnome.org>
10491
10492         * libnm-glib/Makefile.am:
10493         * dispatcher-daemon/Makefile.am:
10494         Use the correct variables, the correct paths, and correct ordering. (446315)
10495
10496 2007-06-11  Tambet Ingo  <tambet@ximian.com>
10497
10498         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
10499         argument. The activation request is easy to retrieve.
10500
10501         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
10502         just to be a convenient location for devices to store random stuff.
10503
10504 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10505
10506         Patch from Alex Smith <alex@alex-smith.me.uk>
10507
10508         * src/backends/NetworkManagerFrugalware.c:
10509         Update the FrugalWare backend to fix a few segfaults. (#392642)
10510
10511 2007-06-08  Tambet Ingo  <tambet@ximian.com>
10512
10513         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
10514
10515         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
10516         setting.
10517         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
10518
10519 2007-06-06  Tambet Ingo  <tambet@ximian.com>
10520
10521         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
10522         automagically.
10523         Implement NMSettingIP4Config.
10524         Finish NMSettingWired by adding all known members.
10525         (setting_wired_verify): Implement.
10526         Finish NMSettingWireless by adding all known members.
10527         (setting_wireless_verify): Implement.
10528
10529         * libnm-util/nm-connection.c: Register "ipv4" setting.
10530         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
10531         dump function, we can introspect the GHashTable which is used for sending connections
10532         over dbus.
10533
10534         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10535         Take GByteArray for essid, it's really not a string.
10536
10537         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
10538         Start DHCP request if setting is not passed or if it states that DHCP should be used.
10539         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
10540         means overriding the values we got from DHCP.
10541         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
10542         (nm_device_deactivate_quickly): Ditto.
10543
10544         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
10545         for debugging.
10546
10547 2007-05-07  Tambet Ingo  <tambet@ximian.com>
10548
10549         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
10550         NMConnection.
10551
10552         * libnm-glib/nm-device-802-11-wireless.c:
10553         (nm_device_802_3_ethernet_activate): Remove.
10554
10555         * libnm-glib/nm-device-802-3-ethernet.c
10556         (nm_device_802_3_ethernet_activate): Remove.
10557
10558         * libnm-glib/nm-device.c (nm_device_activate): Implement.
10559
10560         * src/nm-device-802-3-ethernet.c: Implement the new activation using
10561         NMConnection.
10562
10563         * src/nm-device-802-11-wireless.c: Store an activation AP once the
10564         activation has started.
10565         Implement the new activation using NMConnection.
10566
10567         * src/nm-activation-request.c: Store a generic connection object instead
10568         of a wireless-specific AP.
10569
10570         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
10571         on device type, create a device specific connection object suitable for
10572         device activation.
10573
10574         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
10575         specific check to validate the connection and on success start the
10576         activation.
10577
10578         * src/nm-device-interface.h: Add a activate virtual function to the
10579         interface definition.
10580
10581         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
10582         (impl_device_activate): Implement.
10583
10584         * introspection/nm-device.xml: Add a generic device activation interface
10585         that accepts an abstract NMConnection structure that has device-specific
10586         information in it.
10587
10588         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
10589         activation interface.
10590
10591         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
10592         activation interface.
10593
10594         * libnm-util/nm-connection.c: 
10595         * libnm-util/nm-connection.h: 
10596         * libnm-util/nm-setting.c:
10597         * libnm-util/nm-setting.h: Add.
10598
10599         * libnm-util/Makefile.am: Build the added files.
10600
10601         * src/nm-dbus-manager.c
10602         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
10603         DbusConnection argument from 'name-owner-changed' signal. The manager
10604         is already passed as a first argument to the signal and the connection
10605         is easy enough to get from it.
10606
10607         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
10608         Update the signature of the function.
10609
10610         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
10611         Ditto.
10612
10613         * src/NetworkManager.c: Ditto.
10614
10615         * src/named-manager/nm-named-manager.c
10616         (nm_named_manager_name_owner_changed): Ditto.
10617
10618         * src/supplicant-manager/nm-supplicant-manager.c
10619         (nm_supplicant_manager_name_owner_changed): Ditto.
10620
10621         * src/nm-hal-manager.c (name_owner_changed): Ditto.
10622
10623         * src/dhcp-manager/nm-dhcp-manager.c
10624         (nm_dhcp_manager_name_owner_changed): Ditto.
10625
10626         * src/nm-hal-manager.c: Add a list of device detectors and creators
10627         to make it easier to add new devices. Each device type has it's own
10628         entry in the table so adding new device types is only a matter of
10629         implementing a couple of functions, one for device detection and the
10630         other for device creation.
10631
10632 2007-04-25  Dan Williams  <dcbw@redhat.com>
10633
10634         * initscript/RedHat/NetworkManager.in: remove trailing backslash
10635                 (gnome.org #432401)
10636
10637 2007-03-30  Dan Williams  <dcbw@redhat.com>
10638
10639         * src/NetworkManagerSystem.c
10640                 - (nm_system_device_set_ip4_route): clean up and fix argument
10641                         to nm_dev_sock_open()
10642
10643 2007-03-28  Tambet Ingo  <tambet@ximian.com>
10644
10645         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
10646         data to correct types instead of always using string.
10647
10648         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
10649         _not_ have NM_802_11_CAP_PROTO_NONE.
10650         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
10651         is not set.
10652
10653 2007-03-27  Tambet Ingo  <tambet@ximian.com>
10654
10655         * libnm-glib/Makefile.am: Fix the build issue.
10656
10657 2007-03-26  Tambet Ingo  <tambet@ximian.com>
10658
10659         * libnm-glib/nm-vpn-connection.h: 
10660         * libnm-glib/nm-vpn-connection.c: Implement.
10661
10662         * libnm-glib/nm-client.c: Add VPN support.
10663
10664         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
10665         handler for VPN.
10666
10667         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
10668         on DBUS again.
10669
10670 2007-03-26  Dan Williams  <dcbw@redhat.com>
10671
10672         * src/NetworkManagerAPList.c
10673         * src/nm-device-802-11-wireless.c
10674         * src/NetworkManagerAP.c:
10675                 - Store last seen as glong instead of GTimeVal.
10676                 - Fix the upper bound of capabilities, it's a bitfield.
10677
10678 2007-03-16  Tambet Ingo  <tambet@ximian.com>
10679
10680         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
10681
10682         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
10683         "manager-running" signal that notifies the appearance/disappearance of NM.
10684         (nm_client_sleep): Implement.
10685
10686         * libnm-glib/nm-device.c:
10687         * libnm-glib/nm-device-802-11-wireless.c: 
10688         * libnm-glib/nm-device-802-3-ethernet.c: 
10689
10690         Don't inherit from DBusGProxy, add a proxy to private
10691         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
10692         for anything but their own dbus interface. DBusGProxy objects support only one
10693         interfaces and to work around this, NMDevice has spearate proxy for each dbus
10694         interface. The nice side effect of this change is that we do not create a new
10695         DBusGProxy object for each property access.
10696
10697 2007-03-15  Tambet Ingo  <tambet@ximian.com>
10698
10699         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
10700         with zeroes before passing them to functions - the functions never do that and
10701         reading the values back may produce wrong values.
10702         (real_bring_up): Store the signal handler id ...
10703         (real_bring_down): ... So that it can be removed here.
10704         Disconnect the supplicant interface here as well.
10705         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
10706         from the access point instead of old $device/Networks/$essid.
10707
10708         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
10709         device state is connected (instead of just having link/carrier).
10710
10711         * src/nm-activation-request.c: Don't store NMData in activation request, it's
10712         already easily accessible through the device.
10713
10714         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
10715         store it within the object.
10716         (nm_ap_get_dbus_path): Export it to public as well.
10717
10718         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
10719         of the singleton.
10720
10721 2007-03-12  Dan Williams  <dcbw@redhat.com>
10722
10723         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
10724         for non-carrier-detect capable devices, and useless for carrier-detect
10725         devices since we get notifications from netlink about carrier status anyway.
10726
10727         * src/nm-device-802-3-ethernet.c
10728                 - remove 'link_source_id' member from private data
10729                 - (probe_link): remove and collapse into real_update_link()
10730                 - (nm_device_802_3_periodic_update): remove
10731                 - (real_is_up): check for sup_iface rather than link_source_id
10732                 - (real_bring_up): return gboolean for success/fail; require that
10733                         sup_iface be valid for device bringup to succeed
10734                 - (real_bring_down): zero out link signal ids
10735
10736         * src/nm-device.c
10737                 - (nm_device_activate_stage2_device_config): fail activation if device
10738                         bringup fails
10739                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
10740                         fails
10741                 - (nm_device_bring_up): return success/fail
10742
10743         * src/nm-device.h
10744                 - bring_up now returns success/fail
10745
10746         * src/nm-device-802-11-wireless.c
10747                 - (real_bring_up): return success from bringup
10748
10749 2007-03-07  Dan Williams  <dcbw@redhat.com>
10750
10751         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
10752         * src/nm-ap-security-wpa-psk.c
10753                 - (real_write_supplicant_config): work with PSKs that may contain
10754                         zeros in the binary format rather than treating it as a string
10755
10756 2007-03-02  Tambet Ingo  <tambet@ximian.com>
10757
10758         * libnm-glib/nm-device-802-11-wireless.c
10759         (nm_device_802_11_wireless_get_capabilities): Implement.
10760
10761         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
10762
10763         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
10764
10765         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
10766         reply only if it's not NULL. Not sure why this started happening right now.
10767
10768         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
10769         code paths for when devices get removed on shutdown or when a device is just
10770         removed.
10771         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
10772         gets freed so any signal from a device (disconnected for instance) would invoke
10773         NMState update which would crash.
10774         (nm_manager_remove_device): Bring the device down when it gets removed.
10775
10776         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
10777         the unused dev_type.
10778
10779         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
10780         reference to the added device, NMManager will own it (if it wants).
10781
10782         * test/nm-tool.c: Rewrite using libnm-glib.
10783
10784         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
10785         We get signalled when it changes.
10786
10787         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
10788         when it changes.
10789
10790         * libnm-glib/nm-device.c: Cache the device state property.
10791
10792         * libnm-glib/nm-access-point.c: Cache the strength property.
10793
10794         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
10795         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
10796         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
10797         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
10798         the device is down, activating, or activated (in case of A/B/G cards).
10799         Remove some old dead ifdef'ed out code that used to configure wireless devices,
10800         it's all done through supplicant now.
10801
10802         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
10803         counting issues with pending calls which caused leaks and crashes when
10804         interface was removed (now that the interface actually gets removed).
10805
10806         * src/nm-call-store.c: Make a copy of data before running a foreach
10807         with user callback on it - The most common usage pattern is to cancel
10808         (and thus remove) all pending calls with foreach which would modify
10809         the hash table we're iterating over.
10810
10811         * src/nm-manager.c: When a device is added, make sure it is "up". When
10812         it's removed or disabled due to disabling wireless or networking, bring
10813         it down.
10814
10815         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10816
10817         * src/nm-device-802-11-wireless.c: 
10818         * src/nm-device-802-3-ethernet.c: 
10819         * src/nm-device.c:
10820                 - Remove "init" virtual function, all gobjects have a place for that
10821                   already (constructor).
10822                 - Replace "start" virtual function with "bring_up", devices can be
10823                   brought up and down more than just on startup now.
10824                 - Add "is_up" virtual function.
10825                 - Implement one way to bring a device down instead of previous 4 different
10826                   ways, each of witch did something different.
10827
10828         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10829         all it needs is the device interface.
10830
10831         Get rid of NMData.dev_list (3 members to go).
10832         Get rif of NMData in a lot of places.
10833
10834         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10835
10836 2007-02-23  Dan Williams  <dcbw@redhat.com>
10837
10838         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10839
10840         * src/NetworkManagerAP.c
10841                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10842                         OR-ing rather than AND-ing
10843
10844 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10845
10846         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10847         "network-removed" signals.
10848
10849         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10850
10851         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10852         when receiving the signal from dbus.
10853
10854         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10855         property.
10856
10857         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10858         deactivation of the previously activated device working again.
10859
10860         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10861         and setter.
10862
10863         * src/nm-device.c (nm_device_is_activated): Remove.
10864         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10865
10866         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10867         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10868         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10869         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10870         Remove NMNetworkStatus and NMActStage enums.
10871
10872 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10873
10874         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10875         Handle device state changes and disconnect VPN if it's device deactivates.
10876
10877         * src/nm-dbus-nm.c: 
10878         * src/nm-dbus-nm.h: 
10879         * src/nm-dbus-device.c: 
10880         * src/nm-dbus-device.c: 
10881         * src/nm-dbus-net.c: 
10882         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10883
10884         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10885
10886         * src/nm-device.c (nm_device_get_by_udi):
10887         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10888         implemented in the correct location (NMManager).
10889         Rip out all the test_device stuff.
10890
10891         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10892         failure handlers, it's all done by NMDevice already.
10893
10894         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10895         Remove the iochannel hack to route the unix signals to the main thread since
10896         we're not threaded anymore.
10897
10898         * src/NetworkManagerAP.c: Implement HWAddress property.
10899
10900         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10901         automatically with dbus-glib.
10902
10903         * src/nm-netlink-monitor.c: 
10904         * src/nm-netlink-monitor.h:
10905                 - Move it low in the class hierarchy, don't reference any NM types.
10906                 - Remove private data from the header.
10907                 - Use type safe checks in public API methods.
10908                 - Make it a singleton so we don't have to pass the single reference around.
10909
10910 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10911
10912         * introspection/nm-ip4-config.xml: Implement.
10913
10914         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10915
10916         * libnm-glib/nm-ip4-config.c:
10917         * libnm-glib/nm-ip4-config.c: Implement.
10918
10919         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10920         securities. APs reference security.
10921
10922         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10923         be exported over DBUS.
10924
10925         * src/nm-device-802-3-ethernet.c: Ditto.
10926
10927         * src/NetworkManagerAP.c:
10928         * src/NetworkManagerAP.h:
10929                 - Convert to GObject, export over DBUS.
10930
10931         * src/nm-ip4-config.h:
10932         * src/nm-ip4-config.h:
10933                 - Convert to GObject, export over DBUS.
10934
10935 2007-02-12  Dan Williams  <dcbw@redhat.com>
10936
10937         Patch from Helmut Schaa <hschaa@suse.de>
10938
10939         * vpn-daemons/pptp/configure.in
10940           vpn-daemons/pptp/Makefile.am
10941           vpn-daemons/openvpn/configure.in
10942           vpn-daemons/openvpn/Makefile.am
10943           vpn-daemons/vpnc/configure.in
10944           vpn-daemons/vpnc/Makefile.am
10945                 - Add --without-gnome switch which disables building gnome bits
10946
10947 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10948
10949         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10950
10951         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10952
10953         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10954         'HwAddress'.
10955
10956         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10957
10958         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10959
10960         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10961
10962         * src/:
10963                 - Remove old low-level dbus interface implementations and replace them
10964                   with dbus-glib one.
10965
10966         * configure.in:
10967                 - Require dbus-glib >= 0.72.
10968                 - Plug in new sources to build.
10969
10970         * libnm-glib/:
10971                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10972                   to make it more convenient to use from GObject based programs.
10973
10974         * introspection/:
10975                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10976
10977 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10978
10979         * src/nm-device-802-11-wireless.c:
10980                 - Add "network-added" and "network-removed" signals.
10981                 - Use gobject boilerplate macros to define the GObject.
10982                 - Implement wireless device activation.
10983                 - Remove activation_failure_handler and activation_success_handler
10984                   and instead listen on state-changed signals and run the same code
10985                   from there.
10986
10987         * src/nm-device.c:
10988                 - Implment NMDeviceInterface::deactivate.
10989                 - Remove activation_failure_handler and activation_success_handler
10990                   virtual methods. Each device which is interested in these events
10991                   can just listen on it's state changed signals.
10992
10993         * src/NetworkManagerPolicy.c:
10994                 - Move a bit more NMData usage to NMManager.
10995                 - Remove activation scheduling bits.
10996                 - Add listeners for wireless device's "network-added" and
10997                   "network-removed" signals.
10998                 - Listen device changed signals and deactivate currently activated
10999                   device when another device start activating (for now).
11000                 - Remove (nm_policy_schedule_device_change_check): There's never a need
11001                   for calling this, the policy code knows exactly when this should happen,
11002                   by listening on events from NMManager and NMDevices.
11003
11004         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
11005         Implement.
11006
11007         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
11008         method on the specific device instead of going to through policy code
11009         and determining the device type by passed in AP's existance.
11010
11011         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
11012         abstract NMDevice deactivation.
11013
11014 2007-02-08  Tambet Ingo  <tambet@ximian.com>
11015
11016         * src/NetworkManager.c:
11017                 - Set up all the shiny new managers.
11018
11019         * src/NetworkManagerPolicy.c:
11020                 - Add the beginnings of new NMPolicy code. Instead of requireing all
11021                   classes to call into policy code, make the policy code kind of like
11022                   a supervisor that monitors what's going on and drives the whole NM.
11023
11024         * src/nm-hal-manager.c: 
11025         * src/nm-hal-manager.h:
11026                 - Collect all libhal code scattered around NM to this one class.
11027                 - Listen libhal and NMManager events and add/remove devices to
11028                   NMManager.
11029
11030         * src/nm-manager.c:
11031         * src/nm-manager.h:
11032                 - Implment a replacement for NMData. NMData is now officially
11033                 deprecated.
11034
11035 2007-02-05  Tambet Ingo  <tambet@ximian.com>
11036
11037         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
11038         * src/supplicant-manager/nm-supplicant-interface.h
11039         * src/supplicant-manager/nm-supplicant-interface.c
11040         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
11041         argument to boolean from enum.
11042
11043         Make NMDevice abstract class, remove almost all references to it's
11044         subclasses (the last place gets removed with new policy manager). Add
11045         NMDeviceInterface (which NMDevice implements) so that when we have
11046         NMDevice exported over DBUS, there's a common NMDevice interface which
11047         all instances have, plus there's a device specific interface for each
11048         specific type.
11049         Remove functions (nm_device_is_802_3_ethernet) and
11050         (nm_device_is_802_11_wireless). There are already standard GObject macros
11051         for type safe checks.
11052         Use the updated supplican manager API.
11053
11054         * src/nm-device-interface.h: 
11055         * src/nm-device-interface.c: 
11056         * src/nm-call-store.h: 
11057         * src/nm-call-store.c: Implement.
11058
11059         * src/supplicant-manager/nm-supplicant-interface.c:
11060         * src/supplicant-manager/nm-supplicant-interface.h:
11061         * src/supplicant-manager/nm-supplicant-manager.c:
11062         * src/supplicant-manager/nm-supplicant-manager.h:
11063                 - Remove all private data type references from public header files.
11064                 - Remove all references to other NM classes, this class is just a
11065                   proxy between wpa_supplicant and NM so it doesn't have to know
11066                   any internals.
11067                 - Convert to dbus-glib bindings.
11068                 - Type safe checks for public methods' arguments.
11069                 - Store pending DBUS call ids to NMCallStore.
11070
11071         * src/supplicant-manager/nm-supplicant-config.c:
11072                 - Store config values in a GHashTable instead of GSList.
11073
11074         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
11075
11076         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
11077         singleton now.
11078
11079         * src/nm-device.c: Use the new DHCP manager API.
11080
11081         * src/nm-activation-request.c:
11082         * src/nm-activation-request.h:
11083                 - Remove all dhcp related properties and methods.
11084
11085         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
11086
11087         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
11088
11089         * src/dhcp-manager/nm-dhcp-manager.c:
11090         * src/dhcp-manager/nm-dhcp-manager.h:
11091                 - Convert it to GObject since we need to signal state changes.
11092                 - Remove all references to other NM classes, this class is one
11093                   of the lowest classes in our hierarchy.
11094                 - One less class to use NMActRequest.
11095                 - Make it singleton, one less user of NMData.
11096                 - Remove a couple of sleep() calls.
11097                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
11098                   One less class to use the NM's custom tailored signal handlig.
11099
11100         * Makefile.am: Generate marshallers, add them to build.
11101
11102 2007-02-02  Dan Williams  <dcbw@redhat.com>
11103
11104         * configure.in
11105           gnome/Makefile.am
11106           nm-applet.desktop
11107           Makefile.am
11108                 - Remove last bits referencing gnome applet
11109
11110 2007-02-02  Dan Williams  <dcbw@redhat.com>
11111
11112         * src/vpn-manager/nm-vpn-service.c
11113                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
11114                         and NBNS server addresses
11115
11116 2007-02-02  Tambet Ingo  <tambet@ximian.com>
11117
11118         * src/nm-dbus-manager.c:
11119         * src/nm-dbus-manager.h:
11120                 - Convert all internal DBUS code to use dbus-glib bindings.
11121                 - Remove GObject properties, we don't need them here.
11122                 - Don't explicitly set things to NULL after freeing, glib is
11123                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
11124                 - Make public API argument checks type safe.
11125                 - Remove unnecessary (and wrong) cast to GObject for the first
11126                   argument to g_signal_* calls - The first argument is a gpointer.
11127                 - Export DBusGConnection to other cool classes that (are going to)
11128                   use dbus-glib.
11129
11130 2007-01-26  Dan Williams  <dcbw@redhat.com>
11131
11132         * libnm-util/dbus-dict-helpers.c
11133           libnm-util/dbus-dict-helpers.h
11134                 - Coordinate style with wpa_supplicant version to minimize diff
11135                 - Add uint32 array support
11136                 - (nmu_dbus_dict_append_uint32_array): new function
11137                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
11138                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
11139                         version; allow adding string array elements individually
11140
11141         * test/libnm-util/test-dbus-dict-helpers.c
11142                 - Test uint32 arrays
11143
11144 2007-01-27  Jürg Billeter  <j@bitron.ch>
11145
11146         * src/backends/NetworkManagerPaldo.c
11147                 - (nm_system_update_dns): clear nscd hosts cache
11148
11149 2007-01-04  Dan Williams  <dcbw@redhat.com>
11150
11151         Threading removal related cleanups:
11152
11153         - Use the glib default main context.  Remove the device main context
11154                 member from NMDevice, and the main_context member from NMData.  Change
11155                 all the idle and timeout scheduler functions to use plain
11156                 g_idle_add() and g_timeout_add().
11157
11158         - As a side-effect of the first change, nm_dbus_manager_get() no longer
11159                 takes an argument; fix that up too.
11160
11161         - Remove all locking, which is useless since we no longer use threads.  For
11162                 example, nm_get_device_by_iface_locked() has been removed.  The global
11163                 device list lock, the AP List lock, and all static locks in
11164                 NetworkManagerPolicy.c have been removed.  The locking utility functions
11165                 in NetworkManagerUtils.c have also been removed.
11166
11167         - Other cleanups in spacing and code style
11168
11169 2007-01-01  Dan Williams  <dcbw@redhat.com>
11170
11171         Found by Bill Moss:
11172
11173         * src/supplicant-manager/nm-supplicant-interface.c
11174                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
11175                         the supplicant interface wasn't already disconnected.  Always
11176                         call removeNetwork and disconnect unless the supplicant interface
11177                         is in the DISCONNECTED or INACTIVE state.
11178
11179 2006-12-28  Dan Williams  <dcbw@redhat.com>
11180
11181         Use a single thread for everything.  With the move to wpa_supplicant
11182         and communication over D-Bus, there's no reason for multiple threads.
11183         Almost all of the blocking code has been removed, with one exception in
11184         the DHCP manager and a few in the VPN manager.  This commit removes the
11185         per-device worker thread and fixes activation cancellation in the absence
11186         of threads.  Further removal of thread-related code would be removing
11187         any locking code (like the device list lock) and simplification of logic
11188         around areas of code or data structures that are currently locked.
11189
11190         * autoip.c
11191           dhcp-manager/nm-dhcp-manager.c 
11192           nm-device-802-11-wireless.c
11193           nm-device-802-3-ethernet.c
11194           nm-device.c
11195           nm-device.h
11196                 - Remove usage of multiple threads
11197
11198 2006-12-19  Dan Williams  <dcbw@redhat.com>
11199
11200         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
11201         plus a few other patches from wpa_supplicant bugzilla.
11202
11203         * src/Makefile.am
11204           src/NetworkManagerPolicy.c
11205           src/NetworkManagerUtils.c
11206           src/NetworkManagerUtils.h
11207           src/nm-ap-security-leap.c
11208           src/nm-ap-security-wep.c
11209           src/nm-ap-security-wpa-eap.c
11210           src/nm-ap-security-wpa-psk.c
11211           src/nm-ap-security.c
11212           src/nm-ap-security.h
11213           src/nm-device-802-11-wireless.c
11214           src/nm-device-802-11-wireless.h
11215           src/supplicant-manager/nm-supplicant-config.c
11216           src/supplicant-manager/nm-supplicant-config.h
11217           src/supplicant-manager/nm-supplicant-interface.c
11218           src/supplicant-manager/nm-supplicant-interface.h
11219           src/supplicant-manager/nm-supplicant-marshal.list
11220           src/supplicant-manager/nm-supplicant-settings-verify.c
11221           src/supplicant-manager/nm-supplicant-settings-verify.h
11222                 - Move all connection management and association handling to
11223                         wpa_supplicant over dbus, rather than spawning a private copy
11224
11225 2006-12-19  Dan Williams  <dcbw@redhat.com>
11226
11227         * src/NetworkManagerPolicy.c
11228                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
11229                         better locking of the device change check handler ID.  Incorrect
11230                         locking was causing lost device change requests
11231
11232 2006-12-18  Dan Williams  <dcbw@redhat.com>
11233
11234         * libnm-util/dbus-dict-helpers.c
11235                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
11236                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
11237                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
11238
11239 2006-12-18  Dan Williams  <dcbw@redhat.com>
11240
11241         * gnome/libnm_glib/libnm_glib.c
11242                 - Change dbus_connection_close() -> dbus_connection_unref()
11243
11244 2006-12-11  Dan Williams  <dcbw@redhat.com>
11245
11246         * src/supplicant-manager/nm-supplicant-interface.c
11247                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
11248                         wpa_supplicant interface state
11249                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
11250                         state before transitioning to READY state
11251
11252 2006-12-04  Dan Williams  <dcbw@redhat.com>
11253
11254         * src/nm-device-802-11-wireless.c
11255                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
11256                         odd length of ESSID returned from ieee80211 stack-based drivers
11257
11258 2006-12-04  Dan Williams  <dcbw@redhat.com>
11259
11260         * src/nm-device-802-11-wireless.c
11261                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
11262                         IE handling blocks that cause mis-parsing of the IE
11263
11264 2006-12-04  Dan Williams  <dcbw@redhat.com>
11265
11266         * src/nm-device-802-11-wireless.c
11267                 - (init_supplicant_interface): new function; pull supplicant interface
11268                         setup code out into standalone function since it must be called from
11269                         two different places
11270                 - (real_init): sup_mgr is now in private object data; get and track
11271                         the supplicant manager object over the NMDevice subclass' lifetime
11272                         and register a signal handler for its state signals; only try to
11273                         initialize the supplicant interface if the supplicant manager is in
11274                         the IDLE state (and therefore is ready for requests)
11275                 - (request_wireless_scan): reschedule the scan request if (a) there is
11276                         no supplicant interface yet (meaning wpa_supplicant isn't running
11277                         or isn't ready yet), or (b) if the supplicant interface isn't ready
11278                         for requests yet
11279                 - (supplicant_iface_connection_state_cb): new function; stub for
11280                         handling supplicant interface connection state signals
11281                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
11282                         comes and goes
11283                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
11284                         supplicant manager object that's being tracked starting with this
11285                         commit
11286
11287 2006-12-04  Dan Williams  <dcbw@redhat.com>
11288
11289         * src/supplicant-manager/nm-supplicant-interface.c
11290                 - (nm_supplicant_interface_set_property): track signal handler ID
11291                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
11292
11293 2006-12-04  Dan Williams  <dcbw@redhat.com>
11294
11295         * src/supplicant-manager/nm-supplicant-interface.[ch]
11296                 - (nm_supplicant_interface_get_state): new function
11297
11298 2006-12-04  Dan Williams  <dcbw@redhat.com>
11299
11300         * src/supplicant-manager/nm-supplicant-interface.c
11301                 - (bssid_properties_cb): don't treat DBus errors as valid
11302                         scanned AP messages
11303
11304 2006-12-04  Dan Williams  <dcbw@redhat.com>
11305
11306         * src/supplicant-manager/nm-supplicant-interface.[ch]
11307                 - (nm_supplicant_interface_get_connection_state): new function
11308                 - define new supplicant connection states
11309                 - send a signal when the supplicant connection state changes
11310
11311 2006-12-03  Dan Williams  <dcbw@redhat.com>
11312
11313         * src/supplicant-manager/Makefile.am
11314           src/supplicant-manager/nm-supplicant-connection.h
11315           src/supplicant-manager/nm-supplicant-connection.c
11316           src/supplicant-manager/nm-supplicant-config.h
11317           src/supplicant-manager/nm-supplicant-config.c
11318           src/supplicant-manager/nm-supplicant-types.h
11319           src/supplicant-manager/nm-supplicant-interface.h
11320           src/supplicant-manager/nm-supplicant-interface.c
11321                 - Rename NMSupplicantConnection -> NMSupplicantConfig
11322
11323 2006-12-03  Dan Williams  <dcbw@redhat.com>
11324
11325         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
11326
11327         * po/POTFILES.in
11328           po/POTFILES.skip
11329                 - Move VPN-related translatables to .skip
11330
11331         * vpn-daemons/pptp/po/POTFILES.in
11332                 - Update with new translatables
11333
11334 2006-12-02  Dan Williams  <dcbw@redhat.com>
11335
11336         Patch from Christian Persch <chpe@gnome.org>
11337
11338         * gnome/applet/Makefile.am
11339           gnome/applet/applet-dbus-devices.c
11340           gnome/applet/applet-notifications.c
11341           gnome/applet/applet.c
11342           gnome/applet/applet.h
11343           gnome/applet/main.c
11344                 - Be a GtkStatusIcon on GTK+ >= 2.10
11345
11346 2006-12-02  Dan Williams  <dcbw@redhat.com>
11347
11348         * gnome/applet/applet.c
11349                 - (nma_update_info): fix two unecessary allocations
11350
11351 2006-12-02  Dan Williams  <dcbw@redhat.com>
11352
11353         Patch from Michael Biebl <biebl@teco.edu>
11354         * configure.in
11355           man/NetworkManager.1.in
11356           man/NetworkManagerDispatcher.1.in
11357           man/NetworkManager.8.in
11358           man/NetworkManagerDispatcher.8.in
11359                 - Add .SH NAME stanzas
11360                 - Move NM & NM Dispatcher manpages to section 8 (admin)
11361
11362 2006-12-02  Dan Williams  <dcbw@redhat.com>
11363
11364         Patch from Christian Persch <chpe@gnome.org>
11365
11366         * configure.in
11367                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
11368
11369 2006-11-29  Tambet Ingo  <tambet@ximian.com>
11370
11371         Patch by Timo Hoenig <thoenig@suse.de>:
11372         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
11373         DBUS-1.0.
11374
11375         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
11376         we can't use the one from the main source directory.
11377
11378 2006-11-27  Dan Williams  <dcbw@redhat.com>
11379
11380         Patch from Christian Persch <chpe@gnome.org>
11381
11382         * gnome/applet/applet-dbus-devices.c
11383                 - (hal_info_product_cb): fix memleak; free duped string.
11384                         Gnome.org #379908
11385
11386 2006-11-27  Dan Williams  <dcbw@redhat.com>
11387
11388         Patch from Christian Persch <chpe@gnome.org>
11389
11390         * gnome/applet/menu-items.c
11391                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
11392                         as gtk_progress_set_percentage is deprecated.  Should
11393                         work as far back as GTK+ 2.4.  Gnome.org #379780
11394
11395 2006-11-26  Dan Williams  <dcbw@redhat.com>
11396
11397         Scan using wpa_supplicant over DBus.
11398
11399         * src/nm-device-802-11-wireless.c
11400                 - remove wireless extensions netlink event handler bits
11401                         (wireless_event_helper, nm_device_802_11_wireless_event)
11402                 - remove wireless extensions scan event handler bits
11403                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
11404                         hex2byte, hex2num, request_and_convert_scan_results,
11405                         free_process_scan_cb_data, scan_results_timeout,
11406                         schedule_scan_results_timeout, cancel_scan_results_timeout)
11407                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
11408                         and request scans from the supplicant interface rather than directly
11409                 - Move functionality of convert_scan_results() to cull_scan_list() and
11410                         supplicant_iface_scanned_ap_cb()
11411                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
11412                         at the scan interval when the current scan has finished
11413                 - (supplicant_iface_state_cb): start scanning when the supplicant
11414                         interface enters the READY state, and stop scanning when it
11415                         enters the DOWN state
11416                 - (cull_scan_list): weed out old access points from the scan list
11417                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
11418                         point into an NMAccessPoint and merge it into the device's scan list
11419
11420         * src/supplicant-manager/nm-supplicant-interface.c
11421           src/supplicant-manager/nm-supplicant-interface.h
11422                 - Add a new signal "scan-result" which is issued when the supplicant
11423                         notifies NM that a scan has completed
11424                 - Add a new signal "scanned-ap" that notifies listeners of a new access
11425                         point found in the scan.  Called once for each access point that
11426                         the supplicant interface object receives from the supplicant as a
11427                         result of the "scanResults" method call
11428                 - (wpas_iface_query_scan_results): don't wait 4s before querying
11429                         for the initial scan results
11430                 - (scan_request_cb): new function; send listeners the result
11431                         (success, error) of a wireless scan request
11432                 - (nm_supplicant_interface_request_scan): new function; ask the
11433                         supplicant to perform an immediate wireless scan
11434
11435 2006-11-25  Dan Williams  <dcbw@redhat.com>
11436
11437         * src/supplicant-manager/Makefile.am
11438                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
11439                         add HAL cflags/includes and named-manager includes directory
11440
11441         * src/supplicant-manager/nm-supplicant-interface.h
11442                 - New state STARTING to handle transition from INIT to READY where
11443                         the addInterface pending call is still outstanding
11444
11445         * src/supplicant-manager/nm-supplicant-interface.c
11446                 - track pending calls differently since we may have more than one
11447                         going on at any given time
11448                 - request scan results from wpa_supplicant; but don't do it more often
11449                         than every 4 seconds.  Drivers that do background scanning
11450                         (like the 'ipw' drivers) send a continuous stream of scan completion
11451                         notifications, so we don't want to hammer the supplicant or dbus
11452                         with requests for all scan results every time we get a completion
11453                         notification.
11454
11455 2006-11-25  Dan Williams  <dcbw@redhat.com>
11456
11457         * src/supplicant-manager/nm-supplicant-types.h
11458                 - new file; move all supplicant manager object typedefs here for
11459                         #include sanity
11460
11461         * src/supplicant-manager/nm-supplicant-interface.c
11462           src/supplicant-manager/nm-supplicant-interface.h
11463                 - new file; an object that interfaces an NMDevice object to the
11464                         supplicant and handles signals from the supplicant.  This object
11465                         does all necessary DBus communication with wpa_supplicant.
11466
11467         * src/supplicant-manager/nm-supplicant-manager.c
11468           src/supplicant-manager/nm-supplicant-manager.h
11469                 - Actually do something.  Track the state of the wpa_supplicant service
11470                         and deal with its comings & goings.  Handle life events of
11471                         supplicant interfaces too.
11472                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
11473
11474         * src/supplicant-manager/nm-supplicant-connection.h
11475                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
11476
11477         * src/supplicant-manager/Makefile.am
11478                 - Add new files to build, and add libnm-util to includes
11479
11480         * src/nm-marshal.list
11481                 - New marshaler type: VOID:UINT,UINT
11482
11483         * src/nm-device-802-3-ethernet.c
11484                 - (real_init): grab a supplicant interface
11485                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
11486                 - (supplicant_iface_state_cb): new function, stub for handling
11487                         supplicant interface state changes
11488
11489         * src/nm-device-802-11-wireless.c
11490                 - (real_init): grab a supplicant interface
11491                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
11492                 - (supplicant_iface_state_cb): new function, stub for handling
11493                         supplicant interface state changes
11494
11495         * src/NetworkManager.c
11496                 - (main): create and keep the supplicant manager around for the lifetime
11497                         of NetworkManager
11498
11499         * src/Makefile.am
11500                 - Link to the supplicant manager sub-library and use the supplicant
11501                         manager includes
11502
11503 2006-11-25  Dan Williams  <dcbw@redhat.com>
11504
11505         Rework DBus manager signal handling to be more flexible.  Previously,
11506         only one signal handler could be registered for a particular interface.
11507         The DBus manager now reference counts DBus bus matches and allows multiple
11508         clients to register signal handlers for the same interface and sender.
11509
11510         * src/NetworkManager.c
11511                 - (main): track NMI signal handler ID and remove it when we quit
11512
11513         * src/NetworkManagerMain.h
11514                 - Keep track of NMI signal handler ID
11515
11516         * src/nm-dbus-manager.c
11517           src/nm-dbus-manager.h
11518                 - rework signal handling; each signal handler references one signal
11519                         match, but a signal match may be referenced by one or more
11520                         signal handlers.  Matches are refcounted and are destroyed when the
11521                         last signal handler that references the match is removed.  This is
11522                         necessary because two signal handlers may end up requiring the same
11523                         dbus bus match, so the match must live until the last signal handler
11524                         is destroyed (for example, with the wpa_supplicant network interface
11525                         dbus interface).
11526
11527         * src/dhcp-manager/nm-dhcp-manager.c
11528                 - (nm_dhcp_manager_new): track DHCP signal handler id
11529                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
11530
11531         * src/vpn-manager/nm-vpn-service.c
11532                 - (nm_vpn_service_add_watch): track VPN service signal handler id
11533                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
11534
11535 2006-11-25  Dan Williams  <dcbw@redhat.com>
11536
11537         Suggested by Helmut Schaa <hschaa@suse.de>
11538
11539         * src/vpn-daemons/nm-vpn-service.c
11540                 - (supplicant_child_setup): new function
11541                 - (supplicant_exec): make child process use a new process group id
11542
11543         * src/nm-device-802-11-wireless.c
11544                 - (nm_vpn_service_child_setup): new function
11545                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
11546                         process group id
11547
11548 2006-11-19  Dan Williams  <dcbw@redhat.com>
11549
11550         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
11551         * gnome/vpn-properties/nm-vpn-properties.c
11552                 - clean up after renamed VPN connection
11553
11554 2006-11-19  Dan Williams  <dcbw@redhat.com>
11555
11556         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
11557         * gnome/applet/applet-dbus-vpn.c
11558                 - (nma_dbus_vpn_properties_cb): sort VPN connections
11559
11560         * gnome/vpn-properties/nm-vpn-properties.c
11561                 - (init_app): sort VPN connections
11562
11563 2006-11-09  Dan Williams  <dcbw@redhat.com>
11564
11565         * src/NetworkManagerAPList.c
11566                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
11567                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
11568                 from the nm_ap_list_get_ap_by_address() call was incorrect and
11569                 broke hidden SSID matching.  Found by Bill Moss.
11570
11571 2006-10-25  Dan Williams  <dcbw@redhat.com>
11572
11573         * src/nm-dbus-nm.c
11574                 - (nm_dbus_nm_set_active_device): return an empty success message on
11575                         success, rather than falling through to the error case.
11576
11577 2006-10-25  Dan Williams  <dcbw@redhat.com>
11578
11579         * src/NetworkManagerUtils.c
11580                 - (nm_utils_supplicant_request_with_check): suppress messages for the
11581                         "SCAN" command
11582
11583 2006-10-24  Dan Williams  <dcbw@redhat.com>
11584
11585         Reduce the number of times the Gnome applet wakes up, especially when
11586         it's doing absolutely nothing and is hidden.  Initial patch by
11587         Chris Aillon.
11588
11589         * gnome/applet/applet-dbus.c
11590                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
11591                         kill the redraw timeout.  When NM starts up, start the redraw
11592                         timeout.  Also, if we get kicked off the bus for some reason,
11593                         start the reconnection timeout if one's not already running.
11594                 - (nma_dbus_init): better handling of error conditions, don't leak
11595                         a half-initialized dbus connection
11596                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
11597                         the applet's data, just call nm_dbus_init_helper()
11598                 - (nma_start_dbus_connection_watch): new function, starts a periodic
11599                         timeout that calls nma_dbus_connection_watcher()
11600                 - (nma_dbus_init_helper): if we get a successful connection, kill the
11601                         reconnection timeout, and don't start the reconnection timeout
11602                         unconditionally anymore
11603
11604         * gnome/applet/applet-dbus.h
11605                 - Expose nma_start_dbus_connection_watch()
11606
11607         * gnome/applet/applet.c
11608                 - (nma_update_state): no longer static, called from applet-dbus.c for
11609                         immediate UI updates on certain events
11610                 - (nma_set_running): new function; take over setting applet->running,
11611                         when not running (ie, NM is not active), don't activate the redraw
11612                         timeout because we're not showing the applet anyway.  When we are
11613                         running (ie, NM is active), and only when we're running, start the
11614                         redraw timeout.
11615                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
11616                         kill any reconnection timeout
11617                 - (nma_get_instance): move one-off dbus initialization code here since
11618                         nm_dbus_init_helper() gets called more than once, possibly by the
11619                         reconnection timeout function too.  And, when we start up, if we
11620                         can't get a connection to the bus, start the reconnection timeout.
11621                         But don't start the redraw timeout yet, only do that when we get
11622                         NM's state and find out if it's running or not.
11623
11624         * gnome/applet/applet.h
11625                 - Add the reconnection GSource ID
11626                 - Add prototypes for nma_set_running() and the no-longer-static
11627                         nma_update_state()
11628
11629 2006-10-24  Dan Williams  <dcbw@redhat.com>
11630
11631         * src/vpn-daemons/nm-dbus-vpnc.c
11632                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
11633                         pending call tracker
11634                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
11635                         pending call tracker; register one-vpn-connection update pending
11636                         call in pending call tracker
11637                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
11638                         update pending call in pending call tracker
11639                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
11640                         update pending call in pending call tracker; don't block waiting
11641                         for call to return
11642
11643 2006-10-19  Robert Love  <rml@novell.com>
11644
11645         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
11646           refresh the cache.
11647
11648 2006-10-14  Dan Williams  <dcbw@redhat.com>
11649
11650         * src/dhcp-manager/nm-dhcp-manager.c
11651                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
11652                 the dbus connection and the device object path rather than
11653                 constructing it inside both functions.  Saves a bit of memory
11654                 and clarifies a failure path.
11655                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
11656                 and allocate device path here rather than each of the two
11657                 functions above.
11658
11659 2006-10-13  Dan Williams  <dcbw@redhat.com>
11660
11661         * src/NetworkManager.c
11662                 - (nm_name_owner_changed_handler): handle NMI coming and going,
11663                 this somehow droppout in the refactor
11664
11665 2006-10-13  Dan Williams  <dcbw@redhat.com>
11666
11667         * Huge DBus refactor:
11668                 - Create a "DBus Manager" object which manages the connection and
11669                 sends signals on NameOwnerChanged and connection/disconnection events,
11670                 handles reconnection to the bus if NM gets kicked off, and abstracts
11671                 signal handling
11672                 - Remove DBusConnection members from places where they are no
11673                 longer needed due to the refactor, like the dbus-connection
11674                 property of the named manager, and from NMData
11675                 - Reformats a bunch of the code to gnome style
11676                 (8-space tabs, braces on same line as statement, 80-col width).
11677                 Consider it open season to reformat any bits to gnome style.
11678                 style that aren't already.
11679
11680 2006-10-13  Dan Williams  <dcbw@redhat.com>
11681
11682         * src/supplicant-manager/Makefile.am
11683                 - Add new files
11684
11685         * src/supplicant-manager/nm-supplicant-manager.[ch]:
11686                 - Make it a minimal GObject
11687
11688         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
11689                 - Verify settings destined for wpa_supplicant
11690
11691         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
11692                 - Minimal GObject to track wpa_supplicant controlled device
11693                 connections
11694
11695 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
11696
11697         * gnome/applet/applet.c: (nma_update_info),
11698         (nma_act_stage_to_pixbuf), (nma_update_state):
11699         Mark missing strings for translation. Fixes bug #343306.
11700
11701 2006-10-01  Dan Williams  <dcbw@redhat.com>
11702
11703         * src/vpn-manager/nm-vpn-manager.c
11704                 - (nm_vpn_manager_load_services): split and clean up
11705                 for readability and correctness.  Restrict VPN service
11706                 files to ending in ".name", as was meant from the
11707                 beginning (but not coded in).  Better error reporting.
11708
11709 2006-10-01  Dan Williams  <dcbw@redhat.com>
11710
11711         * utils/nm-utils.h
11712                 - Clean up formatting of debug/info/warning log messages
11713
11714 2006-09-27  Robert Love  <rml@novell.com>
11715
11716         Patch by Tambet Ingo <tambet@ximian.com>:
11717         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
11718           actually work.
11719
11720 2006-09-07  Dan Williams <dcbw@redhat.com>
11721
11722         * test/Makefile.am
11723           test/libnm-util/Makefile.am
11724           test/nm-supplicant-test.c
11725                 - Add test program emulating the way NM drives wpa_supplicant
11726                 to help debug supplicant issues
11727
11728 2006-08-24  Dan Williams <dcbw@redhat.com>
11729
11730         * configure.in
11731           src/Makefile.am
11732           src/supplicant-manager/Makefile.am
11733           src/supplicant-manager/nm-supplicant-manager.c
11734           src/supplicant-manager/nm-supplicant-manager.h
11735                 - Add skeleton bits of the wpa_supplicant manager
11736
11737 2006-08-24  Dan Williams <dcbw@redhat.com>
11738
11739         Patch from Ed Catmur:
11740         * src/NetworkManagerUtils.c
11741                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
11742                 if netmask is 0 (Gnome #352634)
11743
11744 2006-08-17  Robert Love  <rml@novell.com>
11745
11746         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
11747           package is now DBUS-enabled and listens for the NM signals.
11748
11749 2006-08-14  Dan Williams  <dcbw@redhat.com>
11750
11751         * Patch from Christian Persch <chpe gnome org>
11752         * configure.in
11753           po/LINGUAS
11754           vpn-daemons/openvpn/po/LINGUAS
11755           vpn-daemons/openvpn/configure.in
11756           vpn-daemons/pptp/po/LINGUAS
11757           vpn-daemons/pptp/configure.in
11758           vpn-daemons/vpnc/po/LINGUAS
11759           vpn-daemons/vpnc/configure.in
11760                 - Convert to LINGUAS method so translators don't have to modify
11761                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
11762                 0.35 or higher
11763
11764 2006-08-14  Dan Williams  <dcbw@redhat.com>
11765
11766         Patch from Alex Smith <alex.extreme2@gmail.com>
11767         * configure.in
11768           src/backends/Makefile.am
11769           src/backends/NetworkManagerFrugalware.c
11770                 - Add support for Frugalware
11771
11772 2006-08-13  Dan Williams  <dcbw@redhat.com>
11773
11774         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11775         * src/nm-device-802-11-wireless.c
11776                 - (supplicant_exec): spawn wpa_supplicant without debug spew
11777                 Gnome #346875
11778
11779 2006-08-13  Dan Williams  <dcbw@redhat.com>
11780
11781         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11782         * src/nm-ap-security.c
11783           src/nm-ap-security.h
11784                 - Add authentication_required bits for subclasses to specify whether
11785                 or not real authentication is required for connections, i.e. whether
11786                 the AP rejects us when an encryption key is wrong or not.
11787
11788         * src/nm-ap-security-wep.c
11789           src/nm-ap-security-wpa-eap.c
11790           src/nm-ap-security-wpa-psk.c
11791           src/nm-ap-security-leap.c
11792                 - Implement authentication_required appropriately for each method
11793
11794         * src/nm-device-802-11-wireless.c
11795                 - Be smarter about when to request a key; for example, using a wrong key
11796                 in WEP shared key mode previously just timed out and did not request
11797                 a new key
11798
11799 2006-08-13  Dan Williams  <dcbw@redhat.com>
11800
11801         * gnome/libnm_glib/libnm_glib.c
11802                 - dbus_connection_disconnect() -> dbus_connection_close() for
11803                 dbus >= 0.90
11804
11805 2006-08-07  Dan Williams  <dcbw@redhat.com>
11806
11807         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11808         * src/NetworkManagerSystem.c
11809                 - Respect specified MTU.  Gnome #344967
11810
11811 2006-08-07  Dan Williams  <dcbw@redhat.com>
11812
11813         * src/vpn-manager/nm-vpn-service.c
11814                 - Simplify print_vpn_config() arguments
11815
11816         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11817         * src/vpn-manager/Makefile.am
11818           src/vpn-manager/nm-vpn-service.c
11819                 - Add new API for passing VPN config options as a dict. Gnome #344967
11820
11821 2006-08-06  Dan Williams  <dcbw@redhat.com>
11822
11823         * gnome/applet/applet-dbus-devices.c
11824           gnome/applet/applet-dbus-vpn.c
11825           gnome/applet/applet-dbus.c
11826           gnome/applet/applet-dbus.h
11827           src/nm-dbus-nmi.c
11828           utils/nm-utils.c
11829           utils/nm-utils.h
11830                 - Make pending call tracking code generic,
11831                 so we can use it in NM as well as the applet
11832
11833 2006-08-06  Dan Williams  <dcbw@redhat.com>
11834
11835         * src/nm-activation-request.c
11836                 - Refcount pending call objects
11837
11838 2006-08-06  Dan Williams  <dcbw@redhat.com>
11839
11840         Patch from Christan Chiesa <christanc@gmail.com>
11841         * configure.in
11842                 - Tell sha1.c to use bigendian mode on PPC
11843
11844 2006-08-04  Robert Love  <rml@novell.com>
11845
11846         Glib Memory Slices!
11847         * configure.in: Require glib 2.10 or later.
11848         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11849           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11850           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11851           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11852           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11853           Memory Slices are the greatest thing since bread slices.
11854         * src/NetworkManagerAP.c: Also, fix memory leak.
11855
11856 2006-08-01  Robert Love  <rml@novell.com>
11857
11858         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11859
11860 2006-07-31  Robert Love  <rml@novell.com>
11861
11862         * src/backends/interface_parser.c: Declarations must begin the block.
11863
11864 2006-07-24  Dan Williams  <dcbw@redhat.com>
11865
11866         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11867         * src/backends/Makefile.am
11868           src/backends/NetworkManagerArch.c
11869           src/backends/NetworkManagerDebian.c
11870           src/backends/NetworkManagerGeneric.c
11871           src/backends/NetworkManagerGeneric.h
11872           src/backends/NetworkManagerGentoo.c
11873           src/backends/NetworkManagerPaldo.c
11874           src/backends/NetworkManagerRedHat.c
11875           src/backends/NetworkManagerSlackware.c
11876           src/backends/NetworkManagerSuSE.c
11877                 - Genericize common backend functions
11878
11879 2006-07-18  Robert Love  <rml@novell.com>
11880
11881         * configure.in: Add "--with-notify" option to allow disabling of
11882           libnotify support.
11883
11884 2006-07-13  Dan Williams  <dcbw@redhat.com>
11885
11886         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11887         * gnome/applet/applet.glade
11888           gnome/applet/Makefile.am
11889           gnome/applet/nm-gconf-wso.c
11890           gnome/applet/nm-gconf-wso-leap.c
11891           gnome/applet/nm-gconf-wso-leap.h
11892           gnome/applet/wireless-security-manager.c
11893           gnome/applet/wso-leap.c
11894           gnome/applet/wso-leap.h
11895           include/NetworkManager.h
11896           libnm-util/dbus-helpers.c
11897           libnm-util/dbus-helpers.h
11898           src/Makefile.am
11899           src/NetworkManagerAP.c
11900           src/nm-ap-security.c
11901           src/nm-ap-security-leap.c
11902           src/nm-ap-security-leap.h
11903                 - Add LEAP authentication support
11904
11905 2006-07-13  Dan Williams  <dcbw@redhat.com>
11906
11907         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11908         * configure.in
11909           src/backends/NetworkManagerArch.c
11910           src/backends/NetworkManagerDebian.c
11911           src/backends/NetworkManagerGentoo.c
11912           src/backends/NetworkManagerPaldo.c
11913           src/backends/NetworkManagerRedHat.c
11914           src/backends/NetworkManagerSlackware.c
11915           src/backends/NetworkManagerSuSE.c
11916                 - Convert hardcoding of 'ip' path to configure-time
11917                         detected one
11918
11919 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11920
11921         * configure.in: added ru to ALL_LINGUAS
11922
11923 2006-07-10  Dan Williams  <dcbw@redhat.com>
11924
11925         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11926         * src/nm-device.c
11927                 - (real_act_stage3_ip_config_start): don't infinite loop when
11928                         dhcdbd isn't running (Gnome #346845)
11929
11930 2006-07-09  Dan Williams  <dcbw@redhat.com>
11931
11932         * gnome/applet/applet.c
11933                 - (nma_destroy): don't pass NULL to notify_notification_close
11934                         (RH #197917)
11935
11936 2006-07-09  Dan Williams  <dcbw@redhat.com>
11937
11938         * gnome/applet/applet.c
11939                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11940
11941 2006-07-04  Tor Krill  <tor@krill.nu>
11942
11943         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11944         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11945         (nm_system_restart_mdns_responder), (ArchReadConfig),
11946         (nm_system_device_get_system_config):
11947                 - Explicitly check for DHCP configuration
11948                 - Check if daemons are running before starting them
11949
11950 2006-06-25  Dan Williams  <dcbw@redhat.com>
11951
11952         * libnm-util/dbus-dict-helpers.[ch]
11953           test/libnm-util/test-dbus-dict-helpers.c
11954                 - Add string array support
11955
11956 2006-06-24  Dan Williams  <dcbw@redhat.com>
11957
11958         * src/dhcp-manager/nm-dhcp-manager.c
11959                 - (nm_dhcp_manager_process_signal): clean up spacing
11960
11961 2006-06-21  Dan Williams  <dcbw@redhat.com>
11962
11963         * src/nm-dbus-device.c
11964                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11965                         through dbus
11966
11967 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11968
11969         * configure.in: Added 'lv' to ALL_LINGUAS
11970
11971 2006-06-19  Dan Williams  <dcbw@redhat.com>
11972
11973         * src/NetworkManagerAP.c
11974                 - Clarify usage of user_created
11975
11976         * src/nm-ap-security-wep.c
11977           src/nm-ap-security-wpa-eap.c
11978           src/nm-ap-security-wpa-psk.c
11979           src/nm-ap-security.c
11980           src/nm-ap-security.h
11981                 - s/user_created/adhoc, because we really do mean adhoc
11982
11983         Patch from Bernard Blackham <bernard@blackham.com.au>
11984         * src/nm-device-802-11-wireless.c         
11985                 - (supplicant_send_network_config): instead of user_created,
11986                         use adhoc, and do AP_SCAN 2 for adhoc networks
11987
11988 2006-06-18  Robert Love  <rml@novell.com>
11989
11990         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11991           we have a value to set.  Gconf generates a warning if `val' is NULL.
11992         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11993           unless we actually received a valid private key file passphrase or
11994           password.  Otherwise, we don't know to later ask the applet to pull
11995           the key from the keyring.
11996
11997 2006-06-17  Dan Williams  <dcbw@redhat.com>
11998
11999         * libnm-util/dbus-dict-helpers.[ch]
12000           test/libnm-util/test-dbus-dict-helpers.c
12001                 - Fixes for zero-length byte arrays
12002                 - Replace return values of 0 with FALSE for clarity
12003                 - Test zero-length byte arrays
12004
12005 2006-06-17  Dan Williams  <dcbw@redhat.com>
12006
12007         * libnm-util/dbus-dict-helpers.[ch]
12008           test/libnm-util/test-dbus-dict-helpers.c
12009                 - Add helpers for byte arrays
12010                 - Rework bits of the testcase
12011
12012 2006-06-16  Dan Williams  <dcbw@redhat.com>
12013
12014         * libnm-util/Makefile.am
12015         * libnm-util/dbus-dict-helpers.[ch]
12016                 - Add some helpers to take the pain out of using dict types in
12017                         dbus.
12018
12019         * test/libnm-util/Makefile.am
12020         * test/libnm-util/test-dbus-dict-helpers.c
12021                 - Test cases for the dict helper functions
12022
12023 2006-06-15  Robert Love  <rml@novell.com>
12024
12025         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
12026           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
12027           if there is no key to pass.
12028         * libnm-util/dbus-helpers.c: Given the above, we can trust always
12029           receiving a non-NULL key.
12030
12031 2006-06-14  Robert Love  <rml@novell.com>
12032
12033         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
12034           copy the strings.
12035
12036
12037 2006-06-14  Dan Williams  <dcbw@redhat.com>
12038
12039         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
12040         * src/nm-device-802-11-wireless.c
12041                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
12042                         or ones where the driver is unknown
12043                 - (supplicant_exec): don't wait for supplicant startup here
12044                 - (supplicant_interface_init): finer grained polling for supplicant
12045                         startup
12046
12047 2006-06-13  Robert Love  <rml@novell.com>
12048
12049         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
12050           if it is currently set to TRUE.  Otherwise, we will reset the value
12051           when we connect normally.
12052         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
12053           the old BSSID is valid, too.  The recently added ESSID check may not be
12054           sufficient (we can remove it?).  What we really want to catch is the
12055           case of going from all-zeros to the BSSID of some other network, which
12056           happens on failure.
12057
12058 2006-06-09  Dan Williams  <dcbw@redhat.com>
12059
12060         * src/NetworkManagerSystem.[ch]
12061                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
12062                         it was unused and pointless
12063                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
12064                         fix for set_up_down_with_iface change
12065
12066         * src/vpn-manager/nm-vpn-connection.c
12067                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
12068
12069         * src/backends/NetworkManagerPaldo.c
12070           src/backends/NetworkManagerRedHat.c
12071           src/backends/NetworkManagerSuSE.c
12072           src/backends/NetworkManagerArch.c
12073           src/backends/NetworkManagerDebian.c
12074           src/backends/NetworkManagerGentoo.c
12075                 - (nm_system_enable_loopback): use set_up_down_with_iface where
12076                         appropriate
12077                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
12078                         where appropriate
12079
12080 2006-06-09  Dan Williams  <dcbw@redhat.com>
12081
12082         Patch from Peter Jones:
12083         * src/nm-device-802-11-wireless.c
12084                 - (nm_device_802_11_wireless_update_bssid): make sure that the
12085                         SSID hasn't changed from what we expect before automatically
12086                         updating the saved BSSID from a new AP
12087
12088 2006-06-08  Robert Love  <rml@novell.com>
12089
12090         Add 'fallback' support.  NetworkManager will attempt to brute-force
12091         connect to networks marked as fallback if there are no better wireless
12092         connections available.  This is useful as a method of last resort, to
12093         work around driver problems, and for use with hidden networks.
12094         * gnome/applet/applet-dbus-devices.c,
12095           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
12096         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
12097           pass it on via DBUS.
12098         * gnome/applet/applet.c: No fallback by default.
12099         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
12100           Update other-network-dialog to add UI checkbox toggling fallback.
12101         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
12102           propery from AP object.  Add "fallback" property to AP object.
12103         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
12104         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
12105         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
12106           separate function.  Add get_best_fallback_ap() for returning an AP
12107           on which to attempt fallback.
12108         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
12109         * test/nm-set-fallback: New file.  Sets a given network as fallback.
12110
12111 2006-06-07  Robert Love  <rml@novell.com>
12112
12113         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
12114           checked that the return type was GCONF_VALUE_STRING, not the correct
12115           GCONF_VALUE_BOOL, and thus it never worked.
12116         * src/NetworkManagerAPList.c: Before concluding that two networks are
12117           identical based on their BSSID, make sure that the BSSID in question
12118           is actually valid.  Specifically, an empty or all zero BSSID does not
12119           cut it.
12120         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
12121           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
12122           similar invariant clean up.
12123
12124 2006-06-02  Robert Love  <rml@novell.com>
12125
12126         * gnome/applet/applet.c: Update copyright years.  Add Novell.
12127
12128 2006-05-28  Dan Williams  <dcbw@redhat.com>
12129
12130         * gnome/applet/applet.glade
12131           gnome/vpn-properties/nm-vpn-properties.glade
12132                 - Set window icons on dialogs  (Gnome.org #333420)
12133
12134 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
12135
12136         * gnome/vpn-properties/nm-vpn-properties.glade:
12137         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
12138         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
12139         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
12140                 - Make the VPN properties pages prettier and more HIG
12141                   compliant. Gnome Bug #336913.
12142
12143 2006-05-28  Dan Williams  <dcbw@redhat.com>
12144
12145         Patch from Christian Persch <chpe@gnome.org>
12146         * gnome/vpn-properties/nm-vpn-properties.c
12147         * gnome/vpn-properties/nm-vpn-properties.glade
12148                 - HIG-ification love  (Gnome.org #336846)
12149
12150 2006-05-28  Dan Williams  <dcbw@redhat.com>
12151
12152         Patch from Christian Persch <chpe@gnome.org>
12153         * configure.in
12154           gnome/vpn-properties/nm-vpn-properties.c
12155                 - (main): Fix option parsing.  Gnome.org #336847
12156
12157 2006-05-28  Dan Williams  <dcbw@redhat.com>
12158
12159         * gnome/vpn-properties/nm-vpn-properties.c
12160                 - (find_vpn_ui_by_service_name): protect against NULL service names
12161                 - (update_edit_del_sensitivity): protect against NULL service names
12162                         Gnome.org #341306
12163
12164 2006-05-28  Dan Williams  <dcbw@redhat.com>
12165
12166         Patch from Chris Fuller <crf@grandecom.net>:
12167         * src/nm-device-802-11-wireless.c
12168                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
12169                         don't dispose of wireless-specific stuff unless it is actually
12170                         initialized.  Gnome.org #341263
12171
12172 2006-05-28  Dan Williams  <dcbw@redhat.com>
12173
12174         * src/NetworkManagerPolicy.c
12175                 - (nm_policy_device_change_check): don't switch devices if the "best"
12176                         AP is essentially the same as the current activation request, but
12177                         the current activation request isn't done activating yet.  Fixes
12178                         multiple requests for keyring password on startup for Gnome applet.
12179                         Gnome.org #341297
12180
12181 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
12182
12183         * src/NetworkManager.c: use GOptions instead of getopt
12184         * configure.in: bump glib required version to >= 2.6 for GOption
12185           support
12186
12187 2006-05-25  Robert Love  <rml@novell.com>
12188
12189         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
12190           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
12191           instead of dumping ifdef's throughout the code.
12192         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
12193           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
12194           use nm_ioctl_info() in lieu.
12195
12196 2006-05-25  Robert Love  <rml@novell.com>
12197
12198         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
12199         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
12200           not using gcrypt.  Otherwise, we get a linker error.
12201
12202 2006-05-25  Robert Love  <rml@novell.com>
12203
12204         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
12205         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
12206           configure flag to disable building of the GNOME-based applet.
12207
12208 2006-05-25  Robert Love  <rml@novell.com>
12209
12210         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
12211           parameter from link, because it shadows a global variable with some
12212           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
12213           should never have exported to the entire system a common four letter
12214           word.  But we here at NetworkManager are team players.  Fixes
12215           GNOME bug #336532.
12216
12217 2006-05-25  Arangel Angov <ufo@linux.net.mk>
12218
12219         * configure.in: Added mk.po, Macedonian translation.
12220
12221 2006-05-24  Robert Love  <rml@novell.com>
12222
12223         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
12224           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
12225           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
12226
12227 2006-05-24  Robert Love  <rml@novell.com>
12228
12229         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
12230           libnm-util/Makefile.am, src/Makefile.am,
12231           vpn-daemons/openvpn/auth-dialog/Makefile.am,
12232           vpn-daemons/openvpn/properties/Makefile.am,
12233           vpn-daemons/pptp/auth-dialog/Makefile.am,
12234           vpn-daemons/pptp/properties/Makefile.am,
12235           vpn-daemons/vpnc/auth-dialog/Makefile.am,
12236           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
12237           user passed for --datadir, if anything, when setting the GNOME locale
12238           directory.  It should be a function of the specified datadir and not
12239           the prefix.
12240
12241 2006-05-24  Robert Love  <rml@novell.com>
12242
12243         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
12244           src/NetworkManager.c: Take care to call bindtextdomain with the
12245           location of msgid files.
12246         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
12247           files.
12248
12249 2006-05-22  Robert Love  <rml@novell.com>
12250
12251         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
12252           stage4_timeout on failure unless the wireless network is Ad-Hoc.
12253           99% of the time there is a real problem with wireless, and a
12254           seemingly successful connection via Zeroconf just confuses the user.
12255           And that 1% of the time the network is probably Ad-Hoc, anyhow.
12256
12257 2006-05-22  Robert Love  <rml@novell.com>
12258
12259         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
12260           autofs on interface up if NIS is configured.  On interface down, do
12261           nothing.
12262
12263 2006-05-22  Robert Love  <rml@novell.com>
12264
12265         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
12266           to avoid calling g_object_unref() on stale pointers on error in
12267           nma_icons_free().  This happens because we short-circuit loaded the
12268           icons on the first failure but then free all icons.  Normally we have
12269           no issue because the icons were zero'ed out malloc, but we have stale
12270           pointer data after nma_icon_theme_changed().
12271         * gnome/applet/main.c: Return error code if nma_new() failed.
12272
12273 2060-05-21  Dan Williams  <dcbw@redhat.com>
12274
12275         * initscript/NetworkManager.in
12276                 - Ensure both dhcdbd and named are started before NM
12277
12278 2006-05-21  Dan Williams  <dcbw@redhat.com>
12279
12280         * configure.in
12281                 - Bump version to 0.7 to signify we are in 0.7 development
12282
12283 2006-05-21  Dan Williams  <dcbw@redhat.com>
12284
12285         Patch from Adam Schreiber <sadam@clemson.edu>
12286         * gnome/vpn-properties/nm-vpn-properties.c
12287                 - (main): correct Gnome program name  (gnome.org #342498)
12288
12289 2006-05-21  Dan Williams  <dcbw@redhat.com>
12290
12291         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
12292
12293         * src/NetworkManagerDbus.[ch]
12294                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
12295                         clarify that function's argument should be an escaped dbus object
12296                         path, and look for path segment end before returning a match
12297         * src/nm-dbus-nm.c:
12298                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
12299
12300 2006-05-17  Robert Love  <rml@novell.com>
12301
12302         Functionality to differentiate Ad-Hoc networks from infrastructure
12303         networks in the applet, by displaying a special icon:
12304         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
12305         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
12306         * gnome/applet/menu-items.c: Set a special icon in the scan list for
12307           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
12308           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
12309           networks, encrypted or not.
12310         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
12311           accessor functions to get and set the mode of a given network,
12312           wireless_network_get_mode() and wireless_network_set_mode().
12313
12314 2006-05-17  Robert Love  <rml@novell.com>
12315
12316         Functionality to automatically add BSSIDs to the allowed-MAC list as
12317         one roams from access point to access point on a given network:
12318         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
12319           helper function to compare two ether_addr structures and return TRUE
12320           if they contain the same MAC address.
12321         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
12322           prototype.
12323         * src/nm-device-802-11-wireless.c: New function to update the BSSID
12324           stored with the current AP.  If the BSSID has indeed changed, we
12325           send it out to the applet, allowing the allowed-MAC list to grow
12326           automatically in response to roaming.
12327
12328 2006-05-16  Robert Love  <rml@novell.com>
12329
12330         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
12331           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
12332
12333 2006-05-13  Dan Williams  <dcbw@redhat.com>
12334
12335         * src/nm-device-802-3-ethernet.c
12336                 - (real_get_generic_capabilities): Don't ignore devices that can't do
12337                         carrier detect (Debian bug #366373)
12338
12339 2006-05-11  Dan Williams  <dcbw@redhat.com>
12340
12341         Patch from Michael Biebl <biebl@teco.edu>
12342         * src/backends/NetworkManagerDebian.c
12343                 - Debian backend fixups
12344
12345 2006-05-10  Robert Love  <rml@novell.com>
12346
12347         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
12348
12349 2006-05-09  Robert Love  <rml@novell.com>
12350
12351         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
12352           private certificate passphrase, if any, in the GNOME Keyring.
12353         * libnm-utils/dbus-helpers.c: Update.
12354
12355 2006-05-05  Dan Williams  <dcbw@redhat.com>
12356
12357         * src/nm-device-802-11-wireless.c
12358                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
12359                         nm_device_802_11_wireless_disable_encryption() since that's all
12360                         we use it for anymore; we don't ever set WEP keys ourselves.
12361                 - (real_deactivate_quickly): reset SSID and encryption keys
12362                 - (real_deactivate): move SSID and encryption key reset to
12363                         real_deactivate_quickly(), which gets run before us anyway
12364
12365 2006-05-05  Robert Love  <rml@novell.com>
12366
12367         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
12368           root has a wacky default of its own (or, more common, a user has a
12369           bad umask and uses su/sudo to restart NetworkManager).  Anything
12370           other than 0022 does not do what we want with, for example,
12371           resolv.conf.  This problem is amplified by our judicious use of
12372           fopen(), which uses mode 0666 -- implying that the only way to get
12373           the permissions we want is with a umask of 0022.
12374
12375 2006-05-05  Dan Williams  <dcbw@redhat.com>
12376
12377         * gnome/libnm_glib/libnm_glib.c
12378                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
12379                         to reconnect; instead wait a bit more with each reconnect attempt
12380                         up to a max of one minute.
12381
12382 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
12383
12384         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
12385           the WirelessNetwork structure using the proper function instead of
12386           just casting it directly to (const char *) (gnome.org #336991)
12387
12388 2006-05-03  Robert Love  <rml@novell.com>
12389
12390         * src/backends/NetworkManagerSuSE.c: Respect the variable
12391           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
12392           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
12393           to dynamically update /etc/resolv.conf.
12394
12395 2006-05-02  Peter Jones  <pjones@redhat.com>
12396
12397         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
12398
12399 2006-05-02  Robert Love  <rml@novell.com>
12400
12401         Patch by Timo Hoenig;
12402         * tests/nm-online.c: Print pretty status indicator as timeout winds
12403           down.  Also fix possible race between DBUS startup and failure
12404           return.
12405
12406 2006-05-01  Robert Love  <rml@novell.com>
12407
12408         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
12409           empty, too.
12410
12411 2006-04-27  Jeremy Katz  <katzj@redhat.com>
12412
12413         * src/nm-device.c (discover_device_type): Actually use the hal
12414         device type instead of ioctl poking
12415
12416 2006-04-26  Robert Love  <rml@novell.com>
12417
12418         * tests/nm-online.c: New file.  Simple utility that returns exit status
12419           noting whether the connection is offline or online.  If offline on
12420           start, it waits 30 seconds (or a command-line given value) for an
12421           online signal.  If it times out, it again returns offline.  This is
12422           useful for scripts that want to wait for network connections.
12423
12424 2006-04-25  Robert Love  <rml@novell.com>
12425
12426         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
12427           key mode (the authentication algorithm), e.g. open or shared, when we
12428           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
12429           only shared was broken.  If the user specified a shared key, set it
12430           explicitly, otherwise let wpa_supplicant go with the default.
12431
12432 2006-04-24  Dan Williams  <dcbw@redhat.com>
12433
12434         * src/nm-device-802-11-wireless.c
12435                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
12436
12437 2006-04-24  Dan Williams  <dcbw@redhat.com>
12438
12439         Commit the async scanning patch
12440
12441         * src/nm-device-802-11-wireless.c
12442                 - get rid of scan_mutex
12443                 - (wireless_event_helper): act on wireless scan events
12444                 - (real_start): schedule a pending scan
12445                 - (link_to_specific_ap): fake the link to the AP during a scan
12446                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
12447                         strength during scans
12448                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
12449                         nm_device_set_bitrate): unused with new scanning code, disable
12450                 - (nm_device_wireless_schedule_scan): removed
12451                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
12452                 - (request_and_convert_scan_results): new function; retrieve scan
12453                         results from the driver and schedule the processing function
12454                 - (scan_results_timeout): timeout triggered when card doesn't send
12455                         a scan results wireless event during a certain interval
12456                 - (schedule_scan_results_timeout): new function; schedule the scan
12457                         results timeout
12458                 - (cancel_scan_results_timeout): new function; cancel the scan
12459                         results timeout
12460                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
12461                         to do the scanning.  Otherwise, just request a scan but don't
12462                         grab results here; instead schedule a timeout for scan results and
12463                         let netlink notify us of scan completion events
12464                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
12465                 - (cancel_pending_scan): new function; cancel a pending wireless scan
12466                 - (supplicant_status_cb): ignore disconnect events while scanning
12467                 - (supplicant_exec): wait a bit longer for the supplicant to start up
12468                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
12469                         timeouts
12470                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
12471
12472 2006-04-24  Dan Williams  <dcbw@redhat.com>
12473
12474         * gnome/applet/applet-dbus.c
12475                 - Disable the pending call debug stuff, seems under control now
12476
12477 2006-04-20  Robert Love  <rml@novell.com>
12478
12479         Fix bug where hidden ESSID's would not show up in the applet, even
12480         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
12481         because nm_policy_device_list_update_from_allowed_list() would merge
12482         the data, putting a name to the hidden networks, but never notify NMI
12483         of the changes.  Simple fix is to invoke the function
12484         nm_dbus_signal_wireless_network_change() if we make a mapping.
12485         * src/NetworkManagerAPList.c: Call the function
12486           nm_dbus_signal_wireless_network_change() if we made a successful
12487           BSSID to ESSID mapping, notifying the applet of the "new" network.
12488         * src/NetworkManagerAPList.h: Update the prototypes for both
12489           nm_ap_list_copy_essids_by_address() and
12490           nm_ap_list_copy_one_essid_by_address().
12491
12492 2006-04-20  Robert Love  <rml@novell.com>
12493
12494         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
12495           not set.  Just return zero.
12496
12497 2006-04-20  Robert Love  <rml@novell.com>
12498
12499         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
12500           only one copy of nm-vpn-properties is running at a time via the 'ol
12501           X selection trick.  This prevents the user from opening two "VPN
12502           Connections" windows from within the applet, which leads to mass
12503           hysteria.
12504         * clipboard.c: New file, implementing simple X selection logic.
12505         * clipboard.h: New file.
12506         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
12507
12508 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
12509
12510         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
12511         * configure.in
12512           initscript/Gentoo/Makefile.am
12513           initscript/Gentoo/NetworkManagerDispatcher.in
12514                 - New script
12515         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
12516           Gentopia
12517
12518 2006-04-16  Dan Williams  <dcbw@redhat.com>
12519
12520         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
12521         * configure.in
12522           initscript/Slackware/Makefile.am
12523           initscript/Slackware/rc.networkmanager-dispatcher.in
12524           initscript/Slackware/rc.networkmanager.in
12525                 - Update slackware initscripts
12526
12527 2006-04-10  Robert Love  <rml@novell.com>
12528
12529         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
12530           the "delete_event" signal on the druid's parent window and handle it
12531           our way, lest using the WM to close the druid results in a series of
12532           bloody and ultimately lethal errors.
12533
12534 2006-04-10  Robert Love  <rml@novell.com>
12535
12536         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
12537           'Back' too or else the 'Forward' option is initially disabled despite
12538           valid input.
12539
12540 2006-04-06  Robert Love  <rml@novell.com>
12541
12542         Fix bad but simple bug where an active modem connection did not update
12543         NM's connection state, breaking any app that did online/offline:
12544         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
12545           represented whether a dial up connection is active, or not.
12546         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
12547           to modem activation and deactivation.
12548         * src/NetworkManagerDbus.c: When asked our state, do not return
12549           disconnected if the modem is active.
12550
12551 2006-04-04  Robert Love  <rml@novell.com>
12552
12553         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
12554           applet.  It just confuses the crap out of people and does not make a
12555           lot of sense, as the daemon still runs.
12556
12557 2006-04-02  Tor Krill  <tor@krill.nu>
12558
12559         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
12560           in start of service.
12561         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
12562           get Archlinux backend up to date.
12563
12564 2006-03-29  Robert Love  <rml@novell.com>
12565
12566         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
12567         to add support for per-route MSS and improve support for per-interface
12568         MTU:
12569         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
12570           optionally take an MSS parameter and set it for the given route.
12571           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
12572           NMIP4Config's stored MSS, if any.
12573         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
12574           the interface's MTU and the route's MSS, respectively.  Add functions
12575           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
12576           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
12577           MSS.
12578         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
12579           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
12580           nm_ip4_config_set_mss.
12581         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
12582           VPN daemon.
12583         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
12584           Change the retval of nm_system_get_mtu to guint32.
12585         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
12586           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
12587           servers can specify MTU's, we should set it here if the MTU was not
12588           provided.
12589
12590 2006-03-27  Jürg Billeter  <j@bitron.ch>
12591
12592         * configure.in:
12593         * initscript/Makefile.am:
12594         * initscript/paldo/Makefile.am:
12595         * initscript/paldo/NetworkManager.in:
12596         * initscript/paldo/NetworkManagerDispatcher.in:
12597         * src/backends/Makefile.am:
12598         * src/backends/NetworkManagerPaldo.c:
12599                 - Add paldo support
12600
12601 2006-03-27  Dan Williams  <dcbw@redhat.com>
12602
12603         Patch from Christian Persch <chpe@gnome.org>
12604         * gnome/applet/applet.glade
12605                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
12606
12607 2006-03-27  Dan Williams  <dcbw@redhat.com>
12608
12609         Patch from Diffe <diffie@blazebox.homeip.net>
12610         * src/backends/NetworkManagerSlackware.c
12611                 - Don't restart howl, since it's been replaced by Avahi
12612                         in most distributions
12613
12614 2006-03-27  Dan Williams  <dcbw@redhat.com>
12615
12616         Patch from Tor Krill <bugzilla@krill.nu>
12617         * configure.in
12618           initscript/Makefile.am
12619           src/backends/Makefile.am
12620           src/backends/NetworkManagerArch.c
12621           initscript/Arch/Makefile.am
12622           initscript/Arch/networkmanager-dispatcher.in
12623           initscript/Arch/networkmanager.in
12624                 - Add Arch Linux support, fixes gnome.org #335147
12625
12626 2006-03-27  Dan Williams  <dcbw@redhat.com>
12627
12628         Patch from Diffe <diffie@blazebox.homeip.net>
12629      * initscript/Slackware/rc.networkmanager
12630         - update, fixed gnome.org #333368
12631
12632 2006-03-27  Robert Love  <rml@novell.com>
12633
12634         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
12635           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
12636
12637 2006-03-27  Robert Love  <rml@novell.com>
12638
12639         Patch by Jürg Billeter <j@bitron.ch>:
12640         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
12641           systems.
12642         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
12643           as we prefer glibc over kernel headers, if possible.
12644
12645 2006-03-27  Robert Love  <rml@novell.com>
12646
12647         Patch by Jon Escombe <list@dresco.co.uk>:
12648         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
12649         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
12650           fail, don't bail out.  We don't expect all of the various WPA-EAP
12651           values to be present.
12652         * src/nm-ap-security.c: We need to match all capabilities for each
12653           encryption type, not any one of them.
12654
12655 2006-03-27  Robert Love  <rml@novell.com>
12656
12657         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
12658           restart, not reload, ypbind.  Unfortunately there is no superior
12659           solution.
12660
12661 2006-03-24  Christopher Aillon  <caillon@redhat.com>
12662
12663         * gnome/applet/applet-notifications.c:
12664         When displaying a notification, make sure to get rid of the
12665         previous notification so as to not have competing bubbles,
12666         and stop leaking the old one.
12667
12668         * gnome/applet/applet.c:
12669         * gnome/applet/applet.h:
12670         Add a new 'notification' member to the applet, and zero it out
12671         and free it appropriately.
12672
12673 2006-03-23  Robert Love  <rml@novell.com>
12674
12675         Patch by j <j@bootlab.org>:
12676         * gnome/applet/applet.glade: Don't set the invisible_char property,
12677           which simply overrides the GTK default.  By and by, this behavior
12678           ought to be fixed in Glade.
12679
12680 2006-03-22  Robert Love  <rml@novell.com>
12681
12682         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
12683
12684 2006-03-22  Robert Love  <rml@novell.com>
12685
12686         Bug fix by Timo Hoenig <thoenig@suse.de>:
12687         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
12688           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
12689           and the applet going AWOL.
12690
12691 2006-03-22  Robert Love  <rml@novell.com>
12692
12693         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
12694           preprocessor define and use it instead of open-coded the DHCP
12695           timeout, which is currently 25 seconds, everywhere.
12696
12697 2006-03-22  Robert Love  <rml@novell.com>
12698
12699         Implement "Dynamic WEP", which is basically WPA authentication and WEP
12700         key exchange via WPA, ostensibly providing good security without
12701         requiring hardware that supports full WPA.  Also, add UI elements to
12702         allow the user to select the pairwise & group cipher for WPA Enterprise
12703         networks, too:
12704         * gnome/applet/applet.glade: Update glade file.
12705         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
12706           key type, too, to and from gconf.
12707         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
12708           wso_wpa_create_key_type_model(), noting whether we are handling PSK
12709           or EAP configuration, and in the latter case add in "Dynamic WEP" if
12710           the capabilities match.
12711         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
12712           prototype.
12713         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
12714           serialize from UI to DBUS.
12715         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
12716           one element.
12717         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
12718           nmu_security_serialize_wpa_eap_with_cipher(), and
12719           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
12720           serialize/deserialize the key type via DBUS as the new third DBUS
12721           parameter.
12722         * libnm-util/dbus-helpers.h: Update prototypes.
12723         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
12724           too.  If the key type is WEP104, do Dynamic WEP, which means
12725           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
12726           pairwise and group ciphers (fixes a FIXME).
12727
12728 2006-03-21  Robert Love  <rml@novell.com>
12729
12730         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
12731           nm_system_get_mtu(), which returns a user-provided or system-mandated
12732           MTU value for a given device, if any, or zero if no such value
12733           exists.  Add nm_system_set_mtu() to set the MTU for a given device
12734           if we have a provided value.
12735         * src/nm-device.c: Set the MTU of devices.
12736         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
12737         * src/backends/NetworkManagerDebian.c,
12738           src/backends/NetworkManagerGentoo.c,
12739           src/backends/NetworkManagerRedHat.c,
12740           src/backends/NetworkManagerSlackware.c: Implement stub functions.
12741
12742 2006-03-21  Robert Love  <rml@novell.com>
12743
12744         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
12745           configuration file.
12746
12747 2006-03-17  Robert Love  <rml@novell.com>
12748
12749         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
12750           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
12751           it, in case it is not running in the first place.  We just want its
12752           configuration reloaded.  Also, do not "rcypbind stop" on device down.
12753
12754 2006-03-15  Robert Love  <rml@novell.com>
12755
12756         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
12757           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
12758           label "WEP 40/128-bit" is inconsistent because the physical key size
12759           is 40 or 104-bits, to which a 24-bit initialisation vector is
12760           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
12761           to read "40/104" or "64/128".  I do not care much which, but most
12762           users think of "silver" and "gold" encryption as 64 and 128-bits, so
12763           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
12764           WEP passphrase support only handles 128-bit keys, and any future
12765           64-bit passphrase support will require a new option (no way to auto-
12766           detect the target key size), explicitly label our passphrase support
12767           "WEP 128-bit Passphrase".
12768
12769 2006-03-15  Robert Love  <rml@novell.com>
12770
12771         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
12772           the system init scripts (or some other mechanism) starting it (or a
12773           compatible DBUS service) before NetworkManager runs.  This means that
12774           distributions might need to update their init scripts.  This fixes
12775           possible races and is quite a bit cleaner.
12776         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
12777           starting the NetworkManager daemon.
12778
12779
12780 2006-03-14  Robert Love  <rml@novell.com>
12781
12782         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
12783           before adding anything.
12784
12785 2006-03-13  Robert Love  <rml@novell.com>
12786
12787         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
12788           widgets, too, if they exist, in case the user hit the back button.
12789           Fixes a bug where the details page contains the widgets of multiple
12790           VPN modules (Novell bug #157048).
12791
12792 2006-03-13  Robert Love  <rml@novell.com>
12793
12794         Patch by Timo Hoenig <thoenig@suse.de>:
12795         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
12796           daemon survive DBUS restarts, too.
12797
12798 2006-03-10  Robert Love  <rml@novell.com>
12799
12800         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
12801           passphrase or key.
12802         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12803           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
12804           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
12805           in response to "toggled" signal on new toggle.
12806
12807 2006-03-10  Robert Love  <rml@novell.com>
12808
12809         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12810           serialization if strings are NULL, lest DBUS get angry.
12811
12812 2006-03-10  Robert Love  <rml@novell.com>
12813
12814         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12815
12816 2006-03-09  Robert Love  <rml@novell.com>
12817
12818         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12819           configurations.
12820
12821 2006-03-09  Dan Williams  <dcbw@redhat.com>
12822
12823         Track pending call requests in the applet, and report how many are
12824         outstanding, and how long each completed one takes.
12825         
12826         * gnome/applet/applet-dbus-devices.c
12827           gnome/applet/applet-dbus-vpn.c
12828                 - Track pending calls
12829
12830         * gnome/applet/applet-dbus.[ch]
12831                 - Remove some unused enums
12832                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12833                         new functions to track dbus pending calls and spit out some
12834                         statistics about them
12835
12836 2006-03-09  Robert Love  <rml@novell.com>
12837
12838         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12839           nm_ap_set_timestamp() take the second and micro-second parameters as
12840           direct arguments, which avoids both a dynamic memory allocation and a
12841           structure-to-structure copy!  Add a new interface, the aptly named
12842           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12843           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12844           the return from nm_ap_get_timestamp().  New users should use the new
12845           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12846           the extreme benefit to performance.
12847         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12848           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12849
12850 2006-03-08  Robert Love  <rml@novell.com>
12851
12852         * gnome/applet/applet.glade: Hide the password entry text with
12853           asterisks.
12854
12855 2006-03-08  Robert Love  <rml@novell.com>
12856
12857         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12858           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12859           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12860           a second argument, NMData.
12861         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12862         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12863           config files as trusted.
12864
12865 2006-03-06  Robert Love  <rml@novell.com>
12866
12867         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12868         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12869           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12870           Rivera, detect if the applet was auto-started.  If so, ask the user
12871           if he or she would like to stop automatically running the applet on
12872           login.  If so, disable autostart.
12873
12874 2006-03-06  Robert Love  <rml@novell.com>
12875
12876         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12877           directory in CFLAGS so developers can actually use NetworkManager.h.
12878
12879 2006-03-06  Robert Love  <rml@novell.com>
12880
12881         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12882           open-coded integer constants.  Add state_to_string() to map a given
12883           state to a textual description, and provide that when notifying of
12884           state change.
12885         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12886           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12887           this header directly, but it is currently not installed on most
12888           systems.
12889
12890 2006-03-05  Dan Williams  <dcbw@redhat.com>
12891
12892         Process netlink messages in device subclasses rather than in
12893         NetworkManager.c.  Also add support for recognizing Wireless Events.
12894         
12895         * configure.in
12896                 - Find GLIB_GENMARSHAL
12897
12898         * src/Makefile.am
12899                 - Since we're marshalling custom types for wireless event signals,
12900                         we get to create our own marshallers using GLIB_GENMARSHAL
12901
12902         * src/NetworkManager.c
12903                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12904                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12905                         cut down somewhat.  We no longer process signals here.
12906                 - (nm_data_new): create the netlink monitor here, and remove a
12907                         useless call to nm_policy_schedule_device_change_check()
12908                 - (nm_data_free): get rid of the netlink monitor here
12909                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12910                 - (main): don't create the netlink monitor here, let nm_data_new
12911                         do that.  Call nm_policy_schedule_device_change_check() right
12912                         before we jump to the mainloop to figure out which device
12913                         to use first
12914
12915         * src/NetworkManagerSystem.[ch]
12916                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12917                         convert back and forth from interface names to interface
12918                         indexes
12919
12920         * src/nm-device-802-11-wireless.c
12921                 - (real_init): connect to wireless-event signals from the netlink
12922                         monitor object
12923                 - (nm_device_802_11_wireless_event): new function, schedule handler
12924                         for wireless event signals from the netlink monitor object.  We
12925                         want the handler to run in the device's context
12926                 - (wireless_event_helper): handle wireless-event signals from netlink
12927                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12928                         signal handler
12929
12930         * src/nm-device-802-11-wireless.h
12931                 - remove unused prototype for nm_device_802_11_wireless_new
12932
12933         * src/nm-device-802-3-ethernet.c
12934                 - (real_init): new function; set up signal handlers for link events
12935                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12936                         handler for netlink link activated events on device's main loop
12937                 - (link_activated_helper): when we get a link activated event, set
12938                         the device's link to be active
12939                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12940                         handler for netlink link deactivated events on device's main loop
12941                 - (link_deactivated_helper): when we get a link deactivated event, set
12942                         the device's link to be inactive
12943                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12944                         dispose
12945
12946         * src/nm-device-802-3-ethernet.h
12947                 - remove unused prototype for nm_device_802_3_ethernet_new
12948
12949         * src/nm-device.[ch]
12950                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12951                         but locks the device list
12952                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12953
12954         * src/nm-netlink-monitor.[ch]
12955                 - (nm_netlink_monitor_class_install_signals): New signal
12956                         "wireless-event"
12957                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12958                         at the device list
12959                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12960
12961         * src/nm-marshal-main.c
12962                 - Include generated nm-marshal.c and nm-marshal.h
12963
12964         * src/nm-marshal.list
12965                 - List of custom marshal functions
12966
12967 2006-03-05  Dan Williams  <dcbw@redhat.com>
12968
12969         * gnome/applet/applet-notifications.h
12970                 - Protect prototype of nma_send_event_notification() because it
12971                         includes libnotify-specific types
12972                 - Include libnotify/libnotify.h too, since we technically need it
12973
12974         * gnome/applet/applet.c
12975                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12976                 - (nma_show_vpn_login_banner_dialog): add some error checking
12977
12978 2006-03-04  Dan Williams  <dcbw@redhat.com>
12979
12980         Clean up activation cancellation.  Should be a lot faster now.  Observed
12981         an issue with wireless devices between stage 2 and 3 of activation, where
12982         activation would be cancelled, but the device thread wouldn't notice until
12983         the supplicant association timed out.  Reorganize activation such that
12984         a cancellation handler gets immediately scheduled in the device's thread,
12985         and devices have a chance to perform any custom cleanup too.
12986
12987         * src/nm-device.[ch]
12988                 - (activation_cancel_handler): new device-type-specific function
12989                         for cleaning up device-type-specific stuff on cancellation
12990                 - (cancel_activation): removed
12991                 - (nm_device_activation_cancel): subsume functionality of
12992                         real_cancel_activation, but instead of doing anything, punt
12993                         operation to a handler that's run in device-thread context
12994                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12995                         a warning message
12996                 - (activation_handle_cancel_helper): cancellation handler run in
12997                         device-thread context, calls device-type-specific cancelation,
12998                         then tears down the activation request
12999                 - (real_activation_cancel_handler): generic cancellation handler,
13000                         deals with cancelling any in-process DHCP request
13001                 - (nm_device_activate_stage1_device_prepare,
13002                    nm_device_activate_stage2_device_config,
13003                    nm_device_activate_stage3_ip_config_start,
13004                    nm_device_activate_stage4_ip_config_get,
13005                    nm_device_activate_stage4_ip_config_timeout,
13006                    nm_device_activate_stage5_ip_commit): don't call
13007                         nm_device_schedule_activation_handle_cancel() any more, since
13008                         cancellation will have been already scheduled for us by
13009                         nm_device_activation_cancel().  Just exit the function and
13010                         assume that the cancel handler will be called next.
13011
13012         * src/nm-device-802-3-ethernet.c
13013                 - (real_act_stage2_config): remove; didn't do anything anyway
13014
13015         * src/nm-device-802-11-wireless.c
13016                 - (supplicant_status_cb): ensure we don't do anything if the activation
13017                         got cancelled
13018                 - (real_activation_cancel_handler): implement; cancel user key request
13019                         on activation cancellation
13020
13021 2006-03-04  Dan Williams  <dcbw@redhat.com>
13022
13023         * src/nm-device-802-11-wireless.c
13024                 - (supplicant_send_network_config): assume that drivers that don't
13025                         support WPA pretty much suck, and can't handle NM scanning
13026                         along with wpa_supplicant.
13027
13028 2006-03-03  Robert Love  <rml@novell.com>
13029
13030         * configure.in: Bump version to 0.6.0.
13031         * NEWS: Update.
13032
13033 2006-03-03  Robert Love  <rml@novell.com>
13034
13035         * configure.in: Require DBUS 0.60 or later.
13036
13037 2006-03-03  Dan Williams  <dcbw@redhat.com>
13038
13039         Fix a crash if an "Other wireless network" was chosen, failed, then
13040         chosen again from the applet's menu.  If the other network wasn't
13041         noticed in a scan, it wouldn't have any capabilities, but would still
13042         be listed because the user forced the network.  To fix this, we set
13043         sensible capabilities on the forced network, which will get overwritten
13044         with the correct ones if the network shows up later in a scan.
13045         
13046         * src/nm-ap-security.h
13047                 - Add a new "get_default_capabilities_func" member to the
13048                         NMAPSecurity class
13049
13050         * src/nm-ap-security.c
13051                 - (nm_ap_security_get_default_capabilities): new function
13052
13053         * src/nm-ap-security.c
13054           src/nm-ap-security-wep.c
13055           src/nm-ap-security-wpa-psk.c
13056           src/nm-ap-security-wpa-eap.c
13057                 - Implement get_default_capabilities_func() for all, which
13058                         uses the information contained in a specific NMAPSecurity
13059                         object to determine default AP capabilites necessary
13060                         to support that object
13061
13062         As a secondary measure, we now prune artificial access points that fail
13063         to be activated right away.  The thing failed, and we have no scan data for
13064         it, so it's pretty much useless since security information is only saved
13065         in the applets when a connection is successful.
13066
13067         * src/NetworkManagerAPList.c
13068                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
13069                         not artificial.  If we see it, it's no longer a figment of the
13070                         user's imagination :)
13071
13072         * src/NetworkManagerPolicy.c
13073                 - (nm_policy_activation_failed): send along the failed AP if we
13074                         have it
13075
13076         * src/nm-device-802-11-wireless.c
13077                 - (real_activation_failure_handler): remove artificial APs from
13078                         the device list, because activation failed
13079
13080 2006-03-02  Robert Love  <rml@novell.com>
13081
13082         Add support for retrieving both the per-device speed and the
13083         per-network maximum supported rate.  Then change the getProperties
13084         DBUS API for both networks and devices to report this informaiton.
13085         Finally, display the information via both nm-applet and nm-tool:
13086         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
13087           and set it.
13088         * gnome/applet/applet.c: Display the device's speed in the 'Connection
13089           Information' dialog.
13090         * gnome/applet/applet.glade: Update the UI to show per-device speed.
13091         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
13092           network_device_get_speed() and network_device_set_speed() for
13093           retrieving and setting, respectively, a network device's current
13094           speed.
13095         * src/nm-dbus-device.c: Send the device's speed on getProperties.
13096         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
13097           in the function nm_device_802_11_wireless_get_bitrate() -- it does
13098           not matter (yet) what the units are, because we only feed it its own
13099           output.  Implement SIOCGIRATE and set the per-network maximum
13100           supported rate during scanning.
13101         * src/nm-device-802-11-wireless.h: Export the function
13102           nm_device_802_11_wireless_get_bitrate().
13103         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
13104           function nm_device_802_3_ethernet_get_speed() for returning an
13105           802.3's current speed, in Mb/s.
13106         * test/nm-tool.c: Display the per-device current speed, if available,
13107           and the per-network maximum rate.
13108
13109 2006-03-02  Dan Williams  <dcbw@redhat.com>
13110
13111         * src/nm-device-802-11-wireless.c
13112                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
13113                         card when it gets initialized.  Since devices don't get added to
13114                         the scan list until they are initialized, this function wasn't
13115                         setting the intitial scan interval correctly, and was leaving
13116                         it at 0.  This caused cards to get many scan requests in a short
13117                         amount of time when they were initialized
13118
13119 2006-03-02  Robert Love  <rml@novell.com>
13120
13121         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
13122           active device.  But do not do what we used to do and override the
13123           state, which caused the dreaded icon race of '05.
13124
13125 2006-03-02  Robert Love  <rml@novell.com>
13126
13127         Commit Dan's update of my previous commit:
13128         * src/nm-device-802-11-wireless.c: Always set the mode, because the
13129           set_mode() function itself does the check.  But do only set the
13130           frequency if in Ad-Hoc mode.
13131
13132 2006-03-02  Robert Love  <rml@novell.com>
13133
13134         Patch by Brian Magnuson <magnuson@rcn.com>:
13135         * src/nm-device-802-11-wireless.c: During scanning, only set the
13136           wireless mode to infrastructure if it is not currently in
13137           infrastructure mode.  For some driver, setting the mode is a costly
13138           operation, apparently.
13139
13140 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
13141
13142         * Makefile.am: use the correct dir for autostart mechanism.
13143
13144 2006-02-28  Dan Williams  <dcbw@redhat.com>
13145
13146         Patch from Brian Magnuson <magnuson@rcn.com>
13147         * gnome/applet/applet.c
13148                 - (nma_show_vpn_failure_dialog): fix errors left over from
13149                         libnotify support changes
13150
13151 2006-02-28  Dan Williams  <dcbw@redhat.com>
13152
13153         * src/vpn-manager/nm-vpn-act-request.[ch]
13154                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
13155                         just one value
13156                 - (nm_vpn_act_request_is_failed): new function; return whether or
13157                         not the vpn activation request has failed
13158
13159         * src/vpn-manager/nm-vpn-manager.c 
13160                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
13161                         daemon to kill the connection when the activation request fails.
13162                         Fixes issue where NM would get confused if the VPN activation
13163                         request timed out, and would not allow further VPN connections
13164                         on that service.
13165
13166 2006-02-28  Dan Williams  <dcbw@redhat.com>
13167
13168         * gnome/applet/applet.c
13169                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
13170                         overlapping connection requests, disable all VPN menu items
13171                         but the active VPN connection
13172
13173 2006-02-28  Dan Williams  <dcbw@redhat.com>
13174
13175         * src/vpn-manager/nm-vpn-connection.c
13176                 - (nm_vpn_connection_set_parent_device): fix C&P error which
13177                         called g_object_unref() on the connection's parent device
13178                         when it should have been ref-ed instead.  Fixes crash with
13179                         repeated vpn connect requests
13180
13181 2006-02-28  Christopher Aillon  <caillon@redhat.com>
13182
13183         * gnome/applet/applet.glade:
13184         Mark a few strings non-translatable, since they shouldn't be.
13185
13186 2006-02-28  Dan Williams  <dcbw@redhat.com>
13187
13188         * src/vpn-manager/nm-vpn-service.c
13189                 - (nm_vpn_service_start_connection): if the vpn service daemon is
13190                         already running, don't blindly ask it to connect, but wait until
13191                         it's in the STOPPED state first.  Fixes an assertion when user
13192                         starts a second vpn connection without stopping the first.
13193                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
13194                         dbus service exists before continuing with the connection
13195                         process, and reduce latency while waiting for it to become
13196                         available
13197                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
13198                         waiting for the vpn service daemon to become available
13199                 - General log message cleanups; show progress via "Stage x of 4"
13200                         rather than not telling anyone how many stages there are
13201
13202 2006-02-28  Robert Love  <rml@novell.com>
13203
13204         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
13205         * src/backends/NetworkManagerSuSE.c: Implement the interface
13206           nm_system_should_modify_resolv_conf() for SUSE.
13207         * src/backends/NetworkManagerDebian.c,
13208           src/backends/NetworkManagerGentoo.c,
13209           src/backends/NetworkManagerRedHat.c,
13210           src/backends/NetworkManagerSlackware.c: Add stub.
13211         * src/named-manager/Makefile.am: Grab includes from src.
13212         * src/named-manager/nm-named-manager.c: Allow backends to disable the
13213           automatic updating of resolv.conf.  This is useful for testing,
13214           broken static configurations, and administrator lock-down.
13215
13216 2006-02-28  Dan Williams  <dcbw@redhat.com>
13217
13218         * src/nm-device-802-11-wireless.c
13219                 - Move all the wpa_supplicant-related management stuff into its
13220                         own struct, just for oranization's sake
13221                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
13222                         to a GIOChannel/GSource
13223                 - (supplicant_log_stdout): new function; grab output from the
13224                         wpa_supplicant stdout pipe and write it to our logs.
13225
13226 2006-02-27  Christopher Aillon  <caillon@redhat.com>
13227
13228         * src/nm-device-802-11-wireless.c:
13229         Err, fix thinko in my previous commit.
13230
13231 2006-02-28  Robert Love  <rml@novell.com>
13232
13233         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
13234
13235 2006-02-28  Robert Love  <rml@novell.com>
13236
13237         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
13238           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
13239           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
13240           deserializers are responsible for freeing the returned DBUS strings.
13241
13242 2006-02-27  Christopher Aillon  <caillon@redhat.com>
13243
13244         * src/nm-device-802-11-wireless.c:
13245         The scan list is being pruned prematurely.  We should prune after
13246         the device has gone MIA for three scans, not one.  Split out the
13247         interval to realtime seconds function to better serve this.
13248
13249 2006-02-27  Robert Love  <rml@novell.com>
13250
13251         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
13252           Open the pid file O_TRUNC, so if it already exists we truncate it to
13253           zero length.  Also, be more verbose about warnings generated during
13254           writing out the pid file.  Finally, always write out the pid file if
13255           in daemon mode.  Use "--pid-file" to override the default.
13256
13257 2006-02-27  Robert Love  <rml@novell.com>
13258
13259         Patch by R. Vinay <rvinay@novell.com>:
13260         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
13261           'last_attempt_success' when removing a VPN connection, too.  (Fixes
13262           Novell bug #153628).
13263           
13264 2006-02-27  Robert Love  <rml@novell.com>
13265
13266         * gnome/applet/applet.glade: Set "activates_default" on passphrase
13267           entry so user can hit <ENTER> after entering passphrase (Novell bug
13268           #153738).
13269
13270 2006-02-27  Dan Williams  <dcbw@redhat.com>
13271
13272         * gnome/applet/*
13273                 - Mass search/replace of:
13274                         nmwa -> nma
13275                         NMWirelessApplet -> NMApplet
13276                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
13277                    (it ain't just for wireless anymore, ma!)
13278                 - Fix duplicate function name printing when using nm_warning
13279                 - wireless-applet.glade -> applet.glade
13280
13281 2006-02-27  Dan Williams  <dcbw@redhat.com>
13282
13283         * dispatcher-daemon/NetworkManagerDispatcher.c
13284                 - Accept --pid-file with a path to a pidfile, write it out on
13285                         startup, and delete it on shutdown
13286
13287         * src/NetworkManager.c
13288                 - Accept --pid-file with a path to a pidfile, write it out on
13289                         startup, and delete it on shutdown
13290                 - Move nm_print_usage() lower
13291
13292         * initscripts/RedHat/NetworkManager.in
13293                 - Use new --pid-file option
13294                 - Fix service stopping to wait a bit for NM to quit
13295
13296         * initscripts/RedHat/NetworkManagerDispatcher.in
13297                 - Use new --pid-file option
13298
13299 2006-02-26  Dan Williams  <dcbw@redhat.com>
13300
13301         * src/Makefile.am
13302                 - make and install nm-crash-logger
13303
13304         * src/nm-logging.[ch]
13305                 - New files; consolidate logging and crash handling
13306
13307         * src/nm-crash-logger.c
13308           src/gdb-cmd
13309                 - Standalong crashlogger for NM, grab a backtrace
13310                         using GDB
13311
13312         * src/NetworkManager.[ch]
13313                 - Remove signal handling and put it into nm-logging.c
13314
13315 2006-02-26  Dan Williams  <dcbw@redhat.com>
13316
13317         * configure.in
13318           gnome/applet/Makefile.am
13319                 - Conditionalize all the notify stuff
13320
13321         Merge most of Chris Aillon's notification patch:
13322         
13323         * gnome/applet/applet-notifications.[ch]
13324                 - New files; show a notification
13325         
13326         * gnome/applet/applet-dbus-devices.[ch]
13327                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
13328                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
13329                         new functions, do the right thing when a device change occurs
13330
13331         * gnome/applet/applet-dbus.c
13332                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
13333                         signals, so we can handle them specially
13334
13335         * gnome/applet/applet.[ch]
13336                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
13337                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
13338                 - (nmwa_notify_state): remove
13339                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
13340                         notification work is now done when the appropriate dbus signals
13341                         are received.
13342                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
13343                         defer execution of the notification/dialog stuff.  That was an
13344                         artifact of the previous multi-threaded nature of the applet
13345                         and is now pointless.
13346                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
13347                         no longer needed.  Function folded into applet-notifications.c
13348
13349         * src/NetworkManagerPolicy.c
13350                 - (nm_policy_activation_finish): send the AP along with the device
13351                         status change signal, if the connection is wireless.  Should
13352                         fix the race where applet would show a connection to "unknown"
13353
13354 2006-02-25  Robert Love  <rml@novell.com>
13355
13356         Add WPA Enterprise support:
13357         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
13358           nm-gconf-wso-wpa-eap.h.
13359         * gnome/applet/nm-gconf-wso-wpa-eap.c,
13360           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
13361           serialization and deserialization.
13362         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13363           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
13364           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
13365         * gnome/applet/wireless-applet.glade: Add UI for configurating security
13366           settings related to WPA Enterprise.
13367         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
13368           instantiate WPA Enterprise wireless-security-option.
13369         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
13370           Implement WPA Enterprise wireless-security-option object.
13371         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
13372           defines.  Cleanup.
13373         * libnm-util/cipher-wpa-psk-hex.c,
13374           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
13375         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
13376           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
13377           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
13378           including the cipher to DBUS method, and
13379           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
13380           to output.
13381         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
13382           nm-ap-security-wpa-eap.h
13383         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
13384           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
13385         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
13386           files.  Implement NMAPSecurityWPA_EAP object.
13387         * src/nm-ap-security-wpa-psk.c: Cleanup.
13388         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
13389           an NMAPSecurityWPA_EAP object via the method
13390           nm_ap_security_wpa_eap_new_deserialize().
13391         * src/nm-dbus-nm.c: Cleanup.
13392         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
13393           WPA Enterprise support.
13394
13395 2006-02-24  Robert Love  <rml@novell.com>
13396
13397         Patch from Timo Hoenig <thoenig@suse.de>:
13398         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
13399
13400 2006-02-24  Robert Love  <rml@novell.com>
13401
13402         Patch from Dan Winship <danw@novell.com>:
13403         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
13404           area to transparent.
13405
13406 2006-02-21  Dan Williams  <dcbw@redhat.com>
13407
13408         * gnome/applet/applet.[ch]
13409           gnome/applet/applet-dbus.c
13410                 - Implement notification support for VPN messages too
13411
13412 2006-02-21  Dan Williams  <dcbw@redhat.com>
13413
13414         * gnome/applet/applet-dbus-info.c
13415                 - Clean up warning messages to not double-print the function
13416
13417 2006-02-21  Dan Williams  <dcbw@redhat.com>
13418
13419         * gnome/applet/applet-compat.c
13420                 - (convert_one_entry): accept entries without a key_type and
13421                         convert them to unencrypted networks
13422
13423 2006-02-21  Dan Williams  <dcbw@redhat.com>
13424
13425         * gnome/libnm_glib/libnm_glib.c
13426                 - Use __func__ everywhere we can
13427                 - Code cleanups
13428                 - Use dbus pending calls rather than blocking
13429                 - Reduce busywaits for our thread to start and stop
13430                         (gnome.org #330562)
13431                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
13432                         stomp on others using the default shared dbus connection.
13433                         Fixes #rh177546# and gnome.org #326572
13434
13435 2006-02-21  Dan Williams  <dcbw@redhat.com>
13436
13437         Patch from Rodney Dawes <dobey@novell.com>
13438         * configure.in
13439           gnome/applet/Makefile.am
13440           gnome/applet/applet.c
13441                 - Add libnotify support if '--enable-notify=yes' is passed
13442                   at configure time
13443
13444 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
13445
13446         * configure.in (ALL_LINGUAS): ko added. (Korean)
13447
13448 2006-02-15  Robert Love  <rml@novell.com>
13449
13450         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
13451           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
13452           and WPA_SUPPLICANT_CONTROL_SOCKET.
13453         
13454 2006-02-15  Robert Love  <rml@novell.com>
13455
13456         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
13457           information about what connection stage we are at, provide the total
13458           number of stages, e.g. "Stage 2 of 5", so users know how far along
13459           they are if they experience problems.
13460
13461 2006-02-15  Robert Love  <rml@novell.com>
13462
13463         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
13464           define to $sysconfdir.
13465         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
13466           editing dialog, vpn_edit_widget, which fixes a bug where editing one
13467           type of VPN and then editing another results in a mangled dialog
13468           box containing the widgets from both VPNs (fixes Novell #150854).
13469           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
13470
13471 2006-02-14  Robert Love  <rml@novell.com>
13472
13473         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
13474           syslog's file descriptor.
13475
13476 2006-02-14  Robert Love  <rml@novell.com>
13477
13478         Fix bug around since the change to "deal with APs changing settings on
13479         us," checked in on the fifth of February in the year of the dog, 
13480         wherein connecting to non-broadcast encrypted networks always fails
13481         because nm_ap_get_encrypted() always returns FALSE, even when the user
13482         provided a key, because the newly-created fake AP does not have any
13483         capabilities set, which is a sypmtom of security settings not matching
13484         capabilities (Novell bug #150784):
13485         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
13486           nm_ap_add_capabilities_from_security(), which sets the given AP's
13487           capabilities off the given security settings.  Also improve our
13488           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
13489           NM_AUTH_CIPHER_AUTO.
13490         * src/nm-device-802-11-wireless.c: Call the function
13491           nm_ap_add_capabilities_from_security() to ensure that capabilities
13492           match newly updated security settings.
13493
13494 2006-02-14  Robert Love  <rml@novell.com>
13495
13496         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
13497           error as a string, not an integer, if possible; do not print the
13498           function name twice; always give the interface, if possible; misc.
13499           cleanup.
13500
13501 2006-02-12  Dan Williams  <dcbw@redhat.com>
13502
13503         Patch from Tom Parker <palfrey@tevp.net>
13504         * src/NetworkManagerSystem.h
13505                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
13506                         no longer used
13507
13508         * src/backends/NetworkManagerDebian.c
13509                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
13510                         unused variables
13511
13512 2006-02-12  Dan Williams  <dcbw@redhat.com>
13513
13514         * vpn-daemons/openvpn/intltool-extract.in
13515           vpn-daemons/openvpn/intltool-merge.in
13516           vpn-daemons/openvpn/intltool-update.in
13517           vpn-daemons/pptp/intltool-extract.in
13518           vpn-daemons/pptp/intltool-merge.in
13519           vpn-daemons/pptp/intltool-update.in
13520                 - Remove from CVS, they should get created by intltoolize,
13521                         shouldn't they?
13522
13523 2006-02-12  Dan Williams  <dcbw@redhat.com>
13524
13525         * vpn-daemons/pptp/src/pppd/patchlevel.h
13526         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13527                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
13528                         Makefile-defined VERSION
13529
13530 2006-02-09  Dan Williams  <dcbw@redhat.com>
13531
13532         Patch from: Vinay A R <rvinay@novell.com>
13533         * src/vpn-manager/nm-vpn-act-request.[ch]
13534                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
13535                         IPSec VPNs require them for std gateway.
13536                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
13537                         and 'user_routes_count'
13538                 - (nm_vpn_act_request_get_user_routes): new function; gets user
13539                         defined routes  from NMVPNActRequest object, returns the string
13540                         array of routes.
13541
13542         * src/vpn-manager/nm-vpn-manager.[ch]
13543                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
13544                         for 'user_routes' and 'user_routes_count'
13545         
13546         * src/vpn-manager/nm-dbus-vpn.c
13547                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
13548                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
13549         
13550         * src/vpn-manager/nm-vpn-service.c
13551                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
13552                         the vpn daemon
13553
13554         Modifications by Dan:
13555         * src/vpn-manager/nm-vpn-service.c
13556                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
13557                         arrays into dbus
13558
13559         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13560         * vpn-daemons/pptp/src/nm-pptp-service.c
13561         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13562                 - Grab user routes from dbus message
13563                 - Free all string arrays we got from dbus
13564
13565 2006-02-07  Robert Love  <rml@novell.com>
13566
13567         Patch by Stefan Seyfried <seife@suse.de>:
13568         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
13569
13570 2006-02-06  Robert Love  <rml@novell.com>
13571
13572         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
13573
13574 2006-02-06  Robert Love  <rml@novell.com>
13575
13576         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
13577           test ">=" is never false.  If no newline is found, we loop forever.
13578           We can just check for ">" because the following if() will see the
13579           zero-th argument if the while() gets that far.
13580
13581 2006-02-05  Dan Williams  <dcbw@redhat.com>
13582
13583         Refine handling of non-broadcast networks.
13584
13585         * src/NetworkManagerAPList.c
13586                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
13587                         property from scanned AP to the AP from the device list
13588
13589         * src/nm-device-802-11-wireless.c
13590                 - (supplicant_send_network_config): use ap_scan=1 for all networks
13591                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
13592                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
13593                         networks since those don't have APs.
13594                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
13595                         AP as non-SSID-broadcasting
13596                 - (process_scan_results): don't handle non-SSID-broadcasting here
13597
13598 2006-02-05  Dan Williams  <dcbw@redhat.com>
13599
13600         * src/nm-device-802-11-wireless.c
13601                 - (get_supplicant_timeout): new function; return
13602                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
13603                         14 channels.  These are likely a/b/g cards, like Atheros, and
13604                         slow as hell to scan.
13605                 - (supplicant_timeout_cb, supplicant_monitor_start): use
13606                         get_supplicant_timeout()
13607
13608 2006-02-05  Dan Williams  <dcbw@redhat.com>
13609
13610         * src/dhcp-manager/nm-dhcp-manager.c
13611                 - Loose a commit race with Robert; make sure size check
13612                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
13613
13614 2006-02-05  Robert Love  <rml@novell.com>
13615
13616         Patch by Christoph Brill <chrisbrill@gmx.net>:
13617         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
13618           with DHCP_SERVICE_NAME.
13619
13620 2006-02-05  Dan Williams  <dcbw@redhat.com>
13621
13622         Remove anything having to do with device_setup_func from the
13623         AP security objects, since it's no longer used.
13624
13625         * src/nm-ap-security.h
13626                 - Kill device_setup_func and nm_ap_security_device_setup()
13627
13628         * src/nm-ap-security-wep.c
13629           src/nm-ap-security-wpa-psk.c
13630                 - (real_device_setup): remove
13631
13632         * src/nm-ap-security.c
13633                 - (real_device_setup): remove
13634                 - (nm_ap_security_device_setup): remove
13635
13636         * src/nm-device-802-11-wireless.[ch]
13637                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
13638                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
13639                         and done by wpa_supplicant now anyway
13640
13641 2006-02-05  Dan Williams  <dcbw@redhat.com>
13642
13643         * src/nm-device-802-11-wireless.c
13644                 - (ap_need_key, real_act_stage2_config): deal with APs changing
13645                         settings on us.  Previously NM would loop asking for the
13646                         key but getting the same one back.  Now, if the NMI-supplied
13647                         cipher doesn't overlap with the scanned AP capabilities,
13648                         we request a completely new key from the user.
13649
13650 2006-02-05  Dan Williams  <dcbw@redhat.com>
13651
13652         * src/NetworkManagerUtils.c
13653                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
13654                         Handle newline killing better
13655
13656 2006-02-05  Dan Williams  <dcbw@redhat.com>
13657
13658         * gnome/applet/nm-gconf-wso.c
13659                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
13660                         of unencrypted access point security info.
13661
13662 2006-02-03  Robert Love  <rml@novell.com>
13663
13664         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
13665           user's encryption key, so we print the err_msg_cmd not the command,
13666           if available.  So long as SUPPLICANT_DEBUG is default, this makes
13667           sense.
13668
13669 2006-02-03  Christopher Aillon  <caillon@redhat.com>
13670
13671         * initscript/RedHat/NetworkManagerDispatcher.in:
13672         * initscript/RedHat/NetworkManager.in: modify the pidfile location
13673         Patch from Dan Walsh <dwalsh@redhat.com>
13674
13675 2006-02-03  Robert Love  <rml@novell.com>
13676
13677         * dispatcher-daemon/NetworkManagerDispatcher.c,
13678           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
13679           but use the sysconfdir.
13680
13681 2006-02-03  Robert Love  <rml@novell.com>
13682
13683         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
13684           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
13685           'char *'.
13686         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
13687           nm_ip4_config_get_hostname() and
13688           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
13689         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
13690           leak g_strdup() result.
13691
13692 2006-02-03  Robert Love  <rml@novell.com>
13693
13694         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
13695           broadcast == TRUE.  Also, copy broadcast and artificial properties
13696           from source network to destination in nm_ap_copy().
13697         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
13698           since we now default new networks to non-hidden.
13699
13700 2006-02-03  Dan Williams  <dcbw@redhat.com>
13701
13702         * gnome/applet/main.c
13703                 - (main): change the NEVER->ALWAYS so we start at the
13704                         beginning of the session, if being session-managed
13705
13706 2006-02-03  Dan Williams  <dcbw@redhat.com>
13707
13708         * gnome/applet/main.c
13709                 - (main): in a variation on Robert's patch, change
13710                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
13711                         he wants.
13712
13713 2006-02-02  Robert Love  <rml@novell.com>
13714
13715         * src/Makefile.am: If we aren't going to create the run directory at,
13716           uh, run-time, create it during install.  Then users just doing
13717           'make install' are cool, too.  While we are here, create the
13718           dispatcher.d directory, too.
13719         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
13720           the exact run directory.
13721         * Makefile.am: Install nm-applet.desktop.
13722
13723 2006-02-02  Robert Love  <rml@novell.com>
13724
13725         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
13726           structure, which denotes whether or not the AP is hidden.  This is a
13727           superset of 'artificial' -- we need 'broadcast' because a hidden AP
13728           can show up in the scan list.  Add nm_ap_get_broadcast() and
13729           nm_ap_set_broadcast() accessor interfaces.
13730         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
13731           nm_ap_set_broadcast().
13732         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
13733           "getProperties" method, which denotes whether or not the given
13734           network is hidden.
13735         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
13736           an artificial network.  Set broadcast to TRUE when scanning returns
13737           an ESSID and FALSE when not.
13738         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
13739           from "getProperties" method on a network.  Possible TODO is to
13740           somehow display this.
13741         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
13742
13743 2006-02-02  Dan Williams  <dcbw@redhat.com>
13744
13745         * src/nm-device-802-11-wireless.c
13746                 - (supplicant_interface_init): don't try to create
13747                         /var/run/NetworkManager, since that should be done by
13748                         the distro package.  Causes problems for stuff like SELinux
13749
13750 2006-02-02  Robert Love  <rml@novell.com>
13751
13752         Patch by Sureshkumar T <tsureshkumar@novell.com>:
13753         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
13754           Check for and handle empty string for iface.
13755
13756 2006-02-01  Robert Love  <rml@novell.com>
13757
13758         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
13759           manpage.
13760
13761 2006-01-31  Dan Williams  <dcbw@redhat.com>
13762
13763         * nm-applet.desktop
13764                 - Add --sm-disable to Exec arguments, presuming that when
13765                         using autostart, we don't want session management
13766
13767 2006-01-31  Robert Love  <rml@novell.com>
13768
13769         * src/NetworkManagerAP.c: Add two new manufacturer default network
13770           names: linksys-a and linksys-g.  These are found (at least) on the
13771           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
13772           own ESSID.
13773
13774 2006-01-31  Robert Love  <rml@novell.com>
13775
13776         * src/NetworkManagerAP.c: Optimize the function
13777           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
13778           machine code.  This is the first in a series of code tweaks aiming to
13779           generate better machine code and make NetworkManager all the better.
13780           Just kidding.  Who has time to go through the assembly generated for
13781           every function?  I certainly don't.  I have a wife, a kid, a job,
13782           a mortgage, a mistress.  But this function was so bad, I was called
13783           to arms.  Like the book.
13784
13785 2006-01-31  Robert Love  <rml@novell.com>
13786
13787         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
13788           AP is not broadcasting, to scan with probe request frames.  Required
13789           for non-broadcast networks.
13790
13791 2006-01-31  Robert Love  <rml@novell.com>
13792
13793         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
13794           preprocessor define (still 20s).  Fix message text in nm_info()
13795           s/too too/took too/.
13796
13797 2006-01-30  Dan Williams  <dcbw@redhat.com>
13798
13799         * src/nm-device-802-11-wireless.c
13800                 - (supplicant_monitor_start): increase connect/auth timeout to
13801                         20 seconds from 10 seconds
13802
13803 2006-01-30  Dan Williams  <dcbw@redhat.com>
13804
13805         * src/Makefile.am
13806                 - Define LOCALSTATEDIR
13807
13808         * src/nm-device-802-11-wireless.c
13809                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13810                         socket where we want it to
13811
13812         * src/wpa_ctrl.[ch]
13813                 - (wpa_ctrl_open): accept location to put local control socket
13814
13815 2006-01-30  Robert Love  <rml@novell.com>
13816
13817         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13818           get_ip4_string() for "domain_name".
13819
13820 2006-01-30  Robert Love  <rml@novell.com>
13821
13822         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13823           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13824           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13825           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13826           support for "Automatic" pairwise and group cipher configuration by
13827           letting wpa_supplicant handle the details.  Add UI elements, new
13828           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13829           charm.  Note this does more than add a nice feature, it fixes a bug.
13830           Apparently, some people have AP's where the pairwise cipher does not
13831           match the group cipher.  Insane, but true.
13832
13833 2006-01-30  Dan Williams  <dcbw@redhat.com>
13834
13835         * gnome/applet/applet-dbus-devices.c
13836                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13837                         functions, grab device driver name from NetworkManager
13838                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13839
13840         * gnome/applet/applet.c
13841                 - (nmwa_update_info): show driver name in Connection Information
13842                         dialog
13843
13844         * gnome/applet/nm-device.[ch]
13845                 - (network_device_get_driver, network_device_set_driver): add
13846                         accessors for driver name
13847
13848         * gnome/applet/wireless-applet.glade
13849                 - Add line for driver name to Connection Information dialog
13850
13851         * src/nm-dbus-device.c
13852                 - (nm_dbus_device_get_driver): new function to return driver name
13853                 - (nm_dbus_device_methods): hook up driver name function to dbus
13854
13855         * test/nm-tool.c
13856                 - (get_driver_name): new function
13857                 - (detail_device): grab and show driver name
13858
13859 2006-01-30  Robert Love  <rml@novell.com>
13860
13861         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13862           does not parse the markup if it is not part of the format.
13863
13864 2006-01-30  Robert Love  <rml@novell.com>
13865
13866         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13867           FALSE, we have no security options for this dialog, so we throw up
13868           an error dialog instead of a broken passphrase dialog.  Fixes
13869           Novell #138404.
13870         * gnome/applet/wireless-security-manager.c,
13871           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13872           does not add any security options, not even NONE, print a warning
13873           and return FALSE.  This let's functions constructing a dialog bail
13874           out if the device's capabilities and the network's requirements have
13875           zero overlap.
13876
13877 2006-01-27  Robert Love  <rml@novell.com>
13878
13879         * configure.in: Require wpa_supplicant.  Detect location of binary and
13880           use it.  Override with "--with-wpa_supplicant=foo".
13881         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13882           path to wpa_supplicant but use the auto-detected or user-provided
13883           value from configure.
13884
13885 2006-01-27  Robert Love  <rml@novell.com>
13886
13887         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13888           but the DHCP server did not return a hostname, try to look up our
13889           name via DNS and set the system hostname to that.
13890
13891 2006-01-27  Dan Williams  <dcbw@redhat.com>
13892
13893         * src/backends/NetworkManagerRedHat.c
13894                 - Add NM_CONTROLLED system network script support for RH/Fedora
13895
13896 2006-01-27  Dan Williams  <dcbw@redhat.com>
13897
13898         * src/backends/NetworkManagerGentoo.c
13899                 - (nm_system_device_get_disabled): add missing function.
13900                         Gnome BZ #328780
13901
13902 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13903
13904         * configure.in: Added vi in ALL_LINGUAS line.
13905         
13906 2006-01-26  Robert Love  <rml@novell.com>
13907
13908         * src/Makefile.am, src/kernel-types.h: Now that two different source
13909           files are feeling the crack-addled leakage of kernel types such as
13910           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13911           types in user-space -- define a header and include it as needed.
13912         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13913         * src/nm-device-802-3-ethernet.h: Remove defines.
13914         * src/wpa.c: Remove defines and include kernel-types.h.
13915
13916 2006-01-26  Robert Love  <rml@novell.com>
13917
13918         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13919           work.
13920
13921 2006-01-26  Robert Love  <rml@novell.com>
13922
13923         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13924         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13925           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13926           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13927           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13928           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13929           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13930           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13931           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13932           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13933           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13934           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13935           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13936           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13937           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13938           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13939           Kill unused variables, labels, and static functions.  Don't pass
13940           string literals as the format string for printf-like functions.
13941
13942 2006-01-25  Dan Williams  <dcbw@redhat.com>
13943
13944         * gnome/applet/wireless-applet.glade
13945                 - Remove WPA2 Checkbox
13946
13947         * gnome/applet/wireless-security-manager.c
13948                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13949                         This means the Wireless Security menu now has two WPA options,
13950                         one for "WPA Personal" and one for "WPA2 Personal"
13951
13952         * gnome/applet/wso-wpa-psk.[ch]
13953                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13954                         'wpa2' argument to determine WPA version to use
13955                 - (append_dbus_params_func): pass stored WPA version to cipher
13956                         rather than using the (removed) checkbox
13957
13958 2006-01-24  Robert Love  <rml@novell.com>
13959
13960         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13961           before we g_strdup(), not the ultimate string.
13962
13963 2006-01-23  Dan Williams  <dcbw@redhat.com>
13964
13965         * src/NetworkManagerAP.[ch]
13966                 - (nm_ap_new_from_ap): copy original essid too
13967                 - (nm_ap_unref): free original essid
13968                 - (nm_ap_get_orig_essid): new function
13969                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13970                         but keep original essid around too
13971
13972         * src/nm-device-802-11-wireless.c
13973                 - (supplicant_send_network_config): send wpa_supplicant the
13974                         _original_ essid, and not as a string, but in hex.  Should
13975                         allow us to connect to more APs that use wierd character
13976                         encodings for their essids
13977
13978         * utils/nm-utils.[ch]
13979                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13980                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13981                         use the current locale as a hint for what encoding the essid
13982                         might be in.  Obviously not 100% accurate, but the idea here is
13983                         that if a user's locale is ex. ja_JP, they are more likely than
13984                         not to be in Japan, where access points will likely be in some
13985                         Japanese encoding.
13986
13987 2006-01-23  Dan Williams  <dcbw@redhat.com>
13988
13989         * libnm-util/cipher-private.h
13990           libnm-util/cipher.c
13991           libnm-util/cipher.h
13992                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13993
13994 2006-01-23  Robert Love  <rml@novell.com>
13995
13996         Patch by Timo Hoenig <thoenig@suse.de>:
13997         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13998           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13999           by DHCP and pass it to the backends, allowing distribution-specific
14000           behavior with respect to the DHCP-supplied hostname (if nothing else,
14001           some distributions might not want to set the hostname).
14002         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
14003           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
14004           Also update our NIS behavior.
14005         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
14006           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
14007           Add stub functions.
14008
14009 2006-01-23  Robert Love  <rml@novell.com>
14010
14011         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
14012           gnome-session does autostart.  TODO: We need to install this to
14013           $prefix/share/autostart/.
14014
14015 2006-01-22  Dan Williams  <dcbw@redhat.com>
14016
14017         * src/NetworkManagerAP.[ch]
14018           src/nm-dbus-nmi.c
14019           src/nm-device-802-11-wireless.c         
14020                 - Make nm_ap_get_essid return "const char *"
14021
14022 2006-01-22  Dan Williams  <dcbw@redhat.com>
14023
14024         * src/NetworkManagerAP.[ch]
14025                 - (nm_ap_get_matched, nm_ap_set_matched): remove
14026
14027         * src/NetworkManagerAPList.[ch]
14028                 - (nm_ap_list_diff): removed
14029                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
14030                         deal with access points changing essids on us
14031
14032         * src/nm-device-802-11-wireless.c
14033                 - (add_new_ap_to_device_list): move AP dbus signal logic to
14034                         src/NetworkManagerAPList.c
14035                 - (real_can_interrupt_activation): new function; allow interruption
14036                         of device activation if we are waiting for a network key
14037
14038         * src/NetworkManagerPolicy.c
14039                 - (nm_policy_device_change_check): allow interruption of currently
14040                         activating devices if the device allows it.  Previous behavior
14041                         would refuse to activate a just-plugged wired device if a
14042                         wireless device was waiting for a key.
14043
14044         * src/nm-device.[ch]
14045                 - (nm_device_can_interrupt_activation): new function; ask devices
14046                         whether their activation can be interrupted
14047
14048 2006-01-20  Robert Love  <rml@novell.com>
14049
14050         * Makefile.am, configure.in: Add new man subdirectory.
14051         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
14052           man/Makefile.am: Add man pages for NetworkManager and its
14053           crime-solving bumbling buddy, NetworkManagerDispatcher.
14054         * man/.cvsignore: Add.
14055         * initscript/Debian/NetworkManager,
14056           initscript/Gentoo/NetworkManager.in,
14057           initscript/RedHat/NetworkManager.in,
14058           initscript/RedHat/NetworkManagerDispatcher.in,
14059           initscript/SUSE/networkmanager-dispatcher.in,
14060           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
14061
14062 2006-01-20  Robert Love  <rml@novell.com>
14063
14064         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
14065           instead of queuing.  This prevents the running of multiple NM
14066           daemons concurrently, which does not work whatsoever and results in
14067           neither daemon working correctly.  Also, we don't handle queuing and
14068           name-owner-changes, anyhow.
14069
14070 2006-01-20  Robert Love  <rml@novell.com>
14071
14072         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
14073         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
14074           to sbin, not bin.
14075
14076 2006-01-19  Robert Love  <rml@novell.com>
14077
14078         * configure.in: Require hal 0.5.0 or later.
14079
14080 2006-01-18  Robert Love  <rml@novell.com>
14081
14082         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
14083           Allow backends to flag a device (in whatever distro-dependent way
14084           they so desire) as disabled.  NM will ignore any such device.
14085         * src/backends/NetworkManagerDebian.c,
14086           src/backends/NetworkManagerRedHat.c,
14087           src/backends/NetworkManagerSlackware.c: Add stub function
14088           nm_system_device_get_disabled() that always returns FALSE (enabled).
14089         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
14090           SUSE-specific configuration structure.  Fill it in from the
14091           NM_CONTROLLED variable in the system networking scripts.  If this var
14092           exists and is "no", we ignore the device.
14093
14094 2006-01-17  Robert Love  <rml@novell.com>
14095
14096         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
14097           identical for NM.  For a full discussion, see the thread at
14098           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
14099
14100 2006-01-17  Dan Williams  <dcbw@redhat.com>
14101
14102         * src/nm-device.c
14103                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
14104                         function.  Fixes crash when wired DHCP fails.
14105
14106 2006-01-16  Robert Love  <rml@novell.com>
14107
14108         * src/Makefile.am: Don't install NMLoadModules
14109         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
14110           from src/ to test/ as no one uses it anymore.  Note that I would be
14111           fine with removing it altogether.
14112
14113 2006-01-16  Robert Love  <rml@novell.com>
14114
14115         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
14116           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
14117           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
14118           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
14119           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
14120           src/nm-netlink-monitor.c: Don't miss any initializers on structure
14121           declarations, ever.
14122         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
14123           NM_STATE_DISCONNECTED is zero).
14124
14125 2006-01-16  Robert Love  <rml@novell.com>
14126
14127         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
14128           uninitialized parameter and buffer overflow.  Novell #143496.
14129
14130 2006-01-16  Dan Williams  <dcbw@redhat.com>
14131
14132         Apply the PtP Address bits of a patch from Tim Niemueller
14133
14134         * src/nm-ip4-config.[ch]
14135                 - Add ip4_ptp_address member to object
14136                 - (nm_ip4_config_copy): copy ptp address too
14137                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
14138                         new functions
14139                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
14140                         rather than local tunnel ip address
14141
14142         * src/vpn-manager/nm-vpn-service.c
14143                 - (print_vpn_config): update for PtP address
14144                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
14145                         DBusMessageIters in preparation for getting routes from the VPN
14146                         service daemons too
14147
14148         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
14149                 - (send_config_info): update for PtP address, clean up code
14150                 - (main): update for PtP address, clean up code, fix typo
14151
14152         * vpn-daemons/openvpn/src/nm-openvpn-service.c
14153                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
14154
14155         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
14156                 - (pptp_ip_up): update for PtP address
14157
14158         * vpn-daemons/pptp/src/nm-pptp-service.c
14159                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
14160
14161         * vpn-daemons/vpnc/src/nm-vpnc-service.c
14162                 - (print_vpn_config): update for PtP address
14163                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
14164
14165 2006-01-16  Dan Williams  <dcbw@redhat.com>
14166
14167         * gnome/applet/applet.c
14168                 - (nmwa_add_networks_helper): don't indicate an active network
14169                         if NM is disconnected or asleep
14170
14171 2006-01-16  Dan Williams  <dcbw@redhat.com>
14172
14173         * src/NetworkManagerPolicy.c
14174                 - (nm_policy_device_change_check): switch devices if we lose the link
14175                         on an ethernet device. 
14176
14177 2006-01-16  Dan Williams  <dcbw@redhat.com>
14178
14179         * gnome/applet/wso-wpa-psk-hex.[ch]
14180                 - Renamed -> wso-wpa-psk.[ch]
14181
14182         * gnome/applet/wso-wpa-psk.[ch]
14183                 - New files
14184
14185         * gnome/applet/wso-wpa-psk-passphrase.[ch]
14186                 - Removed, rolled into wso-wpa-psk.[ch]
14187
14188         * gnome/applet/Makefile.am
14189                 - Updated for above changes
14190
14191         * gnome/applet/wireless-applet.glade
14192                 - Consolidate WPA-PSK options into one notebook
14193                         widget, and make dialogs invisible by default
14194                         to fix screen oddities
14195
14196         * gnome/applet/wireless-security-manager.c
14197                 - (wsm_set_capabilities): create the new wpa-psk widget rather
14198                         than both the old hex & passphrase ones
14199
14200 2006-01-16  Dan Williams  <dcbw@redhat.com>
14201
14202         * gnome/applet/other-network-dialog.c
14203                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
14204
14205 2006-01-16  Dan Williams  <dcbw@redhat.com>
14206
14207         * gnome/applet/applet.c
14208                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
14209                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
14210                         prevention to realize window before trying to get server
14211                         time
14212
14213         * gnome/applet/other-network-dialog.c
14214                 - (nmwa_other_network_dialog_run): fix up focus-stealing
14215                         prevention to realize window before trying to get server
14216                         time
14217
14218         * gnome/applet/passphrase-dialog.c
14219                 - (nmi_passphrase_dialog_new): fix up focus-stealing
14220                         prevention to realize window before trying to get server
14221                         time
14222
14223 2006-01-16  Robert Love  <rml@novell.com>
14224
14225         Patch from Timo Hoenig  <thoenig@suse.de:
14226         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
14227           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
14228           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
14229           libnm-util/dbus-helpers.h: add checks whether headers are used
14230           within a C++ build.
14231
14232 2006-01-16  Dan Williams  <dcbw@redhat.com>
14233
14234         * gnome/applet/wireless-security-option.c
14235                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
14236
14237 2006-01-16  Dan Williams  <dcbw@redhat.com>
14238
14239         * libnm-util/cipher-wpa-psk-passphrase.c
14240                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
14241                         be 8 - 63 characters inclusive
14242
14243 2006-01-16  Dan Williams  <dcbw@redhat.com>
14244
14245         * src/nm-dbus-nm.c
14246                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
14247
14248 2006-01-13  Robert Love  <rml@novell.com>
14249
14250         Patch by T Sureshkumar <tsureshkuman@novell.com>:
14251         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
14252           modules that do not use an interface.
14253
14254 2006-01-13  Dan Williams  <dcbw@redhat.com>
14255
14256         * src/nm-device.c
14257           src/nm-device.h
14258                 - Allow subclasses to implement deactivate_quickly()
14259                 - (nm_device_deactivate_quickly): call subclass
14260                         deactivate_quickly() methods
14261                 - (nm_device_set_active_link): small cleanups, and don't
14262                         deactivate the device right away because we risk a deadlock
14263                         when called from device thread, waiting for the device
14264                         thread to cancel activation
14265
14266         * src/nm-device-802-11-wireless.c
14267                 - (real_deactivate_quickly): new function
14268                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
14269                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
14270                         so that we kill the supplicant when we sleep too
14271                 - (supplicant_interface_init): work around naive naming attempts of
14272                         wpa_ctrl when naming sockets
14273
14274 2006-01-13  Dan Williams  <dcbw@redhat.com>
14275
14276         * src/nm-device-802-11-wireless.c
14277                 - (supplicant_cleanup): delete old device control sockets too
14278                 - (supplicant_get_device_socket_path): new function to consolidate
14279                         locations that need a path to a device's control socket
14280
14281 2006-01-12  Robert Love  <rml@novell.com>
14282
14283         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
14284           description so that the description is unique for each
14285           pair (device,provider).  Fixes Novell #142773.
14286
14287 2006-01-12  Dan Williams  <dcbw@redhat.com>
14288
14289         * src/nm-device-802-11-wireless.c
14290                 - (supplicant_exec): ensure GError is correctly initialized
14291                         Reported by Diego González (gnome.org #326708)
14292
14293 2006-01-11  Robert Love  <rml@novell.com>
14294
14295         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
14296           define if_mii(), open code the same results, and do so without any
14297           type punning.
14298
14299 2006-01-11  Robert Love  <rml@novell.com>
14300
14301         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
14302           that wso_foo_new() returned non-NULL.  Instead, only append the new
14303           wso to wsm->options if the wso is non-NULL.  The crux is that we
14304           assume that the relevant key types are implied by WEP and WPA as
14305           appropriate.  To be sure, they should be, but we should not expect
14306           drivers to not be oozing piles of wolf fecal matter.
14307
14308 2006-01-11  Robert Love  <rml@novell.com>
14309
14310         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
14311         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
14312           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14313           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
14314           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
14315           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
14316           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
14317         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
14318           comparing values within DBL_EPSILON.  Also fix shadowed variable
14319           usage.
14320
14321 2006-01-11  Dan Williams  <dcbw@redhat.com>
14322
14323         Add options for WPA2 and WPA1+CCMP (AES).
14324
14325         * gnome/applet/wireless-applet.glade
14326                 - Add UI bits for WPA+CCMP
14327
14328         * gnome/applet/other-network-dialog.c
14329                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
14330                         and don't allow creation of WPA2 Ad-Hoc networks since
14331                         wpa_supplicant doesn't support them
14332
14333         * gnome/applet/wireless-security-manager.c
14334                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
14335                         on to the specific wireless security option being created
14336
14337         * gnome/applet/wireless-security-option.[ch]
14338                 - (wso_wpa_create_key_type_model): new utility function to create
14339                         the model required for WPA Key Type combo box
14340
14341         * gnome/applet/wso-private.h
14342           gnome/applet/wireless-security-option.h
14343                 - Move private function prototypes into wso-private.h
14344
14345         * gnome/applet/wso-wpa-psk-hex.[ch]
14346           gnome/applet/wso-wpa-psk-passphrase.[ch]
14347                 - (append_dbus_params_func): get WPA version from checkbox and pass
14348                         it to the dbus serialization helper
14349                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
14350                         key type combo changes
14351                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
14352                         model and options
14353
14354         * libnm-util/cipher-wpa-psk-hex.c
14355           libnm-util/cipher-wpa-psk-passphrase.c
14356                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
14357                         new function; allow the cipher to be changed after object creation
14358
14359         * src/nm-ap-security-wpa-psk.c
14360                 - (set_description): Do WPA2 descriptions too
14361
14362         * src/nm-ap-security.c
14363                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
14364
14365 2006-01-11  Robert Love  <rml@novell.com>
14366
14367         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
14368           is defined in <linux/mii.h> to return the mii_ioctl_data structure
14369           from the ifreq structure in lieu of an open coded solution.  Removes
14370           a life-threatening type-punning.
14371         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
14372           types, ever, whatsoever, baby.
14373
14374 2006-01-11  Robert Love  <rml@novell.com>
14375
14376         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
14377           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
14378           assignments to applet->nm_state into a new nmwa_set_state() function
14379           for both cleanliness and to help debugging.
14380
14381 2006-01-10  Robert Love  <rml@novell.com>
14382
14383         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
14384           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
14385           seconds, exclusive.  That is, we want to sleep x seconds such that
14386           1 < x < 2.
14387
14388 2006-01-10  Robert Love  <rml@novell.com>
14389
14390         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
14391           the attr fields according to the example in the email available at
14392           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
14393           Conversely, we do have to free 'name', so we do so, fixing a leak.
14394
14395 2006-01-10  Robert Love  <rml@novell.com>
14396
14397         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
14398           sure that we close the socket!
14399
14400 2006-01-10  Robert Love  <rml@novell.com>
14401
14402         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
14403           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
14404           src/nm-device.c: Fix a FIXME!  Reimplement the function
14405           nm_device_update_hw_address() in device subclass variants,
14406           nm_device_802_3_ethernet_set_address() and
14407           nm_device_802_11_wireless_set_address(), hook them up, and use them.
14408           This fixes the existing bug where MAC addresses are all zeros.
14409
14410 2006-01-10  Robert Love  <rml@novell.com>
14411
14412         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
14413           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
14414           option to give users ability to globally disconnect and put NM to
14415           sleep.  This is useful as a 'lockdown mode' for flying, security, and
14416           clean disconnect.
14417
14418 2006-01-09  Robert Love  <rml@novell.com>
14419
14420         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
14421           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
14422           User-space does not supply these types, so we have to define them
14423           ourselves.  The relevant kernel maintainer refused to accept a patch
14424           switching these headers to the proper C99 types.
14425
14426 2006-01-09  Dan Williams  <dcbw@redhat.com>
14427
14428         Apply Robert's 'tray icon redo' patch with fixes
14429         * gnome/applet/applet.c
14430           gnome/applet/applet.h
14431                 - Instead of using a menu bar + menu item, simulate menu
14432                         behavior using a popup menu.  Highlight the area around
14433                         the icon more like a menu too, by playing with the
14434                         applet's size requisition
14435
14436 2006-01-09  Timo Hoenig   <thoenig@suse.de>
14437         * libnm-util/dbus-helpers.c
14438           libnm-util/dbus-helpers.h
14439                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
14440                         to 'exception_namespace' (:namespace is a keyword in
14441                         C++)
14442
14443 2006-01-09  Dan Williams  <dcbw@redhat.com>
14444
14445         * src/NetworkManagerPolicy.c
14446                 - (nm_policy_device_change_check): don't autoswitch away from
14447                         Ad-Hoc networks, since there's really no concept of
14448                         "link"
14449
14450         * src/nm-dbus-nm.c
14451                 - (nm_dbus_nm_create_wireless_network): mark created networks
14452                         as Ad-Hoc networks
14453
14454         * src/nm-device-802-11-wireless.c
14455                 - (real_activation_success_handler): add user-created Ad-Hoc
14456                         networks to the device's scan list
14457
14458 2006-01-08  Dan Williams  <dcbw@redhat.com>
14459
14460         We now require a patch for wpa_supplicant to support Ad-Hoc
14461         networks:
14462           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
14463
14464         * src/nm-device-802-11-wireless.c
14465                 - (supplicant_send_network_config): turn off wpa_supplicant's
14466                         scanning.  Fixes Ad-Hoc networks.
14467
14468 2006-01-08  Dan Williams  <dcbw@redhat.com>
14469
14470         * src/nm-ap-security.c
14471           src/nm-ap-security.h
14472                 - Add a user_created argument to the write_supplicant_config
14473                         functions
14474
14475         * src/nm-ap-security-wep.c
14476           src/nm-ap-security-wpa-psk.c
14477           src/nm-device-802-11-wireless.c
14478                 - Make Ad-Hoc mode somewhat work, at least write the
14479                         correct options to wpa_supplicant
14480
14481 2006-01-08  Dan Williams  <dcbw@redhat.com>
14482
14483         * src/nm-device-802-11-wireless.c
14484                 - Remove unused code from the old device activation path
14485
14486 2006-01-08  Dan Williams  <dcbw@redhat.com>
14487
14488         * libnm-util/dbus-helpers.c
14489                 - (nmu_security_serialize_wpa_psk): pass a blank key through
14490                         dbus when key == NULL
14491
14492 2006-01-08  Dan Williams  <dcbw@redhat.com>
14493
14494         * gnome/applet/nm-gconf-wso-wpa-psk.c
14495                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
14496                         correct arguments to nmu_security_deserialize_wpa_psk()
14497
14498         * src/nm-ap-security-wpa-psk.c
14499                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
14500                         arguments to nmu_security_deserialize_wpa_psk()
14501
14502 2006-01-08  Dan Williams  <dcbw@redhat.com>
14503
14504         * gnome/applet/wso-wpa-psk-hex.c
14505           gnome/applet/wso-wpa-psk-passphrase.c
14506                 - Hook up the append_dbus_params_func() function
14507
14508 2006-01-08  Dan Williams  <dcbw@redhat.com>
14509
14510         * src/nm-device-802-11-wireless.c
14511                 - (get_wireless_capabilities): correctly detect driver WPA
14512                         capabilities
14513
14514 2006-01-08  Dan Williams  <dcbw@redhat.com>
14515
14516         * gnome/applet/Makefile.am
14517           gnome/applet/wso-wpa-psk-hex.c
14518           gnome/applet/wso-wpa-psk-hex.h
14519                 - New files, implement WPA-PSK Hex key input
14520
14521         * gnome/applet/wireless-applet.glade
14522                 - Change existing wpa-psk stuff to wpa-psk-hex
14523                 - Add new widgets for wpa-psk-passphrase
14524
14525         * gnome/applet/wireless-security-manager.c
14526                 - (wsm_set_capabilities): enable WPA options
14527
14528         * gnome/applet/wso-wpa-psk-passphrase.c
14529                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
14530                         for WPA-PSK passphrase
14531
14532 2006-01-08  Dan Williams  <dcbw@redhat.com>
14533
14534         * include/NetworkManager.h
14535                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
14536                         applet/info-daemons
14537
14538         * gnome/applet/passphrase-dialog.c
14539                 - Use the constant.  Fixes a bug where the arguments to
14540                         dbus_message_new_error() were incorrect
14541
14542         * src/nm-dbus-nmi.c
14543                 - Use the constant
14544
14545 2006-01-07  Dan Williams  <dcbw@redhat.com>
14546
14547         * src/nm-device-802-11-wireless.c
14548                 - Add a link timeout so we allow the supplicant time to
14549                         reassociate if it can, before we deactivate the card
14550                 - Fix up link status and link updating so things work better
14551
14552 2006-01-07  Dan Williams  <dcbw@redhat.com>
14553
14554         * src/nm-device-802-11-wireless.c
14555                 - Switch over to using wpa_supplicant
14556                 - Add a timeout of 10s for association of the supplicant
14557                 - Start the monitor callback of the supplicant
14558
14559 2006-01-07  Dan Williams  <dcbw@redhat.com>
14560
14561         * src/NetworkManagerUtils.c
14562                 - (nm_utils_supplicant_request,
14563                   nm_utils_supplicant_request_with_check):
14564                         pass correct buffer length to wpa_ctrl_request()
14565
14566 2006-01-07  Dan Williams  <dcbw@redhat.com>
14567
14568         * src/nm-device-private.h
14569           src/nm-device.c
14570                 - (nm_device_activate_schedule_stage3_ip_config_start): make
14571                         this function available to subclasses
14572
14573 2006-01-06  Robert Love  <rml@novell.com>
14574
14575         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
14576           user plugging in a network cable signals their preference for to
14577           switch, unless the user explicitly selected a wireless network and
14578           therefore signaled their preference for said wireless network over
14579           wired.  In other words, do exactly what makes sense.
14580
14581 2006-01-06  Robert Love  <rml@novell.com>
14582
14583         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14584           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
14585           src/NetworkManagerWireless.h: Remove, no longer used and they keep
14586           showing up in my greps.
14587
14588 2006-01-06  Robert Love  <rml@novell.com>
14589
14590         * gnome/applet/applet-dbus-devices.c,
14591           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
14592           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
14593           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
14594           New Network' both failed in the non-encrypted case because we were
14595           not appending the security options to the DBUS message.  And
14596           'Connect to Other' was also failing in the encrypted case because
14597           we were not incrementing to the next DBUS parameter.  All fixed.
14598           Thanks to dcdw for some debugging help.
14599
14600 2006-01-06  Robert Love  <rml@novell.com>
14601
14602         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
14603           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
14604           hangup code and add per-device hangup.  Tie last commit into the
14605           GNOME applet.  TODO:  Save, understand, and respond to the state of
14606           each dialup device.
14607
14608 2006-01-06  Robert Love  <rml@novell.com>
14609
14610         Patch by Timo Hoenig <thoenig@suse.de>:
14611         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
14612           hangup specific dialup devices.
14613         * src/backends/NetworkManagerDebian.c,
14614           src/backends/NetworkManagerGentoo.c,
14615           src/backends/NetworkManagerRedHat.c,
14616           src/backends/NetworkManagerSlackware.c: Add stub backend.
14617         * src/backends/NetworkManagerRedHat.c,
14618           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
14619           hangup specific dialup devices.
14620
14621 2006-01-04  Robert Love  <rml@novell.com>
14622
14623         * gnome/applet/applet-dbus-devices.c,
14624           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
14625           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
14626           connections.
14627
14628 2006-01-04  Dan Williams  <dcbw@redhat.com>
14629
14630         First dump of wpa_supplicant-related code.  It's not hooked up to
14631         anything yet though.  Thanks to Kay Sievers for
14632         wpa_supplicant_wrapper.c, which formed the basis for this work,
14633         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
14634
14635         * src/Makefile.am
14636           src/wpa_ctrl.[ch]
14637                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
14638
14639         * src/NetworkManagerUtils.[ch]
14640                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
14641                         Add convenience functions for talking to wpa_supplicant
14642
14643         * src/nm-ap-security.[ch]
14644           src/nm-ap-security-wep.c
14645           src/nm-ap-security-wpa-psk.[ch]
14646                 - Update and implement real_write_supplicant_config functions
14647                         in all security types
14648                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
14649                         nm-ap-security-wpa-psk.c
14650
14651         * src/nm-device-802-11-wireless.c
14652                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
14653                    wpa_supplicant_start, wpa_supplicant_interface_init,
14654                    wpa_supplicant_send_network_config): add functions to talk to
14655                         wpa_supplicant and write network config to it
14656
14657 2006-01-04  Robert Love  <rml@novell.com>
14658
14659         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
14660           values so that distribution-backends can differentiate between the
14661           various types (modem, ISDN, et cetera) of dialup device that they
14662           support.
14663         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
14664           needed.
14665
14666 2006-01-03  Dan Williams  <dcbw@redhat.com>
14667
14668         * src/NetworkManagerPolicy.c
14669           src/nm-device.[ch]
14670           src/nm-device-802-11-wireless.c
14671                 - Move wireless-specific activation failure and success code
14672                         into wireless device class
14673
14674 2006-01-03  Robert Love  <rml@novell.com>
14675
14676         Patch by Preggna S:
14677         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
14678           IPsec does not require that a VPN client be bound to an interface,
14679           due to the use of the in-kernel IPSec bits.  So make the tunnel
14680           device optional.
14681
14682 2006-01-03  Dan Williams  <dcbw@redhat.com>
14683
14684         * src/NetworkManagerAP.c
14685                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
14686                         the WPA IE specifies that WEP is supported
14687
14688         * src/nm-device-802-11-wireless.c
14689                 - (process_scan_results): don't mark an AP as supporting WEP
14690                         if there's already other encryption capability info
14691
14692 2006-01-03  Dan Williams  <dcbw@redhat.com>
14693
14694         * src/dhcp-manager/nm-dhcp-manager.c
14695                 - Recognize activation cancellation when waiting for DHCP
14696                         configuration from dhcdbd
14697                 - Ignore non-dhcdbd messages
14698
14699         * src/nm-device.c
14700                 - (real_act_stage3_ip_config_start): return to correct behavior
14701                         of letting the dhcp-manager notify us of failure or
14702                         success rather than incorrectly doing that ourselves
14703                 - (nm_device_activate_stage4_ip_config_get): deal with
14704                         activation cancellation a bit earlier
14705
14706 2006-01-03  Dan Williams  <dcbw@redhat.com>
14707
14708         * src/nm-device-802-11-wireless.c
14709           src/nm-device.[ch]
14710                 - Add hooks to subclasses for stage3_ip_config_start and
14711                         stage4_ip_config_timeout
14712
14713         * src/nm-device-802-3-ethernet.c
14714                 - (real_get_generic_capabilities): make devices NM-supported
14715                         by default
14716
14717 2006-01-03  Robert Love  <rml@novell.com>
14718
14719         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
14720           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
14721           latter cannot differentiate between error and the address -1; misc.
14722           clean up.
14723
14724 2006-01-03  Dan Williams  <dcbw@redhat.com>
14725
14726         * src/NetworkManager.c
14727                 - Move link-checking/probing into the device subclasses
14728                         themselves
14729
14730         * src/nm-device.[ch]
14731           src/nm-device-802-11-wireless.c
14732           src/nm-device-802-3-ethernet.c
14733                 - Do periodic link checking in device subclasses rather
14734                         than being triggered from NetworkManager.c
14735                 - discover_wireless_capabilities -> get_wireless_capabilities
14736                 - discover_generic_capabilities -> get_generic_capabilities
14737                 - Device subclass activation routines now return a value of type
14738                         NMActStageReturn to indicate what step to perform next
14739                 - Devices now override stage4_get_ip4_config if they choose
14740
14741 2006-01-01  Dan Williams  <dcbw@redhat.com>
14742
14743         * src/nm-device-802-11-wireless.c
14744                 - (real_init): don't chain up to parent init because we don't
14745                         need to do that anymore
14746
14747         * src/nm-device.c
14748                 - (discover_device_type): fix arguments to ioctl() to correctly
14749                         pass interface name
14750                 - (nm_device_new): consolidate generic device initialization into
14751                         nm_device_new()
14752                 - (real_init): remove, consolidated to nm_device_new()
14753                 - (nm_device_deactivate, real_deactivate): consolidate
14754
14755 2006-01-01  Dan Williams  <dcbw@redhat.com>
14756
14757         * src/nm-activation-request.c
14758                 - Change dhcp_state member of the NMActRequest structure
14759                         from guint8 to guint32
14760
14761         * src/dhcp-manager/nm-dhcp-manager.[ch]
14762                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
14763                         than guint8 to match the dbus argument.  Turns out we were
14764                         overwriting memory since we were passing in only a guint8
14765
14766 2005-12-31  Dan Williams  <dcbw@redhat.com>
14767
14768         * refactor NMDevice into a GObject-based framework with separate
14769                 objects for wired and wireless.  The following files are no
14770                 longer used but should stick around for a bit so we don't
14771                 loose code through the cracks:
14772                         NetworkManagerDevice.c
14773                         NetworkManagerDevice.h
14774                         NetworkManagerWireless.c
14775                         NetworkManagerWireless.h
14776
14777         The intent here is to allow each device type to manage its own
14778         connection & activation life-cycle, ie to allow wireless devices
14779         to interface with wpa_supplicant, etc.  There's a fair bit of
14780         encapsulation breakage right now that should gradually get pulled
14781         back into each device, along with things like periodic property
14782         updates and link probing.
14783
14784 2005-12-29  Dan Williams  <dcbw@redhat.com>
14785
14786         * include/NetworkManager.h
14787                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
14788                         between networks that don't have any encryption at all
14789
14790 2005-12-29  Dan Williams  <dcbw@redhat.com>
14791
14792         * test/test-common.c
14793           test/test-common.h
14794           test/Makefile.am
14795                 - Move to a test-common subdirectory
14796
14797         * test/libnm-util/test-ciphers.c
14798                 - Move test data to test-inputs.h
14799                 - Test WPA ciphers too
14800
14801         * test/libnm-util/test-dbus-helpers.c
14802                 - Test serialization/deserialization of ciphers
14803
14804 2005-12-29  Dan Williams  <dcbw@redhat.com>
14805
14806         * gnome/applet/applet-dbus-devices.c
14807                 - Replace 'enc' parameter with 'capabilities' for wireless networks
14808                         in dbus calls to NM
14809                 - Set capabilities on WirelessNetwork objects
14810                 - Receive and save type-specific device capabilities too
14811
14812         * gnome/applet/applet-dbus-info.c
14813           gnome/applet/applet-dbus.c
14814                 - Passphrase dialog no longer a singleton; new instance gets created
14815                         on each request.  Updates to deal with that.
14816
14817         * gnome/applet/applet.c
14818                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14819                         than single 'encrypted' flag
14820                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14821                         menu items
14822                 - Passphrase dialog updates per above
14823
14824         * gnome/applet/menu-items.c
14825                 - (network_menu_item_update): use AP capabilities to determine
14826                         encryption
14827
14828         * gnome/applet/nm-device.[ch]
14829                 - Add accessors for type-specific device capabilities
14830
14831         * gnome/applet/other-network-dialog.c
14832                 - Rework to respect device capabilities.  i.e., if the device doesn't
14833                         support WPA, remove that option from the security dropdown
14834
14835         * gnome/applet/passphrase-dialog.c
14836                 - Massive rework so that a new instance is created each time
14837                         it's used, to support wireless network capabilities
14838
14839         * gnome/applet/wireless-network.[ch]
14840                 - Add accessors and members for wireless network capabilities
14841
14842         * gnome/applet/wireless-security-manager.[ch]
14843                 - (wsm_set_capabilities): called after creation to set which
14844                         security options get shown to the user
14845
14846 2005-12-29  Dan Williams  <dcbw@redhat.com>
14847
14848         * libnm-util/cipher-wpa-psk-passphrase.c
14849                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14850                         like other ciphers
14851
14852 2005-12-23  Dan Williams  <dcbw@redhat.com>
14853
14854         * gnome/applet/applet-dbus-info.c
14855                 - (nmi_dbus_get_key_for_network): if there's no entry in
14856                         GConf for a network, assume we want a new key
14857                 - (nmi_save_network_info): serialize wireless security info
14858                         into GConf so its saved
14859
14860         * src/nm-dbus-nm.c
14861                 - Fix warning as we may not be passed security info when
14862                         connecting to a wireless network
14863
14864 2005-12-23  Dan Williams  <dcbw@redhat.com>
14865
14866         * gnome/applet/applet-compat.c
14867                 - Fix bugs in GConf entry conversion
14868
14869         * gnome/applet/applet-dbus-info.c
14870                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14871                         list being zero-length
14872
14873         * libnm-util/cipher-*
14874           libnm-util/dbus-helpers.c
14875                 - All ciphers must now return hashed keys as UTF-8 valid
14876                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14877                         through dbus as strings too.
14878                 - Consolidate various functions that do bin->hex and hex->bin
14879                         conversion into cipher.c
14880
14881         * src/nm-ap-security-wep.c
14882           src/nm-ap-security-wpa-psk.c
14883                 - Handle NULL keys since we may not know keys right away
14884
14885         * src/nm-dbus-nmi.c
14886                 - (nm_dbus_get_network_data_cb): actually advance to the start
14887                         of the wireless security info before we try to deserialize it
14888
14889         * libnm-util/test-ciphers.c
14890                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14891
14892 2005-12-22  Dan Williams  <dcbw@redhat.com>
14893
14894         * gnome/applet/applet-compat.[ch]
14895                 - Convert old-format GConf and keyring entries
14896                         when the applet starts up.
14897
14898         * gnome/applet/applet.c
14899                 - (nmwa_get_instance): Call the conversion function
14900                         on startup before dbus is initialized
14901
14902 2005-12-22  Dan Williams  <dcbw@redhat.com>
14903
14904         * gnome/applet/applet-dbus-info.c
14905                 - Remove nmi_dbus_create_error_message() in favor of
14906                         nmu_create_dbus_error_message()
14907                 - (nmi_dbus_get_network_properties): Error message cleanups
14908                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14909                         gconf key rather than 'addresses', since they really are BSSIDs
14910                 - (nmi_dbus_get_network_properties): Dispose of the security
14911                         object when we're done with it
14912
14913 2005-12-21  Dan Williams  <dcbw@redhat.com>
14914
14915         * Consolidate the info-daemon's "updateNetworkInfo" and
14916                 "addNetworkAddress" calls into just "updateNetworkInfo"
14917
14918 2005-12-21  Dan Williams  <dcbw@redhat.com>
14919
14920         * Make connection after key retrieval work again
14921
14922 2005-12-21  Dan Williams  <dcbw@redhat.com>
14923
14924         * gnome/applet/nm-gconf-wso*
14925                 - Make the serialize functions return gboolean
14926                         rather than int
14927
14928         * gnome/applet/nm-gconf-wso.c
14929                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14930                         parent class handling so we don't segfault
14931
14932         * src/NetworkManagerAP.[ch]
14933                 - (nm_ap_get_capabilities): new function, return capabilities
14934                         now that something can use them
14935                 - (nm_ap_set_encrypted): assume that an access point supports
14936                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14937                         we even tell whether it just supports WEP40?
14938
14939         * src/NetworkManagerDevice.c
14940                 - (ap_need_key): resurrect and update for the New World Order
14941                 - (nm_device_wireless_get_activation_ap): if we're not given
14942                         security info to use, create some based on access point
14943                         capabilities
14944
14945         * src/nm-ap-security-wep.c
14946                 - (nm_ap_security_wep_new_from_ap): create a new object
14947                         based on a certain access point's capabilities
14948
14949         * src/nm-ap-security.c
14950                 - (nm_ap_security_new_from_ap): delegate creation of a new
14951                         object based on access point capabilities to a subclass
14952                 - (nm_ap_security_copy_properties): don't segfault if we
14953                         don't have a key yet
14954
14955         * src/nm-dbus-nm.c
14956                 - (nm_dbus_nm_set_active_device): provide more informative
14957                         output when errors occur.  Also construct security info
14958                         for a given access point if we weren't given any
14959
14960 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14961
14962         * configure.in: Added Lithuanian to ALL_LINGUAS.
14963
14964 2005-12-21  Dan Williams  <dcbw@redhat.com>
14965
14966         * test/libnm-util
14967                 - Add some testcases for WEP ciphers
14968
14969 2005-12-17  Dan Williams  <dcbw@redhat.com>
14970
14971         * Fix bugs
14972
14973 2005-12-17  Dan Williams  <dcbw@redhat.com>
14974
14975         * include/NetworkManager.h
14976                 - Finally kill NMEncKeyType
14977
14978         * gnome/applet/applet-dbus-info.c
14979                 - (nmi_save_network_info): convert to NMGConfWSO
14980
14981         * gnome/applet/nm-gconf-wso-*.c
14982                 - Implement gconf serialization functions
14983
14984         * src/NetworkManagerPolicy.c
14985                 - (nm_policy_activation_finish): fix up meaning of
14986                         automatic/user_requested
14987
14988 2005-12-17  Dan Williams  <dcbw@redhat.com>
14989
14990         * gnome/applet/*
14991                 - More applet cleanups
14992                 - Use the dbus-method-dispatcher
14993
14994         * libnm-util/dbus-method-dispatcher.[ch]
14995                 - Generalize the implementation from NM in
14996                         NetworkManagerUtils.c
14997
14998 2005-12-16  Dan Williams  <dcbw@redhat.com>
14999
15000         * gnome/applet/*
15001                 - Fix up the passphrase dialog to use all the
15002                         WirelessSecurityOption stuff (untested)
15003
15004 2005-12-16  Dan Williams  <dcbw@redhat.com>
15005
15006         * Move nm_gconf_get_*_helper() functions to separate files,
15007                 gconf-helpers.c & gconf-helpers.h
15008
15009         * New NMGConfWSO objects for managing the gconf side of things.
15010                 Eventually these should be merged with the
15011                 WirelessSecurityOption objects and a common base (that can
15012                 serialize/deserialize from dbus & gconf) should be
15013                 refactored out, but for now they are separate.
15014
15015 2005-12-16  Robert Love  <rml@novell.com>
15016
15017         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
15018           binaries unless they exist (nm_spawn_process() emits a warning if
15019           asked to spawn a non-existant process).
15020
15021 2005-12-16  Dan Williams  <dcbw@redhat.com>
15022
15023         * gnome/applet/applet-dbus-info.c
15024                 - Clean up lots of gconf-related code
15025
15026 2005-12-16  Robert Love  <rml@novell.com>
15027
15028         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
15029
15030 2005-12-16  Dan Williams  <dcbw@redhat.com>
15031
15032         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
15033
15034         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
15035                 bits still to be done)
15036
15037 2005-12-16  Dan Williams  <dcbw@redhat.com>
15038
15039         * Finally move info-daemon related stuff out of
15040                 NetworkManagerDbus.c to nm-dbus-nmi.c
15041
15042 2005-12-16  Dan Williams  <dcbw@redhat.com>
15043
15044         * Kill auth_method for access points, since that's now done
15045                 by NMAPSecurity objects
15046
15047         * Add a copy-constructor of sorts to NMAPSecurity
15048                 (how do you do this properly in glib???)
15049
15050 2005-12-15  Dan Williams  <dcbw@redhat.com>
15051
15052         * Exorcise encryption key hashing on APs
15053         * Use libnm-util's serialization/deserialization in both the
15054                 applet and NM
15055         * Random other stuff
15056
15057 2005-12-15  Robert Love  <rml@novell.com>
15058
15059         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
15060           is being added to the icon naming spec, so let's use that (Tango CVS
15061           has the icon).  Because it is new, however, we fall back to the
15062           current "gnome-lockscreen" if the new icon is not around, thus
15063           behavior is the same.
15064         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
15065           factory junk.
15066
15067 2005-12-15  Robert Love  <rml@novell.com>
15068
15069         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
15070           well, help to give.  Couple other misc. bits.
15071
15072 2005-12-15  Dan Williams  <dcbw@redhat.com>
15073
15074         * libnm-util/dbus-helpers.[ch]
15075                 - Make this the one-stop-shop for serializing/deserializing
15076                         AP & connection security settings over dbus.  Both NM
15077                         and applets should use this to ensure consistent dbus
15078                         API going forwared.
15079
15080 2005-12-15  Robert Love  <rml@novell.com>
15081
15082         Patch by Timo Hoenig  <thoenig@suse.de>:
15083         * src/NetworkManagerDbus.c
15084                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
15085                         if HAL jumps off the system bus.  Otherwise libdbus
15086                         (dbus_connection_dispatch) will try to run the filter
15087                         function of our libhal context which is already freed.
15088
15089 2005-12-15  Alexander Shopov  <ash@contact.bg>
15090
15091         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
15092
15093 2005-12-14  Dan Williams  <dcbw@redhat.com>
15094
15095         * include/NetworkManager.h
15096           src/NetworkManagerWireless.c
15097                 - Rearrange 802.11 wireless-specific capabilities again
15098
15099         * src/Makefile.am
15100                 - Forgot to add wpa.c/wpa.h to the makefiles
15101
15102         * src/NetworkManagerAP.[ch]
15103                 - Implement access point capabilities and parse the
15104                         WPA/RSN IEs into the capability bitfield
15105                 - Switch the "encrypted" attribute to utilize the bitfield
15106                         and capabilities rather than being independent
15107
15108         * src/NetworkManagerDevice.c
15109                 - (nm_device_wireless_get_activation_ap): break it horribly
15110                         until we can push NMAPSecurity objects into access point
15111                         objects and through the activation chain
15112                 - Stuff WPA & RSN IEs into AP capabilities
15113
15114         * src/nm-dbus-nm.c
15115                 - Take a shot at actually making setActiveDevice work
15116
15117         * src/wpa.[ch]
15118                 - Make the API a bit saner
15119
15120 2005-12-14  Dan Williams  <dcbw@redhat.com>
15121
15122         * include/NetworkManager.h
15123                 - Add 802.11-specific capability for 802.1x key
15124                         management
15125
15126         * src/wpa.[ch]
15127                 - Pull in WPA IE and RSN IE parsing code from
15128                         wpa_supplicant so we can determine access point
15129                         capabilities
15130                 - Move WPA-related constants here from NetworkManagerAP.h
15131                         and NetworkManagerDevice.c
15132
15133         * src/NetworkManagerDevice.c
15134           src/NetworkManagerAP.[ch]
15135                 - Use WPA-related constants from wpa.h
15136
15137 2005-12-14  Dan Williams  <dcbw@redhat.com>
15138
15139         * include/NetworkManager.h
15140                 - Update and split 802.11 wireless-specific capabilities from
15141                         generic device capabilities
15142
15143         * src/NetworkManagerDevice.c
15144           src/NetworkManagerDevicePrivate.h
15145                 - (nm_device_wireless_discover_capabilities): Move 802.11
15146                         wireless-specific capability checks to
15147                         NetworkManagerWireless.c
15148                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
15149                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
15150
15151         * src/NetworkManagerWireless.[ch]
15152                 - (nm_802_11_wireless_discover_capabilities): Check extended
15153                         802.11 wireless-specific capabilities of the driver
15154
15155 2005-12-14  Robert Love  <rml@novell.com>
15156
15157         Patch from Stefan Scheler <sscheler@suse.de>:
15158         * src/NetworkManagerDevice.c: call backend code to activate and
15159           deactivate NIS.
15160         * src/NetworkManagerSystem.h: add new NIS interfaces.
15161         * src/backends/NetworkManagerDebian.c,
15162           src/backends/NetworkManagerGentoo.c,
15163           src/backends/NetworkManagerRedHat.c,
15164           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
15165           support.
15166         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
15167
15168 2005-12-14  Dan Williams  <dcbw@redhat.com>
15169
15170         * src/nm-ap-security*.[ch]
15171                 - Add AP security abstractions to NetworkManager
15172
15173         * src/nm-dbus-device.c
15174                 - Begin to parse new format dbus messages from the applet
15175                         and construct an AP security object from the message
15176
15177         * libnm-util/dbus-helpers.c
15178                 - Use message iters so we can append the key as a fixed
15179                         array of bytes, which actually works rather than
15180                         using dbus_message_append_args() as we were before
15181
15182 2005-12-14  Dan Williams  <dcbw@redhat.com>
15183
15184         * src/NetworkManagerDbus.c
15185           gnome/applet/applet-dbus.c
15186                 - Fix up dbus service replacement options.  The applet
15187                         should allow replacement, NM itself should not.
15188
15189 2005-12-13  Robert Love  <rml@novell.com>
15190
15191         * src/named-manager/nm-named-manager.c: Revert earlier commit.
15192           Instead, fail silently if config is NULL by not asserting and not
15193           returning FALSE.  Also, make sure we always fclose() the file.
15194
15195 2005-12-13  Robert Love  <rml@novell.com>
15196
15197         Patch by Stefan Scheler <sscheler@suse.de>:
15198         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
15199            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
15200            via DHCP.  Still need the backends to commit the NIS domain name and
15201            and servers to yp.conf as needed.
15202
15203 2005-12-13  Robert Love  <rml@novell.com>
15204
15205         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
15206           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
15207
15208 2005-12-13  Robert Love  <rml@novell.com>
15209
15210         * src/named-manager/nm-named-manager.c: Don't unref the config until
15211           after we call rewrite_resolv_conf(), because get_last_default_domain()
15212           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
15213           `config != NULL' failed" assertion failures and "Could not commit DNS
15214           changes" warnings.
15215
15216 2005-12-12  Dan Williams  <dcbw@redhat.com>
15217
15218         * libnm-util/dbus-helpers.[ch]
15219           libnm-util/Makefile.am
15220                 - new helper calls to consolidate locations where
15221                         NM's setDevice method is called
15222
15223         * gnome/applet/applet-dbus-devices.c
15224           gnome/applet/wireless-security-option.c
15225           gnome/applet/wso-*
15226                 - Implement dbus message param append function for
15227                         all wireless security options
15228
15229 2005-12-12  Robert Love  <rml@novell.com>
15230
15231         * libnm-util/cipher-wep-passphrase.c,
15232           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
15233           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
15234           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
15235           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
15236           When handling keys, we don't care what the sign is.  The compiler
15237           guarantees us that we get our 8-bits, which is all we care about.
15238         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
15239
15240 2005-12-12  Dan Williams  <dcbw@redhat.com>
15241
15242         * gnome/applet/applet-dbus-devices.[ch]
15243           gnome/applet/applet.c
15244           gnome/applet/other-network-dialog.c
15245           gnome/applet/wireless-security-manager.[ch]
15246           gnome/applet/wireless-security-option.[ch]
15247           gnome/applet/wso-*
15248                 - Push the wireless security options further into the applet
15249
15250 2005-12-12  Robert Love  <rml@novell.com>
15251
15252         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
15253           return any name servers.  That is perfectly valid.  (Novell #134369).
15254
15255 2005-12-11  Dan Williams  <dcbw@redhat.com>
15256
15257         * gnome/applet/wso-*
15258           gnome/applet/wireless-security-option.*
15259           gnome/applet/Makefile.am
15260                 - split each security option out so we can eventually
15261                         have each one build up their own dbus message
15262                         arguments to send to NM
15263
15264 2005-12-11  Dan Williams  <dcbw@redhat.com>
15265
15266         * Make validation of the key work correctly
15267
15268 2005-12-11  Dan Williams  <dcbw@redhat.com>
15269
15270         * Hook more bits of the Other Network Dialog up to the
15271                 wireless security manager stuff, and restructure
15272                 bits of the dialog so there's less code.
15273
15274 2005-12-10  Dan Williams  <dcbw@redhat.com>
15275
15276         * gnome/applet/Makefile.am
15277                 - Add libnm-util to includes
15278                 - Add libnm-util to link list
15279                 - Add wireless-security-common.* to compile list
15280
15281         * gnome/applet/other-network-dialog.c
15282                 - Convert to using the WirelessSecurityManager code and
15283                         widgets
15284
15285         * gnome/applet/passphrase-dialog.c
15286                 - Comment out references to stuff in the glade file that
15287                         cause runtime errors until it can be fixed up
15288                         to use the WirelessSecurityManager code
15289
15290         * gnome/applet/wireless-applet.glade
15291                 - Rename some widgets
15292                 - Add widgets for the WirelessSecurityManager code
15293                 - Remove passphrase-related stuff since that's now
15294                         handled by the WirelessSecurityManager code
15295
15296 2005-12-10  Dan Williams  <dcbw@redhat.com>
15297
15298         * gnome/applet/applet-dbus-devices.c
15299                 - Print out error message details for dbus pending call callbacks
15300                 - Move nmwa_dbus_update_devices() up
15301
15302         * gnome/applet/applet-dbus-vpn.c
15303                 - Print out error message details for dbus pending call callbacks
15304
15305 2005-12-10  Dan Williams  <dcbw@redhat.com>
15306
15307         * libnm-util/*
15308                 - More fixups
15309                 - Remove cipher-manager.* because we don't need it
15310                 - Forgot to add gnome-keyring-md5 files to compile list
15311
15312 2005-12-09  Dan Williams  <dcbw@redhat.com>
15313
15314         * libnm-util/*
15315           configure.in
15316           Makefile.am
15317                 - Add a utility library for clients of NetworkManager.  It's
15318                         only targetted at applets for the moment, and contains
15319                         a generalized 802.11 cipher framework for different
15320                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
15321
15322 2005-12-09  Robert Love  <rml@novell.com>
15323
15324         * src/NetworkManagerDevice.c: handle error better in
15325           nm_device_set_mode().
15326
15327 2005-12-08  Robert Love  <rml@novell.com>
15328
15329         * include/NetworkManager.h: add WPA capabilities constants
15330         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
15331           or WPA2 and add the capabilities bits as appropriate.
15332
15333 2005-12-08  Robert Love  <rml@novell.com>
15334
15335         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
15336           NetworkManagerDispatcher.
15337         * configure.in, initscript/SUSE/.cvsignore,
15338           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
15339           initscript.
15340
15341 2005-12-08  Robert Love  <rml@novell.com>
15342
15343         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
15344
15345 2005-12-08  Robert Love  <rml@novell.com>
15346
15347         * src/NetworkManagerDevice.c: We want to fall back on and default to
15348           IW_MODE_AUTO, not -1, which is more in line with our previous
15349           behavior.  Otherwise, we try to set the wireless mode to -1 in
15350           nm_device_set_mode().
15351
15352 2005-12-07  Robert Love  <rml@novell.com>
15353
15354         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
15355           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
15356           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
15357           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
15358           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
15359           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
15360           zero.
15361
15362 2005-12-07  Robert Love  <rml@novell.com>
15363
15364         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
15365           supplied IP is invalid, fall back to DHCP.
15366
15367 2005-12-07  Dan Williams  <dcbw@redhat.com>
15368
15369         * Convert NETWORK_MODE_* constants to IW_MODE_*
15370         * Make all the get_mode/set_mode functions take and return 'int'
15371         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
15372
15373 2005-12-07  Robert Love  <rml@novell.com>
15374
15375         * src/NetworkManagerDevice.c: strncpy() buffer check.
15376         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
15377
15378 2005-12-06  Dan Williams  <dcbw@redhat.com>
15379
15380         * gnome/applet/applet-dbus.c
15381                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
15382
15383         * gnome/applet/applet-dbus-vpn.c
15384                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
15385                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
15386                         to TRUE here if stage was ACTIVATED
15387
15388 2005-12-06  Dan Williams  <dcbw@redhat.com>
15389
15390         * Change nm_device_is_* functions to better names:
15391                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
15392                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
15393
15394 2005-12-06  Dan Williams  <dcbw@redhat.com>
15395
15396         * Change naming of NMDeviceType to something more sensible:
15397                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
15398                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
15399                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
15400
15401 2005-12-06  Dan Williams  <dcbw@redhat.com>
15402
15403         * Move NetworkManager.h -> include/NetworkManager.h
15404         * Split out VPN stuff into include/NetworkManagerVPN.h
15405         * Fix up makefiles to include new location
15406         * Fix up sources to include NetworkManagerVPN.h
15407
15408 2005-12-06  Dan Williams  <dcbw@redhat.com>
15409
15410         Various changes in the applet to move VPN connection "state" -> "stage",
15411         which it actually is.  I'd like to change the signal as well when we
15412         break compat in the near future.
15413
15414 2005-12-06  Dan Williams  <dcbw@redhat.com>
15415
15416         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
15417         * initscript/Slackware/rc.networkmanager
15418                 - Cosmetic fix
15419
15420         * src/backends/NetworkManagerSlackware.c
15421                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
15422                         interfaces
15423
15424 2005-12-05  Robert Love  <rml@novell.com>
15425
15426         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
15427           to free, particularly here as it just barfs.
15428
15429 2005-12-05  Dan Williams  <dcbw@redhat.com>
15430
15431         * gnome/applet/applet-dbus.c
15432                 - Work with dbus 0.6 too
15433
15434 2005-12-03  Dan Williams  <dcbw@redhat.com>
15435
15436         * src/NetworkManagerUtils.[ch]
15437           src/nm-ip4-config.c
15438                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
15439                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
15440
15441 2005-12-01  Robert Love  <rml@novell.com>
15442
15443         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
15444           need a NULL for the '...' parameter, too, to fill the so-called
15445           sentinel.
15446
15447 2005-12-01  Robert Love  <rml@novell.com>
15448
15449         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
15450           interface is already gone, so don't call rtnl_link_change() to down
15451           it (which will segfault, anyhow).
15452
15453 2005-11-22  Robert Love  <rml@novell.com>
15454
15455         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
15456           gateway is not set, just print a little note.  Configurations without
15457           gateways are valid.
15458
15459 2005-11-22  Robert Love  <rml@novell.com>
15460
15461         * README: update
15462
15463 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
15464
15465         * configure.in: Added Finnish translation to ALL_LINGUAS
15466
15467 2005-11-14  Robert Love  <rml@novell.com>
15468
15469         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
15470           Niemueller <tim@niemueller.de>.
15471
15472 2005-11-08  Dan Williams  <dcbw@redhat.com>
15473
15474         Patch from Bill Moss <bmoss@clemson.edu>
15475         * src/NetworkManagerDevice.c
15476                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
15477                         of nm_policy_schedule_activation_finish() to prevent a
15478                         race condition that causes the link to be dropped
15479
15480 2005-11-08  Dan Williams  <dcbw@redhat.com>
15481
15482         Patch from Bill Moss <bmoss@clemson.edu>
15483         * src/NetworkManagerAPList.c
15484           src/NetworkManagerDevice.c
15485           src/NetworkManagerDbus.c
15486                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
15487                         we get more readable ether/mac addresses
15488
15489 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15490
15491         * gnome/applet/main.c: Don't set the restart command.  This fixes
15492         the issue where the restart command was getting copies of all its
15493         arguments for each time the applet was restarted.
15494
15495 2005-11-02  Robert Love  <rml@novell.com>
15496
15497         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
15498           if the widget state differs from our saved state.  This ensures we
15499           do not enter an endless loop of death and destruction.  Also, this
15500           guarantees us that we enforce the widget state.
15501
15502 2005-11-02  Robert Love  <rml@novell.com>
15503
15504         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
15505         * gnome/applet/applet-dbus-devices.c: invoke the new function
15506           nmwa_enable_wireless_set_active() to ensure that the state of the
15507           'Enable Wireless' checkbox matches the daemon's state.  This is a
15508           concern because the daemon remembers the state.
15509
15510 2005-11-02  Robert Love  <rml@novell.com>
15511
15512         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
15513           Enabled", as checkboxes should be actions/commands not positive
15514           statements, otherwise they are confusing in the unselected case.  See
15515           examples in GNOME HIG, Chapter 6.
15516
15517 2005-11-02  Robert Love  <rml@novell.com>
15518
15519         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
15520           show a list of wireless networks or the wireless devices or the
15521           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
15522           a bad bug: If wireless is disabled and the user picks a wireless
15523           network, NM will switch to the network, only to immediately switch
15524           back, as wireless is disabled.  This also reassures people that NM
15525           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
15526
15527 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15528
15529         * gnome/applet/applet.c:
15530         * gnome/applet/applet.h:
15531         Partial backout of Dan's timeout animation patch.
15532         Timeout IDs cannot legally be 0, so revert the code in place to handle
15533         a timeout ID of 0 to denote the timeout isn't running.
15534
15535 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15536
15537         * src/NetworkManagerPolicy.c:
15538         (nm_policy_device_change_check) Clarify wireless switch nm_info text
15539
15540 2005-10-28  Robert Love  <rml@novell.com>
15541
15542         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
15543           "Import Saved Configuration..." to make it clear that importing is
15544           not the next step, but an option.  As an aside, a nice TODO would be
15545           to move Importing out of the vpn-specific dialog and into the main
15546           property editor, as Importing goes with Adding, but that will require
15547           some rearchitecting of the VPN stuff I suspect.
15548
15549 2005-10-27  Dan Williams  <dcbw@redhat.com>
15550
15551         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
15552         we should replace most of the distro-specific backend code
15553         with libnl stuff.
15554
15555         Get it here:  http://people.suug.ch/~tgr/libnl/
15556
15557         * configure.in
15558           src/Makefile.am
15559                 - Add checks for libnl pkgconfig file
15560                 - Use LIBNL_LIBS & LIBNL_CFLAGS
15561
15562         * src/NetworkManagerSystem.c
15563           src/nm-ip4-config.[ch]
15564                 - Use libnl rather than ioctl() for most things
15565                 - Remove unused functions
15566
15567 2005-10-27  Robert Love  <rml@novell.com>
15568
15569         * src/backends/NetworkManagerSuSE.c: fix warning message text
15570
15571 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15572
15573         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
15574
15575 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15576
15577         * gnome/applet/applet.c: The applet's about dialog can advertise our 
15578         project page <http://www.gnome.org/projects/NetworkManager/>
15579
15580 2005-10-26  Christopher Aillon  <caillon@redhat.com>
15581
15582         * gnome/applet.c: Also use translator credits if we don't have
15583         the new GtkAboutDialog (older versions of GTK+)
15584
15585 2005-10-26  Robert Love  <rml@novell.com>
15586
15587         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
15588           failure; correct usage text for "--no-daemon"
15589
15590 2005-10-25  Dan Williams  <dcbw@redhat.com>
15591
15592         * src/NetworkManagerDevice.c
15593                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
15594                         no scan results
15595                 - (free_process_scan_cb_data): unref the device when freeing results
15596                 - (nm_device_wireless_process_scan_results): free scan results a bit later
15597                         so we don't unref the device underneath ourselves
15598
15599 2005-10-25  Dan Williams  <dcbw@redhat.com>
15600
15601         * Back out 2005-10-24 commit from Tor Krill.  Patch
15602                 causes nameservers never to be removed from named.
15603
15604 2005-10-24  Dan Williams  <dcbw@redhat.com>
15605
15606         Clean up wireless scanning and wireless link probing.
15607
15608         * src/NetworkManagerDevice.c
15609                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
15610                         just see if there's an activation request on the device, and check the
15611                         current link against the activation request access point's ESSID.
15612                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
15613                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
15614                         don't call process_scan_results() on zero-length data
15615                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
15616                         15 seconds (from 10)
15617
15618 2005-10-24  Dan Williams  <dcbw@redhat.com>
15619
15620         Cleanup some applet stuff:
15621
15622         - Animation timeouts.  If NM died while the applet was animating,
15623                 the applet would not hide itself.  This is now fixed.
15624
15625         - Remove some dead code
15626
15627         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
15628                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
15629
15630         - Track animation timeout using a gboolean rather than the timeout's
15631                 ID, since timeout IDs can legally be 0.
15632
15633 2005-10-24  Dan Williams  <dcbw@redhat.com>
15634
15635         * src/backends/interface_parser.c
15636                 - Add void to function declarations that need it
15637                         to match patch from Engin AYDOGAN
15638
15639         * src/backends/interface_parser.h
15640                 - Remove unused prototype for ifparser_interfaces()
15641
15642         Patch from Engin AYDOGAN <engin@bzzzt.biz>
15643         * src/backends/interface_parser.h:
15644                 - Compile fixes for gcc 4.0.2 (add void)
15645
15646 2005-10-24  Dan Williams  <dcbw@redhat.com>
15647
15648         Patch from Tor Krill <tor@krill.nu>
15649         * src/named-manager/nm-named-manager.c
15650                 - Write more than just the first nameserver to /etc/resolv.conf
15651                 - Write out valid /etc/resolv.conf on exit
15652
15653 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15654
15655         * gnome/applet/applet-dbus-vpn.c:
15656         Get rid of spurious newlines in debug console output
15657
15658 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15659
15660         * src/backends/NetworkManagerGentoo.c:
15661         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
15662
15663 2005-10-20  Robert Love  <rml@novell.com>
15664
15665         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
15666           direct comparison of floating point values, which is never correct.
15667           Also some misc. cleanup.
15668
15669 2005-10-19  Robert Love  <rml@novell.com>
15670
15671         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
15672
15673 2005-10-19  Robert Love  <rml@novell.com>
15674
15675         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
15676           sensitivity of the buttons.  Specificaly, do the right thing if
15677           there are no entries.
15678
15679 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15680
15681         * configure.in: Update check for adequate wireless-tools
15682         with an AC_TRY_COMPILE for the new symbols we use.
15683
15684 2005-10-19  Dan Williams  <dcbw@redhat.com>
15685
15686         * src/NetworkManagerDevice.c
15687                 - (process_scan_results): don't drop the last (or only)
15688                         access point we see
15689
15690 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15691
15692         * src/backends/NetworkManagerSlackware.c:
15693         Patch from Nico <lordllucifer@gmail.com>
15694                 - Update the Slackware backend.
15695
15696 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15697
15698         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
15699         if we've got GLib 2.8.0
15700
15701 2005-10-18  Robert Love  <rml@novell.com>
15702
15703         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
15704           function nm_schedule_state_change_signal_broadcast() when we
15705           deactivate a device, too.
15706
15707 2005-10-18  Robert Love  <rml@novell.com>
15708
15709         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
15710           be used uninitialized.
15711
15712 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15713
15714         * test/libnm_glib_test.c: Test unregistering, too.
15715
15716 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15717
15718         * configure.in: Bump to 0.5.0
15719
15720 2005-10-17  Dan Williams  <dcbw@redhat.com>
15721
15722         * NetworkManager.h
15723                 - Remove WPA-related constants so they aren't part of the
15724                         upcoming release.
15725
15726 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15727
15728         * gnome/applet/applet.c:
15729         * gnome/applet/applet.h:
15730         Desensitize the 'Connection Information' menu item when there is
15731         no active connection.
15732
15733 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15734
15735         * gnome/libnm_glib/libnm_glib.c:
15736         Make libnm_glib_unregister_callback () actually unregister the callback
15737
15738 2005-10-17  Robert Love  <rml@novell.com>
15739
15740         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
15741           two seconds -- tries is updated every 1/10 of a second, not every
15742           second..
15743
15744 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15745
15746         * gnome/applet/applet-dbus-info.c:
15747         Let D-BUS know that we haven't handled a message when we haven't.
15748
15749 2005-10-17  Robert Love  <rml@novell.com>
15750
15751         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
15752           in order to remain 64-bit clean.
15753
15754 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15755
15756         * gnome/applet/applet-dbus-info.c:
15757         Find network encryption keys asynchronously
15758
15759 2005-10-17  Robert Love  <rml@novell.com>
15760
15761         * src/backends/NetworkManagerDebian.c,
15762           src/backends/NetworkManagerRedHat,
15763           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
15764           comment delimiter.
15765
15766 2005-10-17  Robert Love  <rml@novell.com>
15767
15768         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
15769           "/etc"
15770
15771 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15772
15773         * src/NetworkManagerDevice.c: (process_scan_results)
15774         Fix logic that checks to see whether we have an ESSID.
15775
15776 2005-10-15  Dan Williams  <dcbw@redhat.com>
15777
15778         Move scanning code into NetworkManager rather than use iwlib's
15779         iw_scan() function, so that we can figure out AP capabilities.
15780
15781         * NetworkManager.h
15782                 - Add AP capability bits
15783
15784         * src/NetworkManagerAP.[ch]
15785                 - Add capability field to NMAccessPoint structure
15786                 - Add WPA & RSN Information Element fields and accessor
15787                         functions to NMAccessPoint
15788
15789         * src/NetworkManagerDevice.c
15790                 - Remove usage of iw_scan
15791                 - Add scanning code to NetworkManager rather than use
15792                         iw_scan() from iwlib
15793
15794         * src/NetworkManagerUtils.[ch]
15795                 - (nm_dispose_scan_results): remove, unused
15796
15797 2005-10-14  Christopher Aillon  <caillon@redhat.com>
15798
15799         * gnome/libnm_glib/libnm_glib.c:
15800         * gnome/libnm_glib/libnm_glib.h:
15801         Use guint instead of gint for callback IDs.
15802
15803 2005-10-12  Christopher Aillon  <caillon@redhat.com>
15804
15805         * gnome/applet/applet.c:
15806         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
15807         every 1000ms.  It will unconditionally call nmwa_update_state which
15808         kills the existing animation timeout and registers a new one with a
15809         callback to draw a new frame every 100ms.  There are 11 connecting
15810         icon frames, so the last 2 frames kept getting dropped.  Only reset
15811         the animation timeout if we aren't animating.
15812
15813 2005-10-11  Dan Williams  <dcbw@redhat.com>
15814
15815         * gnome/applet/applet-dbus-devices.c
15816                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15817                         We want to grab the product & vendor from net.physical_dev
15818                         rather than info.parent.
15819
15820 2005-10-11  Dan Williams  <dcbw@redhat.com>
15821
15822         * src/NetworkManagerDevice.c
15823                 - Use the driver's WE version for scanning rather than
15824                         the WE version NM was compiled with.  Fixes random
15825                         crashes in iw_scan () in iwlib.
15826
15827 2005-10-10  Dan Williams  <dcbw@redhat.com>
15828
15829         * Remove nm_system_load_device_modules() from backend files
15830                 and from NetworkManager.c
15831
15832 2005-10-10  Dan Williams  <dcbw@redhat.com>
15833
15834         * src/NetworkManagerPolicy.c
15835                 - Fix some bugs introduced by the capabilities patch
15836
15837 2005-10-10  Dan Williams  <dcbw@redhat.com>
15838
15839         * gnome/applet/applet-dbus-info.c
15840                 - (nmi_dbus_get_network_key): hide the menu when putting up
15841                         the keyring dialog.  (not sure if the code is right...)
15842
15843 2005-10-09  Dan Williams  <dcbw@redhat.com>
15844
15845         Patch from Bill Moss <bmoss@clemson.edu>
15846         * src/NetworkManagerDevice.c
15847                 - (nm_device_set_user_key_for_network): don't try to set auth
15848                         mode on the AP from the allowed list if it's NULL
15849
15850 2005-10-09  Dan Williams  <dcbw@redhat.com>
15851
15852         * Replace the "driver support level" stuff with capabilities.  The
15853                 capability field is a bitfield that is more flexible than the
15854                 old driver support level thing.  It's mostly so we can easily
15855                 figure out what supports WPA and what doesn't, but should be
15856                 quite useful later.
15857
15858 2005-10-09  Dan Williams  <dcbw@redhat.com>
15859
15860         * test/nmtest.c
15861                 - Removed
15862
15863         * test/nm-tool.c
15864           test/Makefile.am
15865                 - Added new "nm-tool" tool that gives quite a bit more
15866                         information
15867
15868 2005-10-07  Robert Love  <rml@novell.com>
15869
15870         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15871           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15872           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15873           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15874           appropriate
15875
15876 2005-10-07  Robert Love  <rml@novell.com>
15877
15878         * configure.in: Change our compile flags for the betterment of mankind.
15879           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15880           prototype is very bad on 64-bit platforms as types default to int but
15881           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15882           "-Wmissing-declarations" to warn if we define an exported function
15883           but fail to put it in a header.
15884
15885 2005-10-07  Robert Love  <rml@novell.com>
15886
15887         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15888           by the name nm_update_device_wireless_timeouts() and once tried,
15889           without success, to steal my pet turtle.
15890
15891 2005-10-07  Robert Love  <rml@novell.com>
15892
15893         * Cleanup prototypes: put some functions in header files and mark
15894           others as 'static' -- feel free to invert
15895         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15896           nm_vpn_manager_vpn_connection_list_copy()
15897         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15898           nm_vpn_service_get_dbus_connection()
15899         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15900           nm_vpn_manager_vpn_connection_list_copy()
15901         * src/vpn-manager/nm-vpn-service.c: make
15902           nm_vpn_service_act_request_failed() and
15903           nm_vpn_service_stage2_daemon_wait() static
15904         * src/vpn-manager/nm-vpn-service.h: add prototype for
15905           nm_vpn_service_get_dbus_connection()
15906
15907 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15908
15909         * gnome/applet/applet.c:
15910         * gnome/applet/applet.h:
15911         * gnome/applet/icons/Makefile.am:
15912         Convey information about the current connection stage in the
15913         icons themselves instead of creating a separate progress bar.
15914
15915 2005-10-04  Robert Love  <rml@novell.com>
15916
15917         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15918           convert an ether_addr structure's MAC into a string, because the
15919           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15920           versus 07:3B:04, while the former will not.
15921
15922 2005-10-04  Robert Love  <rml@novell.com>
15923
15924         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15925           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15926           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15927           default route in the 'Connection Information' dialog, send primary
15928           and secondary name servers in in "getProperties" DBUS method, add
15929           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15930           secondary domain name servers are crucial pieces of information
15931           that a user might need in debugging a network problem.
15932
15933 2005-10-04  Robert Love  <rml@novell.com>
15934
15935         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15936           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15937           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15938           default route in the 'Connection Information' dialog, send default
15939           route in "getProperties" DBUS method, add network_device_set_route(),
15940           and network_device_get_route().  The Gateway is a crucial piece of
15941           connection-related information that a user might need in debugging a
15942           network problem.
15943
15944 2005-10-03  Robert Love  <rml@novell.com>
15945
15946         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15947           NULL.
15948
15949 2005-10-02  Dan Williams  <dcbw@redhat.com>
15950
15951         * Shorten time taken to sleep by fastpathing bits of device deactivation
15952                 necessary for sleep.
15953
15954         * Fix issue where deactivating a device might deactivate the active
15955                 VPN connection, even if the VPN was not using the device.
15956
15957 2005-10-02  Dan Williams  <dcbw@redhat.com>
15958
15959         * gnome/applet/applet.c
15960                 - Adjust signal strength -> icon mapping values slightly
15961                         (so that 51% signal doesn't show a 75% icon) by adding
15962                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15963                         shows 50% icon, etc.
15964
15965 2005-09-29  Robert Love  <rml@novell.com>
15966
15967         * src/NetworkManager.c: removed unused variable.
15968
15969 2005-09-28  Dan Williams  <dcbw@redhat.com>
15970
15971         Support for named + DBus, using Red Hat DBus patches for named.  You
15972         can find those patches here, with "dbus" in the patch's filename:
15973
15974                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15975
15976         Don't forget the named dbus service file either.
15977
15978         Instead of writing a config file and spawing a named process, NM will
15979         use an already-running dbus-enabled named if it finds one.  NM will
15980         update named's forwarder configuration on the fly using dbus.
15981
15982         If there is no dbus-enabled named running, NM will automatically fall
15983         back to writing the most-recent DNS server information to /etc/resolv.conf
15984         and calling nm_system_update_dns() to kick the system's resolver.
15985
15986         Accordingly, all named-related configure-time options have been removed.
15987
15988 2005-09-26  Robert Love  <rml@novell.com>
15989
15990         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15991           ISDN support!
15992         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15993           bug in error path if "ASKPASSWORD" is "no".
15994
15995 2005-09-26  Robert Love  <rml@novell.com>
15996
15997         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15998           comment in /etc/resolv.conf -- ';' is not.
15999
16000 2005-09-19  Dan Williams  <dcbw@redhat.com>
16001
16002         * src/backends/NetworkManagerRedHat.c:
16003         * src/backends/NetworkManagerDebian.c:
16004         * src/backends/NetworkManagerSlackware.c:
16005         * src/backends/NetworkManagerGentoo.c:
16006         * src/backends/NetworkManagerSUSE.c:
16007         Fix invocations of "/sbin/ip address" to use short form instead
16008
16009 2005-09-19  Christopher Aillon  <caillon@redhat.com>
16010
16011         * src/nm-dbus-device.c: Don't assert when getting
16012         addresses of a not yet connected interface.
16013
16014         * gnome/applet/applet.c: Free icons if loading fails.
16015         Use translator-credits so translators can make themselves known.
16016
16017 2005-09-15  Christopher Aillon  <caillon@redhat.com>
16018
16019         * src/NetworkManagerAP.c:
16020         * src/NetworkManagerAP.h:
16021         * src/NetworkManagerDevice.c:
16022         Set a blacklist for certain common manufacturer default ESSIDs:
16023         APs with these ESSIDs are extremely likely to be completely
16024         different networks: connecting to one should not make NM
16025         auto-connect to every other AP with the same default ESSID.
16026
16027 2005-09-12  Christopher Aillon  <caillon@redhat.com>
16028
16029         * gnome/applet/wireless-applet.glade:
16030         The passphrase entry should also activate the default
16031
16032         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
16033
16034         * gnome/applet/applet-dbus-devices.c:
16035         * gnome/applet/applet.c:
16036         * gnome/applet/nm-device.c:
16037         * gnome/applet/nm-device.h:
16038         * src/NetworkManagerUtils.c:
16039         * src/NetworkManagerUtils.h:
16040         * src/nm-dbus-device.c:
16041         I've got a fever, and the only cure for it is less ioctl.
16042         Make NM push IP data rather than make the applet open a socket
16043         to the device.
16044
16045 2005-09-10  Christopher Aillon  <caillon@redhat.com>
16046
16047         * gnome/applet/applet.c:
16048         * gnome/applet/applet-dbus-devices.c:
16049         * gnome/applet/applet-dbus-info.c:
16050         * gnome/applet/passphrase-dialog.c:
16051         * gnome/libnm_glib/libnm_glib.c:
16052         * gnome/vpn-properties/nm-vpn-properties.c:
16053         * src/autoip.c:
16054         * src/backends/NetworkManagerRedHat.c:
16055         * src/named-manager/nm-named-manager.c:
16056         * src/NetworkManagerAPList.c:
16057         * src/NetworkManager.c:
16058         * src/NetworkManagerDbus.c:
16059         * src/NetworkManagerDevice.c:
16060         * src/NetworkManagerPolicy.c:
16061         * src/NetworkManagerSystem.c:
16062         * src/nm-dbus-device.c:
16063         * src/nm-dbus-nm.c:
16064         * src/vpn-manager/nm-vpn-manager.c:
16065         * src/vpn-manager/nm-vpn-service.c:
16066         * test/libnm_glib_test.c:
16067         * test/nminfotest.c:
16068         * test/nmtestdevices.c:
16069         Fix a bunch of 'unused variable' compiler warnings
16070
16071         * NetworkManager.h:
16072         * gnome/applet/applet-dbus-info.c:
16073         * gnome/applet/applet-dbus-info.h:
16074         * gnome/applet/applet.c:
16075         * gnome/applet/applet.h:
16076         * src/NetworkManager.c:
16077         * src/NetworkManagerDbus.c:
16078         * src/NetworkManagerDbus.h:
16079         * src/NetworkManagerDevice.c:
16080         * src/NetworkManagerDevice.h:
16081         * src/NetworkManagerMain.h:
16082         * src/NetworkManagerWireless.c:
16083         * src/NetworkManagerWireless.h:
16084         * src/nm-dbus-nm.c:
16085         Make NetworkManager be smart about how frequently to scan
16086         based on its current state.  Remove the UI for choosing when
16087         to scan.  Scanning still may disabled completely by the user
16088         via the "Wireless Enabled" menu item.
16089
16090 2005-09-09  Christopher Aillon  <caillon@redhat.com>
16091
16092         * gnome/applet/applet.c:
16093         Also overlay the vpn connecting icons onto the wired icon,
16094         when appropriate.
16095
16096         * gnome/vpn-properties/nm-vpn-properties.glade:
16097         Clean up a few strings to use better grammar and proper casing.
16098
16099 2005-09-08  Christopher Aillon  <caillon@redhat.com>
16100
16101         * gnome/applet/vpn-connection.c:
16102         * gnome/applet/vpn-connection.h:
16103         Add nmwa_vpn_connection_is_activating ()
16104
16105         * gnome/applet/applet.c:
16106         * gnome/applet/applet.h:
16107         * gnome/applet/icons/nm-vpn-connecting*.png:
16108         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
16109         the user know something's happening between clicking the VPN item and it
16110         actually being connected.
16111
16112 2005-09-07  Christopher Aillon  <caillon@redhat.com>
16113
16114         * gnome/applet/applet-dbus-info.c: need to free attributes in the
16115         failure case as well.
16116
16117 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
16118
16119         * gnome/panel/eggtrayicon.[ch]:
16120         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
16121
16122 2005-09-07  Dan Williams  <dcbw@redhat.com>
16123
16124         Patch from Bill Moss <bmoss@clemson.edu>
16125         * src/applet-dbus.c
16126                 - (nmwa_dbus_filter): strip whitespace from beginning
16127                         and end of VPN login banner
16128
16129 2005-09-07  Dan Williams  <dcbw@redhat.com>
16130
16131         * The great VPN Manager rewrite of 2005
16132
16133 2005-09-07  Christopher Aillon  <caillon@redhat.com>
16134
16135         * gnome/applet/menu-items.c:
16136         * gnome/applet/nm-device.c:
16137         * gnome/applet/wireless-network.c:
16138         * gnome/libnm_glib/libnm_glib.c:
16139         * src/NetworkManagerDbusUtils.c:
16140         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
16141         g_malloc0 doesn't return NULL
16142
16143 2005-09-06  Dan Williams  <dcbw@redhat.com>
16144
16145         Patch from Tomislav Vujec <tvujec@redhat.com>
16146         * src/NetworkManagerDevice.c
16147                 - (nm_get_device_by_udi): don't return a device when we
16148                         actually didn't find what we were looking for
16149
16150 2005-09-06  Christopher Aillon  <caillon@redhat.com>
16151
16152         * gnome/applet/applet-dbus-devices.c:
16153         * gnome/applet/applet-dbus-devices.h:
16154         * gnome/applet/applet-dbus.c:
16155         * src/NetworkManagerDbus.c:
16156         * src/NetworkManagerDbus.h:
16157         * src/NetworkManagerDevice.c:
16158         * src/nm-dbus-device.c:
16159         Make NM push updates about active device strength when it changes,
16160         rather than having the applet poll every 2s.
16161
16162 2005-09-05  Christopher Aillon  <caillon@redhat.com>
16163
16164         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
16165         network_device_set_strength
16166
16167 2005-09-04  Dan Williams  <dcbw@redhat.com>
16168
16169         Patch from Bill Nottingham <notting@redhat.com>
16170         * src/NetworkManagerDevice.c
16171                 - (nm_device_activation_cancel): reset the quit_activation flag
16172
16173 2005-09-04  Dan Williams  <dcbw@redhat.com>
16174
16175         * src/nm-activation-request.c
16176                 - (nm_act_request_unref): actually free the structure,
16177                         which we didn't seem to be doing before
16178
16179 2005-09-04  Dan Williams  <dcbw@redhat.com>
16180
16181         Patch from John Palmieri <johnp@redhat.com>
16182         * gnome/applet/applet-dbus-devices.c
16183                 - Fix up unreffing of DBusMessage objects
16184
16185 2005-09-04  Dan Williams  <dcbw@redhat.com>
16186
16187         Patch from John Palmieri <johnp@redhat.com>
16188         * gnome/applet/nm-device.c
16189                 - (nm_device_unref): clear network_device's memory _before_ freeing it
16190
16191 2005-09-02  Christopher Aillon  <caillon@redhat.com>
16192
16193         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
16194
16195 2005-09-02  Bill Nottingham  <notting@redhat.com>
16196
16197         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
16198
16199 2005-09-01  Dan Williams  <dcbw@redhat.com>
16200
16201         * src/NetworkManager.c
16202                 - (nm_remove_device_from_list): rename to nm_remove_device
16203                 - (nm_hal_device_removed): call nm_remove_device()
16204
16205         * src/NetworkManagerDevice.c
16206                 - Change the NMWirelessScanCB member 'reschedule' which
16207                         wasn't used to 'force' to indicate that we need to
16208                         force a scan when adding a device
16209
16210         * src/nm-dbus-nm.c
16211                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
16212                         from the device list
16213                 - (nm_dbus_nm_wake): Re-add all devices to the device list
16214
16215 2005-09-01  Robert Love  <rml@novell.com>
16216
16217         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
16218           and the check "!iface" in the error case is probably never true.
16219
16220 2005-09-01  Dan Williams  <dcbw@redhat.com>
16221
16222         Patch from Bill Nottingham <notting@redhat.com>
16223         * src/backends/NetworkManagerRedHat.c
16224                 - Add initial dialup support to Red Hat/Fedora backend
16225
16226 2005-09-01  Dan Williams  <dcbw@redhat.com>
16227
16228         * gnome/applet/applet-dbus-devices.c
16229                 - Sort both wireless networks and devices again, which got
16230                         broken when removing threading
16231
16232 2005-09-01  Christopher Aillon  <caillon@redhat.com>
16233
16234         * gnome/applet/applet.c:
16235         Only show the "Stop/Start All Wireless Devices" menuitem
16236         if we actually have wireless devices.
16237
16238         * gnome/applet/applet-dbus-info.c:
16239         * gnome/applet/applet.c:
16240         * gnome/applet/other-network-dialog.c:
16241         * gnome/applet/vpn-password-dialog.c:
16242         Drop the gtk_dialog_run () calls in favor of connecting to
16243         "response" signals, needed now that the applet is not threaded.
16244
16245 2005-08-31  Dan Williams  <dcbw@redhat.com>
16246
16247         Patch from Bill Moss <bmoss@clemson.edu>
16248         * src/NetworkManagerDevice.c
16249                 - (nm_device_wireless_scan): fix scan timeout values
16250
16251 2005-08-30  Dan Williams  <dcbw@redhat.com>
16252
16253         * gnome/applet/wireless-applet.glade
16254                 - HIG-ify the Other Wireless Networks dialog a bit more
16255                 - Fix some potential segfaults in the info dialog
16256
16257 2005-08-30  Dan Williams  <dcbw@redhat.com>
16258
16259         * gnome/applet/applet-dbus-devices.c
16260                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
16261
16262 2005-08-30  Dan Williams  <dcbw@redhat.com>
16263
16264         * gnome/applet/applet-dbus.[ch]
16265                 - Remove all the nmwa_dbus_call_method_xxxx functions since
16266                         they weren't being used anyway
16267
16268 2005-08-30  Bastien Nocera  <hadess@hadess.net>
16269
16270         * test/nmtestdevices.c: (print_usage), (main):
16271         Check the number of arguments, and fix a typo
16272
16273 2005-08-29  Dan Williams  <dcbw@redhat.com>
16274
16275         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
16276         * gnome/applet/applet.c
16277                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
16278
16279 2005-08-29  Dan Williams  <dcbw@redhat.com>
16280
16281         * gnome/applet/*
16282                 - Don't use threads any more.  Anything that blocks
16283                         (like gtk_dialog_run()) will  have to get fixed up which
16284                         should happen quickly.  We really only had threads to make
16285                         the animation smooth, and when everything got converted over
16286                         to DBus Pending Calls, the need for threads kind of went away
16287
16288 2005-08-29  Christopher Aillon  <caillon@redhat.com>
16289
16290         * gnome/applet/applet.c: Draw VPN connections as radio items
16291         since we don't yet support multiple VPNs.
16292         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
16293         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
16294
16295 2005-08-29  Dan Williams  <dcbw@redhat.com>
16296
16297         Patch from j@bootlab.org
16298         - Make --without-named work
16299         - Make --with-dhcdbd work correctly
16300
16301 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
16302
16303         * configure.in: Added "ca" to ALL_LINGUAS.
16304
16305 2005-08-26  Christopher Aillon  <caillon@redhat.com>
16306
16307         * Fix up VPN state handling between the applet and NetworkManager,
16308                 so that the applet doesn't show a VPN as connected when one
16309                 really is not
16310                         - The applet no longer has a pointer to the active VPN's
16311                                 name, but tracks each VPNs state individually
16312                         - NM no longer has a "getActiveVPNConnection" method
16313                         - NM no longer broadcasts the "VPNConnectionChange" signal
16314                         - NM now broadcasts a "VPNConnectionStateChange" signal
16315                                 whenever the state of a VPN changes
16316
16317 2005-08-26  Dan Williams <dcbw@redhat.com>
16318
16319         * gnome/applet/applet-dbus-devices.c
16320           gnome/applet/applet-dbus-vpn.c
16321                 - Remove calls to dbus_pending_call_ref() because we already
16322                         "own" the pending call
16323                 - Remove calls to dbus_pending_call_get_completed() because
16324                         when we are in the callback, the pending call is completed
16325                         by definition
16326
16327 2005-08-22  Dan Williams <dcbw@redhat.com>
16328
16329         Patch by Bill Moss <bmoss@clemson.edu>
16330         * src/dhcp-manager/nm-dhcp-manager.c
16331                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
16332                         some time to send out a RELEASE if they like
16333
16334 2005-08-22  Dan Williams <dcbw@redhat.com>
16335
16336         Noticed by Bill Moss <bmoss@clemson.edu>
16337         * src/NetworkManagerDbus.c
16338                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
16339                         instead of just cancelling its activation
16340
16341         * src/NetworkManagerDevice.c
16342                 - (nm_device_deactivate): some small cleanups
16343                 - (nm_device_set_user_key_for_network): deactivate the device
16344                         instead of just cancelling its activation
16345
16346 2005-08-22  Dan Williams <dcbw@redhat.com>
16347
16348         Noticed by Bill Moss <bmoss@clemson.edu>
16349         * src/NetworkManagerDevice.c
16350                 - (nm_device_wireless_scan): fix scan timeout, we were
16351                         waiting way too long for scans to complete
16352
16353 2005-08-22  Dan Williams <dcbw@redhat.com>
16354
16355         Patch from j@bootlab.org:
16356         * src/backends/NetworkManagerDebian.c
16357                 - Make the Debian backend work for static IP again
16358
16359 2005-08-20  Christopher Aillon  <caillon@redhat.com>
16360
16361         * gnome/applet/other-network-dialog.c:
16362         The "Create New Network" and "Connect to Other Network"
16363         dialogs share alot of code, but shouldn't share a window
16364         title.  Give them different ones.
16365
16366         * gnome/applet/wireless-applet.glade:
16367         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
16368         Some more minor UI tweaks.
16369
16370 2005-08-19  Christopher Aillon  <caillon@redhat.com>
16371
16372         * gnome/applet/other-network-dialog.c:
16373         * gnome/applet/wireless-applet.glade:
16374         Also need mnemonic widgets, and underline enabled.
16375
16376 2005-08-19  Dan Williams <dcbw@redhat.com>
16377
16378         * vpn-daemons/vpnc/nm-vpnc-service.c
16379                 - (vpnc_watch_cb): remove no-longer-relevant comment
16380                 - (write_config_option): new function, helper to write
16381                         config options to vpnc's stdin
16382                 - (nm_vpnc_config_write): use the new helper, make the
16383                         code shorter
16384
16385 2005-08-19  Christopher Aillon <caillon@redhat.com>
16386
16387         * gnome/applet/passphrase-dialog.c:
16388         * gnome/applet/wireless-applet.glade:
16389         Make the passphrase dialog response based, and treat
16390         responses other than OK (such as Esc, [X]) as a cancel.
16391
16392 2005-08-18  Christopher Aillon <caillon@redhat.com>
16393
16394         * initscript/Gentoo/NetworkManager:
16395         * initscript/RedHat/NetworkManager:
16396         * initscript/RedHat/NetworkManagerDispatcher:
16397         * initscript/SUSE/networkmanager:
16398         CVS remove these in place of .in replacements
16399
16400         * configure.in:
16401         * initscript/Gentoo/NetworkManager.in:
16402         * initscript/RedHat/NetworkManager.in:
16403         * initscript/RedHat/NetworkManagerDispatcher.in:
16404         * initscript/SUSE/networkmanager.in:
16405         These scripts now are generated so they work still when
16406         NM is built using a bindir other than /usr/bin
16407
16408 2005-08-18  Dan Williams <dcbw@redhat.com>
16409
16410         * gnome/applet/main.c
16411                 - Revert previous change for --no-session since
16412                         --sm-disable does the same thing
16413
16414 2005-08-18  Dan Williams <dcbw@redhat.com>
16415
16416         * gnome/applet/applet-dbus-info.c
16417                 - (nmi_dbus_create_error_message): new function
16418                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
16419                         functions.  Also don't check for both device _and_ network before
16420                         asking for a user's key, because we may not have gotten all our
16421                         networks back from NM quite yet (due to the dbus pending calls
16422                         coming in later).  Fixes a hang in NM/nm-applet.
16423
16424         * src/NetworkManagerDbus.c
16425                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
16426                         slightly more sane manner, even though we are still broken for
16427                         certain other error conditions.
16428                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
16429                         to the info-daemon too
16430
16431         * src/NetworkManagerDevice.c
16432                 - Fix some debug messages to be info messages instead
16433
16434 2005-08-18  Dan Williams <dcbw@redhat.com>
16435
16436         * gnome/applet/main.c
16437                 - Add new "--no-session" parameter that disables applet
16438                         session management, ie for testing
16439
16440 2005-08-18  Christopher Aillon <caillon@redhat.com>
16441
16442         * gnome/applet/other-network-dialog.c:
16443         * gnome/applet/wireless-applet.glade: More mnemonics
16444
16445 2005-08-17  Robert Love  <rml@novell.com>
16446
16447         * initscript/SUSE/networkmanager: update
16448
16449 2005-08-17  Dan Williams  <dcbw@redhat.com>
16450
16451         * Tag NM_0_4_1_RELEASE
16452
16453 2005-08-17  Christopher Aillon  <caillon@redhat.com>
16454
16455         * gnome/applet/applet.c: More translatable string cleanup
16456
16457
16458 2005-08-17  Dan Williams  <dcbw@redhat.com>
16459
16460         * gnome/applet/applet-dbus-info.c
16461                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
16462                         from the dbus message, which tells us to unconditionally
16463                         ask the user for a new key.  Otherwise, we pull the key from
16464                         the keyring and return it.  If we fail to get the key from the
16465                         keyring, we ask the user for a new key.
16466                 - (nmi_dbus_get_network_key): new function to grab the key for
16467                         an essid from the keyring.
16468                 - (nmi_dbus_get_network_properties): don't access the keyring here.
16469                         Also, don't return any key in the dbus message.
16470
16471         * src/NetworkManagerDbus.[ch]
16472                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
16473                         indicate that we unconditionally want a new key.  This function
16474                         is now also used to get keys from the info-daemon which are
16475                         pre-stored, not just for asking the user for a new key.  The
16476                         "new_key" parameter indicates whether or not we wish to ask the
16477                         user for a new key.
16478                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
16479                         info-daemon in the return message, so use NULL instead.  The
16480                         key will be filled in at connect time by calling
16481                         nm_dbus_get_user_key_for_network()
16482
16483         * src/NetworkManagerDevice.c
16484                 - (nm_device_wireless_configure): update for "new_key" param to
16485                         nm_dbus_get_user_key_for_network().  We initially set new_key
16486                         to FALSE to see if we have a stored key in the info-daemon, but
16487                         if the connection is unsuccessful at this stage we request a
16488                         new one
16489
16490 2005-08-17  Dan Williams  <dcbw@redhat.com>
16491
16492         * gnome/applet/icons/nm-no-connection.png
16493           gnome/applet/icons/nm-device-wired.png
16494                 - Use Diana's new RJ45 connector icons
16495
16496 2005-08-17  Dan Williams  <dcbw@redhat.com>
16497
16498         * src/NetworkManagerPolicy.c
16499                 - (nm_policy_device_change_check): clarify switching rules if
16500                         both new and old devices are valid; mainly, don't switch
16501                         away from user-requested wireless connection back to a wired
16502                         one
16503
16504 2005-08-17  Dan Williams  <dcbw@redhat.com>
16505
16506         * gnome/applet/Makefile.am
16507                 - Relocate the applet to /usr/bin since it is no longer
16508                         executed by anything, but directly by the user
16509
16510 2005-08-17  Dan Williams  <dcbw@redhat.com>
16511
16512         Patch from Bill Moss <bmoss@clemson.edu>
16513
16514         * gnome/applet/applet-dbus-info.[ch]
16515                 - (nmi_save_network_info): save timestamp for network if it
16516                         was a change requested by the user
16517                 - (nmi_dbus_update_network_info): get user_requested from dbus
16518                         message and pass to nmi_save_network_info()
16519
16520         * gnome/applet/applet.c
16521                 - (nmwa_update_network_timestamp): remove
16522                 - (nmwa_menu_item_activate): don't set timestamp on networks
16523                         here, only after a successful connect in nmi_save_network_info()
16524
16525         * src/NetworkManagerDbus.[ch]
16526                 - (nm_dbus_update_network_info): pass user_requested into the 
16527                         dbus message
16528
16529         * src/NetworkManagerPolicy.c
16530                 - (nm_policy_activation_finish): pass user_requested to
16531                         nm_dbus_update_network_info()
16532
16533 2005-08-16  Robert Love  <rml@novell.com>
16534
16535         * gnome/applet/applet.c: Better "Dial Up" menu item.
16536
16537 2005-08-16  Robert Love  <rml@novell.com>
16538
16539         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
16540           "Connection Information" menu item.
16541
16542 2005-08-16  Dan Williams  <dcbw@redhat.com>
16543
16544         Patch from j@bootlab.org
16545         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
16546
16547         * configure.in: allow specifying the path to dhcdbd
16548
16549 2005-08-16  Robert Love  <rml@novell.com>
16550
16551         Patch from j@bootlab.org
16552         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
16553           src/backends/interface_parser.h: Debian dialup support.
16554
16555 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16556
16557         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
16558         * gnome/applet/applet.c: Add some mnemonics for VPNC
16559
16560         * vpn-daemons/.cvsignore: fix this up a little bit
16561
16562 2005-08-16  Robert Love  <rml@novell.com>
16563
16564         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
16565           support.
16566
16567 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16568
16569         * gnome/applet/applet.c: Split markup out of translatable strings
16570         and clean up logic a little bit.  (fixes #309012)
16571
16572 2005-08-15  Christopher Aillon  <caillon@redhat.com>
16573
16574         * gnome/vpn-properties/nm-vpn-properties.c:
16575         * gnome/vpn-properties/nm-vpn-ui-interface.h:
16576         * vpn-daemons/vpnc/properties/nm-vpnc.c:
16577         Makeshift fix to remove newlines from translatable strings.
16578         Note that we now return an allocated string, so callers of
16579         get_confirmation_details () must now call g_free () on the
16580         result. (fixes #309033).
16581
16582 2005-08-12  Robert Love  <rml@novell.com>
16583
16584         * gnome/applet/applet-dbus.c: remove newlines from translatable
16585           strings--not needed here anyway. (fix b.g.o #309011)
16586         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
16587
16588 2005-08-11  Robert Love  <rml@novell.com>
16589
16590         * gnome/applet/applet.c: mark string as translatable.
16591
16592 2005-08-11  Robert Love  <rml@novell.com>
16593
16594         * initscript/SUSE/networkmanager: update.
16595
16596 2005-08-11  Dan Williams  <dcbw@redhat.com>
16597
16598         * src/nm-dhcp-manager.c
16599                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
16600                         an gateway returned from DHCP, try to use the address of the DHCP
16601                         server as the gateway instead.  Found by Ralf Ertzinger.
16602
16603 2005-08-10  Robert Love  <rml@novell.com>
16604
16605         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
16606           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
16607
16608 2005-08-10  Dan Williams  <dcbw@redhat.com>
16609
16610         Patch from Bill Moss <bmoss@clemson.edu>
16611         * Consolidate writes of access point information updates to the info daemon
16612                 so that we only do it when the connection to the access point was
16613                 successful.  Also consolidates updates to GConf in the Gnome applet.
16614
16615         * src/nm-netlink-monitor.c
16616                 - Silence compile warning when calling g_object_new()
16617
16618 2005-08-08  Dan Williams  <dcbw@redhat.com>
16619
16620         Patch from Steev <steev@steev.net>:
16621         * src/backends/NetworkManagerGentoo.c
16622                 - Stub new dialup backend functions
16623
16624 2005-08-08  Dan Williams  <dcbw@redhat.com>
16625
16626         Patch from Colin Slater:
16627         * src/backends/NetworkManagerGentoo.c
16628                 - (nm_system_update_dns): Fix exit status check for restarting
16629                         nscd
16630
16631 2005-08-05  Robert Love  <rml@novell.com>
16632
16633         * NetworkManager.h,
16634           gnome/applet/applet-dbus-devices.c,
16635           gnome/applet/applet-dbus-devices.h,
16636           gnome/applet/applet-dbus.c,
16637           gnome/applet/applet.c,
16638           gnome/applet/applet.h,
16639           src/NetworkManager.c,
16640           src/NetworkManagerMain.h,
16641           src/NetworkManagerSystem.h,
16642           src/backends/NetworkManagerRedHat.c,
16643           src/backends/NetworkManagerSuSE.c,
16644           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
16645
16646 2005-08-05  Robert Love  <rml@novell.com>
16647
16648         * gnome/applet/other-network-dialog.c: default the adhoc network to the
16649           machine's hostname to make adhoc creation idiot-proof.
16650
16651 2005-08-04  Robert Love  <rml@novell.com>
16652
16653         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
16654           freed.
16655
16656 2005-08-04  Dan Williams  <dcbw@redhat.com>
16657
16658         * gnome/applet/applet-dbus-info.c
16659           gnome/applet/applet-dbus-info.h
16660                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
16661                         to store key, key type, and auth method rather than just auth method
16662                 - (nmi_dbus_update_network_info): new function
16663                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
16664
16665         * gnome/applet/passphrase-dialog.c
16666                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
16667                         of saving the info ourselves
16668
16669         * gnome/libnm_glib/libnm_glib.c
16670                 - Remove the stupid version check for dbus
16671
16672         * src/NetworkManagerAP.c
16673           src/NetworkManagerAP.h
16674                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
16675
16676         * src/NetworkManagerDbus.c
16677           src/NetworkManagerDbus.h
16678                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
16679                         more than just the auth method
16680
16681         * src/NetworkManagerDevice.c
16682                 - Update network info at the appropriate times
16683
16684 2005-07-29  Ray Strode  <rstrode@redhat.com>
16685
16686         * src/NetworkManager.c (nm_info_handler): don't use input as format
16687         string (Spotted by Ian Jackson).
16688
16689 2005-07-27  Dan Williams  <dcbw@redhat.com>
16690
16691         * src/nm-dbus-nm.c
16692           src/nm-dbus-net.c
16693                 - Random cleanups of spacing
16694
16695         * gnome/applet/applet.h
16696           gnome/applet/other-network-dialog.c
16697           gnome/applet/passphrase-dialog.c
16698                 - Conslidate usage of NMWAEncryptionKeyTypes enum
16699
16700         Patch from Bill Moss:
16701                 - Make Other Wireless Networks work again with encryption keys
16702
16703 2005-07-26  Dan Williams  <dcbw@redhat.com>
16704
16705         Patch from Steev <steev@steev.net>:
16706         * src/backends/NetworkManagerGentoo.c
16707           src/backends/Makefile.am
16708                 - Fix up Gentoo backend
16709
16710 2005-07-26  Robert Love  <rml@novell.com>
16711
16712         * src/backends/NetworkManagerSuSE.c: misc. cleanup
16713
16714 2005-07-25  Robert Love  <rml@novell.com>
16715
16716         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
16717           in the same group as the wireless networks, since they are all
16718           mutually exclusive.
16719
16720 2005-07-24  Ray Strode  <rstrode@redhat.com>
16721
16722         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
16723         remove unneeded NULL arg from g_object_new().  Any
16724         warnings caused by not having the extra NULL are just a
16725         result of a bug in glib 2.7.0 - 2.7.2.
16726
16727 2005-07-22  Robert Love  <rml@novell.com>
16728
16729         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
16730
16731 2005-07-22  Robert Love  <rml@novell.com>
16732
16733         * src/nm-netlink-monitor.c: g_object_new() needs at least three
16734           parameters (gcc 4.0.2 warning fix).
16735
16736 2005-07-18  Robert Love  <rml@novell.com>
16737
16738         Suggested by Aaron Bockover (abockover@novell.com)
16739         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
16740           s/Ascii/ASCII
16741         * gnome/applet/passphrase-dialog.c: ditto
16742         * gnome/applet/wireless-applet.glade: ditto
16743
16744 2005-07-13  Dan Williams  <dcbw@redhat.com>
16745
16746         Patch from Ray Strode <halfline@gmail.com>
16747         * vpn-daemons/vpnc/nm-vpnc-service.c
16748                 - Don't let vpnc daemonize, fixes some races with PID file reading
16749
16750 2005-07-13  Dan Williams  <dcbw@redhat.com>
16751
16752         Patch from Ray Strode <halfline@gmail.com>
16753         * Random cleanups for strict CFLAGS
16754
16755 2005-07-07  Dan Williams  <dcbw@redhat.com>
16756
16757         Patch from Derek Atkins <warlord@MIT.EDU>
16758         * src/nm-dbus-net.c:
16759                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
16760
16761 2005-07-07  Dan Williams  <dcbw@redhat.com>
16762
16763         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
16764         * src/backends/NetworkManagerGentoo.c
16765                 - Gentoo backend Static IP nameserver fixes
16766                 - General Gentoo backend goodness
16767
16768 2005-07-07  Dan Williams  <dcbw@redhat.com>
16769
16770         Patch from Bastien Nocera:
16771         * gnome/applet/applet.c
16772                 - Fix up error reporting when icons or glade files are missing
16773
16774 2005-07-07  Robert Love  <rml@novell.com>
16775
16776         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
16777           are not any VPN connections above it.
16778
16779 2005-07-07  Robert Love  <rml@novell.com>
16780
16781         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
16782
16783 2005-07-05  Robert Love  <rml@novell.com>
16784
16785         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
16786           zero.
16787
16788 2005-07-05  Robert Love  <rml@novell.com>
16789
16790         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
16791           on wired or unencrypted wireless.
16792
16793 2005-07-01  Robert Love  <rml@novell.com>
16794
16795         * src/NetworkManagerSystem.c: Print the error via strerror().
16796
16797 2005-06-30  Robert Love  <rml@novell.com>
16798
16799         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
16800           then exit if the glade file is not found.  currently the application
16801           just hangs.
16802
16803 2005-06-30  Robert Love  <rml@novell.com>
16804
16805         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
16806           explicitly up all interfaces on wake from sleep.
16807
16808 2005-06-30  Robert Love  <rml@novell.com>
16809
16810         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16811           with information about the currently active connection.
16812         * gnome/applet/applet.h: (ditto)
16813         * gnome/applet/wireless-applet.glade: (ditto), new file
16814
16815 2005-06-30  Robert Love  <rml@novell.com>
16816
16817         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16818         * src/nm-dbus-nm.c: print when we sleep and wake up.
16819         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16820         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16821           in /sbin unless D-BUS is, folks).
16822         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16823
16824 2005-06-27  Robert Love  <rml@novell.com>
16825
16826         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16827           case.
16828
16829 2005-06-27  Robert Love  <rml@novell.com>
16830
16831         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16832           items radios.
16833
16834 2005-06-26  Robert Love  <rml@novell.com>
16835
16836         * src/NetworkManagerDevice.c: be specific about which device in
16837           nm_info() message.
16838
16839 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16840
16841         * src/nm-netlink-monitor.c: correct spelling error.
16842
16843 2005-06-23  Robert Love  <rml@novell.com>
16844
16845         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16846         * gnome/applet/passphrase-dialog.c: more of that keyring!
16847
16848 2005-06-23  Robert Love  <rml@novell.com>
16849
16850         * configure.in: remove extraneous GNOMEKEYRING directives.
16851         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16852         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16853         * gnome/applet/passphrase-dialog.c: whitespace.
16854
16855 2005-06-23  Robert Love  <rml@novell.com>
16856
16857         * src/NetworkManagerDevice.c: division in assignment was flipped.
16858
16859 2005-06-23  David Zeuthen  <david@fubar.dk>
16860
16861         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16862         signal to the child to indicate that we got what we wanted when we
16863         see two new-lines right after each other.
16864         (nmwa_vpn_request_password): Pass a structure with several members
16865         instead of just the passwords
16866
16867 2005-06-23  Dan Williams <dcbw@redhat.com>
16868
16869         * src/NetworkManager.c
16870           src/NetworkManagerMain.h
16871                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16872                 - (nm_hal_init): new function, init libhal context then add devices
16873                 - (nm_hal_deinit): new function, clean up libhal context
16874                 - (nm_data_free): Move Hal cleanup here
16875                 - (main): check whether Hal is running, and if so, get a list of
16876                         network devices from it
16877
16878         * src/NetworkManagerDbus.c
16879                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16880                         and when it appears, get a list of network devices from it.  If
16881                         Hal goes away, clean up the libhal context
16882
16883 2005-06-22  Robert Love  <rml@novell.com>
16884
16885         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16886           permissions of scripts before executing.
16887
16888 2005-06-21  Robert Love  <rml@novell.com>
16889
16890         * initscript/SUSE/networkmanager: update.
16891         * src/backends/NetworkManagerSuSE.c: cleanup.
16892
16893 2005-06-21  Robert Love <rml@novell.com>
16894
16895         * gnome/applet/applet.c: use menu mnemonics.
16896         * gnome/applet/menu-items.c: (ditto)
16897
16898 2005-06-21  Robert Love  <rml@novell.com>
16899
16900         * applet/applet-dbus-devices.c: mark non-static functions static.
16901         * applet/applet-dbus-vpn.c: (ditto)
16902         * applet/applet.c: (ditto)
16903         * applet/nm-device.h: (ditto)
16904         * applet/other-network-dialog.c: (ditto)
16905         * applet/passphrase-dialog.c: (ditto)
16906         * NetworkManager.c: (ditto)
16907         * NetworkManagerDbus.c: (ditto)
16908         * NetworkManagerDevice.c: (ditto)
16909         * NetworkManagerPolicy.c: (ditto)
16910         * NetworkManagerUtils.c: (ditto)
16911         * NetworkManagerWireless.c: (ditto)
16912         * NetworkManagerWireless.h: (ditto)
16913         * nm-netlink-monitor.c: (ditto)
16914         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16915         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16916         * autoip.c: include autoip.h.
16917         * autoip.h: new file.  define get_autoip().
16918         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16919         * NetworkManagerDbus.h: remove duplicate definitions.
16920
16921 2005-06-20  Robert Love  <rml@novell.com>
16922
16923         * Makefile.am: Add missing intltool-foo.in generated files to
16924           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16925           with the start of stuff to cleanup on 'distclea'.
16926         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16927           stuff right and 'distcheck' works.
16928         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16929           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16930           Makefile.am for each.  And systray/Makefile needs to be redone.
16931
16932 2005-06-19  Dan Williams <dcbw@redhat.com>
16933
16934         * src/NetworkManagerDevice.c
16935         - (nm_device_wireless_process_scan_results): scan every 20s when
16936           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16937
16938 2005-06-19  Dan Williams <dcbw@redhat.com>
16939
16940         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16941
16942 2005-06-18  Ray Strode <rstrode@redhat.com>
16943
16944         * src/nm-netlink-monitor.c 
16945         (nm_netlink_monitor_event_handler): check for the presence
16946         of either error condition not both. 
16947         
16948         (nm_netlink_monitor_error_handler): emit error signal if
16949         error occurs.
16950
16951         (nm_netlink_monitor_event_handler),
16952         (nm_netlink_monitor_error_handler),
16953         (nm_netlink_monitor_disconnect_handler): if an 
16954         assertion fails disconnect the event handler to prevent 
16955         infinite loops.
16956
16957         * src/nm-netlink-monitor.h: add new error condition
16958         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16959
16960 2005-06-18  Ray Strode <rstrode@redhat.com>
16961
16962         * src/nm-netlink-monitor.c 
16963         (nm_netlink_monitor_event_handler): remove bogus < 0
16964         check on unsigned value and return early if the kernel
16965         didn't send any bytes.
16966
16967 2005-06-17  Robert Love  <rml@novell.com>
16968
16969         * initscript/SUSE/networkmanager: Change the Provides and default
16970         run levels
16971
16972 2005-06-16  Dan Williams <dcbw@redhat.com>
16973
16974         Patch from Robert Love:
16975         * gnome/applet/applet.c
16976                 - Beautify some applet menu item names
16977
16978 2005-06-17  David Zeuthen  <davidz@redhat.com>
16979
16980         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16981         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16982         Also add new methods can_export, import_file and export.
16983
16984         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16985         to the main UI
16986
16987         * gnome/vpn-properties/nm-vpn-properties.c:
16988         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16989         nm-vpn-ui-interface.h.
16990         (update_edit_del_sensitivity): Also update "Export" sensitivity
16991         (add_vpn_connection): Also add new SVC_NAME column
16992         (import_settings): New function
16993         (retrieve_data_from_selected_connection): New function
16994         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16995         this function
16996         (export_cb): New function
16997         (init_app): Also setup the "export" widget
16998         (main): Support the --import-service and --import-file commandline
16999         arguments
17000
17001         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
17002         D-BUS 0.34
17003
17004 2005-06-16  Dan Williams <dcbw@redhat.com>
17005
17006         Patch from Robert Love:
17007         * gnome/applet/menu-items.c
17008                 - (network_menu_item_new): pass -1 as wireless network
17009                         menu items height size request rather than ascent / 2
17010
17011 2005-06-16  Dan Williams <dcbw@redhat.com>
17012
17013         * Clean up wording in Wireless Scan Methods menu items and constants
17014
17015 2005-06-16  Robert Love  <rml@novell.com>
17016
17017         * po/POTFILES.in
17018                 - remove gtkcell* files
17019
17020 2005-06-15  Dan Williams <dcbw@redhat.com>
17021
17022         Patch from Robert Love: make the applet stetic
17023
17024         * gnome/applet/Makefile.am
17025                 - Don't compile the gtkcellview and gtkcellrendererprogress files
17026
17027         * gnome/applet/gtkcellview.h
17028           gnome/applet/gtkcellview.c
17029           gnome/applet/gtkcellrendererprogress.h
17030           gnome/applet/gtkcellrendererprogress.c
17031                 - Removed
17032
17033         * gnome/applet/menu-items.c
17034                 - Progress bars are 5:1 size ratio
17035                 - Use GTK progress bars rather than internal ones
17036
17037 2005-06-15  Dan Williams <dcbw@redhat.com>
17038
17039         Patch from Robert Love:
17040         * initscript/SUSE/networkmanager
17041                 - Fix typo
17042
17043 2005-06-15  Dan Williams <dcbw@redhat.com>
17044
17045         * src/backends/NetworkManagerSuSE.c
17046           src/backends/NetworkManagerRedHat.c
17047           src/backends/NetworkManagerDebian.c
17048                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
17049
17050 2005-06-15  Dan Williams <dcbw@redhat.com>
17051
17052         * src/backends/NetworkManagerDebian.c
17053                 - Add nm_system_device_get_use_dhcp() to debian backend
17054
17055         Patch from Kay Sievers:
17056         * src/backends/NetworkManagerSuSE.c
17057                 - Update debian backend for static IP nameservers
17058
17059         * src/NetworkManagerDevice.c
17060                 - Actually set the device to use static IP or DHCP rather
17061                         than always DHCP
17062
17063 2005-06-15  Dan Williams <dcbw@redhat.com>
17064
17065         Patch from Thom May:
17066         * src/backends/NetworkManagerDebian.c
17067                 - Update debian backend for static IP nameservers
17068
17069 2005-06-15  Dan Williams <dcbw@redhat.com>
17070
17071         Patches from Robert Love:
17072         * gnome/applet/wireless-applet.glade
17073                 - Tighten up wording
17074
17075         * src/NetworkManagerDevice.c
17076                 - Remove misplaced ';'
17077
17078         * configure.in
17079           initscript/Makefile.am
17080           initscript/SUSE/Makefile.am
17081           initscript/SUSE/networkmanager
17082                 - Add SUSE initscript
17083
17084 2005-06-12  David Zeuthen  <davidz@redhat.com>
17085
17086         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
17087
17088         * gnome/vpn-properties/nm-vpn-properties.glade: New file
17089
17090         * gnome/vpn-properties/nm-vpn-properties.c: New file
17091
17092         * gnome/vpn-properties/Makefile.am: New file
17093
17094         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
17095         array of passwords
17096
17097         * src/vpn-manager/nm-vpn-manager.c
17098         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
17099         instead of just a single one
17100
17101         * src/vpn-manager/nm-dbus-vpn.c:
17102         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
17103         here
17104         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
17105
17106         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
17107         Change the interface here to give a list of passwords. Also, don't
17108         require username, but do require service
17109
17110         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
17111         the binary for the auth-dialog and use that instead of putting up a
17112         dialog asking for a single password
17113
17114         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
17115         however do remember the service
17116
17117         * gnome/applet/main.c (main): Setup i18n
17118
17119         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
17120         connection to '%s'" to the tooltip if we are connected using VPN
17121         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
17122         key to determine whether we the auth-dialog needs to
17123         reprompt. Also cope with the fact that the auth-dialog now returns
17124         an array of passwords.
17125         (nmwa_menu_configure_vpn_item_activate): New handler for
17126         "Configure VPN..." menu item
17127         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
17128         (is_vpn_available): New function to determine if we got any
17129         NM-compatible VPN software installed
17130         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
17131         items only if we have NM-compatible VPN software installed
17132         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
17133         logic for detecting when VPN connections are removed
17134
17135         * gnome/applet/applet-dbus.h: Removed the prototypes for 
17136         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
17137         since these are defined elsewhere
17138
17139         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
17140         function used to keep track of whether the last attempt succeded
17141         (nmwa_dbus_filter): Update last_attempt according to whether the
17142         VPN connection could be established or not
17143
17144         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
17145         Change prototype to take an array of passwords, not just a single
17146         password
17147
17148         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
17149         update service, not user
17150         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
17151         dbus_active_vpn_name is not NULL before using it
17152         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
17153         string array instead of assuming a single password
17154
17155         * gnome/applet/applet-dbus-info.c:
17156         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
17157         user name; don't read from gconf
17158
17159         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
17160         VPN_NAME_FILES_DIR
17161
17162         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
17163
17164         * configure.in: Add checks for gmodule-2.0.
17165         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
17166         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
17167         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
17168         for details
17169
17170         * vpn-daemons/Makefile.am: Removed
17171
17172         * vpn-daemons/README: New file to describe extensions points for VPN
17173         software
17174
17175 2005-06-10  Dan Williams <dcbw@redhat.com>
17176
17177         * src/backends/NetworkManagerRedHat.c
17178                 - (get_current_profile_name): new function, grab current network profile name from
17179                         /etc/sysconfig/network
17180                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
17181                         update an IP4 Config structure's settings from it
17182                 - (nm_system_device_get_system_config): if we're using static IP on this device,
17183                         get DNS info from current network profile
17184
17185 2005-06-09  Dan Williams <dcbw@redhat.com>
17186
17187         Patch from Robert Love:
17188         * src/NetworkManagerDevice.c
17189           src/NetworkManagerUtils.c
17190                 - 64-bit build fixes
17191
17192 2005-06-09  Dan Williams <dcbw@redhat.com>
17193
17194         Patch from Kay Sievers and Robert Love:
17195         * configure.in
17196           src/backends/Makefile.am
17197           src/backends/NetworkManagerSuSE.c
17198                 - Add SuSE support
17199
17200 2005-06-09  Dan Williams <dcbw@redhat.com>
17201
17202         * NetworkManager.h
17203                 - Add NMWirelessScanMethod enum for scan methods
17204
17205         * gnome/applet/applet-dbus-devices.c
17206                 - (nmwa_dbus_update_scanning_enabled_cb): remove
17207                 - (nmwa_dbus_update_scanning_enabled): remove
17208                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
17209                         since it got removed
17210                 - (nmwa_dbus_enable_scanning): remove
17211
17212         * gnome/applet/applet-dbus-info.c
17213                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
17214                         update the wireless scanning method from NMI
17215                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
17216                         method value to NetworkManager
17217                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
17218
17219         * gnome/applet/applet-dbus-info.h
17220                 - Add prototype for nmi_dbus_signal_update_scan_method
17221
17222         * gnome/applet/applet.c
17223                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
17224                         Wireless Scanning menu based on current wireless scan method
17225                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
17226                         signal for Wireless Scanning menu items, tell NetworkManager the new method
17227                         and update our menu items to make sure the right one is checked
17228                 - (nmwa_set_scanning_enabled_cb): remove
17229                 - (nmwa_context_menu_update): remove references to pause_scanning_item
17230                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
17231                         Scanning menu item
17232                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
17233                         from GConf
17234                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
17235                         so we get notified of preference values too
17236                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
17237
17238         * gnome/applet/applet.h
17239                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
17240                 - Add wireless scan method member to applet data
17241                 - Remove pause_scanning_item, add Wireless Scanning submenu
17242
17243         * src/NetworkManager.c
17244                 - (nm_data_new): default to NM_SCAN_METHOD_ON
17245                 - (main): grab scanning method from NMI if we can
17246
17247         * src/NetworkManagerDbus.c
17248                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
17249                         nm_dbus_update_wireless_scan_method()
17250                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
17251                         from NMI
17252                 - (nm_dbus_nmi_is_running): redundant function, removed
17253                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
17254                         when NMI comes back
17255
17256         * src/NetworkManagerDevice.c
17257                 - (nm_device_is_activated): return TRUE if the device is activated
17258                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
17259                         and we are activated
17260
17261         * src/nm-dbus-nm.c
17262                 - (nm_dbus_nm_set_scanning_enabled): removed
17263                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
17264                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
17265
17266 2005-06-09  Dan Williams <dcbw@redhat.com>
17267
17268         * NetworkManager.h
17269           src/vpn-manager/nm-vpn-service.c
17270                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
17271
17272 2005-05-27  Dan Williams <dcbw@redhat.com>
17273
17274         * vpn-daemons/vpnc/nm-vpnc-service.c
17275                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
17276                         Should fix the bug where the VPN connection terminates the first time.
17277
17278 2005-05-20  Dan Williams <dcbw@redhat.com>
17279
17280         * NetworkManager.h
17281                 - Differentiate VPN config signals between bad VPN config options
17282                         and bad IP config
17283
17284         * gnome/applet/applet-dbus-info.h
17285                 - Add prototypes for wireless network and vpn connection update functions
17286
17287         * gnome/applet/applet-dbus.c
17288                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
17289
17290         * gnome/applet/applet.c
17291                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
17292                         error signals
17293                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
17294                         propogation to NetworkManager
17295                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
17296                         notify propogation to NetworkManager
17297
17298         * src/NetworkManagerDbus.c
17299                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
17300                         are updating so a network can be removed from it if necessary
17301
17302         * src/vpn-manager/nm-vpn-manager.c
17303                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
17304
17305         * vpn-daemons/vpnc/nm-vpnc-service.c
17306                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
17307                 - (nm_vpnc_dbus_signal_launch_failed): remove
17308                 - (nm_vpnc_dbus_signal_connect_failed): remove
17309                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
17310                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
17311                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
17312                         for new generalized error signal function, remove config file stuff
17313                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
17314                         we can write configuration options to it
17315                 - (nm_vpnc_config_file_generate): removed
17316                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
17317                 - (nm_vpnc_config_options_validate): validate the config options we receive
17318                         from NetworkManager to block potential exploits
17319                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
17320                         starting vpnc
17321                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
17322                         to NetworkManager
17323
17324 2005-05-16  Dan Williams  <dcbw@redhat.com>
17325
17326         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
17327                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
17328                         is not "connect"
17329
17330 2005-05-16  Dan Williams  <dcbw@redhat.com>
17331
17332         Patch from Tomislav Vujec <tvujec@redhat.com>
17333         * gnome/applet/applet-dbus-info.c
17334                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
17335                         GConf and pass them to NetworkManager.  New key is 'routes' under
17336                         the VPN connection, and should be a string list
17337
17338         * src/NetworkManagerSystem.c
17339                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
17340                         set them on the device when we set the rest of the VPN config.  Ensure
17341                         they are in the correct format since they are passed directly to the
17342                         command line.
17343
17344         * src/backends/NetworkManagerRedHat.c
17345           src/backends/NetworkManagerDebian.c
17346                 - (nm_system_device_add_route_via_device_with_iface): new function
17347
17348         * src/vpn-manager/nm-dbus-vpn.c
17349                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
17350
17351         * src/vpn-manager/nm-vpn-manager.c
17352                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
17353                         them into the IP4 config functions
17354
17355 2005-05-15  Dan Williams  <dcbw@redhat.com>
17356
17357         From Filip Miletic:
17358         * po/sr.po
17359           po/sr@Latn.po
17360           configure.in
17361                 - Serbian translation added
17362
17363 2005-05-15  Dan Williams  <dcbw@redhat.com>
17364
17365         * dispatcher-daemon/NetworkManagerDispatcher.c
17366                 - (main): sync arguments with NetworkManager and the applet, now use
17367                         "--no-daemon" rather than "daemon=no"
17368                 - (nmd_print_usage): Fix script path in usage message
17369
17370 2005-05-15  Dan Williams  <dcbw@redhat.com>
17371
17372         * src/NetworkManagerDevice.[ch]
17373           src/NetworkManagerPolicy.c
17374           src/NetworkManager.c
17375           src/nm-dbus-nm.c
17376                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
17377                         longer send the DeviceNoLongerActive signal unconditionally, but only
17378                         when the device is actually active.
17379
17380         * dispatcher-daemon/NetworkManagerDispatcher.c
17381                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
17382                         and simplify the logic
17383                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
17384                         we free it later on
17385
17386         * initscript/RedHat/Makefile.am
17387           initscript/RedHat/NetworkManagerDispatcher
17388                 - Add initscript for NetworkManagerDispatcher
17389
17390
17391         Patch from Bill Moss:
17392         * dispatcher-daemon/NetworkManagerDispatcher.c
17393                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
17394
17395         * src/NetworkManagerDbus.c
17396                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
17397                         and DeviceNowActive gets signaled, then the device has a new IP address
17398                         anyway.  There's no need for a separate signal.
17399
17400         * src/NetworkManagerDevice.c
17401                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
17402
17403         * src/NetworkManagerPolicy.c
17404                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
17405                         activates successfully.  This kind of went missing when I reworked the
17406                         activation code.
17407
17408 2005-05-15  Dan Williams  <dcbw@redhat.com>
17409
17410         * configure.in
17411                 - Check for dhcdbd and error if its not found
17412
17413         * src/dhcp-manager/Makefile.am
17414           src/dhcp-manager/nm-dhcp-manager.c
17415                 - Use path to dhcdbd that configure found
17416
17417 2005-05-14  Dan Williams  <dcbw@redhat.com>
17418
17419         * gnome/applet/nm-device.c
17420                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
17421                         sort wireless networks alphabetically
17422
17423         * gnome/applet/applet-dbus-devices.c
17424                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
17425                         before copying them over to the GUI
17426
17427 2005-05-14  Dan Williams  <dcbw@redhat.com>
17428
17429         * src/NetworkManager.c
17430                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
17431                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
17432                         the device list, as does nm_get_active_device() which is called from
17433                         nm_vpn_manager_deactivate_vpn_connection().
17434
17435 2005-05-14  Dan Williams  <dcbw@redhat.com>
17436
17437         * NetworkManager.h
17438                 - Add signals for VPN Launch and Connect failures
17439
17440         * gnome/applet/applet-dbus.c
17441                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
17442
17443         * gnome/applet/applet.c
17444                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
17445                         function to handle all VPN failure messages
17446                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
17447                         function to hanlde all VPN failure  messages
17448                 - (show_warning_dialog): work around focus-stealing prevention
17449
17450         * gnome/applet/other-network-dialog.c
17451           gnome/applet/passphrase-dialog.c
17452                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
17453                         problem where it never enabled for ASCII Key and Hex Key types
17454
17455         * gnome/applet/wireless-applet.glade
17456                 - Add window title to Other Wireless Network Dialog
17457
17458         * src/vpn-manager/nm-dbus-vpn.c
17459                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
17460                         function to handle all VPN failure messages
17461
17462         * src/vpn-manager/nm-vpn-manager.c
17463                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
17464
17465         * vpn-daemons/vpnc/nm-vpnc-service.c
17466                 - (nm_vpnc_dbus_signal_launch_failed): new function
17467                 - (nm_vpnc_dbus_signal_connect_failed): new function
17468                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
17469                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
17470                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
17471                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
17472
17473 2005-05-11  Dan Williams  <dcbw@redhat.com>
17474
17475         * vpn-daemons/vpnc/nm-vpnc-service.c
17476                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
17477                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
17478                         file exists before trying to write it out.
17479
17480 2005-05-10  Dan Williams  <dcbw@redhat.com>
17481
17482     * gnome/applet/applet-dbus-device.c
17483         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
17484             prevented just entering ESSID and leaving key and key type up to
17485             NetworkManager (which should have them already cached)
17486
17487 2005-05-08  Dan Williams  <dcbw@redhat.com>
17488
17489         * src/NetworkManagerPolicy.c
17490                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
17491                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
17492                         fix a situation where NM is told to terminate and the device stops activation,
17493                         but the main thread isn't aware of that because it would never have run
17494                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
17495                         had already quit.
17496
17497         * src/NetworkManagerDevice.c
17498                 - (nm_device_probe_wired_link_state): cosmetic fixes
17499                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
17500                         we've failed to activate or been canceled.
17501                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
17502
17503 2005-05-08  Dan Williams  <dcbw@redhat.com>
17504
17505         * src/NetworkManagerWireless.c
17506                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
17507                         value of WEXT quality structures, and add a debug message when we cannot
17508                         determine any quality % at all
17509
17510 2005-05-08  Dan Williams  <dcbw@redhat.com>
17511
17512         * src/dhcp-manager/nm-dhcp-manager.c
17513                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
17514                         it goes down.
17515
17516 2005-05-06  Dan Williams  <dcbw@redhat.com>
17517
17518         * gnome/applet/applet-dbus-device.c
17519           gnome/applet/applet-dbus-info.c
17520           gnome/applet/applet-dbus.c
17521           gnome/applet/applet.c
17522           gnome/applet/applet.h
17523                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
17524
17525         * gnome/applet/applet-dbus.c
17526                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
17527                         so we notice when wired device's carriers come back on.  Should
17528                         fix issue with wired devices being grayed out even if the cable
17529                         is in, for devices that support carrier detection.
17530
17531         * gnome/applet/applet.c
17532                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
17533                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
17534                         tooltip message
17535                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
17536                         Fix situation where applet wouldn't respond to menu selections
17537
17538         * src/NetworkManager.c
17539           src/NetworkManagerDevice.c
17540           src/NetworkManagerDbus.c
17541           src/NetworkManagerDbus.h
17542                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
17543
17544         * src/NetworkManagerDbus.c
17545                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
17546                         Remove, no longer used or relevant
17547                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
17548                 - (nm_dbus_schedule_device_status_change_signal): add
17549
17550         * src/NetworkManagerDevice.c
17551                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
17552                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
17553                         ie don't deactivate them unless explicitly told to by the user.  Also send
17554                         CARRIER_OFF / CARRIER_ON signals when link changes
17555                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
17556                         Don't print error message when device is no longer around
17557                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
17558                         not just during activation
17559
17560         * src/NetworkManagerPolicy.c
17561                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
17562                         auto-device-selection.
17563                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
17564
17565         * src/NetworkManagerSystem.c
17566                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
17567                         is no longer present (Bill Moss)
17568
17569         * src/backends/shvar.c
17570                 - (svOpenFile): Open read-only to make SELinux happy
17571
17572         * src/backends/NetworkManagerRedHat.c
17573                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
17574                         the path to the ifcfg-* files
17575
17576 2005-05-05  Dan Williams  <dcbw@redhat.com>
17577
17578         * Expose activation stages to NetworkManager clients, like the applet
17579         * Add Diana's progress icons to the applet, cued off NM activation stage
17580         * Use more descriptive tooltips, cued off NM activation stage
17581
17582 2005-05-05  Ray Strode  <rstrode@redhat.com>
17583
17584         * src/nm-netlink-monitor.c:
17585                 - Use clear_event_source instead of g_nullify_pointer() again.
17586
17587 2005-05-05  Dan Williams  <dcbw@redhat.com>
17588
17589         * gnome/applet/main.c
17590                 - Fix session management so the applet is actually managed now
17591
17592         * gnome/applet/passphrase-dialog.c
17593                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
17594
17595 2005-05-05  Dan Williams  <dcbw@redhat.com>
17596
17597         Patch from Bill Moss:
17598         * gnome/libnm_glib/libnm_glib.c
17599                 - Fix for dbus-0.33
17600
17601 2005-05-05  Dan Williams  <dcbw@redhat.com>
17602
17603         Suggestion from Bill Moss:
17604         * src/NetworkManagerSystem.c
17605                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
17606
17607
17608         * src/NetworkManager.c
17609                 - (nm_data_free): move destruction of the various managers after
17610                         release of device list, because deactivating and freeing a device
17611                         requires at least the named manager
17612                 - (nm_poll_and_update_wireless_link_state):
17613                   (nm_device_link_activated):
17614                   (nm_device_link_deactivated):
17615                         don't grab the device list lock when actually updating device
17616                         link status or strength, since nm_device_set_link_active()
17617                         needs to call nm_get_active_device(), which also locks the device list.
17618
17619         * src/NetworkManagerDevice.c
17620                 - (nm_device_set_link_active): if a device's link switches from off->on,
17621                         and it's wired, and the active device is wireless (or there is no
17622                         active device), activate the new device whose link just came on
17623                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
17624                         my only calling the link to the current ap "failed" when more than 2
17625                         consecutive link checks have failed
17626
17627 2005-05-04  Dan Williams  <dcbw@redhat.com>
17628
17629         * src/NetworkManagerDevice.c
17630                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
17631                         but let link_to_specific_ap() do the locking where it needs
17632
17633         Patch from Bill Moss:
17634         * src/NetworkManagerSystem.c
17635                 - Set MTU of VPN devices to 1412
17636
17637 2005-05-04  Dan Williams  <dcbw@redhat.com>
17638
17639         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
17640
17641         * Fix some holes in device activation and retaining the currently connected
17642                 access point
17643
17644 2005-05-03  Dan Williams  <dcbw@redhat.com>
17645
17646         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
17647           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
17648           means you need dhcdbd, which you can get here (get the latest one):
17649
17650                 http://people.redhat.com/jvdias/dhcdbd/
17651
17652           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
17653           interface as dhcdbd.
17654
17655         * Rewrite device activation to facilitate the new DHCP infrastructure and
17656           future improvements.  Its now "activation request" based, ie there is a single
17657           activation request composed of the device, access point, and other info which
17658           follows the entire activation process.  There are 5 stages of the activation
17659           process which correspond to:
17660
17661                 1) Device preparation
17662                 2) Device configuration (bring it up, set ESSID/Key/etc)
17663                 3) IP Config Start (fire off DHCP if we're using it)
17664                 4) IP Config Get (grab config from DHCP or static config files)
17665                 5) IP Config Commit (set device's IP address, DNS, etc)
17666
17667           Note that there is no longer a "scanning" step, since the access point must
17668           be known _before_ activation starts.  If the access point drops out or does
17669           not exist for some reason, the entire activation process fails and must be
17670           restarted for a different access point or device.
17671
17672         Patch from Bill Moss:
17673         * gnome/applet/applet.c
17674                 - Fix type of vpn_failure dialog -> vpn_banner dialog
17675
17676 2005-04-27  Dan Williams  <dcbw@redhat.com>
17677
17678         * gnome/applet/applet-dbus-vpn.c
17679           gnome/applet/applet.c
17680           gnome/applet/applet.h
17681                 - Fix up active VPN handling so that we reliably know when a VPN
17682                         connection has been deactivated
17683
17684         * src/vpn-manager/nm-vpn-manager.c
17685                 - Remove duplicate VPNConnectionChange signal
17686
17687 2005-04-27  Dan Williams  <dcbw@redhat.com>
17688
17689         Patch from Peter Jones:
17690         * Remove usage of varargs to fix crashes on PPC (RH #154336)
17691
17692         Patch from Bill Moss:
17693         * src/NetworkManagerSystem.c
17694                 - Fix checking of return value from ioctl()
17695
17696 2005-04-27  Dan Williams  <dcbw@redhat.com>
17697
17698         * Fix choosing of wireless networks and "Other wireless network..." from the applet
17699         * Warn and exit if icons cannot be found
17700
17701 2005-04-27  Dan Williams  <dcbw@redhat.com>
17702
17703         Patch from Tom Parker:
17704         * Update debian backend
17705
17706 2005-04-27  Dan Williams  <dcbw@redhat.com>
17707
17708         * Merge the applet and the info-daemon, and move the converged
17709                 applet under gnome/applet
17710         * Move libnm_glib to gnome/libnm_glib
17711         * Convert most dbus calls between the applet, info-daemon, and NM
17712                 into async calls
17713         * Fix a few things valgrind noticed
17714         * Make NM broadcast state more reliably
17715
17716 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
17717
17718         * configure.in: Added ne in ALL_LINGUAS
17719
17720 2005-04-15  Dan Williams  <dcbw@redhat.com>
17721
17722         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
17723                 code for dbus 0.2x versions
17724
17725 2005-04-15  Dan Williams  <dcbw@redhat.com>
17726
17727         Patches from Tom Parker:
17728         - Fix memleaks
17729         - Join with worker thread rather than polling for its exit
17730
17731         Patch from Bill Moss:
17732         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
17733
17734 2005-04-15  Dan Williams  <dcbw@redhat.com>
17735
17736         - Fixes to pass 'make distcheck'
17737
17738 2005-04-15  Dan Williams  <dcbw@redhat.com>
17739
17740         Initial VPN Support
17741                 - supports 'vpnc'
17742                 - reworks device IP configuration, backend files have changed and will need
17743                         to be updated for all distributions.  I will try to do what I can for
17744                         them, but I cannot test them.
17745
17746         - Move named directory to src/named-manager
17747         - Make backends directory self-contained
17748
17749 2005-04-06  Dan Williams  <dcbw@redhat.com>
17750
17751         Add debug code for socket/file descriptor leaks.  We register every socket
17752         that we open (except for stuff in dhcpcd/) for tracking, and print out the
17753         list of sockets that we forgot to close on shutdown.  This also consolidates
17754         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
17755
17756 2005-04-06  Dan Williams  <dcbw@redhat.com>
17757
17758         * dhcpcd/dhcpcd.c
17759                 - (dhcp_interface_free): fix a file descriptor leak that may have
17760                         caused network drivers to not unload due to refcounts > 0
17761
17762 2005-04-04  Dan Williams  <dcbw@redhat.com>
17763
17764         * panel-applet/NMWirelessAppletDbus.c
17765                 - (nmwa_dbus_call_nm_method): remove some commented code
17766
17767         * src/NetworkManagerAPList.[ch]
17768                 - (nm_ap_list_remove_ap_by_essid): new function
17769
17770         * src/NetworkManagerDevice.c
17771                 - (nm_device_wireless_force_use): remove access points from the ignore list
17772                         when the user forces them
17773
17774         * src/nm-dbus-device.c
17775                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
17776
17777 2005-04-04  Dan Williams  <dcbw@redhat.com>
17778
17779         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
17780
17781 2005-04-04  Dan Williams  <dcbw@redhat.com>
17782
17783         * src/NetworkManagerDevice.c:
17784                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
17785                         of only erroring after the second consecutive scan times out.  Also
17786                         don't exit when the card requires more time than we can give it, just
17787                         log the event and continue.
17788
17789 2005-04-01  Steve Murphy  <murf@e-tools.com>
17790
17791         * configure.in: Added "rw" to ALL_LINGUAS.
17792
17793 2005-04-01  Dan Williams <dcbw@redhat.com>
17794
17795         Perform scans during device activation, if needed.  Both activation 
17796         and scans run in the same GMainContext.  Therefore, if an access point
17797         is not found by the time the device starts activation, it will not
17798         be available until after activation.  We now try to scan during
17799         activation (in nm_wa_test) every 15s so that all available access
17800         points are more likely to be found and available for the activation
17801         procedure.
17802
17803         Also change nm_wireless_link_state_handle() to only update the "best"
17804         AP if we are not forcing a device and if we are not about to change
17805         state.  This attempts to work around a race when forcing a device,
17806         where the forced AP would get cleared out too soon by the link state
17807         checking timeout in the main thread, and the activation attempt with
17808         that AP would fail.
17809
17810 2005-04-01  Dan Williams <dcbw@redhat.com>
17811
17812         * po/POTFILES.in
17813                 - Update with new translatables
17814
17815 2005-03-31  Dan Williams <dcbw@redhat.com>
17816
17817         * panel-applet/NMWirelessAppletDbus.c
17818                 - Fix device names now that hal has changed device parenting for
17819                         network devices.
17820
17821 2005-03-31  Dan Williams <dcbw@redhat.com>
17822
17823         Tighten up handling of wireless devices that don't support wireless
17824         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17825         hadn't been doing pseudo-scanning for a while either and would just
17826         spin waiting for an access point.  They are now manual devices where
17827         the user must choose the access point from the menu every time.  All
17828         "allowed" access points are listed in the applet's menu regardless
17829         of whether or not they can be seen by the card, since it can't scan
17830         anyway.
17831
17832         * src/NetworkManager.c
17833                 - (nm_wireless_link_state_handle): new function, but only update
17834                         the "best" ap for non-scanning devices when its not activating,
17835                         and when no device is being forced on the card
17836                 - (nm_link_state_monitor): split wireless link state handling out
17837                         into separate function
17838
17839         * src/NetworkManagerDevice.c
17840                 - (nm_device_copy_allowed_to_dev_list): new function
17841                 - (nm_device_new): populate non-scanning cards' AP lists with
17842                         access points from the "allowed" list
17843                 - (nm_device_new): don't start a scanning timeout for devices that
17844                         can't scan
17845                 - (nm_device_activation_schedule_finish): new parameter, should be
17846                         the AP that failed to be connected to, pass it on to the
17847                         activation finish function in NetworkManagerPolicy.c
17848                 - (nm_device_activate_wireless): don't ever try to get a new AP
17849                         for non-scanning devices, just fail.  The user must choose
17850                         a new access point manually.
17851                 - (nm_device_activate): grab the AP that failed connection and
17852                         pass it on
17853                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17854                         a link to it, user must manually choose a new one
17855                 - (nm_device_do_pseudo_scan): remove function
17856                 - (nm_device_wireless_process_scan_results): remove bits for non-
17857                         scanning cards since they never get here
17858                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17859                         and fake the scan list for test devices a bit earlier
17860
17861         * src/NetworkManagerPolicy.c
17862                 - (nm_policy_activation_finish): use the failed_ap that we get
17863                         passed rather than getting the best_ap from the card, which
17864                         may have changed since we were scheduled
17865                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17866                         update their scan list directly from the allowed list when
17867                         we get updates to the allowed list from NetworkManagerInfo
17868
17869         * src/NetworkManagerPolicy.h
17870                 - New member for failed access point in NMActivationResult
17871
17872   -------------------------------------
17873
17874         Driver Notification patch: notifies the user when their driver
17875                 sucks.  Gives them the option to ignore further insertions
17876                 of the card that has the sucky driver.
17877
17878         * NetworkManager.h
17879                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17880                         enum and replace it with NO_CARRIER_DETECT and
17881                         NO_WIRELESS_SCAN
17882
17883         * panel-applet/NMWirelessApplet.[ch]
17884                 - Merge essid.glade -> wireless-applet.glade
17885                 - Implement the "Your driver sucks" notification dialog
17886
17887         * panel-applet/NMWirelessAppletDbus.c
17888                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17889                 - Grab hardware address for each device from NM too
17890                 - Check whether the driver for each device sucks or not whenever
17891                         a new device is noticed
17892
17893         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17894                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17895
17896         * src/NetworkManager.c
17897                 - Fix a double-unref on device removal
17898
17899         * src/NetworkManagerUtils.c
17900                 - Set appropriate driver support level on a device that doesn't
17901                         support scanning or carrier detection
17902
17903         * src/nm-dbus-device.c
17904                 - New "getHWAddress" dbus method on devices
17905                 - getSupportsCarrierDetect -> getDriverSupportLevel
17906
17907 2005-03-31  Dan Williams <dcbw@redhat.com>
17908
17909         * src/NetworkManagerDevice.c
17910                 - (nm_device_wireless_scan): Fix leak of scan results in some
17911                         instances
17912
17913 2005-03-29  Dan Williams <dcbw@redhat.com>
17914
17915         * src/NetworkManager.c
17916                 - (nm_poll_and_update_wireless_link_state): make code less indented
17917
17918         Patch from Bill Moss:
17919         * src/NetworkManager.c
17920                 - (nm_device_update_link_state): Update signal strength on wireless
17921                         devices every time we update link state too.
17922
17923 2005-03-29  Dan Williams <dcbw@redhat.com>
17924
17925         * src/NetworkManagerDevice.c
17926                 - (nm_device_set_essid): Work around Orinoco cards which need
17927                         extra time after setting the ESSID
17928
17929 2005-03-29  Dan Williams <dcbw@redhat.com>
17930
17931         * src/NetworkManagerDevice.c
17932                 - Merge one more bit of Peter Jones' completion patch
17933
17934 2005-03-29  Dan Williams <dcbw@redhat.com>
17935
17936         * src/NetworkManagerDevice.c
17937                 - (nm_device_force_use): Fix possible segfault
17938
17939 2005-03-29  Dan Williams <dcbw@redhat.com>
17940
17941         * src/NetworkManagerDevice.c
17942                 - Use iw_get_ext() where we should rather than iw_set_ext()
17943
17944 2005-03-29  Dan Williams <dcbw@redhat.com>
17945
17946         * src/NetworkManagerDevice.c
17947                 - (nm_device_set_up_down): remove check for unsupported devices
17948                         that caused NM to not bring devices up when they were
17949                         added to the device list.
17950
17951 2005-03-28  Dan Williams <dcbw@redhat.com>
17952
17953         * src/NetworkManagerDevice.c
17954                 - (mdio_read): Fix two bugs that caused all devices to fail
17955                         the MII carrier detection support checks
17956
17957 2005-03-26  Dan Williams <dcbw@redhat.com>
17958
17959         * src/NetworkManagerDevice.c
17960                 - (nm_device_wireless_scan): Remove duplicated scanning code
17961
17962 2005-03-25  Dan Williams <dcbw@redhat.com>
17963
17964         * panel-applet/NMWirelessApplet.c
17965                 - (nmwa_about_cb): Add some more contributors
17966                 - (nmwa_update_state): show the applet when there's no connection
17967                 - Enable the "Stop/Resume all wireless devices" option in the
17968                         context menu
17969                 - New "no connection" icon
17970
17971         * src/NetworkManager.c
17972                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17973                         wireless is disabled or we're asleep
17974
17975         * src/NetworkManagerDHCP.c
17976                 - Remove trailing "\n" on debug messages
17977
17978         * src/NetworkManagerDbus.c
17979                 - (nm_dbus_network_status_from_data): new state "asleep"
17980
17981         * src/NetworkManagerDevice.c
17982                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17983                         latency and wait times for most operations
17984                 - (nm_device_wireless_scan): Don't scan when asleep
17985
17986         * src/NetworkManagerPolicy.c
17987                 - (nm_policy_get_best_device): return no device when asleep
17988                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17989                         for all wireless devices on update, not just active device
17990
17991         * src/NetworkManagerUtils.c
17992                 - Merge Peter Jones' "completion" patch
17993
17994         * src/nm-dbus-nm.c
17995                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17996                         we're told to disable them
17997                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17998
17999         * utils/nm-utils.h
18000                 - New variants of the warn/info/error/debug print functions that can take
18001                         variables rather than static strings
18002
18003 2005-03-24  Dan Williams <dcbw@redhat.com>
18004
18005         * src/NetworkManagerUtils.c
18006                 - (nm_get_device_driver_name): driver names are now on the parents of
18007                         "Network Interface" objects, so look for them there
18008
18009 2005-03-24  Dan Williams <dcbw@redhat.com>
18010
18011         * test/nmtest.c
18012                 - Escape some forgotten object paths before we shove them through dbus
18013
18014 2005-03-24  Dan Williams <dcbw@redhat.com>
18015
18016         * dhcpcd/dhcpcd.[ch]
18017           src/NetworkManagerDHCP.c
18018                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
18019                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
18020
18021         * src/NetworkManagerDbus.c
18022                 - spacing cleanups
18023
18024         * src/nm-dbus-dhcp.c
18025                 - Make the API suck less.  There is now only 1 type of each function,
18026                         ie only "getInteger" and no longer also "getIntegerv".  All types
18027                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
18028                         that will never have more than 1 element.  This should simplify
18029                         things greatly.
18030
18031         * test/nm-dhcp-opt-test.c
18032                 - Make the tool not segfault
18033                 - adapt to new DHCP Options API
18034
18035 2005-03-22  Dan Williams <dcbw@redhat.com>
18036
18037         * src/NetworkManager.c
18038                 - (nm_wired_link_deactivated): actually ignore netlink events from
18039                         wireless devices.
18040
18041 2005-03-22  Dan Williams <dcbw@redhat.com>
18042
18043         * src/NetworkManager.c
18044                 - (nm_wired_link_activated): actually ignore netlink events from
18045                         wireless devices.
18046
18047 2005-03-17  Dan Williams <dcbw@redhat.com>
18048
18049         Patch from Tom Parker:
18050         * src/nm-netlink-monitor.c
18051                 - Include unistd.h
18052         * info-daemon/NetworkManagerInfoDbus.c
18053                 - (nmi_dbus_update_network_auth_method): free GConf values
18054
18055         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
18056         * src/NetworkManagerDevice.c
18057                 - (nm_device_set_wireless_config): wait for successful
18058                         association longer for some cards (Atheros a/b/g)
18059
18060 2005-03-15  Ray Strode  <rstrode@redhat.com>
18061
18062         * src/NetworkManager.c:
18063         (sigterm_pipe_handler):
18064         remove bogus FIXME
18065
18066 2005-03-15  Ray Strode  <rstrode@redhat.com>
18067
18068         * src/NetworkManagerDbus.c:
18069         Fix some sign weirdness that gcc4 doesn't like,
18070         and add a header file so PPC can hopefully find
18071         SIGTRAP
18072
18073 2005-03-14  Ray Strode  <rstrode@redhat.com>
18074         
18075         Fourth (probably working) cut at porting to
18076         dbus 0.30 api and new hal. This cut adds
18077         some new logging macros to make debugging
18078         easier.
18079
18080         * dispatcher-daemon/NetworkManagerDispatcher.c:
18081         * info-daemon/NetworkmanagerInfo.c:
18082         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
18083         * info-daemon/NetworkManagerInfoVPN.c:
18084         * src/NetworkManager.c:
18085         * src/NetworkManagerAP.c:
18086         * src/NetworkManagerAPList.c:
18087         * src/NetworkManagerDHCP.c:
18088         * src/NetworkManagerDbus.c:
18089         * src/NetworkManagerDevice.c:
18090         * src/NetworkManagerPolicy.c:
18091         * src/NetworkManagerSystem.c:
18092         * src/NetworkManagerUtils.c:
18093         * src/NetworkManagerWireless.c:
18094         * src/autoip.c:
18095         * src/nm-dbus-nm.c:
18096         * src/backends/NetworkManagerDebian.c:
18097         * src/backends/NetworkManagerGentoo.c:
18098         * src/backends/NetworkManagerRedHat.c:
18099         * src/backends/NetworkManagerSlackware.c:
18100         use new logging macros.
18101
18102         * dispatcher-daemon/NetworkManagerDispatcher.c:
18103         (nmd_dbus_filter): s/dbus_free/g_free/
18104
18105         * info-daemon/Makefile.am: link in utils library.
18106         * info-daemon/NetworkmanagerInfo.c: use new logging 
18107         macros.
18108         (nmi_dbus_get_network): don't assume enumerations
18109         are 32-bit.
18110         (nmi_dbus_nmi_message_handler): don't free what 
18111         doesn't belong to us.
18112
18113         * libnm_glib/libnm_glib.c:
18114         (libnm_glib_get_nm_status): 
18115         (libnm_glib_init): don't free what doesn't
18116         belong to us.
18117         (libnm_glib_dbus): strdup result, so it doesn't get
18118         lost when message is unref'd.
18119
18120         * panel-applet/NMWirelessAppletDbus.c:
18121         (nmwa_dbus_update_devices): s/dbus_free/g_free/
18122
18123         * src/NetworkManager.c:
18124         (nm_monitor_wired_link_state): request initial status 
18125         dump of all cards when we start up, instead of relying
18126         on /sys/.../carrier.
18127         (nm_info_handler), (nm_set_up_log_handlers): 
18128         log handlers to specify what syslog priorites 
18129         the logging macros default to.
18130
18131         * src/NetworkManagerAPList.c: 
18132         (nm_ap_list_populate_from_nmi):
18133         s/dbus_free_string_array/g_strfreev/
18134
18135         * src/NetworkManagerDbus.c:
18136         (nm_dbus_get_network_object):
18137         validate d-bus message argument types.
18138         Advance message iterator after reading argument,
18139         prepend instead of append to GSList.
18140
18141         * src/NetworkManagerDevice.c:
18142         (nm_device_probe_wired_link_status):
18143         remove redundant /sys in /sys path. remove wrong
18144         contents == NULL means has carrier assumption.
18145
18146         * src/nm-netlink-monitor.c 
18147         (nm_netlink_monitor_request_status): implement
18148         function to ask kernel to dump interface link
18149         status over netlink socket.
18150
18151         * test/*.c: s/dbus_free/g_free/
18152
18153         * utils/nm-utils.h:
18154         (nm_print_backtrace): new macro to print backtrace.
18155         (nm_get_timestamp): new macro to get sub-second precise
18156         unix timestamp.
18157         (nm_info), (nm_debug), (nm_warning), (nm_error):
18158         new logging functions. nm_info just prints,
18159         nm_debug includes timestamp and function,
18160         nm_warning includes function, nm_error includes
18161         backtrace and sigtrap.
18162
18163 2005-03-11  Ray Strode  <rstrode@redhat.com>
18164
18165         Third (unfinished, partially working) cut at porting to 
18166         dbus 0.30 api and new hal.
18167
18168         * info-daemon/NetworkManagerInfoDbus.c:
18169                 don't free null arrays.
18170
18171         * panel-applet/NMWirelessAppletDbus.c: 
18172         * src/nm-dbus-device.c:
18173         * src/nm-dbus-net.c: 
18174         * src/NetworkManagerDbus.c: more 
18175         STRING -> OBJECT_PATH fun
18176         * src/NetworkManagerDevice.c:
18177         * src/NetworkManagerDevice.h:
18178         (rename nm_device_get_link_active): rename to 
18179         nm_device_has_active_link
18180         (nm_device_wireless_link_active): rename to
18181         nm_device_probe_wireless_link_state
18182         (nm_device_wired_link_active): rename to
18183         nm_device_probe_wired_link_state.  Rewrite to
18184         use carrier file since hal doesn't maintain
18185         link state anymore.
18186         (nm_device_update_link_active): rename to
18187         nm_device_update_link_state
18188         * src/NetworkManagerPolicy.c 
18189           (nm_policy_activation_finish): check for NULL
18190           MAC address.
18191
18192         * src/Makefile.am:
18193         * src/NetworkManagerMain.h: 
18194         * src/NetworkManager.c:
18195         * src/nm-netlink-monitor.c:
18196         * src/nm-netlink-monitor.h: New class to support
18197         monitoring wired ethernet link status, since HAL
18198         doesn't export that information anymore.
18199
18200 2005-03-09  Ray Strode  <rstrode@redhat.com>
18201
18202         Second (unfinished, unworking) cut at porting to 
18203         dbus 0.30 api.
18204
18205         * dispatcher-daemon/NetworkManagerDispatcher.c:
18206         * info-daemon/NetworkManagerInfoDbus.c:
18207         * panel-applet/NMWirelessAppletDbus.c:
18208         * src/NetworkManagerDbusUtils.c:
18209         * src/NetworkManagerDbusUtils.h:
18210         * src/nm-dbus-device.c:
18211         * src/nm-dbus-nm.c:
18212         * test/nmtest.c: support dbus "object path" type
18213
18214         * configure.in: 
18215         * Makefile.am:
18216         * info-daemon/Makefile.am:
18217         * libnm_glib/Makefile.am:
18218         * panel-applet/Makefile.am:
18219         * dispatcher-daemon/Makefile.am
18220         * src/Makefile.am:
18221         * test/Makefile.am:
18222         * utils/Makefile.am: 
18223         * utils/nm-utils.c: 
18224         * utils/nm-utils.h: new utils static lib
18225
18226 2005-03-07  Ray Strode  <rstrode@redhat.com>
18227
18228         * info-daemon/NetworkManagerInfoDbus.c:
18229         * libnm_glib/libnm_glib.c:
18230         * panel-applet/NMWirelessAppletDbus.c:
18231         * src/NetworkManager.c:
18232         * src/NetworkManagerDbus.c:
18233         * src/NetworkManagerDevice.c:
18234         * src/NetworkManagerUtils.c:
18235         * src/nm-dbus-device.c:
18236         * src/nm-dbus-dhcp.c:
18237         * src/nm-dbus-net.c:
18238         * src/nm-dbus-nm.c:
18239         * test/nminfotest.c:
18240         First (unfinished, unworking) cut at porting to dbus 0.30 api.
18241
18242 2005-03-04  Dan Williams  <dcbw@redhat.com>
18243
18244         * configure.in
18245                 - Mark HEAD as 0.4
18246
18247 2005-03-04  Dan Williams  <dcbw@redhat.com>
18248
18249         Patch from Peter Jones:
18250         - Make stuff work with gcc 4.0
18251
18252 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
18253
18254         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
18255
18256 2005-02-27  Jim Huang  <jserv@kaffe.org>
18257
18258         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
18259
18260 2005-02-27  Dan Williams  <dcbw@redhat.com>
18261
18262         Patch from Bill Moss:
18263         * panel-applet/NMWirelessAppletDbus.c
18264                 - Make sure strength for current access point is up-to-date when we
18265                         update the gui data model
18266
18267 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
18268
18269         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
18270
18271 2005-02-27  Dan Williams  <dcbw@redhat.com>
18272
18273         * src/backends/NetworkManagerRedHat.c
18274                 - (nm_system_init): Kill any dhclient processes lying around as well
18275                         as stopping 'nifd' if its already been started.  NetworkManager
18276                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
18277
18278 2005-02-27  Dan Williams  <dcbw@redhat.com>
18279
18280         * panel-applet/NMWirelessApplet.c
18281                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
18282                         dbus data model, not the GUI data model twice.
18283
18284 2005-02-27  Dan Williams  <dcbw@redhat.com>
18285
18286         * panel-applet/NMWirelessApplet.[ch]
18287           panel-applet/NMWirelessAppletDbus.[ch]
18288                 - Move to incremental network updates.  Instead of blowing away our list
18289                         of devices every time we get a signal from NetworkManager, we now
18290                         incrementally add/remove networks when NetworkManager notifies us that
18291                         a new network has appeared or disappered.  Strength updates now happen
18292                         on-the-fly for each access point as well.  There are now two copies of
18293                         data from NetworkManager: one for the dbus side, and one for the gui side.
18294                         When the dbus side data is modified, it is copied over to the gui side
18295                         so we don't have to hold the data_mutex for long periods of time (and
18296                         therefore block animation of the applet's icon).
18297                 - Clean up some memleaks too
18298
18299         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18300                 - Minor code beautification
18301
18302         * src/NetworkManagerAPList.c
18303                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
18304                         completely new and whether or not an existing one's strength was updated.
18305                         Try to fix multiple access points and signal strength by using the highest
18306                         signal strength in each scan for any given ESSID.
18307
18308         * src/NetworkManagerDbus.[ch]
18309                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
18310                         wireless networks; now we have only WirelessNetworkUpdate which includes
18311                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
18312                 - Kill usage of DbusMessageIter
18313
18314         * src/NetworkManagerDevice.c
18315                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
18316                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
18317                         AP rather than all-at-once.  Also don't ever remove the AP a card is
18318                         currently associated with from the network list.
18319                 - Update for new signals during scan, send out Appeared, Disappeared, or
18320                         StrengthChanged when necessary.
18321
18322 2005-02-25  Dan Williams  <dcbw@redhat.com>
18323
18324         * README
18325                 - Line break the README
18326
18327 2005-02-25  Dan Williams  <dcbw@redhat.com>
18328
18329         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18330                 - Remove usage of gtk_window_set_default_size()
18331
18332         * panel-applet/essid.glade
18333                 - Stick default size here
18334                 - Add in random crap that current glade wants to add in now
18335
18336 2005-02-25  Dan Williams  <dcbw@redhat.com>
18337
18338         * src/backends/NetworkManagerRedHat.c
18339                 - For non-caching-nameserver/non-named case, ensure that nscd is running
18340                         and that we actually tell nscd to reload the hosts cache when it changes
18341
18342 2005-02-25  Dan Williams  <dcbw@redhat.com>
18343
18344         * info-daemon/NetworkManagerInfoDbus.c
18345                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
18346
18347         * test/nminfotest.c
18348                 - Whack usage of DbusMessageIter
18349                 - Clean up DbusError and DbusMessage handling and freeing
18350                 - Remove unused unregister handler
18351
18352         * test/nmtest.c
18353                 - Whack usage of DbusMessageIter
18354
18355         * test/nmtestdevices.c
18356                 - Whack usage of DbusMessageIter
18357
18358 2005-02-25  Dan Williams  <dcbw@redhat.com>
18359
18360         * NetworkManager.h
18361                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
18362                         signal
18363
18364 2005-02-25  Dan Williams  <dcbw@redhat.com>
18365
18366         * named/nm-named-manager.c
18367                 - Ensure that pid and watch variables for child named process get cleared out
18368                         when the child goes away.
18369
18370 2005-02-22  Dan Williams  <dcbw@redhat.com>
18371
18372         * src/NetworkManagerPolicy.c
18373                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
18374                         and NULL out data->active_device so that we have to choose another one.
18375                         This may make NetworkManager keep attempting to connect to a wired network
18376                         if it fails, but if it keeps failing the wired network has more problems than
18377                         just NetworkManager.
18378
18379         * src/backends/NetworkManagerRedHat.c
18380                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
18381                         is already running
18382
18383         * named/nm-named-manager.c
18384                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
18385                         named so that the distro can flush whatever name service caching
18386                         daemon it uses
18387
18388 2005-02-21  Dan Williams  <dcbw@redhat.com>
18389
18390         * src/NetworkManagerDHCP.[ch]
18391                 - (nm_device_dhcp_remove_timeouts): new function
18392
18393         * src/NetworkManagerDevice.c
18394                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
18395                         remove the DHCP timeouts.
18396
18397 2005-02-21  Dan Williams  <dcbw@redhat.com>
18398
18399         * panel-applet/NMWirelessApplet.[ch]
18400           panel-applet/menu-info.[ch]
18401                 - Give the panel applet some major love: menu items are no longer
18402                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
18403                         This allows the applet to actually reflect theme changes correctly,
18404                         since themeing of subclassed items in GTK _sucks_.
18405
18406 2005-02-18  Dan Williams  <dcbw@redhat.com>
18407
18408         * libnm_glib/libnm_glib.[ch]
18409           test/libnm_glib_test.c
18410                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
18411                         and its data, and doesn't have to free the callback data anymore
18412
18413 2005-02-18  Dan Williams  <dcbw@redhat.com>
18414
18415         * panel-applet/NMWirelessApplet.c
18416                 - Revert 2005-02-18 William Jon McCann fix for standard
18417                         copyright string until it passes 'make distcheck'.
18418                         With standard copyright string, xgettext complains
18419                         about "Non-ASCII string at ...".
18420
18421 2005-02-18  Dan Williams  <dcbw@redhat.com>
18422
18423         * panel-applet/essid.glade
18424           panel-applet/NMWirelessAppletOtherNetworksDialog.c
18425                 - Correct spelling of "adaptor"->"adapter"
18426
18427 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18428
18429         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
18430         (nmwa_about_cb): Use standard copyright string.  Update comment
18431         text to reflect that it is a notification area applet.  Remove
18432         leading newline in authors list.
18433         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
18434         instead of on parent menu item activation.  Fixes #167550.
18435
18436 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18437
18438         * panel-applet/essid.glade: Capitalize items as per HIG.
18439           Fixes #167632
18440
18441 2005-02-16  William Jon McCann  <mccann@jhu.edu>
18442
18443         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
18444         files for GTK 2.4 or lower, since now public in GTK 2.6.
18445
18446         * panel-applet/essid.glade: Don't specify window size.
18447         
18448 2005-02-17  Dan Williams  <dcbw@redhat.com>
18449
18450         Caught by Bill Moss:
18451         * dhcpcd/client.c
18452                 - Time remaining for DHCP transaction calculation was incorrectly
18453                         inside a #ifdef DEBUG
18454
18455 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
18456
18457         * configure.in: Added fr (French) to ALL_LINGUAS.
18458
18459 2005-02-14  Dan Williams  <dcbw@redhat.com>
18460
18461         * src/NetworkManagerDHCP.c
18462                 - (set_domain_searches): Fix free of invalid pointer
18463
18464 2005-02-14  Dan Williams  <dcbw@redhat.com>
18465
18466         Patch from Peter Jones:
18467         * dhcpcd/client.c
18468                 - Ensure we return RET_DHCP_CEASED everywhere we should
18469         * dhcpcd/udpipgen.c
18470                 - Use faster TOS for IP packets
18471                 - Don't set ip_id since we're UDP
18472
18473         Patch from Tomislav Vujec:
18474         * src/nm-dbus-dhcp.c
18475           test/nm-dhcp-opt-test.c
18476                 - Clean up warnings to enable cvs tree compilation.
18477
18478 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
18479
18480         * configure.in
18481           po/hr.po
18482                 - Add the Croatian locale.
18483
18484 2005-02-14  Colin Walters  <walters@verbum.org>
18485
18486         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
18487         list of domains to search.
18488         
18489         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
18490
18491 2005-02-13  Dan Williams  <dcbw@redhat.com>
18492
18493         * dhcpcd/client.c
18494                 - Debug output cleanups of DHCP option printing and parsing.
18495
18496 2005-02-13  Dan Williams  <dcbw@redhat.com>
18497
18498         Patch from Dan Reed:  DHCP options D-BUS API
18499                 Exposes the DHCP options that a device receives to clients over D-BUS.
18500
18501         * configure.in
18502                 - A few cleanups
18503
18504         * dhcpcd/client.h
18505                 - Correct names, option length, and types for DHCP options
18506
18507         * dhcpcd/dhcpcd.[ch]
18508                 - Clarify function names that access DHCP options & data
18509
18510         * src/NetworkManagerDHCP.c
18511                 - Use new DHCP data access functions
18512
18513         * src/NetworkManagerDbus.c
18514                 - Message handler for DHCP functions
18515
18516         * src/nm-dbus-dhcp.[ch] (new)
18517                 - DHCP dbus methods
18518
18519         * test/nm-dhcp-opt-test.c
18520                 - Test DHCP D-BUS API and return all present DHCP options
18521
18522 2005-02-12  Dan Williams  <dcbw@redhat.com>
18523
18524         * test/Makefile.am
18525           test/nmclienttest.c
18526           test/nmtest.c
18527                 - Move nmclienttest.c -> nmtest.c
18528
18529 2005-02-12  Dan Williams  <dcbw@redhat.com>
18530
18531         * dhcpcd/buildmsg.c
18532                 - Pad DHCP packets until they are at least 300 bytes in size.
18533
18534 2005-02-11  Dan Williams  <dcbw@redhat.com>
18535
18536         * dhcpcd/client.c
18537                 - (dhcp_init): only print out client ID and class ID if they are specified
18538
18539         * src/NetworkManagerDbus.[ch]
18540           src/nm-dbus-nm.[ch]
18541           src/nm-dbus-device.[ch]
18542           src/nm-dbus-net.[ch]
18543                 - Move NM, Device, and Net functions to separate files and use the
18544                         dbus method list stuff in NetworkManagerDbusUtils.c to do
18545                         method dispatching
18546
18547         * src/NetworkManagerDbusUtils.c
18548                 - Add new validate_method called before each dispatch (if present)
18549                         that can validate the method call
18550
18551         * src/NetworkManagerWireless.c
18552                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
18553                         levels never to be evaluated
18554
18555         Patch from j@bootlab.org
18556         * src/NetworkManagerDevice.c
18557                 - Add typedef for "u64"
18558
18559         * src/backends/NetworkManagerDebian.c
18560                 - Copy in Dave Woodhouse's fixes for IPv6
18561
18562 2005-02-11  Dan Williams  <dcbw@redhat.com>
18563
18564         Patch from Dave Woodhouse for IPv6:
18565         * src/NetworkManagerUtils.c
18566                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
18567                         and multicast addresses
18568
18569         * src/NetworkManagerDevice.c
18570                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
18571                         after bringing up a card.
18572
18573 2005-02-10  Dan Williams  <dcbw@redhat.com>
18574
18575         Patch from Dave Woodhouse:
18576         * src/NetworkManagerSystem.h
18577           src/backends/NetworkManagerDebian.c
18578           src/backends/NetworkManagerGentoo.c
18579           src/backends/NetworkManagerSlackware.c
18580                 - New nm_system_device_add_ip6_link_address() function to add link-local
18581                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
18582
18583         * src/backends/NetworkManagerRedHat.c
18584                 - (nm_system_device_add_ip6_link_address): implement
18585                 - (nm_system_device_flush_addresses): revert to previous behavior of
18586                         flushing all addresses
18587
18588 2005-02-10  Dan Williams  <dcbw@redhat.com>
18589
18590         Patch from Tom Parker:
18591         * src/NetworkManagerDevice.c
18592                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
18593                         mii.h headers are broken, and instead use our own typedefs
18594
18595 2005-02-10  Dan Williams  <dcbw@redhat.com>
18596
18597         * dhcpcd/buildmsg.c
18598                 - (fill_host_and_class_id): only fill in client and class IDs if
18599                         they are set by callers.
18600
18601         * dhcpcd/client.c
18602                 - (class_id_setup): don't autogenerate a class ID, only use one
18603                         we're given, if any.
18604                 - (client_id_setup): don't autogenerate a client ID, only use one
18605                         we're given, if any.
18606
18607         * dhcpcd/dhcpcd.c
18608                 - (dhcp_interface_init): ensure that client options are correctly
18609                         NULL terminated
18610
18611         * src/NetworkManagerDHCP.c
18612                 - (nm_device_dhcp_request): pass hostname to dhcp library
18613
18614 2005-02-10  Dan Williams  <dcbw@redhat.com>
18615
18616         * dhcpcd/client.c
18617                 - #rh147661# Don't send kernel version in DHCP requests
18618
18619         * src/NetworkManagerSystem.h
18620           src/backends/NetworkManagerDebian.c
18621           src/backends/NetworkManagerGentoo.c
18622           src/backends/NetworkManagerRedHat.c
18623           src/backends/NetworkManagerSlackware.c
18624                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
18625                         functions, they are no longer used anyway
18626
18627         * src/backends/NetworkManagerRedHat.c
18628                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
18629                         addresses in an attempt to keep IPv6 local-scope addresses around
18630
18631 2005-02-10  Dan Williams  <dcbw@redhat.com>
18632
18633         * src/NetworkManager.c
18634                 - (nm_create_device_and_add_to_list): change the add message slightly
18635
18636         * src/NetworkManagerUtils.c
18637                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
18638                         Return driver name to calling function
18639                 - (nm_get_driver_support_level): print out the driver a device is using
18640                         during the support check
18641
18642         Patch from Dave Woodhouse:
18643         * dhcpcd/udpipgen.c
18644                 - (in_cksum): copy last byte of odd-sized packets into a
18645                         'u_short' rather than a 'u_char', should fix wrong checksums
18646                         on big-endian platforms
18647
18648 2005-02-09  Dan Williams  <dcbw@redhat.com>
18649
18650         * Clean up usage of GSList objects and looping through their members
18651         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
18652                 now.
18653         * Fix problem where even if scanning was turned off, card would still
18654                 cycle through frequencies.
18655
18656 2005-02-08  Dan Williams  <dcbw@redhat.com>
18657
18658         * panel-applet/NMWirelessApplet.c
18659                 - Fix for gtk 2.4
18660
18661 2005-02-08  Dan Williams  <dcbw@redhat.com>
18662
18663         Patch from Bill Moss
18664         * panel-applet/NMWirelessApplet.c
18665                 - Restore correct ESSID in tooltips
18666
18667 2005-02-07  Dan Williams  <dcbw@redhat.com>
18668
18669         * panel-applet/NMWirelessApplet.[ch]
18670                 - Add a context menu that contains:
18671                         Pause/Resume Wireless Scanning
18672                         Stop/Start All Wireless Devices
18673                         About...
18674                 - Grab active device strength off active device,
18675                         not its network
18676
18677         * panel-applet/NMWirelessAppletDbus.[ch]
18678                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
18679                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
18680                 - Update active device strength every 2 seconds, not every 1 second
18681
18682         * panel-applet/menu-info.c
18683                 - Only disable wired devices in the menu when they support carrier detection,
18684                         and don't currently have a link.  Non-carrier-detect devices will always
18685                         remain choosable
18686
18687         * src/Makefile.am
18688           src/NetworkManagerDbusUtils.[ch]
18689                 - Add new new dbus utils sources
18690
18691         * src/NetworkManager.c
18692                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
18693                         with the boolean parameter
18694                 - Set scanning_enabled & wireless_enabled to TRUE
18695
18696         * src/NetworkManagerDbus.c
18697                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
18698                 - Implement scanning & wireless enable/disable calls
18699                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
18700
18701         * src/NetworkManagerDevice.c
18702                 - New link detection stuff again...
18703                         o  Create device's mainloop earlier (but don't run it earlier)
18704                         o  Hook up new carrier-detect support stuff
18705                         o  Add in the ethtool & mii support detection code
18706                 - Don't scan if scanning is disabled
18707
18708         * src/NetworkManagerPolicy.c
18709                 - Never automatically choose a device that doesn't support carrier detection
18710                 - Don't automatically choose a wireless device if wireless is disabled
18711
18712 2005-02-07  Dan Williams  <dcbw@redhat.com>
18713
18714         * libnm_glib/libnm_glib.c
18715                 - Small cleanup in element list iteration
18716
18717 2005-02-07  Dan Williams  <dcbw@redhat.com>
18718
18719         * src/NetworkManagerWireless.c
18720                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
18721                         to be in line with the WEXT quality specification
18722
18723 2005-02-02  Dan Williams  <dcbw@redhat.com>
18724
18725         Patch from Nathan Fredrickson <nathan@silverorange.com>
18726         * Fix up compile for deprecation of libgnomeui
18727                 - Switch to <glib/gi18n.h> from <libintl.h>
18728                 - Remove <libgnomeui/libgnomeui.h> includes
18729                 - Use gtk_window_set_default_icon_from_file() rather than
18730                         gnome_window_set_default_icon_from_file()
18731
18732         * named/nm-named-manager.c
18733                 - (generate_named_conf): Fix return-nothing in non-void
18734                         function
18735
18736 2005-02-02  Dan Williams  <dcbw@redhat.com>
18737
18738         * Clean up unused variables and the like
18739
18740 2005-02-02  Dan Williams  <dcbw@redhat.com>
18741
18742         * src/NetworkManagerAPList.c
18743                 - (nm_ap_list_merge_scanned_ap): merge strength too
18744
18745         * src/NetworkManagerUtils.c
18746                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
18747                         of locking issues by printing out prettier information than g_mutex_lock
18748                 - Print out names of mutexes registered with nm_register_mutex_desc()
18749                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
18750                         us to seemingly block here for too long
18751
18752         * src/NetworkManager.c
18753           src/NetworkManagerAPList.c
18754           src/NetworkManagerDevice.c
18755                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
18756                         so we get better debug information printed
18757
18758         * src/NetworkManagerDbus.c
18759                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
18760                         since it sometimes has locking side effects
18761                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
18762                         from 10s
18763                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
18764                         we don't need a switch.  This gets called often enough that we can't block
18765                         until the scan mutex is acquired, because we'll block on device activation
18766                         and a few other things, which hangs main thread for too long.
18767
18768         * src/NetworkManagerPolicy.c
18769                 - (nm_policy_auto_get_best_device): reduce the possiblity that
18770                         nm_device_need_ap_switch() will be called               
18771
18772 2005-02-02  Dan Williams  <dcbw@redhat.com>
18773
18774         * panel-applet/NMWirelessApplet.c
18775                 - Display name of wireless network we are connecting to or connected to
18776                         in the tooltip of the applet
18777
18778 2005-02-02  Dan Williams  <dcbw@redhat.com>
18779
18780         * src/NetworkManagerDHCP.c
18781                 - Hopefully fix double-default-route problem by cleaning up the default
18782                         route added by DHCP code right before the DHCP transaction begins
18783
18784 2005-02-02  Dan Williams  <dcbw@redhat.com>
18785
18786         * named/nm-named-manager.c
18787                 - Write out valid resolv.conf when we exit
18788
18789 2005-02-01  Dan Williams  <dcbw@redhat.com>
18790
18791         Patch from Colin Walters:
18792         * named/nm-named-manager.c
18793                 - Make multi-domain search options work
18794
18795 2005-01-31  Dan Williams  <dcbw@redhat.com>
18796
18797         * info-daemon/NetworkManagerInfoDbus.c
18798                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
18799
18800         * src/NetworkManagerDevice.c
18801                 - (nm_device_new): Don't store the entire range struct, use only what we need
18802                         (which is currently avg_quality, max_quality, and frequencies).  Also
18803                         zero device structure when we've free'd it to maybe expose errors down
18804                         the line.
18805                 - (nm_device_update_signal_strength): grab the scan mutex before getting
18806                         quality data from the card since quality will be useless during a scan.
18807                         Call updated wireless qual-to-percent function with values stored in
18808                         nm_device_new() earlier.
18809                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18810                         nm_device_get_bad_crypt_packets())
18811                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18812                         nm_device_new()
18813                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18814                         list if available.  Problem was this: when the WEP key is wrong, NM will
18815                         try OS then SK modes, and then get stuck in SK mode after that.  This
18816                         should reset it.
18817                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18818                         function
18819
18820         * src/NetworkManagerWireless.c
18821                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18822                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18823                         if that's all present, otherwise fall back to signal-to-noise ratios.
18824
18825 2005-01-29  Dan Williams  <dcbw@redhat.com>
18826
18827         * initscript/RedHat/NetworkManager
18828                 - Don't spit out sysctl stuff to console
18829
18830         * libnm_glib/libnm_glib.c
18831                 - (libnm_glib_init): call dbus_g_thread_init()
18832
18833         * panel-applet/NMWirelessAppletDbus.c
18834                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18835
18836         * src/NetworkManager.c
18837                 - (main): call dbus_g_thread_init()
18838
18839         * src/NetworkManagerAPList.c
18840                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18841                         so we can actually see what's there in a normal syslog
18842
18843         * src/NetworkManagerDevice.c
18844                 - (nm_device_activate_wireless): print out the "waiting for access point"
18845                         message only once, then say what access point we actually got after
18846                         the wait.
18847                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18848                         function, wait until the scan is done.  Scans may change the ESSID of
18849                         the card, making this function think we need to switch access points
18850                 - (nm_device_wireless_process_scan_results): for artificial access points
18851                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18852                         prevents collisions with the scanning code, which may change the card's
18853                         ESSID and cause the access point to get dropped from the device's AP
18854                         list.  Also increase the keep-around time to 2m from 60s since the max
18855                         scan interval could be 60s in some cases.
18856
18857         * src/NetworkManagerPolicy.c
18858                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18859                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18860                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18861                         between NM and NMI.
18862
18863 2005-01-27  Dan Williams  <dcbw@redhat.com>
18864
18865         * info-daemon/NetworkManagerInfoDbus.c
18866                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18867                         GConf, make a minimal entry for it (essid & timestamp)
18868
18869         * src/NetworkManagerAPList.c
18870                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18871                         NetworkManagerInfo isn't running
18872
18873         * src/NetworkManagerDbus.[ch]
18874                 - (nm_dbus_nmi_is_running): new function
18875
18876         * src/NetworkManagerDevice.c
18877                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18878                         address to garbage.
18879
18880         * src/NetworkManagerPolicy.c
18881                 - (nm_policy_activation_finish): On successful activation, make sure
18882                         the "best" AP has a MAC address, and don't tell NMI to add the
18883                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18884                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18885                         access point after refreshing our allowed list if it doesn't already
18886                         have a "best" access point.
18887
18888 2005-01-25  Dan Williams  <dcbw@redhat.com>
18889
18890         * panel-applet/NMWirelessAppletDbus.c
18891                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18892                         so we check for NM_DBUS_SERVICE rather than not for it
18893
18894         * libnm_glib/libnm_glib.c
18895                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18896                         ServiceOwnerChanged signal
18897
18898 2005-01-25  Dan Williams  <dcbw@redhat.com>
18899
18900         * configure.in
18901                 - Check DBUS version in configure, and set the C macros
18902                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18903
18904         * info-daemon/NetworkManagerInfoDbus.c
18905                 - Remove #if 0-d section of code that quit NMI if NM went away.
18906
18907         * panel-applet/NMWirelessAppletDbus.c
18908                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18909
18910         * src/NetworkManager.c
18911           src/NetworkManagerMain.h
18912           src/NetworkManagerDbus.c
18913                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18914                 - Make updating of our Allowed Wireless Network lists from NMI
18915                         an idle function in the main thread now, with a high priority.
18916
18917 2005-01-24  Dan Williams  <dcbw@redhat.com>
18918
18919         * panel-applet/gtkcellview.[ch]
18920           panel-applet/menu-info.c
18921                 - Fix GTK version checks to be <= rather than <
18922
18923         * test/Makefile.am
18924                 - Include the libtool archive of libnm_glib rather than
18925                         trying to pull in the .so
18926
18927 2005-01-24  Dan Williams  <dcbw@redhat.com>
18928
18929         * src/NetworkManagerDevice.c
18930           src/NetworkManagerDevicePrivate.h
18931                 - Block nm_device_new() until our device's worker thread has had a
18932                         chance to start up.  Fixes a race between main thread and worker
18933                         thread starting that caused activation requests to get lost.
18934
18935 2005-01-24  Dan Williams  <dcbw@redhat.com>
18936
18937         * initscript/RedHat/NetworkManager
18938                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18939                         to add the NM startup script at priority 50, which was
18940                         way too early
18941
18942 2005-01-24  Colin Walters  <walters@redhat.com>
18943
18944         * named/named.conf: Use any port for query source instead of
18945         restricting to port 53.
18946
18947 2005-01-24  Dan Williams  <dcbw@redhat.com>
18948
18949         * initscript/RedHat/NetworkManager
18950                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18951                         to add the NM startup script at priority 50, which was
18952                         way too early
18953
18954 2005-01-24  Dan Williams  <dcbw@redhat.com>
18955
18956         Patch from Tom Parker <palfrey@tevp.net>
18957         * Fix up compile warnings & errors in the wireless applet
18958
18959 2005-01-24  Dan Williams  <dcbw@redhat.com>
18960
18961         * panel-applet/NMWirelessApplet.c
18962                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18963
18964 2005-01-24  Dan Williams  <dcbw@redhat.com>
18965
18966         * panel-applet/gtkcellview.[ch]
18967                 - Only compile these files for GTK 2.4 or lower, since 
18968                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18969                         when choosing "Other Wireless Networks" from the panel
18970                         applet menu
18971
18972 2005-01-21  Dan Williams  <dcbw@redhat.com>
18973
18974         * src/NetworkManager.c
18975                 - Daemonize earlier so that glib doesn't get confused (?)
18976
18977 2005-01-21  Dan Williams  <dcbw@redhat.com>
18978
18979         * panel-applet/NMWirelessApplet.[ch]
18980           panel-applet/NMWirelessAppletDbus.c
18981           panel-applet/menu-info.c
18982           src/NetworkManagerDevice.c
18983                 - Disable wired devices in the menu when they have no link.
18984
18985 2005-01-21  Dan Williams  <dcbw@redhat.com>
18986
18987         * Cache last-known-good wireless authentication method in
18988                 NetworkManagerInfo, and use that method first during
18989                 wireless device activation.  Should speed up devices that
18990                 need Shared Key authentication method since Open System is
18991                 now the default.
18992
18993         * Remove the hack to not do full activation on wired connections
18994                 that are active when we launch, it causes too many problems
18995                 with name resolution and was a hack in the first place.
18996
18997         * Re-work wireless device activation again somewhat to have a
18998                 clearer chain of events and to use last-known-good
18999                 authentication method of the access point.  Also provide
19000                 better status throughout activation to ensure the applet
19001                 can tell the user exactly what's going on.
19002
19003         * Remove the "find wireless network" code and now simply attempt
19004                 to activate with that access point.  This reduces the delay
19005                 between selecting "Other wireless Network" and actually
19006                 connecting to that network.
19007
19008         * Correctly stop the device's worker thread when its removed.
19009
19010 2005-01-21  Dan Williams  <dcbw@redhat.com>
19011
19012         * dhcpcd/client.c
19013                 - Clean up some of the debug messages
19014
19015 2005-01-21  Dan Williams  <dcbw@redhat.com>
19016
19017         * Add new icons, more frames of animation
19018         * Remove some hacks to get the panel applet to display correct
19019                 status, an NM update will soon follow that will fix the
19020                 real issue.
19021
19022 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
19023
19024         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
19025         the first include for working i18n. Also, don't include it in .h files
19026         * panel-applet/NMWirelessApplet.h: Same
19027         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
19028         * panel-applet/menu-info.c: Same
19029
19030 2005-01-18  Dan Williams <dcbw@redhat.com>
19031
19032         * dhcpcd/client.c
19033                 - Remove some debug messages
19034                 - Wrap others in #ifdef DEBUG/#endif
19035
19036         * src/NetworkManager.c
19037                 - Remove some debug messages
19038                 - Clarify some debug messages
19039                 - Remove code related to old single-thread wireless scanning
19040
19041         * src/NetworkManagerAP.[ch]
19042                 - New AP property "last_seen" to track how recently an AP was
19043                         found in a scan
19044                 - Start using 'const' more in function arguments
19045
19046         * src/NetworkManagerAPList.[ch]
19047                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
19048                         of an AP found in an AP list from a source AP, or if not found
19049                         in the list add the source AP
19050                 - (nm_ap_list_combine): remove, no longer needed
19051
19052         * src/NetworkManagerDevice.c
19053                 - Each device now has a "worker" thread from start to end of its life.
19054                         Scanning for wireless devices now happens in that thread,
19055                         not in a single "wireless scanning thread" for all devices as
19056                         previously.  Activation consists of adding an idle handler to the
19057                         thread's main loop/context, which gets run at the next available
19058                         opportunity.
19059                 - Wireless scanning is also simplified, there is now only one list of
19060                         access points per wireless device, and APs older than 60s are
19061                         removed from the list.  Previously, we kept results for the last
19062                         3 scans and merged whole lists, which was complicated.
19063                 - Cleaned up activation debug messages.
19064                 - Wireless activation and access-point search routines now use Open System
19065                         authentication before trying Shared Key.
19066                 - Removed some code in nm_device_update_best_ap() that could cause cards
19067                         to loose their link to the access point.
19068                 - Scanning now uses a backoff algorithm, where the inverval becomes
19069                         progressively longer between scans when the list of scanned access
19070                         points doesn't change.  A change will revert to the shortest scan
19071                         interval (20s).
19072
19073         * src/NetworkManagerWireless.[ch]
19074                 - Remove code related to old single-thread wireless scanning
19075
19076 2005-01-18  Colin Walters  <walters@redhat.com>
19077
19078         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
19079         of older nameservers.
19080
19081 2005-01-18  Colin Walters  <walters@redhat.com>
19082
19083         * named/nm-named-manager.c (generate_named_conf): Many fixes
19084         to config file generation.
19085         (safer_kill): Remove, was too much trouble for little gain.
19086         (nm_named_manager_start): Run named as NM_NAMED_USER.
19087
19088         * configure.in: Add option --with-named-user.
19089
19090 2005-01-14  Colin Walters  <walters@redhat.com>
19091
19092         Patch from ed@catmur.co.uk (Ed Catmur)
19093
19094         * named/nm-named-manager.c: Add "context" property.
19095         Use it to add child watch source in specific GMainContext.
19096
19097         * src/NetworkManager.c (nm_data_new): Initialize
19098         named with correct main context.  Start named only
19099         after forking.
19100
19101 2005-01-14  Colin Walters  <walters@redhat.com>
19102
19103         * named/nm-named-manager.c (generate_named_conf): Write config
19104         and pid files into NM_NAMED_DATA_DIR; this allows things to
19105         work better with FC3 named SELinux policy.  Also fix up silly
19106         format error.
19107
19108         * configure.in: Add --with-named-dir option.
19109
19110 2005-01-14  Colin Walters  <walters@redhat.com>
19111
19112         * configure.in: Make named support require passing --with-named.
19113
19114         * named/nm-named-manager.c: Support writing resolv.conf directly
19115         without running named.
19116
19117 2005-01-13  Dan Williams <dcbw@redhat.com>
19118
19119         * named/nm-named-manager.c
19120                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
19121
19122         * src/NetworkManagerDevice.c
19123                 - Rework wireless link detection code to be more reliable
19124
19125 2005-01-12  Dan Williams <dcbw@redhat.com>
19126
19127         * initscripts/RedHat/NetworkManager
19128                 - Change initial level to "-" rather than "345" so that
19129                         we don't activate ourselves by default on install
19130
19131 2005-01-12  Dan Williams <dcbw@redhat.com>
19132
19133         * libnm_glib/
19134                 - Client library for applications using glib
19135
19136         * configure.in
19137           various Makefiles
19138                 - Split NM_CFLAGS and NM_LIBS into separate variables
19139                         like DBUS_*, HAL_* and GLIB_*
19140
19141         * src/NetworkManager.c
19142           src/NetworkManagerMain.h
19143                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
19144                         broadcast a status changed signal over DBUS from the main thread.
19145                         Still unused anywhere for the moment.
19146
19147         Patch from j@bootlab.org
19148         * panel_applet/NMWirelessAppletDbus.c
19149           src/NetworkManagerDbus.c
19150                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
19151                         for the "getMode" method call
19152
19153 2005-01-10  Dan Williams <dcbw@redhat.com>
19154
19155         * src/NetworkManagerDevice.c
19156                 - Minor fixups & corrections to "auto" frequency mode, make it
19157                         less chatty with syslog
19158
19159 2005-01-10  Dan Williams <dcbw@redhat.com>
19160
19161         * src/NetworkManagerDevice.c
19162                 - Implement "auto" frequency/channel support, since cards like Atheros
19163                         can't use other frequencies at all when you've told it to use a
19164                         specific one, even for scanning.
19165                 - Grab the scan mutex around places where we can't tolerate wireless
19166                         settings changing underneath us, like nm_device_wireless_network_exists()
19167                         and nm_device_activate_wireless()
19168
19169         * src/NetworkManagerWireless.c
19170                 - Back scan interval off to 20s instead of 14s
19171
19172 2005-01-09  Dan Williams <dcbw@redhat.com>
19173
19174         * src/NetworkManagerDevice.c
19175                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
19176                         already set.  Stops some drivers like Atmel from continually
19177                         reloading the firmware, which they do upon every configuration
19178                         change.
19179
19180 2005-01-09  Dan Williams <dcbw@redhat.com>
19181
19182         * dhcpcd/client.c
19183                 - Use correct timeout value
19184
19185         * info-daemon/NetworkManagerInfoDbus.c
19186           src/NetworkManagerDbus.c
19187                 - Consolidate communication between NM and NMI by doing only 1 dbus
19188                         method call to get Wireless Network info from NMI instead of 6
19189
19190         * src/NetworkManager.c
19191                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
19192                         when we didn't have an AP to use, we'd wait for one forever without
19193                         quitting
19194
19195         * src/NetworkManagerDevice.c
19196                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
19197                         activation, dhcp might not have started yet but we don't quit activation
19198                         before starting it, so the quit signal gets lost
19199
19200 2005-01-07  Dan Williams <dcbw@redhat.com>
19201
19202         * dhcpcd/client.c
19203                 - Rework the DHCP client code to be much less chatty when
19204                         it receives non-DHCP UDP packets during the DHCP run
19205                         (reported by and preliminary patches from Bill Moss)
19206
19207         * Move wireless scanning to a separate thread.  This thread forwards the
19208                 results to the main thread when done where they are integrated into
19209                 the device's access point lists.  This keeps the main thread (which
19210                 does all the DBUS communication) from being blocked for long periods
19211                 of time by wireless scanning.
19212
19213         * Make state modification an idle routine in the main loop, and trigger
19214                 state changes rather than polling for them.
19215
19216         * src/backends/NetworkManagerGentoo.c
19217                 - Fix up invalid C90 code (reported by Christoph Ruessler)
19218
19219         * src/NetworkManagerDevice.c
19220                 - Revert IPv6 patch for wired devices from 2004-12-22 for
19221                         router advertisements, causing problems and infinite loop
19222                         during "best" device determination due to link going up/down
19223                         (reported by Bill Moss)
19224
19225         Apply patch from Peter Jones
19226         * src/NetworkManagerDevice.c
19227                 - Shortcut for link-checking for ipw2x00 cards
19228                 - Split out association check into separate routine
19229
19230 2004-01-05  Colin Walters  <walters@redhat.com>
19231
19232         * named/named.conf: Add PID_FILE.
19233
19234         * named/nm-named-manager.c: Always generate a pid
19235         file, since older BIND versions don't support
19236         "pid-file none".
19237
19238 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
19239
19240         * configure.in (ALL_LINGUAS): Added ja (Japanese).
19241
19242 2004-12-22  Dan Williams <dcbw@redhat.com>
19243
19244         * src/NetworkManagerDevice.c
19245                 - Silently fail when setting bitrate doesn't work
19246
19247
19248         Patches from j@bootlab.org:
19249         * src/backends/NetworkManagerDebian
19250                 - Update backend to match functionality in RedHat backend
19251         * src/NetworkManagerDevice.c
19252                 - Take down then bring up wired devices after connection so
19253                 they send out ipv6 router advertisements
19254
19255 2004-12-21  Colin Walters  <walters@verbum.org>
19256
19257         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
19258         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
19259
19260 2004-12-21  Colin Walters  <walters@redhat.com>
19261
19262         * configure.in: Correct named detection.
19263
19264 2004-12-21  Colin Walters  <walters@redhat.com>
19265
19266         * src/NetworkManager.c (nm_data_new): Initialize named.
19267         Also, set up a signal handler for SIGINT/SIGTERM, and exit
19268         the mainloop when these signals are received.
19269         (nm_data_free): Unref named.
19270         (sigterm_handler, sigterm_pipe_handler): New functions for
19271         exiting mainloop.
19272         
19273         * src/NetworkManagerMain.h (NMData): Add signal handling and
19274         nameserver bits.
19275
19276         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
19277         unref.
19278
19279         * src/NetworkManagerDHCP.c (set_nameservers): New function;
19280         set nameservers from DHCP response data.
19281         (set_domain_search): Set domain search from DHCP response.
19282         (nm_device_dhcp_configure): Invoke them.
19283
19284         * src/NetworkManagerSystem.c
19285         (nm_system_device_update_resolv_conf): Delete.  Deleting
19286         code is totally sweet.
19287
19288         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
19289
19290         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
19291         implements an object which controls a nameserver.  Currently
19292         uses bind 9.
19293
19294         * configure.in: Check for named.
19295
19296         * Makefile.am (SUBDIRS): Add named dir.
19297
19298         * named/named.conf: New template config file.
19299
19300 2004-12-20  Colin Walters  <walters@redhat.com>
19301
19302         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
19303         instead of '='.
19304
19305 2004-12-17  Dan Williams  <dcbw@redhat.com>
19306
19307         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
19308                 link-local addresses instead of doing DHCP.
19309
19310         * In the panel applet, there's a new "Create new Wireless Network..." item
19311
19312         * The panel applet also sticks around now even if NetworkManager dies, but
19313                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
19314                 a bug, I'll fix that later.
19315
19316         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
19317                 lookups after a switch rather than actually doing them.
19318
19319         * Clean up some of those warnings in nm_ap_list_* functions
19320
19321         * Delay between scans changed to 15s instead of 10s
19322
19323 2004-12-15  Dan Williams  <dcbw@redhat.com>
19324
19325         Patch from Tom Parker
19326         * Add autoip/Link Local Addressing support when we fail to get a DHCP
19327                 address
19328
19329         * Longer pause after setting ESSID on cards that support a larger number
19330                 of channels to give the card time to find the right channel
19331
19332         * Add system hook to restart mDNSResponder (or whatever the local implementation
19333                 of Multicast DNS is) when we activate interfaces
19334
19335 2004-12-15  Dan Williams  <dcbw@redhat.com>
19336
19337         * Rework the DHCP code again to revert to sending full ethernet frames
19338                 rather then relying on the kernel to do the right thing with our
19339                 packets.
19340
19341 2004-12-06  Dan Williams  <dcbw@redhat.com>
19342
19343         * dhcpcd/client.c
19344                 - Fix some minor errors in dhcp_handle_transaction() that caused
19345                         unexpected early timeouts of DHCP transactions
19346
19347         * dhcpcd/client.h
19348                 - DHCP retransmit time from 4s -> 5s
19349
19350 2004-12-05  Dan Williams  <dcbw@redhat.com>
19351
19352         * Major rework of the DHCP code, taking some cues from pump.  We don't
19353                 write raw Ethernet packets anymore, which simplifies the code quite
19354                 a bit.  The new code should be more robust, not hang in recvfrom()
19355                 as much, and generally work better.  This also means that we need
19356                 to force HAL/dbus to use a created GMainContext rather than the
19357                 default context, since having the DHCP renew/rebind thread using
19358                 its own GMainContext seemed to give dbus a fit.  There is also more
19359                 debugging information printed from the DHCP loop to help with future
19360                 problems.
19361
19362         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
19363                 assume that the default gateway should be the DHCP server.
19364
19365         Patch from Matthew Schick <matt oss-institute org>
19366         * src/backends/NetworkManagerGentoo.c
19367                 - Fix compilation error due to missing "ip4_broadcast"
19368
19369 2004-12-03  Dan Williams  <dcbw@redhat.com>
19370
19371         * initscript/Makefile.am
19372         * initscript/Debian/NetworkManager
19373         * initscript/Gentoo/NetworkManager
19374         * initscript/RedHat/NetworkManager
19375         * initscript/NMLaunchHelper.c
19376                 - Remove NMLaunchHelper, if you need to wait until the network
19377                         comes up, use the dead code from CVS.
19378
19379 2004-12-01  Colin Walters  <walters@redhat.com>
19380         
19381         * configure.in: Suck in gcc warnings code from Rhythmbox,
19382         but use fewer default flags, and in particular add -Wno-unused,
19383         since the codebase has a lot of unused variables.
19384
19385         * test/nmtestdevices.c (create_device): 
19386         * test/nminfotest.c (get_network_string_property) 
19387         (get_networks_of_type): 
19388         * test/nmclienttest.c (main): 
19389         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
19390         * initscript/NMLaunchHelper.c (get_nm_status): 
19391         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
19392         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
19393         Fix declarations after statements.
19394
19395 2004-12-01  Colin Walters  <walters@redhat.com>
19396
19397         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
19398         (nmi_dbus_get_vpn_userpass): New method.
19399         (nmi_dbus_nmi_message_handler): Invoke it.
19400
19401         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
19402
19403         * info-daemon/NetworkManagerInfoVPN.h,
19404         info-daemon/NetworkManagerInfoVPN.c: New files; responds
19405         to requests for VPN passwords.
19406
19407         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
19408
19409 2004-12-01  Colin Walters  <walters@redhat.com>
19410
19411         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
19412         includes.
19413
19414 2004-12-01  Colin Walters  <walters@redhat.com>
19415
19416         * panel-applet/NMWirelessAppletDbus.c
19417         (nmwa_dbus_update_active_device_strength): Fix missing
19418         return value.
19419
19420 2004-12-01  Colin Walters  <walters@redhat.com>
19421
19422         * panel-applet/NMWirelessApplet.c: Add missing include.
19423
19424 2004-12-01  Colin Walters  <walters@redhat.com>
19425
19426         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
19427         Remove useless CLAMP (); the value is unsigned, and the case tests
19428         qual->qual < 100, so the value must always be between 0 and 100.
19429
19430 2004-12-01  Colin Walters  <walters@redhat.com>
19431
19432         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
19433
19434 2004-11-22  Colin Walters  <walters@verbum.org>
19435
19436         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
19437         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
19438         which is essentially a noop since nscd caches hosts on disk too.
19439         
19440 2004-11-22  Colin Walters  <walters@redhat.com>
19441
19442         * src/Makefile.am (NetworkManager_SOURCES): Add
19443         NetworkManagerDevicePrivate.h.
19444
19445 2004-11-22  Dan Williams <dcbw@redhat.com>
19446
19447         * src/NetworkManagerDevicePrivate.h
19448                 - Split out the NMDevice struct to a different file so that stuff like
19449                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
19450
19451         * dhcpcd/client.c
19452                 - fprintf->syslog
19453                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
19454                         need to cancel the dhcp request during the send and recv
19455
19456         * dhcpcd/client.h
19457                 - Move the DHCP option enum to dhcpcd.h
19458
19459         * src/NetworkManagerDHCP.c
19460                 - Split out the actual IP/netmask/etc setting code
19461                 - New Renew/Rebind functions
19462                 - New timer setup function for renew/rebind operations
19463
19464         * src/NetworkManagerDevice.c
19465                 - For device activation, if we are using DHCP then keep the activation thread
19466                         alive until device deactivation.  We need to renew/rebind the DHCP address
19467                         after the T1 (renew) and T2 (rebind) times have expired.
19468                 - Increase some timeouts after bringing wireless cards up/down
19469
19470 2004-11-17  Dan Williams <dcbw@redhat.com>
19471
19472         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
19473                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
19474                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
19475                 show known access points that don't broadcast their ESSID in the menus without
19476                 any user intervention whatsoever.
19477
19478         * info-daemon/NetworkManagerInfoDbus.c
19479                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
19480                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
19481
19482         * src/NetworkManagerAP.[ch]
19483                 - Add a "user_addresses" data member to the NMAccessPoint structure
19484                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
19485                         the user_addresses data member
19486
19487         * src/NetworkManagerAPList.c
19488                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
19489                         the AP's reported address
19490                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
19491
19492         * src/NetworkManagerDHCP.c
19493                 - Increase DHCP timeout from 25s -> 30s
19494
19495         * src/NetworkManagerDbus.[ch]
19496                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
19497                         user addresses
19498
19499         * src/NetworkManagerDevice.c
19500                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
19501                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
19502                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
19503                         So, we take the card down to clear it out.
19504                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
19505                         too, since that's where the user_addresses are
19506
19507         * src/NetworkManagerPolicy.c
19508                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
19509                         that wireless networks' user_addresses list upon successful activation
19510
19511 2004-11-16  Dan Williams <dcbw@redhat.com>
19512
19513         * src/NetworkManagerDevice.[ch]
19514                 - (nm_device_clear_activation_fail): new function
19515
19516         * src/NetworkManagerPolicy.c
19517                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
19518                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
19519
19520 2004-11-16  Dan Williams <dcbw@redhat.com>
19521
19522         * src/NetworkManagerDevice.c
19523                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
19524                         leak the structure, better updating of now_scanning status
19525                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
19526
19527 2004-11-15  Dan Williams <dcbw@redhat.com>
19528
19529         Major rework of link detection code.  We now use DHCP
19530         as part of the link detection which proves to be much more robust,
19531         and also supports Open System authentication for wireless networks.
19532
19533         We no longer use external DHCP client programs.  Instead, we use 
19534         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
19535         which was written by:
19536                 Yoichi Hariguchi <yoichi@fore.com>
19537                 Sergei Viznyuk <sv@phystech.com>
19538                 http://www.phystech.com/download/
19539         It resides in the "dhcpcd" directory and was refactored into a general
19540         purpose DHCP client library by me.
19541
19542         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
19543         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
19544
19545 2004-11-15  Dan Williams <dcbw@redhat.com>
19546
19547         Patch from Tom Parker <palfrey@tevp.net>:
19548
19549         * src/NetworkManagerDevice.c
19550                 - Less output to console when no access
19551                         points are found during a scan
19552
19553 2004-11-15  Dan Williams <dcbw@redhat.com>
19554
19555         Patch from Tom Parker <palfrey@tevp.net>:
19556
19557         * src/backends/interface_parser.c
19558                 - Use g_strdup ()
19559                 - Check for inp == NULL
19560                 - use syslog ()
19561
19562 2004-11-13  Colin Walters  <walters@redhat.com>
19563
19564         Patch from Tom Parker <palfrey@tevp.net>:
19565
19566         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
19567         
19568         * src/backends/NetworkManagerRedHat.c: Switch to
19569         including shvar.h instead of shvar.c.
19570
19571         * src/backends/NetworkManagerDebian.c: Don't include
19572         interface_parser.c in source file.
19573
19574         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
19575         and interface_parser.[ch].
19576         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
19577         Include shvar.c and shvar.h here.
19578         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
19579         interface_parser.c and interface_parser.h here.
19580
19581 2004-11-12  Colin Walters  <walters@redhat.com>
19582
19583         * configure.in: Strip out TARGET_DISTRO and
19584         SYSTEM_BACKEND_FILE variables.  Switch to Automake
19585         conditionals.
19586
19587         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
19588         (libnmbackend_la_SOURCES): Use Automake conditionals
19589         to add distro-specific files.
19590
19591         * initscript/Makefile.am (SUBDIRS): Update to
19592         use conditionals.
19593
19594 2004-11-12  Colin Walters  <walters@redhat.com>
19595
19596         Patches from j bootlab org
19597
19598         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
19599         Add interface_parser.[ch].
19600
19601         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
19602         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
19603
19604 2004-11-12  Colin Walters  <walters@redhat.com>
19605
19606         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
19607         call to nmi_dbus_is_running too, not necessary anymore.
19608         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
19609         pick up exit().
19610
19611 2004-11-11  Colin Walters  <walters@verbum.org>
19612
19613         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
19614         Delete.
19615         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
19616         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
19617         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
19618         This avoids a race condition that made it pretty easily
19619         possible to get two NetworkManagerInfo daemons running.
19620
19621 2004-11-11  Colin Walters  <walters@verbum.org>
19622         
19623         * src/NetworkManager.c (main): Use daemon(3).
19624
19625         * info-daemon/NetworkManagerInfo.c (main): Ditto.
19626
19627         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
19628
19629 2004-11-10 Dan Williams <dcbw@redhat.com>
19630
19631         Patches from j bootlab org
19632         * src/NetworkManagerDevice.c
19633                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
19634                         whether the card has a link or not, some cards are slow
19635                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
19636
19637         * info-daemon/NetworkManagerInfoPassphraseDialog.c
19638                 - Disable the "Login" button on the passphrase dialog until the user
19639                         enters a valid passphrase or key
19640
19641         Patches from Tom Parker <palfrey tevp net>
19642         * src/backends/NetworkManagerDebian.c
19643                 - Add static IP support to the debian backend
19644
19645         * src/backends/interface_parser.[ch]
19646                 - Parse debian interface config files
19647
19648 2004-11-08 Dan Williams <dcbw@redhat.com>
19649
19650         * src/NetworkManagerDevice.c
19651                 - Some random fprintf->syslog conversions
19652                 - (nm_device_wireless_network_exists): double-check for network
19653                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
19654
19655         * src/NetworkManagerWireless.[ch]
19656                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
19657                         so that the binary->ascii conversion works (if unsigned, the bitshift
19658                         will fill with zeros, which is what's required).  Also mask bitshift
19659                         result with 0xF for futher assurance.
19660
19661 2004-11-06 Dan Williams <dcbw@redhat.com>
19662
19663         * src/NetworkManagerUtils.c
19664                 - (nm_get_wireless_driver_support_level): default to
19665                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
19666                         flip this when changing from whitelist->blacklist of
19667                         wireless drivers
19668
19669 2004-11-05 Dan Williams <dcbw@redhat.com>
19670
19671         Patch from Robert Paskowitz:
19672         * src/backends/NetworkManagerGentoo.c
19673                 - Update static IP config code
19674
19675 2004-11-05 Dan Williams <dcbw@redhat.com>
19676
19677         * info-daemon/NetworkManagerInfoDbus.c
19678           src/NetworkManagerDbus.[ch]
19679           src/NetworkManagerDevice.c
19680                 - Keep track of the # of attempts to get the WEP key
19681                         from the user and pass that along to the info daemon
19682
19683 2004-11-05 Dan Williams <dcbw@redhat.com>
19684
19685         * src/NetworkManagerUtils.c
19686                 - Blacklist wireless cards rather than whitelisting them.
19687                 - Grab driver name from HAL rather than trying to find it
19688                         ourselves.
19689
19690 2004-11-03 Dan Williams <dcbw@redhat.com>
19691
19692         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
19693                 - Disable OK button until valid data is entered
19694                         for encryption stuff too
19695
19696         * panel-applet/NMWirelessApplet.c
19697                 - Report card strength for current AP if the card
19698                         doesn't report strength data for scanned access
19699                         points
19700
19701         * src/NetworkManagerDevice.c
19702                 - Smooth out cards reported quality, Atmel card was
19703                         intermittently reporting no quality data but soon
19704                         recovers
19705
19706         * src/NetworkManagerWireless.c
19707                 - Better quality data percentage calculation.  Atmel
19708                         cards (mine at least) seem to report the quality
19709                         in percentage format already, so honor that
19710
19711         Patch from <j@bootlab.org>
19712         * NetworkManager.h
19713           info-daemon/NetworkManagerInfoPassphraseDialog.c
19714           info-daemon/passphrase.glade
19715           panel-applet/NMWirelessAppletOtherNetworkDialog.c
19716           panel-applet/essid.glade
19717           src/NetworkManagerAP.c
19718           src/NetworkManagerDevice.c
19719           src/NetworkManagerWireless.[ch]
19720                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
19721
19722 2004-11-03 Dan Williams <dcbw@redhat.com>
19723
19724         * src/NetworkManagerDevice.[ch]
19725                 - (nm_device_set_enc_key): Add parameter to set Authentication
19726                         Mode (Open System, Shared Key, or None).  We're still using
19727                         Shared Key for now though.
19728
19729 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
19730
19731         * panel-applet/menu-info.c: change from bold text to light
19732         colored, may cause problems with some themes, i've tested a lot
19733         and they seem fine. 
19734
19735         * panel-applet/NMWirelessApplet.c: fix strength tooltip
19736
19737 2004-11-01  Colin Walters  <walters@verbum.org>
19738
19739         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
19740         (nm_wireless_128bit_key_from_passphrase): Add const.
19741
19742         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
19743         (nm_ap_set_enc_key_source): Add const.
19744         
19745 2004-11-01  Colin Walters  <walters@verbum.org>
19746
19747         * .cvsignore: Update.
19748
19749 2004-10-29 Dan Williams <dcbw@redhat.com>
19750
19751         * src/NetworkManagerDevice.c
19752                 - (nm_device_wireless_network_exists): Actually use the encryption
19753                         key we got from the applet when attempting to find a wireless network
19754                 - Don't bring devices down so much since on some cards it triggers
19755                         firmware hotplugs each time
19756
19757         * src/NetworkManagerDbus.c
19758                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
19759                         from the caller
19760
19761 2004-10-29 Dan Williams <dcbw@redhat.com>
19762
19763         * src/NetworkManager.c
19764                 - (nm_hal_device_property_modified): unlock a locked active
19765                         wireless device when a wired connection gets a link.
19766                         (Means you'll switch to wired whenever you plug in no
19767                         matter what).
19768
19769 2004-10-29 Dan Williams <dcbw@redhat.com>
19770
19771         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
19772                 - New files, implement the "Other wireless network" dialog
19773
19774         * panel-applet/NMWirelessApplet.c
19775                 - Move "other wireless network" dialog to separate file
19776
19777         * panel-applet/NMWirelessAppletDbus.[ch]
19778                 - Take key and key_type paramaters for the set_device function
19779
19780         * panel-applet/essid.glade
19781                 - Add UI bits for encryption settings
19782
19783         * src/NetworkManagerDbus.c
19784                 - Retrieve key and key_type params for "setActiveDevice" method call
19785                         and pass them on
19786                 - unref AP returned from nm_device_get_best_ap() when needed
19787
19788         * src/NetworkManagerDevice.c
19789                 - (nm_device_get_best_ap): ref the ap before returning it
19790                 - unref AP returned from nm_device_get_best_ap() when needed
19791                 - (nm_device_activate_wireless): add "ap" parameter so we don't
19792                         need to call nm_device_get_best_ap() here, it was pretty much
19793                         redundant anyway
19794                 - (AP_NEED_KEY): break second link check condition out into separate
19795                         function, and fix segfault when ap->enc_key_source was NULL
19796                 - (nm_device_find_and_use_essid): take key and key_type parameters and
19797                         pass them along to nm_device_wireless_network_exists().  If the
19798                         network does exist, set the passed-in key+key_type on the AP
19799
19800         * src/NetworkManagerPolicy.c
19801                 - unref AP returned from nm_device_get_best_ap() when needed
19802
19803 2004-10-28 Dan Williams <dcbw@redhat.com>
19804
19805         * src/NetworkManagerUtils.c
19806                 - (nm_spawn_process): Fix a potential dereference of NULL
19807
19808         Patches from Peter Jones:
19809
19810         * src/NetworkManagerDevice.c
19811                 - (nm_device_test_wireless_extensions): Better check for
19812                         wireless devices
19813
19814         * src/NetworkManagerUtils.c
19815                 - (nm_spawn_process): Pass in valid stdout and stderr so
19816                         executed programs don't randomly SIGPIPE and fail
19817                 - (nm_get_wired_driver_support_level): quash hal warning
19818                         when checking for USB ethernet device
19819
19820 2004-10-27 Dan Williams <dcbw@redhat.com>
19821
19822         * info-daemon/NetworkManagerInfo.c
19823           info-daemon/NetworkManagerInfoDbus.c
19824           info-daemon/NetworkManagerInfoPassphraseDialog.c
19825           panel-applet/NMWirelessApplet.c
19826                 - Properly escape gconf keys
19827
19828         * src/NetworkManager.c
19829                 - remove unused variables
19830
19831         * src/NetworkManagerAP.c
19832                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19833                         refcount since it got set in nm_ap_new()
19834
19835         * src/NetworkManagerAPList.c
19836                 - (nm_ap_list_combine): Give up ownership of newly created
19837                         access points to the ap list, fixes memleak
19838
19839         * src/NetworkManagerDevice.c
19840                 - Remove cached_ap_list4 member since its not really needed
19841                 - (nm_device_wireless_network_exists): Try to get correct
19842                         encryption status of a found AP if its already in our
19843                         device list
19844                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19845                         memory allocs/deallocs a bit clearer and shorter-lived
19846
19847 2004-10-26 Ray Strode <rstrode@redhat.com>
19848
19849         * panel-applet/NMWirelessApplet.c:
19850           (custom_essid_item_selected):  kill some compiler
19851         warnings 
19852
19853 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19854
19855         * info-daemon/NetworkManagerInfoDbus.c
19856                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19857                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19858
19859 2004-10-23 Dan Williams <dcbw@redhat.com>
19860
19861         * info-daemon/NetworkManagerInfoDbus.c
19862                 - Trap the "DeviceActivationFailed" signal
19863
19864         * docs/NetworkManager DBUS API.txt
19865                 - Add "DeviceActivationFailed" signal
19866
19867         * panel-applet/NMWirelessAppletDbus.c
19868                 - Quash the "NetworkManager service not available" message
19869
19870         * src/NetworkManagerDbus.[ch]
19871                 - Add the "DeviceActivationFailed" signal
19872
19873         * src/NetworkManagerDevice.c
19874                 - Add support for activation_failed flag
19875                 - Fix deadlock where activation thread didn't clean itself up, making
19876                         main thread still believe it was alive forever (didn't reset activation
19877                         flags like activating, just_activated, etc when IP configuration
19878                         failed)
19879
19880         * src/NetworkManagerPolicy.c
19881                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19882                         for wireless networks, try to fall back to some other access point
19883
19884 2004-10-23 Dan Williams <dcbw@redhat.com>
19885
19886         * panel-applet/NMWirelessApplet.[ch]
19887                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19888                         to the applet object, so we can get tooltips
19889                 - Add tooltips (RH #136866)
19890
19891         * src/NetworkManagerDevice.c
19892                 - When trying to find a wireless network, try to connect with encryption
19893                         turned on first, so that we can more accurately detect whether or not
19894                         we need to use encryption for the actual association later on
19895
19896 2004-10-21 Dan Williams <dcbw@redhat.com>
19897
19898         * Add some support for telling NetworkManagerInfo to tell the user
19899                 that they are using a device that's not fully supported
19900
19901         * Fix some assertions in debug messages due to null access point args
19902
19903 2004-10-21 Dan Williams <dcbw@redhat.com>
19904
19905         * src/NetworkManagerDevice.c
19906                 - Don't try to activate/bring up/down unsupported
19907                         devices
19908
19909         * src/NetworkManagerUtils.c
19910                 - Fix case of PCI ID checks for driver support levels
19911
19912 2004-10-21 Dan Williams <dcbw@redhat.com>
19913
19914         * NetworkManager.h
19915                 - New file, now contains commonly used structures and bits
19916                         for the dbus API of NetworkManager
19917
19918         * Makefile.am
19919                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19920
19921         * src/NetworkManager.h
19922                 - Rename -> src/NetworkManagerMain.c
19923
19924         * Various fixups all around to use NetworkManager.h and new
19925                 src/NetworkManagerMain.h, remove redundant bits that got
19926                 moved into NetworkManager.h
19927
19928         * src/NetworkManagerDevice.[ch]
19929           src/NetworkManagerUtils.[ch]
19930           src/NetworkManagerPolicy.c
19931           src/NetworkManagerDbus.c
19932                 - Whitelist wireless drivers, and blacklist some wired
19933                         drivers.  Also blacklist cipsec and ethernet-over-usb
19934                         devices at this time (RH #135722, RH #135648)
19935                 - Don't leak unsupported devices out over dbus, or allow
19936                         them to be set as the active device.  Skip over them
19937                         during automatic device picking
19938
19939         * test/nmclienttest.c
19940                 - Clean up the dbus code a lot
19941
19942 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19943
19944         * configure.in: post release bump.
19945
19946 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19947
19948         * configure.in:
19949         * NEWS: Released NetworkManager-0.3.1
19950
19951 2004-10-18 Dan Williams <dcbw@redhat.com>
19952
19953         Patches from Thom May:
19954         * test/nmtestdevices.c
19955                 - Include <string.h>
19956         * src/backends/NetworkManagerDebian.c:
19957                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19958                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19959                         Move to using g_strdup_printf rather than arbitrary buffers
19960                 - (nm_system_device_setup_static_ip4_config) Implement function.
19961                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19962
19963 2004-10-17 Dan Williams <dcbw@redhat.com>
19964
19965         * info-daemon/NetworkManagerInfoDbus.c
19966                 - Display name of network in the "network not found" dialog
19967
19968         * panel-applet/NMWirelessAppletDbus.c
19969                 - (nmwa_dbus_call_nm_method): new function replaces all other
19970                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19971                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19972                         consolidated into nmwa_dbus_get_object_name()
19973
19974 2004-10-15 Dan Williams <dcbw@redhat.com>
19975
19976         * src/NetworkManagerDbus.c
19977           info-daemon/NetworkManagerInfoDbus.c
19978                 - Display an error dialog when the user tries to use an
19979                         "Other wireless network" that's not found.
19980
19981 2004-10-15 Dan Williams <dcbw@redhat.com>
19982
19983         * panel-applet/NMWirelessApplet.[ch]
19984                 - Fix up corner cases in applet state, making it
19985                         look more responsive.  Change state to "connecting" when
19986                         the user is forcing a device too.
19987
19988 2004-10-15 Dan Williams <dcbw@redhat.com>
19989
19990         * src/NetworkManagerAPList.c
19991                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19992
19993         * src/NetworkManagerDbus.c
19994                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19995
19996         * src/NetworkManagerDevice.c
19997                 - Disown APs after the device's AP list takes ownership
19998
19999 2004-10-15 Dan Williams <dcbw@redhat.com>
20000
20001         * panel-applet/NMWirelessApplet.c
20002                 - Update our applet state from the GUI thread
20003
20004         * panel-applet/NMWirelessAppletDbus.c
20005                 - Greatly simplify the locking to make the GUI thread
20006                         smoother.  Update a private copy of the device list
20007                         and active device and only when done talking to
20008                         NetworkManager turn it over to the GUI thread.
20009
20010 2004-10-15 Dan Williams <dcbw@redhat.com>
20011
20012         * src/NetworkManagerAP.[ch]
20013                 - Add "artificial" get/set functions, set for APs that
20014                         aren't discovered as part of a scan but instead
20015                         discovered by force-setting the ESSID
20016
20017         * src/NetworkManagerDevice.[ch]
20018                 - (nm_device_wireless_network_exists): pass back whether
20019                         or not the discovered AP was encrypted.  Also, try
20020                         falling back to encrypted mode on the card if unencrypted
20021                         association doesn't work
20022                 - (nm_device_find_and_use_essid): If the network requested
20023                         did in fact exists, but it wasn't in our scan list, add
20024                         an "artificial" entry for it.  Some Cisco cards don't
20025                         see non-ESSID-broadcasting APs in their scan but can still
20026                         associate with them if you know the ESSID, this works around
20027                         that behavior
20028                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
20029                         to scan if the card is currently associated with that AP
20030
20031 2004-10-15 Dan Williams <dcbw@redhat.com>
20032
20033         ---- We have a website ----
20034         http://people.redhat.com/dcbw/NetworkManager
20035
20036         Patch from Robert Paskowitz:
20037         * src/NetworkManager.c
20038                 - (main): Make sure we are run as root
20039         * src/NetworkManagerDevice.c
20040                 - Fix type in ad-hoc setting function
20041
20042         Patch from Thom May:
20043         * src/backends/NetworkManagerDebian.c
20044                 - Make Debian backend compile again
20045
20046 2004-10-14 Dan Williams <dcbw@redhat.com>
20047
20048         * Tagged NetworkManager-0_3
20049
20050 2004-10-14 Dan Williams <dcbw@redhat.com>
20051
20052         Patch from Robert Paskowitz:
20053         * NEWS
20054           src/NetworkManagerDevice.[ch]
20055           src/backends/NetworkManagerDebian.c
20056           src/backends/NetworkManagerGentoo.c
20057           src/backends/NetworkManagerRedHat.c
20058           src/backends/NetworkManagerSlackware.c
20059                 - Add support for grabbing and using a broadcast address
20060                         from system config files
20061                 - Some Gentoo backend fixes for grabbing network config
20062                 - Fix LOG_WARN->LOG_WARNING
20063
20064 2004-10-14 Dan Williams <dcbw@redhat.com>
20065
20066         * NEWS: a few small fixes in the credits
20067
20068 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
20069
20070         * NEWS: prep for release.
20071
20072 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
20073
20074         * panel-applet/NMWirelessAppletDbus.c
20075         (nmwa_dbus_update_device_wireless_networks): remove warnings.
20076
20077 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
20078
20079         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
20080         applet->state == APPLET_STATE_NO_NM animation.
20081
20082         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
20083         set the text correctly.
20084
20085 2004-10-14 Dan Williams <dcbw@redhat.com>
20086
20087         * src/NetworkManager.c
20088                 - Only accept and manager 802.3 and 802.11 devices
20089
20090         * src/NetworkManagerDbus.[ch]
20091                 - (nm_dbus_nm_set_active_device): move most of the actual activation
20092                         logic into NetworkManagerDevice.c
20093                 - (nm_dbus_network_status_from_data): new function
20094                 - (nm_dbus_signal_network_status_change): new function, unused for now
20095                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
20096
20097         * src/NetworkManagerDevice.[ch]
20098                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
20099                         a random ESSID.
20100
20101 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
20102
20103         * info-daemon/NetworkManagerInfo.c 
20104                 - (main): Added session management
20105
20106 2004-10-14 Dan Williams <dcbw@redhat.com>
20107
20108         * panel-applet/NMWirelessAppletDbus.[ch]
20109                 - Expose network_device_[un]ref()
20110                 - Expose wireless_network_[un]ref()
20111                 - (wireless_network_new_with_essid): new function, create and return
20112                         a wireless network with a particular essid
20113
20114         * panel-applet/NMWirelessApplet.c
20115                 - Hook up the "other network" dialog to do something
20116
20117 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
20118
20119         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
20120         doesn't work yet, but it looks okay.
20121
20122         * panel-applet/icons/*png: Resize to 22x22 and install in the
20123         right place.
20124
20125 2004-10-13 Dan Williams <dcbw@redhat.com>
20126
20127         * panel-applet/NMWirelessApplet.c
20128                 - Add function to print out applet_state in a readable
20129                         manner
20130
20131         * src/NetworkManager.c
20132                 - (main): Don't segfault when nm_dbus_init() fails, we had
20133                         a left-over call to hal_shutdown() into which we passed NULL
20134
20135         * src/NetworkManagerAP.c
20136                 - (nm_ap_set_essid): Allow NULL essids
20137
20138         * src/NetworkManagerAPList.[ch]
20139                 - More use of nm_ap_list_[un]lock ()
20140                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
20141                         network/essid, just return nothing.  Also skip over NULL
20142                         essid access points in the list when searching
20143                 - (nm_ap_list_get_ap_by_address): new function
20144                 - (nm_ap_list_update_network): set the access point's key source to
20145                         NULL when the key returned from NetworkManagerInfo is NULL or
20146                         of 0 length
20147                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
20148                         copy timestamp over too
20149                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
20150                         find the correct ESSID for a blank-essid access point by searching
20151                         through another list and matching access point MAC addresses
20152                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
20153
20154         * src/NetworkManagerDbus.c
20155                 - (nm_dbus_nm_set_active_device): deal with random networks the user
20156                         may specify.  This is mainly for access points that don't
20157                         broadcast their essid.  So if the user tells us to associate with
20158                         some random ESSID that's not in our access point list, we find
20159                         out if the access point does in fact exist (by attempting association
20160                         and then matching that access point's MAC address with the essid the
20161                         user gave us) and then we switch to it.
20162                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
20163                         to the returned list of networks for the "getNetworks" method
20164
20165         * src/NetworkManagerDevice.[ch]
20166                 - Extra debugging info for link detection
20167                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
20168                         based on MAC address
20169                 - (nm_device_get_path_for_ap): ignore blank-essid access points
20170                 - (nm_device_wireless_network_exists): new function, find out whether
20171                         a random ESSID exists by attempting to associate with it
20172                 - (nm_device_do_normal_scan): allow blank-essid access points in our
20173                         device list as long as they have an AP MAC address we can use.
20174                         Also send WirelessNetwork[Dis]Appeared signals for non-active
20175                         devices too.  Lets the applet update more frequently.
20176
20177         * src/backends/NetworkManagerGentoo.c
20178                 - Patch from: Robert Paskowitz
20179                         - Update backend code for Gentoo
20180                         - Implement nm_system_device_update_config_info ()
20181
20182         * test/nmclienttest.c
20183                 - (set_network_device): new function, takes a command-line argument
20184                         and tells NetworkManager to use that wireless network
20185
20186 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
20187
20188         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
20189         if the notification icon crashes 5 times within 5 seconds of each respawn 
20190
20191 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
20192
20193         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
20194         g_print.
20195
20196 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
20197
20198         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
20199
20200         * panel-applet/NMWirelessApplet.c: (animation_timeout),
20201         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
20202         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
20203         Change the name of the icons.
20204
20205         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
20206         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
20207         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
20208         (nm_menu_wireless_expose_event): Really bad hack to get the style
20209         to draw in the right color.
20210
20211 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
20212
20213         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
20214         Notification if it crashes
20215
20216 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
20217
20218         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
20219         (nmwa_dbus_get_string): remove unused functions
20220
20221         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
20222         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
20223         remove unused functions
20224
20225         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
20226
20227 2004-10-12 Dan Williams <dcbw@redhat.com>
20228
20229         * panel-applet/NMWirelessAppletDbus.c
20230                 - New functions:
20231                         wireless_network_new
20232                         wireless_network_copy
20233                         network_device_new
20234                         network_device_copy
20235
20236         * src/NetworkManagerDevice.[ch]
20237                 - New functions:
20238                         nm_device_set_mode_managed
20239                         nm_device_set_mode_adhoc
20240                 - Use these functions where appropriate
20241                 - When creating a new wireless device, force the card
20242                         to managed/Infrastructure mode as soon as possible
20243
20244 2004-10-12 Dan Williams <dcbw@redhat.com>
20245
20246         * src/NetworkManagerDevice.c
20247                 - Force wireless cards into Infrastructure mode before we use them
20248
20249 2004-10-12 Dan Williams <dcbw@redhat.com>
20250
20251         * TODO
20252                 - Remove bit about static IP address support
20253
20254         * src/NetworkManagerUtils.c
20255                 - (nm_spawn_process): Add some error reporting
20256
20257         * src/NetworkManagerDevice.c
20258                 - (nm_device_activation_configure_ip): hook up to the static config
20259                         routines in the backends
20260
20261         * src/backends/NetworkManagerRedHat.c
20262                 - (nm_system_device_update_config_info): use shvar.c routines to
20263                         parse the config file iformation, not our own
20264                 - (nm_system_device_setup_static_ip4_config): new function, based
20265                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
20266                         with a static IP address and gateway
20267
20268         * src/backends/shvar.[ch]
20269                 - Parser (filched from initscripts package) for ifcfg-* files
20270
20271         * src/backends/NetworkManagerSystem.h
20272           src/backends/NetworkManagerGentoo.c
20273           src/backends/NetworkManagerDebian.c
20274           src/backends/NetworkManagerSlackware.c
20275                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
20276
20277 2004-10-11 Dan Williams <dcbw@redhat.com>
20278
20279         * TODO
20280                 - Remove bit about more robust AP diffing since I just implemented it
20281
20282 2004-10-11 Dan Williams <dcbw@redhat.com>
20283
20284         * src/NetworkManagerAP.c
20285                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
20286                         enough RAM to allocate new AP structures, but return NULL instead
20287
20288         * src/NetworkManagerAPList.[ch]
20289                 - (nm_ap_list_is_empty): new function
20290                 - (nm_ap_list_combine): new function, combine two access point lists
20291                 - (nm_ap_list_copy_keys): new function, copy keys from one list
20292                         into another
20293
20294         * src/NetworkManagerDevice.[ch]
20295                 - Rename some functions to be clearer:
20296                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
20297                         nm_device_just_activated     -> nm_device_is_just_activated
20298                         nm_device_activating         -> nm_device_is_activating
20299                         nm_device_now_scanning       -> nm_device_is_scanning
20300                 - Cache the last 4 scans so that the access point list is more stable.
20301                         We combine the lastest two scans and use that as the AP list,
20302                         and diff that combined list against the combination of the earliest
20303                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
20304
20305 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20306
20307         * info-daemon/NWManagerInfo.h
20308                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
20309
20310         * info-daemon/NWManagerInfoDbus.c
20311                 - (shutdown_callback): new function
20312                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
20313                         if NetworkManager goes away.  Kill the timeout
20314                         if NetworkManager restarts before the 30 seconds
20315                         are up.
20316                 - (nmi_dbus_service_init): 
20317                         - call gtk_main_quit if NetworkManager is not running
20318                         - add filters to monitor dbus service creations and
20319                                 deletions
20320         
20321 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20322
20323         * panel-applet/NMWirelessApplet.c
20324                 - (nmwa_update_state): Hide notification icon if we are only
20325                         showing one wired card and no wireless interfaces 
20326                         (Red Hat Bug #134895)
20327
20328         * panel-applet/NMWirelessAppletDbus.c
20329                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
20330
20331         * info-daemon/NWManagerInfo.c
20332                 - (main): Terminated the notification_icon_cmd array with a NULL
20333
20334 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
20335
20336         * configure.in (ALL_LINGUAS): Added de (German).
20337
20338 2004-10-08 Dan Williams <dcbw@redaht.com>
20339
20340         * src/NetworkManagerDevice.c
20341                 - Be a bit more robust about link checking, ie make sure that
20342                         the WEP key we were given actually has some data in it
20343
20344 2004-10-08 Dan Williams <dcbw@redhat.com>
20345
20346         * info-daemon/NetworkManagerInfo.c (main):
20347                 - Initialize GError object to NULL
20348
20349 2004-10-08 Dan Williams <dcbw@redhat.com>
20350
20351         * panel-applet/NMWirelessAppletDbus.c
20352                 - Die if NetworkManagerInfo dies, since it manages our lifetime
20353
20354 2004-10-08 Dan Williams <dcbw@redhat.com>
20355
20356         * info-daemon/NetworkManagerInfo.[ch]
20357           info-dameon/NetworkManagerInfoDbus.[ch]
20358           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
20359                 - Preserve original label text in the passphrase dialog so that
20360                         it actually gets updated with the new network name the next
20361                         time around.  Previously, we were overwriting it so you'd get
20362                         the wrong network name to enter a key for
20363                 - Add a "Key Type" combo to the passphrase dialog, user selects
20364                         encryption key type now, type is stored in GConf too
20365                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
20366
20367         * src/NetworkManagerAP.[ch]
20368                 - Remove all the encyption method magic.  It's now set by the user
20369                         and NetworkManager retrieves the type of encryption key from
20370                         NetworkManagerInfo
20371
20372         * src/NetworkManagerAPList.[ch]
20373           src/NetworkManagerDbus.[ch]
20374                 - Adjust to new way of setting encryption key and method
20375                 - Pull encryption method down from NMI along with key
20376
20377         * src/NetworkManagerDevice.[ch]
20378                 - Removed encryption method fallback magic as the method is now
20379                         determined by the user.  This greatly simplifies the connection
20380                         logic.
20381                 - More robust connection/link logic.  Besides removing the encryption
20382                         method fallback magic, check whether or not the card is receiving
20383                         invalidly encrypted packets, which usually indicates that we have
20384                         a bad WEP key set.
20385                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
20386
20387         * test/nminfotest.c
20388                 - Test out new "Key Type" stuff in the NMI passphrase dialog
20389
20390 2004-10-07 Dan Williams <dcbw@redhat.com>
20391
20392         * info-daemon/NetworkManagerInfo.conf
20393                 - Allow root user to run NMI too
20394
20395 2004-10-06 Dan Williams <dcbw@redhat.com>
20396
20397         * src/NetworkManagerDevice.[ch]
20398           src/NetworkManagerDbus.c
20399           doc/NetworkManager DBUS API.txt
20400                 - Add a new status tag "scanning", which is set when there
20401                         is no active network connection, but NetworkManager is
20402                         looking for an access point to associate with
20403
20404         * panel-applet/main.c
20405                 - Cast the applet appropriately for gtk_widget_show_all ()
20406
20407 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
20408
20409         * panel-applet/eggtrayicon.[ch]:
20410         * panel-applet/main.c: Add missing file
20411
20412 2004-10-04 Dan Williams <dcbw@redhat.com>
20413
20414         * src/NetworkManagerDevice.[ch]
20415                 - Add a slightly more robust method of determining if the WEP key
20416                         is correct or not, by checking the WEP-discarded packet count
20417                         on the card
20418
20419         * info-daemon/NetworkManagerInfo.c
20420                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
20421                         un-escape values we pull out rather than escaping them
20422
20423 2004-10-03  Marcel Telka  <marcel@telka.sk>
20424
20425         * configure.in (ALL_LINGUAS): Added sk.
20426
20427 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
20428
20429         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
20430         and feel.  We should be back to working, and have a good, clean
20431         look.
20432
20433 2004-09-30 Dan Williams <dcbw@redhat.com>
20434
20435         * info-daemon/NetworkManagerInfo.c
20436           info-daemon/NetworkManagerInfoDbus.c
20437           test/nminfotest.c
20438                 - Escape ESSIDs in gconf
20439
20440         * src/NetworkManagerDevice.c
20441                 - Fix pseudo-scanning to use netowrk list from info daemon
20442
20443 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
20444
20445         * configure.in: Add a temporary --enable-notification-icon.  This
20446         will prolly go away.
20447
20448         * info-daemon/Makefile.am:
20449         * info-daemon/NetworkManagerInfo.c:
20450         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
20451
20452         * panel-applet/Makefile.am:
20453         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
20454         * panel-applet/NMWirelessApplet.h:
20455
20456 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
20457
20458         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
20459         before 'select custom ESSID'.
20460
20461         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
20462         fully complete, but syncing in prep for merge.
20463
20464         * panel-applet/icons/*png: New images
20465
20466 2004-09-28 Dan Williams <dcbw@redhat.com>
20467
20468         * src/NetworkManager.c
20469           src/NetworkManagerDevice.c
20470           src/NetworkManagerPolicy.c
20471                 - Don't blow away an active wired connection on startup
20472
20473 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
20474
20475         Changes from J5
20476         
20477         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
20478
20479         * info-daemon/NetworkManagerInfoDbus.c: added service name to
20480         syslog output
20481
20482 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
20483
20484         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
20485         have a wireless card.
20486
20487 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
20488
20489         * panel-applet/NMWirelessApplet.c: move the custom essid item.
20490         Also, get the right device strings.
20491
20492 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
20493
20494         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
20495         the logic to make this right.
20496
20497         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
20498         devices so that wired networks are always first.
20499
20500 2004-09-22    <clarkbw@cvs.gnome.org>
20501
20502         * initscript/Debian/.cvsignore:
20503         * initscript/Slackware/.cvsignore:
20504         Added new cvsignores for Makefile, Makefile.in
20505         
20506         * test/.cvsignore:
20507         Added nmtestdevices
20508         
20509         * src/NetworkManagerDevice.c: 
20510         * src/NetworkManager.c: 
20511         Updated the wireless/wired HAL device strings from net.ethernet to
20512         net.80203 or net.80211 depending on wired or wireless respectively
20513         
20514         * examples/python/NetworkManager.py: 
20515         s/Quality/Strength/
20516
20517         * examples/python/systray/network_tray.py:
20518         Lots of little changes and fixes.  been rotting for a while so I
20519         figured I'd finally sync them all with CVS
20520
20521 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
20522
20523         * configure.in: Add graphics
20524
20525         * panel-applet/Makefile.am: Add graphics
20526
20527         * panel-applet/icons/*: Add graphics
20528
20529         * panel-applet/NMWirelessApplet.c: Use new menu times to display
20530         the icons fully lined up.
20531
20532         * panel-applet/menu-info.c: 
20533         * panel-applet/menu-info.h: Add another menu type.
20534
20535 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
20536
20537         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
20538
20539         * panel-applet/menu-item.[ch]: Wireless menu item.
20540
20541 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
20542
20543         * info-daemon/NetworkManagerInfo.conf
20544                 - Created a more robust security policy for the DBus service
20545                         - everything is denied by default
20546                         - root can own and send to the service
20547                         - users logged in at the console can send to the service
20548
20549 2004-09-13  Dan Williams <dcbw@redhat.com>
20550
20551         * src/NetworkManagerDevice.c
20552                 - (nm_device_get_essid): use iw_get_basic_config() rather than
20553                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
20554                         the latter
20555
20556 2004-09-13  Dan Williams <dcbw@redhat.com>
20557
20558         * TODO: fix typo
20559
20560         * docs/NetworkManager DBUS API.txt
20561                 - Update for new signal strength changes
20562
20563         * panel-applet/NMWirelessApplet.c
20564                 - Make panel icon show strength of the current connection
20565                 - Cleanups and memleak fixes
20566
20567         * panel-applet/NMWirelessApplet.h
20568                 - Add data members for signal strength on devices and networks
20569
20570         * panel-applet/NMWirelessAppletDbus.c
20571                 - Free more DBusErrors
20572                 - Update for new signal strength changes
20573                 - Make devices and networks more like real objects, use ref/unref methods
20574                 - Actually unlock the mutex when updating the active device
20575
20576         * src/NetworkManagerAP.c
20577                 - Change AP functions and data members from "quality"->"strength"
20578
20579         * src/NetworkManagerDbus.c
20580                 - Kill "getMaxQuality" and "getQuality" methods
20581                 - Add "getStrength" methods for Networks and Devices
20582
20583         * src/NetworkManagerDevice.[ch]
20584                 - Add accessors for device strength
20585                 - Add functions to update strength for a device.  Note that not all drivers
20586                         actually support signal strength for scanned access points (Atmel drivers
20587                         being one)
20588                 - Calculate signal strength for each AP during scan
20589
20590         * src/NetworkManagerWireless.[ch]
20591                 - Add function to return signal strength % from a device and a raw quality struct
20592
20593         * test/nmclienttest.c
20594                 - Update for new signal strength changes
20595
20596 2004-09-11  Dan Williams <dcbw@redhat.com>
20597
20598         * src/NetworkManager.c
20599                 - Fix race condition between initscripts and NM on card insertion
20600                         which could cause a card to keep an IP address and routes around
20601                         even when it was not the active device
20602
20603         * src/NetworkManagerDbus.c
20604                 - Fix compile errors, free more DBusErrors
20605
20606 2004-09-11  Dan Williams <dcbw@redhat.com>
20607
20608         * docs/NetworkManager DBUS API.txt
20609                 - Add an explanation of NM's API
20610
20611         * src/NetworkManagerDbus.c
20612                 - Free some more DBusErrors if needed
20613
20614 2004-09-11  Dan Williams <dcbw@redhat.com>
20615
20616         * panel-applet/NMWirelessApplet.c
20617           panel-applet/NMWirelessAppletDbus.c
20618                 - Start using NetworkDevice/WirelessNetwork structures in more places
20619                 - Update for unified device/network forcing in NetworkManager
20620
20621         * src/NetworkManager.c
20622                 - some code consolidation
20623
20624         * src/NetworkManagerDbus.c
20625                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
20626                         or two arguments:  the first is the NM ID of the device to switch to,
20627                         and the second (optional) argument is the ESSID of a wireless network
20628                         to use as well.
20629                 - Get rid of "setNetwork" method due to above change
20630
20631         * src/NetworkManagerDevice.c
20632                 - (nm_device_new): perform scan and update best AP on device creation
20633                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
20634                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
20635                         spin waiting for cancellation to finish before returning
20636
20637         * src/NetworkManagerPolicy.c
20638                 - Changes here clarify the situations in which a device switch occurs, and 
20639                         make sure to keep using a forced device and network if the user gives
20640                         us one
20641                 - Remove old unused code
20642
20643 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
20644
20645         * configure.in: Added Danish (da) to ALL_LINGUAS.
20646
20647 2004-09-09  Dan Williams <dcbw@redhat.com>
20648
20649         * panel-applet/NMWirelessAppletDbus.c
20650                 - Pull fresh devices and networks from NM when wireless networks
20651                         change.  Provides faster feedback of a forced wireless network
20652
20653         * src/NetworkManagerDbus.c
20654                 - Return error when "getMaxQuality" is called on a wired device
20655                 - Make best_ap freezing actually work again, and signal cancellation
20656                         of activation if there's already a device activation when the user
20657                         freezes the best_ap
20658
20659         * src/NetworkManagerDevice.c
20660                 - Don't clear out the best_ap for wireless devices when the link goes
20661                         down, that's done elsewhere
20662                 - Kill any dhcp daemons when cancelling device activation since they
20663                         may be stuck waiting for a DHCP address, and since we're cancelling
20664                         activation we don't care about that anymore
20665
20666         * src/NetworkManagerPolicy.c
20667                 - Make sure to unref the device we ref earlier (we refed it to make sure
20668                         it stuck around during device activation and such)
20669                 - If we were going to change the best device, but its activating currently
20670                         (and therefore the change didn't occur due to the check earlier)
20671                         we mark the state changed to we come back to it later when device
20672                         activation has canceled and its no longer activating
20673
20674         * src/backends/NetworkManagerRedHat.c
20675                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
20676
20677 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
20678
20679         * info-daemon/passphrase.glade: 
20680         set passphrase input to activates_default : True
20681
20682         * examples/python/systray/network_tray.py
20683         (network_tray.sort_networks):
20684
20685         Added support for having wireless always scanning
20686
20687 2004-09-09  Dan Williams <dcbw@redhat.com>
20688
20689         NOTE: this commit changes the behavior of wireless devices in
20690         NetworkManager.  They are now up all the time, scanning all
20691         the time.  Only the active device has an IP address and routing
20692         information set up however.  Also, NetworkManager will no longer
20693         opportunistically switch wireless networks when a better one
20694         comes in range, it will remain associated with one wireless network
20695         until that one drops out.
20696
20697         * panel-applet/NMWirelessApplet.c
20698           panel-applet/NMWirelessAppletDbus.c
20699                 - List all wireless cards and their respective networks
20700
20701         * src/NMLoadModules
20702                 - Use full path to /sbin/ip
20703
20704         * src/NetworkManager.c
20705                 - Keep wireless devices up all the time so they can scan
20706
20707         * src/NetworkManagerDbus.c
20708                 - On a WirelessNetworkUpdate signal from NMI, don't update
20709                         the "best" AP
20710
20711         * src/NetworkManagerDevice.c
20712                 - (nm_device_set_link_active): clear out the best ap for
20713                         wireless devices when the link is set to FALSE
20714                 - Scan on all wireless cards, all the time
20715                 - (nm_device_activation_worker): split out the wireless card
20716                         link-waiting code to a separate function
20717                 - Keep wireless cards up even if device activation fails
20718                 - Don't update the "best" ap as much
20719
20720         * src/NetworkManagerPolicy.c
20721                 - Don't update the best ap when checking if its frozen,
20722                         let link checking clear out a frozen best ap for us
20723
20724         * src/NetworkManagerWireless.c
20725                 - Scan on all wireless cards, all the time
20726
20727 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
20728
20729         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
20730
20731 2004-09-09  Ankit Patel <ankit@redhat.com>
20732
20733         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
20734
20735 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
20736
20737         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
20738
20739 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
20740
20741         * examples/python/NetworkManager.py: 
20742         added CONNECTED, CONNECTING, and DISCONNECTED states
20743         added methods to return number of devices of a single type
20744
20745         * examples/python/systray/network_tray.py: 
20746         did some tweaks to get the menu looking near what it is supposed
20747         to look like.  Also did a Airo card hack to make it show the
20748         correct AP quality
20749
20750 2004-09-08  Dan Williams <dcbw@redhat.com>
20751
20752         * panel-applet/no-networkmanager.png
20753           panel-applet/Makefile.am
20754           panel-applet/NMWirelessApplet.c
20755                 - Add a "NetworkManager not running" icon and use it
20756                 - Use new consolidated GConf keys rather than Preferred/Trusted
20757
20758         * TODO: update
20759
20760         * info-daemon/NetworkManagerInfo.c
20761           info-daemon/NetworkManagerInfoDbus.[ch]
20762           info-daemon/NetworkManagerInfoPassphraseDialog.c
20763                 - There are now no longer two separate lists of wireless networks,
20764                         but one list where each network is "trusted" or not trusted
20765                 - Add a "getNetworkTrusted" dbus method
20766                 - "WirelessNetworkUpdate" signal now sent rather than
20767                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
20768                 - Start freeing some dbus errors (not completed yet)
20769
20770         * info-daemon/passphrase.glade
20771                 - Remove the "don't show" hints for pager and taskbar
20772                 - Add a title since its going to be in the taskbar
20773
20774         * src/NetworkManager.[ch]
20775           src/NetworkManagerAPList.[ch]
20776                 - There are now no longer two separate lists of wireless networks,
20777                         but one list where each network is "trusted" or not trusted
20778
20779         * src/NetworkManagerAP.[ch]
20780                 - Add get/set "trusted" accessors and data bit
20781
20782         * src/NetworkManagerDbus.[ch]
20783                 - Add function to get "trusted" status of a network from NetworkManagerInfo
20784                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
20785
20786         * src/NetworkManagerDevice.[ch]
20787                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
20788                 - (nm_device_new): Get device config from backend when initializing devices
20789                 - (nm_device_activation_worker): Split out device configuration on
20790                         activation to deal with static/dynamic IP differences, and try encryption
20791                         fallbacks on a device if the encryption method for the best AP is not good
20792                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
20793                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
20794
20795         * src/NetworkManagerWireless.c
20796                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
20797
20798         * src/backends/NetworkManagerRedHat.c
20799           src/backends/NetworkManagerSystem.h
20800                 - (nm_system_device_update_config_info): Add function to get device configuration
20801                         from system data in ifcfg-* files
20802
20803         * src/backends/NetworkManagerDebian.c
20804           src/backends/NetworkManagerGentoo.c
20805           src/backends/NetworkManagerSlackware.c
20806                 - Add stub functions for getting device configuration
20807
20808 2004-09-07  Dan Williams <dcbw@redhat.com>
20809
20810         * src/backends/NetworkManagerRedhat.c
20811           src/backends/NetworkManagerSlackware.c
20812                 - Use full path to /sbin/ip everywhere
20813
20814 2004-09-07  Dan Williams <dcbw@redhat.com>
20815
20816         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20817
20818         * configure.in
20819           initscript/Makefile.am
20820           initscript/Slackware/Makfile.am
20821           initscript/Slackware/rc.networkmanager
20822           src/Makefile.am
20823           src/backends/NetworkManagerSlackware.c
20824                 - Add Slackware support
20825
20826 2004-09-07  Dan Williams <dcbw@redhat.com>
20827
20828         Patches below from:
20829                 <j@bootlab.org>
20830                 Mark Roach <mrroach@okmaybe.com>
20831                 Thom May <thom@debian.org>
20832
20833         * configure.in
20834           initscript/Debian/NetworkManager
20835           initscript/Debian/Makefile.am
20836                 - Initscript for Debian
20837
20838         * src/backends/NetworkManagerDebian.c
20839                 - Add missing system init function to allow compilation
20840                         on Debian
20841
20842 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20843
20844         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20845
20846 2004-09-03  Akagic Amila <bono@linux.org.ba>
20847
20848         * configure.in: Added 'bs' to ALL_LINGUAS.
20849
20850 2004-09-02  Colin Walters  <walters@verbum.org>
20851
20852         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20853         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20854         g_strdup_printf instead of arbitrarily sized buffers.
20855
20856 2004-09-01  Colin Walters  <walters@verbum.org>
20857
20858         * NetworkManager.pc.in: New file.
20859
20860         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20861
20862 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20863         
20864         * configure.in: Punjabi(pa) is added to po/.
20865
20866 2004-08-31  Dan Williams <dcbw@redhat.com>
20867
20868         * Remove 'debug' extern global from all files since we now
20869                 use syslog()
20870
20871         * src/NetworkManager.[ch]
20872                 - Break out routine that get the net.interface property from HAL,
20873                         removing that logic from nm_create_device_and_add_to_list()
20874                 - (nm_create_device_and_add_to_list): make this a bit more general so
20875                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20876                         the create of test devices.
20877                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20878                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20879                         which makes NetworkManager listen for dbus commands to create test
20880                         devices, which have no backing hardware.  Use when you're on a plane
20881                         for example, and/or forgot your wireless card at home.  Test devices
20882                         _cannot_ be created unless NM is started with --enable-test-devices.
20883
20884         * src/NetworkManagerDbus.[ch]
20885                 - New "getLinkActive" method for devices
20886                 - New "setLinkActive" method for devices (only works on test devices)
20887                 - New "createTestDevice" method on NetworkManager object to create a test
20888                         device of a specified type (ie wired, wireless).  UDI is created from
20889                         scratch, as is the interface name.  Only works when NM is started with
20890                         --enable-test-devices switch.
20891                 - New "removeTestDevice" method on NetworkManager object which removes a
20892                         test device.  Only works when NM is started with --enable-test-devices
20893
20894         * src/NetworkManagerDevice.[ch]
20895                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20896                         whether a device is a test device or not, and what its link status is.
20897                 - Deal with test devices in most functions.  For those that work directly on hardware
20898                         special-case test devices.
20899                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20900                         command-line.
20901                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20902                         checking to separate functions to facilitate test device link checking.
20903                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20904                         don't make a distinction between System Authentication and Encryption
20905                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20906                         on the card.  We don't deal with Shared Key auth yet.
20907                 - (nm_device_activation_worker): split the activation cancel check logic out into
20908                         a separate routine nm_device_activation_cancel_if_needed()
20909                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20910                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20911                         a list of fake access points that they can "see"
20912                 - (nm_device_is_test_device): return whether or not a device is a test device
20913
20914         * src/NetworkManagerPolicy.c
20915                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20916                         previously if you "locked"/forced NM to use a wireless device but then
20917                         selected a wireless network for NM to use, it would switch to a wired device.
20918                         So, if the active device is wireless and it has a "forced" best AP, use it
20919                         if the "forced" best AP is still valid
20920                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20921                         there were no usable network devices, or the last one was removed
20922
20923         * src/backends/NetworkManager*.c
20924                 - Deal with test devices, mostly just return success for operations like getting
20925                         a DHCP address
20926
20927         * test/nmtestdevices.c
20928                 - Test tool to create/remove/link-switch test devices
20929
20930 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20931
20932         * examples/python/NetworkManager.py: 
20933         added convience functions has_wired_device and has_wireless_device
20934
20935         * examples/python/systray/network_tray.py: 
20936         cleaned up a bunch of cruft, added support for listing wireless
20937         networks just like the real applet.  This is probably all I'm
20938         going to work on this applet from now on.
20939         TODO: add support for actually changing networks and devices
20940
20941         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20942         changed "nm.networks" into a dict from a list so I can store all
20943         the cool information about networks in there
20944
20945         * examples/python/systray/network_tray.py: 
20946         Added nice message when you try to run without running make first
20947
20948         * examples/python/NetworkManager.py: 
20949         Bug fixes to the code so we get all the device information
20950         that we need in get_device()
20951         
20952         * examples/python/NMTester.py: 
20953         Fixed _print_device_list to print_device_list
20954
20955 2004-08-29  Seth Nickell  <seth@gnome.org>
20956
20957         * configure.in:
20958
20959         Actually properly setup the Debian backend in configure.
20960         
20961 2004-08-29  Colin Walters  <walters@verbum.org>
20962
20963         * test/nminfotest.c: Include string.h and stdlib.h.
20964         (get_network_string_property, get_networks_of_type): Return NULL.
20965
20966         * test/nmclienttest.c (get_device_name, get_active_device): Return
20967         NULL.
20968
20969         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20970         use strlen, fgets always NULL-terminates the string.
20971
20972         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20973         dbus_message_get_member): Remove /* in comment.
20974
20975         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20976
20977         * src/NetworkManager.c (quit): Unused, delete.
20978         (nm_data_free): Cast arg to GFunc.
20979
20980         * panel-applet/NMWirelessAppletDbus.c: Need to include
20981         string.h, and dbus-glib-lowlevel.h (the latter is needed
20982         for dbus_connection_setup_with_g_main at present).
20983         (nmwa_dbus_update_wireless_network_list): Parenthesize
20984         assignment in conditional.
20985         (nmwa_dbus_worker): Return NULL.
20986
20987         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20988         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20989         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20990         (nmwa_populate_menu): Return NULL on failure, instead of just
20991         return;
20992
20993         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20994
20995         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20996         variables.
20997
20998         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20999         delete.
21000         
21001 2004-08-29  Colin Walters  <walters@verbum.org>
21002
21003         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
21004         a GTimeVal instead of time_t.  This is easier to work with,
21005         since time_t may be a long or double, we don't know.
21006
21007         * src/NetworkManagerDbus.h: Update prototype.
21008         
21009         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
21010         instead of time_t.
21011         (nm_ap_get_timestamp): Update to return GTimeVal.
21012         (nm_ap_set_timestamp): Update to take GTimeVal.
21013         
21014         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
21015         to handle GTimeVal.
21016
21017         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
21018         GTimeVal change.
21019         (nm_ap_list_print_members): Fix warnings in printf format.
21020
21021 2004-08-29  Colin Walters  <walters@verbum.org>
21022         
21023         * panel-applet/NMWirelessApplet.c: Include config.h.
21024
21025 2004-08-29  Colin Walters  <walters@verbum.org>
21026
21027         * configure.in: Generate config.h.
21028
21029         * configure.in: Dump dependency on OpenSSL; we can't
21030         use it since this package is GPL:
21031         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
21032         Instead, check for libgcrypt, use it if available,
21033         otherwise use included MD5 code.
21034
21035         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
21036         Suck in from gnome-keyring, munge a bit.
21037         
21038         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
21039         gnome-keyring-md5.h gnome-keyring-md5.c.
21040         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
21041
21042         * src/NetworkManagerWireless.c (nm_md5): New function, uses
21043         libgcrypt or included gnome-keyring md5 bits.
21044         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
21045
21046 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
21047
21048         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
21049
21050 2004-08-27  Bryan Clark  <bclark@redhat.com>
21051
21052         * examples/python/systray/Makefile: 
21053
21054         Updated the clean section
21055         
21056         * examples/python/systray/trayiconmodule.c: 
21057         * examples/python/systray/trayicon.override: 
21058         * examples/python/systray/network_tray.py: 
21059         * examples/python/systray/eggtrayicon.h: 
21060         * examples/python/systray/eggtrayicon.c: 
21061         * examples/python/systray/Makefile: 
21062         * examples/python/README: 
21063         * examples/python/NetworkManager.py: 
21064         * examples/python/NMTester.py: 
21065
21066         Initial commit of these python example files
21067
21068 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
21069
21070         * panel-applet/NMWirelessApplet.c
21071                 - Make current device bold
21072                 - Show more user-friendly device name if we got one from hal
21073
21074         * panel-applet/NMWirelessAppletDbus.c
21075                 - Grab "info.product" key from hal for network devices
21076                 - Cache the current active device
21077
21078 2004-08-27  Adam Weinberger  <adamw@gnome.org>
21079
21080         * configure.in: Added en_CA to ALL_LINGUAS.
21081
21082 2004-08-27  Christian Rose  <menthos@menthos.com>
21083
21084         * configure.in: Added "sv" to ALL_LINGUAS.
21085
21086 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
21087
21088         * Tag NetworkManager-0.2
21089
21090 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
21091
21092         * initscripts/Makefile.am
21093         * configure.in: Make pass distcheck
21094
21095         * po/ChangeLog: added
21096
21097 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
21098
21099         * panel-applet/NMWirelessApplet.c
21100                 - Remove debugging code
21101                 - Enable device switching from menus
21102
21103         * panel-applet/NMWirelessAppletDbus.[ch]
21104                 - Method for asking NM to switch devices
21105
21106         * src/NetworkManagerDevice.c
21107                 - Set dev->activating earlier, avoids race between
21108                         the dbus signal of "DeviceActivating" and setting
21109                         dev->activating (which is what NM's "status" method call
21110                         looks at)
21111
21112 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
21113
21114         * panel-applet/NMWirelessApplet.[ch]
21115                 - Rework menu code to add devices to menu, and to show
21116                         signal strength for each access point.  Code cleanups
21117                         too.
21118
21119         * panel-applet/NMWirelessAppletDbus.c
21120                 - Grab network devices from NetworkManager too
21121                 - Grab quality information from NM for wireless networks
21122
21123         * src/NetworkManagerDbus.[ch]
21124                 - Add dbus methods for getting the HAL UDI from a device and
21125                         for getting its base quality, if its wireless
21126                 - Consolidate some functions (wireless network notifications,
21127                         device notifications)
21128                 - Add method for requesting NM to use a particular device
21129
21130         * src/NetworkManager.c
21131                 - Change for function consolidations from NetworkManagerDbus.c
21132                 - Implement active device locking and user-requested devices
21133                         (ie, tell NM to use a particular device instead of the one
21134                         it autochose)
21135
21136         * src/NetworkManagerDevice.c
21137                 - Add method for getting the base quality of a device, if its
21138                         wireless
21139                 - Grab device base quailty info from iwlib during scans
21140
21141         * src/NetworkManagerPolicy.c
21142                 - Use a user-requested device rather than the auto-chosen device
21143                         if we are told to
21144
21145 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
21146
21147         * Makefile.am: add po as a supdir
21148
21149         * autogen.sh: use gnome-autogen.sh
21150
21151         * initscript/Gentoo/.cvsignore:
21152         * initscript/RedHat/.cvsignore: Shut up cvs
21153
21154         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
21155
21156         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
21157         (nmwa_fill): Use gettext.
21158
21159         * configure.in: add gettext support
21160         * po/.cvsignore:
21161         * po/NetworkManager.pot:
21162         * po/POTFILES.in:
21163
21164 2004-08-26  Seth Nickell  <seth@gnome.org>
21165
21166         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
21167         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
21168         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
21169         (nmwa_dispose_menu_items), (nmwa_populate_menu),
21170         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
21171         * panel-applet/NMWirelessApplet.h:
21172
21173         Use a menu bar instead of a button for the main clickable
21174         thingy.
21175         
21176 2004-08-25  Dan Williams <dcbw@redhat.com>
21177
21178         * src/NetworkManagerDevice.c
21179                 - (nm_device_set_enc_key): always set device to "open" mode instead of
21180                         turning encryption off, because the Cisco driver doesn't associate
21181                         with WEP-enabled access points unless we are in "open"
21182
21183 2004-08-25  Dan Williams <dcbw@redhat.com>
21184
21185         * src/NetworkManagerWireless.c
21186                 - Don't try to defererence blank passphrases
21187
21188 2004-08-25  Dan Williams <dcbw@redhat.com>
21189
21190         * panel-applet/NMWirelessApplet.c
21191                 - Rebuild the menu whenever a user clicks
21192
21193 2004-08-25  Dan Williams <dcbw@redhat.com>
21194
21195         * panel-applet/NMWirelessApplet.c
21196                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
21197                         when NM isn't around or when its not connected
21198
21199         * src/NetworkManagerDevice.c
21200                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
21201                         canceled.
21202
21203 2004-08-25  Dan Williams <dcbw@redhat.com>
21204
21205         * panel-applet/NMWirelessAppletDbus.c
21206                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
21207                         for getting encryption, and don't stop on "val" once we've gotten it
21208                         from NetworkManager.  Short form:  encryption should now show up.
21209
21210 2004-08-25  Dan Williams <dcbw@redhat.com>
21211
21212         * panel-applet/NMWirelessApplet.c
21213                 - Set ESSID on a gconf trusted network too when force-setting the wireless
21214                         network to associate with
21215
21216 2004-08-25  Dan Williams <dcbw@redhat.com>
21217
21218         * panel-applet/*
21219                 - Rework the panel applet to do all DBUS communication in a separate
21220                         thread
21221
21222 2004-08-25  Dan Williams <dcbw@redhat.com>
21223
21224         * info-daemon/NetworkManagerInfo.[ch]
21225                 - Remove "get_next_priority" function
21226
21227         * info-daemon/NetworkManagerInfoDbus.[ch]
21228                 - Convert "priority" functions to "timestamp"
21229
21230 2004-08-25  Dan Williams <dcbw@redhat.com>
21231
21232         * src/NetworkManagerAP.[ch]
21233                 - Add a "enc_method_good" member and accessors to an Access Point
21234                         to signal when we've found the correct encryption method
21235                         for an access point
21236                 - Add a "timestamp" member and accessors, remove "priority" member
21237                         and accessors (use timestamps instead)
21238                 - Rename "wep_key"->"enc_key"
21239                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
21240                         for a specified encryption method using the access points
21241                         source encryption key/passphrase
21242
21243         * src/NetworkManagerAPList.c
21244                 - When updating a network with dbus, grab timestamp now instead of
21245                         priority
21246
21247         * src/NetworkManagerDBus.[ch]
21248                 - Add signal for "DeviceActivating"
21249                 - Switch priority->timestamp
21250
21251         * src/NetworkManagerDevice.c
21252                 - Change references of "wep_key" -> "enc_key" or "key"
21253                 - Signal DeviceActivating when starting activation
21254                 - When activating a wireless device, if the access point we are connecting
21255                         to is encrypted, and we have a source key, try to generate a mangled
21256                         key and use that (ie, generate real WEP key from a passphrase)
21257                 - Rework device activation to fallback to other encryption methods if
21258                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
21259                         first, then if that doesn't work fall back to direct hex key).
21260                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
21261                         priority.  We now prefer the latest access point used, rather than using
21262                         a priority scheme
21263                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
21264                         points we've just discovered, and merge in correct info from the global
21265                         access point lists
21266
21267 2004-08-25  Seth Nickell  <seth@gnome.org>
21268
21269         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
21270         Debian support.
21271         
21272         * src/Makefile.am:
21273         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
21274         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
21275         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
21276         (nm_system_delete_default_route),
21277         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
21278         (nm_system_load_device_modules):
21279
21280 2004-08-24  Dan Willemsen <dan@willemsen.us>
21281
21282         * src/NetworkManager.c
21283           src/backends/NetworkManagerGentoo.c
21284           src/backends/NetworkManagerRedHat.c
21285           src/backends/NetworkManagerSystem.h
21286                 - Implement preliminary Gentoo support, adding a
21287                         nm_system_init function to the backend specification
21288
21289         * configure.in
21290                 - Distribution auto-detection, lowercase any user-fed
21291                         distribution names
21292
21293         * initscript/.cvsignore
21294           initscript/Makefile.am
21295           initscript/RedHat/Makefile.am
21296           initscript/RedHat/NetworkManager
21297           initscript/Gentoo/Makefile.am
21298           initscript/Gentoo/NetworkManager
21299                 - Refactored initscript code separately for each
21300                         distribution
21301
21302 2004-08-23  Dan Williams <dcbw@redhat.com>
21303
21304         * configure.in
21305           src/Makefile.am
21306           src/NetworkManagerDevice.c
21307           src/NetworkManager.c
21308           src/NetworkManagerUtils.[ch]
21309           src/backends/NetworkManagerSystem.h
21310           src/backends/NetworkManagerRedHat.c
21311           src/backends/NetworkManagerGentoo.c
21312                 - Refactor system-specific code into separate backends for
21313                         each distribution
21314
21315 2004-08-23  Dan Willemsen <dan@willemsen.us>
21316
21317         * dispatcher-daemon/NetworkManagerDispatcher.c
21318           info-daemon/NetworkManagerInfo.[ch]
21319           info-daemon/NetworkManagerInfoDbus.c
21320           info-daemon/NetworkManagerInfoPassphraseDialog.c
21321           src/NetworkManager.c
21322           src/NetworkManagerAP.c
21323           src/NetworkManagerAPList.c
21324           src/NetworkManagerDbus.c
21325           src/NetworkManagerDevice.c
21326           src/NetworkManagerPolicy.c
21327           src/NetworkManagerUtils.[ch]
21328           src/NetworkManagerWireless.c
21329                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
21330
21331         * src/NetworkManager.c
21332                 - Fixed usage wording for --no-daemon
21333
21334 2004-08-23  Dan Williams <dcbw@redhat.com>
21335
21336         * panel-applet/NMWirelessApplet.c
21337                 - Update our state every second to get more responsive panel icon
21338                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
21339                         was causing our marching ants status blips to never move when
21340                         looking for a wireless network
21341
21342         * src/NetworkManagerDevice.c
21343                 - (nm_device_activation_begin): return if activation has already begun
21344                 - (nm_device_do_normal_scan): merge WEP key and priority from the
21345                         trusted/preferred network into the device's access point when the
21346                         scan list is processed
21347
21348 2004-08-23  Dan Williams <dcbw@redhat.com>
21349
21350         * initscript/NetworkManager
21351                 - Use NMLaunchHelper rather than sleeping
21352
21353         * initscript/NMLaunchHelper.c
21354           Makefile.am
21355                 - Add helper program that exits only when NM activates a device,
21356                         or 10 seconds have passed, whichever happens first.  This
21357                         stops the boot processes until we have a network connection,
21358                         which NM can't do because it daemonizes and brings the connection
21359                         up in the background.  Allows stuff like NFS to not die.
21360
21361 2004-08-20  Dan Williams <dcbw@redhat.com>
21362
21363         * info-daemon/NetworkManagerInfoPassphraseDialog.c
21364                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
21365                         for a network, set the essid as well since it may not exist yet
21366                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
21367                         since WEP keys/passphrases are long and prone to entry-error
21368
21369         * panel-applet/Makefile.am
21370           panel-applet/wired.png
21371                 - Add (pulled from system-config-network temporarily)
21372
21373         * panel-applet/NMWirelessApplet.[ch]
21374                 - Show wired picture when a wired connection is used
21375                 - Rename wireless icon enums, adding WIRELESS
21376
21377         * src/NetworkManagerDevice.c
21378                 - (nm_device_activate_wireless): unset encryption before bringing
21379                         down the card and setting the essid
21380                 - (nm_device_activatin_worker): request a key from the user if the
21381                         AP we are connecting to is encrypted but we don't have a key
21382                         for it yet
21383                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
21384                         strcmp() that prevented a user-entered key from actually getting
21385                         used
21386
21387 2004-08-16  Dan Williams <dcbw@redhat.com>
21388
21389         * initscript/NetworkManager
21390                 - Check for /sbin/ip
21391                 - Do sysctl magic that network service does
21392                 - sleep 4s after start to allow network time to come up [hack]
21393
21394         * src/Makefile.am
21395           src/NMLoadModules
21396                 - Load all network device kernel modules (hal doesn't know devices
21397                         are ethernet until the module is loaded, and therefore we don't know)
21398
21399         * src/NetworkManager.c
21400                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
21401                         network devices, and bring up the loopback device explicitly
21402
21403         * src/NetworkManagerUtils.[ch]
21404                 - (nm_enable_loopback): new function
21405
21406 2004-08-13  Dan Williams <dcbw@redhat.com>
21407
21408         * configure.in
21409           panel-applet/Makefile.am
21410                 - Fix up cleanfiles and server_DATA/server_in_files
21411
21412         * README
21413                 - Update with some comments on theory of operation
21414
21415         * CONTRIBUTING
21416           Makefile.am
21417                 - Add CONTRIBUTING
21418
21419 2004-08-12  Dan Williams <dcbw@redhat.com>
21420
21421         * info-daemon/passphrase.glade
21422                 - Set window title to " "
21423
21424         * panel-applet/Makefile.am
21425           panel-applet/keyring.png
21426                 - Deliver to correct place
21427
21428         * panel-applet/NMWirelessApplet.[ch]
21429                 - Add comments
21430                 - Remove applet->have_active_device as its no longer used
21431                 - (nmwa_load_theme): load keyring.png too
21432                 - (error_dialog): remove
21433                 - (show_warning_dialog): subsume functionality of error dialog too
21434                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
21435                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
21436                         the networks menu
21437                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
21438                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
21439                         and when we get broadcasts of changed wireless access points only, not when the
21440                         user clicks on the button to display the menu (too long of a wait)
21441                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
21442                         networks that are encrypted
21443                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
21444                         menu item with g_object_set_data()
21445
21446         * panel-applet/NMWirelessAppletDbus.[ch]
21447                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
21448                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
21449                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
21450                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
21451                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
21452                         activation/deactivation signals and rebuild the menu when they happen
21453
21454         * src/NetworkManager.c
21455                 - (main): use new nm_spawn_process() rather than system()
21456
21457         * src/NetworkManagerDbus.c
21458                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
21459                         instead.  Since we can now force best_aps to stick around, the AP structure to which
21460                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
21461                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
21462                         to freeze the best_ap.
21463
21464         * src/NetworkManagerDevice.[ch]
21465                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
21466                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
21467                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
21468                         ap list
21469
21470         * src/NetworkManagerUtils.[ch]
21471                 - (nm_spawn_process): add replacement for system() usage
21472
21473 2004-08-11  Dan Williams <dcbw@redhat.com>
21474
21475         * panel-applet/NMWirelessApplet.[ch]
21476                 - Fix up copyright and credits to include Bastien and Eskil,
21477                         who created the gnome-applets wireless applet, from whose
21478                         skeleton this one was created
21479                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
21480                         pixmap to draw is computed during nmwa_update_state()
21481                 - Applet now shows itself all the time due to panel packing issues
21482                         which caused the applet to previously never come back after hiding.
21483                         When a wired device is the active device, the applet shows "not connected"
21484
21485         * panel-applet/NMWirelessAppletDbus.[ch]
21486                 - Clean up error messages and show what function they are from
21487                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
21488                 - Add new device type getters, and a status getter
21489
21490         * src/NetworkManagerDbus.c
21491                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
21492                         network is actually in the device's ap list
21493                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
21494
21495         * src/NetworkManagerDevice.c
21496                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
21497                         card
21498
21499         * test/nmclienttest.c
21500                 - Report status of NetworkManager too
21501
21502 2004-08-11  Dan Williams <dcbw@redhat.com>
21503
21504         * info-daemon/NetworkManagerInfo.c:
21505                 - (main): clean up Seth's code style
21506
21507         * info-daemon/NetworkManagerInfoDbus.c:
21508                 - Use the more aptly-named path/service/interface constants from NetworkManager
21509                 - Don't return empty strings ("") as object paths ever, instead return errors
21510
21511         * panel-applet/NMWirelessApplet.c:
21512                 - Clean up Seth's code style
21513
21514         * src/NetworkManager.[ch]
21515                 - (nm_remove_device_from_list): remove anything having to do with pending_device
21516                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
21517
21518         * src/NetworkManagerAPList.[ch]
21519                 - Move Iter struct right above the iter functions to preserve opacity
21520                 - (nm_ap_list_remove_ap): implement
21521                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
21522                         remove AP if NetworkManagerInfo doesn't know anything about it
21523                 - (nm_ap_list_diff): user NMAPList iterators
21524                 - (nm_ap_list_print_members): implement debugging function
21525
21526         * src/NetworkManagerDbus.[ch]
21527                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
21528                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
21529                         and move the actual key setting stuff into NetworkManagerDevice.c
21530                 - (nm_dbus_get_network_priority): return -1 now on errors
21531                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
21532                         get lost, and force the active device to update its "best" ap when AP lists change
21533                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
21534                         method call due to pending_device member removal
21535
21536         * src/NetworkManagerDevice.[ch]
21537                 - Move NMDevice structure to the top
21538                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
21539                 - Remove Pending Action stuff from everywhere
21540                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
21541                         activation for us.  This thread blocks until all conditions for activation have
21542                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
21543                         then setup up the interface and runs dhclient.  We have to do this because there
21544                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
21545                         run our main loop and respond to dbus method calls or HAL device removals/inserts
21546                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
21547                         can tell nm_device_activation_worker() that we've got a key
21548                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
21549                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
21550                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
21551                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
21552
21553         * src/NetworkManagerPolicy.c
21554                 - Remove anything to do with pending_device
21555                 - Adjust device activation to deal with activation-in-worker-thread
21556
21557         * src/NetworkManagerUtils.c
21558                 - Clean up locking debugging a bit
21559
21560         * src/NetworkManagerWireless.[ch]
21561                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
21562                         was badly named and is better as a device function
21563
21564         * panel-applet/.cvsignore: add
21565
21566 2004-08-09  Seth Nickell  <seth@gnome.org>
21567
21568         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
21569         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
21570         (nmwa_new):
21571         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
21572
21573         Don't load the menus until clicked on (also removes a call outside
21574         normal code paths at first load).
21575
21576         Hide applet when NM is not present.
21577         
21578         Improve printf debugging stuff.
21579         
21580 2004-08-09  Dan Williams <dcbw@redhat.com>
21581
21582         * dispatcher-daemon/NetworkManagerDispatcher.c:
21583                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
21584                 - Use constants for NetworkManager interface, service, and path
21585
21586 2004-08-09  Dan Williams <dcbw@redhat.com>
21587
21588         * src/NetworkManagerDbus.c:
21589                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
21590                         instead return an error message
21591                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
21592                         on a wired device.  Also never return an empty object path, instead return an error message
21593
21594 2004-08-06  Seth Nickell  <seth@gnome.org>
21595
21596         * panel-applet/NMWirelessApplet.c: (nmwa_new):
21597
21598         Check the error code when getting a connection.
21599         
21600         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
21601
21602         Check if the NM service exists when initializing (rather than
21603         assuming it does not).
21604         
21605         * src/NetworkManagerDbus.c: (nm_dbus_init):
21606
21607         Don't acquire the well-known service name until we have
21608         registered object/path handlers and can actually receive
21609         calls.
21610         
21611 2004-08-06  Dan Williams <dcbw@redhat.com>
21612
21613         * panel-applet/*
21614                 - Add panel applet
21615
21616         * src/NetworkManagerPolicy.c
21617           src/NetworkManager.c
21618                 - Get access point lists from NetworkManagerInfo on-demand,
21619                         and look for ServiceCreate/ServiceDeleted signals to see when
21620                         we should query NMI for lists
21621         * src/NetworkManagerAPList.c
21622                 - Make sure to init the list's mutex
21623                 - Convert traversals of the list over to the list iter functions
21624
21625         * src/NetworkManagerDbus.[ch]
21626                 - Use more aptly-named path/service/interface constants
21627                 - Treat both active and pending devices the same for "getActiveDevice"
21628                 - Add a "status" method returning "connected", "connecting", or "disconnected"
21629
21630         * src/NetworkManagerDevice.c
21631                 - Honor "ignored" network list when picking best ap to use
21632
21633 2004-08-06  Seth Nickell  <seth@gnome.org>
21634
21635         * aclocal.m4:
21636
21637         Autogenerated, remove from CVS.
21638         
21639         * autogen.sh:
21640
21641         Don't hardcode automake version.
21642         
21643         * configure.in:
21644         * info-daemon/Makefile.am:
21645         * info-daemon/NetworkManagerInfo.c: (main):
21646
21647         Use GnomeProgram et al. for doing session management.
21648         Use popt stuff for argument parsing rather than doing
21649         it manugally.
21650         
21651 2004-08-05  Dan Williams <dcbw@redhat.com>
21652
21653         * test/nminfotest.c
21654                 - Update to new NMI dbus API, check different network types
21655
21656         * info-daemon/NetworkManagerInfoDbus.c
21657                 - Update to new NM dbus API, ie network type sent in query message
21658
21659 2004-08-05  Dan Williams <dcbw@redhat.com>
21660
21661         * An assload of changes
21662
21663 2004-08-02  Dan Williams <dcbw@redhat.com>
21664
21665         * TODO
21666                 - new task: proper logging support
21667
21668         * info-daemon/NetworkManagerInfo.c
21669                 - Correct spelling of "canceled"
21670                 - Correct casting of objects for g_signal_connect()
21671
21672         * info-daemon/NetworkManagerInfoDbus.c
21673                 - Add defines for NetworkManager namespace and object path, and use them
21674                 - Add filter function to trap new signals from NetworkManager:
21675                         WirelessNetworkAppeared, WirelessNetworkDisappeared
21676
21677         * info-daemon/passphrase.glade
21678                 - Change name of "ok" button to "Login to Network..."
21679                 - Mark invisible
21680
21681         * src/NetworkManager.c
21682                 - Code and debug message cleanups
21683                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
21684                 - (nm_add_initial_devices) Check returned string array of devices
21685                         and don't try to add devices if array is NULL
21686                 - (main) Initialize libhal a bit later, make code a bit clearer
21687
21688         * src/NetworkManagerAP.[ch]
21689                 - New accessor and data member "matched": used to speed up AP list
21690                         diffing
21691                 - New accessor and data member "enc_method": will be used during key
21692                         fallback to cache which passphrase->key conversion actually works
21693                         so we don't have to do it every time
21694
21695         * src/NetworkManagerAPList.[ch]
21696                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
21697                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
21698                         between them, and send WirelessNetworkAppeared/Disappeared signals over
21699                         dbus in response to those differences
21700
21701         * src/NetworkManagerDbus.[ch]
21702                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
21703                         make an object path for that access point (NOTE that we don't yet check to
21704                         make sure that access point is actually in the device's AP list yet)
21705                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
21706                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
21707                         New: signal appearance/disappearance of wireless networks
21708                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
21709                         key entry
21710
21711         * src/NetworkManagerDevice.[ch]
21712                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
21713                 - (nm_device_ap_list_get) New: return the AP list (static function)
21714                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
21715                         new one resulting from the scan with the old one
21716
21717         * src/NetworkManagerWireless.c
21718                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
21719
21720         * test/nminfotest.c
21721                 - #define object paths and namespaces and use the #defines rather than static strings
21722                 - Test out user-key functionality of NetworkManagerInfo too
21723
21724 2004-07-29  Dan Williams <dcbw@redhat.com>
21725
21726         * info-daemon/NetworkManagerInfoDbus.c
21727           src/NetworkManagerDbus.c
21728                 - Update to current DBus (ie don't use decomposed paths when registering
21729                         object paths/fallbacks)
21730
21731 2004-07-27  Dan Williams <dcbw@redhat.com>
21732
21733         * Remove various Makefile.in files
21734
21735         * TODO
21736                 - Add some more items
21737
21738         * configure.in
21739                 - Add checks for OpenSSL/md5 headers and libs
21740
21741         * src/Makefile.am
21742                 - Use OpenSSL CFLAGS
21743
21744         * src/NetworkManagerAP.[ch]
21745                 - Remove 'stamp' functions, replace with 'invalid' functions
21746                         to support user cancelling WEP key entry
21747
21748         * src/NetworkManagerDbus.c
21749                 - Remove 'stamp' return functions
21750                 - Treat returned user key as a passphrase and convert to a WEP key,
21751                         but don't actually use the WEP key yet.  We use the returned user
21752                         key as a hexadecimal WEP key until we can figure out a UI for
21753                         passphrase-vs-hex key
21754
21755         * src/NetworkManagerWireless.[ch]
21756                 - Add passphrase-to-128bit-key function
21757
21758 2004-07-27  Dan Williams <dcbw@redhat.com>
21759
21760         * TODO
21761                 - Add a couple of items
21762
21763 2004-07-27  Dan Williams <dcbw@redhat.com>
21764
21765         * info-daemon/NetworkManagerInfo.c
21766                 - Update allowed network's GConf key when user enters a WEP key explicitly
21767
21768         * info-daemon/NetworkManagerDbus.c
21769                 - Fix some comments
21770                 - nmi_dbus_get_allowed_networks(): kill warning
21771
21772 2004-07-27  Dan Williams <dcbw@redhat.com>
21773
21774         * initscript/Makefile.in
21775                 - Remove
21776
21777         * initscript/Makefile.am
21778                 - Add correct rules to install the init.d initscript
21779
21780         * info-daemon/NetworkManagerInfoDbus.c
21781                 - Remove debug fprintf
21782
21783         * src/NetworkManagerDbus.[ch]
21784                 - Remove debug fprintfs
21785                 - Add macros for NetworkManagerInfo object path/namespace
21786                 - Use said macros instead of constant strings
21787
21788 2004-07-27  Dan Williams <dcbw@redhat.com>
21789
21790         * initscript/.cvsignore
21791                 - Add
21792
21793         * info-daemon/Makefile.am
21794                 - Install .glade files and keyring.png
21795                 - Fix stupid omission of a \ that caused half the flags not to be
21796                         passed to gcc
21797
21798         * info-daemon/NetworkManagerInfo.c
21799                 - gtk_signal_connect->g_signal_connect
21800                 - Alert NetworkManagerInfo to new glade file location
21801
21802 2004-07-27  Dan Williams <dcbw@redhat.com>
21803
21804         * test/nmclienttest.c
21805           test/nminfotest.c
21806                 - Add missing <dbus/dbus.h> headers
21807                 - Add GPL message at top
21808
21809 2004-07-27  Dan Williams <dcbw@redhat.com>
21810
21811         * src/NetworkManagerAPList.[ch]
21812           src/Makefile.am
21813                 - Add.  Deal with allowed network list additions, deletions, and updates
21814
21815         * dispatcher-daemon/NetworkManagerDispatcher.c
21816                 - Add missing <dbus/dbus.h> header
21817
21818         * info-daemon/NetworkManagerInfo.[ch]
21819                 - Add missing <dbus/dbus.h> header
21820                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21821                         network change
21822                 - Better error checking
21823
21824         * info-daemon/NetworkManagerInfoDbus.[ch]
21825                 - Add missing <dbus/dbus.h> header
21826                 - Convert to using dbus_message_append_args/dbus_message_get_args
21827                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21828                         that an allowed network changed.  We don't want to signal on individual
21829                         keys _inside_ an allowed network really, just want NM to query the info
21830                         daemon for updated info on all keys.
21831                 - Better error checking
21832
21833         * src/NetworkManager.[ch]
21834                 - Add missing <dbus/dbus.h> header
21835                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21836                 - Zero out NMData structure on free
21837                 - No longer use a thread for allowed_ap_list updating, instead its now done
21838                         through dbus queries against NetworkManagerInfo
21839                 - Populate allowed_ap_list initially before adding existing network devices
21840                         to the device list, so wireless devices can get their "best" AP
21841
21842         * src/NetworkManagerDbus.[ch]
21843                 - Convert to using dbus_message_append_args/dbus_message_get_args
21844                 - Better error checking
21845                 - Implement Allowed Network info functions to request allowed network
21846                         info from NetworkManagerInfo
21847                 - Implement the filter function to process signals from NetworkManagerInfo
21848                         about changing allowed networks
21849
21850         * src/NetworkManagerDevice.c
21851                 - Fix file descriptor leak in nm_device_update_ip4_address()
21852
21853 2004-07-27  Dan Williams <dcbw@redhat.com>
21854
21855         * .cvsignore
21856           src/.cvsignore
21857           test/.cvsignore
21858           dispatcher-daemon/.cvsignore
21859           info-daemon/.cvsignore
21860                 - Add .cvsignore files to reduce noise when diffing
21861
21862 2004-07-24  Dan Williams <dcbw@redhat.com>
21863
21864         * src/NetworkManager.[ch]
21865           src/NetworkManagerDbus.[ch]
21866           src/NetworkManagerDevice.[ch]
21867           src/NetworkManagerPolicy.c
21868           src/NetworkManagerWireless.[ch]
21869                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21870                 - Pass the NMData application data structure through all calls
21871                         that need it so we can get rid of nm_get_global_data()
21872                 - Change deallocation of the allowed_ap_list GSList in preparation
21873                         for not completely clearing it every time we get an update,
21874                         but instead getting incremental updates via GConf/dbus
21875
21876 2004-07-22  Dan Williams <dcbw@redhat.com>
21877
21878         * configure.in
21879                 - Add checks for GConf libs & headers & flags
21880
21881         * info-daemon/Makefile.am
21882                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21883
21884         * info-daemon/NetworkManagerInfo.[ch]
21885                 - Don't use gquarks for data storage, just use normal data storage
21886                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21887
21888         * info-daemon/NetworkManagerDbus.[ch]
21889                 - Add method call for getting allowed networks
21890                 - Add method calls for getting an allowed network's essid, priority, and key
21891                 - Hook the method calls up to GConf
21892                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21893                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21894                 
21895         * src/NetworkManagerDbus.[ch]
21896                 - Switch for enumeration of networks to using essid instead
21897
21898         * test/Makefile.am
21899           test/nminfotest.c
21900                 - Add test program for NetworkManagerInfo
21901
21902 2004-07-19  Dan Williams <dcbw@redhat.com>
21903
21904         * src/NetworkManagerDbus.c
21905                 - Switch from indexed device paths to names.  Less code, more efficient.
21906                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21907
21908 2004-07-19  Dan Williams <dcbw@redhat.com>
21909
21910         * dispatcher-daemon/NetworkManagerDispatcher.c
21911                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21912
21913 2004-07-19  Dan Williams <dcbw@redhat.com>
21914
21915         * Makefile.am
21916                 - Add info-daemon directory
21917
21918         * configure.in
21919                 - Check for glade libs and headers
21920                 - Add info-daemon directory
21921
21922         * src/NetworkManagerAP.c
21923                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21924                         copied over to the new AP.
21925
21926         * src/NetworkManagerDbus.c
21927           src/NetworkManagerDbus.h
21928                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21929                 - Remove nm_dbus_signal_need_key_for_network()
21930                 - Add disabled code for asynchronous user wep key callbacks
21931                 - Add functions for getting, setting, and cancelling user key operations
21932                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21933                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21934
21935         * src/NetworkManagerDevice.c
21936           src/NetworkManagerDevice.h
21937                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21938                         logic is in device activation now
21939                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21940                         key is wrong) trigger get-user-key pending action
21941                 - Implement get-user-key pending action stuff, tie to dbus messages
21942                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21943                 - Add nm_device_ap_list_get_ap_by_essid()
21944                 - Instead of copying "best" access points, ref them instead so that the key we set
21945                         sticks around
21946
21947         * src/NetworkManagerPolicy.c
21948                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21949                 - Don't cancel pending actions on a device if its the same device as last iteration
21950                 - Only promote pending_device->active_device if activation was successfull
21951
21952         * src/Makefile.am
21953                 - Rename nmclienttest->nmtest
21954
21955         * info-daemon/Makefile.am
21956           info-daemon/NetworkManagerInfo.c
21957           info-daemon/NetworkManagerInfo.h
21958           info-daemon/NetworkManagerInfoDbus.c
21959           info-daemon/NetworkManagerInfoDbus.h
21960           info-daemon/passphrase.glade
21961           info-daemon/NetworkManagerInfo.conf
21962           info-daemon/keyring.png
21963                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21964                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21965                         lists to NetworkManager by proxying user's GConf
21966           
21967
21968 2004-07-15  Dan Williams <dcbw@redhat.com>
21969
21970         * src/Makefile.am
21971                 - Turn on warnings
21972
21973         * src/NetworkManager.c
21974                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21975                         that doing the deactivation ourselves
21976                 - Cancel an pending actions on a device if its being removed
21977                 - Break up link state checking a bit, make non-active wireless cards
21978                         deactivated to save power
21979                 - Remove unused variables
21980
21981         * src/NetworkManager.h
21982                 - Add support for "pending" device
21983
21984         * src/NetworkManagerAP.h
21985           src/NetworkManagerAP.c
21986                 - Add support for determining whether and AP has encryption enabled or not
21987                 - AP address is now "struct ether_addr" rather than a string
21988
21989         * src/NetworkManagerDbus.h
21990           src/NetworkManagerDbus.c
21991                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21992                 - Changes for AP address from struct ether_addr->string
21993
21994         * src/NetworkManagerDevice.h
21995           src/NetworkManagerDevice.c
21996                 - Remove unused variables, fix warnings
21997                 - Add support for Pending Actions (things that block a device from being "active"
21998                         until they are completed).
21999                 - First pending action:  Get a WEP key from the user
22000                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
22001                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
22002                 - Update wireless link checking to try to determine if the AP we are associated
22003                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
22004                         trigger the GetUserKey pending action on the device
22005                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
22006                         up in that case, otherwise we can't scan or link-check on it
22007                 - Add IP address change notifications at appropriate points (still needs some work)
22008                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
22009
22010         * src/NetworkManagerPolicy.h
22011           src/NetworkManagerPolicy.c
22012                 - Split out "best" access point determiniation into separate function
22013                 - Make device activation 2-stage:  first the device is pending, then
22014                         in the next iteration through it becomes "active" unless it has
22015                         pending actions
22016
22017         * src/NetworkManagerUtils.h
22018           src/NetworkManagerUtils.c
22019                 - Clean up unused variables and warnings
22020                 - Wrap our debug macros in {} to prevent possible confusion
22021
22022         * src/NetworkManagerWireless.c
22023                 - Forgot to return current best priority, which lead to last available AP always
22024                         being chosen no matter what its priority was.  Corrected.
22025
22026 2004-07-15  Dan Williams <dcbw@redhat.com>
22027
22028         * dispatcher-daemon/Makefile.am
22029                 - Turn on warnings
22030
22031         * dispatcher-daemon/NetworkManagerDispatcher.c
22032                 - Remove unused variables due to warnings
22033                 - Fix some comments
22034                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
22035
22036 2004-07-06  Dan Williams <dcbw@redhat.com>
22037
22038         * src/NetworkManager.c
22039                 - Add IPv4 address update for active device during link state check
22040                 - Don't allow wireless cards to be powered up when they are not the
22041                         active device
22042
22043         * src/NetworkManagerDbus.c
22044           src/NetworkManagerDbus.h
22045                 - Add DBUS IPv4 address change signal
22046                 - Add DBUS IPv4 address get method for devices
22047
22048         * src/NetworkManagerDevice.c
22049                 - Make setting the WEP key actually work
22050                 - Move IP address get/set/update stuff here, per-device
22051                 - Power down/bring down wireless device when deactivated
22052                 - For scanning wireless devices, if first scan returned ENODATA, try again
22053
22054         * src/NetworkManagerPolicy.c
22055                 - Only set the WEP key for an allowed access point if there is one.
22056                         We were setting it to be blank if one wasn't specified.
22057
22058         * src/NetworkManagerUtils.h
22059           src/NetworkManagerUtils.c
22060                 - Move the IP address stuff to NetworkManagerDevice.c
22061
22062         * dispatcher-daemon/NetworkManagerDispatcher.c
22063                 - Add device IPv4 address change notification stuff
22064
22065 2004-07-05  Dan Williams <dcbw@redhat.com>
22066
22067         * dispatcher-daemon/NetworkManagerDispatcher.c
22068                 - A bit more descriptive state message
22069                 - Don't segfault when reading directory
22070
22071         * src/NetworkManager.h
22072                 - Remove NMData desired_ap member, its now
22073                         per-device rather than global
22074
22075         * src/NetworkManager.c
22076                 - Remove references to desired_ap
22077                 - Move the allowed AP list refresh stuff into a thread
22078
22079         * src/NetworkManagerDevice.c
22080           src/NetworkManagerDevice.h
22081                 - Each wireless device now has a "best ap"
22082                 - Make device activate/deactivate functions per-device
22083                 - Make wireless scanning per-device
22084                 - Add IPv4 address discover functions, stub IPv6 ones
22085                 - Move ethernet address validation functions to NetworkManagerUtils.c
22086                 - Add wireless access point accessor function
22087                 - Get/Set functions for "best ap"
22088
22089         * src/NetworkManagerPolicy.c
22090                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
22091                 - Deal with per-device "best ap" rather than data->desired_apa
22092                 - Implement allowed access point worker thread
22093                 - Add nm_policy_essid_is_allowed() function
22094
22095         * src/NetworkManagerUtils.c
22096           src/NetworkManagerUtils.h
22097                 - Add nm_ethernet_address_is_valid() function
22098                 - Add IPv4/IPv6 address get functions
22099
22100         * src/NetworkManagerWireless.c
22101           src/NetworkManagerWireless.h
22102                 - Move scanning stuff into NetworkManagerDevice.c, per-device
22103
22104 2004-06-29  Dan Williams <dcbw@redhat.com>
22105
22106         * dispatcher-daemon/NetworkManagerDispatcher.c
22107                 - Implement script callout functionality
22108
22109 2004-06-24  Dan Williams <dcbw@redhat.com>
22110
22111         * NetworkManager.c
22112             - Spacing cleanups
22113             - Flush device routes and ip addresses when added to the device list
22114
22115         * NetworkManagerDbus.c
22116             - Spacing cleanups
22117             - Add missing returns in the two signal functions
22118         
22119         * NetworkManagerPolicy.c
22120             - Spacing and variable cleanups
22121
22122 2004-06-24  Dan Williams <dcbw@redhat.com>
22123
22124         * Makefile.am
22125           Makefile.in
22126           configure.in
22127           dispatcher-daemon/Makefile.am
22128           dispatcher-daemon/Makefile.in
22129           dispatcher-daemon/NetworkManagerDispatcher.c
22130             - Add a daemon that receives signals from NetworkManager
22131                         and will (eventually) call scripts in /etc/somewhere
22132                         when devices go up or down.
22133         
22134         * NetworkManager.c
22135             - Spacing cleanups
22136             - Flush device routes and ip addresses when added to the device list
22137
22138         * NetworkManagerDbus.c
22139             - Spacing cleanups
22140             - Add missing returns in the two signal functions
22141         
22142         * NetworkManagerPolicy.c
22143             - Spacing and variable cleanups
22144             - Rename nm_policy_switch_interface->nm_policy_switch_device
22145             - nm_policy_switch_device():
22146                                 Use kill (pid) instead of system ("kill <pid>")
22147             - nm_state_modification_monitor():
22148                                 Add wireless essid to output of debug statements
22149                                 Correct typo in device compare to switch or not (should be !=)
22150                                 Don't sleep after sending "no longer active" signal, was useless
22151
22152 2004-06-24  Dan Williams <dcbw@redhat.com>
22153
22154         * Initial import