2008-11-14 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-11-14  Dan Williams  <dcbw@redhat.com>
2
3         Relicense libnm-glib to LGPLv2+ with agreement from contributors
4
5 2008-11-14  Dan Williams  <dcbw@redhat.com>
6
7         * vpn-manager/nm-vpn-connection.c
8                 - (plugin_state_changed): clear VPN secrets on error to ensure they
9                         are always requested from the settings service (rh #429287)
10
11 2008-11-13  Dan Williams  <dcbw@redhat.com>
12
13         * libnm-util/crypto.c
14                 - (crypto_get_private_key_data): fix bad initial arg type checking
15                         from pkcs#12 patch
16
17 2008-11-13  Dan Williams  <dcbw@redhat.com>
18
19         Add support for PKCS#12 private keys (bgo #558982)
20
21         * libnm-util/crypto.c
22           libnm-util/crypto.h
23                 - (parse_old_openssl_key_file): rename from parse_key_file(); adapt to
24                         take a GByteArray instead of a filename
25                 - (file_to_g_byte_array): handle private key files too
26                 - (decrypt_key): take a GByteArray rather than data + len
27                 - (crypto_get_private_key_data): refactor crypto_get_private_key() into
28                         one function that takes a filename, and one that takes raw data;
29                         detect pkcs#12 files as well
30                 - (crypto_load_and_verify_certificate): detect file type
31                 - (crypto_is_pkcs12_data, crypto_is_pkcs12_file): add pkcs#12 detection
32                         functions
33
34         * libnm-util/crypto_gnutls.c
35                 - (crypto_decrypt): take GByteArray rather than data + len; fix a bug
36                         whereby tail padding was incorrectly handled, leading to erroneous
37                         successes when trying to decrypt the data
38                 - (crypto_verify_cert): rework somewhat
39                 - (crypto_verify_pkcs12): validate pkcs#12 keys
40
41         * libnm-util/crypto_nss.c
42                 - (crypto_init): enable various pkcs#12 ciphers
43                 - (crypto_decrypt): take a GByteArray rather than data + len
44                 - (crypto_verify_cert): clean up
45                 - (crypto_verify_pkcs12): validate pkcs#12 keys
46
47         * libnm-util/test-crypto.c
48                 - Handle pkcs#12 keys
49
50         * libnm-util/nm-setting-8021x.c
51           libnm-util/nm-setting-8021x.h
52           libnm-util/libnm-util.ver
53                 - Add two new properties, 'private-key-password' and
54                         'phase2-private-key-password', to be used in conjunction with
55                         pkcs#12 keys
56                 - (nm_setting_802_1x_set_ca_cert_from_file,
57                    nm_setting_802_1x_set_client_cert_from_file,
58                    nm_setting_802_1x_set_phase2_ca_cert_from_file,
59                    nm_setting_802_1x_set_phase2_client_from_file): return certificate
60                         type
61                 - (nm_setting_802_1x_get_private_key_password,
62                    nm_setting_802_1x_get_phase2_private_key_password): return private
63                         key passwords
64                 - (nm_setting_802_1x_set_private_key_from_file,
65                    nm_setting_802_1x_set_phase2_private_key_from_file): set the private
66                         key from a file, and update the private key password at the same time
67                 - (nm_setting_802_1x_get_private_key_type,
68                    nm_setting_802_1x_get_phase2_private_key_type): return the private
69                         key type
70
71         * src/supplicant-manager/nm-supplicant-settings-verify.c
72                 - Whitelist private key passwords
73
74         * src/supplicant-manager/nm-supplicant-config.c
75                 - (nm_supplicant_config_add_setting_8021x): for pkcs#12 private keys,
76                         add the private key password to the supplicant config, but do not
77                         add the client certificate (as required by wpa_supplicant)
78
79 2008-11-12  Tambet Ingo  <tambet@gmail.com>
80
81         * system-settings/plugins/keyfile/nm-keyfile-connection.c (copy_one_secret)
82         (add_secrets): Don't add empty secrets to the secrets hash table.
83
84 2008-11-07  Dan Williams  <dcbw@redhat.com>
85
86         * libnm-util/nm-setting-wireless.c
87                 - (nm_setting_wireless_get_seen_bssid): fix bug from accessor conversion
88                         that cased this function to return garbage, breaking hidden AP
89                         detection
90
91 2008-11-07  Dan Williams  <dcbw@redhat.com>
92
93         Fix deletion of VPN gateway route on DHCP renew (bgo #558133)
94
95         * src/NetworkManagerSystem.c
96           src/NetworkManagerSystem.h
97                 - (nm_system_device_set_ip4_route): return the route that was added
98                 - (nm_system_add_ip4_vpn_gateway_route): make add_vpn_gateway_route()
99                         public, clean up, and return the route that was added
100                 - (nm_system_apply_ip4_config): remove VPN related stuff to simplify,
101                         since nm_system_add_ip4_vpn_gateway_route() is now available; add
102                         flags to allow only certain attributes of the NMIP4Config to be
103                         applied
104
105         * src/nm-device.c
106                 - (handle_dhcp_lease_change): don't touch the DHCP4 config on failure
107                 - (nm_device_set_ip4_config): use nm_ip4_config_diff() to only apply
108                         what's really changed between the old and new configs; don't export
109                         the new IP4 config on failure; always send the DNS info to the
110                         named manager
111
112         * src/vpn-manager/nm-vpn-connection.c
113                 - (device_ip4_config_changed, nm_vpn_connection_new, dispose): track the
114                         parent device's IP4Config and re-add the VPN gateway route when it
115                         changes
116                 - (nm_vpn_connection_ip4_config_get): add the VPN gateway route (since
117                         nm_system_apply_ip4_config() no longer does) and cache it for later
118                 - (connection_state_changed): move cleanup code to its own function
119                 - (vpn_cleanup): delete any previously added VPN gateway route; and
120                         re-apply the parent device's addresses and routes using
121                         nm_system_apply_ip4_config(), not nm_device_set_ip4_config()
122
123 2008-11-07  Dan Williams  <dcbw@redhat.com>
124
125         * src/nm-ip4-config.c
126           src/nm-ip4-config.h
127                 - (nm_ip4_config_diff): new function; return the difference between two
128                         IP4 configs
129                 - (nm_ip4_config_compare): change into nm_ip4_config_diff
130
131 2008-11-05  Dan Williams  <dcbw@redhat.com>
132
133         * nm-ip4-config.c
134           nm-ip4-config.h
135                 - (nm_ip4_config_compare): compare two IP4 configs
136
137 2008-11-05  Dan Williams  <dcbw@redhat.com>
138
139         * src/NetworkManagerPolicy.c
140                 - (update_etc_hosts): only add newline if not the last line of the file
141                         (Jonathan Miner)
142
143 2008-11-05  Dan Williams  <dcbw@redhat.com>
144
145         * src/dhcp-manager/nm-dhcp-dhclient.c
146                 - (get_leasefile_for_iface): move lease files back to where dhclient
147                         puts them
148
149 2008-11-05  Michael Biebl  <mbiebl@gmail.com>
150
151         * initscripts/Debian/NetworkManager
152                 - Update to what Debian is actually using
153
154 2008-11-05  Tambet Ingo  <tambet@gmail.com>
155
156         * libnm-util/nm-setting-8021x.c: Verify PEAP settings as well.
157
158 2008-11-03  Dan Williams  <dcbw@redhat.com>
159
160         * system-settings/src/main.c
161                 - (add_default_dhcp_connection): make the fallback connection read-only
162
163         * libnm-glib/nm-settings.c
164           libnm-glib/nm-settings.h
165                 - Add detailed errors
166                 - (impl_exported_connection_update, impl_exported_connection_delete):
167                         return an error if the connection is read-only
168
169         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
170           system-settings/plugins/keyfile/nm-keyfile-connection.c
171           system-settings/src/main.c
172                 - Use more detailed errors
173
174         * system-settings/src/nm-system-config-error.c
175           system-settings/src/nm-system-config-error.h
176           system-settings/src/dbus-settings.c
177                 - Remove NM_SYSCONFIG_SETTINGS_ERROR_INVALID_CONNECTION, replaced by
178                         NM_SETTINGS_ERROR_INVALID_CONNECTION
179
180 2008-11-02  Dan Williams  <dcbw@redhat.com>
181
182         * Add license headers to everything in src/
183
184 2008-11-02  Dan Williams  <dcbw@redhat.com>
185
186         * Tag 0.7.0-rc1
187
188 2008-11-02  Dan Williams  <dcbw@redhat.com>
189
190         * src/NetworkManagerAP.c
191                 - (nm_ap_new_fake_from_connection): treat only lack of a wireless security
192                         setting as unencrypted; fixes a bug where NM wouldn't ask for new
193                         secrets when connecting to an encrypted network failed
194
195 2008-10-30  Dan Williams  <dcbw@redhat.com>
196
197         * libnm-util/libnm-util.ver
198           libnm-util/nm-setting-ip6-config.c
199           libnm-util/nm-setting-ip6-config.h
200           libnm-util/Makefile.am
201                 - Make properties private and add accessor functions
202                 - Hide IPv6 stuff from public API, it's incomplete and completely unused
203
204         * libnm-util/nm-connection.c
205           libnm-util/nm-utils.c
206           libnm-util/nm-utils.h
207                 - Ignore IPv6 stuff for now
208
209 2008-10-30  Dan Williams  <dcbw@redhat.com>
210
211         * libnm-util/libnm-util.ver
212           libnm-util/nm-setting-8021x.c
213           libnm-util/nm-setting-8021x.h
214                 - Make properties private and add accessor functions
215
216         * src/supplicant-manager/nm-supplicant-config.c
217           system-settings/plugins/ifcfg-suse/parser.c
218                 - Use 802.1x setting accessors
219
220 2008-10-30  Dan Williams  <dcbw@redhat.com>
221
222         * libnm-util/libnm-util.ver
223           libnm-util/nm-setting-wireless-security.c
224           libnm-util/nm-setting-wireless-security.h
225                 - Make properties private and add accessor functions
226
227         * libnm-util/nm-setting-wireless.c
228           src/NetworkManagerAP.c
229           src/nm-device-wifi.c
230           src/supplicant-manager/nm-supplicant-config.c
231           system-settings/plugins/ifcfg-fedora/reader.c
232           system-settings/plugins/ifcfg-suse/parser.c
233                 - Use wireless security accessors
234
235 2008-10-30  Dan Williams  <dcbw@redhat.com>
236
237         * src/nm-device-ethernet.c
238           src/nm-device-wifi.c
239           src/nm-device.c
240           src/ppp-manager/nm-ppp-manager.c
241                 - Harmonize return checking of ioctl
242
243         * system-settings/plugins/ifcfg-fedora/reader.c
244                 - (is_wireless_device): fall back to SIOCGIWNAME (rh #466340)
245
246 2008-10-30  Dan Williams  <dcbw@redhat.com>
247
248         * src/ppp-manager/nm-ppp-manager.c
249                 - (nm_ppp_manager_start): if /dev/ppp doesn't exist, load the
250                         ppp_generic module to create it (bgo #533064)
251
252 2008-10-30  Dan Williams  <dcbw@redhat.com>
253
254         Patch from Alexander Sack <asac@canonical.com>
255
256         Fix "ppp connections don't honour ip4 connection settings"
257
258         * src/nm-device-ethernet.c
259                 - (real_act_stage4_get_ip4_config): merge ip4config settings
260                         with results from ppp manager
261
262         * src/nm-serial-device.c
263                 - (real_act_stage4_get_ip4_config): merge ip4config settings
264                         with results from ppp manager
265
266 2008-10-29  Dan Williams  <dcbw@redhat.com>
267
268         * libnm-util/libnm-util.ver
269           libnm-util/nm-setting-ip4-config.c
270           libnm-util/nm-setting-ip4-config.h
271                 - Make properties private and add accessor functions
272
273         * callouts/nm-dispatcher-action.c
274           libnm-glib/libnm-glib-test.c
275           libnm-util/nm-utils.c
276           src/NetworkManagerPolicy.c
277           src/NetworkManagerSystem.c
278           src/NetworkManagerUtils.c
279           src/dhcp-manager/nm-dhcp-dhclient.c
280           src/dhcp-manager/nm-dhcp-manager.c
281           src/dnsmasq-manager/nm-dnsmasq-manager.c
282           src/nm-device-wifi.c
283           src/nm-device.c
284           src/nm-hso-gsm-device.c
285           src/nm-ip4-config.c
286           src/nm-ip4-config.h
287           src/ppp-manager/nm-ppp-manager.c
288           src/vpn-manager/nm-vpn-connection.c
289           system-settings/plugins/ifcfg-fedora/reader.c
290           system-settings/plugins/ifcfg-suse/parser.c
291           system-settings/plugins/ifcfg-suse/plugin.c
292           system-settings/plugins/ifupdown/parser.c
293           test/nm-tool.c
294           vpn-daemons/vpnc/properties/nm-vpnc.c
295                 - Use IP4 accessor functions
296
297 2008-10-29  Tambet Ingo  <tambet@gmail.com>
298
299         Half of it by Dan Williams <dcbw@redhat.com>
300
301         * libnm-util/libnm-util.ver
302         libnm-util/nm-setting-vpn.c
303         libnm-util/nm-setting-vpn.h
304                 - Make properties private and add accessor functions.
305
306         * src/vpn-manager/nm-vpn-connection.c
307         src/vpn-manager/nm-vpn-manager.c
308         system-settings/plugins/keyfile/reader.c
309         vpn-daemons/openvpn/properties/auth-helpers.c
310         vpn-daemons/openvpn/properties/import-export.c
311         vpn-daemons/openvpn/properties/nm-openvpn.c
312         vpn-daemons/openvpn/src/nm-openvpn-service.c
313         vpn-daemons/pptp/auth-dialog/main.c
314         vpn-daemons/pptp/properties/advanced-dialog.c
315         vpn-daemons/pptp/properties/nm-pptp.c
316         vpn-daemons/pptp/src/nm-pptp-service.c
317         vpn-daemons/vpnc/properties/nm-vpnc.c
318         vpn-daemons/vpnc/src/nm-vpnc-service.c
319                 - Use VPN setting accessors.
320
321 2008-10-28  Dan Williams  <dcbw@redhat.com>
322
323         Patch from Tambet Ingo <tambet@gmail.com>
324
325         * libnm-util/libnm-util.ver
326           libnm-util/nm-setting-wireless.c
327           libnm-util/nm-setting-wireless.h
328                 - Make properties private and add accessor functions
329
330         * src/NetworkManagerAP.c
331           src/nm-device-wifi.c
332           src/nm-manager.c
333           src/supplicant-manager/nm-supplicant-config.c
334           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
335           system-settings/plugins/ifcfg-fedora/reader.c
336           system-settings/plugins/ifcfg-suse/parser.c
337           system-settings/plugins/ifupdown/parser.c
338                 - Use wireless setting accessors
339
340 2008-10-27  Dan Williams  <dcbw@redhat.com>
341
342         Patch from Tambet Ingo <tambet@gmail.com>
343
344         * libnm-util/libnm-util.ver
345           libnm-util/nm-setting-ppp.c
346           libnm-util/nm-setting-ppp.h
347                 - Make properties private and add accessor functions
348
349         * src/ppp-manager/nm-ppp-manager.c
350                 - Use ppp setting accessors
351
352 2008-10-27  Dan Williams  <dcbw@redhat.com>
353
354         Patch from Tambet Ingo <tambet@gmail.com>
355
356         * libnm-util/nm-setting.h
357           libnm-util/nm-setting.c
358                 - Make properties private and add accessor functions
359
360         * libnm-util/nm-connection.c
361           libnm-util/nm-setting-8021x.c
362           libnm-util/nm-setting-cdma.c
363           libnm-util/nm-setting-connection.c
364           libnm-util/nm-setting-gsm.c
365           libnm-util/nm-setting-ip4-config.c
366           libnm-util/nm-setting-ip6-config.c
367           libnm-util/nm-setting-ppp.c
368           libnm-util/nm-setting-pppoe.c
369           libnm-util/nm-setting-serial.c
370           libnm-util/nm-setting-template.c
371           libnm-util/nm-setting-vpn.c
372           libnm-util/nm-setting-wired.c
373           libnm-util/nm-setting-wireless-security.c
374           libnm-util/nm-setting-wireless.c
375           system-settings/plugins/keyfile/reader.c
376           system-settings/plugins/keyfile/writer.c
377                 - Use setting accessors
378
379 2008-10-27  Dan Williams  <dcbw@redhat.com>
380
381         * libnm-util/libnm-util.ver
382           libnm-util/nm-setting-connection.c
383           libnm-util/nm-setting-connection.h
384                 - Add a 'read-only' property that indicates the connection cannot be
385                         modified
386
387         * system-settings/plugins/ifcfg-fedora/reader.c
388           system-settings/plugins/ifcfg-suse/parser.c
389           system-settings/plugins/ifupdown/parser.c
390                 - These plugins are read-only at the moment
391
392         * system-settings/plugins/keyfile/reader.c
393           system-settings/plugins/keyfile/writer.c
394                 - Read-only shouldn't get saved out to files or read in from them
395
396 2008-10-27  Tambet Ingo  <tambet@gmail.com>
397
398         * src/nm-device-ethernet.c (nm_device_ethernet_get_speed): Implement
399         correct speed reporting for fast devices (kernel >= 2.6.27).
400
401 2008-10-26  Dan Williams  <dcbw@redhat.com>
402
403         Attempt to compensate for modems that don't enable full AT parsing before
404         the PIN has been entered.
405
406         * src/nm-gsm-device.c
407                 - (init_modem): accept different init strings
408                 - (init_done): try different init strings on failure
409                 - (check_pin_done): on PIN success, do full modem init
410
411 2008-10-26  Dan Williams  <dcbw@redhat.com>
412
413         Patch from Tambet Ingo <tambet@gmail.com>
414
415         * libnm-util/libnm-util.ver
416           libnm-util/nm-setting-connection.c
417           libnm-util/nm-setting-connection.h
418                 - Make properties private and add accessor functions
419
420         * src/NetworkManagerPolicy.c
421           src/nm-cdma-device.c
422           src/nm-device-ethernet.c
423           src/nm-device-interface.c
424           src/nm-device-wifi.c
425           src/nm-gsm-device.c
426           src/nm-manager.c
427           src/ppp-manager/nm-ppp-manager.c
428           src/vpn-manager/nm-vpn-connection.c
429           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
430           system-settings/plugins/ifcfg-fedora/plugin.c
431           system-settings/plugins/ifcfg-fedora/reader.c
432           system-settings/plugins/ifcfg-suse/parser.c
433           system-settings/plugins/ifupdown/parser.c
434           system-settings/plugins/keyfile/nm-keyfile-connection.c
435           system-settings/plugins/keyfile/plugin.c
436           system-settings/plugins/keyfile/writer.c
437           system-settings/src/main.c
438                 - Use those accessors
439
440 2008-10-26  Dan Williams  <dcbw@redhat.com>
441
442         Patch from Tambet Ingo <tambet@gmail.com>
443
444         * libnm-util/libnm-util.ver
445           libnm-util/nm-setting-gsm.c
446           libnm-util/nm-setting-gsm.h
447                 - Make properties private and add accessor functions
448
449         * src/nm-gsm-device.c
450           src/nm-hso-gsm-device.c
451           src/ppp-manager/nm-ppp-manager.c
452                 - Use those accessors
453
454 2008-10-26  Dan Williams  <dcbw@redhat.com>
455
456         Patch from Tambet Ingo <tambet@gmail.com>
457
458         * libnm-util/libnm-util.ver
459           libnm-util/nm-setting-cdma.c
460           libnm-util/nm-setting-cdma.h
461                 - Make properties private and add accessor functions
462
463         * src/nm-cdma-device.c
464           src/ppp-manager/nm-ppp-manager.c
465                 - Use those accessors
466
467 2008-10-26  Dan Williams  <dcbw@redhat.com>
468
469         Patch from Tambet Ingo <tambet@gmail.com>
470
471         * libnm-util/libnm-util.ver
472           libnm-util/nm-setting-pppoe.c
473           libnm-util/nm-setting-pppoe.h
474                 - Make properties private and add accessor functions
475
476         * src/nm-device-ethernet.c
477           src/ppp-manager/nm-ppp-manager.c
478                 - Use those accessors
479
480 2008-10-26  Dan Williams  <dcbw@redhat.com>
481
482         Patch from Tambet Ingo <tambet@gmail.com>
483
484         * libnm-util/libnm-util.ver
485           libnm-util/nm-setting-wired.c
486           libnm-util/nm-setting-wired.h
487                 - Make properties private and add accessor functions
488
489         * src/nm-device-ethernet.c
490           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
491           system-settings/plugins/ifcfg-suse/parser.c
492           system-settings/src/main.c
493                 - Use those accessors
494
495 2008-10-26  Dan Williams  <dcbw@redhat.com>
496
497         Patch from Tambet Ingo <tambet@gmail.com>
498
499         * libnm-util/libnm-util.ver
500           libnm-util/nm-setting-serial.c
501           libnm-util/nm-setting-serial.h
502           src/nm-serial-device.c
503                 - Make properties private and use accessors instead
504
505 2008-10-26  Dan Williams  <dcbw@redhat.com>
506
507         * src/supplicant-manager/nm-supplicant-interface.c
508           src/supplicant-manager/nm-supplicant-interface.h
509           src/supplicant-manager/nm-supplicant-manager.c
510           src/supplicant-manager/nm-supplicant-manager.h
511                 - Add state-to-string conversion functions
512
513         * src/nm-device-wifi.c
514           src/nm-device-ethernet.c
515                 - Normalize state info logging and use strings instead of numbers
516
517 2008-10-26  Dan Williams  <dcbw@redhat.com>
518
519         * src/NetworkManagerPolicy.c
520                 - (update_routing_and_dns): ignore host routes when determining whether
521                         a VPN connection should own the default route (bgo #552594)
522
523 2008-10-24  Dan Williams  <dcbw@redhat.com>
524
525         * src/nm-gsm-device.c
526                 - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
527
528 2008-10-23  Dan Williams  <dcbw@redhat.com>
529
530         * src/ppp-manager/nm-ppp-manager.c
531                 - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
532                         add really important stuff to the command line to ensure that NM
533                         overrides /etc/ppp/options (bgo #556781)
534
535 2008-10-22  Dan Williams  <dcbw@redhat.com>
536
537         * src/NetworkManagerSystem.c
538           src/nm-device.c
539                 - Use the device's IP interface where appropriate (Per Hallsmark)
540
541 2008-10-22  Dan Williams  <dcbw@redhat.com>
542
543         * src/nm-gsm-device.c
544                 - (schedule_automatic_registration_again): use a short timeout here
545                         instead of an idle handler to avoid using too much CPU polling for
546                         something we should be waiting a bit for anyway
547
548 2008-10-22  Dan Williams  <dcbw@redhat.com>
549
550         * include/NetworkManager.h
551           introspection/nm-device.xml
552                 - Add device state change reason for carrier changes
553
554         * src/nm-device-ethernet.c
555                 - (set_carrier): use the carrier change reason when changing device
556                         state in response to carrier changes
557
558 2008-10-21  Dan Williams  <dcbw@redhat.com>
559
560         * src/NetworkManagerPolicy.c
561                 - (update_etc_hosts): don't leak errors, and ensure that
562                         g_file_set_contents() gets a valid error placeholder (rh #461933)
563
564 2008-10-21  Dan Williams  <dcbw@redhat.com>
565
566         * src/nm-manager.c
567                 - (free_get_settings_info): don't use the DBusGProxy which could be
568                         disposed of by the time the function is called
569                 - (internal_new_connection_cb): save connection scope
570                 - (connection_get_settings_cb): don't replace a connection unless it's
571                         actually different from the existing one; fixes an issue where
572                         killing the settings service wouldn't deactivate an active connection
573                         provided by that settings service, because it was using a connection
574                         that had already been replaced in the system or user hash
575
576 2008-10-21  Dan Williams  <dcbw@redhat.com>
577
578         * src/NetworkManager.c
579                 - (main): keep the DHCP manager around since it's a singleton; fixes
580                         a use-after-free exposed by r4196 since the DHCP manager singleton
581                         variable isn't cleared when the DHCP manager object is finalized
582
583 2008-10-20  Dan Williams  <dcbw@redhat.com>
584
585         * libnm-util/nm-setting-wireless-security.c
586                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
587
588 2008-10-20  Dan Williams  <dcbw@redhat.com>
589
590         * src/supplicant-manager/nm-supplicant-config.c
591                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
592
593 2008-10-20  Dan Williams  <dcbw@redhat.com>
594
595         * src/dhcp-manager/nm-dhcp-manager.c
596                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
597                         manager object already refs it once
598                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
599                         also get cleaned up by nm_dhcp_device_destroy() to prevent
600                         double-frees
601
602 2008-10-20  Dan Williams  <dcbw@redhat.com>
603
604         * src/nm-manager.c
605                 - (initial_get_connections): use private dbus manager, don't keep
606                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
607                         manager object.
608
609 2008-10-18  Dan Williams  <dcbw@redhat.com>
610
611         * libnm-glib/nm-settings.c
612           libnm-glib/nm-settings.h
613                 - Rename the "get_secrets" virtual function "service_get_secrets" to
614                         clarify when it's used; NMExportedConnetion is a base-class for both
615                         the client and service side, which is sort of confusing, and
616                         get_secrets only makes sense on the service side.
617
618         * libnm-glib/nm-dbus-connection.c
619                 - (get_secrets): remove, unused, and clients need to do extra work to
620                         get secrets anyway since the call can block on the remote side
621
622         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
623           system-settings/plugins/keyfile/nm-keyfile-connection.c
624                 - Fix up for get_secrets -> service_get_secrets
625
626 2008-10-16  Dan Williams  <dcbw@redhat.com>
627
628         * src/nm-device-wifi.c
629                 - (constructor): correctly determine encryption capabilities
630
631 2008-10-15  Dan Williams  <dcbw@redhat.com>
632
633         * src/nm-device-wifi.c
634                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
635                         (Johannes Berg)
636
637 2008-10-15  Dan Williams  <dcbw@redhat.com>
638
639         * src/NetworkManagerSystem.c
640                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
641                         if the ip4_dest is in a smaller subnet contained within a subnet
642                         the machine is currently on, the destination is in the same subnet
643                 - (nm_system_device_set_ip4_route): move subnet checks to callers
644                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
645                         subnet as the parent device, and if so, don't add the direct
646                         host route via the parent device's gateway (bgo #481620)
647                 - (nm_system_apply_ip4_config): check whether the route to be added
648                         is contained within a subnet the device is already on
649
650 2008-10-11  Dan Williams  <dcbw@redhat.com>
651
652         * include/NetworkManager.h
653           introspection/nm-device.xml
654           include/NetworkManagerVPN.h
655                 - Add a few more state reasons for the device deactivated state
656
657         * src/nm-device-interface.c
658           src/nm-device-interface.h
659                 - (nm_device_interface_deactivate): add a 'reason' argument
660
661         * src/nm-device.c
662           src/nm-device.h
663                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
664                 - (nm_device_state_changed): pass the state change reason to
665                         nm_device_take_down()
666                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
667                         to the state change function
668
669         * src/nm-manager.c
670           src/nm-manager.h
671                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
672                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
673                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
674                         something reasonable along to VPN deactivation
675
676         * src/vpn-manager/nm-vpn-manager.c
677           src/vpn-manager/nm-vpn-manager.h
678                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
679                         pass that along to nm_vpn_connection_disconnect()
680
681 2008-10-11  Dan Williams  <dcbw@redhat.com>
682
683         * src/nm-device-wifi.c
684                 - (can_scan): remove old madwifi hack for not scanning while connected
685
686 2008-10-11  Dan Williams  <dcbw@redhat.com>
687
688         Add support for VPN subnet gateways (bgo #549196)
689
690         * include/NetworkManager.h
691                 - Add key for internal VPN subnet gateway
692
693         * src/vpn-manager/nm-vpn-connection.c
694                 - (ip_address_to_string): return a const from a static buffer so we
695                         don't leak a lot of strings
696                 - (print_vpn_config): print internal VPN gateway as well
697                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
698                         VPN service too
699                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
700
701         * src/NetworkManagerSystem.c
702           src/NetworkManagerSystem.h
703                 - (nm_system_device_replace_default_ip4_route): split into two, one for
704                         VPN connections and one for normal devices
705                 - (replace_default_ip4_route): break out route stuff into its own function
706                 - (nm_system_replace_default_ip4_route_vpn,
707                    nm_system_replace_default_ip4_route): simplify by having two cases,
708                         one for VPNs and one for normal devices
709
710         * src/NetworkManagerPolicy.c
711                 - (update_routing_and_dns): simplify, use split default route replacement
712                         functions
713
714 2008-10-10  Dan Williams  <dcbw@redhat.com>
715
716         Rework default route handling to consolidate decisions in the policy,
717         and to take active VPN connections into account when changing the default
718         route (bgo #545912)
719
720         * src/NetworkManager.c
721                 - (main): pass the vpn_manager to the policy so it knows about active
722                         VPN connections; clean up the named manager which wasn't done before
723
724         * src/NetworkManagerPolicy.c
725           src/NetworkManagerPolicy.h
726                 - (nm_policy_new): get a clue about the vpn_manager
727                 - (update_default_route): remove, fold into update_routing_and_dns()
728                 - (update_routing_and_dns): handle active VPN connections too; an
729                         active VPN connection becomes the default route if it does not have
730                         server-specified or user-specified custom routes.  Otherwise, the
731                         best active device gets the default route
732                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
733                    nm_policy_destroy): track VPN connection activation and deactivation
734                         and update the default route when appropriate
735
736         * src/NetworkManagerSystem.c
737           src/NetworkManagerSystem.h
738                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
739                         in the VPN connection itself
740                 - (nm_system_vpn_device_set_from_ip4_config,
741                    nm_system_device_set_from_ip4_config): merge together to make
742                         nm_system_apply_ip4_config()
743                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
744                         via the parent device
745                 - (nm_system_apply_ip4_config): simplify
746                 - (add_ip4_route_to_gateway): new function; add a direct route to the
747                         gateway if needed
748                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
749                         route stuff out into add_ip4_route_to_gateway() for clarity
750
751         * src/nm-device.c
752                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
753
754         * src/vpn-manager/nm-vpn-connection.c
755           src/vpn-manager/nm-vpn-connection.h
756                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
757                    nm_vpn_connection_get_parent_device): add
758                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
759                         device explicit
760                 - (connection_state_changed): update the named manager now that
761                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
762                         useful on errors
763
764         * src/vpn-manager/nm-vpn-manager.c
765           src/vpn-manager/nm-vpn-manager.h
766                 - Add a 'connection-activated' signal
767                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
768                         policy to find out about active VPN connections
769
770 2008-10-10  Tambet Ingo  <tambet@gmail.com>
771
772         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
773         a daemon to prevent NM logging spew on console on startup and shutdown (due
774         to dependency loop between NM and syslog).
775
776 2008-10-10  Alexander Sack  <asac@ubuntu.com>
777
778         Implement managed mode. We bind devices configured in /etc/network/interfaces
779         to their connections by updating wired/wireless setting with the
780         mac address of the device.
781
782         * system-settings/plugins/ifupdown/plugin.c
783                 - (get_net_address_for_udi): implement function to retrieve MAC
784                         address of udi from hal in GByteArray format
785                 - (bind_device_to_connection): bind mac address of device to
786                         wired/wireless system connection
787                 - (hal_device_added_cb): call bind_device_to_connection for
788                         system connections with a matching interface.name
789                 - (hal_device_added_cb): ensure that all code paths
790                         properly free the "iface" string.
791
792 2008-10-10  Alexander Sack  <asac@ubuntu.com>
793
794         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
795         mode of the ifupdown system config plugin.
796
797         * system-settings/plugins/ifupdown/plugin.c
798                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
799                         private unmanage_well_known state field accordingly
800
801 2008-10-10  Alexander Sack  <asac@ubuntu.com>
802
803         Implement unmanaged mode that will prevent all devices in the
804         well_known_udis set from being touched by NetworkManager
805
806         * system-settings/plugins/ifupdown/plugin.c
807                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
808                         unmanage_well_known field used to turn on/off unmanaged
809                         mode
810                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
811                         signal when well_known_udis get added/removed
812                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
813                         if we are in unmanaged mode
814
815 2008-10-10  Alexander Sack  <asac@ubuntu.com>
816
817         Add support to track network devices that have a configuration
818         with a matching interface.name in /etc/network/interfaces
819
820         * system-settings/plugins/ifupdown/plugin.c
821                 - (typedef struct SCPluginIfupdownPrivate): add hash table
822                         to track |well_known_udis|
823                 - (get_iface_for_udi): helper function to get interface.name
824                         for a udi
825                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
826                         that add and remove devices to and from the well_known_udis
827                         set depending on whether their |interface.name| matches
828                         any interface definition in /etc/network/interfaces
829                 - (SCPluginIfupdown_init): connect callbacks from above with
830                         hal_mgr and setup well_known_udis hashtable
831                 - (GObject__dispose): destroy well_known_udis hashtable
832                 - (hal_device_added_cb2): implement wrapper callback with GFunc
833                         signature. user_data is supposed to be a triple (hal_mgr,
834                         config and devtype)
835                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
836                         startup and call hal_device_added_cb2
837
838 2008-10-10  Alexander Sack  <asac@ubuntu.com>
839
840         Remove implementation for not used NMSystemConfigInterface callback functions
841         in ifupdown plugin
842
843         * system-settings/plugins/ifupdown/plugin.c
844                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
845                 - (SCPluginIfupdown_connection_added): removed
846
847 2008-10-08  Dan Williams  <dcbw@redhat.com>
848
849         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
850
851         * src/NetworkManagerUtils.c
852                 - (nm_utils_call_dispatcher): add a 'hostname' action
853
854         * src/NetworkManagerPolicy.c
855                 - (set_system_hostname): dispatch hostname changes
856
857         * callouts/nm-dispatcher-action.c
858                 - (nm_dispatcher_action): handle 'hostname' actions
859
860 2008-10-08  Dan Williams  <dcbw@redhat.com>
861
862         * src/NetworkManagerSystem.c
863                 - (find_route): ref the route so it doesn't get destroyed when the cache
864                         is cleared
865                 - (nm_system_device_set_priority): unref the route here after it's done
866                         being used
867
868 2008-10-08  Dan Williams  <dcbw@redhat.com>
869
870         * src/nm-serial-device.c
871                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
872
873 2008-10-08  Tambet Ingo  <tambet@gmail.com>
874
875         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
876         connection with new settings before saving it.
877
878 2008-10-06  Dan Williams  <dcbw@redhat.com>
879
880         * src/nm-ip4-config.c
881           src/nm-ip4-config.h
882                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
883
884         * src/nm-device-interface.c
885                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
886                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
887                         by using '/' for the object path
888
889         * src/nm-device.c
890                 - (src/nm-device.c): marshal missing/unexported ip4-config through
891                         dbus as '/' since dbus-glib can't handle NULL objects nor can
892                         dbus handle NULL object paths
893
894 2008-10-03  Alexander Sack  <asac@ubuntu.com>
895
896         Implement system hostname support for debian/ubuntu
897
898         * system-settings/plugins/ifupdown/plugin.c
899                 - (GObject__get_property): extend announced capabilities; add
900                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
901                 - (GObject__set_property,write_system_hostname): implement
902                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
903                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
904                    update_system_hostname, get_hostname):
905                         implement hostname property that watches and
906                         parses /etc/hostname
907
908 2008-10-03  Alexander Sack  <asac@ubuntu.com>
909
910         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
911           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
912           system-settings/plugins/ifcfg-fedora/Makefile.am
913           system-settings/src/nm-inotify-helper.c
914           system-settings/src/nm-inotify-helper.h
915           src/Makefile.am
916                 - Move ifcfg-fedora inotify helpers to the system settings service so
917                         they are available to all plugins
918
919 2008-10-03  Alexander Sack  <asac@ubuntu.com>
920
921         Implement support for wep-tx-keyidx in ifupdown system
922         config plugin.
923
924         * system-settings/plugins/ifupdown/parser.c
925                 - (update_wireless_security_setting_from_if_block): introduce
926                         free_type_mapping func table; rename a few local
927                         variables to improve readability; add wpa security mapping
928                         for wep-tx-keyidx property
929                 - (string_to_gpointerint): new function used for the auto_type_mapping
930                         of new wep-tx-keyidx property
931                 - (slist_free_all): free func used for mapped slist types
932
933 2008-10-03  Alexander Sack  <asac@ubuntu.com>
934
935         * system-settings/src/main.c:
936                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
937                         always used as the hash key; fixes a crash when removing wired
938                         devices
939
940 2008-10-02  Dan Williams  <dcbw@redhat.com>
941
942         * src/nm-gsm-device.c
943                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
944                         pass the required GSM secret along via user_data rather than keeping
945                         it around in the private data where it sometimes didn't get cleared
946                 - (real_get_ppp_name): implement using the GSM username
947
948 2008-10-02  Dan Williams  <dcbw@redhat.com>
949
950         * src/ppp-manager/nm-ppp-manager.c
951           src/ppp-manager/nm-ppp-manager.h
952                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
953                         the settings daemon for completely new ones
954                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
955                         local PPP peer name; allow PPP debuging by launching NM with
956                         the environment variable NM_PPP_DEBUG defined
957                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
958                         create_pppd_cmd_line()
959
960         * src/nm-serial-device.c
961           src/nm-serial-device.h
962                 - New 'get_ppp_name' function for subclasses to implement to return the
963                         local PPP peer name
964                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
965                         and pass that name to the PPP manager
966
967         * src/nm-device-ethernet.c
968                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
969                         the local peer name
970
971         * src/nm-cdma-device.c
972                 - (real_get_ppp_name): implement using the CDMA username
973
974 2008-10-02  Dan Williams  <dcbw@redhat.com>
975
976         Patch from Alexander Sack <asac ubuntu com>
977
978         * system-settings/plugins/ifupdown/parser.c
979                 - Implement more graceful ip4 config parsing for cases where
980                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
981                   by using default values
982
983 2008-10-02  Dan Williams  <dcbw@redhat.com>
984
985         * src/NetworkManagerPolicy.c
986                 - (device_state_changed): when marking a connection invalid, clear its
987                         secrets too so that fresh secrets get requested the next time
988
989 2008-10-01  Dan Williams  <dcbw@redhat.com>
990
991         * system-settings/src/dbus-settings.c
992                 - (nm_sysconfig_settings_init): cache system hostname on startup as
993                         a fallback if no plugin provides a hostname
994                 - (get_property): fall back to cached hostname if no plugin provides
995                         a hostname
996
997 2008-10-01  Dan Williams  <dcbw@redhat.com>
998
999         Fix setting value comparison issue that caused some settings to look the
1000         same when they were really different (rh #464417)
1001
1002         * libnm-util/nm-param-spec-specialized.c
1003                 - (type_is_fixed_size): return fundamental size of the fixed type too
1004                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
1005                         in the comparison so that the _entire_ fixed type collection gets
1006                         compared rather than just the first 'len1' bytes
1007
1008 2008-09-30  Dan Williams  <dcbw@redhat.com>
1009
1010         * src/NetworkManagerPolicy.c
1011                 - (lookup_thread_worker): don't store the idle handler ID becuase the
1012                         idle handler could have already run and freed the LookupThread
1013                         structure
1014
1015 2008-09-30  Tambet Ingo  <tambet@gmail.com>
1016
1017         * src/nm-device.c (nm_device_get_priority): Implement.
1018         (nm_device_set_ip4_config): Send the device priority to system ip4 
1019         config setter.
1020
1021         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
1022         Add priority argument and if it's >= 0, set the priority of the network
1023         route added automatically by netlink (or kernel?).
1024         (nm_system_device_set_priority): Implement.
1025
1026         * src/NetworkManagerPolicy.c (get_best_device): Use 
1027         nm_device_get_priority() instead of home-grown version. Revert the
1028         meaning, best priority is the lowest one.
1029
1030 2008-09-29  Dan Williams  <dcbw@redhat.com>
1031
1032         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
1033         when it returns EAGAIN (rh #362421)
1034
1035         * src/nm-device-wifi.c
1036                 - (wireless_get_range): try GIWRANGE a few times until the card responds
1037                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
1038
1039 2008-09-28  Dan Williams  <dcbw@redhat.com>
1040
1041         * src/nm-serial-device.c
1042           src/nm-serial-device.h
1043                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
1044                         cleaned at the right times when subclasses close the serial port too
1045                 - (nm_serial_device_send_command): use a default send delay; don't
1046                         spin forever on EAGAIN
1047                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
1048                         remove, no longer used
1049                 - (find_response): return the matched response if any
1050                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
1051                         while doing so
1052                 - (wait_for_reply_done): pass the matched response to the callback
1053                 - (wait_for_reply_got_data): save the matched response; simplify timeout
1054                         handling
1055                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
1056                         const since they never get modified
1057                 - (cleanup_device): split out common cleanup stuff to a new function
1058                 - (real_deactivate_quickly, finalize): use cleanup_device()
1059
1060         * src/nm-gsm-device.c
1061                 - (modem_get_reply): remove, unused
1062                 - (set_apn): give the card a bit more time to respond
1063                 - (manual_registration_again, schedule_manual_registration_again,
1064                    manual_registration_response, manual_registration): handle manual
1065                         registration timeouts better by retrying registration a few times
1066                         because cards are a bit slow after CFUN=1
1067                 - (automatic_registration_get_network, get_network_response): use
1068                         modem_wait_for_reply() because it interacts better with the serial
1069                         buffer and does more intelligent matching; need to wait for 'OK'
1070                         rather than just matching terminators
1071                 - (schedule_automatic_registration_again,
1072                    automatic_registration_response, automatic_registration): retry
1073                         registration a few times on timeout or "searching" because cards
1074                         take a bit to find a network after being powered up with CFUN=1
1075                 - (power_up_response, power_up, init_full_done, enter_pin,
1076                    check_pin_done): power up the card with CFUN=1 before trying to
1077                         register with the network
1078                 - (init_modem_full, init_modem): use more standard 3G init strings
1079
1080         * src/nm-hso-gsm-device.c
1081                 - (modem_get_reply): remove, unused
1082                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
1083                         modem_wait_for_reply() to match actual responses instead of single
1084                         termination characters; it doesn't leave stuff in the serial buffer
1085                         that might confuse later calls
1086                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
1087                         to ensure that the call is really disconnected and not leave extra
1088                         stuff in the serial buffer
1089
1090         * src/nm-cdma-device.c
1091                 - (power_up_response, power_up, init_done): try Sierra-style modem
1092                         power up before attempting to connect
1093
1094 2008-09-27  Dan Williams  <dcbw@redhat.com>
1095
1096         * libnm-util/nm-setting-gsm.c
1097                 - (verify): verify GSM network ID
1098
1099 2008-09-25  Dan Williams  <dcbw@redhat.com>
1100
1101         * libnm-util/nm-setting-gsm.c
1102           libnm-util/nm-setting-gsm.h
1103                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
1104                         technology terms (bgo #551361)
1105
1106 2008-09-25  Dan Williams  <dcbw@redhat.com>
1107
1108         Fix bgo #549401 (inspired by patch from Alexander Sack)
1109
1110         * src/nm-device-ethernet.c
1111                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1112                 - (remove_supplicant_interface_error_handler): remove the supplicant
1113                         error idle callback too
1114                 - (supplicant_interface_release): rename from supplicant_interface_clean
1115                         to match nm-device-wifi.c; clean up supplicant interface-related
1116                         state tasks when the supplicant interface is disposed of
1117                 - (schedule_state_handler): add scheduled tasks to a list so they can
1118                         be cleaned up later
1119                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1120                    supplicant_iface_connection_state_cb_handler): use
1121                         finish_supplicant_task() to clean up each completed task
1122                 - (supplicant_iface_connection_error_cb_handler,
1123                    supplicant_connection_timeout_cb): clear source id when the task is
1124                         complete
1125                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1126                         later cleanup
1127                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
1128                         tasks
1129
1130         * src/nm-device-wifi.c
1131                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1132                 - (remove_supplicant_interface_error_handler): remove the supplicant
1133                         error idle callback too
1134                 - (supplicant_interface_release): clean up supplicant interface-related
1135                         state tasks when the supplicant interface is disposed of
1136                 - (schedule_state_handler): add scheduled tasks to a list so they can
1137                         be cleaned up later
1138                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1139                    supplicant_iface_connection_state_cb_handler): use
1140                         finish_supplicant_task() to clean up each completed task
1141                 - (supplicant_iface_connection_error_cb_handler): clear source id when
1142                         the task is complete
1143                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1144                         later cleanup
1145                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
1146
1147 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1148
1149         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
1150         method and get/set hostname property.
1151
1152 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1153
1154         * src/supplicant-manager/nm-supplicant-interface.c
1155         (nm_supplicant_interface_disconnect): Don't increment the reference 
1156         count when disconnecting. The problem is on shutdown, when the replies
1157         to these commands do not arrive before NM exits, resulting on never
1158         calling supplicant interface's dispose(), which removes the interface
1159         from supplicant.
1160
1161 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1162
1163         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
1164         all the public function arguments.
1165
1166 2008-09-22  Tambet Ingo  <tambet@gmail.com>
1167
1168         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
1169         "Failure" signal from VPN plugins, store the failure reason, and
1170         use it when the state is changed to failure.
1171
1172         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
1173         description.
1174
1175         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
1176         reason to the end of the list to not break the API.
1177         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
1178         so it can be shared by plugins and daemon.
1179
1180 2008-09-18  Dan Williams  <dcbw@redhat.com>
1181
1182         Patch from Alexander Sack <asac@ubuntu.com>
1183
1184         * configure.in
1185           system-settings/plugins/Makefile.am
1186           system-settings/plugins/ifupdown/Makefile.am
1187           system-settings/plugins/ifupdown/interface_parser.c
1188           system-settings/plugins/ifupdown/interface_parser.h
1189           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
1190           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
1191           system-settings/plugins/ifupdown/parser.c
1192           system-settings/plugins/ifupdown/parser.h
1193           system-settings/plugins/ifupdown/plugin.c
1194           system-settings/plugins/ifupdown/plugin.h
1195                 - Implement a Debian/Ubuntu legacy network configuration plugin
1196                         (gnome.org #551941)
1197
1198 2008-09-18  Dan Williams  <dcbw@redhat.com>
1199
1200         Implement support for honoring configured and automatic hostnames, and for
1201         setting the configured hostname.
1202
1203         * introspection/nm-ip4-config.xml
1204           src/nm-ip4-config.c
1205           src/nm-ip4-config.h
1206           src/dhcp-manager/nm-dhcp-manager.c
1207                 - Remove useless hostname property; it's not really part of the IPv4
1208                         config
1209
1210         * introspection/nm-settings-system.xml
1211           libnm-glib/nm-dbus-settings-system.c
1212           libnm-glib/nm-dbus-settings-system.h
1213                 - Add SetHostname() call to system settings D-Bus interface
1214                 - Add Hostname property to system settings D-Bus interface
1215                 - (nm_dbus_settings_system_save_hostname,
1216                    nm_dbus_settings_system_get_hostname): implement
1217
1218         * src/nm-device.c
1219           src/nm-device.h
1220                 - (nm_device_get_dhcp4_config): implement
1221
1222         * src/nm-manager.c
1223           src/nm-manager.h
1224                 - Fetch and track system settings service hostname changes, and proxy
1225                         the changes via a GObject property of the manager
1226
1227         * system-settings/src/nm-system-config-interface.c
1228           system-settings/src/nm-system-config-interface.h
1229                 - Replace nm_system_config_interface_supports_add() with a capabilities
1230                         bitfield
1231
1232         * system-settings/src/nm-system-config-error.c
1233           system-settings/src/nm-system-config-error.h
1234                 - Add additional errors
1235
1236         * system-settings/src/dbus-settings.c
1237           system-settings/src/dbus-settings.h
1238                 - (get_property, nm_sysconfig_settings_class_init): add hostname
1239                         property; first plugin returning a hostname wins
1240                 - (impl_settings_add_connection): use plugin capabilities instead of
1241                         nm_system_config_interface_supports_add()
1242                 - (impl_settings_save_hostname): implement hostname saving
1243
1244         * src/NetworkManagerPolicy.c
1245                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
1246                    lookup_thread_die): implement an asynchronous hostname lookup thread
1247                         which given an IPv4 address tries to look up the hostname for that
1248                         address with reverse DNS
1249                 - (get_best_device): split out best device code from
1250                         update_routing_and_dns()
1251                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
1252                         to preserve the 127.0.0.1 reverse mapping that so many things require
1253                 - (set_system_hostname): set a given hostname
1254                 - (update_system_hostname): implement hostname policy; a configured
1255                         hostname (from the system settings service) is used if available,
1256                         otherwise an automatically determined hostname from DHCP, VPN, etc.
1257                         If there was no automatically determined hostname, reverse DNS of
1258                         the best device's IP address will be used, and as a last resort the
1259                         hostname 'localhost.localdomain' is set.
1260                 - (update_routing_and_dns): use get_best_device(); update the system
1261                         hostname when the network config changes
1262                 - (hostname_changed): update system hostname if the system settings
1263                         service signals a hostname change
1264                 - (nm_policy_new): list for system settings service hostname changes
1265                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
1266                         gets told to die
1267
1268         * system-settings/plugins/keyfile/plugin.c
1269           system-settings/plugins/ifcfg-suse/plugin.c
1270                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
1271                         capabilities properties
1272
1273         * system-settings/plugins/ifcfg-fedora/shvar.c
1274                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
1275                         writes out /etc/sysconfig/network now
1276
1277         * system-settings/plugins/ifcfg-fedora/plugin.c
1278                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
1279                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
1280                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
1281                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
1282                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
1283                         hostname get/set and capabilities get
1284
1285 2008-09-18  Dan Williams  <dcbw@redhat.com>
1286
1287         * libnm-util/nm-setting-wireless.c
1288                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
1289                         group ciphers if the wireless-security setting explicitly specified
1290                         them, effectively making the default be "all ciphers"  (idea from
1291                         Alexander Sack)
1292
1293 2008-09-15  Dan Williams  <dcbw@redhat.com>
1294
1295         Patch from Alexander Sack <asac@ubuntu.com>
1296
1297         * src/named-manager/nm-named-manager.c
1298                 - (dispatch_resolvconf): respect resolvconf exit code
1299
1300 2008-09-12  Tambet Ingo  <tambet@gmail.com>
1301
1302         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
1303         again. Add some debugging.
1304
1305 2008-09-11  Dan Williams  <dcbw@redhat.com>
1306
1307         * system-settings/plugins/keyfile/plugin.c
1308                 - (update_connection_settings): update connection manually, since
1309                         nm_exported_connection_update() does authentication
1310                 - (dir_changed): update_connection_settings() doesn't need to return
1311                         an error
1312
1313 2008-09-09  Dan Williams  <dcbw@redhat.com>
1314
1315         * libnm-glib/nm-vpn-plugin-ui-interface.c
1316           libnm-glib/nm-vpn-plugin-ui-interface.h
1317           libnm-glib/libnm_glib_vpn.ver
1318                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
1319                         should clean up resources related to the connection (like keyring
1320                         secrets)
1321                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
1322                         should save user-scope secrets (like to the keyring)
1323
1324 2008-09-08  Dan Williams  <dcbw@redhat.com>
1325
1326         Patch from Alexander Sack <asac@ubuntu.com>
1327
1328         * libnm-util/crypto_gnutls.c
1329           libnm-util/crypto_nss.c
1330                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
1331
1332         * libnm-util/nm-utils.c
1333           libnm-util/nm-utils.h
1334           libnm-util/libnm-util.ver
1335                 - (nm_utils_init): initialize libnm-util
1336                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
1337
1338         * libnm-util/nm-setting-8021x.c
1339                 - (nm_setting_802_1x_class_init): init libnm-util when needed
1340
1341 2008-09-05  Dan Williams  <dcbw@redhat.com>
1342
1343         Patch from Roy Marples <roy@marples.name> and others
1344
1345         * configure.in
1346           src/named-manager/nm-named-manager.c
1347                 - Add support for resolvconf; use --with-resolvconf at configure time
1348                         to enable it
1349
1350 2008-09-05  Dan Williams  <dcbw@redhat.com>
1351
1352         * libnm-util/crypto_nss.c
1353           libnm-util/crypto_gnutls.c
1354           libnm-util/crypto.h
1355                 - (crypto_init): return error when init fails
1356
1357 2008-09-05  Dan Williams  <dcbw@redhat.com>
1358
1359         * libnm-glib/nm-device-wifi.c
1360                 - (access_point_removed_proxy): clean up the active access point too
1361                         just in case the active ap changed signal didn't come through yet
1362                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
1363
1364 2008-09-05  Dan Williams  <dcbw@redhat.com>
1365
1366         * libnm-glib/nm-client.c
1367                 - (constructor): get initial state after we know whether NM is running
1368                         or not
1369
1370 2008-09-05  Dan Williams  <dcbw@redhat.com>
1371
1372         * libnm-glib/nm-ip4-config.c
1373           libnm-glib/nm-dhcp4-config.c
1374                 - (finalize): clean up the DBusGProxy
1375
1376 2008-09-04  Dan Williams  <dcbw@redhat.com>
1377
1378         * src/nm-ip4-config.c
1379           src/nm-ip4-config.h
1380                 - (nm_ip4_config_new): don't export over D-Bus here
1381                 - (nm_ip4_config_export): new function; export the config over D-Bus
1382                 - (nm_ip4_config_is_exported): new function
1383
1384         * src/nm-device.c
1385                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
1386                         objects by balancing the IP4Config constructor; the device holds
1387                         a reference to the IP4Config already
1388                 - (nm_device_set_ip4_config): export the IP4Config when needed
1389
1390 2008-09-04  Dan Williams  <dcbw@redhat.com>
1391
1392         * src/supplicant-manager/nm-supplicant-settings-verify.c
1393                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
1394
1395 2008-09-04  Dan Williams  <dcbw@redhat.com>
1396
1397         * libnm-util/nm-setting-vpn.c
1398           libnm-util/nm-setting-vpn.h
1399                 - Split VPN secrets from VPN data so that settings services can actually
1400                         figure out that they are secrets and store them accordingly
1401
1402         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1403           system-settings/plugins/keyfile/reader.c
1404           system-settings/plugins/keyfile/reader.h
1405           system-settings/plugins/keyfile/writer.c
1406                 - Store VPN secrets separately from VPN data so that they can be fetched
1407                         on demand
1408                 - Implement the get_secrets() call so that (a) secrets don't leak out
1409                         to unprivileged callers, and (b) secrets can be sent to privileged
1410                         callers when needed
1411
1412         * vpn-daemons/vpnc/src/nm-vpnc-service.c
1413                 - Handle split VPN secrets
1414
1415 2008-08-27  Dan Williams  <dcbw@redhat.com>
1416
1417         * system-settings/plugins/ifcfg-fedora/reader.c
1418                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
1419
1420 2008-08-27  Dan Williams  <dcbw@redhat.com>
1421
1422         Ensure zombie children get cleaned up.  To get notifications when children
1423         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
1424         that requires calling waitpid() yourself if you've removed the child watch
1425         handler before the process has actually died, which NM needs to do in a few
1426         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
1427         cleans up after the child when required.  Should fix problems trying to
1428         activate mobile broadband connections after a previous failure.
1429
1430         * src/dhcp-manager/nm-dhcp-dhclient.c
1431           src/dhcp-manager/nm-dhcp-dhcpcd.c
1432                 - Use G_SPAWN_DO_NOT_REAP_CHILD
1433
1434         * src/dhcp-manager/nm-dhcp-manager.c
1435                 - (nm_dhcp_device_destroy): ensure child is cleaned up
1436                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
1437                         block on child quitting, since the non-blocking functionality was
1438                         never actually used
1439
1440         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1441                 - (dm_watch_cb): child is already reaped here
1442                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
1443
1444         * src/nm-device.c
1445                 - (aipd_cleanup): block until child is dead
1446
1447         * src/named-manager/nm-named-manager.c
1448                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
1449                         event bothering to watch the child
1450
1451         * src/ppp-manager/nm-ppp-manager.c
1452                 - (ppp_watch_cb): child is already reaped here
1453                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
1454
1455         * src/vpn-manager/nm-vpn-service.c
1456                 - (vpn_service_watch_cb): child is already reaped here
1457                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
1458                         status of the child is actually tracked
1459                 - (ensure_killed, finalize): block until child is dead
1460
1461 2008-08-26  Dan Williams  <dcbw@redhat.com>
1462
1463         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1464                 - (update): Update filename of the connection if the connection id
1465                         was changed
1466
1467         * system-settings/plugins/keyfile/plugin.c
1468                 - (dir_changed): first pass at handling connection renames correctly
1469
1470         * system-settings/plugins/keyfile/writer.c
1471           system-settings/plugins/keyfile/writer.h
1472                 - (write_connection): replace '/' with '*' when writing out the filename
1473                         from the connection id
1474
1475 2008-08-26  Dan Williams  <dcbw@redhat.com>
1476
1477         Add connection UUIDs, since connection names can be changed, and since
1478         old-style connection IDs could change over the life of the connection.  The
1479         UUID should be assigned at connection creation time, be stable for a given
1480         connection, and should be unique among all connections for a given settings
1481         service.
1482
1483         * configure.in
1484           libnm-util/Makefile.am
1485                 - Require libuuid
1486
1487         * introspection/nm-exported-connection.xml
1488                 - Remove "GetID" method
1489
1490         * libnm-glib/nm-dbus-connection.c
1491           libnm-glib/nm-settings.c
1492           libnm-glib/nm-settings.h
1493                 - Remove id-related stuff
1494
1495         * libnm-util/nm-utils.c
1496           libnm-util/nm-utils.h
1497           libnm-util/libnm-util.ver
1498                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
1499                         utility functions to generate UUIDs
1500
1501         * libnm-util/nm-setting-connection.c
1502           libnm-util/nm-setting-connection.h
1503                 - Add 'uuid' member to the connection setting
1504                 - (verify): require valid 'uuid' for a valid connection
1505
1506         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
1507           system-settings/plugins/ifcfg-fedora/reader.c
1508           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
1509           system-settings/plugins/ifcfg-suse/parser.c
1510           system-settings/plugins/keyfile/nm-keyfile-connection.c
1511           system-settings/src/main.c
1512                 - Remove id-related stuff
1513                 - Give connections UUIDs where needed
1514
1515 2008-08-25  Dan Williams  <dcbw@redhat.com>
1516
1517         * libnm-util/crypto_gnutls.c
1518           libnm-util/crypto_nss.c
1519                 - (crypto_init, crypto_deinit): refcount init/deinit
1520                 - (crypto_md5_hash): allow NULL salt
1521
1522 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
1523
1524         * libnm-glib/Makefile.am
1525           libnm-util/Makefile.am
1526           libnm-glib/libnm_glib.ver
1527           libnm-glib/libnm_glib_vpn.ver
1528           libnm-util/libnm-util.ver
1529                 - Use linker version scripts to control the list of exported 
1530                 symbols. List each exported symbol explicitely.
1531         * libnm-util/Makefile.am
1532                 - Fix compilation of the test-crypto binary. The crypto
1533                 functions are no longer part of the libnm-util API. Add 
1534                 crypto_*.c to test_crypto_SOURCES and link against the correct
1535                 crypto libraries.
1536
1537 2008-08-19  Dan Williams  <dcbw@redhat.com>
1538
1539         * configure.in
1540           test/Makefile.am
1541                 - Don't build test/test-common
1542                 - Remove unused stuff
1543
1544         * test/nm-set-fallback
1545           test/nmtestdevices.c
1546           test/test-common/.cvsignore
1547           test/test-common/Makefile.am
1548           test/test-common/test-common.c
1549           test/test-common/test-common.h
1550                 - delete
1551
1552 2008-08-18  Dan Williams  <dcbw@redhat.com>
1553
1554         * libnm-util/nm-utils.c
1555           libnm-util/nm-utils.h
1556                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1557                         export anything that needs to be converted with this function
1558
1559         * src/dhcp-manager/nm-dhcp-manager.c
1560                 - (garray_to_string): convert a byte array to a UTF-8 string with
1561                         minimal validation; the DHCP client sends it in ASCII anyway
1562                 - (get_option, copy_option): use garray_to_string()
1563
1564 2008-08-18  Dan Williams  <dcbw@redhat.com>
1565
1566         * include/NetworkManager.h
1567           introspection/nm-device.xml
1568                 - Add a "missing firmware" device state reason
1569
1570         * src/NetworkManagerSystem.c
1571           src/NetworkManagerSystem.h
1572                 - (nm_system_device_set_up_down): add a no_firmware argument
1573                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1574                         IFF_UP is ENOENT, that almost always means missing firmware
1575
1576         * src/backends/NetworkManagerGeneric.c
1577           src/nm-device-ethernet.c
1578           src/nm-device-private.h
1579           src/nm-device-wifi.c
1580           src/nm-device.c
1581           src/nm-device.h
1582           src/nm-hso-gsm-device.c
1583           src/vpn-manager/nm-vpn-connection.c
1584                 - Pass no_firmware along; check it where appropriate
1585
1586 2008-08-18  Dan Williams  <dcbw@redhat.com>
1587
1588         Patch from Robert Buchholz <rbu@gentoo.org>
1589
1590         * autogen.sh
1591           configure.in
1592                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1593                         1003.1-1988, allowing for file names longer than 99 characters
1594
1595 2008-08-17  Dan Williams  <dcbw@redhat.com>
1596
1597         * include/NetworkManager.h
1598           introspection/nm-device.xml
1599           src/nm-gsm-device.c
1600                 - Finer-grained GSM registration failure error codes
1601
1602 2008-08-17  Dan Williams  <dcbw@redhat.com>
1603
1604         * callouts/Makefile.am
1605           src/Makefile.am
1606                 - Move dispatcher directory creation to callouts/Makefile.am
1607
1608         * system-settings/plugins/keyfile/Makefile.am
1609                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1610
1611 2008-08-15  Dan Williams  <dcbw@redhat.com>
1612
1613         Do connection sharing in a cleaner manner; all required iptables rules
1614         are now stored in the activation request and pertain only to the device
1615         which is being shared to other computers. (rh #458625)
1616
1617         * src/nm-activation-request.c
1618           src/nm-activation-request.h
1619                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1620                         the activation request which will get torn down automatically when
1621                         the activation request dies
1622                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1623                         is started, and tear them down when sharing is stopped
1624
1625         * src/nm-device.c
1626                 - (start_sharing): start up sharing by doing the required iptables magic
1627                 - (share_init): poke the right bits of the kernel and load the right
1628                         modules for NAT
1629                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1630                         connection if it's a 'shared' connection
1631
1632         * src/NetworkManagerPolicy.c
1633                 - Remove all sharing stuff; done in the device code itself
1634
1635 2008-08-15  Dan Williams  <dcbw@redhat.com>
1636
1637         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1638                 - (create_dm_cmd_line): send the right router address
1639
1640 2008-08-15  Dan Williams  <dcbw@redhat.com>
1641
1642         * src/ppp-manager/nm-ppp-manager.c
1643                 - (pppd_timed_out): ensure timeouts fail the connection
1644
1645 2008-08-14  Dan Williams  <dcbw@redhat.com>
1646
1647         * src/nm-properties-changed-signal.c
1648           src/nm-properties-changed-signal.h
1649                 - Add a property spec flag for "don't export this property" in
1650                         property changed signals
1651
1652         * src/nm-hso-gsm-device.c
1653           src/nm-gsm-device.c
1654           src/nm-cdma-device.c
1655                 - Don't export monitor interface or netdev interface properties
1656
1657 2008-08-14  Dan Williams  <dcbw@redhat.com>
1658
1659         * src/NetworkManagerPolicy.c
1660                 - (update_routing_and_dns): 'hso' devices can be default even if they
1661                         don't have a gateway
1662
1663 2008-08-14  Dan Williams  <dcbw@redhat.com>
1664
1665         * src/nm-device.c
1666                 - (nm_device_deactivate_quickly): tear down activation request after
1667                         calling device-specific deactivation
1668
1669         * src/nm-hso-gsm-device.c
1670                 - (real_deactivate_quickly): terminate connection when deactivating
1671
1672 2008-08-14  Dan Williams  <dcbw@redhat.com>
1673
1674         * src/nm-activation-request.h
1675                 - Add HSO secrets caller
1676
1677         * src/nm-gsm-device.c
1678           src/nm-gsm-device.h
1679                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1680                         something to the callback function
1681                 - (set_apn, set_apn_done): call class dial function, not a static one
1682                 - (nm_gsm_device_class_init): add a class 'dial' function
1683
1684         * src/nm-hal-manager.c
1685                 - (get_hso_netdev): find the hso-driven hardware's net device
1686                 - (modem_device_creator): recognize hso-driven hardware and create the
1687                         right type of device object for it
1688
1689         * src/Makefile.am
1690           src/nm-hso-gsm-device.c
1691           src/nm-hso-gsm-device.h
1692                 - Implement support for devices driven by the 'hso' driver as a subclass
1693                         of NMGsmDevice
1694
1695 2008-08-14  Dan Williams  <dcbw@redhat.com>
1696
1697         * src/NetworkManagerSystem.c
1698                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1699                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1700                         success if the operation really was successful
1701
1702 2008-08-14  Dan Williams  <dcbw@redhat.com>
1703
1704         * src/nm-netlink-monitor.c
1705           src/nm-netlink-monitor.h
1706           src/nm-device-ethernet.c
1707                 - (nm_netlink_monitor_request_status): return an error on failure
1708                 - (constructor): don't segfault on missing error
1709
1710 2008-08-13  Dan Williams  <dcbw@redhat.com>
1711
1712         * callouts/nm-dispatcher-action.c
1713                 - Add IP4 config info to script environment
1714
1715 2008-08-12  Dan Williams  <dcbw@redhat.com>
1716
1717         * src/nm-device.c
1718                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1719                         that want to use DHCP hostnames should use dispatcher scripts
1720                         for that
1721
1722         * src/NetworkManagerSystem.h
1723           src/backends/NetworkManagerArch.c
1724           src/backends/NetworkManagerDebian.c
1725           src/backends/NetworkManagerFrugalware.c
1726           src/backends/NetworkManagerGeneric.c
1727           src/backends/NetworkManagerGeneric.h
1728           src/backends/NetworkManagerGentoo.c
1729           src/backends/NetworkManagerMandriva.c
1730           src/backends/NetworkManagerPaldo.c
1731           src/backends/NetworkManagerRedHat.c
1732           src/backends/NetworkManagerSlackware.c
1733           src/backends/NetworkManagerSuSE.c
1734                 - Remove nm_system_set_hostname(), no longer used
1735           
1736         * src/backends/Makefile.am
1737           src/backends/shvar.c
1738           src/backends/shvar.h
1739                 - Remove shvar.*; no longer used
1740
1741 2008-08-12  Dan Williams  <dcbw@redhat.com>
1742
1743         Revert most of the 'hostname' patch.  Too much stuff still breaks when
1744         hostname is updated at runtime.  Distros or users who want hostname updates
1745         can use dispatcher scripts to update the hostname if they need it.
1746
1747 2008-08-12  Dan Williams  <dcbw@redhat.com>
1748
1749         * introspection/nm-settings-system.xml
1750           system-settings/src/dbus-settings.c
1751           system-settings/src/dbus-settings.h
1752                 - Add a 'Hostname' property (rw) which represents the configured
1753                         hostname and domain of the system, if any
1754
1755         * system-settings/src/nm-system-config-error.c
1756           system-settings/src/nm-system-config-error.h
1757           system-settings/src/nm-system-config-interface.c
1758           system-settings/src/nm-system-config-interface.h
1759                 - Add a 'hostname' property to the plugin interface
1760                 - Add a method to send updated hostname to plugins to save in their
1761                         backing configuration store
1762
1763         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1764           system-settings/plugins/keyfile/plugin.c
1765           system-settings/plugins/keyfile/writer.c
1766           system-settings/plugins/keyfile/writer.h
1767           system-settings/plugins/ifcfg-suse/plugin.c
1768                 - Add minimal hostname support
1769
1770         * system-settings/plugins/ifcfg-fedora/plugin.c
1771                 - Add support for updating system hostname in /etc/sysconfig/network
1772
1773 2008-08-12  Dan Williams  <dcbw@redhat.com>
1774
1775         * system-settings/plugins/ifcfg-fedora/shvar.c
1776           system-settings/plugins/ifcfg-fedora/shvar.c
1777                 - Fix double-free caused by svSetValue() followed by svCloseFile()
1778
1779 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1780
1781         * Makefile.am: Fix distcheck.
1782
1783 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1784
1785         * libnm-glib/*.c. Document some more.
1786
1787 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1788
1789         Start documenting libnm-glib public API using gtk-doc.
1790
1791         * libnm-glib/nm-serial-device.c: 
1792         * libnm-glib/nm-object.c: 
1793         * libnm-glib/nm-gsm-device.c: 
1794         * libnm-glib/nm-device.c: 
1795         * libnm-glib/nm-device-wifi.c: 
1796         * libnm-glib/nm-device-ethernet.c: 
1797         * libnm-glib/nm-client.c: 
1798         * libnm-glib/nm-cdma-device.c: Document the public API.
1799
1800         * docs/libnm-glib/libnm-glib.types: Implement.
1801
1802         * docs/libnm-glib/Makefile.am: Implement.
1803
1804         * autogen.sh: 
1805         * configure.in: 
1806         * Makefile.am: Add gtk-doc support.
1807
1808 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1809
1810         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
1811
1812         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
1813         the composite result of all the IP4 configurations and call a distro
1814         specific update_resolv_conf().
1815         (update_resolv_conf): Implement one for directly writing to 
1816         /etc/resolv.conf and one for opensuse to call netconfig.
1817
1818 2008-08-11  Dan Williams  <dcbw@redhat.com>
1819
1820         * src/ppp-manager/nm-ppp-manager.c
1821                 - (impl_ppp_manager_need_secrets): pass interface as required
1822
1823 2008-08-11  Dan Williams  <dcbw@redhat.com>
1824
1825         Merge the vpn-properties setting with the vpn setting since it was pointless
1826         to keep both of them around.  Convert the vpn 'data' hash table to a hash
1827         of string:string (instead of string:variant) so that system settings plugins
1828         can have an easier time dealing with the arbitrary key/value pairs.
1829
1830 2008-08-11  Dan Williams  <dcbw@redhat.com>
1831
1832         * libnm-util/nm-utils.c
1833                 - (nm_utils_register_value_transformations): add value transform for
1834                         a hash table of string:string
1835
1836 2008-08-10  Dan Williams  <dcbw@redhat.com>
1837
1838         * libnm-glib/nm-vpn-plugin.c
1839                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
1840                         an idle handler so the Connect reply gets delivered before the
1841                         stop StateChanged signal
1842
1843 2008-08-10  Dan Williams  <dcbw@redhat.com>
1844
1845         * src/nm-ip4-config.c
1846                 - (get_property): use common ip4 address/route conversion functions
1847                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
1848                         copy the new route here, not take ownership
1849
1850 2008-08-08  Tambet Ingo  <tambet@gmail.com>
1851
1852         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
1853         Update the IP4 setting's method name.
1854
1855 2008-08-07  Dan Williams  <dcbw@redhat.com>
1856
1857         * introspection/nm-ip4-config.xml
1858           libnm-glib/libnm-glib-test.c
1859           libnm-glib/nm-ip4-config.c
1860           libnm-glib/nm-ip4-config.h
1861           src/NetworkManagerSystem.h
1862           src/backends/NetworkManagerArch.c
1863           src/backends/NetworkManagerDebian.c
1864           src/backends/NetworkManagerFrugalware.c
1865           src/backends/NetworkManagerGeneric.c
1866           src/backends/NetworkManagerGeneric.h
1867           src/backends/NetworkManagerGentoo.c
1868           src/backends/NetworkManagerMandriva.c
1869           src/backends/NetworkManagerPaldo.c
1870           src/backends/NetworkManagerRedHat.c
1871           src/backends/NetworkManagerSlackware.c
1872           src/backends/NetworkManagerSuSE.c
1873           src/dhcp-manager/nm-dhcp-manager.c
1874           src/nm-device.c
1875           src/nm-ip4-config.c
1876           src/nm-ip4-config.h
1877                 - Remove NIS logic; should be done from dispatcher scripts instead
1878
1879 2008-08-07  Dan Williams  <dcbw@redhat.com>
1880
1881         * src/dhcp-manager/nm-dhcp-manager.c
1882                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
1883                         mis-handling of DHCP responses that returned more than one router
1884                         (found by Grant Williamson)
1885
1886 2008-08-07  Dan Williams  <dcbw@redhat.com>
1887
1888         * callouts/nm-dispatcher-action.c
1889                 - (nm_dispatcher_action): grab device path and create the device; pass
1890                         the device's DHCP4 config to script caller
1891                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
1892                         scripts
1893
1894         * libnm-glib/nm-dhcp4-config.c
1895           libnm-glib/nm-dhcp4-config.h
1896                 - (nm_dhcp4_config_get_options): expose
1897                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
1898
1899 2008-08-07  Dan Williams  <dcbw@redhat.com>
1900
1901         * include/NetworkManager.h
1902                 - Add the DHCP4Config D-Bus interface
1903
1904         * libnm-glib/Makefile.am
1905           libnm-glib/nm-dhcp4-config.c
1906           libnm-glib/nm-dhcp4-config.h
1907                 - Handle DHCP4 config objects exported by NM over D-Bus
1908
1909         * libnm-glib/nm-device.c
1910           libnm-glib/nm-device.h
1911                 - Add a 'dhcp4-config' property
1912
1913         * libnm-glib/libnm-glib-test.c
1914                 - Print out DHCP4 config for devices
1915                 - Fix some crashes when no connections are active
1916
1917         * src/nm-device-interface.c
1918           src/nm-device.c
1919           src/nm-dhcp4-config.c
1920           src/nm-dhcp4-config.h
1921                 - Treat dhcp4-config object as an object path at the D-Bus interface so
1922                         that when it doesn't exist we can proxy it as "/" which dbus-glib
1923                         doesn't let us do when the property type is G_TYPE_OBJECT
1924
1925 2008-08-07  Dan Williams  <dcbw@redhat.com>
1926
1927         * src/NetworkManager.c
1928           src/NetworkManagerSystem.h
1929           src/backends/NetworkManagerArch.c
1930           src/backends/NetworkManagerDebian.c
1931           src/backends/NetworkManagerFrugalware.c
1932           src/backends/NetworkManagerGeneric.c
1933           src/backends/NetworkManagerGeneric.h
1934           src/backends/NetworkManagerGentoo.c
1935           src/backends/NetworkManagerMandriva.c
1936           src/backends/NetworkManagerPaldo.c
1937           src/backends/NetworkManagerRedHat.c
1938           src/backends/NetworkManagerSlackware.c
1939           src/backends/NetworkManagerSuSE.c
1940                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
1941
1942 2008-08-06  Dan Williams  <dcbw@redhat.com>
1943
1944         * libnm-glib/nm-ip4-config.c
1945           libnm-glib/nm-ip4-config.h
1946                 - Add 'routes' property
1947
1948         * libnm-util/nm-setting-vpn.c
1949           libnm-util/nm-setting-vpn.h
1950                 - Remove 'routes' property
1951
1952         * libnm-util/nm-setting-ip4-config.c
1953           libnm-util/nm-setting-ip4-config.h
1954                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
1955                 - Add 'ignore-auto-routes' property
1956                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
1957                         accomodate route metrics
1958                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
1959
1960         * libnm-util/nm-utils.c
1961           libnm-util/nm-utils.h
1962                 - Add helpers for marshalling IP4 routes
1963
1964         * src/NetworkManagerUtils.c
1965                 - (nm_utils_merge_ip4_config): handle property renames and new route
1966                         structure
1967
1968         * src/NetworkManagerSystem.c
1969                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
1970                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
1971
1972         * src/dhcp-manager/nm-dhcp-manager.c
1973                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
1974
1975         * system-settings/plugins/ifcfg-fedora/reader.c
1976           system-settings/plugins/ifcfg-fedora/writer.c
1977                 - Handle routes separately from addresses now that routes have a different
1978                         format
1979
1980         * introspection/nm-ip4-config.xml
1981           src/nm-ip4-config.c
1982           src/nm-ip4-config.h
1983                 - Rename internal routing functions
1984                 - 'static-routes' renamed to 'routes'
1985
1986 2008-08-04  Dan Williams  <dcbw@redhat.com>
1987
1988         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
1989
1990         * src/NetworkManager.c
1991           src/nm-manager.c
1992           src/nm-manager.h
1993                 - More explicitly make the NMManager a singleton
1994
1995 2008-08-04  Dan Williams  <dcbw@redhat.com>
1996
1997         * libnm-util/nm-connection.c
1998           libnm-util/nm-connection.h
1999                 - (nm_connection_verify): return error on missing 'connection' setting
2000                         (found by Sjoerd Simons)
2001
2002 2008-08-04  Dan Williams  <dcbw@redhat.com>
2003
2004         Handle multiple concurrent PPP connections.
2005
2006         * src/ppp-manager/nm-ppp-manager.c
2007           src/ppp-manager/nm-ppp-manager.h
2008                 - (constructor): only PPP Manager request bus name once; each
2009                         NMPPPManager object gets a unique object path
2010                 - (nm_ppp_manager_class_init, get_property, set_property,
2011                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
2012                         at construct time
2013                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
2014                         remove timeout until PPP manager gets an IP4 config
2015                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
2016                         the plugin can call back to this specific PPP manager instance
2017
2018         * src/nm-device-ethernet.c
2019           src/nm-serial-device.c
2020                 - Pass parent device in nm_ppp_manager_new()
2021
2022         * src/nm-gsm-device.c
2023           src/nm-cdma-device.c
2024                 - (device_state_changed): don't close serial device on NEED_AUTH
2025                         state changed, that's not a failure case like the rest are
2026
2027         * src/ppp-manager/nm-pppd-plugin.c
2028                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
2029                         binds one interface to any pppd process, thus the correct index
2030                         is always 0; send PHASE_DEAD on error to alert NM immediately of
2031                         problems; try harder to get a peer address in spite of pppd
2032                 - (plugin_init): use 'ipparam' as the object path back to our specific
2033                         PPP manager instance
2034
2035 2008-08-04  Dan Williams  <dcbw@redhat.com>
2036
2037         * src/ppp-manager/nm-ppp-manager.c
2038                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
2039                         since the GSM and CDMA settings now implement need_secrets, we can
2040                         rely on them to do the right thing.  Where secrets are not required,
2041                         just pass empty strings back to the pppd plugin.
2042                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
2043                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
2044                         on successful IP4 config receipt
2045
2046 2008-08-04  Dan Williams  <dcbw@redhat.com>
2047
2048         * libnm-util/nm-setting-cdma.c
2049           libnm-util/nm-setting-gsm.c
2050                 - (verify): validate username & password if they exist
2051                 - (need_secrets): if username given, require a password too
2052
2053 2008-08-04  Dan Williams  <dcbw@redhat.com>
2054
2055         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2056                 - (create_dm_cmd_line): really don't listen on lo, despite what the
2057                         manpage says about --listen-address without --interface
2058                         (bgo #546033)
2059
2060 2008-08-01  Dan Williams  <dcbw@redhat.com>
2061
2062         * libnm-glib/nm-device.c
2063                 - (proxy_get_string): util function for querying a HAL property
2064                 - (get_ancestor_device): split out from get_product_and_vendor()
2065                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
2066                         from PCI devices by querying subsys properties
2067                 - (nm_device_update_description): simplify
2068
2069 2008-08-01  Dan Williams  <dcbw@redhat.com>
2070
2071         * libnm-util/nm-setting-ip4-config.c
2072           libnm-util/nm-setting-ip4-config.h
2073                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
2074                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
2075                         settings, and they don't necessarily use DHCP.
2076
2077         * src/NetworkManagerPolicy.c
2078           src/nm-device.c
2079           system-settings/plugins/ifcfg-fedora/reader.c
2080           system-settings/plugins/ifcfg-suse/parser.c
2081                 - Fixup for method changes
2082
2083 2008-07-31  Dan Williams  <dcbw@redhat.com>
2084
2085         * src/nm-activation-request.c
2086           src/vpn-manager/nm-vpn-connection.c
2087                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
2088                         itself should be attached to the activation request or the VPN
2089                         connection, not the NMConnection object, since the call is not
2090                         expected to live as long as the NMConnection itself
2091
2092 2008-07-31  Dan Williams  <dcbw@redhat.com>
2093
2094         * src/nm-device-wifi.c
2095                 - (real_act_stage2_config): fix issue where association would continue
2096                         even though secrets were needed; 'goto out' was in wrong scope and
2097                         result of handle_auth_or_fail() should have been dumped directly to
2098                         'ret' to ensure that the association was postponed until secrets
2099                         are available
2100
2101 2008-07-31  Dan Williams  <dcbw@redhat.com>
2102
2103         * system-settings/plugins/ifcfg-fedora/plugin.c
2104           system-settings/plugins/ifcfg-fedora/reader.c
2105                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
2106                         valid NM connection
2107
2108 2008-07-29  Dan Williams  <dcbw@redhat.com>
2109
2110         * src/nm-gsm-device.c
2111                 - (automatic_registration_response, automatic_registration): recognize
2112                         denied registration and reorder responses
2113
2114 2008-07-29  Dan Williams  <dcbw@redhat.com>
2115
2116         * src/nm-serial-device.c
2117                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
2118                         time(2) is used for current time, which returns seconds, we shouldn't
2119                         be multiplying by 1000.
2120
2121 2008-07-28  Dan Williams  <dcbw@redhat.com>
2122
2123         Patch from Fabrice Bellet <fabrice@bellet.info>
2124
2125         * src/NetworkManagerSystem.c
2126                 - (route_in_same_subnet): mask addresses and compare them so that the
2127                         function actually does what it says it's going to do (rh #456685)
2128
2129 2008-07-27  Dan Williams  <dcbw@redhat.com>
2130
2131         * libnm-util/nm-setting-ip6-config.c
2132                 - (set_property): add missing break that caused routes to be overwritten
2133                         with addresses
2134
2135         * libnm-util/nm-setting-ip6-config.c
2136                 - (verify): validate routes and return GError everywhere on invalid setting
2137                 - (finalize): don't leak routes
2138                 - (set_property): add missing break that caused routes to be overwritten
2139                         with addresses
2140
2141 2008-07-27  Dan Williams  <dcbw@redhat.com>
2142
2143         * libnm-util/*
2144                 - Relicense to LGPLv2+
2145
2146 2008-07-27  Dan Williams  <dcbw@redhat.com>
2147
2148         * system-settings/plugins/ifcfg-fedora/reader.c
2149                 - (make_ip4_setting): fix parsing automatic configs
2150
2151 2008-07-27  Dan Williams  <dcbw@redhat.com>
2152
2153         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2154           src/nm-device.c
2155           src/ppp-manager/nm-ppp-manager.c
2156                 - Ensure child process gets reaped.  The child watch function may be
2157                         removed from the mainloop before the child gets killed, so we have
2158                         to make sure the child is reaped when it's told to die intentionally
2159
2160 2008-07-27  Dan Williams  <dcbw@redhat.com>
2161
2162         Patch from Roy Marples <roy@marples.name>
2163
2164         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2165                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
2166
2167 2008-07-27  Dan Williams  <dcbw@redhat.com>
2168
2169         * src/nm-gsm-device.c
2170                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
2171                         Huawei devices turn echo back on after CPIN (rh #456770)
2172
2173 2008-07-24  Tambet Ingo  <tambet@gmail.com>
2174
2175         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
2176         format argument to g_set_error() call.
2177
2178         * src/backends/interface_parser.[ch]: Remove.
2179
2180         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
2181
2182 2008-07-21  Dan Williams  <dcbw@redhat.com>
2183
2184         * src/ppp-manager/nm-ppp-manager.c
2185                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
2186                         to prevent pppd from picking up some random local address from an
2187                         interface that doesn't have anything to do with the one we're
2188                         interested in (rh #455348)
2189
2190 2008-07-17  Dan Williams  <dcbw@redhat.com>
2191
2192         * libnm-util/nm-utils.c
2193                 - (string_to_utf8): general function for conversion to UTF-8 assisted
2194                         by locale
2195                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
2196                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
2197
2198 2008-07-17  Dan Williams  <dcbw@redhat.com>
2199
2200         * introspection/Makefile.am
2201           introspection/nm-device.xml
2202           introspection/nm-dhcp4-config.xml
2203                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
2204                         itself
2205         * src/nm-device-interface.c
2206           src/nm-device-interface.h
2207                 - Add the DHCP4Config property
2208
2209         * src/nm-device.c
2210                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
2211                         D-Bus clients when it changes
2212
2213         * src/nm-dhcp4-config.c
2214           src/nm-dhcp4-config.h
2215                 - Simple object to store DHCP4 options, export them over D-Bus, and
2216                         notify when they change
2217
2218         * src/dhcp-manager/nm-dhcp-manager.c
2219           src/dhcp-manager/nm-dhcp-manager.h
2220                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
2221                         filter server-returned DHCP options into an NMDHCP4Config object
2222
2223 2008-07-16  Dan Williams  <dcbw@redhat.com>
2224
2225         * introspection/nm-device.xml
2226                 - Add device state reasons
2227
2228 2008-07-16  Dan Williams  <dcbw@redhat.com>
2229
2230         Patch from Roy Marples <roy@marples.name>
2231
2232         * configure.in
2233                 - Add --with-dhcp-client option
2234
2235         * src/dhcp-manager/Makefile.am
2236                 - pass DHCP_CLIENT_PATH on compile line
2237
2238         * src/dhcp-manager/nm-dhcp-manager.c
2239           src/dhcp-manager/nm-dhcp-manager.h
2240                 - Genericize for both dhcpcd and dhclient
2241
2242         * src/dhcp-manager/nm-dhcp-dhclient.c
2243                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
2244
2245         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2246                 - Implement support for dhcpcd too
2247
2248 2008-07-16  Tambet Ingo  <tambet@gmail.com>
2249
2250         * system-settings/src/nm-system-config-interface.c 
2251         (nm_system_config_interface_supports_add): Implement.
2252         (nm_system_config_interface_add_connection): Return a boolean to notify
2253         of errors.
2254
2255         * system-settings/src/nm-polkit-helpers.c: 
2256         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
2257         a separate file.
2258
2259         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
2260         Return an error when none of the plugins support add or if addition
2261         failed for some reason.
2262
2263         * system-settings/src/nm-system-config-error.h: 
2264         * system-settings/src/nm-system-config-error.c: New files, mostly moved
2265         here from nm-polkit-helpers.[ch].
2266
2267         * system-settings/src/Makefile.am: Build new files.
2268
2269         * system-settings/plugins/keyfile/reader.c 
2270         (read_array_of_array_of_uint): Make it more general so that it would
2271         work for routes as well.
2272
2273         * system-settings/plugins/keyfile/writer.c
2274         (write_array_of_array_of_uint): Ditto.
2275         Fix the netmask/prefix writing.
2276
2277         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
2278         boolean to notify errors.
2279
2280         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
2281         Return more specific error.
2282         (delete): Ditto.
2283
2284 2008-07-11  Dan Williams  <dcbw@redhat.com>
2285
2286         Modify the NMDevice::state-changed signal to include the previous state
2287         and reason. Enables the applet to provide more information why device
2288         activation failed.
2289
2290 2008-07-09  Dan Williams  <dcbw@redhat.com>
2291
2292         * callouts/Makefile.am
2293           callouts/nm-avahi-autoipd-action.c
2294           callouts/nm-avahi-autoipd.conf
2295                 - avahi-autoipd callout to send options back to NM
2296
2297         * src/autoip.c
2298           src/autoip.h
2299                 - remove
2300
2301         * src/nm-device.c
2302           src/nm-device-private.h
2303           src/nm-manager.c
2304                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
2305                         old custom stuff
2306
2307 2008-07-07  Dan Williams  <dcbw@redhat.com>
2308
2309         * system-settings/plugins/ifcfg-fedora/reader.c
2310                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
2311                         handle PREFIX too; clean up
2312
2313 2008-07-07  Dan Williams  <dcbw@redhat.com>
2314
2315         Convert to using IPv4 prefixes instead of netmasks.
2316
2317 2008-07-03  Dan Williams  <dcbw@redhat.com>
2318
2319         * libnm-util/nm-setting-ip4-config.c
2320           libnm-util/nm-setting-ip4-config.h
2321                 - Add properties for DHCP Client Identifier and DHCP Hostname
2322
2323         * src/dhcp-manager/nm-dhcp-manager.c
2324           src/dhcp-manager/nm-dhcp-manager.h
2325                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
2326                         setting as an argument to pass on to the dhclient config file
2327                         creation function
2328                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
2329                         DHCP is torn down
2330                 - (dhclient_run): punt config file handling to create_dhclient_config()
2331                 - (create_dhclient_config): create an interface-specific dhclient
2332                         config file since there may need to be interface-specific options
2333                         passed to dhclient
2334                 - (merge_dhclient_config): merge normal distro dhclient config file and
2335                         add options from the connection
2336                 - (nm_dhcp_device_new): generate the interface specific dhclient
2337                         config file path once
2338                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
2339                         dhclient config file path
2340
2341         * src/nm-device.c
2342                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
2343                         DHCP manager when starting DHCP
2344
2345 2008-07-02  Dan Williams  <dcbw@redhat.com>
2346
2347         * libnm-util/nm-setting-8021x.c
2348                 - (verify): allow forcing the PEAP label to 0
2349
2350 2008-07-02  Dan Williams  <dcbw@redhat.com>
2351
2352         * introspection/nm-active-connection.xml
2353           introspection/nm-vpn-connection.xml
2354           libnm-glib/nm-active-connection.c
2355           src/nm-activation-request.c
2356           src/nm-active-connection.h
2357           src/vpn-manager/nm-vpn-connection.c
2358                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
2359                         and libnm-glib API since sharing didn't get implemented that way
2360
2361 2008-07-02  Dan Williams  <dcbw@redhat.com>
2362
2363         * src/nm-device-wifi.c
2364                 - (can_scan): don't scan when a shared connection is activated since
2365                         that makes drivers mad (causing disconnects); also NM doesn't need
2366                         to hedge against disconnects by keeping up-to-date network topology
2367                         because the connection originates from the local machine, and thus
2368                         there should be no disconnects
2369
2370 2008-07-01  Dan Williams  <dcbw@redhat.com>
2371
2372         Fix mobile broadband username/password issues.  NM was never requesting
2373         mobile broadband secrets, nor was it passing back the username and password
2374         if it had them.
2375
2376         * marshallers/nm-marshal.list
2377                 - Add some new types for activation request objects
2378
2379         * src/nm-activation-request.c
2380           src/nm-activation-request.h
2381                 - (get_secrets_cb): pass the caller type in the signal
2382                 - (nm_act_request_request_connection_secrets): take a caller type, so
2383                         that GetSecrets() reply handlers know who asked for the secrets in
2384                         the first place; use secret hints too so the settings service can
2385                         figure out exactly what NM wants (ie, PIN or the PPP password)
2386
2387         * src/ppp-manager/nm-ppp-manager.c
2388           src/ppp-manager/nm-ppp-manager.h
2389                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
2390                         detect needed secrets when the secret could be blank, like GSM/CDMA
2391                         passwords.  So always ask for secrets, and send a hint as to what
2392                         secret we really want.
2393                 - (nm_ppp_manager_update_secrets): make function more generic by making
2394                         the device specific class figure out the username and password, and
2395                         accept an error argument to return back over D-Bus
2396
2397         * src/nm-device-wifi.c
2398                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2399                         nm_act_request_request_connection_secrets()
2400                 - (real_connection_secrets_updated): update for 'caller' changes
2401
2402         * src/nm-device.c
2403           src/nm-device.h
2404                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
2405                         for 'caller' changes
2406
2407         * src/nm-device-ethernet.c
2408                 - (real_connection_secrets_updated): update for 'caller' changes and
2409                         move logic for getting PPPoE username and password here before
2410                         calling nm_ppp_manager_update_secrets()
2411                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2412                         nm_act_request_request_connection_secrets()
2413
2414         * src/nm-cdma-device.c
2415                 - (real_connection_secrets_updated): pass username and password back
2416                         to the PPP manager when required
2417
2418         * src/nm-gsm-device.c
2419                 - (enter_pin): send the required secret name to the settings service
2420                 - (real_connection_secrets_updated): pass username and password back
2421                         to the PPP manager when required
2422
2423 2008-06-30  Dan Williams  <dcbw@redhat.com>
2424
2425         * src/nm-device-wifi.c
2426                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
2427
2428 2008-06-30  Dan Williams  <dcbw@redhat.com>
2429
2430         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
2431         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
2432         priv->supplicant.iface.  When either condition is false, the device should
2433         transition back to UNAVAILABLE because it cannot be used.
2434
2435         * src/nm-device-wifi.c
2436                 - (constructor): cleanup; connect to supplicant manager here since the
2437                         supplicant manager is always around
2438                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
2439                         ensure the supplicant manager is in the IDLE state
2440                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
2441                         cancel any pending scans too
2442                 - (real_bring_up): don't set up the supplicnat interface here, because
2443                         we need the supplicant interface at times when the device may not
2444                         be "up"
2445                 - (real_take_down): just remove the periodic source
2446                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
2447                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
2448                         do anything if there's no supplicant interface
2449                 - (cleanup_association_attempt): cleanup
2450                 - (supplicant_iface_state_cb_handler): request an immediate scan when
2451                         the interface enters the READY state; transition to UNAVAILABLE
2452                         state when the interface goes down because the device can't be used
2453                         without a supplicant interface
2454                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
2455                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
2456                         acquire the supplicant interface and transition to DISCONNECTED
2457                         if the radio isn't killed
2458                 - (nm_device_wifi_dispose): move most of device_cleanup() here
2459                 - (state_changed_cb): release any existing supplicant interface; if the
2460                         radio is enabled then try to acquire a new supplicant interface;
2461                         if the radio is enabled and a supplicant interface has been acquired,
2462                         we can transition to DISCONNECTED
2463                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
2464                         don't enable the radio, because HAL probably lied to us about the
2465                         killswitch being off.  If bringing the hardware up worked, then
2466                         try to grab a supplicant interface, and if that was successful,
2467                         transition to DISCONNECTED
2468
2469 2008-06-30  Dan Williams  <dcbw@redhat.com>
2470
2471         * src/supplicant-manager/nm-supplicant-interface.c
2472                 - (request_scan_results, nm_supplicant_interface_dispose,
2473                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
2474                         the id of the timeout, not a GSource
2475
2476 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2477
2478         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
2479         bunch of typoes introduced by "Patch from David Cantrell 
2480         <dcantrell@redhat.com> and me".
2481
2482 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2483
2484         * src/nm-serial-device.c: 
2485         * src/nm-gsm-device.c: 
2486         * src/nm-cdma-device.c: Move the pending call handling to a common location
2487         in serial device. Handle setting device state to failed in one place as well.
2488
2489 2008-06-29  Dan Williams <dcbw@redhat.com>
2490
2491         * src/nm-hal-manager.c
2492                 - Rework killswitch handling to query killswitch status immediately
2493                         when the first killswitch is added, so that rfkill state is
2494                         known as early as possible
2495                 - Also treat failure of GetPower() as rfkill when the dbus method
2496                         call times out (but not when the HAL callout returns an error)
2497
2498 2008-06-26  Dan Williams <dcbw@redhat.com>
2499
2500         Patch from David Cantrell <dcantrell@redhat.com> and me
2501
2502         * include/nm-dbus-glib-types.h
2503                 - Add IP6 address types
2504
2505         * libnm-util/Makefile.am
2506           libnm-util/nm-setting-ip6-config.c
2507           libnm-util/nm-setting-ip6-config.h
2508                 - Add IP6 settings object
2509
2510         * libnm-util/nm-connection.c
2511                 - (register_default_settings): register ip6 settings object
2512
2513         * libnm-util/nm-utils.c
2514           libnm-util/nm-utils.h
2515                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
2516                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
2517                         ip6 address conversion functions
2518         
2519 2008-06-26  Dan Williams <dcbw@redhat.com>
2520
2521         Patch from David Cantrell <dcantrell@redhat.com>
2522         
2523         * Use inet_ntop() and inet_pton() everwhere and check for errors
2524
2525 2008-06-26  Dan Williams <dcbw@redhat.com>
2526
2527         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
2528
2529 2008-06-26  Dan Williams <dcbw@redhat.com>
2530
2531         Patch from Adel Gadllah <adel.gadllah@gmail.com>
2532
2533         * src/nm-device-wifi.c
2534                 - (link_timeout_cb): don't ignore disconnects due to scanning
2535                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2536                         a longer timeout when scanning; avoids case where supplicant can't
2537                         find the AP and just keeps scanning forever but isn't connected
2538
2539 2008-06-26  Dan Williams <dcbw@redhat.com>
2540
2541         Patch from Michael Biebl <biebl@debian.org>
2542
2543         * Clean up build system stuff
2544
2545 2008-06-23  Christian Persch  <chpe@gnome.org>
2546
2547         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2548         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2549         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2550         (impl_get_object):
2551         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2552         (impl_get_object):
2553         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2554         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2555         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2556         (impl_get_object):
2557         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2558         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2559         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2560         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2561         * vpn-daemons/pptp/properties/vpnui_opt.c:
2562         (vpnui_opt_connect_signals):
2563         * vpn-daemons/pptp/properties/vpnui_opt.h:
2564         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2565         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2566         deprecated gtk type macros. Bug #539325.
2567
2568 2008-06-20  Dan Williams  <dcbw@redhat.com>
2569
2570         * libnm-glib/nm-vpn-plugin-ui-interface.c
2571           libnm-glib/nm-vpn-plugin-ui-interface.h
2572                 - 'validity-changed' -> 'changed' to work better with the connection
2573                         editor.  Plugin UI widgets should emit 'changed' whenever their
2574                         UI values change in a meaningful way.
2575                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2576                         update_connection member now returns validity of the UI widget
2577
2578 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2579
2580         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2581
2582 2008-06-17  Dan Williams  <dcbw@redhat.com>
2583
2584         * libnm-glib/nm-vpn-plugin-ui-interface.c
2585           libnm-glib/nm-vpn-plugin-ui-interface.h
2586                 - Add "desc" property for longer descriptions of the VPN plugin
2587
2588 2008-06-16  Dan Williams  <dcbw@redhat.com>
2589
2590         * configure.in
2591           libnm-glib/libnm_glib_vpn.pc.in
2592                 - add a .pc file for libnm_glib_vpn
2593
2594         * libnm-glib/nm-vpn-plugin-ui-interface.c
2595           libnm-glib/nm-vpn-plugin-ui-interface.h
2596                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2597                         rework it substantially
2598
2599 2008-06-12  Dan Williams  <dcbw@redhat.com>
2600
2601         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2602         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2603         returns a descriptive GError when verification fails.
2604
2605 2008-06-11  Dan Williams  <dcbw@redhat.com>
2606
2607         Patch from Tambet Ingo <tambet@gmail.com>
2608
2609         * libnm-util/nm-setting-gsm.c
2610                 - (verify): validate APN
2611
2612         * src/nm-gsm-device.c
2613                 - (manual_registration_done): start setting APN if needed
2614                 - (set_apn, set_apn_done): set the APN
2615                 - (do_dial): use the APN when dialing
2616
2617 2008-06-11  Dan Williams  <dcbw@redhat.com>
2618
2619         * src/NetworkManagerSystem.c
2620                 - (nm_system_device_set_ip4_route,
2621                    nm_system_device_replace_default_ip4_route): check for the right
2622                         return value from rtnl_route_add() to know when to add a gateway
2623                         route (from Tambet)
2624
2625 2008-06-11  Dan Williams  <dcbw@redhat.com>
2626
2627         * src/NetworkManagerPolicy.c
2628                 - do_ipt_cmd -> do_cmd
2629                 - (sharing_init): use do_cmd() instead of system()
2630
2631 2008-06-10  Dan Williams  <dcbw@redhat.com>
2632
2633         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2634         and use "wifi" everwhere instead.
2635
2636 2008-06-10  Dan Williams  <dcbw@redhat.com>
2637
2638         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2639
2640 2008-06-10  Dan Williams  <dcbw@redhat.com>
2641
2642         Patch from Tambet Ingo <tambet@gmail.com>
2643
2644         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2645                 changes.
2646
2647         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2648                 a signal to emit these changes over dbus.
2649
2650         * src/Makefile.am: Genereate nm-serial-device-glue.
2651
2652         * libnm-glib/nm-serial-device.[ch]: Implement.
2653
2654         * libnm-glib/nm-cdma-device.[ch]
2655           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2656
2657         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2658
2659         * introspection/nm-device-serial.xml: Implement.
2660
2661         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2662
2663         * introspection/Makefile.am: Add nm-device-serial.xml.
2664
2665         * include/NetworkManager.h: Add a DBus interface for serial device.
2666
2667 2008-06-10  Dan Williams  <dcbw@redhat.com>
2668
2669         * configure.in
2670                 - Add TARGET_* define to config.h to distinguish distros
2671
2672         * src/dhcp-manager/nm-dhcp-manager.c
2673                 - (dhclient_run): use distro-specific path for dhclient config file
2674
2675 2008-06-09  Dan Williams  <dcbw@redhat.com>
2676
2677         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2678           src/dnsmasq-manager/nm-dnsmasq-manager.h
2679                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2680                         calculate the addresses passed to dnsmasq instead of hard-coding
2681                         them
2682
2683         * src/nm-device.c
2684                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2685                         IP addresses for shared connections to guard against shared
2686                         connection address collisions
2687                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2688                         error conditions
2689                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2690                         the dnsmasq manager
2691
2692 2008-06-09  Dan Williams  <dcbw@redhat.com>
2693
2694         * src/NetworkManagerPolicy.c
2695                 - (update_routing_and_dns): set the default connection _after_ unsetting
2696                         default on all non-default connections so that two connections can
2697                         never be default at the same time
2698                 - (device_state_changed): start and stop connection sharing when
2699                         needed
2700                 - (active_connection_default_changed): restart or stop sharing when
2701                         the default connection changes to keep shared connections always
2702                         NAT-ed through the default connection
2703                 - (check_sharing): handle activation/deactivation of shared connections
2704                 - (sharing_restart): atom-bomb approach to connection sharing until we
2705                         can use libnl; reinit all sharing when the default connection or
2706                         shared connections change
2707                 - (sharing_init, sharing_stop): evil functions that init and deinit
2708                         iptables
2709
2710 2008-06-09  Dan Williams  <dcbw@redhat.com>
2711
2712         * src/nm-activation-request.c
2713           src/nm-activation-request.h
2714                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2715                    nm_act_request_get_device): new functions to facilitate connection
2716                         sharing
2717
2718 2008-06-09  Dan Williams  <dcbw@redhat.com>
2719
2720         * src/nm-device.c
2721                 - (clear_act_request): unset the 'default' property of the activation
2722                         request when clearing it to ensure the property changed signal gets
2723                         delivered and handled
2724
2725 2008-06-09  Dan Williams  <dcbw@redhat.com>
2726
2727         * libnm-glib/nm-device-802-11-wireless.c
2728                 - (access_point_removed_proxy): actually unref the AP after removing
2729                         it from the device's AP list.  Fixes refcounting bug for APs that
2730                         caused them to get mixed up in the applet's menu.
2731
2732 2008-06-09  Tambet Ingo  <tambet@gmail.com>
2733
2734         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
2735         (nm_dhcp_device_destroy): Destroy the device options hash table.
2736
2737 2008-06-06  Dan Williams <dcbw@redhat.com>
2738
2739         * system-settings/src/nm-polkit-helpers.c
2740                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
2741                         unref the context if the initialization fails; also avoid spew when
2742                         the error isn't set
2743
2744 2008-06-06  Dan Williams <dcbw@redhat.com>
2745
2746         Patch from Tambet Ingo  <tambet@gmail.com>
2747
2748         * src/NetworkManagerSystem.c
2749           src/NetworkManagerSystem.h
2750                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
2751                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
2752                 - (nm_system_device_set_ip4_route): clean up
2753                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
2754
2755         * src/nm-device.c
2756                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
2757
2758         * src/vpn-manager/nm-vpn-connection.c
2759                 - (ip_address_to_string): new function
2760                 - (print_vpn_config): use ip_address_to_string
2761                 - (merge_vpn_routes): add user-defined routes to the ip4 config
2762                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
2763
2764         * include/NetworkManagerVPN.h
2765                 - Add 'routes' key
2766
2767 2008-06-05  Dan Williams <dcbw@redhat.com>
2768
2769         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2770
2771         * test/nm-tool.c
2772                 - Show which device is the default device
2773
2774 2008-06-05  Tambet Ingo  <tambet@gmail.com>
2775
2776         Fix memory leaks.
2777
2778         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
2779         Free data returned from dbus method call.
2780
2781         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
2782         dbus_g_method_get_sender() returns a duplicated string, free it 
2783         when done.
2784         (check_polkit_privileges): Looks like policykit sometimes returns
2785         error and non-null return value, don't leak errors in that case.
2786
2787         * system-settings/src/main.c (find_plugin): Don't leak existing 
2788         plugin names.
2789         (load_stuff): Don't leak device list and list items.
2790         (have_connection_for_device): Don't leak connection list.
2791
2792         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
2793         Free the data received from g_keyfile_get_*.
2794
2795         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
2796         the key when the security object is updated.
2797
2798         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
2799         Free data returned from dbus method call.
2800         (iface_state_cb): Ditto.
2801         (add_network_cb): Ditto.
2802         (nm_supplicant_interface_add_cb): Don't make another copy of already
2803         duplicated object path.
2804         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
2805         when done.
2806
2807         * src/supplicant-manager/nm-supplicant-config.c 
2808         (ADD_STRING_LIST_VAL): Fix a memory leak.
2809
2810         * src/nm-manager.c (free_get_settings_info): Free the allocated
2811         memory slice.
2812         (list_connections_cb): Free data returned from dbus method call.
2813         (system_settings_get_unmanaged_devices_cb): Ditto.
2814
2815         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
2816
2817         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
2818         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
2819         * src/backends/shvar.c (svCloseFile): Free the duplicated content
2820         of the GList.
2821
2822         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
2823         arguments after the object is created.
2824
2825 2008-06-04  Dan Williams <dcbw@redhat.com>
2826
2827         * libnm-util/Makefile.am
2828                 - Don't distribute nm-param-spec-specialized.h
2829
2830 2008-06-02  Tambet Ingo  <tambet@gmail.com>
2831
2832         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
2833
2834         * src/nm-ip4-config.[ch]: Store the static routes as a list of
2835         NMIP4Address, update the getters and setters.
2836
2837         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2838         Use the updated NMIP4Config routes api.
2839
2840         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
2841         static routes as well.
2842
2843         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
2844         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
2845         routes api.
2846
2847 2008-05-30  Dan Williams <dcbw@redhat.com>
2848
2849         * src/named-manager/nm-named-manager.c
2850           src/named-manager/nm-named-manager.h
2851                 - Remove stale/obsolete bits for controlling bind over DBus
2852
2853 2008-05-29  Dan Williams <dcbw@redhat.com>
2854
2855         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2856           src/dnsmasq-manager/nm-dnsmasq-manager.h
2857                 - (nm_dnsmasq_manager_new): move iface argument here
2858                 - (constructor): remove, not needed
2859                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
2860                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
2861
2862         * src/nm-device.c
2863                 - (real_act_stage4_get_ip4_config,
2864                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
2865                         changes
2866
2867 2008-05-29  Dan Williams <dcbw@redhat.com>
2868
2869         * src/nm-device.c
2870                 - (dnsmasq_state_changed_cb): new function; fail the connection if
2871                         something happens to dnsmasq
2872                 - (nm_device_new_ip4_shared_config): new function; create a new
2873                         ip4-config for shared connections.  Shared connections always use a
2874                         fixed static IP address.
2875                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
2876                         autoip connections by actually using the returned ip4-config and
2877                         not leaking it
2878                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
2879                         connections
2880                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
2881                         if its active
2882
2883 2008-05-29  Dan Williams <dcbw@redhat.com>
2884
2885         * src/nm-device-802-11-wireless.c
2886                 - (real_get_best_auto_connection): auto-activate 'shared' method
2887                         connections too
2888
2889 2008-05-29  Dan Williams <dcbw@redhat.com>
2890
2891         * libnm-util/nm-setting-ip4-config.c
2892           libnm-util/nm-setting-ip4-config.h
2893                 - Add a 'shared' method to indicate that this connection should be
2894                         brought up with a DHCP and proxy DNS server to facilitate
2895                         connection sharing.
2896                 - (verify): 'shared' method doesn't allow DNS or searches either
2897
2898 2008-05-29  Dan Williams <dcbw@redhat.com>
2899
2900         * configure.in
2901           src/Makefile.am
2902           src/dnsmasq-manager/Makefile.am
2903           src/dnsmasq-manager/nm-dnsmasq-manager.c
2904           src/dnsmasq-manager/nm-dnsmasq-manager.h
2905                 - Add a dnsmasq daemon manager to facilitate connection sharing
2906
2907 2008-05-29  Dan Williams <dcbw@redhat.com>
2908
2909         * src/nm-device-private.h
2910                 - Remove unused prototypes and clean up
2911
2912         * src/nm-device.c
2913                 - Remove anything related to system_config_data, which is no longer used
2914                 - (nm_device_new_ip4_autoip_config): make static
2915
2916 2008-05-29  Tambet Ingo  <tambet@gmail.com>
2917
2918         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
2919         (file_changed): Fix a bug where suse system settings plugin didn't
2920         update the connections automatically when the files changed.
2921
2922 2008-05-28  Dan Williams  <dcbw@redhat.com>
2923
2924         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
2925
2926 2008-05-28  Dan Williams  <dcbw@redhat.com>
2927
2928         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2929
2930         * src/NetworkManagerSystem.c
2931                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
2932                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
2933                         was causing -EINVAL errors since the libnl code actually does flush
2934                         the routes on VPN interfaces now
2935
2936         * src/backends/NetworkManagerArch.c
2937           src/backends/NetworkManagerDebian.c
2938           src/backends/NetworkManagerFrugalware.c
2939           src/backends/NetworkManagerGeneric.c
2940           src/backends/NetworkManagerGentoo.c
2941           src/backends/NetworkManagerMandriva.c
2942           src/backends/NetworkManagerPaldo.c
2943           src/backends/NetworkManagerRedHat.c
2944           src/backends/NetworkManagerSlackware.c
2945           src/backends/NetworkManagerSuSE.c
2946                 - (nm_system_device_flush_ip4_routes,
2947                    nm_system_device_flush_ip4_routes_with_iface): remove
2948
2949 2008-05-28  Dan Williams  <dcbw@redhat.com>
2950
2951         * libnm-util/nm-setting-wireless.c
2952           libnm-util/nm-setting-wireless.h
2953                 - (set_property, get_property, nm_setting_wireless_class_init): add the
2954                         'adhoc-create' property, which when TRUE indicates that NM should
2955                         create this connection as an adhoc wifi network if it's not found
2956                         as an adhoc network during scanning.  Can be used to auto-create
2957                         adhoc networks when used in combination with autoconnect.
2958
2959 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2960
2961         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
2962
2963         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
2964         checked, it doesn't work on some devices.
2965
2966 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2967
2968         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
2969         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
2970
2971         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2972         Use inet_aton() everywhere to improve error detection.
2973         Don't fall back to 'dhcp_server_identifier' if the gateway is not
2974         provided.
2975
2976 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2977
2978         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
2979         Fix a typo.
2980
2981 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2982
2983         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
2984         reference counting issue.
2985
2986 2008-05-23  Dan Williams  <dcbw@redhat.com>
2987
2988         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2989
2990         * src/backends/NetworkManagerGeneric.c
2991                 - (nm_generic_enable_loopback): use libnl
2992
2993 2008-05-23  Dan Williams  <dcbw@redhat.com>
2994
2995         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2996
2997         * src/NetworkManagerSystem.h
2998           src/backends/NetworkManagerArch.c
2999           src/backends/NetworkManagerDebian.c
3000           src/backends/NetworkManagerFrugalware.c
3001           src/backends/NetworkManagerGentoo.c
3002           src/backends/NetworkManagerMandriva.c
3003           src/backends/NetworkManagerPaldo.c
3004           src/backends/NetworkManagerRedHat.c
3005           src/backends/NetworkManagerSlackware.c
3006           src/backends/NetworkManagerSuSE.c
3007                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
3008                    nm_system_flush_arp_cache): remove, unused
3009
3010         * src/backends/NetworkManagerGeneric.c
3011           src/backends/NetworkManagerGeneric.h
3012                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
3013                    nm_generic_flush_arp_cache): remove, unused
3014
3015 2008-05-23  Dan Williams  <dcbw@redhat.com>
3016
3017         * system-settings/plugins/ifcfg-fedora/reader.c
3018                 - (make_ip4_setting): honor PEERDNS setting
3019
3020 2008-05-23  Dan Williams  <dcbw@redhat.com>
3021
3022         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3023
3024         * src/NetworkManagerSystem.c
3025                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
3026                         libnl
3027
3028         * src/backends/NetworkManagerArch.c
3029           src/backends/NetworkManagerDebian.c
3030           src/backends/NetworkManagerFrugalware.c
3031           src/backends/NetworkManagerGentoo.c
3032           src/backends/NetworkManagerMandriva.c
3033           src/backends/NetworkManagerPaldo.c
3034           src/backends/NetworkManagerRedHat.c
3035           src/backends/NetworkManagerSlackware.c
3036           src/backends/NetworkManagerSuSE.c
3037                 - (nm_system_device_flush_ip4_addresses,
3038                    nm_system_device_flush_ip4_addresses_with_iface): remove
3039
3040         * src/backends/NetworkManagerGeneric.c
3041                 - (nm_generic_device_flush_ip4_addresses,
3042                    nm_generic_device_flush_ip4_addresses_with_iface): remove
3043
3044 2008-05-23  Dan Williams  <dcbw@redhat.com>
3045
3046         * src/supplicant-manager/nm-supplicant-settings-verify.c
3047                 - Switch 'bssid' from bytes to keyword type
3048                 - (validate_type_keyword): allow NULL keyword lists
3049
3050         * src/supplicant-manager/nm-supplicant-config.c
3051                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
3052                         a byte array to string form, which is what the supplicant expects
3053
3054 2008-05-23  Tambet Ingo  <tambet@gmail.com>
3055
3056         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
3057         information received from DHCP.
3058
3059         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
3060         to make it possible to ignore the DNS information (both servers and 
3061         searches) returned by DHCP server.
3062
3063         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
3064         name servers and searches if "ignore_dhcp_dns" is set.
3065
3066         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
3067         (nm_ip4_config_reset_searches): Implement.
3068
3069 2008-05-22  Dan Williams  <dcbw@redhat.com>
3070
3071         Remove anything mDNS related.  This is better done from a distro-specific
3072         dispatcher script.  Plus, any distro using avahi doesn't need to restart
3073         avahi, since avahi can handle interface changes just fine using netlink.
3074
3075         * configure.in
3076                 - Remove --with-mdns-provider
3077
3078         * src/NetworkManagerPolicy.c
3079                 - (global_state_changed): don't restart the mdns provider
3080
3081         * src/NetworkManagerSystem.h
3082           src/backends/NetworkManagerArch.c
3083           src/backends/NetworkManagerDebian.c
3084           src/backends/NetworkManagerFrugalware.c
3085           src/backends/NetworkManagerGentoo.c
3086           src/backends/NetworkManagerMandriva.c
3087           src/backends/NetworkManagerPaldo.c
3088           src/backends/NetworkManagerRedHat.c
3089           src/backends/NetworkManagerSlackware.c
3090           src/backends/NetworkManagerSuSE.c
3091                 - (nm_system_restart_mdns_responder): remove
3092
3093         * src/backends/NetworkManagerGeneric.c
3094           src/backends/NetworkManagerGeneric.h
3095                 - (nm_generic_restart_mdns_responder): remove
3096
3097 2008-05-22  Dan Williams  <dcbw@redhat.com>
3098
3099         * configure.in
3100                 - clean up crypto options; just use --with-crypto=nss or
3101                         --with-crypto=gnutls
3102
3103 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3104
3105         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
3106         anymore, do it right away.
3107
3108 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3109
3110         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
3111         serial device open when we're not connecting or connected.
3112
3113         * src/nm-cdma-device.c (device_state_changed): Ditto.
3114
3115 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3116
3117         Don't remove all devices on waking up, sync with HAL.
3118
3119         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
3120         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
3121         (hal_manager_hal_reappeared_cb): Just call sync_devices.
3122
3123 2008-05-21  Tambet Ingo  <tambet@gmail.com>
3124
3125         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
3126         If the default gateway is unreachable, add a route to gateway and try
3127         again.
3128
3129 2008-05-20  Dan Williams  <dcbw@redhat.com>
3130
3131         * system-settings/plugins/ifcfg-fedora/reader.c
3132                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
3133
3134 2008-05-19  Dan Williams  <dcbw@redhat.com>
3135
3136         * system-settings/plugins/ifcfg-fedora/reader.c
3137                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
3138                         if the ifcfg doesn't specify one (rh #446527)
3139
3140 2008-05-19  Dan Williams  <dcbw@redhat.com>
3141
3142         Make the system settings service exit when the bus goes away.  Since it's
3143         a bus-activated service, it's lifetime is limited to the bus that activated
3144         it (rh #444976).
3145
3146         * system-settings/src/Makefile.am
3147           system-settings/src/nm-system-config-hal-manager-private.h
3148                 - Remove nm-system-config-hal-manager-private.h
3149
3150         * system-settings/src/nm-system-config-hal-manager.c
3151                 - (nm_system_config_hal_manager_reinit_dbus,
3152                    nm_system_config_hal_manager_deinit_dbus): remove
3153
3154         * system-settings/src/main.c
3155                 - (dbus_reconnect): remove
3156                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
3157                 - (destroy_cb): just quit when the bus goes away
3158                 - (start_dbus_service, dbus_init): simplify
3159                 - (main): destroy the wired devices hash table after destroying
3160                         the HAL manager so we don't have to disconnect signals from the
3161                         HAL manager
3162
3163 2008-05-15  Tambet Ingo  <tambet@gmail.com>
3164
3165         Move crypto functions from nm-applet to libnm-util.
3166
3167         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
3168         (nm_setting_802_1x_set_client_cert)
3169         (nm_setting_802_1x_set_phase2_ca_cert)
3170         (nm_setting_802_1x_set_phase2_client_cert)
3171         (nm_setting_802_1x_set_private_key)
3172         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
3173         file (or private key and it's password), read the certificate data.
3174
3175         * libnm-util/crypto_nss.c: 
3176         * libnm-util/crypto_gnutls.c: 
3177         * libnm-util/crypto.[ch]: Move here from nm-applet.
3178
3179         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
3180
3181         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
3182         Imlement WPA-EAP configuration reading from sysconfig.
3183
3184 2008-05-16  Dan Williams  <dcbw@redhat.com>
3185
3186         * src/nm-device-802-11-wireless.c
3187                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
3188                         wireless
3189
3190 2008-05-14  Dan Williams  <dcbw@redhat.com>
3191
3192         Fix Linus' bug in rh #134886
3193
3194         * src/nm-device-802-3-ethernet.c
3195                 - (constructor): request initial carrier state
3196
3197         * src/nm-netlink-monitor.c
3198                 - (nm_netlink_monitor_request_status): schedule emission of carrier
3199                         signals after refilling the link cache.  Because the refill is a 
3200                         synchronous operation, the normal message hander won't get called
3201                         since libnl has already consumed the messages.
3202                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
3203
3204 2008-05-14  Dan Williams  <dcbw@redhat.com>
3205
3206         * src/NetworkManagerSystem.c
3207                 - (nm_system_device_is_up_with_iface): clean up
3208
3209 2008-05-13  Dan Williams  <dcbw@redhat.com>
3210
3211         Fix refcounting issues over sleep/wake when a VPN connection was active that
3212         caused NM to try registering an object path for a device upon wake that was
3213         the same as an already registered object path.
3214
3215         * src/nm-device.c
3216                 - (nm_device_take_down): properly handle cases where the device is
3217                         no longer active but was just active, and therefore must be
3218                         deactivated.  When a device moves to unmanaged mode, this function
3219                         previously would not deactivate the device, because the state was
3220                         already unmanaged by the time this function was called.
3221
3222         * src/vpn-manager/nm-vpn-connection.c
3223                 - (device_state_changed): properly handle multiple devices states in
3224                         which the device is now deactivated.  Code previously didn't handle
3225                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
3226                         UNMANAGED states.
3227
3228 2008-05-13  Dan Williams  <dcbw@redhat.com>
3229
3230         * src/nm-device-private.h
3231           src/nm-device.c
3232                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
3233
3234         * src/nm-device-802-11-wireless.c
3235                 - (nm_device_802_11_wireless_set_enabled): take devices up
3236                         and down as appropriate for the rfkill state
3237
3238 2008-05-13  Dan Williams  <dcbw@redhat.com>
3239
3240         * marshallers/nm-marshal.list
3241                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
3242
3243         * system-settings/plugins/ifcfg-fedora/Makefile.am
3244           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
3245           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
3246                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
3247                         events.  Solely for use watching ifcfg files to pick up changes
3248                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
3249
3250         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3251                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
3252                         file contents change
3253                 - (finalize): clean up inotify watches
3254                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
3255                         and the connection ifcfg for changes on their hardlinks
3256                 - (files_changed_cb): proxy the changed signal back out to listeners
3257
3258         * system-settings/plugins/ifcfg-fedora/plugin.c
3259                 - (dir_changed): 
3260                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
3261                         changes
3262                 - (read_one_connection): connect to change signals on the new connection
3263                 - (dir_changed, connection_changed_handler,
3264                    handle_connection_remove_or_new): break out connection change
3265                         handling and connection new/remove handling so it can be used from
3266                         both the GFileMonitor callback and the NMIfcfgConnection changed
3267                         signals
3268
3269         * system-settings/plugins/ifcfg-fedora/reader.c
3270           system-settings/plugins/ifcfg-fedora/reader.h
3271                 - (connection_from_file): return the keyfile path the connection would use
3272
3273 2008-05-13  Tambet Ingo  <tambet@gmail.com>
3274
3275         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
3276         single PolKitContext which is shared by all. PolKitContext::unref leaks
3277         just about everything, including all open file descriptiors and results
3278         in 99% cpu usage when data arrives to any of the fds that don't belong
3279         to any context anymore.
3280
3281 2008-05-12  Dan Williams  <dcbw@redhat.com>
3282
3283         * gfilemonitor/glocaldirectorymonitor.c
3284           gfilemonitor/glocaldirectorymonitor.h
3285                 - (g_local_directory_monitor_constructor): actually subscribe to the
3286                         watch
3287                 - (_g_local_directory_monitor_new): ensure that inotify is started up
3288
3289         * gfilemonitor/glocalfilemonitor.c
3290           gfilemonitor/glocalfilemonitor.h
3291                 - (g_local_file_monitor_constructor): actually subscribe to the watch
3292                 - (_g_local_file_monitor_new): ensure that inotify is started up
3293
3294 2008-05-11  Dan Williams  <dcbw@redhat.com>
3295
3296         * configure.in
3297                 - record PolicyKit version
3298
3299         * system-settings/src/nm-polkit-helpers.c
3300                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
3301                         with PolicyKit <= 0.6
3302
3303 2008-05-11  Dan Williams  <dcbw@redhat.com>
3304
3305         Update Fedora system-settings plugin to support latest API and use
3306         GFileMonitor rather than home-rolled inotify code.
3307
3308         * system-settings/plugins/ifcfg-fedora/Makefile.am
3309           system-settings/plugins/ifcfg-fedora/common.h
3310           system-settings/plugins/ifcfg-fedora/plugin.c
3311                 - Update to latest system settings plugin API; use GIO instead of
3312                         custom inotify code; use NMIfcfgConnection objects instead of
3313                         ConnectionData structures tacked onto NMConnection objects
3314
3315         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3316           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
3317                 - Implement an NMExportedConnection subclass mapping ifcfg files to
3318                         connections
3319
3320         * system-settings/plugins/ifcfg-fedora/reader.c
3321           system-settings/plugins/ifcfg-fedora/reader.h
3322                 - Move ifcfg parsing bits here from parser.c
3323
3324         * system-settings/plugins/ifcfg-fedora/parser.c
3325           system-settings/plugins/ifcfg-fedora/parser.h
3326                 - Remove; most code moved to reader.c
3327
3328 2008-05-11  Dan Williams  <dcbw@redhat.com>
3329
3330         * configure.in
3331           Makefile.am
3332           gfilemonitor/*
3333                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
3334                         implementation, so that the same change monitoring code can be used
3335                         on systems without glib-2.14 (like Fedora 8)
3336
3337         * system-settings/plugins/keyfile/Makefile.am
3338           system-settings/plugins/keyfile/plugin.c
3339           system-settings/plugins/ifcfg-suse/Makefile.am
3340           system-settings/plugins/ifcfg-suse/plugin.c
3341                 - Use private gfilemonitor code if GIO is not present
3342
3343 2008-05-09  Tambet Ingo  <tambet@gmail.com>
3344
3345         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
3346         NMExportedConnection's 'update' and 'delete' and return error with
3347         descriptive message.
3348
3349 2008-05-08  Dan Williams  <dcbw@redhat.com>
3350
3351         Patch from Markus Becker <mab@comnets.uni-bremen.de>
3352
3353         * src/nm-gsm-device.c
3354           src/nm-cdma-device.c
3355                 - (real_get_best_auto_connection): implement; allow autoconnection
3356                         to GSM & CDMA devices
3357
3358 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3359
3360         Use PolicyKit to authorize the system settings' AddConnection method
3361         and the system settings connections' Update and Delete methods.
3362         
3363         * libnm-glib/nm-settings.c (impl_exported_connection_update)
3364         (impl_exported_connection_delete, nm_exported_connection_update)
3365         (nm_exported_connection_delete): Return boolean and fill GError
3366         to notify the callers of the reasons why it might have failed.
3367
3368         * libnm-glib/nm-dbus-settings-system.c
3369         (nm_dbus_settings_system_add_connection): Return the error from dbus
3370         call so that the callers can see why it failed.
3371
3372         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
3373         signatures.
3374
3375         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
3376
3377         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
3378         abstract base class that checks PolicyKit permissions.
3379
3380         * system-settings/src/dbus-settings.c:
3381         (impl_settings_add_connection): Check the policy before carring out
3382         the request.
3383
3384         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
3385         Inherit from NMSysconfigConnection, check the policies before
3386         allowing updating or removing.
3387
3388         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
3389         Inherit from NMSysconfigConnection.
3390
3391         * introspection/nm-exported-connection.xml: Annotate "Update" and 
3392         "Delete" methods with async flag so that the implementations can get
3393         access to DBusGMethodInvocation.
3394
3395         * system-settings/src/dbus-settings.c 
3396         (settings_add_connection_check_privileges): Implement.
3397         (impl_settings_add_connection): Check the privileges before adding a new
3398         connection. Improve error reporting.
3399
3400         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
3401         async so that the implementation can access DBusGMethodInvocation.
3402
3403         * configure.in: Check for PolicyKit.
3404
3405         * policy/org.freedesktop.network-manager-settings.system.policy: 
3406         New file.
3407
3408         * policy/Makefile.am: Install the policy file.
3409
3410         * configure.in: Add 'policy' subdir.
3411
3412 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3413
3414         Rewrite the suse system settings plugin.
3415
3416         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
3417
3418         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
3419
3420         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
3421
3422         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
3423
3424         * system-settings/src/dbus-settings.c: Fix connection reference counting.
3425
3426         * system-settings/src/main.c (load_plugins): Improve error reporting.
3427
3428         * system-settings/src/sha1.[ch] Add.
3429
3430         * system-settings/src/Makefile.am: Add sha1[ch] to build.
3431
3432 2008-05-07  Dan Williams  <dcbw@redhat.com>
3433
3434         * system-settings/plugins/keyfile/reader.c
3435                 - (read_one_setting_value): handle IP address items separately
3436                 - (read_array_of_uint): read IPv4 DNS option as a string array
3437                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
3438                         array
3439
3440         * system-settings/plugins/keyfile/writer.c
3441                 - (write_setting_value): handle IP address items separately
3442                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
3443                         not an array of uint, so that it's user-editable
3444                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
3445                         arrays, so they are user-editable
3446
3447 2008-05-07  Dan Williams  <dcbw@redhat.com>
3448
3449         * system-settings/plugins/keyfile/Makefile.am
3450                 - Change location of the keyfile plugin settings to
3451                         /etc/NetworkManager/system-connections
3452
3453 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3454
3455         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
3456
3457         * system-settings/plugins/keyfile/plugin.c: Work with
3458         NMKeyfileConnections.
3459
3460         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
3461         Plugins are supposed to return NMExportedConnections now and handle the
3462         updated(), removed(), and GetSecrets().
3463         Store the internal list of connections in hash table to make it easier
3464         to find duplicates.
3465
3466 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3467
3468         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
3469         for multiple IP addresses.
3470
3471 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3472
3473         Patch from André Lemos.
3474
3475         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
3476         corruption.
3477
3478 2008-05-06  Dan Williams  <dcbw@redhat.com>
3479
3480         * src/dhcp-manager/nm-dhcp-manager.c
3481                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
3482                         NMIP4Config to support multiple IP addresses
3483
3484         * src/NetworkManagerUtils.c
3485                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
3486
3487         * src/nm-ip4-config.c
3488           src/nm-ip4-config.h
3489                 - Store a list of IPv4 address/netmask/gateway tuples
3490                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
3491                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
3492                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
3493                    nm_ip4_config_set_address): remove
3494                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
3495                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
3496                         new functions; handle multiple IPv4 addresses
3497
3498         * src/nm-device.c
3499           src/ppp-manager/nm-ppp-manager.c
3500           src/vpn-manager/nm-vpn-connection.c
3501           src/NetworkManagerPolicy.c
3502           test/nm-tool.c
3503           libnm-glib/libnm-glib-test.c
3504                 - update for changes to NMIP4Config for multiple IPv4 addresses
3505
3506         * src/NetworkManagerSystem.c
3507                 - (nm_system_device_set_ip4_route): don't add the route if any address
3508                         is on the same subnet as the destination
3509                 - (check_one_address): ignore the exact match, just match family and
3510                         interface index
3511                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
3512                         an interface
3513                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
3514                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
3515
3516         * introspection/nm-ip4-config.xml
3517                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
3518                 - Add 'addresses' property which is an array of (uuu) tuples of
3519                         address/netmask/gateway
3520
3521         * libnm-util/nm-setting-ip4-config.c
3522                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
3523
3524         * libnm-glib/nm-ip4-config.c
3525           libnm-glib/nm-ip4-config.h
3526                 - Handle D-Bus interface changes to support multiple IP addresses
3527
3528 2008-05-06  Dan Williams  <dcbw@redhat.com>
3529
3530         * libnm-util/nm-utils.c
3531           libnm-util/nm-utils.h
3532                 - (nm_utils_ip4_addresses_from_gvalue,
3533                    nm_utils_ip4_addresses_to_gvalue): new functions
3534
3535 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3536
3537         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3538         the returned connection paths.
3539
3540 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3541
3542         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3543         "PropertiesChanged" signal signature.
3544
3545         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3546         defined in nm-dbus-glib-types.h.
3547         Don't register the connection on dbus, we're a proxy class to 
3548         communicate with an already registered connection over dbus.
3549
3550 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3551
3552         Implement new subclasses of NMSettings and NMExportedConnection to make
3553         it easier for the applet to access and modify system settings.
3554
3555         * libnm-glib/nm-dbus-connection.[ch]:
3556         * libnm-glib/nm-dbus-settings.[ch]:
3557         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3558
3559         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3560         bindings and glue.
3561
3562         * include/NetworkManager.h: Define the system settings DBus interface.
3563
3564 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3565
3566         Implement additional C API for exported connections to make them identical
3567         with the DBus API. Change the (list_connections) virtual function to be
3568         more usable from C - instead of requiring implementers to return a GPtrArray
3569         of dbus paths, return a list of connections.
3570
3571         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3572         (nm_settings_list_connections):
3573         (nm_exported_connection_new):
3574         (nm_exported_connection_update):
3575         (nm_exported_connection_delete): Implement.
3576
3577         (impl_settings_list_connections):
3578         (impl_exported_connection_update):
3579         (impl_exported_connection_delete): Use the new public functions to make 
3580         sure the C and dbus interfaces stay in sync.
3581
3582         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3583         connections.
3584
3585 2008-05-02  Dan Williams  <dcbw@redhat.com>
3586
3587         * system-settings/plugins/ifcfg-fedora/plugin.c
3588                 - (dispose): use right unref call on the DBusGConnection
3589
3590 2008-05-02  Dan Williams  <dcbw@redhat.com>
3591
3592         * src/nm-serial-device.c
3593                 - (find_terminator): don't compare the whole line, just the size of the
3594                         terminator, since some modems put stuff after the terminator, like
3595                         "CONNECT 9600"
3596
3597 2008-05-01  Dan Williams  <dcbw@redhat.com>
3598
3599         Patch from Michael Biebl <biebl@debian.org>
3600
3601         * callouts/Makefile.am
3602           callouts/org.freedesktop.nm_dispatcher.service.in
3603           system-settings/src/Makefile.am
3604           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3605                 - use the right install location for dbus-activated stuff
3606
3607 2008-04-30  Dan Williams  <dcbw@redhat.com>
3608
3609         * src/nm-gsm-device.c
3610                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3611                         PIN or PUK
3612
3613 2008-04-30  Dan Williams  <dcbw@redhat.com>
3614
3615         * src/nm-manager.c
3616                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3617
3618 2008-04-30  Dan Williams  <dcbw@redhat.com>
3619
3620         * src/nm-device-802-3-ethernet.c
3621           src/nm-device-802-11-wireless.c
3622                 - (real_is_up): return true instead of chaining up to unimplemented
3623                         parent method
3624
3625 2008-04-30  Dan Williams  <dcbw@redhat.com>
3626
3627         * src/NetworkManagerSystem.c
3628           src/NetworkManagerSystem.h
3629                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3630                         functions to check device flags for IFF_UP
3631
3632         * src/nm-serial-device.c
3633                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3634                         implement is_up
3635
3636         * src/nm-device-802-3-ethernet.c
3637           src/nm-device-802-11-wireless.c
3638                 - (real_hw_is_up): call nm_system_device_is_up()
3639
3640         * src/nm-device.c
3641                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3642                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3643                         does not implement
3644
3645 2008-04-29  Dan Williams  <dcbw@redhat.com>
3646
3647         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3648
3649         * marshallers/nm-marshal.list
3650                 - Add marshaller
3651
3652         * src/NetworkManager.c
3653                 - (main): let the NMManager handle the NMHalManager
3654
3655         * src/nm-hal-manager.c
3656           src/nm-hal-manager.h
3657                 - convert to a GObject, and emit singals when stuff changes.  Let the
3658                         NMManager handle the signals, instead of the NMHalManager calling
3659                         into the NMManager.  
3660
3661         * src/nm-manager.c
3662           src/nm-manager.h
3663                 - (remove_one_device): consolidate device removals here
3664                 - (dispose): use remove_one_device()
3665                 - (nm_manager_get_device_by_udi): make static
3666                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3667                         manager for devices at startup or wakeup time
3668                 - (nm_manager_new): create and monitor the HAL manager
3669                 - (hal_manager_udi_added_cb): new function; do what
3670                         nm_manager_add_device() used to do when signalled by the hal manager
3671                 - (hal_manager_udi_removed_cb): new function; do what
3672                         nm_manager_remove_device() used to do when signalled by the hal
3673                         manager
3674                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3675                         hal manager
3676                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3677                         in our device list that aren't known to HAL
3678                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3679                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3680                         commits ago
3681                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3682                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3683                    nm_manager_wireless_hardware_enabled,
3684                    nm_manager_set_wireless_hardware_enabled): remove, unused
3685
3686 2008-04-28  Dan Williams  <dcbw@redhat.com>
3687
3688         Fix the device up/down ambiguities.  Up/down state used to be a
3689         conglomeration of hardware state (IFF_UP) and any device-specific things
3690         (supplicant, periodic timers, etc) that the device used to indicate
3691         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3692         reason, then the device specific stuff wouldn't get run, and the device
3693         would be stuck.
3694
3695         * src/nm-device.c
3696           src/nm-device.h
3697                 - Create hw_is_up, hw_bring_up, and hw_take_down
3698                 - Rename bring_down -> take_down
3699                 - (real_hw_is_up): check interface flags for IFF_UP
3700                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3701                 - (nm_device_is_up): make static; only used locally
3702                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3703                         if the device is already up; if the device isn't up, bring it up
3704                 - (nm_device_hw_take_down): just take down hardware
3705                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3706                 - (nm_device_take_down): always deactivate device when called; always
3707                         try to take hardware down too
3708                 - (nm_device_state_changed): take device down when entering unmanaged
3709                         state from a higher state
3710
3711         * src/nm-device-802-11-wireless.c
3712                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3713                         check IFF_UP really
3714                 - (real_take_down, supplicant_iface_state_cb_handler, 
3715                    supplicant_iface_connection_state_cb_handler,
3716                    supplicant_mgr_state_cb_handler): fix some messages
3717
3718         * src/nm-device-802-3-ethernet.c
3719                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3720                         check IFF_UP really
3721
3722 2008-04-28  Dan Williams  <dcbw@redhat.com>
3723
3724         * src/nm-manager.c
3725           src/nm-manager.h
3726                 - (nm_manager_error_get_type): add new error
3727                 - (nm_manager_remove_device): don't bother taking down the device here,
3728                         the state change from unmanaging the device will do it
3729                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
3730                         uses it; when going to sleep, just unmanage the device instead of
3731                         taking it down, because stuff will cleaned up correctly when the
3732                         device gets unmanaged
3733
3734 2008-04-28  Dan Williams  <dcbw@redhat.com>
3735
3736         * src/nm-hal-manager.c
3737                 - (add_initial_devices): convert to a GSourceFunc prototype
3738                 - (nm_manager_state_changed): when coming out of sleep, punt the
3739                         device re-addition to an idle handler to let D-Bus events go out
3740                         first, fixing a potential dbus-glib assert if the old device was
3741                         not yet disposed (due to references held while emitting the D-Bus
3742                         signals) but the new device was found, because the mainloop didn't
3743                         run between signal emission and add_initial_devices()
3744
3745 2008-04-27  Dan Williams  <dcbw@redhat.com>
3746
3747         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3748
3749         * initscript/paldo/NetworkManager.in
3750           initscript/SUSE/networkmanager.in
3751                 - Remove last bits of dhcdbd
3752
3753 2008-04-27  Dan Williams  <dcbw@redhat.com>
3754
3755         * src/nm-device-802-11-wireless.c
3756                 - (link_timeout_cb): don't ask for secrets when disconnected during
3757                         association/authentication phase, drivers are still just too crappy
3758
3759 2008-04-27  Dan Williams  <dcbw@redhat.com>
3760
3761         * Makefile.am
3762           configure.in
3763           dispatcher-daemon/Makefile.am
3764           dispatcher-daemon/NetworkManagerDispatcher.c
3765           initscript/Arch/Makefile.am
3766           initscript/Arch/networkmanager-dispatcher.in
3767           initscript/Gentoo/Makefile.am
3768           initscript/Gentoo/NetworkManagerDispatcher.in
3769           initscript/Mandriva/Makefile.am
3770           initscript/Mandriva/networkmanagerdispatcher.in
3771           initscript/RedHat/Makefile.am
3772           initscript/RedHat/NetworkManagerDispatcher.in
3773           initscript/SUSE/Makefile.am
3774           initscript/SUSE/networkmanager-dispatcher.in
3775           initscript/Slackware/Makefile.am
3776           initscript/Slackware/rc.networkmanager-dispatcher.in
3777           initscript/paldo/Makefile.am
3778           initscript/paldo/NetworkManagerDispatcher.in
3779           man/Makefile.am
3780           man/NetworkManagerDispatcher.8.in
3781                 - Remove the dispatcher daemon
3782
3783 2008-04-27  Dan Williams  <dcbw@redhat.com>
3784
3785         * callouts/Makefile.am
3786           callouts/nm-dispatcher-action.c
3787           callouts/nm-dispatcher-action.h
3788           callouts/nm-dispatcher.conf
3789           callouts/nm-dispatcher.xml
3790           callouts/org.freedesktop.nm_dispatcher.service
3791                 - Re-implement the dispatcher as a system-bus activated service that
3792                         NM calls on-demand, rather than an always running daemon
3793
3794         * src/Makefile.am
3795                 - Add callouts dir to includes to pick up dispatcher defines
3796
3797         * src/nm-device.c
3798                 - (nm_device_state_changed): call dispatcher on device activated/
3799                         deactivated
3800
3801         * src/vpn-manager/nm-vpn-connection.c
3802                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
3803                         go up and down
3804
3805         * src/NetworkManagerUtils.c
3806           src/NetworkManagerUtils.h
3807                 - (nm_utils_call_dispatcher): helper to call dispatcher
3808
3809 2008-04-27  Dan Williams  <dcbw@redhat.com>
3810
3811         * src/NetworkManagerUtils.c
3812           src/NetworkManagerUtils.h
3813                 - remove unneeded includes
3814                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
3815                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
3816                    nm_timeval_cmp, nm_timeval_add): remove, unused
3817                 - clean up formatting
3818                 - (nm_spawn_process): de-uglify
3819
3820         * src/nm-device-802-11-wireless.c
3821                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
3822
3823 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
3824
3825         * initscript/Gentoo/NetworkManager.in:
3826                 Fix for starting the daemon.
3827
3828 2008-04-25  Dan Williams  <dcbw@redhat.com>
3829
3830         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3831
3832         * src/NetworkManagerSystem.c
3833                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
3834
3835 2008-04-25  Dan Williams  <dcbw@redhat.com>
3836
3837         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3838
3839         * src/NetworkManagerSystem.c
3840                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
3841                         implementation of nm_system_device_replace_default_route()
3842
3843         * src/NetworkManagerPolicy.c
3844                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
3845
3846         * src/backends/NetworkManagerArch.c
3847           src/backends/NetworkManagerDebian.c
3848           src/backends/NetworkManagerFrugalware.c
3849           src/backends/NetworkManagerGeneric.c
3850           src/backends/NetworkManagerGeneric.h
3851           src/backends/NetworkManagerGentoo.c
3852           src/backends/NetworkManagerMandriva.c
3853           src/backends/NetworkManagerPaldo.c
3854           src/backends/NetworkManagerRedHat.c
3855           src/backends/NetworkManagerSlackware.c
3856           src/backends/NetworkManagerSuSE.c
3857                 - (nm_system_device_replace_default_route): remove
3858
3859 2008-04-25  Dan Williams  <dcbw@redhat.com>
3860
3861         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3862
3863         * src/NetworkManagerSystem.c
3864                 - (validate_ip4_route): remove; use nl_addr_parse() instead
3865                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
3866                         replace nm_system_device_add_route_via_device_with_iface() in the
3867                         backends
3868
3869         * src/backends/NetworkManagerArch.c
3870           src/backends/NetworkManagerDebian.c
3871           src/backends/NetworkManagerFrugalware.c
3872           src/backends/NetworkManagerGeneric.c
3873           src/backends/NetworkManagerGeneric.h
3874           src/backends/NetworkManagerGentoo.c
3875           src/backends/NetworkManagerMandriva.c
3876           src/backends/NetworkManagerPaldo.c
3877           src/backends/NetworkManagerRedHat.c
3878           src/backends/NetworkManagerSlackware.c
3879           src/backends/NetworkManagerSuSE.c
3880                 - Remove nm_system_device_add_route_via_device_with_iface()
3881
3882 2008-04-25  Dan Williams  <dcbw@redhat.com>
3883
3884         * system-settings/plugins/ifcfg-fedora/parser.c
3885                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
3886
3887 2008-04-24  Dan Williams  <dcbw@redhat.com>
3888
3889         * dispatcher-daemon/NetworkManagerDispatcher.c
3890                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
3891
3892 2008-04-24  Dan Williams  <dcbw@redhat.com>
3893
3894         * initscript/RedHat/NetworkManager.in
3895           initscript/RedHat/NetworkManagerDispatcher.in
3896                 - Be active at runlevel 2
3897                 - Adjust priorities earlier
3898
3899 2008-04-22  Dan Williams  <dcbw@redhat.com>
3900
3901         * src/NetworkManagerPolicy.c
3902                 - (update_routing_and_dns): when checking for a gateway, look at the
3903                         composite IP4 config, not the connection's ip4-config setting, which
3904                         doesn't include DHCP-returned information
3905
3906 2008-04-22  Tambet Ingo  <tambet@gmail.com>
3907
3908         Implement GKeyFile system settings plugin.
3909         Implement writing system settings (currently supported only by GKeyFile plugin).
3910
3911         * system-settings/src/main.c: 
3912         * system-settings/src/dbus-settings.c: Move the communication with plugins
3913         from main.c to dbus-settings.c. Makes it possible to talk to all registered
3914         plugins for adding/updating/removing connections.
3915
3916         * system-settings/src/nm-system-config-interface.c
3917         (nm_system_config_interface_add_connection): Implement
3918         (nm_system_config_interface_update_connection): Implement.
3919         (nm_system_config_interface_remove_connection): Implement.
3920
3921         * system-settings/plugins/keyfile/Makefile.am:
3922         * system-settings/plugins/keyfile/plugin.[ch]:
3923         * system-settings/plugins/keyfile/writer.[ch]:
3924         * system-settings/plugins/keyfile/reader.[ch]: Implement.
3925
3926         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
3927
3928         * configure.in: Generate GKeyFile Makefile.
3929
3930         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
3931         corruption, need to duplicate the returned string.
3932         (impl_exported_connection_update): Implement.
3933         (impl_exported_connection_delete): Implement.
3934
3935         * introspection/nm-settings-system.xml: Add "AddConnection" method.
3936
3937         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
3938
3939 2008-04-22  Dan Williams  <dcbw@redhat.com>
3940
3941         Patch from Charles R. Anderson (cra@wpi.edu)
3942
3943         * src/NetworkManagerPolicy.c
3944                 - (update_routing_and_dns): don't select devices without a gateway
3945                         as having the default route (rh #437338)
3946
3947 2008-04-21  Dan Williams  <dcbw@redhat.com>
3948
3949         * src/nm-activation-request.c
3950           src/nm-activation-request.h
3951                 - (dispose): ensure to disconnect from the device's state-changed signal
3952                         when appropriate so the signal doesn't get handled by an already
3953                         disposed NMActRequest
3954                 - (device_state_changed): update is_default here too just to make sure
3955                         default is only True when the child device is activated
3956                 - (nm_act_request_set_default): new function
3957
3958         * src/NetworkManagerPolicy.c
3959                 - (update_routing_and_dns): set 'default' on the active connection which
3960                         has the default route and DNS
3961
3962 2008-04-21  Dan Williams  <dcbw@redhat.com>
3963
3964         * src/NetworkManagerPolicy.c
3965                 - (device_state_changed): update routing and DNS when a device goes
3966                         into unmanaged or unavailable states too (like rfkill or carrier loss)
3967
3968 2008-04-21  Dan Williams  <dcbw@redhat.com>
3969
3970         * include/NetworkManager.h
3971                 - Add NMActiveConnectionState enum
3972
3973         * introspection/nm-active-connection.xml
3974           introspection/nm-vpn-connection.xml
3975                 - Add 'State' property for overall active connection state
3976                 - Add 'Default' property, when True means this active connection
3977                         has the default route
3978                 - Add PropertyChanged signals so changes actually go out over the bus
3979
3980         * src/nm-active-connection.h
3981                 - Add defines for State & Default properties
3982
3983         * src/nm-activation-request.c
3984                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
3985                         signal to determine active connection state
3986
3987         * src/vpn-manager/nm-vpn-connection.c
3988           src/vpn-manager/nm-vpn-connection.h
3989           src/vpn-manager/nm-vpn-manager.c
3990           src/vpn-manager/nm-vpn-service.c
3991                 - Rename old 'state' to 'vpn-state'
3992                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
3993                 - Add 'state' and 'default' properties, hook up to the vpn connection's
3994                         'vpn-state-changed' signal
3995
3996         * libnm-glib/nm-active-connection.c
3997           libnm-glib/nm-active-connection.h
3998                 - Add new 'state' and 'default' properties and accessors
3999
4000         * libnm-glib/nm-vpn-connection.c
4001           libnm-glib/nm-vpn-connection.h
4002                 - Rename old 'state' property to 'vpn-state'
4003                 - Add new 'state' and 'default' properties and accessors
4004
4005 2008-04-21  Dan Williams  <dcbw@redhat.com>
4006
4007         * src/nm-ip4-config.c
4008                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
4009                         not specified (rh #443474)
4010
4011 2008-04-20  Dan Williams  <dcbw@redhat.com>
4012
4013         * src/NetworkManagerUtils.c
4014           src/NetworkManagerUtils.h
4015                 - (nm_utils_merge_ip4_config): new function; merge settings from an
4016                         NMSettingIP4Config to an NMIP4Config object
4017
4018         * src/nm-device.c
4019                 - (merge_ip4_config): move to NetworkManagerUtils.c
4020
4021         * src/vpn-manager/nm-vpn-connection.c
4022                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
4023                         too
4024
4025 2008-04-18  Dan Williams  <dcbw@redhat.com>
4026
4027         * libnm-util/nm-setting-ppp.c
4028           libnm-util/nm-setting-ppp.h
4029                 - Add 'no-vj-comp' option for TCP header compression
4030                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
4031                         uint32
4032
4033 2008-04-18  Dan Williams  <dcbw@redhat.com>
4034
4035         * libnm-util/nm-setting-ppp.c
4036           libnm-util/nm-setting-ppp.h
4037           src/ppp-manager/nm-ppp-manager.c
4038                 - Add 'refuse-pap' and 'refuse-mschapv2' options
4039
4040 2008-04-18  Dan Williams  <dcbw@redhat.com>
4041
4042         * libnm-util/nm-setting-ppp.c
4043           libnm-util/nm-setting-ppp.h
4044           src/ppp-manager/nm-ppp-manager.c
4045                 - Remove the 'usepeerdns' option and always request DNS servers from
4046                         the PPP server; the connection chooses to use/override/ignore the
4047                         DNS servers returned from the PPP server
4048
4049 2008-04-18  Dan Williams  <dcbw@redhat.com>
4050
4051         * libnm-util/nm-setting-ppp.c
4052           libnm-util/nm-setting-ppp.h
4053           src/ppp-manager/nm-ppp-manager.c
4054                 - Remove the 'require-mppc' option, because pppd doesn't support it and
4055                         it seems to have been an erroneous addition to the PPTP plugin in
4056                         the first place (from which the ppp-manager is derived)
4057
4058 2008-04-17  Dan Williams  <dcbw@redhat.com>
4059
4060         * libnm-util/nm-setting-pppoe.c
4061                 - (verify): require a PPP setting too
4062
4063         * src/ppp-manager/nm-ppp-manager.c
4064                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
4065                         segfaulting
4066
4067 2008-04-17  Dan Williams  <dcbw@redhat.com>
4068
4069         * src/nm-device.c
4070                 - (nm_device_state_changed): do deactivation and and promotion to
4071                         unavailable here, so that the device gets cleaned up before the
4072                         manager runs and starts emitting signals; do the
4073                         FAILED->DISCONNECTED transition from an idle handler rather than
4074                         immediately to guard against recursion
4075                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
4076                         FAILED->DISCONNECTED handler if it's scheduled
4077
4078 2008-04-17  Dan Williams  <dcbw@redhat.com>
4079
4080         * src/nm-device-802-11-wireless.c
4081                 - (state_changed_cb): clear AP list when device transitions to
4082                         unavailable or unmanaged
4083                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
4084                         since this is already done in device_cleanup()
4085                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
4086                         isn't available or managed
4087                 - (device_cleanup): use remove_all_aps()
4088                 - (remove_all_aps): consolidate code removing all APs
4089
4090 2008-04-17  Dan Williams  <dcbw@redhat.com>
4091
4092         * src/nm-serial-device.c
4093           src/nm-serial-device.h
4094                 - (wait_for_reply_got_data): break input into lines, and search each
4095                         line for responses _and_ terminator strings; also make sure that
4096                         the read loop doesn't continue after the timeout is supposed to fire
4097                 - (nm_serial_device_wait_for_reply): take an array of terminators too
4098
4099         * src/nm-gsm-device.c
4100           src/nm-cdma-device.c
4101                 - Send terminators to nm_serial_device_wait_for_reply()
4102
4103 2008-04-16  Dan Williams  <dcbw@redhat.com>
4104
4105         Patch from 陈鑫 <znscnchen@gmail.com>
4106
4107         * src/ppp-manager/nm-pppd-plugin.c
4108                 - (get_credentials): return correct value for success; handle case where
4109                         pppd just does some checking but doesn't want a password
4110                 - (plugin_init): make CHAP work too
4111
4112 2008-04-16  Dan Williams  <dcbw@redhat.com>
4113
4114         Patch from 陈鑫 <znscnchen@gmail.com>
4115
4116         * src/ppp-manager/nm-ppp-manager.c
4117                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
4118
4119 2008-04-16  Dan Williams  <dcbw@redhat.com>
4120
4121         Patch from 陈鑫 <znscnchen@gmail.com>
4122
4123         * src/nm-device-802-3-ethernet.c
4124                 - (real_deactivate_quickly): clear the IP interface name on
4125                         deactivation, otherwise the wrong interface might get used later
4126                         for routing and IP management
4127
4128 2008-04-15  Dan Williams  <dcbw@redhat.com>
4129
4130         * libnm-glib/nm-device.c
4131                 - (get_product_and_vendor): handle serial devices correctly
4132                 - (nm_device_update_description): pass device to get_product_and_vendor()
4133
4134 2008-04-15  Dan Williams  <dcbw@redhat.com>
4135
4136         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4137
4138         * src/NetworkManagerSystem.h
4139           src/backends/NetworkManagerArch.c
4140           src/backends/NetworkManagerDebian.c
4141           src/backends/NetworkManagerFrugalware.c
4142           src/backends/NetworkManagerGeneric.c
4143           src/backends/NetworkManagerGeneric.h
4144           src/backends/NetworkManagerGentoo.c
4145           src/backends/NetworkManagerMandriva.c
4146           src/backends/NetworkManagerPaldo.c
4147           src/backends/NetworkManagerRedHat.c
4148           src/backends/NetworkManagerSlackware.c
4149           src/backends/NetworkManagerSuSE.c
4150           src/nm-device.c
4151                 - (nm_generic_device_add_ip6_link_address,
4152                    nm_system_device_add_ip6_link_address): remove
4153
4154 2008-04-15  Dan Williams  <dcbw@redhat.com>
4155
4156         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4157
4158         * src/backends/NetworkManagerArch.c
4159           src/backends/NetworkManagerDebian.c
4160           src/backends/NetworkManagerFrugalware.c
4161           src/backends/NetworkManagerGeneric.c
4162           src/backends/NetworkManagerGeneric.h
4163           src/backends/NetworkManagerGentoo.c
4164           src/backends/NetworkManagerMandriva.c
4165           src/backends/NetworkManagerPaldo.c
4166           src/backends/NetworkManagerRedHat.c
4167           src/backends/NetworkManagerSlackware.c
4168           src/backends/NetworkManagerSuSE.c
4169           src/NetworkManagerSystem.h
4170                 - flush_routes -> flush_ip4_routes
4171                 - flush_addresses -> flush_ip4_addresses
4172
4173         * src/NetworkManagerSystem.c
4174           src/nm-device.c
4175           src/vpn-manager/nm-vpn-connection.c
4176                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
4177
4178 2008-04-15  Dan Williams  <dcbw@redhat.com>
4179
4180         Remove exposure of wireless-tools mode types in the API.
4181
4182         * include/NetworkManager.h
4183                 - Define NM80211Mode enum
4184
4185         * introspection/generic-types.xml
4186                 - Describe NM_802_11_MODE enum
4187                 - Remove IW_MODE_* enum
4188
4189         * introspection/nm-access-point.xml
4190           libnm-glib/nm-access-point.c
4191           libnm-glib/nm-access-point.h
4192                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4193
4194         * introspection/nm-device-802-11-wireless.xml
4195           libnm-glib/nm-device-802-11-wireless.c
4196           libnm-glib/nm-device-802-11-wireless.h
4197                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4198
4199         * libnm-util/nm-setting-wireless.c
4200           src/NetworkManagerAP.c
4201           src/NetworkManagerAP.h
4202           src/nm-device-802-11-wireless.c
4203           src/nm-device-802-11-wireless.h
4204           test/nm-tool.c
4205                 - Use NM80211Mode not IW_MODE_*
4206
4207 2008-04-15  Dan Williams  <dcbw@redhat.com>
4208
4209         Enhance nm-online based on a patch from Bill Nottingham.
4210
4211         * test/nm-online.c
4212                 - Add a '-q' option
4213                 - Add help messages and option summary
4214                 - Add long-format options
4215                 - Add a '-x' option to exit if NM isn't running or isn't connecting
4216
4217 2008-04-15  Tambet Ingo  <tambet@gmail.com>
4218
4219         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
4220
4221         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
4222
4223 2008-04-15  Dan Williams  <dcbw@redhat.com>
4224
4225         * nm-setting-ip4-config.c
4226                 - (ip4_addresses_from_gvalue): handle NULL address array
4227
4228         * nm-setting-8021x.c
4229                 - (verify_tls, verify_ttls): warn on failed verification
4230
4231 2008-04-10  Dan Williams  <dcbw@redhat.com>
4232
4233         * src/nm-gsm-device.c
4234                 - (automatic_registration): accept "+CREG: 0,0"
4235                 - (automatic_registration_response): fail on "+CREG: 0,0"
4236
4237 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4238
4239         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
4240
4241 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4242
4243         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
4244         Make it compile again by commenting out broken code that at first didn't work and
4245         now didn't compile either.
4246
4247 2008-04-08  Dan Williams  <dcbw@redhat.com>
4248
4249         * libnm-glib/nm-object-cache.c
4250           libnm-glib/nm-settings.c
4251           src/dhcp-manager/nm-dhcp-manager.c
4252           system-settings/plugins/ifcfg-fedora/plugin.c
4253           system-settings/plugins/ifcfg-suse/plugin.c
4254           system-settings/src/nm-system-config-hal-manager.c
4255           libnm-util/nm-utils.c
4256                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
4257                         not threadsafe anyway
4258
4259 2008-04-08  Dan Williams  <dcbw@redhat.com>
4260
4261         * system-settings/src/main.c
4262                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
4263                         callbacks take a device type too
4264
4265 2008-04-08  Dan Williams  <dcbw@redhat.com>
4266
4267         The system settings service will now create a new default DHCP connection
4268         for wired devices that have no existing applicable connection.
4269
4270         * system-settings/src/nm-system-config-hal-manager.c
4271           system-settings/src/nm-system-config-hal-manager.h
4272                 - (nm_system_config_hal_manager_get_type_for_udi): new function
4273
4274         * system-settings/src/dbus-settings.c
4275           system-settings/src/dbus-settings.h
4276                 - (nm_sysconfig_settings_get_connections): new function
4277                 - (nm_sysconfig_settings_is_device_managed): new function
4278
4279         * system-settings/src/main.c
4280                 - (load_stuff): check for wired devices that need a default connection
4281                 - (get_details_for_udi): get interface and MAC address from HAL
4282                 - (add_default_dhcp_connection): add a default connection for a wired
4283                         device if needed
4284                 - (device_added_cb, device_removed_cb): do the right thing with
4285                         wired devices and their default connections on HAL device events
4286
4287 2008-04-07  Dan Williams  <dcbw@redhat.com>
4288
4289         * libnm-glib/nm-device.c
4290           libnm-glib/nm-device.h
4291                 - Proxy the 'managed' property
4292
4293 2008-04-07  Dan Williams  <dcbw@redhat.com>
4294
4295         * src/nm-gsm-device.c
4296           src/nm-cdma-device.c
4297                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4298                         handler to transition to DISCONNECTED
4299
4300 2008-04-07  Dan Williams  <dcbw@redhat.com>
4301
4302         Patch from Bill Nottingham
4303
4304         * dispatcher-daemon/NetworkManagerDispatcher.c
4305                 - ignore backup/packaging crufy (rh #440143)
4306
4307 2008-04-07  Dan Williams  <dcbw@redhat.com>
4308
4309         * include/NetworkManager.h
4310                 - Remove the DOWN and CANCELLED device states
4311                 - Add UNMANAGED and UNAVAILABLE device states
4312                 - Document the device states
4313
4314         * introspection/nm-device.xml
4315           src/nm-device-interface.c
4316           src/nm-device-interface.h
4317                 - Add the 'managed' property
4318
4319         * test/nm-tool.c
4320                 - (detail_device): print out device state
4321
4322         * src/NetworkManagerSystem.h
4323           src/backends/NetworkManagerArch.c
4324           src/backends/NetworkManagerDebian.c
4325           src/backends/NetworkManagerFrugalware.c
4326           src/backends/NetworkManagerGentoo.c
4327           src/backends/NetworkManagerMandriva.c
4328           src/backends/NetworkManagerPaldo.c
4329           src/backends/NetworkManagerRedHat.c
4330           src/backends/NetworkManagerSlackware.c
4331           src/backends/NetworkManagerSuSE.c
4332                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
4333                    nm_system_device_free_system_config): remove; they were unused and
4334                         their functionality should be re-implemented in each distro's
4335                         system settings service plugin 
4336
4337         * src/nm-gsm-device.c
4338           src/nm-gsm-device.h
4339           src/nm-cdma-device.c
4340           src/nm-cdma-device.h
4341                 - (*_new): take the 'managed' argument
4342
4343         * src/nm-device.c
4344                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
4345                 - (nm_device_init): start in unmanaged state, not disconnected
4346                 - (constructor): don't start device until the system settings service
4347                         has had a chance to figure out if the device is managed or not
4348                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
4349                         don't set device state here, let callers handle that as appropriate
4350                 - (nm_device_dispose): don't touch the device if it's not managed
4351                 - (set_property, get_property, nm_device_class_init): implement the
4352                         'managed' property
4353                 - (nm_device_state_changed): bring the device up if its now managed,
4354                         and deactivate it if it used to be active
4355                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
4356                         with the managed state
4357
4358         * src/nm-hal-manager.c
4359                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
4360                         take initial managed state and pass it along to device constructors
4361                 - (create_device_and_add_to_list): get managed state and pass to
4362                         type creators
4363
4364         * src/nm-device-802-11-wireless.c
4365                 - (real_can_activate): fold in most of
4366                         nm_device_802_11_wireless_can_activate()
4367                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
4368                 - (link_timeout_cb): instead of deactivating, change device state and
4369                         let the device state handler to it
4370                 - (real_update_hw_address): clean up
4371                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4372                         handler to transition to DISCONNECTED if the device isn't rfkilled
4373
4374         * src/nm-device-802-3-ethernet.c
4375                 - (set_carrier): move above callers and get rid of prototype
4376                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
4377                         idle handler to transition to DISCONNECTED if the device has a
4378                         carrier
4379                 - (real_update_hw_address): clean up
4380                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
4381                         deactivation directly as deactivation doesn't change state anymore
4382
4383         * src/NetworkManagerPolicy.c
4384                 - (schedule_activate_check): yay, remove wireless_enabled hack since
4385                         the NMManager and wireless devices work that out themselves now
4386                 - (device_state_changed): change to a switch and update for new device
4387                         states
4388                 - (device_carrier_changed): remove; device handles this now through
4389                         state changes
4390                 - (device_added): don't care about carrier any more; the initial
4391                         activation check will happen when the device transitions to
4392                         DISCONNECTED
4393
4394         * src/nm-manager.c
4395                 - (dispose): clear unmanaged devices
4396                 - (handle_unmanaged_devices): update unmanaged device list and toggle
4397                         the managed property on each device when needed
4398                 - (system_settings_properties_changed_cb): handle signals from the
4399                         system settings service
4400                 - (system_settings_get_unmanaged_devices_cb): handle callback from
4401                         getting the unmanaged device list method call
4402                 - (query_unmanaged_devices): ask the system settings service for its
4403                         list of unmanaged devices
4404                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
4405                         devices
4406                 - (manager_set_wireless_enabled): push rfkill state down to wireless
4407                         devices directly and let them handle the necessary state transitions
4408                 - (manager_device_state_changed): update for new device states
4409                 - (nm_manager_add_device): set initial rfkill state on wireless devices
4410                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
4411                 - (nm_manager_activate_connection): return error if the device is
4412                         unmanaged
4413                 - (nm_manager_sleep): handle new device states correctly; don't change
4414                         the state of unavailable/unmanaged devices
4415
4416         * libnm-glib/nm-device-802-11-wireless.c
4417                 - (state_changed_cb): update for new device states
4418
4419 2008-04-07  Dan Williams  <dcbw@redhat.com>
4420
4421         * marshallers/nm-marshal.list
4422                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
4423
4424 2008-04-07  Dan Williams  <dcbw@redhat.com>
4425
4426         * system-settings/src/main.c
4427                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
4428                         plugins to the dbus settings object
4429                 - (load_stuff): start the dbus service after grabbing unmanaged devices
4430                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
4431                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
4432                 - (main): switch default logging to syslog with a 'debug' option to
4433                         output to console; start up the HAL manager
4434
4435 2008-04-07  Dan Williams  <dcbw@redhat.com>
4436
4437         * introspection/nm-settings-system.xml
4438           introspection/Makefile.am
4439                 - Define the unmanaged devices interface for the system settings service
4440
4441         * system-settings/src/nm-system-config-hal-manager.c
4442           system-settings/src/nm-system-config-hal-manager.h
4443           system-settings/src/nm-system-config-hal-manager-private.h
4444           system-settings/src/Makefile.am
4445                 - Add a lightweight HAL manager object for tracking network devices for
4446                         the purpose of determining unmanaged devices and which devices need
4447                         the default DHCP connections
4448
4449         * system-settings/src/nm-system-config-interface.c
4450           system-settings/src/nm-system-config-interface.h
4451                 - (nm_system_config_interface_init): add the HAL manager as an argument
4452                 - (nm_system_config_interface_get_unmanaged_devices): implement
4453                 - Define 'unmanaged-devices-changed' signal
4454
4455         * system-settings/src/dbus-settings.c
4456           system-settings/src/dbus-settings.h
4457                 - Implement the unmanaged devices interface; some cleanups
4458
4459         * system-settings/plugins/ifcfg-suse/plugin.c
4460                 - Fixup for plugin interface changes
4461
4462         * system-settings/plugins/ifcfg-fedora/plugin.c
4463                 - (get_ether_device_udi): new function; find the device that has
4464                         a specified MAC address and return its UDI
4465                 - (get_udi_for_connection): new function; try to find the specific
4466                         device a connection is locked to, if any
4467                 - (device_added_cb, device_removed_cb): update unmanaged device list in
4468                         response to HAL events
4469                 - (get_unmanaged_devices): new function; return unmanaged device list
4470                 - (build_one_connection): set the connection's locked device, if any
4471                 - (write_auto_wired_connection): remove
4472                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
4473                 - (handle_connection_changed): alert listeners that the unmanaged device
4474                         list has changed
4475                 - (init): fixup for plugin interface changes, implement unmanaged devices
4476
4477         * system-settings/plugins/ifcfg-fedora/parser.c
4478           system-settings/plugins/ifcfg-fedora/parser.h
4479                 - (connection_data_free): clean up connection UDI
4480
4481 2008-04-07  Dan Williams  <dcbw@redhat.com>
4482
4483         * system-settings/plugins/ifcfg-fedora/parser.c
4484                 - (make_ip4_setting): fix parsing of DNS servers
4485
4486 2008-04-05  Dan Williams  <dcbw@redhat.com>
4487
4488         * Makefile.am
4489           configure.in
4490           marshallers/Makefile.am
4491           marshallers/nm-marshal-main.c
4492           marshallers/nm-marshal.list
4493                 - Consolidate marshallers
4494
4495         * libnm-glib/nm-marshal-main.c
4496           libnm-glib/nm-marshal.list
4497           src/marshallers/Makefile.am
4498           src/marshallers/nm-marshal-main.c
4499           src/marshallers/nm-marshal.list
4500                 - Remove
4501
4502         * libnm-glib/Makefile.am
4503           src/Makefile.am
4504           src/dhcp-manager/Makefile.am
4505           src/ppp-manager/Makefile.am
4506           src/supplicant-manager/Makefile.am
4507           src/vpn-manager/Makefile.am
4508                 - Use consolidated marshallers
4509
4510 2008-04-04  Dan Williams  <dcbw@redhat.com>
4511
4512         * src/nm-hal-manager.c
4513           src/nm-hal-manager.h
4514                 - (hal_init): don't look for hardware here
4515                 - (nm_hal_manager_start): new function; look for hardware here instead,
4516                         which can be done at a later time than hal_init()
4517
4518         * src/NetworkManager.c
4519                 - (main): start HAL manager after entering the main loop
4520
4521 2008-04-03  Dan Williams  <dcbw@redhat.com>
4522
4523         * libnm-glib/nm-settings.c
4524           libnm-glib/nm-settings.h
4525             - (nm_exported_connection_get_id): new function
4526                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
4527
4528 2008-04-02  Dan Williams  <dcbw@redhat.com>
4529
4530         * src/nm-device-interface.c
4531           src/nm-device-interface.h
4532           src/nm-device.c
4533           src/nm-device.h
4534                 - Rename check_connection_conflicts() to check_connection_compatible()
4535
4536         * src/nm-device-802-11-wireless.c
4537                 - (real_check_connection_conflicts): remove
4538                 - (real_check_connection_compatible): implement; match MAC address
4539
4540         * src/nm-device-802-3-ethernet.c
4541                 - (real_check_connection_conflicts): remove
4542                 - (real_check_connection_compatible): implement; match MAC address
4543                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4544
4545         * src/nm-manager.c
4546                 - (check_connection_allowed): remove; unused until PolicyKit integration
4547                 - (internal_activate_device): check whether the connection is compatible
4548                         with the device before trying to activate it
4549
4550 2008-04-02  Dan Williams  <dcbw@redhat.com>
4551
4552         * system-settings/plugins/ifcfg-fedora/parser.c
4553                 - (read_mac_address): new function; read in MAC address and stuff it
4554                         into the connection
4555                 - (add_one_wep_key): remove debug spew
4556                 - (make_wireless_security_setting): validate the default TX key; don't
4557                         add the wireless-security setting if the connection doesn't need
4558                         security; don't leak the keys shvarFile on error cases
4559                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4560                         address
4561
4562 2008-04-02  Dan Williams  <dcbw@redhat.com>
4563
4564         * libnm-util/nm-setting-connection.c
4565           libnm-util/nm-setting-connection.h
4566                 - (set_property, get_property, nm_setting_connection_class_init): remove
4567                         the 'lockdown' property; it's functionality will be replaced by
4568                         PolicyKit instead
4569
4570 2008-04-01  Dan Williams  <dcbw@redhat.com>
4571
4572         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4573
4574         * configure.in
4575           initscript/Makefile.am
4576           initscript/Mandriva/Makefile.am
4577           initscript/Mandriva/networkmanager.in
4578           initscript/Mandriva/networkmanagerdispatcher.in
4579           src/backends/Makefile.am
4580           src/backends/NetworkManagerMandriva.c
4581           system-settings/plugins/Makefile.am
4582                 - Add Mandriva support
4583
4584 2008-03-31  Dan Williams  <dcbw@redhat.com>
4585
4586         * src/vpn-manager/nm-vpn-service.c
4587                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4588                         errors can be passed back to the caller; also no longer scheduled
4589                         as an idle handler, but called directly; and bump up VPN service
4590                         spawn timeout, 2s is really short
4591                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4592                         but call it directly so that errors are reported on return from
4593                         ActivateConnection() and don't get lost.  If scheduled as an idle
4594                         handler, clients don't have the time to query NM for the new VPN
4595                         connection's properties before the VPN connection is torn down again
4596                         if the service couldn't be launched, and therefore launch errors
4597                         get lost.
4598
4599 2008-03-31  Dan Williams  <dcbw@redhat.com>
4600
4601         * src/vpn-manager/nm-vpn-connection.c
4602                 - (device_state_changed): send correct state on device failure too
4603                 - (plugin_state_changed): failed state means unexpected disconnection,
4604                         thus if the service goes away while the VPN connection is activated
4605                         that's a failure too
4606
4607 2008-03-31  Dan Williams  <dcbw@redhat.com>
4608
4609         * src/vpn-manager/nm-vpn-manager.c
4610           src/vpn-manager/nm-vpn-manager.h
4611                 - Make VPNManager errors more available; add a service-start-failed error
4612
4613 2008-03-31  Dan Williams  <dcbw@redhat.com>
4614
4615         * libnm-glib/nm-client.c
4616           libnm-glib/nm-client.h
4617                 - (activate_cb): pass the new active connection to callback; fix
4618                         message when no callback is specified
4619
4620 2008-03-30  Dan Williams  <dcbw@redhat.com>
4621
4622         * libnm-util/nm-setting-wireless-security.c
4623                 - (need_secrets): only require key0 if the transmit key index is also
4624                         0
4625                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4626
4627 2008-03-29  Dan Williams  <dcbw@redhat.com>
4628
4629         * libnm-util/nm-setting-8021x.c
4630           libnm-util/nm-setting-ip4-config.c
4631           libnm-util/nm-setting-vpn-properties.c
4632           libnm-util/nm-setting-vpn.c
4633           libnm-util/nm-setting-wireless-security.c
4634           libnm-util/nm-setting-wireless.c
4635           libnm-util/nm-utils.c
4636           src/dhcp-manager/nm-dhcp-manager.c
4637           src/nm-activation-request.c
4638           src/nm-ip4-config.c
4639           src/nm-manager.c
4640           src/nm-properties-changed-signal.c
4641           src/ppp-manager/nm-pppd-plugin.c
4642           src/supplicant-manager/nm-supplicant-interface.c
4643           src/vpn-manager/nm-vpn-connection.c
4644                 - consistently use nm-dbus-glib-types.h
4645
4646 2008-03-29  Dan Williams  <dcbw@redhat.com>
4647
4648         * src/vpn-manager/nm-vpn-connection.c
4649                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4650                         not string
4651
4652         * src/nm-activation-request.c
4653                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4654                         not string
4655
4656 2008-03-29  Dan Williams  <dcbw@redhat.com>
4657
4658         * libnm-glib/nm-device-802-11-wireless.c
4659                 - (access_point_added_proxy): create new APs if not found
4660
4661 2008-03-29  Dan Williams  <dcbw@redhat.com>
4662
4663         * libnm-glib/nm-client.c
4664                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4665                         before freeing them
4666
4667 2008-03-29  Dan Williams  <dcbw@redhat.com>
4668
4669         * system-settings/plugins/ifcfg-fedora/parser.c
4670                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4671                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4672
4673 2008-03-29  Dan Williams  <dcbw@redhat.com>
4674
4675         * system-settings/plugins/ifcfg-fedora/parser.c
4676                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4677
4678 2008-03-27  Dan Williams  <dcbw@redhat.com>
4679
4680         * nm-object.c
4681                 - (nm_object_queue_notify): don't notify multiple times for the same
4682                         property
4683
4684         * nm-object-private.h
4685                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4686                         if it has zero elements
4687
4688         * nm-ip4-config.c
4689                 - (finalize): use g_ptr_array_foreach() when freeing domains
4690                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4691
4692         * nm-active-connection.c
4693                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4694
4695         * nm-device-802-11-wireless.c
4696           nm-device-802-11-wireless.h
4697                 - (nm_device_802_11_wireless_get_access_points): return const; use
4698                         handle_ptr_array_return()
4699
4700         * nm-types.c
4701                 - (nm_object_array_demarshal): always create an array, even of length
4702                         zero, to distinguish between "NM returned no items" and "haven't
4703                         asked NM yet"
4704
4705         * nm-client.c
4706                 - (dispose): free active connections too
4707                 - (proxy_name_owner_changed): free active connections too when NM goes
4708                         away
4709                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4710                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4711
4712 2008-03-26  Dan Williams  <dcbw@redhat.com>
4713
4714         Rework VPN connection handling for a more consistent D-Bus API.  The
4715         VPNManager object has been removed, and active VPN connections are now the
4716         same as any other active connection.  The Manager object's ActivateConnection
4717         and DeactivateConnection methods are used to start and stop a VPN connection,
4718         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4719         When activating a VPN connection, pass the path of the active connection
4720         to which the VPN connection is tied in the 'specific_object' argument.
4721
4722         Consequently, the libnm-glib API has been reworked to match this arrangement,
4723         with the VPNManager object removed, and the NMVPNConnection objects now
4724         being subclasses of NMActiveConnection.
4725
4726 2008-03-25  Dan Williams  <dcbw@redhat.com>
4727
4728         Patch from Björn Martensen <bjoern.martensen@gmail.com>
4729
4730         * initscript/Arch/networkmanager.in
4731           initscript/Arch/networkmanager-dispatcher.in
4732                 - Updates for Arch Linux (gnome.org #523701)
4733
4734 2008-03-25  Dan Williams  <dcbw@redhat.com>
4735
4736         * libnm-glib/nm-ip4-config.c
4737           libnm-glib/nm-active-connection.c
4738           libnm-glib/nm-access-point.c
4739                 - Use nm_object_queue_notify() instead of g_object_notify()
4740
4741         * libnm-glib/nm-device.c
4742                 - (demarshal_ip4_config): distinguish between successful but missing
4743                         ip4-config request, and unsuccessful and missing ip4-config request
4744                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
4745                         path
4746                 - Use nm_object_queue_notify() instead of g_object_notify()
4747
4748         * libnm-glib/nm-device-802-11-wireless.c
4749                 - (demarshal_active_ap): distinguish between successfull but missing
4750                         active-ap request, and unsuccessful and missing active-ap request
4751                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
4752                         code
4753                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
4754                         for the NMClient to notify the device that wireless is disabled,
4755                         and therefore to clear the AP list and active AP
4756                 - Use nm_object_queue_notify() instead of g_object_notify()
4757
4758         * libnm-glib/nm-client.c
4759                 - (poke_wireless_devices_with_rf_status): new function
4760                 - (update_wireless_status): notify wireless devices of the rfkill status
4761                         so they can clean up if needed
4762                 - Use nm_object_queue_notify() instead of g_object_notify()
4763
4764 2008-03-25  Dan Williams  <dcbw@redhat.com>
4765
4766         * libnm-glib/nm-object.c
4767           libnm-glib/nm-object-private.h
4768                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
4769                         signals to an idle handler
4770                 - (nm_object_get_property): add a timeout to the D-Bus method call
4771
4772 2008-03-25  Dan Williams  <dcbw@redhat.com>
4773
4774         * introspection/nm-device-cdma.xml
4775           introspection/nm-device-gsm.xml
4776           introspection/Makefile.am
4777           introspection/all.xml
4778                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
4779
4780         * src/nm-gsm-device.h
4781           src/nm-gsm-device.c
4782           src/nm-cdma-device.h
4783           src/nm-cdma-device.c
4784           src/Makefile.am
4785                 - Implement PropertiesChanged signals
4786
4787         * libnm-glib/nm-cdma-device.c
4788           libnm-glib/nm-cdma-device.c
4789                 - Attach to PropertiesChanged signals
4790
4791 2008-03-24  Dan Williams  <dcbw@redhat.com>
4792
4793         * libnm-glib/nm-client.c
4794                 - (client_device_added_proxy): add new devices to the internal device
4795                         list so they appear to clients
4796
4797 2008-03-24  Dan Williams  <dcbw@redhat.com>
4798
4799         Massive fixup of libnm-glib to:
4800         a) have all objects (with the exception of VPN) cache their properties and
4801                 update them asynchronously on PropertiesChanged signals from NM
4802         b) return internal const data for most attributes/properties instead of
4803                 allocated values that the caller must free
4804         c) cache wrapped objects such that a given D-Bus path will always map to the
4805                 same GObject returned by libnm-glib
4806         d) remove a few signals and move them to GObject property notifications
4807         e) match recent NM D-Bus API changes for activation/deactivation
4808         f) remove some private functions from libnm-glib headers
4809
4810 2008-03-20  Dan Williams  <dcbw@redhat.com>
4811
4812         * src/nm-manager.c
4813                 - (nm_manager_update_state, manager_device_state_changed,
4814                    nm_manager_activate_device, connection_added_default_handler,
4815                    impl_manager_activate_connection, impl_manager_deactivate_connection):
4816                         queue PropertyChanged singals when the active connections change
4817
4818 2008-03-20  Dan Williams  <dcbw@redhat.com>
4819
4820         * introspection/nm-manager.xml
4821           introspection/nm-manager-client.xml
4822                 - (ActivateConnection): return the object path of the active connection
4823                         on success
4824                 - (GetActiveConnections): remove
4825                 - (DeactivateConnection): new function; deactivate a currently active
4826                         connection
4827                 - Add an ActiveConnections property which returns an array of
4828                         active connection object paths
4829
4830         * introspection/nm-device.xml
4831                 - (Deactivate): remove
4832
4833         * introspection/all.xml
4834                 - Add ActiveConnection introspection
4835
4836         * introspection/nm-active-connection.xml
4837                 - Add the ActiveConnection object
4838
4839         * include/NetworkManager.h
4840                 - Add the Connection.Active D-Bus interface
4841
4842         * src/nm-device-interface.c
4843                 - (impl_device_deactivate): remove
4844
4845         * src/nm-activation-request.c
4846           src/nm-activation-request.c
4847           src/Makefile.am
4848                 - Implement the Connection.Active D-Bus interface
4849
4850         * src/nm-manager.c
4851                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
4852                 - (nm_manager_activate_device): return the active connection path
4853                 - (connection_added_default_handler, impl_manager_activate_connection):
4854                         return the active connection to the caller
4855                 - (add_one_connection_element, impl_manager_get_active_connections):
4856                         remove
4857                 - (impl_manager_deactivate_connection): new function; deactivate an
4858                         active connection
4859
4860         * libnm-glib/nm-device.c
4861           libnm-glib/nm-device.h
4862                 - Remove Deactivate() function
4863
4864 2008-03-19  Dan Williams  <dcbw@redhat.com>
4865
4866         * introspection/nm-manager.xml
4867           introspection/nm-manager-client.xml
4868                 - Rename the ActivateDevice method to ActivateConnection to better
4869                         reflect it's usage; it's arguments get reordered a bit too
4870                 - Convert GetActiveConnections method return from a struct to a dict
4871
4872         * include/NetworkManager.h
4873                 - Define the dict keys for return value of GetActiveConnections
4874
4875         * src/nm-manager.c
4876                 - impl_manager_activate_device -> impl_manager_activate_connection
4877                 - (add_one_connection_element): return a populated hash table, not
4878                         a structure
4879
4880         * libnm-glib/nm-client.c
4881           libnm-glib/nm-client.h
4882                 - nm_client_activate_device -> nm_client_activate_connection
4883                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
4884                 - (nm_client_get_active_connections): return a GSList of GHashTables,
4885                         instead of the custom structures.  Each element of the returned list
4886                         must be freed with nm_client_free_active_connections_element()
4887
4888 2008-03-18  Dan Williams  <dcbw@redhat.com>
4889
4890         * system-settings/plugins/ifcfg-fedora/parser.c
4891           system-settings/plugins/ifcfg-fedora/parser.h
4892           system-settings/plugins/ifcfg-fedora/plugin.c
4893                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
4894                         profiles.  DNS servers and searches must now be stored in the ifcfg
4895                         files themselves
4896
4897 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4898
4899         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
4900         print out username and password, it's supposed to be a secret.
4901
4902         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
4903         request and set the device state accordingly.
4904
4905 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4906
4907         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
4908
4909         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
4910
4911 2008-03-18  Dan Williams  <dcbw@redhat.com>
4912
4913         * src/vpn-manager/nm-vpn-connection.c
4914                 - (get_secrets_cb): handle new GetSecrets return format
4915
4916 2008-03-18  Dan Williams  <dcbw@redhat.com>
4917
4918         Adapt system settings service for split 802.1x.
4919
4920         * system-settings/src/nm-system-config-interface.h
4921                 - clarify return value of get_secrets()
4922
4923         * system-settings/src/dbus-settings.c
4924                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
4925                 - (check_for_secrets): check if there actually secrets returned by a
4926                         plugin
4927                 - (exported_connection_get_secrets): just return the plugin-returned
4928                         hash of settings' secrets if it looks valid
4929
4930         * system-settings/plugins/ifcfg-fedora/plugin.c
4931                 - (get_secrets): add split secrets with correct format to reply hash
4932
4933         * system-settings/plugins/ifcfg-fedora/parser.c
4934           system-settings/plugins/ifcfg-fedora/parser.h
4935                 - (copy_one_cdata_secret, connection_data_copy_secrets,
4936                    connection_data_free, connection_data_add): keep secrets for
4937                         different settings in different hashes
4938
4939 2008-03-17  Tambet Ingo  <tambet@gmail.com>
4940
4941         Clean up activating device deactivation.
4942
4943         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
4944         should be done whether the device activation gets cancelled or the device
4945         is just getting deactivated.
4946         (nm_device_activation_cancel): Remove.
4947         (nm_device_deactivate_quickly): Handle the case where device is activating.
4948
4949         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
4950         It does the exact same thing as real_deactivate_quickly().
4951
4952 2008-03-17  Dan Williams  <dcbw@redhat.com>
4953
4954         Split the 802.1x bits out of the wireless-security setting so they are
4955         generalized enough for wired 802.1x to use too.
4956
4957         * introspection/nm-exported-connection.xml
4958                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
4959                         of just a hash of the secrets for one setting
4960
4961         * libnm-util/nm-setting-wireless-security.c
4962           libnm-util/nm-setting-wireless-security.h
4963                 - Remove 802.1x-specific stuff
4964                 - Added leap-username and leap-password properties for old-school LEAP
4965
4966         * src/nm-device.c
4967           src/nm-device.h
4968                 - (connection_secrets_updated_cb): take a list of updated settings names,
4969                         not just one
4970
4971         * src/supplicant-manager/nm-supplicant-config.c
4972           src/supplicant-manager/nm-supplicant-config.h
4973                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
4974                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
4975                         to nm_supplicant_config_add_setting_8021x()
4976                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
4977                         the supplicant config
4978
4979         * src/nm-device-802-11-wireless.c
4980                 - (build_supplicant_config): pass in the 802.1x setting too, if any
4981                 - (real_connection_secrets_updated): take a list of updated settings
4982                         names, not just one
4983
4984         * src/nm-device-802-3-ethernet.c
4985           src/nm-cdma-device.c
4986           src/nm-gsm-device.c
4987                 - (real_connection_secrets_updated_cb): take a list of updated settings
4988                         names, not just one
4989
4990         * src/nm-activation-request.c
4991           src/nm-activation-request.h
4992                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
4993                         now passes a list of updated settings names, not just one
4994                 - (update_one_setting): new function; handle one updated setting
4995                 - (get_secrets_cb): handle multiple settings returned from the
4996                         settings service; have to be careful of ordering here as there are
4997                         some dependencies between settings (ex. wireless-security and 802.1x
4998                         in some cases)
4999
5000         * src/marshallers/nm-marshal.list
5001                 - new marshaller for connection-secrets-updated signal
5002
5003         * libnm-util/nm-setting-8021x.c
5004                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
5005                         methods
5006                 - (verify): a valid 'eap' property is now required
5007
5008         * libnm-util/nm-connection.c
5009                 - (register_default_settings): add priorities to settings; there are
5010                         some dependencies between settings, and during the need_secrets
5011                         calls this priority needs to be respected.  For example, only the
5012                         wireless-security setting knows whether or not the connection is
5013                         going to use 802.1x or now, so it must be asked for secrets before
5014                         any existing 802.1x setting is
5015                 - (nm_connection_lookup_setting_type): expose
5016
5017         * libnm-util/nm-setting-wireless.c
5018                 - (verify): should verify even if all_settings is NULL; otherwise won't
5019                         catch the case where there is missing security
5020
5021         * libnm-util/nm-setting-wireless-security.c
5022                 - Remove everything to do with 802.1x
5023                 - Add old-school LEAP specific properties for username and password
5024                 - (need_secrets): rework LEAP secrets checking
5025                 - (verify): rework for LEAP and 802.1x verification
5026
5027 2008-03-17  Dan Williams  <dcbw@redhat.com>
5028
5029         * src/NetworkManagerPolicy.c
5030                 - (auto_activate_device): always remove the current activation check
5031                         from the pending activation list, otherwise when the policy gets
5032                         destroyed on NM exit it will attempt to free the already freed
5033                         activation check
5034
5035 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5036
5037         * src/backends/NetworkManagerSlackware.c 
5038         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
5039
5040         * src/backends/NetworkManagerSuSE.c: Add missing includes.
5041
5042 2008-03-14  Dan Williams  <dcbw@redhat.com>
5043
5044         * src/nm-manager.c
5045                 - (nm_device_interface_get_iface): g_object_get() will return an
5046                         allocated value, so this function must not return const
5047                 - (nm_device_interface_activate): free returned iface
5048
5049 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5050
5051         * libnm-util/Makefile.am: Add new files to build.
5052
5053         * libnm-util/nm-connection.c: Register NMSetting8021x.
5054
5055         * libnm-util/nm-setting-8021x.c
5056         * libnm-util/nm-setting-8021x.h: Implement.
5057
5058 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5059
5060         * libnm-util/Makefile.am: Add new files to build.
5061
5062         * libnm-util/nm-connection.c: Register NMSetting8021x.
5063
5064         * libnm-util/nm-setting-8021x.c
5065         * libnm-util/nm-setting-8021x.h: Implement.
5066
5067 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5068
5069         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
5070         data.
5071
5072 2008-03-14  Dan Williams  <dcbw@redhat.com>
5073
5074         * include/wireless-helper.h
5075           include/Makefile.am
5076                 - One place for all the junk needed for #including wireless.h
5077
5078         * test/nm-tool.c
5079           src/NetworkManagerAP.c
5080           src/wpa.c
5081           src/Makefile.am
5082           libnm-util/nm-utils.c
5083           libnm-util/nm-setting-wireless.c
5084           libnm-glib/nm-device-802-11-wireless.c
5085           libnm-glib/nm-access-point.c
5086           libnm-glib/libnm-glib-test.c
5087                 - include wireless-helper.h, not iwlib.h
5088
5089         * configure.in
5090                 - Don't need libiw really, just need to check for wireless.h
5091
5092         * src/kernel-types.h
5093                 - Remove; used types moved into wpa.c
5094
5095         * src/nm-device-802-11-wireless.c
5096                 - (nm_device_802_11_wireless_update_signal_strength,
5097                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
5098                    nm_device_802_11_wireless_set_mode,
5099                    nm_device_802_11_wireless_get_frequency,
5100                    nm_device_802_11_wireless_get_ssid,
5101                    nm_device_802_11_wireless_set_ssid,
5102                    nm_device_802_11_wireless_get_bitrate,
5103                    nm_device_802_11_wireless_get_bssid,
5104                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
5105                         instead of iwlib functions
5106
5107 2008-03-14  Dan Williams  <dcbw@redhat.com>
5108
5109         * src/ppp-manager/nm-ppp-manager.c
5110                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
5111                         should only take the DBusGMethodInvocation argument, not user/pass
5112                         too.  With dbus-glib, async functions only take 2 C arguments since
5113                         the real dbus method arguments get passed back with
5114                         dbus_g_method_return()
5115
5116 2008-03-13  Tambet Ingo  <tambet@gmail.com>
5117
5118         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
5119         Adapt the changes of NMSettingIP4Config.
5120
5121 2008-03-13  Dan Williams  <dcbw@redhat.com>
5122
5123         * src/NetworkManagerUtils.c
5124           src/NetworkManagerUtils.h
5125                 - (nm_ether_ntop): replacement for iw_ether_ntop()
5126
5127         * src/NetworkManagerAP.c
5128           src/nm-device-802-11-wireless.c
5129           src/nm-device-802-3-ethernet.c
5130                 - s/iw_ether_ntop/nm_ether_ntop/g
5131
5132 2008-03-13  Dan Williams  <dcbw@redhat.com>
5133
5134         * src/NetworkManagerPolicy.c
5135                 - (update_routing_and_dns): never set the default route through an
5136                         IPv4LL addressed device
5137
5138 2008-03-13  Dan Williams  <dcbw@redhat.com>
5139
5140         * NetworkManagerUtils.c
5141           NetworkManagerUtils.h
5142                 - Remove NMSock stuff
5143                 - Remove the completion stuff
5144
5145         * nm-device.c
5146           nm-device.h
5147           NetworkManager.c
5148           NetworkManagerSystem.c
5149           autoip.c
5150           nm-device-802-11-wireless.c
5151           nm-device-802-3-ethernet.c
5152                 - Remove NMSock and completion stuff
5153                 - Remove nm_ioctl_info()
5154
5155 2008-03-12  Dan Williams  <dcbw@redhat.com>
5156
5157         * src/nm-device.c
5158                 - (merge_ip4_config): avoid duplicates
5159
5160 2008-03-12  Dan Williams  <dcbw@redhat.com>
5161
5162         * libnm-util/nm-setting-ip4-config.c
5163           libnm-util/nm-setting-ip4-config.h
5164                 - Remove 'manual' and 'autoip' properties
5165                 - Add 'method' property
5166                 - (verify): fix verification with 'method'
5167                 - (finalize): free 'method'
5168                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
5169                         up for 'method'
5170
5171         * src/nm-device.c
5172                 - (real_act_stage3_ip_config_start): check IP4Config method
5173                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
5174                         the future
5175                 - (merge_ip4_config): IP settings are valid with DHCP too
5176                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
5177                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
5178
5179         * src/nm-device-802-11-wireless.c
5180                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
5181                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
5182                         only on demand
5183
5184         * system-settings/plugins/ifcfg-fedora/parser.c
5185           system-settings/plugins/ifcfg-suse/parser.c
5186                 - (make_ip4_setting): fix up for 'method'
5187
5188 2008-03-12  Dan Williams  <dcbw@redhat.com>
5189
5190         * system-settings/plugins/ifcfg-fedora/parser.c
5191           system-settings/plugins/ifcfg-fedora/parser.h
5192                 - (get_ifcfg_name): ignore more file suffixes
5193                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
5194
5195 2008-03-12  Dan Williams  <dcbw@redhat.com>
5196
5197         * configure.in
5198                 - Bring in the bits of gnome-common we actually use (all 15 lines)
5199
5200 2008-03-12  Dan Williams  <dcbw@redhat.com>
5201
5202         * system-settings/plugins/ifcfg-fedora/plugin.c
5203                 - (write_auto_wired_connection): new function; write out an auto
5204                         wired connection file since the applet isn't doing it any more
5205                 - (reload_all_connections): write out the auto wired connection file
5206                         if there aren't any wired connections already
5207                 - (init): don't leak a GError
5208
5209 2008-03-12  Dan Williams  <dcbw@redhat.com>
5210
5211         * src/nm-device-interface.c
5212                 - (nm_device_interface_activate): print the ID of the connection
5213                         that's about to be activated
5214
5215 2008-03-12  Dan Williams  <dcbw@redhat.com>
5216
5217         Harmonize the 802.11 bitrate API
5218
5219         * introspection/nm-access-point.xml
5220                 - 'Rate' -> 'MaxBitrate'; clarify units
5221
5222         * introspection/nm-device-802-11-wireless.xml
5223                 - Clarify units of 'Bitrate'
5224
5225         * src/NetworkManagerAP.c
5226           src/NetworkManagerAP.h
5227                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
5228                         property to 'max-bitrate'
5229                 - (foreach_property_cb): convert rate to Kb/s
5230
5231         * src/nm-device-802-11-wireless.c
5232                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
5233
5234         * libnm-glib/nm-access-point.c
5235           libnm-glib/nm-access-point.h
5236                 - 'rate' -> 'max-bitrate'
5237
5238         * test/nm-tool.c
5239           libnm-glib/libnm-glib-test.c
5240                 - Fix up for these changes
5241
5242 2008-03-12  Dan Williams  <dcbw@redhat.com>
5243
5244         * src/nm-device.c
5245                 - (nm_device_set_ip4_config): don't send property notifications when
5246                         the ip4 config is set to NULL; it causes a PropertyChanged signal
5247                         which dbus-glib can't parse because the value is NULL, which isn't
5248                         a legal object path.  Setting the IP4 config to NULL is only
5249                         valid when deactivating a device anyway, so the device state change
5250                         will alert listeners that the ip4 config is invalid.
5251
5252 2008-03-12  Dan Williams  <dcbw@redhat.com>
5253
5254         * src/nm-properties-changed-signal.c
5255                 - (add_to_string): better handling of NULL objects
5256
5257 2008-03-12  Dan Williams  <dcbw@redhat.com>
5258
5259         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
5260         convert the libnm-glib NMDevice8023Ethernet to cached properties
5261
5262         * introspection/nm-device-802-3-ethernet.xml
5263                 - New 'Carrier' property
5264                 - New 'PropertiesChanged' signal
5265
5266         * introspection/nm-device.xml
5267                 - Remove 'Carrier' property
5268                 - Remove 'CarrierChanged' signal
5269
5270         * src/nm-device-interface.c
5271           src/nm-device-interface.h
5272                 - (nm_device_interface_init): remove 'carrier' property and
5273                         'carrier-changed' signal
5274
5275         * src/nm-device.c
5276           src/nm-device.h
5277                 - (nm_device_get_carrier, nm_device_set_carrier): remove
5278                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
5279                         the link here; wired device will handle that
5280                 - (handle_dhcp_lease_change): don't bother updating link here
5281                 - (get_property, nm_device_class_init): remove carrier property
5282
5283         * src/nm-device-802-11-wireless.c
5284                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
5285                         real_update_link(); wireless devices don't use carrier at all
5286                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
5287                    supplicant_iface_connection_state_cb_handler,
5288                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
5289
5290         * src/nm-device-802-3-ethernet.c
5291           src/nm-device-802-3-ethernet.h
5292                 - (nm_device_802_3_ethernet_carrier_on,
5293                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
5294                         instead of nm_device_set_carrier()
5295                 - (device_state_changed): update link from sysfs on activation;
5296                         replaces real_update_link()
5297                 - (real_update_link): remove, replaced by device_state_changed()
5298                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
5299                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
5300                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
5301                         new get_carrier function
5302                 - (get_property): add 'carrier' property
5303                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
5304                         hook into property-changed signal helper
5305
5306         * src/NetworkManagerPolicy.c
5307                 - (device_carrier_changed): will only ever be called with a wired device
5308                 - (device_added): only hook up to carrier-changed for wired devices
5309
5310         * libnm-glib/nm-device.c
5311           libnm-glib/nm-device.h
5312                 - (constructor, nm_device_class_init): remove carrier-changed signal
5313                 - (device_carrier_changed_proxy): remove; unused
5314                 - (nm_device_get_carrier): remove; carrier a property of wired devices
5315
5316         * libnm-glib/nm-device-802-3-ethernet.c
5317           libnm-glib/nm-device-802-3-ethernet.h
5318                 - Convert to cached properties like AP and Wireless objects
5319                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
5320                         instead of a 'char *', return value should not be freed
5321                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
5322                 - (constructor): hook into properties-changed helper
5323                 - (set_property, get_property): new functions
5324                 - (nm_device_802_3_ethernet_class_init): export GObject properties
5325
5326         * test/nm-tool.c
5327                 - (detail_device): strdup the wired hardware address too since it's
5328                         cached now
5329
5330         * libnm-glib/libnm-glib-test.c
5331                 - (dump_wired): strdup the wired hardware address too since it's
5332                         cached now
5333
5334 2008-03-12  Dan Williams  <dcbw@redhat.com>
5335
5336         * libnm-util/nm-setting-ip4-config.c
5337           libnm-util/nm-setting-ip4-config.h
5338                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
5339                         the 'autoip' property from the spec
5340
5341 2008-03-11  Dan Williams  <dcbw@redhat.com>
5342
5343         * src/backends/NetworkManagerGeneric.c
5344           src/backends/NetworkManagerGeneric.h
5345                 - (nm_generic_device_get_use_dhcp): remove
5346
5347 2008-03-11  Dan Williams  <dcbw@redhat.com>
5348
5349         * src/nm-device.c
5350                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
5351                         already in nm_device_set_ip4_config()
5352                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
5353                         due to a DHCP rebind fails
5354                 - (nm_device_set_ip4_config): send property notifications when the
5355                         ip4 config changes
5356                 - (get_property): only report IP4Config property during valid states
5357
5358         * src/NetworkManagerPolicy.c
5359                 - (update_routing_and_dns): ignore devices that don't have an ip4
5360                         config; add parameter 'force_update' to allow callers to specify
5361                         that changes should be made even if the default device doesn't change
5362                 - (device_ip4_config_changed): update DNS and routing when the device's
5363                         IP4Config changes, like for DHCP updates
5364                 - (device_added): listen for ip4-config property changes
5365
5366 2008-03-11  Dan Williams  <dcbw@redhat.com>
5367
5368         Fix address handling as a result of DHCP rebind/renew/reboot.
5369
5370         * src/NetworkManagerSystem.c
5371                 - (check_one_address): delete an address if it doesn't match a given
5372                         one for the same interface
5373                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
5374                         be smarter about flushing addresses (only flush ones that don't
5375                         match the one we're about to apply)
5376
5377         * src/backends/NetworkManagerDebian.c
5378           src/backends/NetworkManagerSuSE.c
5379           src/backends/NetworkManagerArch.c
5380           src/backends/NetworkManagerSlackware.c
5381           src/backends/NetworkManagerRedHat.c
5382           src/backends/NetworkManagerPaldo.c
5383           src/backends/NetworkManagerFrugalware.c
5384           src/backends/NetworkManagerGentoo.c
5385                 - (nm_system_delete_default_route): remove
5386
5387         * src/backends/NetworkManagerGeneric.c
5388           src/backends/NetworkManagerGeneric.h
5389                 - (nm_generic_enable_loopback): fix the loopback device label
5390                 - (nm_generic_delete_default_route): remove; no longer used
5391
5392 2008-03-11  Dan Williams  <dcbw@redhat.com>
5393
5394         * src/nm-device-interface.h
5395                 - Delimit property name words with '-', otherwise g_object_notify()
5396                         doesn't work the way we expect
5397
5398 2008-03-11  Tambet Ingo  <tambet@gmail.com>
5399
5400         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
5401
5402 2008-03-11  Dan Williams  <dcbw@redhat.com>
5403
5404         * src/NetworkManagerPolicy.c
5405                 - (update_routing_and_dns): don't change anything if the default device
5406                         hasn't changed; print something out when switching the default route
5407                         and DNS
5408
5409 2008-03-10  Tambet Ingo  <tambet@gmail.com>
5410
5411         Implement PPPoE.
5412
5413         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
5414         setting. Use "nic-$eth".
5415
5416         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
5417         the device is activating here to fix a race condition.
5418
5419         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
5420
5421         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
5422         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
5423         (nm_ppp_manager_start): Take activation request instead of connection, we might
5424         need it for asking secrets.
5425         (nm_ppp_manager_update_secrets): Implement.
5426
5427         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
5428         ppp manager start. It might be needed for asking secrets.
5429
5430         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
5431         (ppp_state_changed): Handle pppd daemon disappearing.
5432         (pppoe_stage2_config): Send activation request to ppp manager start.
5433
5434         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
5435
5436         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
5437         username and password.
5438         
5439 2008-03-10  Dan Williams  <dcbw@redhat.com>
5440
5441         * src/nm-device.c
5442                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
5443                         response to a DHCP lease change
5444                 - (dhcp_state_changed): handle DHCP lease changes while activated
5445                 - (nm_device_set_ip4_config): remove a previously set named config
5446                         when setting an ip4 config
5447
5448 2008-03-10  Dan Williams  <dcbw@redhat.com>
5449
5450         * src/nm-serial-device.c
5451                 - (nm_serial_device_send_command): report errno on error
5452                 - (get_reply_got_data): limit the size of the overall buffer
5453                 - (wait_for_reply_info_destroy): destroy result string
5454                 - (wait_for_reply_got_data): append received data to an overall buffer
5455                         until timeout, filled buffer, or error instead of keeping a per-call
5456                         buffer.  Some devices send data slowly enough that this function
5457                         gets called multiple times for the same command stream.
5458                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
5459                         wait_for_reply_got_data() here
5460
5461 2008-03-10  Dan Williams  <dcbw@redhat.com>
5462
5463         * src/nm-cdma-device.c
5464                 - (do_dial, init_modem): handle errors from
5465                         nm_serial_device_send_command_string()
5466
5467         * src/nm-gsm-device.c
5468                 - (do_dial, manual_registration, automatic_registration_get_network,
5469                    automatic_registration, enter_pin, check_pin, init_modem): handle
5470                         errors from nm_serial_device_send_command_string()
5471
5472 2008-03-10  Dan Williams  <dcbw@redhat.com>
5473
5474         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
5475
5476         * src/named-manager/nm-named-manager.c
5477                 - (compute_searches): prefer searches before domains
5478                 - (compute_domain): new function
5479                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
5480                 - (merge_one_ip4_config): if there are no searches in the source config,
5481                         merge domains of the source config into the target config
5482                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
5483
5484 2008-03-10  Dan Williams  <dcbw@redhat.com>
5485
5486         * src/nm-serial-device.c
5487                 - (get_reply_got_data): clean up indentation, shrink serial buffer
5488                 - (wait_for_reply_got_data): try to handle slower serial devices where
5489                         the reply is broken up into multiple reads by concatenating replies
5490                         together until either an error is received or the search string is
5491                         found
5492
5493 2008-03-10  Dan Williams  <dcbw@redhat.com>
5494
5495         * src/nm-device.c
5496                 - (nm_device_bring_down): deactivate the device if it's activating too,
5497                         not just if it's already activated.  This makes sure that everything
5498                         from an association attempt is cleaned up (like DHCP for example)
5499
5500 2008-03-10  Dan Williams  <dcbw@redhat.com>
5501
5502         * src/nm-serial-device.c
5503                 - (config_fd): report error from TCSETA
5504                 - (nm_serial_device_open): fail when config_fd() fails
5505
5506 2008-03-10  Dan Williams  <dcbw@redhat.com>
5507
5508         * src/nm-ip4-config.c
5509                 - (nm_ip4_config_init): allocate searches list
5510                 - (finalize): free searches list
5511
5512 2008-03-09  Dan Williams  <dcbw@redhat.com>
5513
5514         Patch from Bas Zoetekouw <bas@debian.org>
5515
5516         * src/dhcp-manager/nm-dhcp-manager.c
5517                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
5518
5519 2008-03-09  Dan Williams  <dcbw@redhat.com>
5520
5521         Patch from Bas Zoetekouw <bas@debian.org>
5522
5523         * src/nm-ip4-config.c
5524           src/nm-ip4-config.h
5525                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
5526                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
5527                         domains.  'searches' is the correct way to store multiple search
5528                         domains, whereas 'domains' is really just supposed to store one
5529                         domain.  Some sites abuse the DHCP 'domain-name' option to push
5530                         search domains to the client.
5531                 - (nm_ip4_config_add_domain): group with related functions (my patch)
5532
5533 2008-03-09  Dan Williams  <dcbw@redhat.com>
5534
5535         * src/dhcp-manager/nm-dhcp-manager.c
5536                 - (dhclient_run): send interface-specific config files to dhclient
5537
5538 2008-03-07  Dan Williams  <dcbw@redhat.com>
5539
5540         * system-settings/plugins/ifcfg-fedora/parser.c
5541                 - (is_wireless_device): new function; test a device for wireless
5542                         extensions
5543                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5544                         test the device for wireless extensions to determine the type
5545
5546 2008-03-07  Dan Williams  <dcbw@redhat.com>
5547
5548         Change manager's StateChange signal to StateChanged for consistency.
5549
5550         * introspection/nm-manager.xml
5551                 - Add 'StateChanged' signal
5552                 - Move 'StateChange' down to the deprecated section
5553
5554         * src/nm-hal-manager.c
5555                 - (nm_hal_manager_new): connect to 'state-changed' instead
5556
5557         * src/NetworkManagerPolicy.c
5558                 - (nm_policy_new): connect to 'state-changed' instead
5559
5560         * src/nm-manager.c
5561           src/nm-manager.h
5562                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5563                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5564                         of 'state-change'
5565
5566         * libnm-glib/nm-client.c
5567           libnm-glib/nm-client.h
5568                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5569                         track and proxy 'state-changed' instead of 'state-change'
5570
5571 2008-03-07  Dan Williams  <dcbw@redhat.com>
5572
5573         First pass of multiple active device support.  Expect bugs.
5574
5575         * src/nm-ip4-config.c
5576           src/nm-ip4-config.h
5577                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5578                         there are better ways to do this in the named manager
5579
5580         * src/nm-device.c
5581           src/nm-device.h
5582                 - (nm_device_can_activate): return whether the device can activate a
5583                         connection right now; taking into account things like carrier state
5584                         and rfkill state
5585                 - (nm_device_get_best_auto_connection): renamed from
5586                         nm_device_get_best_connection
5587                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5588                         device subclasses themselves, so that each device can override the
5589                         MTU from it's NMSetting subclass if needed
5590                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5591                         in NetworkManagerSystem.c, not here
5592
5593         * src/named-manager/nm-named-manager.c
5594           src/named-manager/nm-named-manager.h
5595                 - (nm_named_manager_name_owner_changed,
5596                    nm_named_manager_dbus_connection_changed): fix for changes to
5597                         rewrite_resolv_conf()
5598                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5599                         from parameter list
5600                 - (merge_one_ip4_config): new function; merge ip4 configs together
5601                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5602                         ip4 configs; the VPN config takes precedence, then the best
5603                         device config, then the rest of the configs
5604                 - (get_domain_for_config): take the NMNamedManager as an argument
5605                         to check whether the config is the VPN config
5606                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5607                         attribute from ip4 configs
5608                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5609                 - (remove_ip4_config_from_named): fix for changes to
5610                         get_domain_for_config()
5611                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5612                         based on its type; callers must pass in the type now
5613                 - (get_last_default_domain): remove, unused
5614                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5615
5616         * src/nm-device-802-11-wireless.c
5617                 - (real_can_activate): new function
5618                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5619                 - (real_act_stage4_get_ip4_config): handle MTU override
5620
5621         * src/nm-device-802-3-ethernet.c
5622                 - (real_can_activate): new function
5623                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5624                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5625
5626         * src/vpn-manager/nm-vpn-connection.c
5627                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5628                         attribute on the ip4 config
5629
5630         * src/NetworkManagerPolicy.c
5631                 - (nm_policy_auto_get_best_device): remove
5632                 - (nm_policy_device_change_check): remove
5633                 - (update_default_route): new function; set the default route via
5634                         the specified device
5635                 - (get_device_priority): new function; return the priority number of
5636                         a device type WRT which one should have the default route.  Order is
5637                         (highest to lowest)  wired, wireless, GSM, CDMA.
5638                 - (update_routing_and_dns): new function; determine which device should
5639                         have the default route, then update the routing table and DNS
5640                 - (maybe_auto_activate_device): new function; if a device is now
5641                         available for activation, find out what connection it would like to
5642                         activate and do it
5643                 - (schedule_activate_check): new function; if a device can be activated
5644                         now, schedule the activation.  Each device may have only one
5645                         pending activation at a given time.
5646                 - (device_state_changed): if activation was canceled, try again,
5647                         possibly with another connection; if the device was activated,
5648                         update routing and DNS; if the device was deactivated, try again
5649                         with another connection
5650                 - (device_carrier_changed): if there is no carrier, deactivate the
5651                         device; otherwise schedule an activation check for the device
5652                 - (wireless_networks_changed): schedule an activation check for the
5653                         device
5654                 - (device_added): keep track of the signal handler IDs so they can
5655                         be removed when the device goes away
5656                 - (device_removed): remove any signal handlers that might be attached
5657                         to the device; update routing and DNS
5658                 - (schedule_activate_all): new function
5659                 - (connections_added, connection_added, connection_updated): when
5660                         connections change, schedule all devices for an activation check
5661                 - (connection_removed): when a device is deactivated because its
5662                         connection was removed, schedule another activation check for it
5663                 - (nm_policy_destroy): destroy pending activations and disconnect
5664                         all device signal handlers
5665
5666         * src/nm-manager.c
5667                 - (nm_manager_activate_device): if the device was already actived,
5668                         deactivate it
5669                 - (deactivate_old_device): remove
5670                 - (connection_added_default_handler, impl_manager_activate_device):
5671                         don't deactivate other devices when activating this one
5672
5673         * src/backends/NetworkManagerGentoo.c
5674           src/backends/NetworkManagerFrugalware.c
5675           src/backends/NetworkManagerPaldo.c
5676           src/backends/NetworkManagerRedHat.c
5677           src/backends/NetworkManagerSlackware.c
5678           src/backends/NetworkManagerArch.c
5679           src/backends/NetworkManagerSuSE.c
5680           src/backends/NetworkManagerDebian.c
5681                 - (nm_system_get_mtu): remove; MTU should be provided through the
5682                         distro's system settings service plugin instead
5683                 - (nm_system_device_add_default_route_via_device): remove
5684                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5685                 - (nm_system_device_replace_default_route): new function; call
5686                         generic implementation
5687
5688         * src/backends/NetworkManagerGeneric.c
5689           src/backends/NetworkManagerGeneric.h
5690                 - (nm_generic_device_add_default_route_via_device,
5691                    nm_generic_device_add_default_route_via_device_with_iface): remove
5692                 - (nm_generic_device_replace_default_route): replace the default route
5693                         with the given route via some gateway
5694
5695         * src/NetworkManagerSystem.c
5696           src/NetworkManagerSystem.h
5697                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5698                         to routing and DNS; but set the MTU here
5699                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5700                         ip_iface of the active device; use the standard MTU setting function
5701                 - (nm_system_set_mtu): remove
5702                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5703
5704 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5705
5706         Rework the interaction between ppp manager and pppd plugin. Register a well
5707         known DBUS service in manager and let the plugin call it's methods instead
5708         of listening plugin's signals.
5709
5710         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5711         of emitting signals.
5712
5713         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5714
5715         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5716
5717         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5718         nm_ppp_manager_start().
5719
5720         * introspection/nm-ppp-manager.xml: New file.
5721
5722         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5723         the case correctly where driver is trying to send -1 for the speed, which gets
5724         casted to u16 and thus is always > 0.
5725
5726 2008-03-07  Dan Williams  <dcbw@redhat.com>
5727
5728         * src/nm-hal-manager.c
5729                 - (nm_get_device_driver_name): use net.originating_device first, fall
5730                         back to physical device.  HAL has deprecated physical_device.
5731
5732         * libnm-glib/nm-device.c
5733                 - (get_product_and_vendor): use net.originating_device first, fall
5734                         back to physical device.  HAL has deprecated physical_device.
5735                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
5736
5737 2008-03-07  Dan Williams  <dcbw@redhat.com>
5738
5739         * src/nm-netlink.c
5740                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
5741                         last commit; fix that
5742                 - (get_link_cache): print error string
5743
5744 2008-03-07  Dan Williams  <dcbw@redhat.com>
5745
5746         * src/nm-netlink.c
5747                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
5748                         don't need this hack any more (Benoit Boissinot)
5749
5750 2008-03-06  Dan Williams  <dcbw@redhat.com>
5751
5752         * autogen.sh
5753                 - Die gnome-common, die
5754
5755 2008-03-04  Dan Williams  <dcbw@redhat.com>
5756
5757         Patch from Michael Biebl <biebl@debian.org>
5758
5759         * NetworkManager.pc.in
5760                 - doesn't actually depend on dbus-1
5761
5762         * libnm-util/nm-utils.h
5763                 - remove unused #include <dbus/dbus.h>
5764
5765         * libnm-glib/libnm_glib.pc.in
5766                 - depends on glib and dbus-glib
5767
5768 2008-03-02  Dan Williams  <dcbw@redhat.com>
5769
5770         * src/NetworkManagerPolicy.c
5771                 - s/device_state_changed_idle_id/update_state_id/
5772
5773 2008-03-02  Dan Williams  <dcbw@redhat.com>
5774
5775         * src/nm-device.c
5776           src/nm-device.h
5777           src/nm-device-802-11-wireless.c
5778           src/nm-device-802-3-ethernet.c
5779           src/NetworkManagerPolicy.c
5780                 - s/link_active/carrier
5781                 - nm_device_set_active_link() -> nm_device_set_carrier()
5782                 - nm_device_has_active_link() -> nm_device_get_carrier()
5783
5784 2008-03-02  Dan Williams  <dcbw@redhat.com>
5785
5786         * system-settings/plugins/ifcfg-fedora/parser.c
5787                 - (make_wireless_setting): fail connection creation on missing SSID
5788
5789 2008-02-29  Dan Williams  <dcbw@redhat.com>
5790
5791         * src/NetworkManagerPolicy.c
5792                 - (nm_policy_device_change_check): ensure that a previously active
5793                         device with a system connection has a link before denying a switch
5794                         to a user connection
5795
5796 2008-02-29  Dan Williams  <dcbw@redhat.com>
5797
5798         * src/nm-device-802-11-wireless.c
5799                 - (link_timeout_cb): try again if scanning; deactivate the device when
5800                         activated if the link dies
5801                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
5802                         15 seconds
5803
5804 2008-02-29  Dan Williams  <dcbw@redhat.com>
5805
5806         * src/nm-device-802-11-wireless.c
5807           src/nm-device-802-11-wireless.h
5808                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
5809                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
5810                 - (device_cleanup): reset the scan interval lower when the device
5811                         deactivates
5812                 - (can_scan): base decision mostly off device state, not supplicant
5813                         interface state since the supplicant interface state isn't a
5814                         great indicator of whether the device is active or not
5815                 - (request_wireless_scan): clean up; schedule the next scan here
5816                 - (schedule_scan): only back the scan interval off if a new scan
5817                         actually gets scheduled; and make scan intervals tighter when the
5818                         device is disconnected
5819                 - (supplicant_iface_state_cb_handler): fold in the bits of
5820                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
5821                         interval to minimum
5822                 - (activation_success_handler): reset scan interval to something
5823                         reasonable 
5824
5825 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
5826
5827         reviewed by: Steev <steev@steev.net>
5828
5829         * configure.in:
5830         * src/backends/NetworkManagerGentoo.c:
5831         (nm_system_restart_mdns_responder):
5832                 Howl is no longer a supported mDNS provider
5833
5834 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5835
5836         Get rid of a bunch of unused distro specific functions.
5837
5838 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5839
5840         Implement suse plugin for system settings daemon.
5841
5842         * system-settings/plugins/ifcfg-suse/*: Implement.
5843
5844         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
5845         suse.
5846
5847         * configure.in: Check (without failing) for gio.
5848         Create ifcfg-suse plugin's Makefile.
5849
5850 2008-02-20  Dan Williams  <dcbw@redhat.com>
5851
5852         * libnm-util/nm-connection.c
5853           libnm-util/nm-connection.h
5854                 - (nm_connection_compare): accept compare flags and pass them to the
5855                         setting compare function
5856
5857         * libnm-util/nm-setting.c
5858           libnm-util/nm-setting.h
5859                 - (nm_setting_compare): accept compare flags; ignore properties that are
5860                         marked fuzzy
5861
5862         * libnm-util/nm-setting-connection.c
5863           libnm-util/nm-setting-wireless.c
5864           libnm-util/nm-setting-ppp.c
5865           libnm-util/nm-setting-wired.c
5866                 - Mark some setting properties as ignorable when doing a fuzzy compare
5867
5868         * src/nm-device.c
5869                 - (device_activation_precheck): use exact compare
5870
5871 2008-02-20  Dan Williams  <dcbw@redhat.com>
5872
5873         * src/NetworkManagerPolicy.c
5874                 - (nm_policy_device_change_check): get scope off the connection, not
5875                         using the manager helper
5876
5877         * src/nm-manager.c
5878           src/nm-manager.h
5879                 - (get_scope_for_proxy): rename from get_type_for_proxy()
5880                 - (connection_get_settings_cb): set scope and path on connection, not
5881                         using GObject data items
5882                 - (get_connection_for_proxy): don't need to return path, since that
5883                         can be gotten from the connection
5884                 - (get_connection_for_proxy): get path off the connection, not from
5885                         parameters
5886                 - (connection_removed_cb, connection_updated_cb): don't need to get
5887                         path from get_connection_for_proxy(); get scope off the connection
5888                         instead of using GObject data items
5889                 - (connection_added_default_handler, add_one_connection_element): use
5890                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
5891                 - (nm_manager_get_connection_dbus_path): remove
5892                 - (nm_manager_get_connection_scope): remove
5893
5894 2008-02-20  Dan Williams  <dcbw@redhat.com>
5895
5896         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
5897                 on confusing names
5898
5899         * Add 'path' and 'scope' properties to NMConnection since both NM and the
5900                 applet were having to hack this in anyway.  Remove the 'path' stuff from
5901                 NMExportedConnection
5902
5903         * Internally rename NMConnectionType -> NMConnectionScope
5904
5905         * Provide default implementations of the 'get_id' and 'get_settings' methods
5906                 of NMExportedConnection
5907
5908 2008-02-15  Dan Williams  <dcbw@redhat.com>
5909
5910         * src/nm-device-802-11-wireless.c
5911                 - (device_cleanup): release the AP list here too so that the AP list
5912                         doesn't survive across suspend/resume and up/down.  There is some
5913                         room for optimization, for example blow the list away when the card
5914                         brought back up, but only if the device has only been down for a
5915                         minute or more.
5916
5917 2008-02-15  Dan Williams  <dcbw@redhat.com>
5918
5919         * src/nm-hal-manager.c
5920                 - (modem_device_creator): recognize new HAL modem capabilities
5921
5922 2008-02-12  Dan Williams  <dcbw@redhat.com>
5923
5924         * system-settings/plugins/ifcfg-fedora/plugin.c
5925                 - (watch_path): handle IN_DELETE_SELF too
5926                 - (handle_connection_changed): notify when removing a connection
5927                 - (stuff_changed): don't warn on unknown inotify watches; handle the
5928                         case of a file moving out of the profile directory
5929
5930 2008-02-12  Dan Williams  <dcbw@redhat.com>
5931
5932         * system-settings/plugins/ifcfg-fedora/parser.c
5933                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
5934
5935 2008-02-12  Dan Williams  <dcbw@redhat.com>
5936
5937         * libnm-util/nm-utils.c
5938                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
5939                         just any empty array
5940
5941 2008-02-12  Dan Williams  <dcbw@redhat.com>
5942
5943         * system-settings/src/nm-system-config-interface.c
5944           system-settings/src/nm-system-config-interface.h
5945                 - (load_connections): get_connections() should now return an allocated
5946                         GSList that the system settings service will free
5947
5948         * system-settings/plugins/ifcfg-fedora/plugin.c
5949           system-settings/plugins/ifcfg-fedora/parser.h
5950           system-settings/plugins/ifcfg-fedora/parser.c
5951                 - Fix up inotify issues; handle keys-* files, handle new files appearing
5952                         in the profile directory, handle resolv.conf file changes
5953
5954 2008-02-10  Dan Williams  <dcbw@redhat.com>
5955
5956         * src/nm-device-802-3-ethernet.c
5957                 - (real_bring_up): save the supplicant interface state signal id
5958                 - (real_bring_down): disconnect from the supplicant interface state
5959                         signal
5960
5961 2008-02-07  Dan Williams  <dcbw@redhat.com>
5962
5963         * initscript/RedHat/NetworkManager.in
5964           initscript/RedHat/NetworkManagerDispatcher.in
5965                 - Add new-style LSB init headers
5966
5967 2008-02-07  Dan Williams  <dcbw@redhat.com>
5968
5969         * system-settings/src/dbus-settings.c
5970           system-settings/src/dbus-settings.h
5971                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
5972                         table of secrets
5973                 - (connection_settings_get_secrets): consolidate error returns into
5974                         one place; use the new get_secrets() plugin interface function to
5975                         get secrets from the plugin itself rather than using GObject data
5976                         magic
5977
5978         * system-settings/src/main.c
5979                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
5980                    load_connections): keep a private list of the plugin-returned
5981                         connections, don't use the plugin's GSList
5982
5983         * system-settings/plugins/ifcfg-fedora/plugin.c
5984                 - (watch_path): watch the path, not the filename (duh)
5985                 - (reload_all_connections): use the direct hash/equal functions; the
5986                         ones for int aren't appropriate here
5987                 - (get_secrets, system_config_interface_init): implement the
5988                         get_secrets() function
5989                 - (build_one_connection, find_connection_by_path): ifcfg file path is
5990                         now in the connection's ConnectionData instead of being a GObject
5991                         data property
5992                 - (handle_profile_item_changed): ifcfg file path is now in the
5993                         connection's ConnectionData instead of being a GObject data property;
5994                         be sure to copy secrets over from the new connection to the existing
5995                         connection when updating the connection's settings
5996                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
5997                         file descriptor
5998
5999         * system-settings/plugins/ifcfg-fedora/parser.c
6000           system-settings/plugins/ifcfg-fedora/parser.h
6001                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
6002                    connection_data_copy_secrets, connection_data_free,
6003                    connection_data_add): new functions; connection data manipulation
6004                 - (make_wireless_security_setting): stuff secrets into the
6005                         connection data, not as GObject data items; make sure to close
6006                         the keys ifcfg file
6007                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
6008                         connection data to the connection
6009
6010 2008-02-07  Dan Williams  <dcbw@redhat.com>
6011
6012         * system-settings/src/nm-system-config-interface.c
6013           system-settings/src/nm-system-config-interface.h
6014                 - Add a get_secrets() interface function to retrieve secrets for a
6015                         specific setting of a specific connection.  Document the interface
6016                         a bit more too.
6017
6018 2008-02-07  Dan Williams  <dcbw@redhat.com>
6019
6020         * src/nm-device-802-11-wireless.c
6021                 - (handle_auth_or_fail): new function; consolidate device activation
6022                         failure check after a certain number of failures getting secrets
6023                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
6024                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
6025                         the connection if secrets were requested more than a few times
6026                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
6027                         tries here; otherwise they are cleared before the IP configure
6028                         timeout, which happens with open system WEP when key is wrong
6029                 - (activation_success_handler): clear wireless secrets tries here too
6030
6031 2008-02-07  Dan Williams  <dcbw@redhat.com>
6032
6033         * src/NetworkManagerPolicy.c
6034                 - (connection_updated): clear invalid tag when connection gets updated
6035                         to allow that connection to be tried again
6036                 - (nm_policy_new): save signal ids so they can be disconnected when
6037                         the policy is destroyed
6038                 - (nm_policy_destroy): stop any in-progress state change idle handler,
6039                         and disconnect all signals from the manager object so that none
6040                         of the policy functions gets called after the policy is destroyed
6041
6042 2008-02-06  Dan Williams  <dcbw@redhat.com>
6043
6044         * src/nm-manager.c
6045                 - (finalize): remove devices a bit earlier; clean up system settings
6046                         poke
6047                 - (nm_manager_name_owner_changed): clean up system settings poke when
6048                         the service appears, and try to restart it if it fails
6049                 - (poke_system_settings_daemon_cb): try to get the system settings
6050                         service started through D-Bus service activation
6051                 - (initial_get_connections): start the system settings daemon if it's
6052                         not already running
6053
6054 2008-02-05  Dan Williams  <dcbw@redhat.com>
6055
6056         * src/supplicant-manager/nm-supplicant-config.c
6057                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
6058                         broadcast networks too
6059
6060 2008-02-04  Dan Williams  <dcbw@redhat.com>
6061
6062         * system-settings/plugins/ifcfg-fedora/parser.c
6063                 - (make_wireless_security_setting): fix spelling; unencrypted networks
6064                         need key_mgmt set too
6065                 - (parser_parse_file): validate ifcfg file name and don't try to parse
6066                         .bak files; ensure that an error is set whenever NULL gets returned
6067
6068 2008-02-04  Dan Williams  <dcbw@redhat.com>
6069
6070         * system-settings/src/Makefile.am
6071                 - Install D-Bus service activation file for the system settings
6072                         service
6073
6074         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
6075                 - D-Bus service activation file for system settings service
6076
6077 2008-02-04  Dan Williams  <dcbw@redhat.com>
6078
6079         * system-settings/src/main.c
6080                 - (parse_config_file): parse a config file
6081                 - (main): accept --config option and read plugins from config file
6082
6083 2008-02-04  Dan Williams  <dcbw@redhat.com>
6084
6085         * system-settings/plugins/ifcfg-fedora/plugin.c
6086                 - Change reported name to 'ifcfg-fedora'
6087                 - Use IFCFG_PLUGIN_NAME
6088
6089         * system-settings/plugins/ifcfg-fedora/plugin.c
6090                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
6091
6092 2008-02-04  Dan Williams  <dcbw@redhat.com>
6093
6094         * system-settings/plugins/ifcfg-fedora/parser.c
6095                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
6096                 - (make_connection_setting): use get_ifcfg_name()
6097                 - (make_wireless_security_setting): handle shadow key files
6098                 - (get_one_wep_key): treat empty string as NULL
6099
6100 2008-02-04  Dan Williams  <dcbw@redhat.com>
6101
6102         * src/supplicant-manager/nm-supplicant-manager.c
6103                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
6104                         glib automatically reschedule
6105                 - (nm_supplicant_manager_init): immediately try to start the supplicant
6106                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
6107                         the supplicant
6108
6109 2008-02-01  Dan Williams  <dcbw@redhat.com>
6110
6111         * src/NetworkManagerPolicy.c
6112                 - (device_state_changed): schedule a change check when a device gets
6113                         deactivated so something happens if you disconnect GSM/CDMA
6114
6115 2008-01-31  Dan Williams  <dcbw@redhat.com>
6116
6117         * src/nm-device-802-11-wireless.h
6118           src/nm-device-802-11-wireless.c
6119                 - (ap_list_get_ap_by_ssid, is_associated,
6120                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
6121                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
6122                 - (nm_device_802_11_wireless_get_activation_ap): collapse
6123                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
6124                         function
6125
6126 2008-01-30  Dan Williams  <dcbw@redhat.com>
6127
6128         * system-settings/plugins/ifcfg
6129         * system-settings/plugins/ifcfg-fedora
6130                 - Move the ifcfg plugin to ifcfg-fedora
6131
6132 2008-01-24  Dan Williams  <dcbw@redhat.com>
6133
6134         * libnm-glib/nm-device-802-11-wireless.c
6135                 - (get_access_point): move the "/" check here; check for invalid path
6136                         too
6137                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
6138                         to get_access_point()
6139                 - (access_point_added_proxy, access_point_removed_proxy): don't try
6140                         to send signals for non-existent access points
6141
6142 2008-01-24  Dan Williams  <dcbw@redhat.com>
6143
6144         * libnm-glib/nm-device-802-11-wireless.c
6145                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
6146
6147 2008-01-23  Dan Williams  <dcbw@redhat.com>
6148
6149         * libnm-glib/libnm_glib.c
6150                 - (libnm_glib_init): make thread joinable
6151                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
6152
6153 2008-01-23  Dan Williams  <dcbw@redhat.com>
6154
6155         * test/libnm_glib_test.c
6156                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
6157                 - (main): set up signal handlers; call libnm_glib_shutdown
6158
6159 2008-01-21  Dan Williams  <dcbw@redhat.com>
6160
6161         * include/NetworkManager.h
6162                 - Add CDMA mobile broadband card device type
6163
6164         * src/nm-hal-manager.c
6165                 - (modem_device_creator): handle both CDMA and GSM modems; the device
6166                         must now be tagged with 'cdma' or 'gsm' capability
6167
6168         * src/nm-cdma-device.c
6169           src/nm-cdma-device.h
6170           src/Makefile.am
6171                 - Add the CDMA mobile broadband card device class
6172
6173         * libnm-util/nm-connection.c
6174                 - (register_default_settings): add NMSettingCdma
6175
6176         * libnm-util/nm-setting-cdma.c
6177           libnm-util/nm-setting-cdma.h
6178           libnm-util/Makefile.am
6179                 - Add the CDMA mobile broadband card setting class
6180
6181         * libnm-glib/nm-cdma-device.c
6182           libnm-glib/nm-cdma-device.h
6183           libnm-glib/Makefile.am
6184                 - Add the CDMA mobile broadband card GLib proxy class
6185
6186         * libnm-glib/nm-client.c
6187                 - (get_device): handle CDMA devices too
6188
6189 2008-01-21  Dan Williams  <dcbw@redhat.com>
6190
6191         * src/ppp-manager/nm-ppp-manager.c
6192                 - (ip4_config_get): set peer address too
6193
6194         * src/ppp-manager/nm-pppd-plugin.c
6195                 - (nm_ip_up): try harder to get the peer's address
6196
6197         * src/NetworkManagerSystem.c
6198                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
6199                         address, use that too.  Otherwise, some PPP connections won't work.
6200
6201 2008-01-19  Dan Williams  <dcbw@redhat.com>
6202
6203         * src/NetworkManagerPolicy.c
6204                 - (nm_policy_device_change_check): system connections override user
6205                         connections; don't activate a user connection if there's a currently
6206                         active system connection, and new, better system connections always
6207                         interrupt user connections
6208
6209 2008-01-19  Dan Williams  <dcbw@redhat.com>
6210
6211         * src/nm-manager.h
6212                 - (nm_manager_get_connection_type): new function
6213
6214 2008-01-19  Dan Williams  <dcbw@redhat.com>
6215
6216         * src/nm-device-802-11-wireless.c
6217                 - (real_get_best_connection): collapse find_best_connection() into this
6218                         function
6219
6220 2008-01-19  Dan Williams  <dcbw@redhat.com>
6221
6222         * src/nm-device-802-3-ethernet.c
6223                 - (real_get_best_connection): collapse find_best_connection() into this
6224                         function
6225
6226 2008-01-18  Dan Williams  <dcbw@redhat.com>
6227
6228         * src/nm-device-802-3-ethernet.c
6229                 - (find_best_connection): check MAC address too
6230                 - (real_get_best_connection): let autoconnect=True connections activate
6231                         for devices that don't have carrier detection
6232
6233         * src/nm-device-802-11-wireless.c
6234                 - (find_best_connection): check MAC address too
6235
6236 2008-01-18  Dan Williams  <dcbw@redhat.com>
6237
6238         * system-settings/plugins/ifcfg/parser.c
6239                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
6240
6241 2008-01-17  Dan Williams  <dcbw@redhat.com>
6242
6243         * src/nm-device-802-3-ethernet.c
6244                 - (nm_device_802_3_ethernet_carrier_on,
6245                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
6246                         carrier events that might come in for devices that don't support
6247                         carrier detect
6248
6249 2008-01-17  Dan Williams  <dcbw@redhat.com>
6250
6251         * src/nm-device-interface.c
6252                 - (nm_device_interface_check_connection_conflicts): need to actually
6253                         get the interface, not cast to the object
6254
6255         * src/nm-device.c
6256                 - (nm_device_check_connection_conflicts): need to get the device class,
6257                         not cast the device to the device class
6258
6259 2008-01-17  Dan Williams  <dcbw@redhat.com>
6260
6261         * src/nm-device-802-11-wireless.c
6262                 - (real_check_connection_conflicts): ignore connections that aren't
6263                         wireless connections
6264
6265 2008-01-17  Dan Williams  <dcbw@redhat.com>
6266
6267         * src/NetworkManagerPolicy.c
6268                 - (nm_policy_device_change_check): clear change check idle here
6269                 - (device_change_check_done): remove
6270                 - (schedule_change_check): simplify
6271
6272 2008-01-17  Dan Williams  <dcbw@redhat.com>
6273
6274         * src/nm-manager.c
6275                 - (check_connection_allowed): take an NMDeviceInterface instead of
6276                         an NMDevice object as an argument
6277                 - (nm_manager_activate_device): pass an NMDeviceInterface to
6278                         check_connection_allowed()
6279
6280 2008-01-13  Dan Williams  <dcbw@redhat.com>
6281
6282         * libnm-glib/nm-device-802-11-wireless.c
6283                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
6284
6285 2008-01-12  Dan Williams  <dcbw@redhat.com>
6286
6287         * src/nm-device-802-11-wireless.c
6288                 - (activation_success_handler): if a match was found in the scan list
6289                         and that match is a hidden AP, update that AP's SSID
6290
6291 2008-01-11  Dan Williams  <dcbw@redhat.com>
6292
6293         * src/NetworkManagerAP.c
6294                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
6295
6296         * src/nm-device-802-11-wireless.c
6297                 - (get_active_ap): do two passes over the scan list if the caller
6298                         requests that hidden APs get matched too; during the second pass
6299                         when matching hidden APs, ignore the SSID since hidden APs in the
6300                         scan list don't have an SSID yet
6301                 - (periodic_update): move some checks to
6302                         nm_device_802_11_periodic_update() because not all callers need them
6303                 - (nm_device_802_11_periodic_update): move some checks here from
6304                         perodic_update()
6305                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
6306                         matching on incoming scan results, because the fake AP's flags
6307                         might be slightly different (yet still compatible) with the incoming
6308                         scan result's flags and they might actually be the same AP; update
6309                         the rate on merged APs too
6310                 - (activation_success_handler): update the frequency of the fake AP
6311                         on successful connection; match hidden APs too since if the
6312                         current AP is fake, there might already be a scan result in the
6313                         scan list for the desired AP, just without it's SSID filled in yet
6314
6315 2008-01-10  Dan Williams  <dcbw@redhat.com>
6316
6317         * src/NetworkManagerAP.c
6318                 - (foreach_property_cb): catch more hidden SSID formats
6319
6320 2008-01-10  Dan Williams  <dcbw@redhat.com>
6321
6322         Fix gnome.org #464215.  Requires the kernel patch titled
6323         "Introduce WEXT scan capabilities" but will handle the patch not being
6324         present, you'll just continue to have problems with hidden SSIDs when
6325         using mac80211-based drivers.
6326
6327         * src/supplicant-manager/nm-supplicant-config.h
6328           src/supplicant-manager/nm-supplicant-config.c
6329                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
6330                         whether the driver supports SSID scans or not.  If it does, and if
6331                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
6332
6333         * src/nm-device-802-11-wireless.c
6334                 - (constructor): check whether or not the driver supports SSID scans
6335                 - (build_supplicant_config): pass driver SSID scan capability when
6336                         building the wireless bits of the supplicant config
6337
6338 2008-01-09  Dan Williams  <dcbw@redhat.com>
6339
6340         * src/nm-device.c
6341           src/nm-device.h
6342                 - (device_activation_precheck, check_connection_complete): remove this
6343                         virtual function; incomplete connections should be invalid by
6344                         definition, complete-ness should be checked in the setting's
6345                         verify function
6346
6347         * src/nm-serial-device.c
6348           src/nm-gsm-device.c
6349                 - (real_check_connection_complete): remove
6350
6351         * libnm-util/nm-setting-serial.c
6352                 - (verify): new function; ensure there is a PPP setting too
6353
6354         * libnm-util/nm-setting-gsm.c
6355                 - (verify): ensure there is a serial setting too
6356
6357 2008-01-06  Dan Williams  <dcbw@redhat.com>
6358
6359         * src/dhcp-manager/nm-dhcp-manager.c
6360                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
6361                         (gnome.org #332953)
6362
6363 2008-01-04  Dan Williams  <dcbw@redhat.com>
6364
6365         * src/named-manager/nm-named-manager.c
6366                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
6367                         nameservers if the secondary config doesn't have any
6368                         (gnome.org #346833)
6369
6370 2008-01-02  Tambet Ingo  <tambet@gmail.com>
6371
6372         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
6373         with G_PARAM_CONSTRUCT so that they get the default values.
6374
6375         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
6376         the monitoring device and prints out the output for now. Or more precicely, doesn't
6377         do absolutely anything right now since the montoring device argument is never set.
6378
6379         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
6380         requires it's own knob to turn it on.
6381         (config_fd): Add NMSettingSerial to the arguments list.
6382         (nm_serial_device_open): Ditto.
6383         (get_reply_got_data): Ignore the terminators at the beginning of the output.
6384         (nm_serial_device_get_io_channel): Implement.
6385
6386         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
6387         a new reference every time (and forgetting to release it sometimes) is a pain and
6388         it's not like NMManager could work without dbus.
6389         (nm_manager_add_device): Register the added device on dbus here.
6390
6391         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
6392         device.
6393
6394         * src/nm-device.c (constructor): Don't export the device here, instead export
6395         it when it's added to the NMManager's device list.
6396
6397 2007-12-31  Dan Williams  <dcbw@redhat.com>
6398
6399         * src/nm-device-interface.c
6400           src/nm-device-interface.h
6401                 - (nm_device_interface_check_connection_conflicts): new function
6402
6403         * src/nm-device.c
6404           src/nm-device.h
6405                 - (nm_device_check_connection_conflicts): new function
6406                 - (device_activation_precheck): don't require subclasses to implement
6407                         check_connection_complete()
6408                 - check_connection() -> check_connection_complete()
6409
6410         * src/nm-device-802-11-wireless.c
6411                 - (real_check_connection): remove; unused
6412                 - (real_check_connection_conflicts): implement, handle lockdown for
6413                         system connections
6414
6415         * src/nm-device-802-3-ethernet.c
6416                 - (real_check_connection): remove; unused
6417
6418         * src/nm-manager.c
6419                 - (check_connection_allowed): new function
6420                 - (nm_manager_activate_device): ensure the connection being requested
6421                         is allowed to be activated
6422
6423         * src/nm-serial-device.c
6424           src/nm-gsm-device.c
6425                 - real_check_connection() -> real_check_connection_complete()
6426
6427 2007-12-27  Dan Williams  <dcbw@redhat.com>
6428
6429         * src/nm-device-interface.c
6430           src/nm-device-interface.h
6431                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
6432                         normalize and expand errors
6433                 - (nm_device_interface_init): register errors so they can be marshalled
6434                         through dbus-glib
6435                 - (nm_device_interface_activate): ensure that failure of activation
6436                         returns an error
6437
6438         * src/nm-device.c
6439           src/nm-device.h
6440                 - (device_activation_precheck): implementations of check_connection()
6441                         now take a GError and must fill it in if the check fails.  Return
6442                         more descriptive error if the requested connection is already
6443                         activating
6444                 - (nm_device_activate): actually try to return descriptive errors on
6445                         failures
6446
6447         * src/nm-device-802-11-wireless.c
6448           src/nm-device-802-3-ethernet.c
6449           src/nm-serial-device.c
6450           src/nm-gsm-device.c
6451                 - (real_check_connection): return more descriptive errors on failure
6452
6453         * src/NetworkManagerPolicy.c
6454                 - (nm_policy_device_change_check): print activation errors in the logs
6455
6456         * src/nm-manager.c
6457                 - (nm_manager_error_quark, nm_manager_error_get_type,
6458                    nm_manager_class_init): new errors
6459                 - (nm_manager_activate_device): handle errors
6460                 - (nm_manager_error_new): removed
6461                 - (wait_for_connection_expired, connection_added_default_handler,
6462                    impl_manager_activate_device): better error handling
6463
6464 2007-12-27  Dan Williams  <dcbw@redhat.com>
6465
6466         Fixes gnome.org #466954
6467
6468         * src/supplicant-manager/nm-supplicant-settings-verify.c
6469                 - Allow 'frequency' network property
6470
6471         * src/supplicant-manager/nm-supplicant-config.c
6472           src/supplicant-manager/nm-supplicant-config.h
6473                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
6474                         for callers to specify the frequency an Ad-Hoc network should operate
6475                         on.  Some drivers require this to successfully create an Ad-Hoc
6476                         network.
6477
6478         * src/nm-device-802-11-wireless.c
6479                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
6480                         guint32 value in MHz
6481                 - (constructor, nm_device_802_11_wireless_get_frequency): use
6482                         iw_freq_to_uint32()
6483                 - (find_supported_frequency): new function; find a free supported
6484                         frequency for a user-created Ad-Hoc network
6485                 - (build_supplicant_config): if no frequency was specified for a user-
6486                         created Ad-Hoc network, find a free one to use
6487                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
6488                         a specific object as user-created
6489
6490 2007-12-27  Dan Williams  <dcbw@redhat.com>
6491
6492         * libnm-util/nm-utils.c
6493           libnm-util/nm-utils.h
6494                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
6495                         for adhoc networks
6496
6497 2007-12-24  Dan Williams  <dcbw@redhat.com>
6498
6499         * libnm-util/nm-setting-wireless.c
6500                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
6501                         185, 187, 188, 192, and 196
6502
6503 2007-12-24  Dan Williams  <dcbw@redhat.com>
6504
6505         * src/nm-device-802-11-wireless.c
6506                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
6507                         a channel # instead of a frequency
6508
6509 2007-12-24  Dan Williams  <dcbw@redhat.com>
6510
6511         * src/NetworkManagerAP.c
6512           src/NetworkManagerAP.h
6513                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
6514                 - (freq_to_channel): handle split band tables
6515                 - (channel_to_freq): handle split band tables, take a band argument
6516
6517 2007-12-24  Dan Williams  <dcbw@redhat.com>
6518
6519         * libnm-util/nm-setting-connection.h
6520           libnm-util/nm-setting-connection.c
6521                 - Add 'lockdown' member
6522
6523 2007-12-22  Dan Williams  <dcbw@redhat.com>
6524
6525         * libnm-util/nm-setting-wireless.c
6526                 - (nm_setting_wireless_class_init): add missing 'rate' property
6527                         specification
6528
6529 2007-12-18  Dan Williams  <dcbw@redhat.com>
6530
6531         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
6532
6533         * src/nm-netlink-monitor.c
6534           src/nm-netlink-monitor.h
6535                 - Remove handrolled netlink, use libnl instead
6536
6537         * src/nm-device-802-3-ethernet.c
6538                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6539                    nm_device_802_3_ethernet_carrier_on): use new names
6540
6541 2007-12-17  Dan Williams  <dcbw@redhat.com>
6542
6543         * configure.in
6544                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6545                         and fixes memory leaks)
6546
6547         * src/nm-netlink.c
6548                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6549                         automatically handle the netlink PID
6550
6551 2007-12-17  Dan Williams  <dcbw@redhat.com>
6552
6553         Patch from Michael Biebl <biebl@debian.org>
6554
6555         * configure.in
6556           src/ppp-manager/Makefile.am
6557                 - fix up install dir of pppd plugin
6558                 - clean up configure.in a bit
6559
6560 2007-12-12  Dan Williams  <dcbw@redhat.com>
6561
6562         * system-settings/src/nm-system-settings.conf
6563                 - Allow non-root clients (like the applet) to read settings
6564
6565 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6566
6567         * Replace all occurences of 'UMTS' with 'GSM'.
6568
6569 2007-12-07  Dan Williams  <dcbw@redhat.com>
6570
6571         * src/nm-serial-device.c
6572                 - (real_is_up): serial devices are always "up"
6573
6574 2007-12-07  Dan Williams  <dcbw@redhat.com>
6575
6576         * src/nm-netlink.c
6577           src/NetworkManagerSystem.c
6578                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6579                         twice (gnome.org #491047)
6580                 - Make more robust against allocation-related failures should they occur
6581
6582 2007-12-07  Dan Williams  <dcbw@redhat.com>
6583
6584         Noticed by Christian Persch <chpe@gnome.org>
6585
6586         Always chain up to parent object in dispose and finalize handlers.
6587                 (gnome.org #433112)
6588
6589 2007-12-07  Dan Williams  <dcbw@redhat.com>
6590
6591         * src/nm-device-802-11-wireless.c
6592                 - Wrap #include of linux/mii.h to fix redefined structures due to
6593                         incorrect kernel headers (gnome.org #350061)
6594
6595 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6596
6597         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6598         before doing anything else.
6599         (init_modem): Move modem initialization here.
6600
6601         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6602         (nm_serial_device_flash): Implement.
6603
6604         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6605         changes signal is "StateChanged" and not "Status".
6606         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6607
6608 2007-12-06  Dan Williams  <dcbw@redhat.com>
6609
6610         * src/supplicant-manager/nm-supplicant-config.c
6611                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6612                         to only send some options when they make sense; also send phase2
6613                         option to the supplicant (possible fix for rh #399631)
6614
6615 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6616
6617         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6618         arguments: This whole file shouldn't really know anything about NMDevices, it
6619         should deal only with device interfaces. Devices might have different ifaces for
6620         different stuff and this place shouldn't know anything about it.
6621
6622         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6623         (global_state_changed): Implement. In the current NM it's not really important,
6624         but will be required in the case of multiple active devices. (Or even better,
6625         if stuff like that gets moved out from NM).
6626
6627         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6628         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6629         instead.
6630
6631         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6632         devices like serial devices (ttyS0 and ppp0 for example).
6633         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6634         set.
6635         (nm_device_set_ip_iface): Implement.
6636         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6637         after setting ip4_config from here ...
6638         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6639         than this function should call nm_system_device_set_from_ip4_config() because no
6640         other code has enough information on which arguments to use. So instead, other code
6641         could just set the new ip4 config using this function and everyone is happy.
6642
6643         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6644         if we happen to get deactivated while something is pending.
6645         (automatic_registration): Handle the response that indicates pending network
6646         registration and wait until the pending registration is done.
6647         (real_deactivate_quickly): If there's a pending operation, cancel it.
6648
6649         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6650         (real_deactivate_quickly): ... and remove it when it's down.
6651         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6652         it if needed.
6653         (nm_serial_device_wait_for_reply): Ditto.
6654
6655 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6656
6657         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6658         (get_network_done): Remove newline, nm_info() does it already.
6659         (real_act_stage1_prepare): Turn the modem echo off.
6660
6661         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6662         device, set the route to the device interface. This is a hack.
6663
6664         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6665         return, no need for a new-line.
6666         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6667         Change the device iface here (ugh).
6668         (real_act_stage4_get_ip4_config): Implement.
6669         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6670         Restore the device iface.
6671
6672         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6673         device is not wired or wireless (eg, automatically upped) device.
6674
6675         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6676         it isn't.
6677         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6678
6679         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6680         before calling it's is_device_fn().
6681
6682 2007-12-05  Dan Williams  <dcbw@redhat.com>
6683
6684         * libnm-util/nm-utils.c
6685                 - (nm_utils_register_value_transformations,
6686                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6687                         GHashTables of GValues too
6688
6689 2007-12-04  Dan Williams  <dcbw@redhat.com>
6690
6691         * initscript/RedHat/NetworkManager.in
6692                 - No longer start named; it's D-Bus interface is going away
6693
6694 2007-12-04  Dan Williams  <dcbw@redhat.com>
6695
6696         Patch from Michael Biebl <biebl@debian.org>
6697
6698         * system-settings/plugins/ifcfg/Makefile.am
6699           system-settings/src/main.c
6700           system-settings/src/Makefile.am
6701                 - Put system settings plugins in NM plugins dir
6702
6703         * src/ppp-manager/Makefile.am
6704           src/ppp-manager/nm-ppp-manager.c
6705                 - Move pppd plugin to NM plugins dir
6706
6707 2007-12-04  Dan Williams  <dcbw@redhat.com>
6708
6709         * libnm-util/nm-setting-vpn-properties.h
6710                 - Clarify usage of the 'data' member of the setting
6711
6712         * libnm-util/nm-setting-vpn-properties.c
6713                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6714                 - (set_property): just remove all the settings; don't recreate the has
6715                 - (update_one_secret): don't need to create the hash table here since
6716                         it should always be present
6717
6718 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6719
6720         Implement PIN and PUK requesting.
6721
6722         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6723         (enter_pin): Handle PIN and PUK requests.
6724         (real_act_stage1_prepare): Clear the secret type.
6725         (real_connection_secrets_updated): Implement this class method to get
6726         notified when new secrets arrive.
6727         (nm_umts_device_class_init): Add private data back to the umts device class
6728         to store the required secret type.
6729
6730 2007-12-01  Dan Williams  <dcbw@redhat.com>
6731
6732         * system-settings/plugins/ifcfg/parser.c
6733                 - (parser_parse_file): don't try to verify NULL connections
6734
6735 2007-12-01  Dan Williams  <dcbw@redhat.com>
6736
6737         * system-settings/src/main.c
6738                 - (load_connections, add_connection_to_settings): actually export
6739                         plugin-provided connections over D-Bus so NM can get them
6740
6741 2007-12-01  Dan Williams  <dcbw@redhat.com>
6742
6743         * system-settings/plugins/ifcfg/parser.c
6744           system-settings/plugins/ifcfg/parser.h
6745           system-settings/plugins/ifcfg/plugin.c
6746                 - Hook up more inotify bits (untested)
6747
6748 2007-11-29  Dan Williams  <dcbw@redhat.com>
6749
6750         * system-settings/src/nm-system-config-interface.h
6751           system-settings/src/nm-system-config-interface.c
6752                 - (nm_system_config_interface_init,
6753                    nm_system_config_interface_get_connections): add
6754
6755         * system-settings/src/main.c
6756                 - (load_plugins, load_connections, main): use a GSList for plugins
6757                         to ensure priority ordering
6758
6759         * system-settings/plugins/ifcfg/parser.c
6760                 - (ifcfg_error_quark): move to plugin.c, and rename
6761
6762         * system-settings/plugins/ifcfg/plugin.h
6763           system-settings/plugins/ifcfg/plugin.c
6764                 - (ifcfg_plugin_error_quark): move here from parser.c
6765                 - rework connection loading and initialization
6766                 - Add preliminary inotify support for network profile config file
6767
6768 2007-11-28  Tambet Ingo  <tambet@gmail.com>
6769
6770         Merge the beginnings of the new GSM card support.
6771
6772         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
6773         ppp watch source before killing pppd - If this happens from g_object_unref()
6774         then the ppp manager is already destroyed by the time the watch callback runs.
6775
6776         * src/nm-hal-manager.c: Add a device_type_name string to the device
6777         creators, so that we can print a nice human readable string when a
6778         device is added.
6779
6780         * src/nm-umts-device.c (automatic_registration_get_network): Query
6781         for the activated network, not much is done with the result thought.
6782
6783         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
6784         (ppp_ip4_config): Change the device state to activated here for now.
6785         (real_check_connection): Make sure the connection includes ppp setting.
6786
6787         * libnm-glib/nm-client.c (get_device): Handle umts devices.
6788
6789         * libnm-glib/Makefile.am: Add the new files to build.
6790
6791         * libnm-glib/nm-umts-device.c: 
6792         * libnm-glib/nm-umts-device.h: Implement.
6793
6794 2007-11-26  Tambet Ingo  <tambet@gmail.com>
6795
6796         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
6797         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
6798
6799         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
6800         the timeout source - this function is only called when the timeout source has
6801         been removed.
6802         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
6803         to be big enough to contain the terminating zero element as well.
6804         The timeout argument is meant to be in seconds now.
6805         (real_deactivate_quickly): Implement.
6806
6807         * src/NetworkManager.conf: Allow root to own 
6808         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
6809
6810         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
6811         (not unsigned ints).
6812
6813         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
6814         small issue with parity bounds - capital letters have lower ascii codes
6815         than lower case letters.
6816
6817         * libnm-util/nm-connection.c (register_default_settings): Register serial
6818         and umts settings.
6819
6820 2007-11-22  Tambet Ingo  <tambet@gmail.com>
6821
6822         Remove the "index" property from devices as not all device types have this.
6823
6824         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
6825
6826         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
6827         (wired_device_creator): Get the device interface from hal to create the device.
6828         (wireless_device_creator): Ditto.
6829
6830         * src/nm-device.c (nm_device_init): Remove the index member.
6831         (constructor): Remove the checks for index property, make interface property
6832         a require constructor property.
6833         Use the HAL udi for DBus path for devices.
6834         (nm_device_get_index): Remove.
6835         (set_property): Remove index handling.
6836         (get_property): Ditto.
6837         (nm_device_get_dbus_path): Remove.
6838
6839         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
6840         property.
6841
6842         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
6843         Access the device index through it's interface.
6844         (nm_device_802_3_ethernet_link_deactivated): Ditto.
6845         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
6846         index argument. Add interface argument.
6847
6848         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
6849         the useless test_dev argument. Remove index argument. Add interface arugment.
6850
6851         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
6852         device index through interface.
6853         (nm_system_set_mtu): Ditto.
6854
6855         * introspection/nm-device.xml: Remove the "Index" property.
6856
6857 2007-11-21  Tambet Ingo  <tambet@gmail.com>
6858
6859         * src/nm-serial-device.c: 
6860         * src/nm-serial-device.c: 
6861         * src/nm-umts-device.c:
6862         * src/nm-umts-device.h: Implement.
6863
6864         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
6865         allocated by libhal.
6866         (modem_device_creator): Implement.
6867         (register_built_in_creators): Register the modem creator.
6868
6869         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
6870         Remove the unused test_dev argument.
6871
6872         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
6873
6874         * src/Makefile.am: Add new files to build.
6875         Link in ppp-manager.
6876
6877         * libnm-util/nm-setting-umts.c: 
6878         * libnm-util/nm-setting-umts.h: 
6879         * libnm-util/nm-setting-serial.c: 
6880         * libnm-util/nm-setting-serial.h: Implement.
6881
6882         * libnm-util/Makefile.am: Add new files to build.
6883
6884 2007-11-28  Dan Williams  <dcbw@redhat.com>
6885
6886         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
6887
6888         Support DHCP-provided static routes.
6889
6890         * src/nm-ip4-config.h
6891           src/nm-ip4-config.c
6892                 - Add get/set functions for static routes
6893
6894         * src/dhcp-manager/nm-dhcp-manager.c
6895                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
6896                         DHCP response
6897
6898         * src/NetworkManagerSystem.c
6899                 - (nm_system_device_set_from_ip4_config): set any static routes on the
6900                         interface when applying the IP4Config
6901
6902 2007-11-28  Dan Williams  <dcbw@redhat.com>
6903
6904         * src/nm-device-802-11-wireless.c
6905                 - (real_act_stage1_prepare): mark APs created for hidden networks
6906                         as non-broadcasting
6907
6908 2007-11-27  Dan Williams  <dcbw@redhat.com>
6909
6910         * system-settings/src/nm-system-config-interface.h
6911                 - Note how to store secrets on NMSetting objects
6912
6913         * system-settings/src/dbus-settings.c
6914                 - (connection_settings_get_secrets): implement
6915
6916 2007-11-27  Dan Williams  <dcbw@redhat.com>
6917
6918         * system-settings/plugins/ifcfg/Makefile.am
6919           system-settings/plugins/ifcfg/parser.c
6920           system-settings/plugins/ifcfg/parser.h
6921           system-settings/plugins/ifcfg/plugin.c
6922                 - Parse wireless connections too
6923
6924         * system-settings/src/dbus-settings.c
6925           system-settings/src/dbus-settings.h
6926           system-settings/src/main.c
6927                 - Handle connection update/removal if the plugin supports it
6928
6929 2007-11-27  Dan Williams  <dcbw@redhat.com>
6930
6931         * src/nm-dbus-manager.h
6932           src/nm-hal-manager.c
6933                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
6934                         do it for them
6935
6936         * src/Makefile.am
6937           src/NetworkManagerDbusUtils.c
6938           src/NetworkManagerDbusUtils.h
6939                 - Remove these two source files; they are unused
6940
6941 2007-11-27  Dan Williams  <dcbw@redhat.com>
6942
6943         * src/vpn-manager/nm-vpn-manager.c
6944                 - (impl_vpn_manager_connect): fix system settings check (found by
6945                         James M. Leddy)
6946
6947 2007-11-26  Dan Williams  <dcbw@redhat.com>
6948
6949         * Fix warnings so everything compiles with --enable-more-warnings
6950
6951 2007-11-25  Dan Williams  <dcbw@redhat.com>
6952
6953         * system-settings/*
6954                 - Rework structure and code to use GModule-loaded plugins and a plugin
6955                         interface that plugins export to the system settings service
6956
6957 2007-11-21  Dan Williams  <dcbw@redhat.com>
6958
6959         * system-settings/*
6960                 - Add Soren's system settings service.  Needs work for distros other
6961                         than Fedora; the backends from NM should mostly migrate to here
6962                         and be converted to GObjects
6963
6964 2007-11-21  Dan Williams  <dcbw@redhat.com>
6965
6966         * libnm-util/nm-setting-vpn-properties.c
6967                 - (set_property): must deep-copy the given settings hash, otherwise
6968                         double-free errors occur when the setting is disposed of
6969
6970 2007-11-21  Dan Williams  <dcbw@redhat.com>
6971
6972         * src/vpn-manager/nm-vpn-act-request.h
6973           src/vpn-manager/nm-vpn-act-request.c
6974                 - Remove; unused
6975
6976 2007-11-20  Dan Williams  <dcbw@redhat.com>
6977
6978         * libnm-util/nm-utils.c
6979                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
6980                    nm_utils_convert_ip4_addr_struct_array_to_string,
6981                    nm_utils_register_value_transformations): print out the readable
6982                         values of more types of properties of NMSettings subclasses
6983
6984 2007-11-20  Dan Williams  <dcbw@redhat.com>
6985
6986         * libnm-util/nm-setting-ip4-config.c
6987                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
6988                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
6989                         marshal GValueArrays inside collections, so switch to types that it
6990                         can actually marshal/demarshal
6991
6992 2007-11-16  Dan Williams  <dcbw@redhat.com>
6993
6994         * libnm-util/nm-setting-wireless-security.c
6995                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
6996                         minimal verification of EAP methods too
6997                 - (verify): verify phase1 eap methods too
6998
6999 2007-11-15  Dan Williams  <dcbw@redhat.com>
7000
7001         * libnm-glib/nm-device.h
7002           libnm-glib/nm-device.c
7003                 - (nm_device_get_product, nm_device_get_vendor): should be returning
7004                         const char *
7005
7006 2007-11-15  Dan Williams  <dcbw@redhat.com>
7007
7008         * libnm-glib/nm-device.c
7009                 - (get_product_and_vendor): don't try to free things that should be
7010                         freed
7011
7012 2007-11-15  Dan Williams  <dcbw@redhat.com>
7013
7014         * src/NetworkManagerUtils.c
7015                 - (nm_ethernet_address_is_valid): unbreak previous fix
7016
7017 2007-11-15  Dan Williams  <dcbw@redhat.com>
7018
7019         * src/supplicant-manager/nm-supplicant-config.c
7020                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
7021                         options
7022
7023 2007-11-15  Dan Williams  <dcbw@redhat.com>
7024
7025         * src/NetworkManagerUtils.c
7026                 - (nm_ethernet_address_is_valid): fix style, clarify
7027                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
7028
7029         * src/nm-device-802-11-wireless.c
7030                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
7031                 - (nm_device_802_11_wireless_get_ssid,
7032                    nm_device_802_11_wireless_get_bssid,
7033                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
7034                         before calling the ioctl; fixes valgrind-reported jump depends on
7035                         uninitialized value errors
7036
7037 2007-11-15  Dan Williams  <dcbw@redhat.com>
7038
7039         * libnm-util/nm-setting.c
7040                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
7041                         unecessary to serialize 'name'
7042
7043         * src/nm-activation-request.c
7044                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
7045                         the GetSecrets call
7046
7047 2007-11-15  Dan Williams  <dcbw@redhat.com>
7048
7049         * libnm-util/nm-setting-connection.h
7050           libnm-util/nm-setting-connection.c
7051                 - Rename the 'name' property to 'id', because it conflicted with the
7052                         NMSetting superclass' 'name' property.
7053
7054         * libnm-util/nm-setting.c
7055                 - (nm_setting_to_hash): serialize the 'name' property
7056                 - (one_property_cb): ignore 'name' on deserialization of a connection
7057
7058         * src/nm-device-802-11-wireless.c
7059           src/vpn-manager/nm-vpn-connection.c
7060           src/NetworkManagerPolicy.c
7061                 - Fix up for NMSettingConnection 'name'->'id' changes
7062
7063 2007-11-13  Dan Williams  <dcbw@redhat.com>
7064
7065         * libnm-glib/nm-device-802-11-wireless.h
7066           libnm-glib/nm-device-802-11-wireless.c
7067                 - (nm_device_802_11_wireless_get_hw_address): return should be const
7068
7069         * test/nm-tool.c
7070           libnm-glib/libnm-glib-test.c
7071                 - Fixes for above change
7072
7073 2007-11-12  Dan Williams  <dcbw@redhat.com>
7074
7075         * src/supplicant-manager/nm-supplicant-settings-verify.c
7076                 - Allow fragment_size option
7077
7078         * src/supplicant-manager/nm-supplicant-settings-verify.c
7079                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
7080                         EAP fragment size than the default to help some TLS connections
7081
7082 2007-11-12  Dan Williams  <dcbw@redhat.com>
7083
7084         Make certs actually work.  The private key is now a secret, and should be
7085         decrypted when requested by NM.  The private key and phase2 private key
7086         passwords are no longer interesting to NM because they should be used by
7087         the settings service to decrypt the private key itself before passing it
7088         to NM, and hence have been removed as fields.
7089
7090         * libnm-util/nm-setting-wireless-security.h
7091           libnm-util/nm-setting-wireless-security.c
7092                 - Remove private-key-passwd and phase2-private-key-passwd from
7093                         properties
7094                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
7095                    need_secrets): use property #defines instead strings to keep things
7096                         consistent
7097                 - (need_secrets_tls): if a client certificate is present but no
7098                         private key, request the private key
7099                 - (set_property, get_property, nm_setting_wireless_security_class_init):
7100                         remove private key password stuff, mark private keys as secret
7101
7102         * src/supplicant-manager/nm-supplicant-settings-verify.c
7103                 - Remove private_key_passwd and private_key2_passwd from opt_table
7104
7105 2007-11-09  Dan Williams  <dcbw@redhat.com>
7106
7107         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
7108         Since the vpn-properties are managed and known by the VPN daemons themselves,
7109         libnm-util doesn't know what's secret and what's in the setting's 'data'
7110         member.
7111
7112         * libnm-util/nm-setting.h
7113           libnm-util/nm-setting.c
7114                 - Add the ability for subclasses to override update_one_secret
7115
7116         * libnm-util/nm-setting-vpn-properties.c
7117                 - Override update_one_secret and just copy the values into the
7118                         internal table
7119
7120 2007-11-09  Dan Williams  <dcbw@redhat.com>
7121
7122         * libnm-glib/nm-settings.h
7123           libnm-glib/nm-settings.c
7124                 - (nm_settings_new_error): remove
7125                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
7126                         clients should use g_set_error() with NM_SETTINGS_ERROR
7127
7128 2007-11-09  Dan Williams  <dcbw@redhat.com>
7129
7130         * src/supplicant-manager/nm-supplicant-config.c
7131                 - (nm_supplicant_config_add_setting_wireless_security): private key
7132                         passwords are never sent to wpa_supplicant, because the supplicant
7133                         should never be reading random files from the disk.  Clients like
7134                         the applet are required to decrypt the private keys and send NM
7135                         the decrypted blobs.
7136
7137 2007-11-08  Dan Williams  <dcbw@redhat.com>
7138
7139         * libnm-util/nm-setting-wireless-security.h
7140           libnm-util/nm-setting-wireless-security.c
7141                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
7142                         members to 802-11-wireless-security structure.  This should be used
7143                         to indicate that the values in private-key and phase2-private-key
7144                         are already decrypted by the user agent, and that no
7145                         private-key-passwd or phase2-private-key-passwd should be expected.
7146                         It is not meant to be a stored configuration value, but meant to
7147                         be set when the conneciton is sent to NM over dbus.
7148
7149 2007-11-08  Dan Williams  <dcbw@redhat.com>
7150
7151         * libnm-util/nm-connection.h
7152           libnm-util/nm-connection.c
7153                 - (nm_connection_need_secrets): add argument to return hints
7154
7155         * src/nm-device-802-11-wireless.c
7156                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7157                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
7158                         nm_connection_need_secrets() change
7159
7160 2007-11-07  Tambet Ingo  <tambet@gmail.com>
7161
7162         Rework NMSetting structures: Move each setting to it's own file.
7163         Convert to GObject. Remove home grown setting types and use GTypes.
7164         Use GObject property introspection for hash conversion, enumerating
7165         properties, etc.
7166
7167         * libnm-util/nm-setting-connection.[ch]
7168         * libnm-util/nm-setting-ip4-config.[ch]
7169         * libnm-util/nm-setting-ppp.[ch]
7170         * libnm-util/nm-setting-vpn.[ch]
7171         * libnm-util/nm-setting-vpn-properties.[ch]
7172         * libnm-util/nm-setting-wired.[ch]
7173         * libnm-util/nm-setting-wireless.[ch]
7174         * libnm-util/nm-setting-wireless-security.[ch]
7175
7176         New files, each containing a setting.
7177
7178         * libnm-util/nm-setting-template.[ch]: A template for creating new
7179         settings. To use it, just replace 'template' with the new setting
7180         name, and you're half-way done.
7181
7182         * libnm-util/nm-setting.c: Convert to GObject and use GObject
7183         introspection instead of internal types and tables.
7184
7185         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
7186
7187         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
7188         GValue types defined by dbus-glib for composed types like collections,
7189         structures and maps.
7190
7191         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
7192         a setting from connection takes the setting type now. Also, since
7193         the settings are in multiple files, include relevant settings.
7194
7195 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
7196
7197         * configure.in:
7198         * src/backends/NetworkManagerGentoo.c:
7199         (nm_system_restart_mdns_responder): Implement restarts for other mdns
7200         providers in Gentoo.
7201
7202 2007-10-31  Dan Williams  <dcbw@redhat.com>
7203
7204         * libnm-util/nm-connection.c
7205                 - (gvalue_to_string): handle UINT32 arrays
7206
7207 2007-10-31  Dan Williams  <dcbw@redhat.com>
7208
7209         * libnm-glib/nm-device.h
7210           libnm-glib/nm-device.c
7211                 - (nm_device_get_description): remove
7212                 - (nm_device_get_product, nm_device_get_vendor): add
7213                 - (nm_device_update_description): new function (private); walk HAL
7214                         devices to get product and vendor IDs for a specific device
7215
7216 2007-10-31  Dan Williams  <dcbw@redhat.com>
7217
7218         * src/nm-device-802-11-wireless.c
7219                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
7220
7221 2007-10-29  Dan Williams  <dcbw@redhat.com>
7222
7223         * src/nm-hal-manager.c
7224                 - (device_added, device_new_capability): ignore device additions while
7225                         asleep.  Fixes crash caused when NM goes to sleep, a network device
7226                         kernel module is unloaded and reloaded and recognized by NM again.
7227
7228 2007-10-26  Dan Williams  <dcbw@redhat.com>
7229
7230         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
7231
7232         * src/NetworkManagerAP.c
7233           src/NetworkManagerAP.h
7234           libnm-glib/nm-access-point.c
7235           libnm-glib/nm-access-point.h
7236                 - Make 'rate' property a guint32 to better match with WEXT and
7237                         wpa_supplicant and to allow representation of higher bitrates
7238
7239         * src/nm-device-802-11-wireless.c
7240           introspection/nm-device-802-11-wireless.xml
7241           libnm-glib/nm-device-802-11-wireless.c
7242           libnm-glib/nm-device-802-11-wireless.h
7243                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
7244
7245         * src/nm-device-802-3-ethernet.c
7246           src/nm-device-802-3-ethernet.h
7247           introspection/nm-device-802-3-ethernet.xml
7248           libnm-glib/nm-device-802-3-ethernet.c
7249           libnm-glib/nm-device-802-3-ethernet.h
7250                 - Make 'speed' property a guint32 to match other speed/rate types
7251                 - Make nm_device_802_3_ethernet_get_speed() static
7252
7253         * test/nm-tool.c
7254                 - Update for the changes above
7255
7256 2007-10-26  Dan Williams  <dcbw@redhat.com>
7257
7258         * src/named-manager/nm-named-manager.c
7259                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
7260                     not calling fclose() twice on some error conditions
7261
7262 2007-10-26  Dan Williams  <dcbw@redhat.com>
7263
7264         * src/nm-activation-request.c
7265                 - (dispose): clean up indentation; get the right DBusGProxy object to
7266                         cancel the GetSecrets pending call on.  Need to use the Secrets
7267                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
7268                         pending call doesn't get canceled, and pressing Cancel in the
7269                         applet's password dialog could cause get_secrets_cb() to be called
7270                         after the activation request has already been destroyed
7271
7272 2007-10-24  Dan Williams  <dcbw@redhat.com>
7273
7274         * src/supplicant-manager/nm-supplicant-config.c
7275                 - (nm_supplicant_config_add_blob): pass blob data and length for
7276                         verification
7277                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
7278
7279 2007-10-24  Dan Williams  <dcbw@redhat.com>
7280
7281         * src/supplicant-manager/nm-supplicant-settings-verify.c
7282                 - (opt_table): max length for certificates should be 65536
7283
7284 2007-10-24  Dan Williams  <dcbw@redhat.com>
7285
7286         * src/supplicant-manager/nm-supplicant-interface.c
7287                 - (blob_free): correctly free blob data after use
7288                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
7289
7290 2007-10-24  Dan Williams  <dcbw@redhat.com>
7291
7292         * libnm-util/nm-setting.c
7293                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
7294                         EAP method need secrets
7295
7296 2007-10-24  Dan Williams  <dcbw@redhat.com>
7297
7298         * src/backends/NetworkManagerRedHat.c
7299                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
7300
7301 2007-10-23  Dan Williams  <dcbw@redhat.com>
7302
7303         * libnm-util/nm-setting.c
7304           libnm-util/nm-setting.c
7305                 - (nm_setting_compare): implement
7306                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
7307                    compare_one_hash_gvalue): compare the contents of a setting
7308
7309         * libnm-util/nm-connection.c
7310                 - (nm_connection_compare): implement
7311
7312 2007-10-23  Dan Williams  <dcbw@redhat.com>
7313
7314         * src/nm-activation-request.c
7315                 - (get_secrets_cb): handle getting a setting back that is more than
7316                         just secrets (ie, user changed auth or EAP method or something)
7317
7318 2007-10-23  Dan Williams  <dcbw@redhat.com>
7319
7320         * libnm-util/nm-setting.c
7321           libnm-util/nm-setting.h
7322                 - (nm_setting_verify): new function; verify one setting
7323                 - (nm_settings_verify_all): rename from nm_settings_verify()
7324                 - (setting_connection_verify, setting_wireless_verify): allow NULL
7325                         all_settings
7326
7327         * libnm-util/nm-connection.c
7328                 - (nm_connection_replace_settings, nm_connection_verify,
7329                    nm_connection_new_from_hash): handle nm_settings_verify() rename
7330
7331 2007-10-23  Dan Williams  <dcbw@redhat.com>
7332
7333         * src/nm-device-802-11-wireless.c
7334                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
7335                         desired behavior
7336
7337 2007-10-23  Dan Williams  <dcbw@redhat.com>
7338
7339         * src/supplicant-manager/nm-supplicant-settings-verify.c
7340                 - eap_allowed, phase2_allowed: harmonize with allowed values from
7341                         nm-settings.c
7342
7343 2007-10-23  Dan Williams  <dcbw@redhat.com>
7344
7345         * src/nm-device-802-11-wireless.c
7346                 - (real_act_stage2_config): after the first association failure,
7347                         if the connection still needs secrets ask the user for them
7348                         explicitly.  After the fourth association failure due to bad
7349                         secrets, fail the connection entirely.  Handles the GetSecrets
7350                         loop that NM gets into when the provided secrets don't match up
7351                         with the connection details.
7352
7353 2007-10-23  Dan Williams  <dcbw@redhat.com>
7354
7355         * src/supplicant-manager/nm-supplicant-config.c
7356                 - (nm_supplicant_config_add_setting_wireless_security): only add
7357                         WPA-specific options when WPA is in use
7358
7359 2007-10-23  Dan Williams  <dcbw@redhat.com>
7360
7361         * src/supplicant-manager/nm-supplicant-config.c
7362                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
7363                         secret doesn't need to be unhexified
7364
7365 2007-10-23  Dan Williams  <dcbw@redhat.com>
7366
7367         * libnm-util/nm-setting.c
7368                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
7369                         before trying to do something with it
7370
7371 2007-10-23  Dan Williams  <dcbw@redhat.com>
7372
7373         * src/nm-device-802-11-wireless.c
7374                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
7375
7376 2007-10-23  Dan Williams  <dcbw@redhat.com>
7377
7378         * src/nm-device-802-11-wireless.c
7379                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
7380                         non-SSID-broadcasting APs
7381
7382 2007-10-23  Dan Williams  <dcbw@redhat.com>
7383
7384         * src/NetworkManagerAP.c
7385                 - (match_cipher, security_compatible): remove
7386                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
7387                         libnm-util instead
7388
7389 2007-10-23  Dan Williams  <dcbw@redhat.com>
7390
7391         * libnm-util/nm-utils.c
7392           libnm-util/nm-utils.h
7393                 - (nm_utils_ap_security_compatible): common function for checking
7394                         whether a specific AP is compatible with an NMConnection
7395
7396 2007-10-23  Dan Williams  <dcbw@redhat.com>
7397
7398         * libnm-util/nm-setting.c
7399                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
7400                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
7401                    need_secrets_password, setting_wireless_security_verify): fix
7402                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
7403                         secrets logic for each supported EAP method
7404
7405 2007-10-23  Dan Williams  <dcbw@redhat.com>
7406
7407         * src/supplicant-manager/nm-supplicant-config.c
7408                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
7409                         config option name, should be "private_key2_passwd"
7410
7411 2007-10-22  Tambet Ingo  <tambet@gmail.com>
7412
7413         Implement support for static IP addresses, additional/overridden DNS and
7414         DNS domain search lists.
7415
7416         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
7417         (ip4_addresses_to_gvalue): Implement.
7418         (convert_array_to_byte_array): Implement.
7419         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
7420         NM_S_TYPE_IP4_ADDRESSES.
7421         (nm_setting_hash): Ditto.
7422         (default_setting_clear_secrets): Add a default case for the switch: IP address
7423         shouldn't be secret, ever.
7424         (setting_ip4_config_verify): Update, requires addresses in case of manual
7425         configurations.
7426         (setting_ip4_config_destroy): Free stuff.
7427
7428         * src/nm-device.c (merge_ip4_config): Implement.
7429         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
7430
7431 2007-10-22  Dan Williams  <dcbw@redhat.com>
7432
7433         * libnm-util/nm-setting.c
7434                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
7435                         pairwise cipher options for Dynamic WEP
7436
7437 2007-10-21  Dan Williams  <dcbw@redhat.com>
7438
7439         * src/NetworkManagerAP.c
7440           src/NetworkManagerAP.h
7441                 - Rename 'articifical' -> 'fake' since that's what they are until
7442                         noticed in scans
7443                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
7444                         from the attributes in an NMConnection object
7445                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
7446                         WPA Enterprise
7447                 - (nm_ap_match_in_list): find a matching AP in a scan list
7448
7449         * src/nm-device-802-11-wireless.c
7450                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
7451                         AP when searching the scan list; match on frequency and mode too
7452                 - (nm_device_802_11_wireless_get_frequency): implement
7453                 - (merge_scanned_ap): replace duplicate matching logic with
7454                         nm_ap_match_in_list()
7455                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
7456                         the user is trying to connect to a hidden network that is not yet
7457                         known from the scan list
7458                 - (activation_success_handler): now that the card knows the AP's BSSID,
7459                         there may already be a scanned AP in the scan list that is what
7460                         we really wanted to connect to, but didn't know at the time.  Use
7461                         that instead of the 'fake' AP created at activation start and get
7462                         rid of the 'fake' AP 
7463                 - (cull_scan_list): don't remove fake APs
7464
7465 2007-10-21  Dan Williams  <dcbw@redhat.com>
7466
7467         * src/nm-activation-request.h
7468           src/nm-activation-request.c
7469                 - (nm_act_request_set_specific_object): new function; allow setting the
7470                         specific object if one isn't set yet
7471
7472 2007-10-20  Dan Williams  <dcbw@redhat.com>
7473
7474         * src/supplicant-manager/nm-supplicant-config.h
7475           src/supplicant-manager/nm-supplicant-config.c
7476                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
7477                         table to store blobs
7478                 - (nm_supplicant_config_add_blob): new function; add blob to internal
7479                         blob hash table
7480                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
7481                 - (nm_supplicant_config_add_setting_wireless_security): handle
7482                         options that use certificates (ie, blobs)
7483
7484         * src/nm-device-802-11-wireless.c
7485                 - (build_supplicant_config): pass a UID (just use the connection path)
7486                         to the supplicant config as now required
7487
7488         * src/supplicant-manager/nm-supplicant-interface.c
7489                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
7490                         there are any blobs to send to wpa_supplicant, send those first
7491                         before sending the network configuration
7492
7493 2007-10-19  Dan Williams  <dcbw@redhat.com>
7494
7495         Split the GetSecrets() call off to a separate D-Bus interface so that it
7496         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
7497         should be able to call GetSecrets().
7498
7499         * include/NetworkManager.h
7500                 - Define the connection secrets D-Bus interface
7501
7502         * src/vpn-manager/nm-vpn-connection.c
7503                 - (clear_need_auth): get the right proxy object for the connection
7504                         secrets interface
7505                 - (get_connection_secrets): use the connection secrets proxy; send
7506                         empty hints in get secrets request
7507
7508         * src/nm-activation-request.c
7509                 - (nm_act_request_request_connection_secrets): use the connection
7510                         secrets proxy; send empty hints in get secrets request
7511
7512         * src/nm-manager.c
7513           src/nm-manager.h
7514                 - (connection_get_settings_cb): set the connection secrets proxy on
7515                         the connection object too
7516                 - (internal_new_connection_cb): create the connection secrets proxy
7517
7518         * introspection/nm-settings-connection.xml
7519                 - Define Connection.Secrets interface and move GetSecrets there
7520                 - Add a 'hints' argument to GetSecrets
7521
7522         * libnm-glib/nm-settings.c
7523           libnm-glib/nm-settings.h
7524                 - (impl_connection_settings_get_secrets): add 'hints' argument
7525
7526 2007-10-19  Dan Williams  <dcbw@redhat.com>
7527
7528         * src/nm-device.c
7529                 - (constructor): add message about what path a device is exported as
7530                         to help in debugging rh #339011
7531
7532 2007-10-17  Dan Williams  <dcbw@redhat.com>
7533
7534         * libnm-util/nm-utils.h
7535           libnm-util/nm-utils.c
7536                 - (nm_utils_security_valid): common function to help find the intersection
7537                         of capabilities of devices and (optionally) access points
7538
7539 2007-10-17  Dan Williams  <dcbw@redhat.com>
7540
7541         * src/nm-device-802-11-wireless.c
7542                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7543                         don't get erroneously cleared
7544
7545 2007-10-17  Dan Williams  <dcbw@redhat.com>
7546
7547         * src/nm-manager.h
7548           src/nm-manager.c
7549           src/nm-hal-manager.c
7550                 - (device_removed, finalize, nm_manager_remove_device,
7551                    nm_manager_sleep): add a 'deactivate' argument to 
7552                    nm_manager_remove_device() to fully deactivate devices when necessary
7553                    (ie, always except when waking up)
7554
7555 2007-10-16  Dan Williams  <dcbw@redhat.com>
7556
7557         * libnm-util/nm-setting.c
7558                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7559                         also isn't valid phase2 autheap method
7560
7561 2007-10-16  Dan Williams  <dcbw@redhat.com>
7562
7563         * libnm-glib/nm-client.c
7564                 - (update_wireless_status): consolidate updates of wireless status
7565                 - (constructor): use update_wireless_status()
7566                 - (manager_running): set wireless status off when NM goes away; requery
7567                         the wireless status when NM comes back
7568
7569 2007-10-16  Dan Williams  <dcbw@redhat.com>
7570
7571         * libnm-glib/nm-client.c
7572                 - (nm_client_activate_device): actually use the fixed-up specific
7573                         object path
7574
7575 2007-10-16  Dan Williams  <dcbw@redhat.com>
7576
7577         * src/nm-hal-manager.c
7578                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7579                         killswitch error messages once
7580
7581 2007-10-16  Dan Williams  <dcbw@redhat.com>
7582
7583         * src/nm-manager.c
7584                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7585                         if it's disabled in hardware; don't touch network devices while
7586                         NM is asleep
7587
7588 2007-10-16  Dan Williams  <dcbw@redhat.com>
7589
7590         * libnm-util/nm-client.c
7591                 - (nm_client_activate_device): convert NULL specific_object to "/",
7592                         which is used in place of NULL
7593
7594         * src/nm-manager.c
7595                 - (impl_manager_activate_device): convert "/" specific_object back into
7596                         NULL
7597
7598 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7599
7600         Implement a generic NMSetting creator from setting name.
7601         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7602         add a virtual function 'populate_fn'.
7603
7604         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7605         (register_default_creators): Register setting creators instead of functions
7606         that create and then populate.
7607         (parse_one_setting): Use the common setting creator and then setting specific
7608         poplulation function.
7609
7610         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7611         they all looked exactly the same.
7612         Add a 'populate_fn' virtual function to NMSetting.
7613         Use default virtual functions in case they are not overriden.
7614         (nm_setting_populate_from_hash): Implement.
7615
7616         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7617         name, use a defined string.
7618         (real_act_stage4_get_ip4_config): Ditto.
7619
7620 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7621
7622         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7623         HAL is int, not uint.
7624
7625 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7626
7627         Implement killswitch polling through HAL.
7628
7629         * src/nm-manager.c: Add wireless hardware status property. Add 
7630         'properties-changed' signal for changes in wireless and wireless hardware
7631         state changes.
7632
7633         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7634         and update NMManager's wireless hardware state when it has changed.
7635         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7636         already does that.
7637
7638         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7639         values of wireless state and wireless hardware state. Listen for the
7640         'properties-changed' signals, update the cached values and emit notify.
7641
7642         * include/NetworkManager.h: Fix a typo in a comment.
7643
7644 2007-10-14  Dan Williams  <dcbw@redhat.com>
7645
7646         * libnm-util/nm-setting.c
7647                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7648
7649 2007-10-13  Dan Williams  <dcbw@redhat.com>
7650
7651         * libnm-util/nm-setting.h
7652           libnm-util/nm-setting.c
7653           src/supplicant-manager/nm-supplicant-config.c
7654                 - Make the 'proto' field of the 802-11-wireless-security field a
7655                         string list
7656
7657 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7658
7659         Rework the "properties-changed" signal listening implementation.
7660         Add a generic implementation to NMObject class that listens for
7661         the signal and calls property setters of the target NMObject.
7662
7663         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7664
7665         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7666         code to the end of file so that all the static functions are available
7667         without extra declarations.
7668         Remove the "properties-changed" signal handling and use the framework from
7669         NMObject.
7670         Implement property setters for properties that change with 
7671         "properties-changed" signal.
7672
7673         * libnm-glib/nm-access-point.c: Ditto.
7674
7675 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7676
7677         Rework the "properties-changed" signal implementation.
7678         In classes that need to use it, just emit "GObject::notify" and the new
7679         framework takes care of the rest to make the signal available on dbus.
7680         The framework queues the notifications and tries to send as many together
7681         in one signal as possible.
7682
7683         * src/nm-properties-changed-signal.c:
7684         * src/nm-properties-changed-signal.h: Implement.
7685
7686         * src/Makefile.am: Add new files to build.
7687
7688         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7689         signal.
7690
7691         * src/nm-device-802-11-wireless.c: Ditto.
7692
7693 2007-10-10  Dan Williams  <dcbw@redhat.com>
7694
7695         * src/nm-manager.c
7696                 - (wait_for_connection_expired): ensure info is valid
7697                 - (connection_added_default_handler): Should only remove pending
7698                         connection info when the manager has the connection that it's
7699                         waiting for.  Fixes segfault in wait_for_connection_info().  
7700
7701 2007-10-10  Dan Williams  <dcbw@redhat.com>
7702
7703         * libnm-util/nm-setting.c
7704           libnm-util/nm-setting.h
7705                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7706                         can use if they choose.  Should be filled in by the settings service
7707                         on-the-fly with the currently logged in user's username
7708
7709 2007-10-10  Dan Williams  <dcbw@redhat.com>
7710
7711         * src/nm-device-802-11-wireless.c
7712                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7713                         as such, because even if the manager fills in the SSID, NM still
7714                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7715                         its SSID
7716
7717 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7718
7719         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7720         code that used NM's own version of dbus signal handling and custom dictionary
7721         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7722         and we get to maintain over 2000 lines less code.
7723
7724         * libnm-util/dbus-dict-helpers.c:
7725         * libnm-util/dbus-dict-helpers.h: Remove.
7726
7727         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
7728
7729         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
7730
7731         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
7732         handlers.
7733
7734         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
7735
7736         * configure.in: Remove test/libnm-util/Makefile creation.
7737
7738         * test/Makefile.am: Remove libnm-util from SUBDIRS.
7739
7740         * test/libnm-util/: Remove the whole directory.
7741
7742 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7743
7744         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
7745         device_state_changed_idle_id variable or it would contain some random value and the
7746         schedule_change_check calls would not do anything.
7747
7748 2007-10-09  Dan Williams  <dcbw@redhat.com>
7749
7750         * src/nm-device-802-11-wireless.c
7751                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
7752                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
7753                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
7754                         merging of non-SSID-broadcasting APs
7755
7756 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7757
7758         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
7759         "guint8 *" since it's usually used with GByteArray->data.
7760         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
7761
7762 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7763
7764         * src/NetworkManagerUtils.c
7765         (nm_utils_is_empty_ssid):
7766         (nm_utils_escape_ssid):
7767         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
7768         lot of places, so they belong to libnm-utils instead.
7769
7770         Now with 100% less compiler warnings:
7771
7772         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
7773         (nm_dbus_unescape_object_path): Ditto.
7774         (nm_utils_ssid_to_utf8): Ditto.
7775         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
7776         (nm_utils_escape_ssid): Ditto.
7777         (nm_utils_same_ssid): Ditto.
7778
7779         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
7780         (add_one_connection_element): Remove an unused variable.
7781         (impl_manager_get_active_connections): Ditto.
7782
7783         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
7784         variable.
7785
7786         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
7787         from the previous commit.
7788
7789         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
7790         (real_act_stage1_prepare): Ditto.
7791         (activation_success_handler): Ditto.
7792         (get_property): Ditto.
7793
7794         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
7795         variable.
7796
7797         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
7798         it's always set.
7799
7800         * src/supplicant-manager/nm-supplicant-config.c 
7801         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
7802         to expected "char *".
7803         (nm_supplicant_config_add_setting_wireless): Ditto.
7804         (nm_supplicant_config_remove_option): Remove, not used.
7805
7806         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
7807         not double.
7808         (test_wireless_enabled): Ifdef out unused function.
7809         (device_deactivate): Ditto.
7810         (device_state_changed): Ditto.
7811         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
7812         (nm_utils_escape_ssid): Ditto.
7813
7814         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
7815         (nm_utils_is_empty_ssid): Ditto.
7816
7817         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
7818         unused variable.
7819
7820         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
7821         (setting_vpn_properties_update_secrets): Ditto.
7822         (int_to_gvalue): Ifdef out for now, not used.
7823         (byte_to_gvalue): Ditto.
7824
7825         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
7826         Unused, remove.
7827
7828 2007-10-08  Tambet Ingo  <tambet@gmail.com>
7829
7830         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
7831         about dbus manager, not named manager.
7832         Make sure hal_manager and dbus_mgr are created before trying to unreference.
7833
7834         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
7835         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
7836         However, the same signal is emitted when we destroy it and there's 
7837         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
7838
7839         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
7840         releasing the DBusGConnection, since proxy needs a conneciton.
7841         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
7842
7843 2007-10-08  Dan Williams  <dcbw@redhat.com>
7844
7845         * src/NetworkManager.c
7846                 - (main): error on unknown command-line options
7847
7848 2007-10-08  Dan Williams  <dcbw@redhat.com>
7849
7850         Reimplement the invalid connection list.  Don't try to re-activate a
7851         connection that just failed or was canceled.
7852
7853         * src/nm-device.c
7854                 - (connection_secrets_failed_cb): fail device activation, don't just
7855                         deactivate the device.  Listeners have to know about the failure.
7856
7857         * src/NetworkManagerPolicy.c
7858                 - (nm_policy_auto_get_best_device): exclude invalid connections from
7859                         the connection list given to a device's get_best_connection()
7860                         method
7861                 - (device_state_changed): tag failed connections as invalid; clear the
7862                         tag from successful connections
7863
7864 2007-10-08  Dan Williams  <dcbw@redhat.com>
7865
7866         Fix problems with interrupted activation.  Previously, choosing an AP
7867         from the menu, then choosing another one before the first connection was
7868         successful wouldn't deactivate the device before starting the new connection
7869         on that same device.
7870
7871         * src/NetworkManagerPolicy.c
7872                 - (deactivate_old_device, device_state_changed, state_changed,
7873                    nm_policy_new): wrong place to deactivate old devices
7874
7875         * src/nm-manager.c
7876                 - (pending_connection_info_destroy, finalize,
7877                    wait_for_connection_expired): decouple destruction of the pending
7878                         connection info from the manager device
7879                 - (connection_added_default_handler): deactivate any active or
7880                         activating device before starting a new activation
7881                 - (impl_manager_activate_device): deactivate any active or activating
7882                         device before starting a new activation; be sure not to leak
7883                         pending connection info if a new activation request arrives but
7884                         there's already a pending one in-process
7885
7886 2007-10-08  Dan Williams  <dcbw@redhat.com>
7887
7888         * src/NetworkManagerAP.h
7889           src/NetworkManagerAP.c
7890                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
7891                         should handle default SSIDs and whether or not to autoconnect
7892                         to them
7893
7894 2007-10-08  Dan Williams  <dcbw@redhat.com>
7895
7896         * src/NetworkManagerPolicy.c
7897                 - (nm_policy_device_change_check): print out connection name where
7898                         possible
7899
7900 2007-10-08  Dan Williams  <dcbw@redhat.com>
7901
7902         * src/nm-device-802-11-wireless.c
7903           src/nm-device-802-11-wireless.h
7904                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
7905                         'hidden-ap-found' signal (for internal use only) that allows the
7906                         NMManager to fill in the AP's SSID if a connection has that AP's
7907                         BSSID in its seen-bssids list
7908
7909         * src/nm-manager.c
7910                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
7911                         wireless device's hidden-ap-found signal and fill in the APs SSID
7912                         if possible
7913
7914 2007-10-07  Dan Williams  <dcbw@redhat.com>
7915
7916         * src/nm-manager.c
7917           src/nm-manager.h
7918                 - Add a 'connections-added' signal to batch together updates of large
7919                         numbers of connections, like when reading from a settings service
7920                         the first time.  Otherwise, the policy would just activate the first
7921                         suitable connection it saw rather than waiting for the full list
7922                         to arrive.
7923                 - (nm_manager_class_init): register new signal
7924                 - (get_type_for_proxy, connection_get_settings_cb,
7925                    get_connection_for_proxy): centralize places where a proxy's setting
7926                         service is determined
7927                 - (free_get_settings_info): if the call being freed is the last call
7928                         in a pending call group, fire off the connections-added signal
7929                 - (internal_new_connection_cb): add call to a pending call group if
7930                         requested
7931                 - (list_connections_cb): always create a call group here, because this
7932                         call results in a batch of new connections
7933                 - (initial_get_connections): start getting system connections first
7934                 - (nm_manager_connections_destroy, emit_removed): actually emit the
7935                         removed signal when destroying connections
7936
7937         * src/NetworkManagerPolicy.c
7938                 - (nm_policy_new, connections_added): handle connections-added signal
7939                         from the manager
7940
7941 2007-10-06  Dan Williams  <dcbw@redhat.com>
7942
7943         * src/nm-device-802-11-wireless.c
7944                 - (constructor): fix leaked socket
7945
7946 2007-10-06  Dan Williams  <dcbw@redhat.com>
7947
7948         * src/NetworkManagerPolicy.c
7949                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
7950                         connection in the list returned by nm_manager_get_connections() is
7951                         reffed, but they weren't getting unreffed before returning
7952
7953 2007-10-06  Dan Williams  <dcbw@redhat.com>
7954
7955         * src/nm-manager.c
7956                 - (connections_to_slist): sort connections first on autoconnect, then
7957                         on timestamp
7958
7959 2007-10-06  Dan Williams  <dcbw@redhat.com>
7960
7961         * libnm-util/nm-connection.c
7962                 - (gvalue_to_string): handle UINT64
7963
7964 2007-10-06  Dan Williams  <dcbw@redhat.com>
7965
7966         * src/NetworkManagerPolicy.c
7967                 - (connection_updated, nm_policy_new): recheck state when a connection
7968                         gets updated
7969
7970 2007-10-06  Dan Williams  <dcbw@redhat.com>
7971
7972         * src/nm-manager.c
7973           src/nm-manager.h
7974                 - (nm_manager_get_connection_dbus_path): make static
7975                 - (nm_manager_update_connections): remove; unused
7976                 - Add a connection-updated signal
7977                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
7978                         handle connection object updates
7979
7980 2007-10-06  Dan Williams  <dcbw@redhat.com>
7981
7982         * src/NetworkManagerPolicy.c
7983                 - (connection_removed): deactivate removed connections
7984
7985 2007-10-06  Dan Williams  <dcbw@redhat.com>
7986
7987         * libnm-util/nm-connection.c
7988           libnm-util/nm-connection.h
7989                 - (nm_connection_replace_settings): new function
7990
7991 2007-10-06  Dan Williams  <dcbw@redhat.com>
7992
7993         * libnm-glib/nm-device-802-11-wireless.c
7994                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
7995                         on error when getting the active access point over D-Bus from NM
7996
7997 2007-10-05  Dan Williams  <dcbw@redhat.com>
7998
7999         * libnm-util/nm-setting.c
8000                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
8001                         to the NMSettingWireless table; it's now a string array not an array
8002                         of byte arrays
8003
8004 2007-10-05  Dan Williams  <dcbw@redhat.com>
8005
8006         * libnm-glib/nm-device-802-11-wireless.c
8007                 - Cache properties and update cached properties on D-Bus signals from NM
8008
8009 2007-10-05  Dan Williams  <dcbw@redhat.com>
8010
8011         * src/nm-device-802-11-wireless.c
8012                 - (set_current_ap): consolidate current_ap handling code into one place
8013                         to ensure that PropertiesChanged signals are emitted in all cases
8014                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
8015                    nm_device_802_11_wireless_dispose): use set_current_ap()
8016
8017 2007-10-05  Dan Williams  <dcbw@redhat.com>
8018
8019         * libnm-glib/nm-access-point.c
8020           libnm-glib/nm-access-point.h
8021                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
8022                         because the value is cached internally now.  Callers should not
8023                         free the internal value.
8024                 - Make signal name defines private
8025
8026         * test/nm-tool.c
8027           libnm-glib/libnm-glib-test.c
8028                 - Don't free value returned from nm_access_point_get_hw_address()
8029
8030 2007-10-04  Dan Williams  <dcbw@redhat.com>
8031
8032         * introspection/nm-device-802-11-wireless.xml
8033           src/nm-device-802-11-wireless.h
8034           src/nm-device-802-11-wireless.c
8035                 - Add a PropertiesChanged signal for wireless device
8036                 - Store currently associated access point
8037                 - (periodic_update): generalize; update rate here too and emit the
8038                         correct PropertiesChanged signal when stuff changes
8039                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
8040                    real_activation_cancel_handler): clear current_ap when device is
8041                         deactivated
8042                 - (link_to_specific_ap, get_ap_blacklisted,
8043                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
8044                         code
8045                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
8046                         outside this file
8047                 - (real_set_hw_address): emit property changed signal if the card's
8048                         MAC address changes
8049                 - (real_act_stage1_prepare): set the initial current_ap to the AP
8050                         the card is supposed to be connecting to
8051                 - (activation_success_handler): send out property updates on successful
8052                         activation
8053                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
8054                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
8055                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
8056                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
8057                         is now boxed; add PropertiesChanged signal
8058
8059 2007-10-04  Dan Williams  <dcbw@redhat.com>
8060
8061         * libnm-util/nm-connection.c
8062           libnm-util/nm-connection.h
8063                 - (nm_connection_verify): new function
8064
8065 2007-10-04  Dan Williams  <dcbw@redhat.com>
8066
8067         * libnm-util/nm-setting.c
8068                 - (nm_settings_verify): use #defines when possible rather than strings
8069                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
8070                 - (setting_vpn_verify): tighter validity check on 'service_type'
8071
8072 2007-10-04  Dan Williams  <dcbw@redhat.com>
8073
8074         * libnm-glib/nm-settings.c
8075                 - (nm_connection_settings_class_init): provide correct type for argument
8076                         to the Updated signal so that dbus-glib knows how to marshal it
8077
8078 2007-10-03  Dan Williams  <dcbw@redhat.com>
8079
8080         * src/nm-device-802-3-ethernet.c
8081                 - (real_get_best_connection): don't create automatic connections
8082                         internally; clients should provide a setting that applies to
8083                         the device with 'autoconnect: True'.  Problem was that these
8084                         internally auto-created connections don't have a proxy or service
8085                         name becuase they weren't created by a settings daemon, and therefore
8086                         clients have no idea what to do with them.
8087
8088 2007-10-03  Dan Williams  <dcbw@redhat.com>
8089
8090         * src/nm-device-802-11-wireless.c
8091           src/nm-device-802-11-wireless.h
8092           introspection/nm-device-802-11-wireless.xml
8093                 - GetActiveNetworks -> GetAccessPoints
8094                 - ActiveNetwork -> ActiveAccessPoint
8095                 - NetworkAdded -> AccessPointAdded
8096                 - NetowrkRemoved -> AccessPointRemoved
8097
8098         * libnm-glib/nm-device-802-11-wireless.c
8099           libnm-glib/nm-device-802-11-wireless.h
8100                 - network-added signal -> access-point-added
8101                 - network-removed signal -> access-point-removed
8102                 - nm_device_802_11_wireless_get_active_network() ->
8103                         nm_device_802_11_wireless_get_active_access_point()
8104                 - nm_device_802_11_wireless_get_network_by_path() ->
8105                         nm_device_802_11_wireless_get_access_point_by_path()
8106                 - nm_device_802_11_wireless_get_networks() ->
8107                         nm_device_802_11_wireless_get_access_points()
8108
8109         * libnm-glib/libnm-glib-test.c
8110           test/nm-tool.c
8111           src/NetworkManagerPolicy.c
8112                 - Fixups for Network -> AccessPoint
8113
8114 2007-10-03  Dan Williams  <dcbw@redhat.com>
8115
8116         Add a GetActiveConnections() method on the Manager object.
8117
8118         * src/nm-manager.c
8119           src/nm-manager.h
8120           introspection/nm-manager.xml
8121                 - (connection_get_settings_cb): keep connection type around too
8122                 - (impl_manager_get_active_connections, add_one_connection_element):
8123                         implement; returns all active connections and what devices they
8124                         apply to
8125
8126         * libnm-glib/nm-client.c
8127           libnm-glib/nm-client.h
8128           introspection/nm-manager-client.xml
8129                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
8130                         by the caller; free here to avoid memory leak
8131                 - (nm_client_get_active_connections): implement; return the list of
8132                         active connections
8133                 - (nm_client_free_active_connection_element): implement; free an element
8134                         of the GSList returned by nm_client_get_active_connections()
8135
8136 2007-10-03  Dan Williams  <dcbw@redhat.com>
8137
8138         * src/nm-device-802-11-wireless.c
8139                 - (nm_device_802_11_wireless_update_bssid): remove
8140                 - (get_active_ap): new function; find the AP in the scan list which
8141                         matches the current BSSID and SSID of the wireless device
8142                 - (nm_device_802_11_periodic_update): get current AP using
8143                         get_active_ap() and print AP roam messages
8144
8145 2007-10-01  Dan Williams  <dcbw@redhat.com>
8146
8147         * libnm-util/nm-setting.h
8148                 - Add a 'timestamp' option to NMSettingConnection
8149                 - Add a UINT64 type
8150
8151         * libnm-util/nm-setting.c
8152                 - (uint64_to_gvalue): new function
8153                 - (nm_setting_populate_from_hash, nm_setting_hash,
8154                    default_setting_clear_secrets): handle UINT64 type
8155                 - con_table: add 'timestamp' member
8156
8157 2007-10-01  Dan Williams  <dcbw@redhat.com>
8158
8159         * src/nm-manager.c
8160                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
8161                         value when the connection can be activated immediately
8162
8163 2007-10-01  Dan Williams  <dcbw@redhat.com>
8164
8165         * libnm-glib/nm-device.c
8166                 - (nm_device_class_init): actually tell glib about the carrier-changed
8167                         signal
8168
8169 2007-10-01  Dan Williams  <dcbw@redhat.com>
8170
8171         * configure.in
8172           src/marshallers/Makefile.am
8173           src/marshallers/nm-marshal.list
8174           src/marshallers/nm-marshal-main.c
8175                 - Consolidate glib marshallers into one place
8176
8177         * src/dhcp-manager/Makefile.am
8178           src/dhcp-manager/nm-dhcp-manager.c
8179           src/supplicant-manager/Makefile.am
8180           src/supplicant-manager/nm-supplicant-manager.c
8181           src/supplicant-manager/nm-supplicant-interface.c
8182           src/ppp-manager/Makefile.am
8183           src/ppp-manager/nm-ppp-manager.c
8184           src/vpn-manager/Makefile.am
8185           src/vpn-manager/nm-vpn-connection.c
8186           src/Makefile.am
8187                 - Use consolidated marshallers
8188
8189         * src/dhcp-manager/nm-dhcp-marshal.list
8190           src/dhcp-manager/nm-dhcp-marshal-main.c
8191           src/supplicant-manager/nm-supplicant-marshal-main.c
8192           src/supplicant-manager/nm-supplicant-marshal.list
8193           src/nm-marshal-main.c
8194           src/nm-marshal.list
8195           src/ppp-manager/nm-ppp-marshal-main.c
8196           src/ppp-manager/nm-ppp-marshal.list
8197           src/vpn-manager/nm-vpn-marshal-main.c
8198           src/vpn-manager/nm-vpn-marshal.list
8199                 - Remove
8200
8201 2007-10-01  Dan Williams  <dcbw@redhat.com>
8202
8203         * include/NetworkManagerVPN.h
8204                 - define VPN connection state change reason codes
8205
8206         * src/vpn-manager/Makefile.am
8207           src/vpn-manager/nm-vpn-marshal.list
8208           src/vpn-manager/nm-vpn-marshal-main.c
8209                 - Add marshallers for StateChanged signal
8210
8211         * introspection/nm-vpn-connection.xml
8212                 - New Banner property
8213                 - StateChanged signal now includes a 'reason' argument
8214
8215         * src/vpn-manager/nm-vpn-connection.c
8216           src/vpn-manager/nm-vpn-connection.h
8217                 - Add a "Banner" property that contains the returned VPN server login
8218                         banner (if any); valid only in the ACTIVATED state
8219                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
8220                         a 'reason' argument and emits that reason along with the
8221                         state-changed signal
8222                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
8223                 - (nm_vpn_connection_ip4_config_get): save banner for later
8224                 - (nm_vpn_connection_get_banner, get_property,
8225                    nm_vpn_connection_class_init): implement Banner property
8226
8227         * src/vpn-manager/nm-vpn-service.c
8228                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
8229                         connection list because elements may get added/removed from it
8230                         while iterating over the list
8231                 - (connection_state_changed): signal now includes the 'reason' argument
8232
8233         * libnm-glib/nm-vpn-connection.c
8234           libnm-glib/nm-vpn-connection.h
8235                 - (nm_vpn_connection_get_banner): new function
8236                 - (state_changed_proxy): handle reason argument
8237
8238 2007-09-28  Tambet Ingo  <tambet@gmail.com>
8239
8240         * src/nm-manager.c:
8241         * src/nm-manager.h:
8242         Implement device activation through NMManager.
8243         Implement "pending device activation" here - If the connection isn't found,
8244         we try to wait for up to 5 seconds for the connection to be provided.
8245         Add NMConnectionType argument to "connection-added" and "connection-removed"
8246         signals.
8247         (nm_manager_get): Remove. Finally.
8248
8249         * src/nm-activation-request.c: 
8250         * src/nm-activation-request.h: 
8251         Remove all the deferred activation code.
8252
8253         * src/nm-device.c: Remove all the deferred activation code. Once the device
8254         activation is started, it's started. Update the activation virtual function
8255         signature.
8256
8257         * src/nm-device-interface.c:
8258         * src/nm-device-interface.h:
8259         Device activation now takes only NMActRequest argument.
8260         Don't expose device activation directly on dbus, it's supposed to go through
8261         NMManager now.
8262
8263         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
8264         a bit more compact.
8265         Use the new device activation methods through NMManager.
8266
8267         * introspection/nm-manager-client.xml: 
8268         * introspection/nm-manager.xml: 
8269         * libnm-glib/nm-client.c:
8270         * libnm-glib/nm-client.h:
8271         Add device activation method.
8272         
8273         * libnm-glib/nm-device.c: 
8274         * libnm-glib/nm-device.h: 
8275         * introspection/nm-device.xml: 
8276         Remove device activation method. It's done through NMManager now.
8277
8278         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
8279         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
8280
8281 2007-09-28  Dan Williams  <dcbw@redhat.com>
8282
8283         * libnm-glib/nm-vpn-connection.c
8284                 - (nm_vpn_connection_get_state): try to update state if the current
8285                         state is UNKNOWN
8286
8287 2007-09-27  Dan Williams  <dcbw@redhat.com>
8288
8289         Patch from Bill Nottingham
8290
8291         * src/supplicant-manager/nm-supplicant-config.c
8292                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
8293                         data to the supplicant
8294
8295 2007-09-27  Dan Williams  <dcbw@redhat.com>
8296
8297         * src/NetworkManagerSystem.c
8298                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
8299                         and all address manipulation here should be happening on the
8300                         _VPN_ device, not the active device
8301
8302 2007-09-26  Dan Williams  <dcbw@redhat.com>
8303
8304         * src/nm-manager.c
8305           src/nm-manager.h
8306           src/nm-activation-request.c
8307           src/nm-activation-request.h
8308                 - Move the GetSecrets stuff out of the NMManager instance because it
8309                         doesn't really need to be there and complicates things
8310
8311         * src/nm-device.c
8312                 - (connection_secrets_failed_cb, device_activation_go): connect to the
8313                         connection-secrets-failed signal and deactivate the device if
8314                         the GetSecrets call fails
8315
8316         * src/nm-device-802-11-wireless.c
8317                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8318                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
8319                         secrets and give correct hints about whether new secrets should be
8320                         asked for by the client or not
8321
8322 2007-09-26  Dan Williams  <dcbw@redhat.com>
8323
8324         * src/vpn-manager/nm-vpn-connection.c
8325                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
8326                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
8327                         to the secrets-updated signal of the NMConnection since updating
8328                         the secrets is done within the scope of the NMVPNConnection object
8329                         already
8330                 - (get_connection_secrets): fix an uninialized variable usage error
8331
8332 2007-09-26  Dan Williams  <dcbw@redhat.com>
8333
8334         * libnm-util/nm-setting.c
8335                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
8336                         actually get updated when the user enters them
8337
8338 2007-09-26  Dan Williams  <dcbw@redhat.com>
8339
8340         * libnm-glib/nm-vpn-plugin.c
8341                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
8342
8343 2007-09-26  Dan Williams  <dcbw@redhat.com>
8344
8345         * include/NetworkManagerVPN.h
8346                 - Add a NEED_AUTH state
8347
8348         * src/vpn-manager/nm-vpn-connection.c
8349                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
8350                         the connection needs secrets, and if so, then ask the settings
8351                         service to fill in the secrets.  Then start the connection.
8352
8353 2007-09-26  Dan Williams  <dcbw@redhat.com>
8354
8355         * src/vpn-manager/nm-vpn-manager.c
8356                 - (new_vpn_error, impl_vpn_manager_connect): set errors
8357
8358 2007-09-26  Dan Williams  <dcbw@redhat.com>
8359
8360         * introspection/nm-vpn-plugin.xml
8361           libnm-glib/nm-vpn-plugin.c
8362           libnm-glib/nm-vpn-plugin.h
8363                 - (impl_vpn_plugin_need_secrets): implement a call that should return
8364                         the name of the NMSetting in an NMConnection that may require
8365                         secrets specific to that VPN plugin
8366
8367 2007-09-26  Dan Williams  <dcbw@redhat.com>
8368
8369         * src/nm-manager.c
8370           src/nm-manager.h
8371                 - (nm_manager_get_connection_secrets): make static, unused outside
8372                         the file
8373                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
8374
8375 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8376
8377         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
8378         method.
8379         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
8380         unreference the connection.
8381
8382         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
8383         passing properties hash and routes string list, pass NMConnection (in hashed form).
8384
8385         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
8386         as GSList, no need to copy stuff around anymore.
8387         (nm_vpn_connection_activate): Update the plugin activation method.
8388
8389         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
8390         routes argument to GSList.
8391
8392 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8393
8394         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
8395         state and try to get the secrets.
8396
8397         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
8398         connections from NMManager and let the device to choose the best from the list.
8399         Since the connection list is sorted by system ones first and user ones later,
8400         the devices still prefer system connections like they did before.
8401         (deactivate_old_device): Implement. When a device starts activation, we have a
8402         policy (for now at least) to deactivate any other device that might be either
8403         active or still activating.
8404
8405         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
8406         It's set on construction, there will be no other way to access it.
8407
8408         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
8409         device events and drive the device, not the other way around.
8410
8411         * src/nm-device-802-3-ethernet.c: Ditto.
8412
8413         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
8414         sent along, pass it on to virtual functions.
8415
8416         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
8417         for now, but should really be public instead of nm_device_get_iface() since iface
8418         is a property of the DeviceInterface, not Device.
8419         (impl_device_activate): Don't touch NMManager!
8420
8421 2007-09-26  Jürg Billeter  <j@bitron.ch>
8422
8423         * initscript/paldo/NetworkManager.in:
8424         * initscript/paldo/NetworkManagerDispatcher.in:
8425         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
8426         (nm_system_flush_loopback_routes): update paldo backend
8427
8428 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8429
8430         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
8431         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
8432         which means none of the devices get brought down properly, which in turn leaves
8433         DHCP client running.
8434
8435         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
8436         (supplicant_connection_timeout_cb): Ditto.
8437
8438 2007-09-25  Dan Williams  <dcbw@redhat.com>
8439
8440         * src/nm-device.c
8441                 - (device_activation_go): small hack to work around race when
8442                         activating deferred connections; should solve this in a better way
8443
8444 2007-09-25  Dan Williams  <dcbw@redhat.com>
8445
8446         * introspection/nm-device.xml
8447           libnm-glib/nm-device.c
8448           libnm-glib/nm-device.h
8449                 - Add 'Carrier' property to exported NMDevice objects
8450
8451         * src/nm-device-interface.h
8452           src/nm-device-interface.c
8453           src/nm-device.c
8454                 - Add a 'carrier' property to internal NMDevice objects
8455
8456 2007-09-25  Dan Williams  <dcbw@redhat.com>
8457
8458         * src/nm-device-802-11-wireless.c
8459                 - (ap_auth_enforced): also return the encryption status of the AP so
8460                         that callers can differentiate easily between unencrypted APs
8461                         and encrypted ones, in addition to whether the AP has an
8462                         authenticator
8463                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8464                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
8465                         previously would request secrets from unencrypted APs at times
8466
8467 2007-09-25  Dan Williams  <dcbw@redhat.com>
8468
8469         * src/nm-manager.c
8470                 - (nm_manager_update_state): new function; updates state and emits
8471                         appropriate signals ensuring a state-change signal for the same state
8472                         never gets emitted twice in a row.
8473                 - (manager_device_state_changed): handle more device state to get a
8474                         better picture of the overall NM state
8475
8476 2007-09-25  Dan Williams  <dcbw@redhat.com>
8477
8478         * libnm-glib/nm-settings.c
8479           libnm-glib/nm-settings.h
8480                 - (new_error -> nm_settings_new_error): make public so that subclasses
8481                         can use the same error domain.  Also pass a valid error code to
8482                         g_error_new_literal() so that libdbus doesn't assert when converting
8483                         the GError into a DBusError
8484                 - (impl_settings_list_connections, impl_connection_settings_get_id,
8485                    impl_connection_settings_get_settings,
8486                    impl_connection_settings_get_secrets): use new error creator
8487                         function
8488
8489 2007-09-25  Dan Williams  <dcbw@redhat.com>
8490
8491         * src/NetworkManager.c
8492                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
8493
8494 2007-09-25  Dan Williams  <dcbw@redhat.com>
8495
8496         * src/supplicant-manager/nm-supplicant-manager.c
8497                 - (poke_supplicant_cb, nm_supplicant_manager_init,
8498                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
8499                    nm_supplicant_manager_startup): when the supplicant isn't running,
8500                         try to start it periodically via system bus activation.  Fixes
8501                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
8502                         for the supplicant to come back
8503
8504 2007-09-25  Dan Williams  <dcbw@redhat.com>
8505
8506         Ensure that old activation requests are forgotten about; previously
8507         hitting Cancel in the password dialog would deactivate whatever device
8508         that password was requested for, even if that wasn't the currently
8509         activating connection.
8510
8511         * src/nm-manager.c
8512           src/nm-manager.h
8513                 - (nm_manager_get_connection_secrets): track the pending call
8514                         object so it can be canceled later if needed
8515                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
8516                         GetSecrets call for a particular connection
8517
8518         * src/nm-activation-request.c
8519                 - (dispose): cancel any outstanding GetSecrets calls on the
8520                         connection
8521
8522 2007-09-25  Dan Williams  <dcbw@redhat.com>
8523
8524         * src/NetworkManagerPolicy.c
8525                 - (nm_policy_device_change_check): handle devices that have a
8526                         deferred activation.  These devices are not really active _yet_,
8527                         but need to be treated as such here.  Don't interrupt them
8528                         automatically.
8529
8530         * src/nm-device-interface.c
8531                 - (impl_device_activate): handle devices that have a deferred activation
8532                         like activating or active devices.  When multiple active devices
8533                         get committed, the device shouldn't be deactivated until the
8534                         connection details are available to avoid DoS and such.  Currently,
8535                         any active, activating, or deferred activation device is deactivated
8536                         here before starting the new activation request.
8537
8538 2007-09-25  Dan Williams  <dcbw@redhat.com>
8539
8540         Properly re-query secrets from the settings daemon when stuff fails.
8541
8542         * src/nm-device-802-11-wireless.c
8543                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8544                         between Shared Key and Open System auth modes
8545                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8546                    real_act_stage4_ip_config_timeout): clear existing secrets and
8547                         request new ones when something fails due to a suspected wrong key
8548                 - (real_act_stage2_config): fix for new request_new argument to
8549                         nm_manager_get_connection_secrets()
8550
8551         * src/nm-manager.c
8552           src/nm-manager.h
8553                 - (nm_manager_get_connection_secrets): return error status; pass
8554                         new request_new argument on to the settings daemon
8555
8556         * introspection/nm-settings-connection.xml
8557                 - New 'request_new' argument to the GetSecrets call that hints to the
8558                         settings daemon to ask the user for completely new secrets
8559
8560         * libnm-glib/nm-settings.c
8561           libnm-glib/nm-settings.h
8562                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8563                         argument
8564
8565 2007-09-25  Dan Williams  <dcbw@redhat.com>
8566
8567         * libnm-util/nm-connection.c
8568           libnm-util/nm-connection.h
8569                 - (nm_connection_clear_secrets): new function; clear secrets out of
8570                         each NMSetting in an NMConnection
8571
8572         * libnm-util/nm-setting.h
8573           libnm-util/nm-setting.c
8574                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8575                         secrets out of an NMSetting
8576                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8577                    nm_setting_wired_new, nm_setting_wireless_new,
8578                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8579                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8580                         to default handler default_setting_clear_secrets()
8581
8582 2007-09-25  Dan Williams  <dcbw@redhat.com>
8583
8584         * src/nm-activation-request.c
8585           src/nm-activation-request.h
8586                 - (nm_act_request_is_deferred): new function
8587
8588 2007-09-24  Dan Williams  <dcbw@redhat.com>
8589
8590         * src/nm-device-802-11-wireless.c
8591                 - (activation_success_handler): update signal strength immediately
8592                         after activation
8593
8594 2007-09-24  Dan Williams  <dcbw@redhat.com>
8595
8596         * libnm-util/nm-setting.c
8597                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8598
8599 2007-09-24  Dan Williams  <dcbw@redhat.com>
8600
8601         * src/NetworkManagerPolicy.c
8602                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8603                         device by deactivating it because it doesn't have a "best connection".
8604                         Since autoconnect=False connections aren't automatically chosen,
8605                         NM would interrupt activation of such a connection because it
8606                         would never be "best" due to autoconnect=False.
8607
8608 2007-09-24  Dan Williams  <dcbw@redhat.com>
8609
8610         * src/nm-manager.c
8611                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8612                         actually has some time to enter a key before the GetSecrets call
8613                         times out
8614
8615 2007-09-24  Dan Williams  <dcbw@redhat.com>
8616
8617         * introspection/nm-manager.xml
8618           src/nm-manager.c
8619                 - (impl_manager_legacy_state): fix 'state' method call return value
8620
8621 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8622
8623         * test/Makefile.am: Install nm-tool
8624
8625 2007-09-24  Dan Williams  <dcbw@redhat.com>
8626
8627         Patch from Ross Burton <ross@burtonini.com>
8628
8629         * test/nm-tool.c
8630           callouts/nm-dhcp-client-action.c
8631           src/nm-netlink.c
8632           src/vpn-manager/nm-vpn-connection.c
8633           libnm-glib/libnm-glib-test.c
8634                 - warning fixes
8635
8636 2007-09-24  Dan Williams  <dcbw@redhat.com>
8637
8638         * libnm-util/nm-utils.h
8639           libnm-util/nm-utils.c
8640                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8641                         remove, unused
8642
8643 2007-09-23  Dan Williams  <dcbw@redhat.com>
8644
8645         * vpn-daemons/vpnc/properties/nm-vpnc.c
8646                 - Update for new VPN properties API bits; instead of passing around
8647                         a lot of random things, everything goes into the NMConnection
8648                         object.
8649
8650 2007-09-23  Dan Williams  <dcbw@redhat.com>
8651
8652         * libnm-util/nm-setting.c
8653                 - Correctly dispose of settings objects if creating them from a hash
8654                         table fails
8655
8656 2007-09-23  Dan Williams  <dcbw@redhat.com>
8657
8658         * libnm-util/nm-setting.c
8659                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8660                         the hash table in a standard manner.  Clients of libnm-util should
8661                         only call g_hash_table_remove_all(), never destroy the hash table
8662                         and recreate it.
8663
8664 2007-09-22  Dan Williams  <dcbw@redhat.com>
8665
8666         * src/nm-device-802-11-wireless.c
8667                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8668                         real reason to do it so often, and reduces wakeups for clients.
8669
8670 2007-09-21  Dan Williams  <dcbw@redhat.com>
8671
8672         * src/nm-device-802-11-wireless.c
8673                 - (build_supplicant_config): wpa_supplicant requires the option
8674                         key_mgmt=NONE for unencrypted networks
8675                 - (real_act_stage2_config): clarify log message on activation
8676
8677 2007-09-21  Dan Williams  <dcbw@redhat.com>
8678
8679         * test/nm-supplicant-test.c
8680           test/Makefile.am
8681                 - Remove supplicant test binary; no longer applicable
8682
8683 2007-09-21  Dan Williams  <dcbw@redhat.com>
8684
8685         * src/supplicant-manager/nm-supplicant-manager.c
8686                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8687                         activate it on the system bus
8688
8689 2007-09-20  Dan Williams  <dcbw@redhat.com>
8690
8691         * initscript/RedHat/NetworkManager.in
8692                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8693
8694 2007-09-20  Dan Williams  <dcbw@redhat.com>
8695
8696         * src/nm-device.c
8697                 - (nm_device_is_activating): work around a race between auto-activation
8698                         and the user activating the same device that is being auto-activated
8699
8700 2007-09-20  Dan Williams  <dcbw@redhat.com>
8701
8702         * src/nm-device-interface.c
8703                 - (impl_device_activate): until multiple active device support lands,
8704                         ensure only one device can be active at a time
8705
8706 2007-09-20  Dan Williams  <dcbw@redhat.com>
8707
8708         * src/supplicant-manager/nm-supplicant-config.c
8709           src/supplicant-manager/nm-supplicant-config.h
8710                 - (nm_supplicant_config_add_option): hide secrets from system logs
8711
8712 2007-09-20  Dan Williams  <dcbw@redhat.com>
8713
8714         * src/NetworkManagerPolicy.c
8715                 - (nm_policy_device_change_check): re-enable the wireless device change
8716                         checking code; insted of checking for SSIDs, check for the same
8717                         connection instead
8718
8719 2007-09-20  Dan Williams  <dcbw@redhat.com>
8720
8721         * src/nm-device-802-11-wireless.c
8722                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8723                         composite link state when determining when to start the disconnection
8724                         timer; that link state is already based on the supplicant interface's
8725                         status which is exactly what's already being examined, plus the link
8726                         state is a conglomeration of various things that we don't want here
8727
8728 2007-09-20  Dan Williams  <dcbw@redhat.com>
8729
8730         * libnm-glib/nm-access-point.c
8731                 - (handle_property_changed): strength is a UCHAR
8732
8733 2007-09-20  Dan Williams  <dcbw@redhat.com>
8734
8735         * src/supplicant-manager/nm-supplicant-config.c
8736                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
8737                         string list keywords too since that's what wpa_supplicant wants
8738
8739 2007-09-20  Dan Williams  <dcbw@redhat.com>
8740
8741         * libnm-util/nm-setting.c
8742                 - (convert_strv_to_slist): dupe the values in the list because since
8743                         the list is a boxed value, it'll get destroyed when it's container
8744                         (like a hash table or whatever) gets destroyed
8745
8746 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8747
8748         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
8749         GSList.
8750
8751         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
8752
8753         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
8754         just use (g_object_set_data_full).
8755
8756         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
8757         that NMSettingVPN->routes is a GSList, convert it to char **.
8758         (nm_vpn_connection_ip4_config_get): Free routes when done.
8759         (nm_vpn_connection_activate): Ditto.
8760
8761         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
8762         (real_act_stage2_config): Use defined setting names.
8763
8764 2007-09-20  Dan Williams  <dcbw@redhat.com>
8765
8766         * src/nm-device-802-11-wireless.c
8767           src/nm-manager.c
8768           src/nm-manager.h
8769                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
8770                         so that the device can be deactivated if secrets are wrong
8771
8772 2007-09-20  Dan Williams  <dcbw@redhat.com>
8773
8774         * introspection/nm-settings-connection.xml
8775           libnm-glib/nm-settings.c
8776           libnm-glib/nm-settings.h
8777                 - Make GetSecrets asynchronous on the server side
8778
8779 2007-09-20  Dan Williams  <dcbw@redhat.com>
8780
8781         * src/nm-manager.h
8782           src/nm-device.c
8783                 - (nm_device_activate): actually check if a given connection
8784                         exists before assuming it doesn't
8785
8786 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8787
8788         * libnm-util/nm-connection.c (register_default_creators): Use defined
8789         setting names. Register NMSettingVPN and NMSettingVPNProperties.
8790
8791         * libnm-util/nm-setting.c: Define property name strings, use them.
8792         Implement NMSettingVPN and NMSettingVPNProperties settings.
8793         Implement NM_S_TYPE_GVALUE_HASH.
8794         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
8795         (setting_connection_verify): Rename 'devtype' property to 'type'.
8796
8797         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
8798         properties.
8799
8800         * src/vpn-manager/nm-vpn-service.c: Ditto.
8801
8802         * src/vpn-manager/nm-vpn-connection.c: Ditto.
8803
8804         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
8805         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
8806
8807         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
8808         names. NMSettingConnection->devtype got renamed to 'type'.
8809
8810         * src/nm-device-802-3-ethernet.c (find_best_connection):
8811         (real_get_best_connection): Ditto.
8812
8813         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
8814
8815         * libnm-glib/nm-vpn-manager.[ch]: Update.
8816
8817 2007-09-19  Dan Williams  <dcbw@redhat.com>
8818
8819         * src/NetworkManagerAP.c
8820           src/NetworkManagerAP.h
8821           introspection/nm-access-point.xml
8822                 - Change strength-changed signal into a properties-changed signal
8823                         for all properties, not just strength.  Export that signal over dbus
8824                         so listeners don't have to poll NM for changes.
8825                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
8826                         get exported over D-Bus, so break up the logic and let other bits
8827                         decided when to export the AP
8828                 - (nm_ap_new_from_ap): remove, unused
8829
8830         * src/nm-device-802-11-wireless.c
8831                 - (merge_scanned_ap): only export APs that are actually on the device
8832                         list, not every AP created internally
8833
8834         * libnm-glib/nm-access-point.c
8835           libnm-glib/nm-access-point.h
8836                 - Cache properties internally and only hit DBus when needed.  Get
8837                         property updates from NM signals
8838
8839 2007-09-16  Dan Williams  <dcbw@redhat.com>
8840
8841         * libnm-util/nm-connection.c
8842           libnm-util/nm-connection.h
8843                 - (nm_connection_for_each_setting_value): new function; iterate over
8844                         each setting's value and call a user-provided function with details
8845                         about that value
8846
8847         * libnm-util/nm-setting.c
8848           libnm-util/nm-setting.h
8849                 - (nm_setting_enumerate_values): new function; enumerate the values
8850                         of a specific NMSetting subclass for a user-provided function with
8851                         details about that value
8852                 - Change wep_tx_keyidx to a uint32
8853                 - Create settings value tables for each setting defining their type,
8854                         key name, offset into the NMSetting subclass' structure, and whether
8855                         they are required and/or a secret
8856                 - (nm_setting_populate_from_hash): generic function to populate an
8857                         NMSetting from a GHash table, make all settings use it
8858                 - (nm_setting_hash): generic function to derive a GHashTable from
8859                         an NMSetting object, make all settings use it
8860
8861 2007-09-14  Dan Williams  <dcbw@redhat.com>
8862
8863         Remove unused stuff in libnm-util
8864
8865         * configure.in
8866           libnm-util/Makefile.am
8867           libnm-util/cipher-private.h
8868           libnm-util/cipher-wep-ascii.c
8869           libnm-util/cipher-wep-ascii.h
8870           libnm-util/cipher-wep-hex.c
8871           libnm-util/cipher-wep-hex.h
8872           libnm-util/cipher-wep-passphrase.c
8873           libnm-util/cipher-wep-passphrase.h
8874           libnm-util/cipher-wpa-psk-hex.c
8875           libnm-util/cipher-wpa-psk-hex.h
8876           libnm-util/cipher-wpa-psk-passphrase.c
8877           libnm-util/cipher-wpa-psk-passphrase.h
8878           libnm-util/cipher.c
8879           libnm-util/cipher.h
8880           libnm-util/dbus-helpers.c
8881           libnm-util/dbus-helpers.h
8882           libnm-util/gnome-keyring-md5.c
8883           libnm-util/gnome-keyring-md5.h
8884           libnm-util/sha1.c
8885           libnm-util/sha1.h
8886           src/nm-device-802-11-wireless.c
8887           test/libnm-util/Makefile.am
8888           test/libnm-util/test-ciphers.c
8889           test/libnm-util/test-dbus-helpers.c
8890           test/libnm-util/test-inputs.h
8891                 - Removed
8892
8893 2007-09-14  Dan Williams  <dcbw@redhat.com>
8894
8895         * libnm-util/dbus-method-dispatcher.c
8896           libnm-util/dbus-method-dispatcher.h
8897                 - Remove, unused
8898
8899 2007-09-14  Dan Williams  <dcbw@redhat.com>
8900
8901         Implement deferred activation support in the device class.
8902
8903         * src/nm-device-interface.c
8904           src/nm-device-interface.h
8905                 - (nm_device_interface_activate): take more arguments to support
8906                         deferred activation; callers must pass one of (connection) OR
8907                         (service_name, connection_path)
8908                 - (impl_device_activate): connection validation is punted to the device
8909                         to be able to handle deferred activation.  Yes, this means errors
8910                         don't get returned from the Activate() dbus call, and yes, that
8911                         should be fixed somehow later.
8912
8913         * src/nm-device.c
8914           src/nm-device.h
8915                 - (clear_act_request): clear additional deferred activation stuff too
8916                 - (deferred_activation_timeout_cb): new function; clean up when
8917                         deferred activation times out.
8918                 - (deferred_activation_start_cb): new function; when the connection
8919                         finally becomes available, start device activation
8920                 - (nm_device_activate): attach to the right signals of the activation
8921                         request if we need to defer activation until the connection is valid
8922
8923         * src/NetworkManagerPolicy.c
8924                 - (nm_policy_device_change_check): update for additional arguments
8925                         required for nm_device_interface_activate().  Pass NULL for these
8926                         though because this function already knows exactly which
8927                         NMConnection to use
8928
8929 2007-09-14  Dan Williams  <dcbw@redhat.com>
8930
8931         Implement deferred activation handling in the NMActRequest class.  When a
8932         client wants to activate a device but must create the NMConnection details
8933         on the fly, there likely hasn't been enough time yet for NM to receive the
8934         new connection signal and grab all the connection details.  So the
8935         activation is deferred (and bounded by a timer) for a while, and if the
8936         connection appears within the window, it is activated.
8937
8938         * src/nm-activation-request.c
8939           src/nm-activation-request.h
8940                 - (nm_act_request_class_init): two new signals to support deferred
8941                         activation, to allow the listener to handle both timeout and success
8942                 - (nm_act_request_new_deferred): new function, starts the deferred
8943                         activation timeout handler and listens to the NMManager for
8944                         new-connection signals to notice when the connection comes in
8945
8946 2007-09-14  Dan Williams  <dcbw@redhat.com>
8947
8948         * src/nm-manager.h
8949           src/nm-manager.c
8950                 - (nm_manager_get_connection_service_name,
8951                    nm_manager_get_connection_dbus_path): get details about a connection
8952                         known internally by the NMManager
8953                 - (nm_manager_class_init): fix connection add/remove signal marshalers
8954                         because NMConnection is now a GObject subclass
8955                 - Use constant for the gobject data tag used on NMConnection objects for
8956                         storing the associated DBusGProxy
8957
8958 2007-09-14  Dan Williams  <dcbw@redhat.com>
8959
8960         * utils/Makefile.am
8961           utils/nm-utils.c
8962           utils/nm-utils.h
8963           src/supplicant-manager/Makefile.am
8964           src/dhcp-manager/Makefile.am
8965           src/backends/Makefile.am
8966           src/named-manager/Makefile.am
8967           src/ppp-manager/Makefile.am
8968           src/vpn-manager/Makefile.am
8969           test/libnm-util/Makefile.am
8970           test/test-common/Makefile.am
8971                 - Remove utils/; it was unused
8972
8973 2007-09-13  Dan Williams  <dcbw@redhat.com>
8974
8975         * libnm-glib/nm-vpn-manager.h
8976           libnm-glib/nm-vpn-manager.c
8977                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
8978
8979 2007-09-13  Dan Williams  <dcbw@redhat.com>
8980
8981         * src/nm-device-802-3-ethernet.c
8982                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
8983                         netlink monitor carrier signals on dispose, not bring down.  The
8984                         carrier signals should be handled over the entire lifetime of the
8985                         device anyway, not created/destroyed on up or down.
8986
8987 2007-09-13  Dan Williams  <dcbw@redhat.com>
8988
8989         * libnm-glib/nm-device.c
8990           libnm-glib/nm-device.h
8991                 - (nm_device_activate): take a connection object path rather than an
8992                         NMConnection because NMConnection isn't exported over D-Bus and
8993                         therefore it dbus-glib can't automatically get an object path from it
8994
8995 2007-09-13  Dan Williams  <dcbw@redhat.com>
8996
8997         * libnm-util/nm-setting.c
8998                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
8999
9000 2007-09-13  Tambet Ingo  <tambet@gmail.com>
9001
9002         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
9003
9004 2007-09-12  Tambet Ingo  <tambet@gmail.com>
9005
9006         * src/vpn-manager/nm-vpn-connection.[ch]: 
9007         * src/vpn-manager/nm-vpn-manager.[ch]:
9008         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
9009         dbus-glib, GObjects, signals etc.
9010
9011         * libnm-glib/nm-vpn-manager.[ch]: 
9012         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
9013         so much, rewrite these too.
9014
9015         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
9016         the new introspection files.
9017
9018         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
9019
9020         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
9021         the header with the same name from libnm-utils.
9022
9023         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
9024
9025         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
9026
9027         * introspection/nm-vpn-plugin.xml: Implement.
9028
9029         * introspection/nm-vpn-connection.xml: Implement.
9030
9031         * introspection/nm-vpn-manager.xml: Implement.
9032
9033         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
9034         the named manager argument, it can just as easily get it as the caller.
9035         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
9036
9037         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
9038
9039         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
9040
9041         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
9042         libnm-utils.
9043
9044         * libnm-util/nm-connection.c: Ditto.
9045
9046         * src/NetworkManagerMain.h: Remove, it's finally empty.
9047
9048         * configure.in: Remove utils/ from build.
9049
9050         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
9051         of hard-coded strings.
9052
9053         * utils/: Move it over to libnm-util.
9054
9055         * test/Makefile.am: Link against libnm-util now that util/ is gone.
9056
9057         * dispatcher-daemon/Makefile.am: Ditto.
9058
9059         * src/Makefile.am: Ditto.
9060
9061 2007-09-12  Dan Williams  <dcbw@redhat.com>
9062
9063         Wireless connections can be made with config data from the applet now.
9064         
9065         Yay.
9066
9067         * src/supplicant-manager/nm-supplicant-config.h
9068           src/supplicant-manager/nm-supplicant-config.c
9069                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
9070                 - (nm_supplicant_config_add_setting_wireless,
9071                    nm_supplicant_config_add_setting_wireless_security): new functions;
9072                         add key/value pairs from the settings objects to the supplicant
9073                         config
9074
9075         * src/nm-device-802-11-wireless.c
9076                 - (cull_scan_list): fix check to not prune currently associated AP
9077                 - (build_supplicant_config, real_act_stage2_config): call the functions
9078                         of the NMSupplicantConfig that parse settings objects rather than
9079                         doing it manually here
9080
9081 2007-09-12  Dan Williams  <dcbw@redhat.com>
9082
9083         * src/supplicant-manager/nm-supplicant-interface.c
9084           src/supplicant-manager/nm-supplicant-marshal.list
9085                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
9086                         "connection-error" signal arguments should be STRING not CHAR
9087
9088 2007-09-12  Dan Williams  <dcbw@redhat.com>
9089
9090         * src/NetworkManagerUtils.c
9091           src/NetworkManagerUtils.h
9092                 - (nm_utils_hexstr2bin): new function
9093
9094 2007-09-11  Dan Williams  <dcbw@redhat.com>
9095
9096         * src/nm-manager.c
9097                 - (connection_get_settings_cb): emit connection-added signal
9098                 - (connection_removed_cb): uncomment bits for system settings service,
9099                         send connection-removed when appropriate
9100                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
9101                         the stack by trying to g_object_set_data() on something that's
9102                         not a GObject; handle case where settings service returns
9103                         empty settings hash table
9104
9105 2007-09-11  Dan Williams  <dcbw@redhat.com>
9106
9107         * src/NetworkManagerPolicy.c
9108                 - (connection_added, connection_removed): trigger device change checks
9109                         on connection changes
9110
9111 2007-09-11  Dan Williams  <dcbw@redhat.com>
9112
9113         * src/nm-activation-request.c
9114                 - (connection_secrets_updated_cb): fix c&p error in signal emission
9115
9116 2007-09-11  Dan Williams  <dcbw@redhat.com>
9117
9118         * src/nm-device-802-11-wireless.c
9119                 - (real_connection_secrets_updated): fix erroneous check
9120
9121 2007-09-11  Dan Williams  <dcbw@redhat.com>
9122
9123         * introspection/nm-device.xml
9124           libnm-glib/nm-device.c
9125           libnm-glib/nm-device.c
9126                 - Fix Activate call argument borkage; Activate takes 3 arguments
9127
9128 2007-09-11  Dan Williams  <dcbw@redhat.com>
9129
9130         * libnm-glib/nm-access-point.c
9131           libnm-glib/nm-access-point.c
9132                 - (nm_access_point_get_frequency): now returns guint32 to match
9133                         property change on 2007-09-10
9134
9135 2007-09-11  Dan Williams  <dcbw@redhat.com>
9136
9137         * src/nm-device-802-11-wireless.c
9138                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
9139                         somewhere defines 'index' and I missed this one when I fixed the
9140                         shadow declaration errors earlier
9141
9142 2007-09-11  Dan Williams  <dcbw@redhat.com>
9143
9144         * libnm-util/nm-connection.c
9145                 - (nm_connection_update_secrets, need_secrets_check): move
9146                         802-11-wireless-security need_secrets checks to the setting object
9147                         itself, where it belongs
9148
9149         * libnm-util/nm-setting.c
9150           libnm-util/nm-setting.h
9151                 - (nm_setting_need_secrets): new function
9152                 - (setting_wireless_security_verify,
9153                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
9154                 - (setting_wireless_security_need_secrets): mostly copy code over
9155                         from nm-connection.c
9156
9157 2007-09-11  Dan Williams  <dcbw@redhat.com>
9158
9159         * libnm-util/nm-setting.c
9160           libnm-util/nm-setting.h
9161                 - (nm_setting_update_secrets): new function; add a virtual function that
9162                         subclasses can implement to update their secrets
9163                 - (setting_wireless_security_update_secrets): implement that function
9164                         for the 802-11-wireless-security subclass
9165
9166         * libnm-util/nm-connection.c
9167           libnm-util/nm-connection.h
9168                 - (nm_connection_update_secrets): update secrets for a Setting and
9169                         emit a signal on success
9170
9171         * src/nm-manager.c
9172           src/nm-manager.h
9173           src/nm-marshal.list
9174                 - (connection_get_settings_cb): enable system settings bits
9175                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
9176                         to request secrets from the settings dbus service and to
9177                         push those secrets to the NMConnection itself
9178
9179         * src/nm-activation-request.c
9180           src/nm-activation-request.h
9181                 - Attach to the 'secrets-updated' signal of the NMConnection that's
9182                         currently being activated, and proxy that signal to other listeners.
9183                         Goes through the activation request because the activation request
9184                         is the thing that manages the lifetime of the NMConnection that's
9185                         being activated.
9186
9187         * src/nm-device-802-11-wireless.c
9188                 - (real_connection_secrets_updated): implement the connection secrets
9189                         updated notification and restart activation when secrets are
9190                         received
9191                 - (real_act_stage2_config): request secrets from the settings dbus
9192                         service if secrets are needed
9193
9194         * src/nm-device.c
9195           src/nm-device.h
9196                 - (clear_act_request, nm_device_activation_cancel,
9197                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
9198                         where the activation request is cleared
9199                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
9200                         updated secrets signal of activation request and add a function
9201                         that subclasses can override to handle it easily
9202
9203 2007-09-11  Tambet Ingo  <tambet@gmail.com>
9204
9205         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
9206         removal of NetworkManagerAPList.
9207
9208 2007-09-10  Dan Williams  <dcbw@redhat.com>
9209
9210         * src/NetworkManagerAP.c
9211           src/NetworkManagerAP.h
9212           introspection/nm-access-point.xml
9213                 - Change 'freq' property to a guint32 instead of a double since we
9214                         weren't using the floating point bits anyway
9215
9216 2007-09-10  Dan Williams  <dcbw@redhat.com>
9217
9218         * NetworkManagerAP.c
9219           NetworkManagerAP.h
9220           NetworkManagerPolicy.c
9221           NetworkManagerSystem.c
9222           NetworkManagerUtils.c
9223           NetworkManagerUtils.h
9224           nm-device-802-11-wireless.c
9225           nm-device-802-3-ethernet.c
9226           nm-hal-manager.c
9227           nm-manager.c
9228           vpn-manager/nm-dbus-vpn.c
9229                 - Warning fixes; casts and removal of unused variables
9230
9231 2007-09-10  Dan Williams  <dcbw@redhat.com>
9232
9233         * include/NetworkManager.h
9234                 - Kill NMNetworkType; AP types don't matter any more
9235
9236         * src/NetworkManagerAPList.c
9237           src/NetworkManagerAPList.h
9238           src/Makefile.am
9239                 - Kill; NMAccessPointList has outlived it's usefulness
9240
9241         * src/NetworkManagerAP.c
9242           src/NetworkManagerAP.h
9243                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
9244                         functions; check if an NMConnection object is compatible with the
9245                         settings of this AP
9246                 - (freq_to_channel, channel_to_freq): utility functions for
9247                         channel <-> frequency conversion
9248
9249         * src/nm-device.c
9250           src/nm-device.h
9251                 - (nm_device_get_best_connection): pass the specific object around
9252                          (which might be the object path of a specific AP to connect to).
9253                          The get_best_connection() call should populate this on return
9254                          if needed (wireless does).
9255
9256         * src/nm-device-802-3-ethernet.c
9257                 - (real_get_best_connection): handle specific_object argument
9258
9259         * src/NetworkManager.c
9260           src/NetworkManagerMain.h
9261                 - Remove unused includes
9262
9263         * src/nm-device-802-11-wireless.c
9264           src/nm-device-802-11-wireless.h
9265                 - Convert the ap_list into a GSList from an NMAccessPointList
9266                 - No need for caching the 'activation_ap' since this is now determined
9267                         from the specific_object of the activation request, which is
9268                         populated from the get_best_connection() call or from a user request
9269                 - (nm_device_802_11_wireless_update_bssid): fix warning
9270                 - (get_wireless_capabilities): fix error message format arguments
9271                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
9272                 - (find_best_connection, real_get_best_connection): implement
9273                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
9274                         move here from NetworkManagerAPList
9275                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
9276                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
9277                         already verified earlier
9278                 - (real_act_stage2_config): use nm_connection_need_secrets()
9279
9280         * src/NetworkManagerPolicy.c
9281                 - (nm_policy_auto_get_best_device): handle specific objects
9282                 - (create_connection): remove; automatic connection creation functionality
9283                         is handled by the Connection objects
9284                 - (nm_policy_device_change_check): handle specific_object
9285
9286         * libnm-util/nm-connection.c
9287                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
9288
9289 2007-09-10  Dan Williams  <dcbw@redhat.com>
9290
9291         * src/nm-manager.c
9292                 - (query_connections): fix uninitialized variable problem that caused
9293                         segfault
9294                 - (nm_manager_add_device): take devices down on startup so that we can
9295                         be assured that nm_device_is_up() won't short-circuit the init
9296                         process.  Hack until the is_up check gets split into two pieces
9297                         that aren't behaviorally confusing.
9298
9299 2007-09-09  Dan Williams  <dcbw@redhat.com>
9300
9301         * introspection/nm-device.xml
9302                 - The 'Activate' method now takes 3 arguments, a service name for the
9303                 settings service (user or system), the object path of the connection
9304                 to activate, and the specific object to activate, if any
9305
9306         * src/nm-device-interface.c
9307                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
9308                 Add error bits
9309                 - (impl_device_activate): adapt to new Activate arguments; validate
9310                 the service name and get the Connection object from the NMManager
9311                 before starting to activate the device with the specified connection
9312
9313         * src/nm-device-802-3-ethernet.c
9314                 - (real_get_best_connection): find the best connection, or create a
9315                 default one if no existing connections can be used
9316
9317         * src/NetworkManagerPolicy.c
9318                 - (nm_policy_auto_get_best_device): Get the device's best connection
9319                 and only pick the device if it has one
9320                 - (nm_policy_device_change_check): disable wireless bits for now until
9321                 wireless get_best_connection() can be implemented (replacing "best_ap");
9322                 don't create a default connection here as the device subclass will do
9323                 that if needed
9324
9325         * src/nm-manager.h
9326           src/nm-manager.c
9327                 - (nm_manager_get): make NMManager a singleton and expose the getter
9328                 internally
9329                 - Rework internal NMManager connection handling to use the same
9330                 routines for both the system and user settings services.  Most calls
9331                 take a new NMConnectionType argument specifying either system or user
9332                 connections
9333                 - (nm_manager_get_connection_by_object_path): new function; get a
9334                 connection keyed on its object path
9335
9336         * src/NetworkManager.c
9337                 - (main): use nm_manager_get()
9338
9339 2007-09-09  Dan Williams  <dcbw@redhat.com>
9340
9341         * src/nm-device.h
9342           src/nm-device.c
9343                 - (nm_device_get_best_connection): new function; get best connection
9344                         for the device at that time
9345
9346 2007-09-09  Dan Williams  <dcbw@redhat.com>
9347
9348         * src/nm-device-interface.h
9349                 - Add NMDeviceInterfaceError with an UnknownConnection error
9350
9351 2007-09-09  Dan Williams  <dcbw@redhat.com>
9352
9353         Stupid mistake on my part; object path and interface for settings service
9354         and connection objects can be the same, only the service name must be
9355         different for the system and user settings services.
9356
9357         * include/NetworkManager.h
9358           src/nm-manager.c
9359           introspection/nm-settings-connection.xml
9360           introspection/nm-settings.xml
9361           libnm-glib/nm-settings.c
9362                 - (nm_connection_settings_init, query_user_connections,
9363                    new_connection_cb): Unify NetworkManagerSettings and Connection
9364                    interface name and object path
9365
9366 2007-09-06  Dan Williams  <dcbw@redhat.com>
9367
9368         * libnm-glib/nm-object.c
9369                 - (nm_object_get_string_property, nm_object_get_object_path_property,
9370                    nm_object_get_int_property, nm_object_get_uint_property,
9371                    nm_object_get_boolean_property, nm_object_get_byte_property,
9372                    nm_object_get_double_property, nm_object_get_byte_array_property):
9373                         clear GValues after copying their contents, fixes memory leaks
9374                         after every property access because dbus-glib copies the values
9375                         from the DBusMessage into the GValue already.
9376
9377 2007-09-06  Dan Williams  <dcbw@redhat.com>
9378
9379         * introspection/nm-access-point.xml
9380                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
9381                         them to be.  There's some magic property name parsing going on in
9382                         dbus-glib that breaks up property names based on studly-caps and
9383                         puts - between words.
9384
9385         * libnm-glib/nm-access-point.c
9386                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
9387                         Fix property names
9388
9389 2007-09-06  Dan Williams  <dcbw@redhat.com>
9390
9391         * src/nm-manager.c
9392                 - (nm_manager_user_connections_destroy): clear the user connections hash
9393                         table, don't destroy it
9394                 - (finalize): only destroy the hash table on NMManager finalization
9395
9396 2007-09-02  Dan Williams  <dcbw@redhat.com>
9397
9398         * include/NetworkManager.h
9399           libnm-glib/nm-settings.c
9400                 - defines for the user settings daemon D-Bus bits
9401
9402         * src/NetworkManager.c
9403                 - Remove stuff that referred to the old NetworkManagerInfo service
9404
9405         * src/vpn-manager/nm-dbus-vpn.h
9406                 - Move old NMI defines to the only place they are used still
9407
9408         * libnm-util/nm-connection.c
9409           libnm-util/nm-connection.h
9410           src/nm-activation-request.c
9411                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
9412
9413         * src/nm-manager.c
9414           src/nm-manager.h
9415                 - Get connections and their settings from the user settings daemon
9416                         at the appropriate times
9417
9418 2007-09-02  Dan Williams  <dcbw@redhat.com>
9419
9420         * libnm-util/nm-setting.c
9421                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
9422                 - (setting_wireless_hash): set the right value on the item
9423
9424 2007-09-02  Dan Williams  <dcbw@redhat.com>
9425
9426         * test/Makefile.am
9427           test/nminfotest.c
9428                 - Remove, no longer useful
9429
9430 2007-08-30  Dan Williams  <dcbw@redhat.com>
9431
9432         * src/Makefile.am
9433           src/NetworkManagerDbus.c
9434           src/NetworkManagerDbus.h
9435           src/vpn-manager/nm-dbus-vpn.c
9436                 - Remove, no longer necessary.  Move last bits to the only place its
9437                 used, in nm-dbus-vpn.c
9438
9439         * src/NetworkManagerAPList.c
9440           src/nm-device.c
9441           src/NetworkManager.c
9442           src/nm-device-802-11-wireless.c
9443           src/vpn-manager/nm-vpn-manager.c
9444           src/vpn-manager/nm-vpn-service.c
9445           src/NetworkManagerPolicy.c
9446           src/nm-manager.c
9447                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
9448                 that was message_is_error()
9449
9450 2007-08-30  Dan Williams  <dcbw@redhat.com>
9451
9452         * libnm-util/sha1.c
9453                 - Include config.h to get defines for endiannes (gnome.org #420216)
9454
9455 2007-08-30  Dan Williams  <dcbw@redhat.com>
9456
9457         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
9458
9459         * src/ppp-manager/Makefile.am
9460                 - use -fPIC (gnome.org #471825)
9461
9462 2007-08-29  Dan Williams  <dcbw@redhat.com>
9463
9464         * include/NetworkManager.h
9465                 - Keep NMConnection object path in sync
9466
9467         * libnm-glib/nm-settings.c
9468           libnm-glib/nm-settings.h
9469                 - Break D-Bus object registration out of the init function, because
9470                 every object that's exported over D-Bus needs to use the _same_
9471                 DBusConnection.  Otherwise, each object would get a different object
9472                 path tree and wouldn't be callable.
9473
9474 2007-08-29  Dan Williams  <dcbw@redhat.com>
9475
9476         * libnm-util/nm-setting.h
9477           libnm-util/nm-setting.c
9478           libnm-util/nm-connection.c
9479           src/NetworkManagerPolicy.c
9480                 - 'info' settings object should be 'connection' says the spec
9481                 at NetworkManagerConfigurationSpecification
9482
9483 2007-08-29  Dan Williams  <dcbw@redhat.com>
9484
9485         * libnm-glib/nm-settings.c
9486           libnm-glib/nm-settings.h
9487                 - make the dbus path a property of the object, and autogenerate it.
9488                 It can't be composed of the 'id' field becuase that's not available
9489                 yet during the GObject creation in nm_connection_settings_init()
9490
9491 2007-08-29  Dan Williams  <dcbw@redhat.com>
9492
9493         * introspection/nm-settings-connection.xml
9494           introspection/nm-settings.xml
9495                 - Service name -> NetworkManagerUserSettings because two services
9496                 can't share part of the same path.  I'm not really sure how we'll use
9497                 the same code with the system-settings daemon...
9498
9499 2007-08-28  Dan Williams  <dcbw@redhat.com>
9500
9501         * src/nm-device-interface.c
9502           src/nm-device-interface.h
9503                 - Kill one more bit of NMData
9504
9505 2007-08-28  Dan Williams  <dcbw@redhat.com>
9506
9507         * src/NetworkManagerSystem.h
9508           src/nm-device.c
9509           src/nm-device.h
9510           src/nm-hal-manager.c
9511           src/NetworkManager.c
9512           src/nm-device-802-11-wireless.c
9513           src/nm-hal-manager.h
9514           src/nm-device-802-3-ethernet.c
9515           src/vpn-manager/nm-vpn-service.h
9516           src/vpn-manager/nm-vpn-manager.c
9517           src/vpn-manager/nm-vpn-manager.h
9518           src/vpn-manager/nm-vpn-service.c
9519           src/nm-device-802-11-wireless.h
9520           src/NetworkManagerMain.h
9521           src/nm-device-802-3-ethernet.h
9522           src/backends/NetworkManagerGentoo.c
9523           src/backends/NetworkManagerPaldo.c
9524           src/backends/NetworkManagerFrugalware.c
9525           src/backends/NetworkManagerRedHat.c
9526           src/backends/NetworkManagerSlackware.c
9527           src/backends/NetworkManagerGeneric.c
9528           src/backends/NetworkManagerArch.c
9529           src/backends/NetworkManagerSuSE.c
9530           src/backends/NetworkManagerGeneric.h
9531           src/backends/NetworkManagerDebian.c
9532                 - Kill NMData
9533
9534 2007-08-28  Dan Williams  <dcbw@redhat.com>
9535
9536         * src/NetworkManagerMain.h
9537           src/nm-device-802-11-wireless.c
9538           src/NetworkManager.c
9539                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9540                 for now we should set the 'invalid' property on individual APs, and when
9541                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9542                 that ESS
9543
9544 2007-08-28  Dan Williams  <dcbw@redhat.com>
9545
9546         * src/NetworkManagerAP.c
9547           src/NetworkManagerAP.h
9548                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9549                         'autoconnect' property instead
9550
9551         * src/NetworkManager.c
9552           src/NetworkManagerMain.h
9553           src/NetworkManagerPolicy.c
9554           src/NetworkManagerPolicy.h
9555                 - Remove the 'allowed_ap_list', which should be replaced by 
9556                         NMConnection/NMSettings instead, since _those_ are the allowed
9557                         things that NM can connect to
9558
9559         * src/nm-device-802-11-wireless.c
9560                 - Remove both allowed_ap_list usage and 'fallback' checking
9561
9562 2007-08-28  Dan Williams  <dcbw@redhat.com>
9563
9564         * src/nm-device.c
9565           src/named-manager/nm-named-manager.c
9566           src/named-manager/nm-named-manager.h
9567           src/NetworkManager.c
9568           src/vpn-manager/nm-vpn-manager.c
9569           src/NetworkManagerMain.h
9570           src/NetworkManagerSystem.c
9571                 - Remove the named-manager object from NMData structure in preparation
9572                 for NMData's timely death.  Make the NMNamedManager the singleton that
9573                 it really is
9574
9575 2007-08-28  Dan Williams  <dcbw@redhat.com>
9576
9577         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9578         each AP's capabilities, and by NMConnection/NMSettings objects for user
9579         defined connections.
9580
9581         * include/NetworkManager.h
9582                 - Redefine 802.11 security properties.  There are now device capabilities
9583                         and AP flags and AP security flags.  It was way to unclear before.
9584
9585         * src/Makefile.am
9586           src/nm-ap-security-leap.h
9587           src/nm-ap-security-leap.c
9588           src/nm-ap-security-wpa-eap.c
9589           src/nm-ap-security-wpa-eap.h
9590           src/nm-ap-security-private.h
9591           src/nm-ap-security-wpa-psk.c
9592           src/nm-ap-security-wpa-psk.h
9593           src/nm-ap-security-wep.c
9594           src/nm-ap-security-wep.h
9595           src/nm-ap-security.c
9596           src/nm-ap-security.h
9597                 - Removed, to be replaced with NMConnection/NMSettings objects
9598
9599         * src/nm-dbus-nmi.c
9600           src/nm-dbus-nmi.h
9601                 - Removed, to be replaced by code that talks to the new info daemon
9602                         interface and gets NMConnection/NMSettings objects
9603
9604         * src/backends/NetworkManagerSuSE.c
9605                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9606                         info-daemon that does the same thing but talks the new info-daemon
9607                         D-Bus interface
9608
9609         * src/NetworkManagerAP.h
9610           src/NetworkManagerAP.c
9611           src/NetworkManagerAPList.c
9612           libnm-glib/libnm-glib-test.c
9613                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9614                         WPA/RSN
9615
9616         * libnm-glib/nm-access-point.c
9617           libnm-glib/nm-access-point.h
9618           introspection/nm-access-point.xml
9619           test/nm-tool.c
9620                 - Adjust to new flags for AP security
9621
9622         * utils/nm-utils.c
9623           utils/nm-utils.h
9624           src/vpn-manager/nm-dbus-vpn.c
9625                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9626                         stuff which is the only place it's used
9627
9628         * src/nm-device-interface.c
9629           src/nm-device-interface.h
9630           introspection/nm-device.xml
9631           src/nm-activation-request.c
9632           src/nm-activation-request.h
9633           src/nm-device.c
9634                 - Add a new 'specific_object' argument that hints to NM what actual
9635                         AP or other device-specific thing the connection should apply to.
9636                         NMConnection objects can apply to more than one actual device/AP.
9637
9638         * libnm-util/nm-connection.c
9639         * libnm-util/nm-connection.h
9640                 - Add 'have_secrets" call stubs
9641
9642         * libnm-util/cipher.h
9643                 - Move NM_AUTH_TYPE_* defines here for now
9644
9645         * src/nm-device-802-11-wireless.c
9646                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9647                         NMSettings objects
9648
9649         * src/NetworkManagerDbus.c
9650         * src/NetworkManagerPolicy.c
9651                 - Remove usage of update_allowed_networks, should be pushing data in
9652                         a different manner
9653
9654 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9655
9656         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9657         dbus-glib frees it when the call is done.
9658
9659 2007-08-26  Dan Williams  <dcbw@redhat.com>
9660
9661         * introspection/nm-device.xml
9662                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9663
9664 2007-08-26  Dan Williams  <dcbw@redhat.com>
9665
9666         * src/nm-device-802-3-ethernet.c
9667                 - (constructor): move connection of interface-connected/disconnected
9668                         signals here from real_bring_up().  Should be listening to netlink
9669                         for carrier events no matter what the initial state of the device
9670                         is.
9671
9672 2007-08-26  Dan Williams  <dcbw@redhat.com>
9673
9674         * src/nm-netlink-monitor.c
9675                 - (nm_netlink_monitor_class_init): fix marshalling types for
9676                         interface-connected/interface-disconnected
9677                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9678                         check
9679
9680 2007-08-26  Dan Williams  <dcbw@redhat.com>
9681
9682         Convert to using interface indexes as the primary method of identifying
9683         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9684         be renamed at any time.  Device object paths now refer to the device
9685         index rather than the name, and you can map those two manually if you like
9686         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9687         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9688         to use interface indexes rather than names.
9689
9690 2007-08-26  Dan Williams  <dcbw@redhat.com>
9691
9692         * src/nm-netlink-monitor.h
9693                 - Remove one last bit of wireless-event signal
9694
9695 2007-08-26  Dan Williams  <dcbw@redhat.com>
9696
9697         * src/nm-netlink-monitor.c
9698                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9699                         don't need the 'wireless-event' signal anymore since that's all
9700                         handled by wpa_supplicant
9701
9702 2007-08-25  Dan Williams  <dcbw@redhat.com>
9703
9704         It's 2007. Remove support for drivers that don't support wireless scanning.
9705
9706         * test/nm-tool.c
9707           include/NetworkManager.h
9708           src/NetworkManagerUtils.c
9709           src/NetworkManagerPolicy.c
9710           src/nm-device-802-11-wireless.c
9711                 - Remove special handling for non-scanning devices and mark them
9712                         as unsupported/unhandled
9713
9714 2007-08-20  Dan Williams  <dcbw@redhat.com>
9715
9716         * src/nm-device-802-11-wireless.c
9717           src/nm-device-802-3-ethernet.c
9718                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9719                         because when the card is pulled or the module removed, the device
9720                         is already !IFF_UP and then device-specific cleanup (removing
9721                         the supplicant interface, periodic checks, etc) never gets done
9722
9723 2007-08-20  Dan Williams  <dcbw@redhat.com>
9724
9725         * src/nm-manager.c
9726                 - (nm_manager_remove_device): bring device down before disconnecting
9727                         signal handlers, so that the 'state' signal will get broadcast when
9728                         the device enters the DOWN state
9729                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
9730                         of states that cause the NMManager to recheck its state
9731
9732 2007-08-20  Dan Williams  <dcbw@redhat.com>
9733
9734         * src/supplicant-manager/nm-supplicant-interface.c
9735                 - (interface_disconnect_done): don't try to dispose of the net proxy
9736                         when it may already have been disposed of
9737
9738 2007-08-20  Dan Williams  <dcbw@redhat.com>
9739
9740         * src/nm-device-802-11-wireless.c
9741                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
9742                         the SSID isn't available; this can happen when the card is pulled
9743                         or the module unloaded, during the post-removal deactivation
9744                         paths, when the ioctl returns ENODEV
9745
9746 2007-08-20  Dan Williams  <dcbw@redhat.com>
9747
9748         * src/nm-device-802-11-wireless.c
9749                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
9750                         frequency, and mode match.  Applets are now responsible for grouping
9751                         access points
9752
9753 2007-08-20  Dan Williams  <dcbw@redhat.com>
9754
9755         * src/NetworkManagerAP.c
9756         * src/NetworkManagerAP.h
9757                 - (nm_ap_print_self): new function
9758
9759         * src/NetworkManagerAPList.c
9760                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
9761                         to do it all here
9762         
9763 2007-08-17  Dan Williams  <dcbw@redhat.com>
9764
9765         * src/nm-device-802-3-ethernet.c
9766                 - (real_bring_down): don't try to dispose of stuff that might not
9767                         exist
9768
9769 2007-08-17  Dan Williams  <dcbw@redhat.com>
9770
9771         * src/NetworkManagerAP.c
9772                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
9773                         applet.  This ensures that the case between the seen-bssids and
9774                         the bssids reported by the driver match.
9775
9776 2007-08-17  Dan Williams  <dcbw@redhat.com>
9777
9778         * src/nm-device-802-11-wireless.c
9779                 - (device_cleanup): disconnect the interface in wpa_supplicant before
9780                         we dispose of the interface proxy in NM
9781
9782 2007-08-16  Dan Williams  <dcbw@redhat.com>
9783
9784         * libnm-glib/nm-client.c
9785                 - (nm_client_init): create VPN connections hash table with key free
9786                         function
9787                 - (proxy_vpn_connection_added): VPN connections hash table key should
9788                         be a duplicated value, not the same memory address as the VPN
9789                         connection name.  This is because the VPN connection name could
9790                         potentially be freed and set to something else during the lifetime
9791                         of the NMVPNConnection object.
9792
9793 2007-08-16  Tambet Ingo  <tambet@gmail.com>
9794
9795         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
9796         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
9797         with the file descriptors. Send a child setup function to change the pppd
9798         progress group.
9799
9800 2007-08-15  Dan Williams  <dcbw@redhat.com>
9801
9802         * src/supplicant-manager/nm-supplicant-interface.c
9803                 - (try_remove_iface): new function, ask wpa_supplicant to remove
9804                         an interface
9805                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
9806                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
9807                         happens on hotplug if wpa_supplicant doesn't tear down and readd
9808                         the interface internally
9809
9810 2007-08-15  Dan Williams  <dcbw@redhat.com>
9811
9812         * src/nm-device-802-11-wireless.c
9813                 - (real_bring_down): move most of this function into device_cleanup()
9814                         so that it can be called from elsewhere
9815                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
9816                         and stuff on dispose.  These would normally get cleaned up when
9817                         the device is marked down and deactivated, but when the device is
9818                         hot-unplugged, it's already down and real_down() never gets run
9819
9820 2007-08-15  Dan Williams  <dcbw@redhat.com>
9821
9822         * src/nm-dbus-nmi.c
9823                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
9824                         caused a reference leak on device for which NM requested a key
9825
9826 2007-08-15  Dan Williams  <dcbw@redhat.com>
9827
9828         * libnm-glib/nm-client.c
9829                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
9830
9831 2007-08-15  Tambet Ingo  <tambet@gmail.com>
9832
9833         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
9834         nothing is using it at the moment, but it'll be all useful and stuff later on.
9835
9836         * libnm-util/nm-setting.h: Define NMSettingPPP.
9837
9838         * libnm-util/nm-setting.c: Implement NMSettingPPP.
9839
9840         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
9841
9842         * src/Makefile.am: Add ppp-manager to SUBDIRS.
9843
9844         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
9845
9846         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
9847
9848 2007-08-14  Tambet Ingo  <tambet@gmail.com>
9849
9850         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
9851
9852         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
9853         an issue with dbus-glib bindings generator. The issue is, the generated C caller
9854         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
9855         name and different arguments and it won't compile anymore. To fix this, we now have
9856         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
9857         that is new API + compatibility API and used by the daemon. The other, 
9858         nm-manager-client.xml is only the new API without compatibility bits and is used
9859         by libnm-glib to make it compile.
9860
9861         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
9862
9863         * src/nm-manager.c (impl_manager_legacy_sleep)
9864         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
9865         interface functions for 0.6 branch.
9866
9867 2007-08-14  Dan Williams  <dcbw@redhat.com>
9868
9869         * src/NetworkManagerAP.c
9870                 - (nm_ap_new_from_properties): fix mistaken check of return value
9871                         from memcmp (should expect 0)
9872
9873 2007-08-14  Dan Williams  <dcbw@redhat.com>
9874
9875         (force-commit to fix wrong comment and partial commit of r2685; this
9876          commit actually applies to r2685)
9877
9878         * src/NetworkManagerUtils.c
9879                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
9880                         ignores trailing nulls in the SSID to work around mismatches in
9881                         expectations between WEXT and what the info-daemon passes back.  The
9882                         info-daemon would pass back the correct length, but due to the
9883                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
9884                         the device would always have an SSID + 1 depending on what versions
9885                         of wpa_supplicant, the kernel, and NM you have.  This was most often
9886                         visible by just quitting the applet and relaunching, which caused
9887                         NM to reassociated to the same network over again when reloading
9888                         the save networks.
9889
9890         * src/NetworkManagerPolicy.c
9891           src/NetworkManagerUtils.h
9892           src/nm-device-802-11-wireless.c
9893                 - Update for new parameter to nm_utils_same_ssid()
9894
9895 2007-08-14  Dan Williams  <dcbw@redhat.com>
9896
9897         * src/NetworkManagerAP.c
9898                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
9899                         I encountered a BSS that wasn't just hiding it's ESSID, it was
9900                         setting the BSSID to all 0s.  That confused the heck out of NM,
9901                         plus it's useless and probably out-of-spec.
9902
9903 2007-08-14  Dan Williams  <dcbw@redhat.com>
9904
9905         * callouts/Makefile.am
9906           src/dhcp-manager/nm-dhcp-manager.c
9907           src/dhcp-manager/nm-dhcp-manager.h
9908           src/dhcp-manager/Makefile.am
9909                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
9910
9911 2007-08-14  Dan Williams  <dcbw@redhat.com>
9912
9913         * src/dhcp-manager/nm-dhcp-manager.c
9914                 - (dhclient_run): don't pass -x to dhclient until we figure out if
9915                         it's really needed, get rid of unused xtra_args parameter
9916
9917 2007-08-14  Dan Williams  <dcbw@redhat.com>
9918
9919         * include/NetworkManagerVPN.h
9920           src/vpn-manager/nm-dbus-vpn.c
9921           src/vpn-manager/nm-dbus-vpn.h
9922           src/vpn-manager/nm-vpn-act-request.c
9923           src/vpn-manager/nm-vpn-act-request.h
9924           src/vpn-manager/nm-vpn-service.c
9925           src/vpn-manager/nm-vpn-service.h
9926           libnm-glib/nm-vpn-connection.c
9927           libnm-glib/nm-vpn-connection.h
9928           libnm-glib/nm-client.h
9929                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
9930                         NMVPNServiceState to clarify what they apply to
9931                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
9932                         NMVPNActStage -> NMVPNConnectionState for the same reason
9933
9934         * libnm-glib/nm-client.c
9935                 - Constant + type renames from above
9936                 - Properly handle NameOwnerChanged/manager_running signals
9937                         for NM service; only emit when state really changes
9938                 - Use hash tables correctly so that the key (which was previously owned
9939                         by the D-Bus message) now has the same lifetime as the value, since
9940                         the key is now taken from the the NMVPNConnection itself.  This
9941                         really fixes the double-VPN names in the applet
9942
9943 2007-08-13  Dan Williams  <dcbw@redhat.com>
9944
9945         Patch from Michael Biebl <biebl@debian.org>
9946
9947         * po/POTFILES.in
9948           po/POTFILES.skip
9949                 - Update for vpn-properties move
9950
9951 2007-08-13  Dan Williams  <dcbw@redhat.com>
9952
9953         * libnm-glib/nm-client.c
9954                 - Convert internal VPN connection tracking from a list to a hash table
9955                         to easily avoid duplicates
9956                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
9957                         must be freed by the caller, like nm_client_get_devices()
9958                 - (nm_client_remove_vpn_connection): don't let the removal signal
9959                         leak through for NMVPNConnection objects that aren't actually
9960                         tracked.
9961                 - (manager_running): throw away VPN connection list when NM goes away,
9962                         like with the device list
9963
9964 2007-08-13  Dan Williams  <dcbw@redhat.com>
9965
9966         * src/dhcp-manager/nm-dhcp-manager.c
9967                 - Stop any dhclient instance that might be already running for a
9968                         particular interface before starting an NM spawned dhclient.  Fixes
9969                         dhclient processes left over if NM crashes, stuff like that.
9970
9971 2007-08-13  Dan Williams  <dcbw@redhat.com>
9972
9973         * src/NetworkManagerAP.c
9974                 - (finalize): don't try to g_array_free (NULL, ...), which happened
9975                         when the AP wasn't broadcasting it's SSID
9976
9977 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
9978
9979         * include/NetworkManager.h: added DBus path for connection settings.
9980
9981         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
9982         nm_connection_settings_signal_updated,
9983         nm_connection_settings_signal_removed): new functions to wrap the
9984         objects' signals.
9985         (nm_connection_settings_init): register GObject with DBus.
9986         (nm_connection_settings_get_dbus_object_path): new function.
9987
9988         * libnm-glib/Makefile.am: added libnmutil to link flags.
9989
9990 2007-08-13  Tambet Ingo  <tambet@gmail.com>
9991
9992         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
9993
9994         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
9995         libnm_glib directory got merged with libnm-glib/.
9996
9997         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
9998
9999         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
10000         Rename the library from libnm-glib to libnm_glib to maintain the library API
10001         compatibility with 0.6 branch.
10002
10003         * Makefile.am: Remove gnome/ SUBDIR.
10004
10005         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
10006
10007         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
10008
10009         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
10010
10011         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
10012         anymore.
10013         Remove checks for wpa_supplicant binary, it's used over dbus.
10014         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
10015
10016         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
10017         Link the binaries with libnm_glib.la.
10018
10019 2007-08-12  Dan Williams  <dcbw@redhat.com>
10020
10021         * src/NetworkManagerPolicy.c
10022                 - (nm_policy_device_change_check): fix policy to deactivate old device
10023                         before activating new one, at least until the multiple active
10024                         device support lands
10025
10026 2007-08-12  Dan Williams  <dcbw@redhat.com>
10027
10028         * src/NetworkManagerPolicy.c
10029                 - (nm_policy_new): hook up to connection-added / connection-removed
10030                         signals instead of connections-changed
10031
10032 2007-08-12  Dan Williams  <dcbw@redhat.com>
10033
10034         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
10035         Robert Frank <rfrank@redhat.com>
10036
10037         * src/dhcp-manager/nm-dhcp-manager.c
10038           src/dhcp-manager/nm-dhcp-manager.c
10039           src/nm-device.c
10040                 - Spawn and communicate with dhclient directly, through means of a
10041                 custom dhclient callout script.  Process callout D-Bus signals
10042                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
10043                 sent via gobject signals rather than being driven by the dhcp manager
10044                 directly.
10045
10046 2007-08-12  Dan Williams  <dcbw@redhat.com>
10047
10048         * callouts/nm-dhcp-client-action.c
10049                 - (build_message): ignore non-DHCP-related environment variables
10050
10051 2007-08-12  Dan Williams  <dcbw@redhat.com>
10052
10053         * Makefile.am
10054           configure.in
10055           callouts/Makefile.am
10056           callouts/nm-dhcp-client-action.c
10057           callouts/nm-dhcp-client.conf
10058                 - Add dhclient-executed callout that takes the place of dhclient-script
10059                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
10060                 NM then listens for
10061
10062 2007-08-09  Tambet Ingo  <tambet@gmail.com>
10063
10064         [Based on patch by Helmut Schaa <hschaa@suse.de>]
10065
10066         * libnm-glib/nm-client.h:
10067         * libnm-glib/nm-object.h:
10068         * libnm-glib/nm-vpn-connection.h:
10069         * libnm-glib/nm-settings.h:
10070         * libnm-glib/nm-device.h:
10071         * libnm-glib/nm-ip4-config.h:
10072         * libnm-glib/nm-access-point.h:
10073         * libnm-glib/nm-device-802-3-ethernet.h:
10074         * libnm-util/nm-setting.h: 
10075         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
10076
10077         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
10078
10079         * libnm-glib/nm-access-point.c: Strength has type char.
10080
10081         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
10082         to fix build. GnomeDruid is deprecated in recent libgnomeui.
10083
10084         * introspection/nm-access-point.xml: Strength property is char, not int.
10085
10086         * src/NetworkManagerAP.c (set_property): Set strength from char.
10087         (get_property): Handle hidden APs (with empty SSID).
10088         Get strength value from char.
10089         (nm_ap_class_init): Strength property has char type.
10090
10091 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
10092
10093         * introspection/Makefile.am:
10094         * introspection/nm-settings.xml:
10095         * introspection/nm-settings-connection.xml: added Settings interfaces.
10096
10097         * libnm-glib/nm-settings.[ch]:
10098         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
10099         containing the DBus implementation.
10100
10101 2007-07-26  Dan Williams  <dcbw@redhat.com>
10102
10103         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
10104
10105         * src/NetworkManagerSystem.c
10106                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
10107                         same subnet (#437396)
10108
10109 2007-07-26  Dan Williams  <dcbw@redhat.com>
10110
10111         Patch from Kelemen Gábor <kelemeng@gnome.hu>
10112
10113         * gnome/vpn-properties/nm-vpn-properties.c
10114                 - Fix translatable strings (#445865)
10115
10116 2007-07-26  Dan Williams  <dcbw@redhat.com>
10117
10118         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
10119
10120         * configure.in
10121                 - Remove useless junk (#412530)
10122
10123 2007-07-10  Christopher Aillon  <caillon@redhat.com>
10124
10125         Patch from Robert Buchholz <rbu@gentoo.org>:
10126
10127         * configure.in:
10128         * Makefile.am:
10129         * introspection/Makefile.am:
10130         Make make distcheck work again.
10131
10132 2007-06-27  Dan Williams  <dcbw@redhat.com>
10133
10134         * Make SSIDs GByteArrays everywhere
10135         * Rename "essid" -> "ssid" everywhere that's appropriate
10136         * Refcount activation_ap member of the 802.11 wireless device class
10137
10138 2007-06-27  Tambet Ingo  <tambet@ximian.com>
10139
10140         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
10141
10142 2007-06-22  Tambet Ingo  <tambet@ximian.com>
10143
10144         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
10145         that we got a new AP when we just update existing AP properties.
10146
10147 2007-06-21  Tambet Ingo  <tambet@ximian.com>
10148
10149         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
10150
10151         * nm-utils.[ch]: Remove.
10152
10153         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
10154         objects for easy property access and dbus connection handling.
10155
10156         * libnm-glib/nm-client.c: Derive from NMObject.
10157
10158         * libnm-glib/nm-device.c: Ditto.
10159
10160         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
10161
10162         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
10163
10164         * libnm-glib/nm-ip4-config.c: Ditto.
10165
10166         * libnm-glib/nm-access-point.c: Ditto.
10167
10168         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
10169         comparision. Currently used by the device activation code to determine if the new
10170         activation is the same as the old one.
10171
10172         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
10173         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
10174         able to ask password for the AP.
10175
10176         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
10177         up if the device is already connected, tear down it's connection (if it isn't the
10178         same as new one) and start the activation.
10179
10180         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
10181
10182         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
10183         the issue where all APs are always listed as encrypted.
10184
10185         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
10186         their own registered paths.
10187
10188         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
10189         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
10190
10191 2007-06-13  Tambet Ingo  <tambet@ximian.com>
10192
10193         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
10194         (0 & 0 == 0, doh)
10195
10196         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
10197         because the handling code will cause the next state change and signal listeners
10198         get the signals in wrong order.
10199
10200         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
10201         correctly in case of pending activation.
10202
10203         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10204         Convert the essid byte array to string correctly, including the terminating NULL.
10205
10206         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
10207         mode with correct types.
10208
10209         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
10210         constructed info to dbus call instead of the activation request.
10211
10212 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10213
10214         Patch from Christian Persch <chpe@gnome.org>
10215
10216         * libnm-glib/Makefile.am:
10217         * dispatcher-daemon/Makefile.am:
10218         Use the correct variables, the correct paths, and correct ordering. (446315)
10219
10220 2007-06-11  Tambet Ingo  <tambet@ximian.com>
10221
10222         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
10223         argument. The activation request is easy to retrieve.
10224
10225         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
10226         just to be a convenient location for devices to store random stuff.
10227
10228 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10229
10230         Patch from Alex Smith <alex@alex-smith.me.uk>
10231
10232         * src/backends/NetworkManagerFrugalware.c:
10233         Update the FrugalWare backend to fix a few segfaults. (#392642)
10234
10235 2007-06-08  Tambet Ingo  <tambet@ximian.com>
10236
10237         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
10238
10239         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
10240         setting.
10241         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
10242
10243 2007-06-06  Tambet Ingo  <tambet@ximian.com>
10244
10245         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
10246         automagically.
10247         Implement NMSettingIP4Config.
10248         Finish NMSettingWired by adding all known members.
10249         (setting_wired_verify): Implement.
10250         Finish NMSettingWireless by adding all known members.
10251         (setting_wireless_verify): Implement.
10252
10253         * libnm-util/nm-connection.c: Register "ipv4" setting.
10254         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
10255         dump function, we can introspect the GHashTable which is used for sending connections
10256         over dbus.
10257
10258         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10259         Take GByteArray for essid, it's really not a string.
10260
10261         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
10262         Start DHCP request if setting is not passed or if it states that DHCP should be used.
10263         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
10264         means overriding the values we got from DHCP.
10265         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
10266         (nm_device_deactivate_quickly): Ditto.
10267
10268         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
10269         for debugging.
10270
10271 2007-05-07  Tambet Ingo  <tambet@ximian.com>
10272
10273         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
10274         NMConnection.
10275
10276         * libnm-glib/nm-device-802-11-wireless.c:
10277         (nm_device_802_3_ethernet_activate): Remove.
10278
10279         * libnm-glib/nm-device-802-3-ethernet.c
10280         (nm_device_802_3_ethernet_activate): Remove.
10281
10282         * libnm-glib/nm-device.c (nm_device_activate): Implement.
10283
10284         * src/nm-device-802-3-ethernet.c: Implement the new activation using
10285         NMConnection.
10286
10287         * src/nm-device-802-11-wireless.c: Store an activation AP once the
10288         activation has started.
10289         Implement the new activation using NMConnection.
10290
10291         * src/nm-activation-request.c: Store a generic connection object instead
10292         of a wireless-specific AP.
10293
10294         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
10295         on device type, create a device specific connection object suitable for
10296         device activation.
10297
10298         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
10299         specific check to validate the connection and on success start the
10300         activation.
10301
10302         * src/nm-device-interface.h: Add a activate virtual function to the
10303         interface definition.
10304
10305         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
10306         (impl_device_activate): Implement.
10307
10308         * introspection/nm-device.xml: Add a generic device activation interface
10309         that accepts an abstract NMConnection structure that has device-specific
10310         information in it.
10311
10312         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
10313         activation interface.
10314
10315         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
10316         activation interface.
10317
10318         * libnm-util/nm-connection.c: 
10319         * libnm-util/nm-connection.h: 
10320         * libnm-util/nm-setting.c:
10321         * libnm-util/nm-setting.h: Add.
10322
10323         * libnm-util/Makefile.am: Build the added files.
10324
10325         * src/nm-dbus-manager.c
10326         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
10327         DbusConnection argument from 'name-owner-changed' signal. The manager
10328         is already passed as a first argument to the signal and the connection
10329         is easy enough to get from it.
10330
10331         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
10332         Update the signature of the function.
10333
10334         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
10335         Ditto.
10336
10337         * src/NetworkManager.c: Ditto.
10338
10339         * src/named-manager/nm-named-manager.c
10340         (nm_named_manager_name_owner_changed): Ditto.
10341
10342         * src/supplicant-manager/nm-supplicant-manager.c
10343         (nm_supplicant_manager_name_owner_changed): Ditto.
10344
10345         * src/nm-hal-manager.c (name_owner_changed): Ditto.
10346
10347         * src/dhcp-manager/nm-dhcp-manager.c
10348         (nm_dhcp_manager_name_owner_changed): Ditto.
10349
10350         * src/nm-hal-manager.c: Add a list of device detectors and creators
10351         to make it easier to add new devices. Each device type has it's own
10352         entry in the table so adding new device types is only a matter of
10353         implementing a couple of functions, one for device detection and the
10354         other for device creation.
10355
10356 2007-04-25  Dan Williams  <dcbw@redhat.com>
10357
10358         * initscript/RedHat/NetworkManager.in: remove trailing backslash
10359                 (gnome.org #432401)
10360
10361 2007-03-30  Dan Williams  <dcbw@redhat.com>
10362
10363         * src/NetworkManagerSystem.c
10364                 - (nm_system_device_set_ip4_route): clean up and fix argument
10365                         to nm_dev_sock_open()
10366
10367 2007-03-28  Tambet Ingo  <tambet@ximian.com>
10368
10369         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
10370         data to correct types instead of always using string.
10371
10372         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
10373         _not_ have NM_802_11_CAP_PROTO_NONE.
10374         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
10375         is not set.
10376
10377 2007-03-27  Tambet Ingo  <tambet@ximian.com>
10378
10379         * libnm-glib/Makefile.am: Fix the build issue.
10380
10381 2007-03-26  Tambet Ingo  <tambet@ximian.com>
10382
10383         * libnm-glib/nm-vpn-connection.h: 
10384         * libnm-glib/nm-vpn-connection.c: Implement.
10385
10386         * libnm-glib/nm-client.c: Add VPN support.
10387
10388         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
10389         handler for VPN.
10390
10391         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
10392         on DBUS again.
10393
10394 2007-03-26  Dan Williams  <dcbw@redhat.com>
10395
10396         * src/NetworkManagerAPList.c
10397         * src/nm-device-802-11-wireless.c
10398         * src/NetworkManagerAP.c:
10399                 - Store last seen as glong instead of GTimeVal.
10400                 - Fix the upper bound of capabilities, it's a bitfield.
10401
10402 2007-03-16  Tambet Ingo  <tambet@ximian.com>
10403
10404         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
10405
10406         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
10407         "manager-running" signal that notifies the appearance/disappearance of NM.
10408         (nm_client_sleep): Implement.
10409
10410         * libnm-glib/nm-device.c:
10411         * libnm-glib/nm-device-802-11-wireless.c: 
10412         * libnm-glib/nm-device-802-3-ethernet.c: 
10413
10414         Don't inherit from DBusGProxy, add a proxy to private
10415         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
10416         for anything but their own dbus interface. DBusGProxy objects support only one
10417         interfaces and to work around this, NMDevice has spearate proxy for each dbus
10418         interface. The nice side effect of this change is that we do not create a new
10419         DBusGProxy object for each property access.
10420
10421 2007-03-15  Tambet Ingo  <tambet@ximian.com>
10422
10423         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
10424         with zeroes before passing them to functions - the functions never do that and
10425         reading the values back may produce wrong values.
10426         (real_bring_up): Store the signal handler id ...
10427         (real_bring_down): ... So that it can be removed here.
10428         Disconnect the supplicant interface here as well.
10429         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
10430         from the access point instead of old $device/Networks/$essid.
10431
10432         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
10433         device state is connected (instead of just having link/carrier).
10434
10435         * src/nm-activation-request.c: Don't store NMData in activation request, it's
10436         already easily accessible through the device.
10437
10438         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
10439         store it within the object.
10440         (nm_ap_get_dbus_path): Export it to public as well.
10441
10442         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
10443         of the singleton.
10444
10445 2007-03-12  Dan Williams  <dcbw@redhat.com>
10446
10447         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
10448         for non-carrier-detect capable devices, and useless for carrier-detect
10449         devices since we get notifications from netlink about carrier status anyway.
10450
10451         * src/nm-device-802-3-ethernet.c
10452                 - remove 'link_source_id' member from private data
10453                 - (probe_link): remove and collapse into real_update_link()
10454                 - (nm_device_802_3_periodic_update): remove
10455                 - (real_is_up): check for sup_iface rather than link_source_id
10456                 - (real_bring_up): return gboolean for success/fail; require that
10457                         sup_iface be valid for device bringup to succeed
10458                 - (real_bring_down): zero out link signal ids
10459
10460         * src/nm-device.c
10461                 - (nm_device_activate_stage2_device_config): fail activation if device
10462                         bringup fails
10463                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
10464                         fails
10465                 - (nm_device_bring_up): return success/fail
10466
10467         * src/nm-device.h
10468                 - bring_up now returns success/fail
10469
10470         * src/nm-device-802-11-wireless.c
10471                 - (real_bring_up): return success from bringup
10472
10473 2007-03-07  Dan Williams  <dcbw@redhat.com>
10474
10475         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
10476         * src/nm-ap-security-wpa-psk.c
10477                 - (real_write_supplicant_config): work with PSKs that may contain
10478                         zeros in the binary format rather than treating it as a string
10479
10480 2007-03-02  Tambet Ingo  <tambet@ximian.com>
10481
10482         * libnm-glib/nm-device-802-11-wireless.c
10483         (nm_device_802_11_wireless_get_capabilities): Implement.
10484
10485         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
10486
10487         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
10488
10489         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
10490         reply only if it's not NULL. Not sure why this started happening right now.
10491
10492         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
10493         code paths for when devices get removed on shutdown or when a device is just
10494         removed.
10495         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
10496         gets freed so any signal from a device (disconnected for instance) would invoke
10497         NMState update which would crash.
10498         (nm_manager_remove_device): Bring the device down when it gets removed.
10499
10500         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
10501         the unused dev_type.
10502
10503         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
10504         reference to the added device, NMManager will own it (if it wants).
10505
10506         * test/nm-tool.c: Rewrite using libnm-glib.
10507
10508         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
10509         We get signalled when it changes.
10510
10511         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
10512         when it changes.
10513
10514         * libnm-glib/nm-device.c: Cache the device state property.
10515
10516         * libnm-glib/nm-access-point.c: Cache the strength property.
10517
10518         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
10519         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
10520         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
10521         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
10522         the device is down, activating, or activated (in case of A/B/G cards).
10523         Remove some old dead ifdef'ed out code that used to configure wireless devices,
10524         it's all done through supplicant now.
10525
10526         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
10527         counting issues with pending calls which caused leaks and crashes when
10528         interface was removed (now that the interface actually gets removed).
10529
10530         * src/nm-call-store.c: Make a copy of data before running a foreach
10531         with user callback on it - The most common usage pattern is to cancel
10532         (and thus remove) all pending calls with foreach which would modify
10533         the hash table we're iterating over.
10534
10535         * src/nm-manager.c: When a device is added, make sure it is "up". When
10536         it's removed or disabled due to disabling wireless or networking, bring
10537         it down.
10538
10539         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10540
10541         * src/nm-device-802-11-wireless.c: 
10542         * src/nm-device-802-3-ethernet.c: 
10543         * src/nm-device.c:
10544                 - Remove "init" virtual function, all gobjects have a place for that
10545                   already (constructor).
10546                 - Replace "start" virtual function with "bring_up", devices can be
10547                   brought up and down more than just on startup now.
10548                 - Add "is_up" virtual function.
10549                 - Implement one way to bring a device down instead of previous 4 different
10550                   ways, each of witch did something different.
10551
10552         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10553         all it needs is the device interface.
10554
10555         Get rid of NMData.dev_list (3 members to go).
10556         Get rif of NMData in a lot of places.
10557
10558         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10559
10560 2007-02-23  Dan Williams  <dcbw@redhat.com>
10561
10562         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10563
10564         * src/NetworkManagerAP.c
10565                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10566                         OR-ing rather than AND-ing
10567
10568 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10569
10570         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10571         "network-removed" signals.
10572
10573         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10574
10575         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10576         when receiving the signal from dbus.
10577
10578         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10579         property.
10580
10581         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10582         deactivation of the previously activated device working again.
10583
10584         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10585         and setter.
10586
10587         * src/nm-device.c (nm_device_is_activated): Remove.
10588         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10589
10590         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10591         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10592         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10593         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10594         Remove NMNetworkStatus and NMActStage enums.
10595
10596 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10597
10598         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10599         Handle device state changes and disconnect VPN if it's device deactivates.
10600
10601         * src/nm-dbus-nm.c: 
10602         * src/nm-dbus-nm.h: 
10603         * src/nm-dbus-device.c: 
10604         * src/nm-dbus-device.c: 
10605         * src/nm-dbus-net.c: 
10606         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10607
10608         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10609
10610         * src/nm-device.c (nm_device_get_by_udi):
10611         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10612         implemented in the correct location (NMManager).
10613         Rip out all the test_device stuff.
10614
10615         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10616         failure handlers, it's all done by NMDevice already.
10617
10618         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10619         Remove the iochannel hack to route the unix signals to the main thread since
10620         we're not threaded anymore.
10621
10622         * src/NetworkManagerAP.c: Implement HWAddress property.
10623
10624         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10625         automatically with dbus-glib.
10626
10627         * src/nm-netlink-monitor.c: 
10628         * src/nm-netlink-monitor.h:
10629                 - Move it low in the class hierarchy, don't reference any NM types.
10630                 - Remove private data from the header.
10631                 - Use type safe checks in public API methods.
10632                 - Make it a singleton so we don't have to pass the single reference around.
10633
10634 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10635
10636         * introspection/nm-ip4-config.xml: Implement.
10637
10638         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10639
10640         * libnm-glib/nm-ip4-config.c:
10641         * libnm-glib/nm-ip4-config.c: Implement.
10642
10643         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10644         securities. APs reference security.
10645
10646         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10647         be exported over DBUS.
10648
10649         * src/nm-device-802-3-ethernet.c: Ditto.
10650
10651         * src/NetworkManagerAP.c:
10652         * src/NetworkManagerAP.h:
10653                 - Convert to GObject, export over DBUS.
10654
10655         * src/nm-ip4-config.h:
10656         * src/nm-ip4-config.h:
10657                 - Convert to GObject, export over DBUS.
10658
10659 2007-02-12  Dan Williams  <dcbw@redhat.com>
10660
10661         Patch from Helmut Schaa <hschaa@suse.de>
10662
10663         * vpn-daemons/pptp/configure.in
10664           vpn-daemons/pptp/Makefile.am
10665           vpn-daemons/openvpn/configure.in
10666           vpn-daemons/openvpn/Makefile.am
10667           vpn-daemons/vpnc/configure.in
10668           vpn-daemons/vpnc/Makefile.am
10669                 - Add --without-gnome switch which disables building gnome bits
10670
10671 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10672
10673         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10674
10675         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10676
10677         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10678         'HwAddress'.
10679
10680         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10681
10682         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10683
10684         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10685
10686         * src/:
10687                 - Remove old low-level dbus interface implementations and replace them
10688                   with dbus-glib one.
10689
10690         * configure.in:
10691                 - Require dbus-glib >= 0.72.
10692                 - Plug in new sources to build.
10693
10694         * libnm-glib/:
10695                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10696                   to make it more convenient to use from GObject based programs.
10697
10698         * introspection/:
10699                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10700
10701 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10702
10703         * src/nm-device-802-11-wireless.c:
10704                 - Add "network-added" and "network-removed" signals.
10705                 - Use gobject boilerplate macros to define the GObject.
10706                 - Implement wireless device activation.
10707                 - Remove activation_failure_handler and activation_success_handler
10708                   and instead listen on state-changed signals and run the same code
10709                   from there.
10710
10711         * src/nm-device.c:
10712                 - Implment NMDeviceInterface::deactivate.
10713                 - Remove activation_failure_handler and activation_success_handler
10714                   virtual methods. Each device which is interested in these events
10715                   can just listen on it's state changed signals.
10716
10717         * src/NetworkManagerPolicy.c:
10718                 - Move a bit more NMData usage to NMManager.
10719                 - Remove activation scheduling bits.
10720                 - Add listeners for wireless device's "network-added" and
10721                   "network-removed" signals.
10722                 - Listen device changed signals and deactivate currently activated
10723                   device when another device start activating (for now).
10724                 - Remove (nm_policy_schedule_device_change_check): There's never a need
10725                   for calling this, the policy code knows exactly when this should happen,
10726                   by listening on events from NMManager and NMDevices.
10727
10728         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
10729         Implement.
10730
10731         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
10732         method on the specific device instead of going to through policy code
10733         and determining the device type by passed in AP's existance.
10734
10735         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
10736         abstract NMDevice deactivation.
10737
10738 2007-02-08  Tambet Ingo  <tambet@ximian.com>
10739
10740         * src/NetworkManager.c:
10741                 - Set up all the shiny new managers.
10742
10743         * src/NetworkManagerPolicy.c:
10744                 - Add the beginnings of new NMPolicy code. Instead of requireing all
10745                   classes to call into policy code, make the policy code kind of like
10746                   a supervisor that monitors what's going on and drives the whole NM.
10747
10748         * src/nm-hal-manager.c: 
10749         * src/nm-hal-manager.h:
10750                 - Collect all libhal code scattered around NM to this one class.
10751                 - Listen libhal and NMManager events and add/remove devices to
10752                   NMManager.
10753
10754         * src/nm-manager.c:
10755         * src/nm-manager.h:
10756                 - Implment a replacement for NMData. NMData is now officially
10757                 deprecated.
10758
10759 2007-02-05  Tambet Ingo  <tambet@ximian.com>
10760
10761         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
10762         * src/supplicant-manager/nm-supplicant-interface.h
10763         * src/supplicant-manager/nm-supplicant-interface.c
10764         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
10765         argument to boolean from enum.
10766
10767         Make NMDevice abstract class, remove almost all references to it's
10768         subclasses (the last place gets removed with new policy manager). Add
10769         NMDeviceInterface (which NMDevice implements) so that when we have
10770         NMDevice exported over DBUS, there's a common NMDevice interface which
10771         all instances have, plus there's a device specific interface for each
10772         specific type.
10773         Remove functions (nm_device_is_802_3_ethernet) and
10774         (nm_device_is_802_11_wireless). There are already standard GObject macros
10775         for type safe checks.
10776         Use the updated supplican manager API.
10777
10778         * src/nm-device-interface.h: 
10779         * src/nm-device-interface.c: 
10780         * src/nm-call-store.h: 
10781         * src/nm-call-store.c: Implement.
10782
10783         * src/supplicant-manager/nm-supplicant-interface.c:
10784         * src/supplicant-manager/nm-supplicant-interface.h:
10785         * src/supplicant-manager/nm-supplicant-manager.c:
10786         * src/supplicant-manager/nm-supplicant-manager.h:
10787                 - Remove all private data type references from public header files.
10788                 - Remove all references to other NM classes, this class is just a
10789                   proxy between wpa_supplicant and NM so it doesn't have to know
10790                   any internals.
10791                 - Convert to dbus-glib bindings.
10792                 - Type safe checks for public methods' arguments.
10793                 - Store pending DBUS call ids to NMCallStore.
10794
10795         * src/supplicant-manager/nm-supplicant-config.c:
10796                 - Store config values in a GHashTable instead of GSList.
10797
10798         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
10799
10800         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
10801         singleton now.
10802
10803         * src/nm-device.c: Use the new DHCP manager API.
10804
10805         * src/nm-activation-request.c:
10806         * src/nm-activation-request.h:
10807                 - Remove all dhcp related properties and methods.
10808
10809         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
10810
10811         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
10812
10813         * src/dhcp-manager/nm-dhcp-manager.c:
10814         * src/dhcp-manager/nm-dhcp-manager.h:
10815                 - Convert it to GObject since we need to signal state changes.
10816                 - Remove all references to other NM classes, this class is one
10817                   of the lowest classes in our hierarchy.
10818                 - One less class to use NMActRequest.
10819                 - Make it singleton, one less user of NMData.
10820                 - Remove a couple of sleep() calls.
10821                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
10822                   One less class to use the NM's custom tailored signal handlig.
10823
10824         * Makefile.am: Generate marshallers, add them to build.
10825
10826 2007-02-02  Dan Williams  <dcbw@redhat.com>
10827
10828         * configure.in
10829           gnome/Makefile.am
10830           nm-applet.desktop
10831           Makefile.am
10832                 - Remove last bits referencing gnome applet
10833
10834 2007-02-02  Dan Williams  <dcbw@redhat.com>
10835
10836         * src/vpn-manager/nm-vpn-service.c
10837                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
10838                         and NBNS server addresses
10839
10840 2007-02-02  Tambet Ingo  <tambet@ximian.com>
10841
10842         * src/nm-dbus-manager.c:
10843         * src/nm-dbus-manager.h:
10844                 - Convert all internal DBUS code to use dbus-glib bindings.
10845                 - Remove GObject properties, we don't need them here.
10846                 - Don't explicitly set things to NULL after freeing, glib is
10847                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
10848                 - Make public API argument checks type safe.
10849                 - Remove unnecessary (and wrong) cast to GObject for the first
10850                   argument to g_signal_* calls - The first argument is a gpointer.
10851                 - Export DBusGConnection to other cool classes that (are going to)
10852                   use dbus-glib.
10853
10854 2007-01-26  Dan Williams  <dcbw@redhat.com>
10855
10856         * libnm-util/dbus-dict-helpers.c
10857           libnm-util/dbus-dict-helpers.h
10858                 - Coordinate style with wpa_supplicant version to minimize diff
10859                 - Add uint32 array support
10860                 - (nmu_dbus_dict_append_uint32_array): new function
10861                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
10862                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
10863                         version; allow adding string array elements individually
10864
10865         * test/libnm-util/test-dbus-dict-helpers.c
10866                 - Test uint32 arrays
10867
10868 2007-01-27  Jürg Billeter  <j@bitron.ch>
10869
10870         * src/backends/NetworkManagerPaldo.c
10871                 - (nm_system_update_dns): clear nscd hosts cache
10872
10873 2007-01-04  Dan Williams  <dcbw@redhat.com>
10874
10875         Threading removal related cleanups:
10876
10877         - Use the glib default main context.  Remove the device main context
10878                 member from NMDevice, and the main_context member from NMData.  Change
10879                 all the idle and timeout scheduler functions to use plain
10880                 g_idle_add() and g_timeout_add().
10881
10882         - As a side-effect of the first change, nm_dbus_manager_get() no longer
10883                 takes an argument; fix that up too.
10884
10885         - Remove all locking, which is useless since we no longer use threads.  For
10886                 example, nm_get_device_by_iface_locked() has been removed.  The global
10887                 device list lock, the AP List lock, and all static locks in
10888                 NetworkManagerPolicy.c have been removed.  The locking utility functions
10889                 in NetworkManagerUtils.c have also been removed.
10890
10891         - Other cleanups in spacing and code style
10892
10893 2007-01-01  Dan Williams  <dcbw@redhat.com>
10894
10895         Found by Bill Moss:
10896
10897         * src/supplicant-manager/nm-supplicant-interface.c
10898                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
10899                         the supplicant interface wasn't already disconnected.  Always
10900                         call removeNetwork and disconnect unless the supplicant interface
10901                         is in the DISCONNECTED or INACTIVE state.
10902
10903 2006-12-28  Dan Williams  <dcbw@redhat.com>
10904
10905         Use a single thread for everything.  With the move to wpa_supplicant
10906         and communication over D-Bus, there's no reason for multiple threads.
10907         Almost all of the blocking code has been removed, with one exception in
10908         the DHCP manager and a few in the VPN manager.  This commit removes the
10909         per-device worker thread and fixes activation cancellation in the absence
10910         of threads.  Further removal of thread-related code would be removing
10911         any locking code (like the device list lock) and simplification of logic
10912         around areas of code or data structures that are currently locked.
10913
10914         * autoip.c
10915           dhcp-manager/nm-dhcp-manager.c 
10916           nm-device-802-11-wireless.c
10917           nm-device-802-3-ethernet.c
10918           nm-device.c
10919           nm-device.h
10920                 - Remove usage of multiple threads
10921
10922 2006-12-19  Dan Williams  <dcbw@redhat.com>
10923
10924         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
10925         plus a few other patches from wpa_supplicant bugzilla.
10926
10927         * src/Makefile.am
10928           src/NetworkManagerPolicy.c
10929           src/NetworkManagerUtils.c
10930           src/NetworkManagerUtils.h
10931           src/nm-ap-security-leap.c
10932           src/nm-ap-security-wep.c
10933           src/nm-ap-security-wpa-eap.c
10934           src/nm-ap-security-wpa-psk.c
10935           src/nm-ap-security.c
10936           src/nm-ap-security.h
10937           src/nm-device-802-11-wireless.c
10938           src/nm-device-802-11-wireless.h
10939           src/supplicant-manager/nm-supplicant-config.c
10940           src/supplicant-manager/nm-supplicant-config.h
10941           src/supplicant-manager/nm-supplicant-interface.c
10942           src/supplicant-manager/nm-supplicant-interface.h
10943           src/supplicant-manager/nm-supplicant-marshal.list
10944           src/supplicant-manager/nm-supplicant-settings-verify.c
10945           src/supplicant-manager/nm-supplicant-settings-verify.h
10946                 - Move all connection management and association handling to
10947                         wpa_supplicant over dbus, rather than spawning a private copy
10948
10949 2006-12-19  Dan Williams  <dcbw@redhat.com>
10950
10951         * src/NetworkManagerPolicy.c
10952                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
10953                         better locking of the device change check handler ID.  Incorrect
10954                         locking was causing lost device change requests
10955
10956 2006-12-18  Dan Williams  <dcbw@redhat.com>
10957
10958         * libnm-util/dbus-dict-helpers.c
10959                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
10960                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
10961                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
10962
10963 2006-12-18  Dan Williams  <dcbw@redhat.com>
10964
10965         * gnome/libnm_glib/libnm_glib.c
10966                 - Change dbus_connection_close() -> dbus_connection_unref()
10967
10968 2006-12-11  Dan Williams  <dcbw@redhat.com>
10969
10970         * src/supplicant-manager/nm-supplicant-interface.c
10971                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
10972                         wpa_supplicant interface state
10973                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
10974                         state before transitioning to READY state
10975
10976 2006-12-04  Dan Williams  <dcbw@redhat.com>
10977
10978         * src/nm-device-802-11-wireless.c
10979                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
10980                         odd length of ESSID returned from ieee80211 stack-based drivers
10981
10982 2006-12-04  Dan Williams  <dcbw@redhat.com>
10983
10984         * src/nm-device-802-11-wireless.c
10985                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
10986                         IE handling blocks that cause mis-parsing of the IE
10987
10988 2006-12-04  Dan Williams  <dcbw@redhat.com>
10989
10990         * src/nm-device-802-11-wireless.c
10991                 - (init_supplicant_interface): new function; pull supplicant interface
10992                         setup code out into standalone function since it must be called from
10993                         two different places
10994                 - (real_init): sup_mgr is now in private object data; get and track
10995                         the supplicant manager object over the NMDevice subclass' lifetime
10996                         and register a signal handler for its state signals; only try to
10997                         initialize the supplicant interface if the supplicant manager is in
10998                         the IDLE state (and therefore is ready for requests)
10999                 - (request_wireless_scan): reschedule the scan request if (a) there is
11000                         no supplicant interface yet (meaning wpa_supplicant isn't running
11001                         or isn't ready yet), or (b) if the supplicant interface isn't ready
11002                         for requests yet
11003                 - (supplicant_iface_connection_state_cb): new function; stub for
11004                         handling supplicant interface connection state signals
11005                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
11006                         comes and goes
11007                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
11008                         supplicant manager object that's being tracked starting with this
11009                         commit
11010
11011 2006-12-04  Dan Williams  <dcbw@redhat.com>
11012
11013         * src/supplicant-manager/nm-supplicant-interface.c
11014                 - (nm_supplicant_interface_set_property): track signal handler ID
11015                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
11016
11017 2006-12-04  Dan Williams  <dcbw@redhat.com>
11018
11019         * src/supplicant-manager/nm-supplicant-interface.[ch]
11020                 - (nm_supplicant_interface_get_state): new function
11021
11022 2006-12-04  Dan Williams  <dcbw@redhat.com>
11023
11024         * src/supplicant-manager/nm-supplicant-interface.c
11025                 - (bssid_properties_cb): don't treat DBus errors as valid
11026                         scanned AP messages
11027
11028 2006-12-04  Dan Williams  <dcbw@redhat.com>
11029
11030         * src/supplicant-manager/nm-supplicant-interface.[ch]
11031                 - (nm_supplicant_interface_get_connection_state): new function
11032                 - define new supplicant connection states
11033                 - send a signal when the supplicant connection state changes
11034
11035 2006-12-03  Dan Williams  <dcbw@redhat.com>
11036
11037         * src/supplicant-manager/Makefile.am
11038           src/supplicant-manager/nm-supplicant-connection.h
11039           src/supplicant-manager/nm-supplicant-connection.c
11040           src/supplicant-manager/nm-supplicant-config.h
11041           src/supplicant-manager/nm-supplicant-config.c
11042           src/supplicant-manager/nm-supplicant-types.h
11043           src/supplicant-manager/nm-supplicant-interface.h
11044           src/supplicant-manager/nm-supplicant-interface.c
11045                 - Rename NMSupplicantConnection -> NMSupplicantConfig
11046
11047 2006-12-03  Dan Williams  <dcbw@redhat.com>
11048
11049         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
11050
11051         * po/POTFILES.in
11052           po/POTFILES.skip
11053                 - Move VPN-related translatables to .skip
11054
11055         * vpn-daemons/pptp/po/POTFILES.in
11056                 - Update with new translatables
11057
11058 2006-12-02  Dan Williams  <dcbw@redhat.com>
11059
11060         Patch from Christian Persch <chpe@gnome.org>
11061
11062         * gnome/applet/Makefile.am
11063           gnome/applet/applet-dbus-devices.c
11064           gnome/applet/applet-notifications.c
11065           gnome/applet/applet.c
11066           gnome/applet/applet.h
11067           gnome/applet/main.c
11068                 - Be a GtkStatusIcon on GTK+ >= 2.10
11069
11070 2006-12-02  Dan Williams  <dcbw@redhat.com>
11071
11072         * gnome/applet/applet.c
11073                 - (nma_update_info): fix two unecessary allocations
11074
11075 2006-12-02  Dan Williams  <dcbw@redhat.com>
11076
11077         Patch from Michael Biebl <biebl@teco.edu>
11078         * configure.in
11079           man/NetworkManager.1.in
11080           man/NetworkManagerDispatcher.1.in
11081           man/NetworkManager.8.in
11082           man/NetworkManagerDispatcher.8.in
11083                 - Add .SH NAME stanzas
11084                 - Move NM & NM Dispatcher manpages to section 8 (admin)
11085
11086 2006-12-02  Dan Williams  <dcbw@redhat.com>
11087
11088         Patch from Christian Persch <chpe@gnome.org>
11089
11090         * configure.in
11091                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
11092
11093 2006-11-29  Tambet Ingo  <tambet@ximian.com>
11094
11095         Patch by Timo Hoenig <thoenig@suse.de>:
11096         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
11097         DBUS-1.0.
11098
11099         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
11100         we can't use the one from the main source directory.
11101
11102 2006-11-27  Dan Williams  <dcbw@redhat.com>
11103
11104         Patch from Christian Persch <chpe@gnome.org>
11105
11106         * gnome/applet/applet-dbus-devices.c
11107                 - (hal_info_product_cb): fix memleak; free duped string.
11108                         Gnome.org #379908
11109
11110 2006-11-27  Dan Williams  <dcbw@redhat.com>
11111
11112         Patch from Christian Persch <chpe@gnome.org>
11113
11114         * gnome/applet/menu-items.c
11115                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
11116                         as gtk_progress_set_percentage is deprecated.  Should
11117                         work as far back as GTK+ 2.4.  Gnome.org #379780
11118
11119 2006-11-26  Dan Williams  <dcbw@redhat.com>
11120
11121         Scan using wpa_supplicant over DBus.
11122
11123         * src/nm-device-802-11-wireless.c
11124                 - remove wireless extensions netlink event handler bits
11125                         (wireless_event_helper, nm_device_802_11_wireless_event)
11126                 - remove wireless extensions scan event handler bits
11127                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
11128                         hex2byte, hex2num, request_and_convert_scan_results,
11129                         free_process_scan_cb_data, scan_results_timeout,
11130                         schedule_scan_results_timeout, cancel_scan_results_timeout)
11131                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
11132                         and request scans from the supplicant interface rather than directly
11133                 - Move functionality of convert_scan_results() to cull_scan_list() and
11134                         supplicant_iface_scanned_ap_cb()
11135                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
11136                         at the scan interval when the current scan has finished
11137                 - (supplicant_iface_state_cb): start scanning when the supplicant
11138                         interface enters the READY state, and stop scanning when it
11139                         enters the DOWN state
11140                 - (cull_scan_list): weed out old access points from the scan list
11141                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
11142                         point into an NMAccessPoint and merge it into the device's scan list
11143
11144         * src/supplicant-manager/nm-supplicant-interface.c
11145           src/supplicant-manager/nm-supplicant-interface.h
11146                 - Add a new signal "scan-result" which is issued when the supplicant
11147                         notifies NM that a scan has completed
11148                 - Add a new signal "scanned-ap" that notifies listeners of a new access
11149                         point found in the scan.  Called once for each access point that
11150                         the supplicant interface object receives from the supplicant as a
11151                         result of the "scanResults" method call
11152                 - (wpas_iface_query_scan_results): don't wait 4s before querying
11153                         for the initial scan results
11154                 - (scan_request_cb): new function; send listeners the result
11155                         (success, error) of a wireless scan request
11156                 - (nm_supplicant_interface_request_scan): new function; ask the
11157                         supplicant to perform an immediate wireless scan
11158
11159 2006-11-25  Dan Williams  <dcbw@redhat.com>
11160
11161         * src/supplicant-manager/Makefile.am
11162                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
11163                         add HAL cflags/includes and named-manager includes directory
11164
11165         * src/supplicant-manager/nm-supplicant-interface.h
11166                 - New state STARTING to handle transition from INIT to READY where
11167                         the addInterface pending call is still outstanding
11168
11169         * src/supplicant-manager/nm-supplicant-interface.c
11170                 - track pending calls differently since we may have more than one
11171                         going on at any given time
11172                 - request scan results from wpa_supplicant; but don't do it more often
11173                         than every 4 seconds.  Drivers that do background scanning
11174                         (like the 'ipw' drivers) send a continuous stream of scan completion
11175                         notifications, so we don't want to hammer the supplicant or dbus
11176                         with requests for all scan results every time we get a completion
11177                         notification.
11178
11179 2006-11-25  Dan Williams  <dcbw@redhat.com>
11180
11181         * src/supplicant-manager/nm-supplicant-types.h
11182                 - new file; move all supplicant manager object typedefs here for
11183                         #include sanity
11184
11185         * src/supplicant-manager/nm-supplicant-interface.c
11186           src/supplicant-manager/nm-supplicant-interface.h
11187                 - new file; an object that interfaces an NMDevice object to the
11188                         supplicant and handles signals from the supplicant.  This object
11189                         does all necessary DBus communication with wpa_supplicant.
11190
11191         * src/supplicant-manager/nm-supplicant-manager.c
11192           src/supplicant-manager/nm-supplicant-manager.h
11193                 - Actually do something.  Track the state of the wpa_supplicant service
11194                         and deal with its comings & goings.  Handle life events of
11195                         supplicant interfaces too.
11196                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
11197
11198         * src/supplicant-manager/nm-supplicant-connection.h
11199                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
11200
11201         * src/supplicant-manager/Makefile.am
11202                 - Add new files to build, and add libnm-util to includes
11203
11204         * src/nm-marshal.list
11205                 - New marshaler type: VOID:UINT,UINT
11206
11207         * src/nm-device-802-3-ethernet.c
11208                 - (real_init): grab a supplicant interface
11209                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
11210                 - (supplicant_iface_state_cb): new function, stub for handling
11211                         supplicant interface state changes
11212
11213         * src/nm-device-802-11-wireless.c
11214                 - (real_init): grab a supplicant interface
11215                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
11216                 - (supplicant_iface_state_cb): new function, stub for handling
11217                         supplicant interface state changes
11218
11219         * src/NetworkManager.c
11220                 - (main): create and keep the supplicant manager around for the lifetime
11221                         of NetworkManager
11222
11223         * src/Makefile.am
11224                 - Link to the supplicant manager sub-library and use the supplicant
11225                         manager includes
11226
11227 2006-11-25  Dan Williams  <dcbw@redhat.com>
11228
11229         Rework DBus manager signal handling to be more flexible.  Previously,
11230         only one signal handler could be registered for a particular interface.
11231         The DBus manager now reference counts DBus bus matches and allows multiple
11232         clients to register signal handlers for the same interface and sender.
11233
11234         * src/NetworkManager.c
11235                 - (main): track NMI signal handler ID and remove it when we quit
11236
11237         * src/NetworkManagerMain.h
11238                 - Keep track of NMI signal handler ID
11239
11240         * src/nm-dbus-manager.c
11241           src/nm-dbus-manager.h
11242                 - rework signal handling; each signal handler references one signal
11243                         match, but a signal match may be referenced by one or more
11244                         signal handlers.  Matches are refcounted and are destroyed when the
11245                         last signal handler that references the match is removed.  This is
11246                         necessary because two signal handlers may end up requiring the same
11247                         dbus bus match, so the match must live until the last signal handler
11248                         is destroyed (for example, with the wpa_supplicant network interface
11249                         dbus interface).
11250
11251         * src/dhcp-manager/nm-dhcp-manager.c
11252                 - (nm_dhcp_manager_new): track DHCP signal handler id
11253                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
11254
11255         * src/vpn-manager/nm-vpn-service.c
11256                 - (nm_vpn_service_add_watch): track VPN service signal handler id
11257                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
11258
11259 2006-11-25  Dan Williams  <dcbw@redhat.com>
11260
11261         Suggested by Helmut Schaa <hschaa@suse.de>
11262
11263         * src/vpn-daemons/nm-vpn-service.c
11264                 - (supplicant_child_setup): new function
11265                 - (supplicant_exec): make child process use a new process group id
11266
11267         * src/nm-device-802-11-wireless.c
11268                 - (nm_vpn_service_child_setup): new function
11269                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
11270                         process group id
11271
11272 2006-11-19  Dan Williams  <dcbw@redhat.com>
11273
11274         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
11275         * gnome/vpn-properties/nm-vpn-properties.c
11276                 - clean up after renamed VPN connection
11277
11278 2006-11-19  Dan Williams  <dcbw@redhat.com>
11279
11280         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
11281         * gnome/applet/applet-dbus-vpn.c
11282                 - (nma_dbus_vpn_properties_cb): sort VPN connections
11283
11284         * gnome/vpn-properties/nm-vpn-properties.c
11285                 - (init_app): sort VPN connections
11286
11287 2006-11-09  Dan Williams  <dcbw@redhat.com>
11288
11289         * src/NetworkManagerAPList.c
11290                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
11291                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
11292                 from the nm_ap_list_get_ap_by_address() call was incorrect and
11293                 broke hidden SSID matching.  Found by Bill Moss.
11294
11295 2006-10-25  Dan Williams  <dcbw@redhat.com>
11296
11297         * src/nm-dbus-nm.c
11298                 - (nm_dbus_nm_set_active_device): return an empty success message on
11299                         success, rather than falling through to the error case.
11300
11301 2006-10-25  Dan Williams  <dcbw@redhat.com>
11302
11303         * src/NetworkManagerUtils.c
11304                 - (nm_utils_supplicant_request_with_check): suppress messages for the
11305                         "SCAN" command
11306
11307 2006-10-24  Dan Williams  <dcbw@redhat.com>
11308
11309         Reduce the number of times the Gnome applet wakes up, especially when
11310         it's doing absolutely nothing and is hidden.  Initial patch by
11311         Chris Aillon.
11312
11313         * gnome/applet/applet-dbus.c
11314                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
11315                         kill the redraw timeout.  When NM starts up, start the redraw
11316                         timeout.  Also, if we get kicked off the bus for some reason,
11317                         start the reconnection timeout if one's not already running.
11318                 - (nma_dbus_init): better handling of error conditions, don't leak
11319                         a half-initialized dbus connection
11320                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
11321                         the applet's data, just call nm_dbus_init_helper()
11322                 - (nma_start_dbus_connection_watch): new function, starts a periodic
11323                         timeout that calls nma_dbus_connection_watcher()
11324                 - (nma_dbus_init_helper): if we get a successful connection, kill the
11325                         reconnection timeout, and don't start the reconnection timeout
11326                         unconditionally anymore
11327
11328         * gnome/applet/applet-dbus.h
11329                 - Expose nma_start_dbus_connection_watch()
11330
11331         * gnome/applet/applet.c
11332                 - (nma_update_state): no longer static, called from applet-dbus.c for
11333                         immediate UI updates on certain events
11334                 - (nma_set_running): new function; take over setting applet->running,
11335                         when not running (ie, NM is not active), don't activate the redraw
11336                         timeout because we're not showing the applet anyway.  When we are
11337                         running (ie, NM is active), and only when we're running, start the
11338                         redraw timeout.
11339                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
11340                         kill any reconnection timeout
11341                 - (nma_get_instance): move one-off dbus initialization code here since
11342                         nm_dbus_init_helper() gets called more than once, possibly by the
11343                         reconnection timeout function too.  And, when we start up, if we
11344                         can't get a connection to the bus, start the reconnection timeout.
11345                         But don't start the redraw timeout yet, only do that when we get
11346                         NM's state and find out if it's running or not.
11347
11348         * gnome/applet/applet.h
11349                 - Add the reconnection GSource ID
11350                 - Add prototypes for nma_set_running() and the no-longer-static
11351                         nma_update_state()
11352
11353 2006-10-24  Dan Williams  <dcbw@redhat.com>
11354
11355         * src/vpn-daemons/nm-dbus-vpnc.c
11356                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
11357                         pending call tracker
11358                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
11359                         pending call tracker; register one-vpn-connection update pending
11360                         call in pending call tracker
11361                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
11362                         update pending call in pending call tracker
11363                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
11364                         update pending call in pending call tracker; don't block waiting
11365                         for call to return
11366
11367 2006-10-19  Robert Love  <rml@novell.com>
11368
11369         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
11370           refresh the cache.
11371
11372 2006-10-14  Dan Williams  <dcbw@redhat.com>
11373
11374         * src/dhcp-manager/nm-dhcp-manager.c
11375                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
11376                 the dbus connection and the device object path rather than
11377                 constructing it inside both functions.  Saves a bit of memory
11378                 and clarifies a failure path.
11379                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
11380                 and allocate device path here rather than each of the two
11381                 functions above.
11382
11383 2006-10-13  Dan Williams  <dcbw@redhat.com>
11384
11385         * src/NetworkManager.c
11386                 - (nm_name_owner_changed_handler): handle NMI coming and going,
11387                 this somehow droppout in the refactor
11388
11389 2006-10-13  Dan Williams  <dcbw@redhat.com>
11390
11391         * Huge DBus refactor:
11392                 - Create a "DBus Manager" object which manages the connection and
11393                 sends signals on NameOwnerChanged and connection/disconnection events,
11394                 handles reconnection to the bus if NM gets kicked off, and abstracts
11395                 signal handling
11396                 - Remove DBusConnection members from places where they are no
11397                 longer needed due to the refactor, like the dbus-connection
11398                 property of the named manager, and from NMData
11399                 - Reformats a bunch of the code to gnome style
11400                 (8-space tabs, braces on same line as statement, 80-col width).
11401                 Consider it open season to reformat any bits to gnome style.
11402                 style that aren't already.
11403
11404 2006-10-13  Dan Williams  <dcbw@redhat.com>
11405
11406         * src/supplicant-manager/Makefile.am
11407                 - Add new files
11408
11409         * src/supplicant-manager/nm-supplicant-manager.[ch]:
11410                 - Make it a minimal GObject
11411
11412         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
11413                 - Verify settings destined for wpa_supplicant
11414
11415         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
11416                 - Minimal GObject to track wpa_supplicant controlled device
11417                 connections
11418
11419 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
11420
11421         * gnome/applet/applet.c: (nma_update_info),
11422         (nma_act_stage_to_pixbuf), (nma_update_state):
11423         Mark missing strings for translation. Fixes bug #343306.
11424
11425 2006-10-01  Dan Williams  <dcbw@redhat.com>
11426
11427         * src/vpn-manager/nm-vpn-manager.c
11428                 - (nm_vpn_manager_load_services): split and clean up
11429                 for readability and correctness.  Restrict VPN service
11430                 files to ending in ".name", as was meant from the
11431                 beginning (but not coded in).  Better error reporting.
11432
11433 2006-10-01  Dan Williams  <dcbw@redhat.com>
11434
11435         * utils/nm-utils.h
11436                 - Clean up formatting of debug/info/warning log messages
11437
11438 2006-09-27  Robert Love  <rml@novell.com>
11439
11440         Patch by Tambet Ingo <tambet@ximian.com>:
11441         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
11442           actually work.
11443
11444 2006-09-07  Dan Williams <dcbw@redhat.com>
11445
11446         * test/Makefile.am
11447           test/libnm-util/Makefile.am
11448           test/nm-supplicant-test.c
11449                 - Add test program emulating the way NM drives wpa_supplicant
11450                 to help debug supplicant issues
11451
11452 2006-08-24  Dan Williams <dcbw@redhat.com>
11453
11454         * configure.in
11455           src/Makefile.am
11456           src/supplicant-manager/Makefile.am
11457           src/supplicant-manager/nm-supplicant-manager.c
11458           src/supplicant-manager/nm-supplicant-manager.h
11459                 - Add skeleton bits of the wpa_supplicant manager
11460
11461 2006-08-24  Dan Williams <dcbw@redhat.com>
11462
11463         Patch from Ed Catmur:
11464         * src/NetworkManagerUtils.c
11465                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
11466                 if netmask is 0 (Gnome #352634)
11467
11468 2006-08-17  Robert Love  <rml@novell.com>
11469
11470         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
11471           package is now DBUS-enabled and listens for the NM signals.
11472
11473 2006-08-14  Dan Williams  <dcbw@redhat.com>
11474
11475         * Patch from Christian Persch <chpe gnome org>
11476         * configure.in
11477           po/LINGUAS
11478           vpn-daemons/openvpn/po/LINGUAS
11479           vpn-daemons/openvpn/configure.in
11480           vpn-daemons/pptp/po/LINGUAS
11481           vpn-daemons/pptp/configure.in
11482           vpn-daemons/vpnc/po/LINGUAS
11483           vpn-daemons/vpnc/configure.in
11484                 - Convert to LINGUAS method so translators don't have to modify
11485                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
11486                 0.35 or higher
11487
11488 2006-08-14  Dan Williams  <dcbw@redhat.com>
11489
11490         Patch from Alex Smith <alex.extreme2@gmail.com>
11491         * configure.in
11492           src/backends/Makefile.am
11493           src/backends/NetworkManagerFrugalware.c
11494                 - Add support for Frugalware
11495
11496 2006-08-13  Dan Williams  <dcbw@redhat.com>
11497
11498         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11499         * src/nm-device-802-11-wireless.c
11500                 - (supplicant_exec): spawn wpa_supplicant without debug spew
11501                 Gnome #346875
11502
11503 2006-08-13  Dan Williams  <dcbw@redhat.com>
11504
11505         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11506         * src/nm-ap-security.c
11507           src/nm-ap-security.h
11508                 - Add authentication_required bits for subclasses to specify whether
11509                 or not real authentication is required for connections, i.e. whether
11510                 the AP rejects us when an encryption key is wrong or not.
11511
11512         * src/nm-ap-security-wep.c
11513           src/nm-ap-security-wpa-eap.c
11514           src/nm-ap-security-wpa-psk.c
11515           src/nm-ap-security-leap.c
11516                 - Implement authentication_required appropriately for each method
11517
11518         * src/nm-device-802-11-wireless.c
11519                 - Be smarter about when to request a key; for example, using a wrong key
11520                 in WEP shared key mode previously just timed out and did not request
11521                 a new key
11522
11523 2006-08-13  Dan Williams  <dcbw@redhat.com>
11524
11525         * gnome/libnm_glib/libnm_glib.c
11526                 - dbus_connection_disconnect() -> dbus_connection_close() for
11527                 dbus >= 0.90
11528
11529 2006-08-07  Dan Williams  <dcbw@redhat.com>
11530
11531         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11532         * src/NetworkManagerSystem.c
11533                 - Respect specified MTU.  Gnome #344967
11534
11535 2006-08-07  Dan Williams  <dcbw@redhat.com>
11536
11537         * src/vpn-manager/nm-vpn-service.c
11538                 - Simplify print_vpn_config() arguments
11539
11540         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11541         * src/vpn-manager/Makefile.am
11542           src/vpn-manager/nm-vpn-service.c
11543                 - Add new API for passing VPN config options as a dict. Gnome #344967
11544
11545 2006-08-06  Dan Williams  <dcbw@redhat.com>
11546
11547         * gnome/applet/applet-dbus-devices.c
11548           gnome/applet/applet-dbus-vpn.c
11549           gnome/applet/applet-dbus.c
11550           gnome/applet/applet-dbus.h
11551           src/nm-dbus-nmi.c
11552           utils/nm-utils.c
11553           utils/nm-utils.h
11554                 - Make pending call tracking code generic,
11555                 so we can use it in NM as well as the applet
11556
11557 2006-08-06  Dan Williams  <dcbw@redhat.com>
11558
11559         * src/nm-activation-request.c
11560                 - Refcount pending call objects
11561
11562 2006-08-06  Dan Williams  <dcbw@redhat.com>
11563
11564         Patch from Christan Chiesa <christanc@gmail.com>
11565         * configure.in
11566                 - Tell sha1.c to use bigendian mode on PPC
11567
11568 2006-08-04  Robert Love  <rml@novell.com>
11569
11570         Glib Memory Slices!
11571         * configure.in: Require glib 2.10 or later.
11572         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11573           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11574           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11575           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11576           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11577           Memory Slices are the greatest thing since bread slices.
11578         * src/NetworkManagerAP.c: Also, fix memory leak.
11579
11580 2006-08-01  Robert Love  <rml@novell.com>
11581
11582         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11583
11584 2006-07-31  Robert Love  <rml@novell.com>
11585
11586         * src/backends/interface_parser.c: Declarations must begin the block.
11587
11588 2006-07-24  Dan Williams  <dcbw@redhat.com>
11589
11590         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11591         * src/backends/Makefile.am
11592           src/backends/NetworkManagerArch.c
11593           src/backends/NetworkManagerDebian.c
11594           src/backends/NetworkManagerGeneric.c
11595           src/backends/NetworkManagerGeneric.h
11596           src/backends/NetworkManagerGentoo.c
11597           src/backends/NetworkManagerPaldo.c
11598           src/backends/NetworkManagerRedHat.c
11599           src/backends/NetworkManagerSlackware.c
11600           src/backends/NetworkManagerSuSE.c
11601                 - Genericize common backend functions
11602
11603 2006-07-18  Robert Love  <rml@novell.com>
11604
11605         * configure.in: Add "--with-notify" option to allow disabling of
11606           libnotify support.
11607
11608 2006-07-13  Dan Williams  <dcbw@redhat.com>
11609
11610         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11611         * gnome/applet/applet.glade
11612           gnome/applet/Makefile.am
11613           gnome/applet/nm-gconf-wso.c
11614           gnome/applet/nm-gconf-wso-leap.c
11615           gnome/applet/nm-gconf-wso-leap.h
11616           gnome/applet/wireless-security-manager.c
11617           gnome/applet/wso-leap.c
11618           gnome/applet/wso-leap.h
11619           include/NetworkManager.h
11620           libnm-util/dbus-helpers.c
11621           libnm-util/dbus-helpers.h
11622           src/Makefile.am
11623           src/NetworkManagerAP.c
11624           src/nm-ap-security.c
11625           src/nm-ap-security-leap.c
11626           src/nm-ap-security-leap.h
11627                 - Add LEAP authentication support
11628
11629 2006-07-13  Dan Williams  <dcbw@redhat.com>
11630
11631         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11632         * configure.in
11633           src/backends/NetworkManagerArch.c
11634           src/backends/NetworkManagerDebian.c
11635           src/backends/NetworkManagerGentoo.c
11636           src/backends/NetworkManagerPaldo.c
11637           src/backends/NetworkManagerRedHat.c
11638           src/backends/NetworkManagerSlackware.c
11639           src/backends/NetworkManagerSuSE.c
11640                 - Convert hardcoding of 'ip' path to configure-time
11641                         detected one
11642
11643 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11644
11645         * configure.in: added ru to ALL_LINGUAS
11646
11647 2006-07-10  Dan Williams  <dcbw@redhat.com>
11648
11649         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11650         * src/nm-device.c
11651                 - (real_act_stage3_ip_config_start): don't infinite loop when
11652                         dhcdbd isn't running (Gnome #346845)
11653
11654 2006-07-09  Dan Williams  <dcbw@redhat.com>
11655
11656         * gnome/applet/applet.c
11657                 - (nma_destroy): don't pass NULL to notify_notification_close
11658                         (RH #197917)
11659
11660 2006-07-09  Dan Williams  <dcbw@redhat.com>
11661
11662         * gnome/applet/applet.c
11663                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11664
11665 2006-07-04  Tor Krill  <tor@krill.nu>
11666
11667         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11668         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11669         (nm_system_restart_mdns_responder), (ArchReadConfig),
11670         (nm_system_device_get_system_config):
11671                 - Explicitly check for DHCP configuration
11672                 - Check if daemons are running before starting them
11673
11674 2006-06-25  Dan Williams  <dcbw@redhat.com>
11675
11676         * libnm-util/dbus-dict-helpers.[ch]
11677           test/libnm-util/test-dbus-dict-helpers.c
11678                 - Add string array support
11679
11680 2006-06-24  Dan Williams  <dcbw@redhat.com>
11681
11682         * src/dhcp-manager/nm-dhcp-manager.c
11683                 - (nm_dhcp_manager_process_signal): clean up spacing
11684
11685 2006-06-21  Dan Williams  <dcbw@redhat.com>
11686
11687         * src/nm-dbus-device.c
11688                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11689                         through dbus
11690
11691 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11692
11693         * configure.in: Added 'lv' to ALL_LINGUAS
11694
11695 2006-06-19  Dan Williams  <dcbw@redhat.com>
11696
11697         * src/NetworkManagerAP.c
11698                 - Clarify usage of user_created
11699
11700         * src/nm-ap-security-wep.c
11701           src/nm-ap-security-wpa-eap.c
11702           src/nm-ap-security-wpa-psk.c
11703           src/nm-ap-security.c
11704           src/nm-ap-security.h
11705                 - s/user_created/adhoc, because we really do mean adhoc
11706
11707         Patch from Bernard Blackham <bernard@blackham.com.au>
11708         * src/nm-device-802-11-wireless.c         
11709                 - (supplicant_send_network_config): instead of user_created,
11710                         use adhoc, and do AP_SCAN 2 for adhoc networks
11711
11712 2006-06-18  Robert Love  <rml@novell.com>
11713
11714         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11715           we have a value to set.  Gconf generates a warning if `val' is NULL.
11716         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11717           unless we actually received a valid private key file passphrase or
11718           password.  Otherwise, we don't know to later ask the applet to pull
11719           the key from the keyring.
11720
11721 2006-06-17  Dan Williams  <dcbw@redhat.com>
11722
11723         * libnm-util/dbus-dict-helpers.[ch]
11724           test/libnm-util/test-dbus-dict-helpers.c
11725                 - Fixes for zero-length byte arrays
11726                 - Replace return values of 0 with FALSE for clarity
11727                 - Test zero-length byte arrays
11728
11729 2006-06-17  Dan Williams  <dcbw@redhat.com>
11730
11731         * libnm-util/dbus-dict-helpers.[ch]
11732           test/libnm-util/test-dbus-dict-helpers.c
11733                 - Add helpers for byte arrays
11734                 - Rework bits of the testcase
11735
11736 2006-06-16  Dan Williams  <dcbw@redhat.com>
11737
11738         * libnm-util/Makefile.am
11739         * libnm-util/dbus-dict-helpers.[ch]
11740                 - Add some helpers to take the pain out of using dict types in
11741                         dbus.
11742
11743         * test/libnm-util/Makefile.am
11744         * test/libnm-util/test-dbus-dict-helpers.c
11745                 - Test cases for the dict helper functions
11746
11747 2006-06-15  Robert Love  <rml@novell.com>
11748
11749         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
11750           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
11751           if there is no key to pass.
11752         * libnm-util/dbus-helpers.c: Given the above, we can trust always
11753           receiving a non-NULL key.
11754
11755 2006-06-14  Robert Love  <rml@novell.com>
11756
11757         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
11758           copy the strings.
11759
11760
11761 2006-06-14  Dan Williams  <dcbw@redhat.com>
11762
11763         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
11764         * src/nm-device-802-11-wireless.c
11765                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
11766                         or ones where the driver is unknown
11767                 - (supplicant_exec): don't wait for supplicant startup here
11768                 - (supplicant_interface_init): finer grained polling for supplicant
11769                         startup
11770
11771 2006-06-13  Robert Love  <rml@novell.com>
11772
11773         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
11774           if it is currently set to TRUE.  Otherwise, we will reset the value
11775           when we connect normally.
11776         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
11777           the old BSSID is valid, too.  The recently added ESSID check may not be
11778           sufficient (we can remove it?).  What we really want to catch is the
11779           case of going from all-zeros to the BSSID of some other network, which
11780           happens on failure.
11781
11782 2006-06-09  Dan Williams  <dcbw@redhat.com>
11783
11784         * src/NetworkManagerSystem.[ch]
11785                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
11786                         it was unused and pointless
11787                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
11788                         fix for set_up_down_with_iface change
11789
11790         * src/vpn-manager/nm-vpn-connection.c
11791                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
11792
11793         * src/backends/NetworkManagerPaldo.c
11794           src/backends/NetworkManagerRedHat.c
11795           src/backends/NetworkManagerSuSE.c
11796           src/backends/NetworkManagerArch.c
11797           src/backends/NetworkManagerDebian.c
11798           src/backends/NetworkManagerGentoo.c
11799                 - (nm_system_enable_loopback): use set_up_down_with_iface where
11800                         appropriate
11801                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
11802                         where appropriate
11803
11804 2006-06-09  Dan Williams  <dcbw@redhat.com>
11805
11806         Patch from Peter Jones:
11807         * src/nm-device-802-11-wireless.c
11808                 - (nm_device_802_11_wireless_update_bssid): make sure that the
11809                         SSID hasn't changed from what we expect before automatically
11810                         updating the saved BSSID from a new AP
11811
11812 2006-06-08  Robert Love  <rml@novell.com>
11813
11814         Add 'fallback' support.  NetworkManager will attempt to brute-force
11815         connect to networks marked as fallback if there are no better wireless
11816         connections available.  This is useful as a method of last resort, to
11817         work around driver problems, and for use with hidden networks.
11818         * gnome/applet/applet-dbus-devices.c,
11819           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
11820         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
11821           pass it on via DBUS.
11822         * gnome/applet/applet.c: No fallback by default.
11823         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
11824           Update other-network-dialog to add UI checkbox toggling fallback.
11825         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
11826           propery from AP object.  Add "fallback" property to AP object.
11827         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
11828         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
11829         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
11830           separate function.  Add get_best_fallback_ap() for returning an AP
11831           on which to attempt fallback.
11832         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
11833         * test/nm-set-fallback: New file.  Sets a given network as fallback.
11834
11835 2006-06-07  Robert Love  <rml@novell.com>
11836
11837         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
11838           checked that the return type was GCONF_VALUE_STRING, not the correct
11839           GCONF_VALUE_BOOL, and thus it never worked.
11840         * src/NetworkManagerAPList.c: Before concluding that two networks are
11841           identical based on their BSSID, make sure that the BSSID in question
11842           is actually valid.  Specifically, an empty or all zero BSSID does not
11843           cut it.
11844         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
11845           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
11846           similar invariant clean up.
11847
11848 2006-06-02  Robert Love  <rml@novell.com>
11849
11850         * gnome/applet/applet.c: Update copyright years.  Add Novell.
11851
11852 2006-05-28  Dan Williams  <dcbw@redhat.com>
11853
11854         * gnome/applet/applet.glade
11855           gnome/vpn-properties/nm-vpn-properties.glade
11856                 - Set window icons on dialogs  (Gnome.org #333420)
11857
11858 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
11859
11860         * gnome/vpn-properties/nm-vpn-properties.glade:
11861         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
11862         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
11863         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
11864                 - Make the VPN properties pages prettier and more HIG
11865                   compliant. Gnome Bug #336913.
11866
11867 2006-05-28  Dan Williams  <dcbw@redhat.com>
11868
11869         Patch from Christian Persch <chpe@gnome.org>
11870         * gnome/vpn-properties/nm-vpn-properties.c
11871         * gnome/vpn-properties/nm-vpn-properties.glade
11872                 - HIG-ification love  (Gnome.org #336846)
11873
11874 2006-05-28  Dan Williams  <dcbw@redhat.com>
11875
11876         Patch from Christian Persch <chpe@gnome.org>
11877         * configure.in
11878           gnome/vpn-properties/nm-vpn-properties.c
11879                 - (main): Fix option parsing.  Gnome.org #336847
11880
11881 2006-05-28  Dan Williams  <dcbw@redhat.com>
11882
11883         * gnome/vpn-properties/nm-vpn-properties.c
11884                 - (find_vpn_ui_by_service_name): protect against NULL service names
11885                 - (update_edit_del_sensitivity): protect against NULL service names
11886                         Gnome.org #341306
11887
11888 2006-05-28  Dan Williams  <dcbw@redhat.com>
11889
11890         Patch from Chris Fuller <crf@grandecom.net>:
11891         * src/nm-device-802-11-wireless.c
11892                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
11893                         don't dispose of wireless-specific stuff unless it is actually
11894                         initialized.  Gnome.org #341263
11895
11896 2006-05-28  Dan Williams  <dcbw@redhat.com>
11897
11898         * src/NetworkManagerPolicy.c
11899                 - (nm_policy_device_change_check): don't switch devices if the "best"
11900                         AP is essentially the same as the current activation request, but
11901                         the current activation request isn't done activating yet.  Fixes
11902                         multiple requests for keyring password on startup for Gnome applet.
11903                         Gnome.org #341297
11904
11905 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
11906
11907         * src/NetworkManager.c: use GOptions instead of getopt
11908         * configure.in: bump glib required version to >= 2.6 for GOption
11909           support
11910
11911 2006-05-25  Robert Love  <rml@novell.com>
11912
11913         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
11914           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
11915           instead of dumping ifdef's throughout the code.
11916         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
11917           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
11918           use nm_ioctl_info() in lieu.
11919
11920 2006-05-25  Robert Love  <rml@novell.com>
11921
11922         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
11923         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
11924           not using gcrypt.  Otherwise, we get a linker error.
11925
11926 2006-05-25  Robert Love  <rml@novell.com>
11927
11928         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
11929         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
11930           configure flag to disable building of the GNOME-based applet.
11931
11932 2006-05-25  Robert Love  <rml@novell.com>
11933
11934         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
11935           parameter from link, because it shadows a global variable with some
11936           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
11937           should never have exported to the entire system a common four letter
11938           word.  But we here at NetworkManager are team players.  Fixes
11939           GNOME bug #336532.
11940
11941 2006-05-25  Arangel Angov <ufo@linux.net.mk>
11942
11943         * configure.in: Added mk.po, Macedonian translation.
11944
11945 2006-05-24  Robert Love  <rml@novell.com>
11946
11947         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
11948           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
11949           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
11950
11951 2006-05-24  Robert Love  <rml@novell.com>
11952
11953         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
11954           libnm-util/Makefile.am, src/Makefile.am,
11955           vpn-daemons/openvpn/auth-dialog/Makefile.am,
11956           vpn-daemons/openvpn/properties/Makefile.am,
11957           vpn-daemons/pptp/auth-dialog/Makefile.am,
11958           vpn-daemons/pptp/properties/Makefile.am,
11959           vpn-daemons/vpnc/auth-dialog/Makefile.am,
11960           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
11961           user passed for --datadir, if anything, when setting the GNOME locale
11962           directory.  It should be a function of the specified datadir and not
11963           the prefix.
11964
11965 2006-05-24  Robert Love  <rml@novell.com>
11966
11967         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
11968           src/NetworkManager.c: Take care to call bindtextdomain with the
11969           location of msgid files.
11970         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
11971           files.
11972
11973 2006-05-22  Robert Love  <rml@novell.com>
11974
11975         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
11976           stage4_timeout on failure unless the wireless network is Ad-Hoc.
11977           99% of the time there is a real problem with wireless, and a
11978           seemingly successful connection via Zeroconf just confuses the user.
11979           And that 1% of the time the network is probably Ad-Hoc, anyhow.
11980
11981 2006-05-22  Robert Love  <rml@novell.com>
11982
11983         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
11984           autofs on interface up if NIS is configured.  On interface down, do
11985           nothing.
11986
11987 2006-05-22  Robert Love  <rml@novell.com>
11988
11989         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
11990           to avoid calling g_object_unref() on stale pointers on error in
11991           nma_icons_free().  This happens because we short-circuit loaded the
11992           icons on the first failure but then free all icons.  Normally we have
11993           no issue because the icons were zero'ed out malloc, but we have stale
11994           pointer data after nma_icon_theme_changed().
11995         * gnome/applet/main.c: Return error code if nma_new() failed.
11996
11997 2060-05-21  Dan Williams  <dcbw@redhat.com>
11998
11999         * initscript/NetworkManager.in
12000                 - Ensure both dhcdbd and named are started before NM
12001
12002 2006-05-21  Dan Williams  <dcbw@redhat.com>
12003
12004         * configure.in
12005                 - Bump version to 0.7 to signify we are in 0.7 development
12006
12007 2006-05-21  Dan Williams  <dcbw@redhat.com>
12008
12009         Patch from Adam Schreiber <sadam@clemson.edu>
12010         * gnome/vpn-properties/nm-vpn-properties.c
12011                 - (main): correct Gnome program name  (gnome.org #342498)
12012
12013 2006-05-21  Dan Williams  <dcbw@redhat.com>
12014
12015         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
12016
12017         * src/NetworkManagerDbus.[ch]
12018                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
12019                         clarify that function's argument should be an escaped dbus object
12020                         path, and look for path segment end before returning a match
12021         * src/nm-dbus-nm.c:
12022                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
12023
12024 2006-05-17  Robert Love  <rml@novell.com>
12025
12026         Functionality to differentiate Ad-Hoc networks from infrastructure
12027         networks in the applet, by displaying a special icon:
12028         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
12029         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
12030         * gnome/applet/menu-items.c: Set a special icon in the scan list for
12031           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
12032           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
12033           networks, encrypted or not.
12034         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
12035           accessor functions to get and set the mode of a given network,
12036           wireless_network_get_mode() and wireless_network_set_mode().
12037
12038 2006-05-17  Robert Love  <rml@novell.com>
12039
12040         Functionality to automatically add BSSIDs to the allowed-MAC list as
12041         one roams from access point to access point on a given network:
12042         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
12043           helper function to compare two ether_addr structures and return TRUE
12044           if they contain the same MAC address.
12045         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
12046           prototype.
12047         * src/nm-device-802-11-wireless.c: New function to update the BSSID
12048           stored with the current AP.  If the BSSID has indeed changed, we
12049           send it out to the applet, allowing the allowed-MAC list to grow
12050           automatically in response to roaming.
12051
12052 2006-05-16  Robert Love  <rml@novell.com>
12053
12054         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
12055           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
12056
12057 2006-05-13  Dan Williams  <dcbw@redhat.com>
12058
12059         * src/nm-device-802-3-ethernet.c
12060                 - (real_get_generic_capabilities): Don't ignore devices that can't do
12061                         carrier detect (Debian bug #366373)
12062
12063 2006-05-11  Dan Williams  <dcbw@redhat.com>
12064
12065         Patch from Michael Biebl <biebl@teco.edu>
12066         * src/backends/NetworkManagerDebian.c
12067                 - Debian backend fixups
12068
12069 2006-05-10  Robert Love  <rml@novell.com>
12070
12071         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
12072
12073 2006-05-09  Robert Love  <rml@novell.com>
12074
12075         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
12076           private certificate passphrase, if any, in the GNOME Keyring.
12077         * libnm-utils/dbus-helpers.c: Update.
12078
12079 2006-05-05  Dan Williams  <dcbw@redhat.com>
12080
12081         * src/nm-device-802-11-wireless.c
12082                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
12083                         nm_device_802_11_wireless_disable_encryption() since that's all
12084                         we use it for anymore; we don't ever set WEP keys ourselves.
12085                 - (real_deactivate_quickly): reset SSID and encryption keys
12086                 - (real_deactivate): move SSID and encryption key reset to
12087                         real_deactivate_quickly(), which gets run before us anyway
12088
12089 2006-05-05  Robert Love  <rml@novell.com>
12090
12091         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
12092           root has a wacky default of its own (or, more common, a user has a
12093           bad umask and uses su/sudo to restart NetworkManager).  Anything
12094           other than 0022 does not do what we want with, for example,
12095           resolv.conf.  This problem is amplified by our judicious use of
12096           fopen(), which uses mode 0666 -- implying that the only way to get
12097           the permissions we want is with a umask of 0022.
12098
12099 2006-05-05  Dan Williams  <dcbw@redhat.com>
12100
12101         * gnome/libnm_glib/libnm_glib.c
12102                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
12103                         to reconnect; instead wait a bit more with each reconnect attempt
12104                         up to a max of one minute.
12105
12106 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
12107
12108         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
12109           the WirelessNetwork structure using the proper function instead of
12110           just casting it directly to (const char *) (gnome.org #336991)
12111
12112 2006-05-03  Robert Love  <rml@novell.com>
12113
12114         * src/backends/NetworkManagerSuSE.c: Respect the variable
12115           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
12116           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
12117           to dynamically update /etc/resolv.conf.
12118
12119 2006-05-02  Peter Jones  <pjones@redhat.com>
12120
12121         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
12122
12123 2006-05-02  Robert Love  <rml@novell.com>
12124
12125         Patch by Timo Hoenig;
12126         * tests/nm-online.c: Print pretty status indicator as timeout winds
12127           down.  Also fix possible race between DBUS startup and failure
12128           return.
12129
12130 2006-05-01  Robert Love  <rml@novell.com>
12131
12132         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
12133           empty, too.
12134
12135 2006-04-27  Jeremy Katz  <katzj@redhat.com>
12136
12137         * src/nm-device.c (discover_device_type): Actually use the hal
12138         device type instead of ioctl poking
12139
12140 2006-04-26  Robert Love  <rml@novell.com>
12141
12142         * tests/nm-online.c: New file.  Simple utility that returns exit status
12143           noting whether the connection is offline or online.  If offline on
12144           start, it waits 30 seconds (or a command-line given value) for an
12145           online signal.  If it times out, it again returns offline.  This is
12146           useful for scripts that want to wait for network connections.
12147
12148 2006-04-25  Robert Love  <rml@novell.com>
12149
12150         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
12151           key mode (the authentication algorithm), e.g. open or shared, when we
12152           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
12153           only shared was broken.  If the user specified a shared key, set it
12154           explicitly, otherwise let wpa_supplicant go with the default.
12155
12156 2006-04-24  Dan Williams  <dcbw@redhat.com>
12157
12158         * src/nm-device-802-11-wireless.c
12159                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
12160
12161 2006-04-24  Dan Williams  <dcbw@redhat.com>
12162
12163         Commit the async scanning patch
12164
12165         * src/nm-device-802-11-wireless.c
12166                 - get rid of scan_mutex
12167                 - (wireless_event_helper): act on wireless scan events
12168                 - (real_start): schedule a pending scan
12169                 - (link_to_specific_ap): fake the link to the AP during a scan
12170                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
12171                         strength during scans
12172                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
12173                         nm_device_set_bitrate): unused with new scanning code, disable
12174                 - (nm_device_wireless_schedule_scan): removed
12175                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
12176                 - (request_and_convert_scan_results): new function; retrieve scan
12177                         results from the driver and schedule the processing function
12178                 - (scan_results_timeout): timeout triggered when card doesn't send
12179                         a scan results wireless event during a certain interval
12180                 - (schedule_scan_results_timeout): new function; schedule the scan
12181                         results timeout
12182                 - (cancel_scan_results_timeout): new function; cancel the scan
12183                         results timeout
12184                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
12185                         to do the scanning.  Otherwise, just request a scan but don't
12186                         grab results here; instead schedule a timeout for scan results and
12187                         let netlink notify us of scan completion events
12188                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
12189                 - (cancel_pending_scan): new function; cancel a pending wireless scan
12190                 - (supplicant_status_cb): ignore disconnect events while scanning
12191                 - (supplicant_exec): wait a bit longer for the supplicant to start up
12192                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
12193                         timeouts
12194                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
12195
12196 2006-04-24  Dan Williams  <dcbw@redhat.com>
12197
12198         * gnome/applet/applet-dbus.c
12199                 - Disable the pending call debug stuff, seems under control now
12200
12201 2006-04-20  Robert Love  <rml@novell.com>
12202
12203         Fix bug where hidden ESSID's would not show up in the applet, even
12204         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
12205         because nm_policy_device_list_update_from_allowed_list() would merge
12206         the data, putting a name to the hidden networks, but never notify NMI
12207         of the changes.  Simple fix is to invoke the function
12208         nm_dbus_signal_wireless_network_change() if we make a mapping.
12209         * src/NetworkManagerAPList.c: Call the function
12210           nm_dbus_signal_wireless_network_change() if we made a successful
12211           BSSID to ESSID mapping, notifying the applet of the "new" network.
12212         * src/NetworkManagerAPList.h: Update the prototypes for both
12213           nm_ap_list_copy_essids_by_address() and
12214           nm_ap_list_copy_one_essid_by_address().
12215
12216 2006-04-20  Robert Love  <rml@novell.com>
12217
12218         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
12219           not set.  Just return zero.
12220
12221 2006-04-20  Robert Love  <rml@novell.com>
12222
12223         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
12224           only one copy of nm-vpn-properties is running at a time via the 'ol
12225           X selection trick.  This prevents the user from opening two "VPN
12226           Connections" windows from within the applet, which leads to mass
12227           hysteria.
12228         * clipboard.c: New file, implementing simple X selection logic.
12229         * clipboard.h: New file.
12230         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
12231
12232 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
12233
12234         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
12235         * configure.in
12236           initscript/Gentoo/Makefile.am
12237           initscript/Gentoo/NetworkManagerDispatcher.in
12238                 - New script
12239         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
12240           Gentopia
12241
12242 2006-04-16  Dan Williams  <dcbw@redhat.com>
12243
12244         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
12245         * configure.in
12246           initscript/Slackware/Makefile.am
12247           initscript/Slackware/rc.networkmanager-dispatcher.in
12248           initscript/Slackware/rc.networkmanager.in
12249                 - Update slackware initscripts
12250
12251 2006-04-10  Robert Love  <rml@novell.com>
12252
12253         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
12254           the "delete_event" signal on the druid's parent window and handle it
12255           our way, lest using the WM to close the druid results in a series of
12256           bloody and ultimately lethal errors.
12257
12258 2006-04-10  Robert Love  <rml@novell.com>
12259
12260         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
12261           'Back' too or else the 'Forward' option is initially disabled despite
12262           valid input.
12263
12264 2006-04-06  Robert Love  <rml@novell.com>
12265
12266         Fix bad but simple bug where an active modem connection did not update
12267         NM's connection state, breaking any app that did online/offline:
12268         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
12269           represented whether a dial up connection is active, or not.
12270         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
12271           to modem activation and deactivation.
12272         * src/NetworkManagerDbus.c: When asked our state, do not return
12273           disconnected if the modem is active.
12274
12275 2006-04-04  Robert Love  <rml@novell.com>
12276
12277         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
12278           applet.  It just confuses the crap out of people and does not make a
12279           lot of sense, as the daemon still runs.
12280
12281 2006-04-02  Tor Krill  <tor@krill.nu>
12282
12283         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
12284           in start of service.
12285         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
12286           get Archlinux backend up to date.
12287
12288 2006-03-29  Robert Love  <rml@novell.com>
12289
12290         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
12291         to add support for per-route MSS and improve support for per-interface
12292         MTU:
12293         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
12294           optionally take an MSS parameter and set it for the given route.
12295           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
12296           NMIP4Config's stored MSS, if any.
12297         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
12298           the interface's MTU and the route's MSS, respectively.  Add functions
12299           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
12300           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
12301           MSS.
12302         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
12303           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
12304           nm_ip4_config_set_mss.
12305         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
12306           VPN daemon.
12307         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
12308           Change the retval of nm_system_get_mtu to guint32.
12309         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
12310           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
12311           servers can specify MTU's, we should set it here if the MTU was not
12312           provided.
12313
12314 2006-03-27  Jürg Billeter  <j@bitron.ch>
12315
12316         * configure.in:
12317         * initscript/Makefile.am:
12318         * initscript/paldo/Makefile.am:
12319         * initscript/paldo/NetworkManager.in:
12320         * initscript/paldo/NetworkManagerDispatcher.in:
12321         * src/backends/Makefile.am:
12322         * src/backends/NetworkManagerPaldo.c:
12323                 - Add paldo support
12324
12325 2006-03-27  Dan Williams  <dcbw@redhat.com>
12326
12327         Patch from Christian Persch <chpe@gnome.org>
12328         * gnome/applet/applet.glade
12329                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
12330
12331 2006-03-27  Dan Williams  <dcbw@redhat.com>
12332
12333         Patch from Diffe <diffie@blazebox.homeip.net>
12334         * src/backends/NetworkManagerSlackware.c
12335                 - Don't restart howl, since it's been replaced by Avahi
12336                         in most distributions
12337
12338 2006-03-27  Dan Williams  <dcbw@redhat.com>
12339
12340         Patch from Tor Krill <bugzilla@krill.nu>
12341         * configure.in
12342           initscript/Makefile.am
12343           src/backends/Makefile.am
12344           src/backends/NetworkManagerArch.c
12345           initscript/Arch/Makefile.am
12346           initscript/Arch/networkmanager-dispatcher.in
12347           initscript/Arch/networkmanager.in
12348                 - Add Arch Linux support, fixes gnome.org #335147
12349
12350 2006-03-27  Dan Williams  <dcbw@redhat.com>
12351
12352         Patch from Diffe <diffie@blazebox.homeip.net>
12353      * initscript/Slackware/rc.networkmanager
12354         - update, fixed gnome.org #333368
12355
12356 2006-03-27  Robert Love  <rml@novell.com>
12357
12358         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
12359           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
12360
12361 2006-03-27  Robert Love  <rml@novell.com>
12362
12363         Patch by Jürg Billeter <j@bitron.ch>:
12364         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
12365           systems.
12366         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
12367           as we prefer glibc over kernel headers, if possible.
12368
12369 2006-03-27  Robert Love  <rml@novell.com>
12370
12371         Patch by Jon Escombe <list@dresco.co.uk>:
12372         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
12373         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
12374           fail, don't bail out.  We don't expect all of the various WPA-EAP
12375           values to be present.
12376         * src/nm-ap-security.c: We need to match all capabilities for each
12377           encryption type, not any one of them.
12378
12379 2006-03-27  Robert Love  <rml@novell.com>
12380
12381         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
12382           restart, not reload, ypbind.  Unfortunately there is no superior
12383           solution.
12384
12385 2006-03-24  Christopher Aillon  <caillon@redhat.com>
12386
12387         * gnome/applet/applet-notifications.c:
12388         When displaying a notification, make sure to get rid of the
12389         previous notification so as to not have competing bubbles,
12390         and stop leaking the old one.
12391
12392         * gnome/applet/applet.c:
12393         * gnome/applet/applet.h:
12394         Add a new 'notification' member to the applet, and zero it out
12395         and free it appropriately.
12396
12397 2006-03-23  Robert Love  <rml@novell.com>
12398
12399         Patch by j <j@bootlab.org>:
12400         * gnome/applet/applet.glade: Don't set the invisible_char property,
12401           which simply overrides the GTK default.  By and by, this behavior
12402           ought to be fixed in Glade.
12403
12404 2006-03-22  Robert Love  <rml@novell.com>
12405
12406         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
12407
12408 2006-03-22  Robert Love  <rml@novell.com>
12409
12410         Bug fix by Timo Hoenig <thoenig@suse.de>:
12411         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
12412           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
12413           and the applet going AWOL.
12414
12415 2006-03-22  Robert Love  <rml@novell.com>
12416
12417         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
12418           preprocessor define and use it instead of open-coded the DHCP
12419           timeout, which is currently 25 seconds, everywhere.
12420
12421 2006-03-22  Robert Love  <rml@novell.com>
12422
12423         Implement "Dynamic WEP", which is basically WPA authentication and WEP
12424         key exchange via WPA, ostensibly providing good security without
12425         requiring hardware that supports full WPA.  Also, add UI elements to
12426         allow the user to select the pairwise & group cipher for WPA Enterprise
12427         networks, too:
12428         * gnome/applet/applet.glade: Update glade file.
12429         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
12430           key type, too, to and from gconf.
12431         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
12432           wso_wpa_create_key_type_model(), noting whether we are handling PSK
12433           or EAP configuration, and in the latter case add in "Dynamic WEP" if
12434           the capabilities match.
12435         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
12436           prototype.
12437         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
12438           serialize from UI to DBUS.
12439         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
12440           one element.
12441         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
12442           nmu_security_serialize_wpa_eap_with_cipher(), and
12443           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
12444           serialize/deserialize the key type via DBUS as the new third DBUS
12445           parameter.
12446         * libnm-util/dbus-helpers.h: Update prototypes.
12447         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
12448           too.  If the key type is WEP104, do Dynamic WEP, which means
12449           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
12450           pairwise and group ciphers (fixes a FIXME).
12451
12452 2006-03-21  Robert Love  <rml@novell.com>
12453
12454         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
12455           nm_system_get_mtu(), which returns a user-provided or system-mandated
12456           MTU value for a given device, if any, or zero if no such value
12457           exists.  Add nm_system_set_mtu() to set the MTU for a given device
12458           if we have a provided value.
12459         * src/nm-device.c: Set the MTU of devices.
12460         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
12461         * src/backends/NetworkManagerDebian.c,
12462           src/backends/NetworkManagerGentoo.c,
12463           src/backends/NetworkManagerRedHat.c,
12464           src/backends/NetworkManagerSlackware.c: Implement stub functions.
12465
12466 2006-03-21  Robert Love  <rml@novell.com>
12467
12468         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
12469           configuration file.
12470
12471 2006-03-17  Robert Love  <rml@novell.com>
12472
12473         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
12474           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
12475           it, in case it is not running in the first place.  We just want its
12476           configuration reloaded.  Also, do not "rcypbind stop" on device down.
12477
12478 2006-03-15  Robert Love  <rml@novell.com>
12479
12480         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
12481           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
12482           label "WEP 40/128-bit" is inconsistent because the physical key size
12483           is 40 or 104-bits, to which a 24-bit initialisation vector is
12484           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
12485           to read "40/104" or "64/128".  I do not care much which, but most
12486           users think of "silver" and "gold" encryption as 64 and 128-bits, so
12487           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
12488           WEP passphrase support only handles 128-bit keys, and any future
12489           64-bit passphrase support will require a new option (no way to auto-
12490           detect the target key size), explicitly label our passphrase support
12491           "WEP 128-bit Passphrase".
12492
12493 2006-03-15  Robert Love  <rml@novell.com>
12494
12495         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
12496           the system init scripts (or some other mechanism) starting it (or a
12497           compatible DBUS service) before NetworkManager runs.  This means that
12498           distributions might need to update their init scripts.  This fixes
12499           possible races and is quite a bit cleaner.
12500         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
12501           starting the NetworkManager daemon.
12502
12503
12504 2006-03-14  Robert Love  <rml@novell.com>
12505
12506         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
12507           before adding anything.
12508
12509 2006-03-13  Robert Love  <rml@novell.com>
12510
12511         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
12512           widgets, too, if they exist, in case the user hit the back button.
12513           Fixes a bug where the details page contains the widgets of multiple
12514           VPN modules (Novell bug #157048).
12515
12516 2006-03-13  Robert Love  <rml@novell.com>
12517
12518         Patch by Timo Hoenig <thoenig@suse.de>:
12519         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
12520           daemon survive DBUS restarts, too.
12521
12522 2006-03-10  Robert Love  <rml@novell.com>
12523
12524         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
12525           passphrase or key.
12526         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12527           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
12528           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
12529           in response to "toggled" signal on new toggle.
12530
12531 2006-03-10  Robert Love  <rml@novell.com>
12532
12533         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12534           serialization if strings are NULL, lest DBUS get angry.
12535
12536 2006-03-10  Robert Love  <rml@novell.com>
12537
12538         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12539
12540 2006-03-09  Robert Love  <rml@novell.com>
12541
12542         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12543           configurations.
12544
12545 2006-03-09  Dan Williams  <dcbw@redhat.com>
12546
12547         Track pending call requests in the applet, and report how many are
12548         outstanding, and how long each completed one takes.
12549         
12550         * gnome/applet/applet-dbus-devices.c
12551           gnome/applet/applet-dbus-vpn.c
12552                 - Track pending calls
12553
12554         * gnome/applet/applet-dbus.[ch]
12555                 - Remove some unused enums
12556                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12557                         new functions to track dbus pending calls and spit out some
12558                         statistics about them
12559
12560 2006-03-09  Robert Love  <rml@novell.com>
12561
12562         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12563           nm_ap_set_timestamp() take the second and micro-second parameters as
12564           direct arguments, which avoids both a dynamic memory allocation and a
12565           structure-to-structure copy!  Add a new interface, the aptly named
12566           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12567           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12568           the return from nm_ap_get_timestamp().  New users should use the new
12569           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12570           the extreme benefit to performance.
12571         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12572           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12573
12574 2006-03-08  Robert Love  <rml@novell.com>
12575
12576         * gnome/applet/applet.glade: Hide the password entry text with
12577           asterisks.
12578
12579 2006-03-08  Robert Love  <rml@novell.com>
12580
12581         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12582           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12583           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12584           a second argument, NMData.
12585         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12586         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12587           config files as trusted.
12588
12589 2006-03-06  Robert Love  <rml@novell.com>
12590
12591         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12592         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12593           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12594           Rivera, detect if the applet was auto-started.  If so, ask the user
12595           if he or she would like to stop automatically running the applet on
12596           login.  If so, disable autostart.
12597
12598 2006-03-06  Robert Love  <rml@novell.com>
12599
12600         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12601           directory in CFLAGS so developers can actually use NetworkManager.h.
12602
12603 2006-03-06  Robert Love  <rml@novell.com>
12604
12605         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12606           open-coded integer constants.  Add state_to_string() to map a given
12607           state to a textual description, and provide that when notifying of
12608           state change.
12609         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12610           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12611           this header directly, but it is currently not installed on most
12612           systems.
12613
12614 2006-03-05  Dan Williams  <dcbw@redhat.com>
12615
12616         Process netlink messages in device subclasses rather than in
12617         NetworkManager.c.  Also add support for recognizing Wireless Events.
12618         
12619         * configure.in
12620                 - Find GLIB_GENMARSHAL
12621
12622         * src/Makefile.am
12623                 - Since we're marshalling custom types for wireless event signals,
12624                         we get to create our own marshallers using GLIB_GENMARSHAL
12625
12626         * src/NetworkManager.c
12627                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12628                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12629                         cut down somewhat.  We no longer process signals here.
12630                 - (nm_data_new): create the netlink monitor here, and remove a
12631                         useless call to nm_policy_schedule_device_change_check()
12632                 - (nm_data_free): get rid of the netlink monitor here
12633                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12634                 - (main): don't create the netlink monitor here, let nm_data_new
12635                         do that.  Call nm_policy_schedule_device_change_check() right
12636                         before we jump to the mainloop to figure out which device
12637                         to use first
12638
12639         * src/NetworkManagerSystem.[ch]
12640                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12641                         convert back and forth from interface names to interface
12642                         indexes
12643
12644         * src/nm-device-802-11-wireless.c
12645                 - (real_init): connect to wireless-event signals from the netlink
12646                         monitor object
12647                 - (nm_device_802_11_wireless_event): new function, schedule handler
12648                         for wireless event signals from the netlink monitor object.  We
12649                         want the handler to run in the device's context
12650                 - (wireless_event_helper): handle wireless-event signals from netlink
12651                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12652                         signal handler
12653
12654         * src/nm-device-802-11-wireless.h
12655                 - remove unused prototype for nm_device_802_11_wireless_new
12656
12657         * src/nm-device-802-3-ethernet.c
12658                 - (real_init): new function; set up signal handlers for link events
12659                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12660                         handler for netlink link activated events on device's main loop
12661                 - (link_activated_helper): when we get a link activated event, set
12662                         the device's link to be active
12663                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12664                         handler for netlink link deactivated events on device's main loop
12665                 - (link_deactivated_helper): when we get a link deactivated event, set
12666                         the device's link to be inactive
12667                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12668                         dispose
12669
12670         * src/nm-device-802-3-ethernet.h
12671                 - remove unused prototype for nm_device_802_3_ethernet_new
12672
12673         * src/nm-device.[ch]
12674                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12675                         but locks the device list
12676                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12677
12678         * src/nm-netlink-monitor.[ch]
12679                 - (nm_netlink_monitor_class_install_signals): New signal
12680                         "wireless-event"
12681                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12682                         at the device list
12683                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12684
12685         * src/nm-marshal-main.c
12686                 - Include generated nm-marshal.c and nm-marshal.h
12687
12688         * src/nm-marshal.list
12689                 - List of custom marshal functions
12690
12691 2006-03-05  Dan Williams  <dcbw@redhat.com>
12692
12693         * gnome/applet/applet-notifications.h
12694                 - Protect prototype of nma_send_event_notification() because it
12695                         includes libnotify-specific types
12696                 - Include libnotify/libnotify.h too, since we technically need it
12697
12698         * gnome/applet/applet.c
12699                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12700                 - (nma_show_vpn_login_banner_dialog): add some error checking
12701
12702 2006-03-04  Dan Williams  <dcbw@redhat.com>
12703
12704         Clean up activation cancellation.  Should be a lot faster now.  Observed
12705         an issue with wireless devices between stage 2 and 3 of activation, where
12706         activation would be cancelled, but the device thread wouldn't notice until
12707         the supplicant association timed out.  Reorganize activation such that
12708         a cancellation handler gets immediately scheduled in the device's thread,
12709         and devices have a chance to perform any custom cleanup too.
12710
12711         * src/nm-device.[ch]
12712                 - (activation_cancel_handler): new device-type-specific function
12713                         for cleaning up device-type-specific stuff on cancellation
12714                 - (cancel_activation): removed
12715                 - (nm_device_activation_cancel): subsume functionality of
12716                         real_cancel_activation, but instead of doing anything, punt
12717                         operation to a handler that's run in device-thread context
12718                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12719                         a warning message
12720                 - (activation_handle_cancel_helper): cancellation handler run in
12721                         device-thread context, calls device-type-specific cancelation,
12722                         then tears down the activation request
12723                 - (real_activation_cancel_handler): generic cancellation handler,
12724                         deals with cancelling any in-process DHCP request
12725                 - (nm_device_activate_stage1_device_prepare,
12726                    nm_device_activate_stage2_device_config,
12727                    nm_device_activate_stage3_ip_config_start,
12728                    nm_device_activate_stage4_ip_config_get,
12729                    nm_device_activate_stage4_ip_config_timeout,
12730                    nm_device_activate_stage5_ip_commit): don't call
12731                         nm_device_schedule_activation_handle_cancel() any more, since
12732                         cancellation will have been already scheduled for us by
12733                         nm_device_activation_cancel().  Just exit the function and
12734                         assume that the cancel handler will be called next.
12735
12736         * src/nm-device-802-3-ethernet.c
12737                 - (real_act_stage2_config): remove; didn't do anything anyway
12738
12739         * src/nm-device-802-11-wireless.c
12740                 - (supplicant_status_cb): ensure we don't do anything if the activation
12741                         got cancelled
12742                 - (real_activation_cancel_handler): implement; cancel user key request
12743                         on activation cancellation
12744
12745 2006-03-04  Dan Williams  <dcbw@redhat.com>
12746
12747         * src/nm-device-802-11-wireless.c
12748                 - (supplicant_send_network_config): assume that drivers that don't
12749                         support WPA pretty much suck, and can't handle NM scanning
12750                         along with wpa_supplicant.
12751
12752 2006-03-03  Robert Love  <rml@novell.com>
12753
12754         * configure.in: Bump version to 0.6.0.
12755         * NEWS: Update.
12756
12757 2006-03-03  Robert Love  <rml@novell.com>
12758
12759         * configure.in: Require DBUS 0.60 or later.
12760
12761 2006-03-03  Dan Williams  <dcbw@redhat.com>
12762
12763         Fix a crash if an "Other wireless network" was chosen, failed, then
12764         chosen again from the applet's menu.  If the other network wasn't
12765         noticed in a scan, it wouldn't have any capabilities, but would still
12766         be listed because the user forced the network.  To fix this, we set
12767         sensible capabilities on the forced network, which will get overwritten
12768         with the correct ones if the network shows up later in a scan.
12769         
12770         * src/nm-ap-security.h
12771                 - Add a new "get_default_capabilities_func" member to the
12772                         NMAPSecurity class
12773
12774         * src/nm-ap-security.c
12775                 - (nm_ap_security_get_default_capabilities): new function
12776
12777         * src/nm-ap-security.c
12778           src/nm-ap-security-wep.c
12779           src/nm-ap-security-wpa-psk.c
12780           src/nm-ap-security-wpa-eap.c
12781                 - Implement get_default_capabilities_func() for all, which
12782                         uses the information contained in a specific NMAPSecurity
12783                         object to determine default AP capabilites necessary
12784                         to support that object
12785
12786         As a secondary measure, we now prune artificial access points that fail
12787         to be activated right away.  The thing failed, and we have no scan data for
12788         it, so it's pretty much useless since security information is only saved
12789         in the applets when a connection is successful.
12790
12791         * src/NetworkManagerAPList.c
12792                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
12793                         not artificial.  If we see it, it's no longer a figment of the
12794                         user's imagination :)
12795
12796         * src/NetworkManagerPolicy.c
12797                 - (nm_policy_activation_failed): send along the failed AP if we
12798                         have it
12799
12800         * src/nm-device-802-11-wireless.c
12801                 - (real_activation_failure_handler): remove artificial APs from
12802                         the device list, because activation failed
12803
12804 2006-03-02  Robert Love  <rml@novell.com>
12805
12806         Add support for retrieving both the per-device speed and the
12807         per-network maximum supported rate.  Then change the getProperties
12808         DBUS API for both networks and devices to report this informaiton.
12809         Finally, display the information via both nm-applet and nm-tool:
12810         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
12811           and set it.
12812         * gnome/applet/applet.c: Display the device's speed in the 'Connection
12813           Information' dialog.
12814         * gnome/applet/applet.glade: Update the UI to show per-device speed.
12815         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
12816           network_device_get_speed() and network_device_set_speed() for
12817           retrieving and setting, respectively, a network device's current
12818           speed.
12819         * src/nm-dbus-device.c: Send the device's speed on getProperties.
12820         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
12821           in the function nm_device_802_11_wireless_get_bitrate() -- it does
12822           not matter (yet) what the units are, because we only feed it its own
12823           output.  Implement SIOCGIRATE and set the per-network maximum
12824           supported rate during scanning.
12825         * src/nm-device-802-11-wireless.h: Export the function
12826           nm_device_802_11_wireless_get_bitrate().
12827         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
12828           function nm_device_802_3_ethernet_get_speed() for returning an
12829           802.3's current speed, in Mb/s.
12830         * test/nm-tool.c: Display the per-device current speed, if available,
12831           and the per-network maximum rate.
12832
12833 2006-03-02  Dan Williams  <dcbw@redhat.com>
12834
12835         * src/nm-device-802-11-wireless.c
12836                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
12837                         card when it gets initialized.  Since devices don't get added to
12838                         the scan list until they are initialized, this function wasn't
12839                         setting the intitial scan interval correctly, and was leaving
12840                         it at 0.  This caused cards to get many scan requests in a short
12841                         amount of time when they were initialized
12842
12843 2006-03-02  Robert Love  <rml@novell.com>
12844
12845         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
12846           active device.  But do not do what we used to do and override the
12847           state, which caused the dreaded icon race of '05.
12848
12849 2006-03-02  Robert Love  <rml@novell.com>
12850
12851         Commit Dan's update of my previous commit:
12852         * src/nm-device-802-11-wireless.c: Always set the mode, because the
12853           set_mode() function itself does the check.  But do only set the
12854           frequency if in Ad-Hoc mode.
12855
12856 2006-03-02  Robert Love  <rml@novell.com>
12857
12858         Patch by Brian Magnuson <magnuson@rcn.com>:
12859         * src/nm-device-802-11-wireless.c: During scanning, only set the
12860           wireless mode to infrastructure if it is not currently in
12861           infrastructure mode.  For some driver, setting the mode is a costly
12862           operation, apparently.
12863
12864 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
12865
12866         * Makefile.am: use the correct dir for autostart mechanism.
12867
12868 2006-02-28  Dan Williams  <dcbw@redhat.com>
12869
12870         Patch from Brian Magnuson <magnuson@rcn.com>
12871         * gnome/applet/applet.c
12872                 - (nma_show_vpn_failure_dialog): fix errors left over from
12873                         libnotify support changes
12874
12875 2006-02-28  Dan Williams  <dcbw@redhat.com>
12876
12877         * src/vpn-manager/nm-vpn-act-request.[ch]
12878                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
12879                         just one value
12880                 - (nm_vpn_act_request_is_failed): new function; return whether or
12881                         not the vpn activation request has failed
12882
12883         * src/vpn-manager/nm-vpn-manager.c 
12884                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
12885                         daemon to kill the connection when the activation request fails.
12886                         Fixes issue where NM would get confused if the VPN activation
12887                         request timed out, and would not allow further VPN connections
12888                         on that service.
12889
12890 2006-02-28  Dan Williams  <dcbw@redhat.com>
12891
12892         * gnome/applet/applet.c
12893                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
12894                         overlapping connection requests, disable all VPN menu items
12895                         but the active VPN connection
12896
12897 2006-02-28  Dan Williams  <dcbw@redhat.com>
12898
12899         * src/vpn-manager/nm-vpn-connection.c
12900                 - (nm_vpn_connection_set_parent_device): fix C&P error which
12901                         called g_object_unref() on the connection's parent device
12902                         when it should have been ref-ed instead.  Fixes crash with
12903                         repeated vpn connect requests
12904
12905 2006-02-28  Christopher Aillon  <caillon@redhat.com>
12906
12907         * gnome/applet/applet.glade:
12908         Mark a few strings non-translatable, since they shouldn't be.
12909
12910 2006-02-28  Dan Williams  <dcbw@redhat.com>
12911
12912         * src/vpn-manager/nm-vpn-service.c
12913                 - (nm_vpn_service_start_connection): if the vpn service daemon is
12914                         already running, don't blindly ask it to connect, but wait until
12915                         it's in the STOPPED state first.  Fixes an assertion when user
12916                         starts a second vpn connection without stopping the first.
12917                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
12918                         dbus service exists before continuing with the connection
12919                         process, and reduce latency while waiting for it to become
12920                         available
12921                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
12922                         waiting for the vpn service daemon to become available
12923                 - General log message cleanups; show progress via "Stage x of 4"
12924                         rather than not telling anyone how many stages there are
12925
12926 2006-02-28  Robert Love  <rml@novell.com>
12927
12928         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
12929         * src/backends/NetworkManagerSuSE.c: Implement the interface
12930           nm_system_should_modify_resolv_conf() for SUSE.
12931         * src/backends/NetworkManagerDebian.c,
12932           src/backends/NetworkManagerGentoo.c,
12933           src/backends/NetworkManagerRedHat.c,
12934           src/backends/NetworkManagerSlackware.c: Add stub.
12935         * src/named-manager/Makefile.am: Grab includes from src.
12936         * src/named-manager/nm-named-manager.c: Allow backends to disable the
12937           automatic updating of resolv.conf.  This is useful for testing,
12938           broken static configurations, and administrator lock-down.
12939
12940 2006-02-28  Dan Williams  <dcbw@redhat.com>
12941
12942         * src/nm-device-802-11-wireless.c
12943                 - Move all the wpa_supplicant-related management stuff into its
12944                         own struct, just for oranization's sake
12945                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
12946                         to a GIOChannel/GSource
12947                 - (supplicant_log_stdout): new function; grab output from the
12948                         wpa_supplicant stdout pipe and write it to our logs.
12949
12950 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12951
12952         * src/nm-device-802-11-wireless.c:
12953         Err, fix thinko in my previous commit.
12954
12955 2006-02-28  Robert Love  <rml@novell.com>
12956
12957         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
12958
12959 2006-02-28  Robert Love  <rml@novell.com>
12960
12961         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
12962           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
12963           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
12964           deserializers are responsible for freeing the returned DBUS strings.
12965
12966 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12967
12968         * src/nm-device-802-11-wireless.c:
12969         The scan list is being pruned prematurely.  We should prune after
12970         the device has gone MIA for three scans, not one.  Split out the
12971         interval to realtime seconds function to better serve this.
12972
12973 2006-02-27  Robert Love  <rml@novell.com>
12974
12975         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
12976           Open the pid file O_TRUNC, so if it already exists we truncate it to
12977           zero length.  Also, be more verbose about warnings generated during
12978           writing out the pid file.  Finally, always write out the pid file if
12979           in daemon mode.  Use "--pid-file" to override the default.
12980
12981 2006-02-27  Robert Love  <rml@novell.com>
12982
12983         Patch by R. Vinay <rvinay@novell.com>:
12984         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
12985           'last_attempt_success' when removing a VPN connection, too.  (Fixes
12986           Novell bug #153628).
12987           
12988 2006-02-27  Robert Love  <rml@novell.com>
12989
12990         * gnome/applet/applet.glade: Set "activates_default" on passphrase
12991           entry so user can hit <ENTER> after entering passphrase (Novell bug
12992           #153738).
12993
12994 2006-02-27  Dan Williams  <dcbw@redhat.com>
12995
12996         * gnome/applet/*
12997                 - Mass search/replace of:
12998                         nmwa -> nma
12999                         NMWirelessApplet -> NMApplet
13000                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
13001                    (it ain't just for wireless anymore, ma!)
13002                 - Fix duplicate function name printing when using nm_warning
13003                 - wireless-applet.glade -> applet.glade
13004
13005 2006-02-27  Dan Williams  <dcbw@redhat.com>
13006
13007         * dispatcher-daemon/NetworkManagerDispatcher.c
13008                 - Accept --pid-file with a path to a pidfile, write it out on
13009                         startup, and delete it on shutdown
13010
13011         * src/NetworkManager.c
13012                 - Accept --pid-file with a path to a pidfile, write it out on
13013                         startup, and delete it on shutdown
13014                 - Move nm_print_usage() lower
13015
13016         * initscripts/RedHat/NetworkManager.in
13017                 - Use new --pid-file option
13018                 - Fix service stopping to wait a bit for NM to quit
13019
13020         * initscripts/RedHat/NetworkManagerDispatcher.in
13021                 - Use new --pid-file option
13022
13023 2006-02-26  Dan Williams  <dcbw@redhat.com>
13024
13025         * src/Makefile.am
13026                 - make and install nm-crash-logger
13027
13028         * src/nm-logging.[ch]
13029                 - New files; consolidate logging and crash handling
13030
13031         * src/nm-crash-logger.c
13032           src/gdb-cmd
13033                 - Standalong crashlogger for NM, grab a backtrace
13034                         using GDB
13035
13036         * src/NetworkManager.[ch]
13037                 - Remove signal handling and put it into nm-logging.c
13038
13039 2006-02-26  Dan Williams  <dcbw@redhat.com>
13040
13041         * configure.in
13042           gnome/applet/Makefile.am
13043                 - Conditionalize all the notify stuff
13044
13045         Merge most of Chris Aillon's notification patch:
13046         
13047         * gnome/applet/applet-notifications.[ch]
13048                 - New files; show a notification
13049         
13050         * gnome/applet/applet-dbus-devices.[ch]
13051                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
13052                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
13053                         new functions, do the right thing when a device change occurs
13054
13055         * gnome/applet/applet-dbus.c
13056                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
13057                         signals, so we can handle them specially
13058
13059         * gnome/applet/applet.[ch]
13060                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
13061                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
13062                 - (nmwa_notify_state): remove
13063                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
13064                         notification work is now done when the appropriate dbus signals
13065                         are received.
13066                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
13067                         defer execution of the notification/dialog stuff.  That was an
13068                         artifact of the previous multi-threaded nature of the applet
13069                         and is now pointless.
13070                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
13071                         no longer needed.  Function folded into applet-notifications.c
13072
13073         * src/NetworkManagerPolicy.c
13074                 - (nm_policy_activation_finish): send the AP along with the device
13075                         status change signal, if the connection is wireless.  Should
13076                         fix the race where applet would show a connection to "unknown"
13077
13078 2006-02-25  Robert Love  <rml@novell.com>
13079
13080         Add WPA Enterprise support:
13081         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
13082           nm-gconf-wso-wpa-eap.h.
13083         * gnome/applet/nm-gconf-wso-wpa-eap.c,
13084           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
13085           serialization and deserialization.
13086         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13087           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
13088           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
13089         * gnome/applet/wireless-applet.glade: Add UI for configurating security
13090           settings related to WPA Enterprise.
13091         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
13092           instantiate WPA Enterprise wireless-security-option.
13093         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
13094           Implement WPA Enterprise wireless-security-option object.
13095         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
13096           defines.  Cleanup.
13097         * libnm-util/cipher-wpa-psk-hex.c,
13098           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
13099         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
13100           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
13101           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
13102           including the cipher to DBUS method, and
13103           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
13104           to output.
13105         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
13106           nm-ap-security-wpa-eap.h
13107         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
13108           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
13109         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
13110           files.  Implement NMAPSecurityWPA_EAP object.
13111         * src/nm-ap-security-wpa-psk.c: Cleanup.
13112         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
13113           an NMAPSecurityWPA_EAP object via the method
13114           nm_ap_security_wpa_eap_new_deserialize().
13115         * src/nm-dbus-nm.c: Cleanup.
13116         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
13117           WPA Enterprise support.
13118
13119 2006-02-24  Robert Love  <rml@novell.com>
13120
13121         Patch from Timo Hoenig <thoenig@suse.de>:
13122         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
13123
13124 2006-02-24  Robert Love  <rml@novell.com>
13125
13126         Patch from Dan Winship <danw@novell.com>:
13127         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
13128           area to transparent.
13129
13130 2006-02-21  Dan Williams  <dcbw@redhat.com>
13131
13132         * gnome/applet/applet.[ch]
13133           gnome/applet/applet-dbus.c
13134                 - Implement notification support for VPN messages too
13135
13136 2006-02-21  Dan Williams  <dcbw@redhat.com>
13137
13138         * gnome/applet/applet-dbus-info.c
13139                 - Clean up warning messages to not double-print the function
13140
13141 2006-02-21  Dan Williams  <dcbw@redhat.com>
13142
13143         * gnome/applet/applet-compat.c
13144                 - (convert_one_entry): accept entries without a key_type and
13145                         convert them to unencrypted networks
13146
13147 2006-02-21  Dan Williams  <dcbw@redhat.com>
13148
13149         * gnome/libnm_glib/libnm_glib.c
13150                 - Use __func__ everywhere we can
13151                 - Code cleanups
13152                 - Use dbus pending calls rather than blocking
13153                 - Reduce busywaits for our thread to start and stop
13154                         (gnome.org #330562)
13155                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
13156                         stomp on others using the default shared dbus connection.
13157                         Fixes #rh177546# and gnome.org #326572
13158
13159 2006-02-21  Dan Williams  <dcbw@redhat.com>
13160
13161         Patch from Rodney Dawes <dobey@novell.com>
13162         * configure.in
13163           gnome/applet/Makefile.am
13164           gnome/applet/applet.c
13165                 - Add libnotify support if '--enable-notify=yes' is passed
13166                   at configure time
13167
13168 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
13169
13170         * configure.in (ALL_LINGUAS): ko added. (Korean)
13171
13172 2006-02-15  Robert Love  <rml@novell.com>
13173
13174         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
13175           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
13176           and WPA_SUPPLICANT_CONTROL_SOCKET.
13177         
13178 2006-02-15  Robert Love  <rml@novell.com>
13179
13180         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
13181           information about what connection stage we are at, provide the total
13182           number of stages, e.g. "Stage 2 of 5", so users know how far along
13183           they are if they experience problems.
13184
13185 2006-02-15  Robert Love  <rml@novell.com>
13186
13187         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
13188           define to $sysconfdir.
13189         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
13190           editing dialog, vpn_edit_widget, which fixes a bug where editing one
13191           type of VPN and then editing another results in a mangled dialog
13192           box containing the widgets from both VPNs (fixes Novell #150854).
13193           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
13194
13195 2006-02-14  Robert Love  <rml@novell.com>
13196
13197         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
13198           syslog's file descriptor.
13199
13200 2006-02-14  Robert Love  <rml@novell.com>
13201
13202         Fix bug around since the change to "deal with APs changing settings on
13203         us," checked in on the fifth of February in the year of the dog, 
13204         wherein connecting to non-broadcast encrypted networks always fails
13205         because nm_ap_get_encrypted() always returns FALSE, even when the user
13206         provided a key, because the newly-created fake AP does not have any
13207         capabilities set, which is a sypmtom of security settings not matching
13208         capabilities (Novell bug #150784):
13209         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
13210           nm_ap_add_capabilities_from_security(), which sets the given AP's
13211           capabilities off the given security settings.  Also improve our
13212           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
13213           NM_AUTH_CIPHER_AUTO.
13214         * src/nm-device-802-11-wireless.c: Call the function
13215           nm_ap_add_capabilities_from_security() to ensure that capabilities
13216           match newly updated security settings.
13217
13218 2006-02-14  Robert Love  <rml@novell.com>
13219
13220         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
13221           error as a string, not an integer, if possible; do not print the
13222           function name twice; always give the interface, if possible; misc.
13223           cleanup.
13224
13225 2006-02-12  Dan Williams  <dcbw@redhat.com>
13226
13227         Patch from Tom Parker <palfrey@tevp.net>
13228         * src/NetworkManagerSystem.h
13229                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
13230                         no longer used
13231
13232         * src/backends/NetworkManagerDebian.c
13233                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
13234                         unused variables
13235
13236 2006-02-12  Dan Williams  <dcbw@redhat.com>
13237
13238         * vpn-daemons/openvpn/intltool-extract.in
13239           vpn-daemons/openvpn/intltool-merge.in
13240           vpn-daemons/openvpn/intltool-update.in
13241           vpn-daemons/pptp/intltool-extract.in
13242           vpn-daemons/pptp/intltool-merge.in
13243           vpn-daemons/pptp/intltool-update.in
13244                 - Remove from CVS, they should get created by intltoolize,
13245                         shouldn't they?
13246
13247 2006-02-12  Dan Williams  <dcbw@redhat.com>
13248
13249         * vpn-daemons/pptp/src/pppd/patchlevel.h
13250         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13251                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
13252                         Makefile-defined VERSION
13253
13254 2006-02-09  Dan Williams  <dcbw@redhat.com>
13255
13256         Patch from: Vinay A R <rvinay@novell.com>
13257         * src/vpn-manager/nm-vpn-act-request.[ch]
13258                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
13259                         IPSec VPNs require them for std gateway.
13260                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
13261                         and 'user_routes_count'
13262                 - (nm_vpn_act_request_get_user_routes): new function; gets user
13263                         defined routes  from NMVPNActRequest object, returns the string
13264                         array of routes.
13265
13266         * src/vpn-manager/nm-vpn-manager.[ch]
13267                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
13268                         for 'user_routes' and 'user_routes_count'
13269         
13270         * src/vpn-manager/nm-dbus-vpn.c
13271                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
13272                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
13273         
13274         * src/vpn-manager/nm-vpn-service.c
13275                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
13276                         the vpn daemon
13277
13278         Modifications by Dan:
13279         * src/vpn-manager/nm-vpn-service.c
13280                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
13281                         arrays into dbus
13282
13283         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13284         * vpn-daemons/pptp/src/nm-pptp-service.c
13285         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13286                 - Grab user routes from dbus message
13287                 - Free all string arrays we got from dbus
13288
13289 2006-02-07  Robert Love  <rml@novell.com>
13290
13291         Patch by Stefan Seyfried <seife@suse.de>:
13292         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
13293
13294 2006-02-06  Robert Love  <rml@novell.com>
13295
13296         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
13297
13298 2006-02-06  Robert Love  <rml@novell.com>
13299
13300         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
13301           test ">=" is never false.  If no newline is found, we loop forever.
13302           We can just check for ">" because the following if() will see the
13303           zero-th argument if the while() gets that far.
13304
13305 2006-02-05  Dan Williams  <dcbw@redhat.com>
13306
13307         Refine handling of non-broadcast networks.
13308
13309         * src/NetworkManagerAPList.c
13310                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
13311                         property from scanned AP to the AP from the device list
13312
13313         * src/nm-device-802-11-wireless.c
13314                 - (supplicant_send_network_config): use ap_scan=1 for all networks
13315                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
13316                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
13317                         networks since those don't have APs.
13318                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
13319                         AP as non-SSID-broadcasting
13320                 - (process_scan_results): don't handle non-SSID-broadcasting here
13321
13322 2006-02-05  Dan Williams  <dcbw@redhat.com>
13323
13324         * src/nm-device-802-11-wireless.c
13325                 - (get_supplicant_timeout): new function; return
13326                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
13327                         14 channels.  These are likely a/b/g cards, like Atheros, and
13328                         slow as hell to scan.
13329                 - (supplicant_timeout_cb, supplicant_monitor_start): use
13330                         get_supplicant_timeout()
13331
13332 2006-02-05  Dan Williams  <dcbw@redhat.com>
13333
13334         * src/dhcp-manager/nm-dhcp-manager.c
13335                 - Loose a commit race with Robert; make sure size check
13336                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
13337
13338 2006-02-05  Robert Love  <rml@novell.com>
13339
13340         Patch by Christoph Brill <chrisbrill@gmx.net>:
13341         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
13342           with DHCP_SERVICE_NAME.
13343
13344 2006-02-05  Dan Williams  <dcbw@redhat.com>
13345
13346         Remove anything having to do with device_setup_func from the
13347         AP security objects, since it's no longer used.
13348
13349         * src/nm-ap-security.h
13350                 - Kill device_setup_func and nm_ap_security_device_setup()
13351
13352         * src/nm-ap-security-wep.c
13353           src/nm-ap-security-wpa-psk.c
13354                 - (real_device_setup): remove
13355
13356         * src/nm-ap-security.c
13357                 - (real_device_setup): remove
13358                 - (nm_ap_security_device_setup): remove
13359
13360         * src/nm-device-802-11-wireless.[ch]
13361                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
13362                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
13363                         and done by wpa_supplicant now anyway
13364
13365 2006-02-05  Dan Williams  <dcbw@redhat.com>
13366
13367         * src/nm-device-802-11-wireless.c
13368                 - (ap_need_key, real_act_stage2_config): deal with APs changing
13369                         settings on us.  Previously NM would loop asking for the
13370                         key but getting the same one back.  Now, if the NMI-supplied
13371                         cipher doesn't overlap with the scanned AP capabilities,
13372                         we request a completely new key from the user.
13373
13374 2006-02-05  Dan Williams  <dcbw@redhat.com>
13375
13376         * src/NetworkManagerUtils.c
13377                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
13378                         Handle newline killing better
13379
13380 2006-02-05  Dan Williams  <dcbw@redhat.com>
13381
13382         * gnome/applet/nm-gconf-wso.c
13383                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
13384                         of unencrypted access point security info.
13385
13386 2006-02-03  Robert Love  <rml@novell.com>
13387
13388         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
13389           user's encryption key, so we print the err_msg_cmd not the command,
13390           if available.  So long as SUPPLICANT_DEBUG is default, this makes
13391           sense.
13392
13393 2006-02-03  Christopher Aillon  <caillon@redhat.com>
13394
13395         * initscript/RedHat/NetworkManagerDispatcher.in:
13396         * initscript/RedHat/NetworkManager.in: modify the pidfile location
13397         Patch from Dan Walsh <dwalsh@redhat.com>
13398
13399 2006-02-03  Robert Love  <rml@novell.com>
13400
13401         * dispatcher-daemon/NetworkManagerDispatcher.c,
13402           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
13403           but use the sysconfdir.
13404
13405 2006-02-03  Robert Love  <rml@novell.com>
13406
13407         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
13408           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
13409           'char *'.
13410         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
13411           nm_ip4_config_get_hostname() and
13412           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
13413         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
13414           leak g_strdup() result.
13415
13416 2006-02-03  Robert Love  <rml@novell.com>
13417
13418         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
13419           broadcast == TRUE.  Also, copy broadcast and artificial properties
13420           from source network to destination in nm_ap_copy().
13421         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
13422           since we now default new networks to non-hidden.
13423
13424 2006-02-03  Dan Williams  <dcbw@redhat.com>
13425
13426         * gnome/applet/main.c
13427                 - (main): change the NEVER->ALWAYS so we start at the
13428                         beginning of the session, if being session-managed
13429
13430 2006-02-03  Dan Williams  <dcbw@redhat.com>
13431
13432         * gnome/applet/main.c
13433                 - (main): in a variation on Robert's patch, change
13434                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
13435                         he wants.
13436
13437 2006-02-02  Robert Love  <rml@novell.com>
13438
13439         * src/Makefile.am: If we aren't going to create the run directory at,
13440           uh, run-time, create it during install.  Then users just doing
13441           'make install' are cool, too.  While we are here, create the
13442           dispatcher.d directory, too.
13443         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
13444           the exact run directory.
13445         * Makefile.am: Install nm-applet.desktop.
13446
13447 2006-02-02  Robert Love  <rml@novell.com>
13448
13449         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
13450           structure, which denotes whether or not the AP is hidden.  This is a
13451           superset of 'artificial' -- we need 'broadcast' because a hidden AP
13452           can show up in the scan list.  Add nm_ap_get_broadcast() and
13453           nm_ap_set_broadcast() accessor interfaces.
13454         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
13455           nm_ap_set_broadcast().
13456         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
13457           "getProperties" method, which denotes whether or not the given
13458           network is hidden.
13459         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
13460           an artificial network.  Set broadcast to TRUE when scanning returns
13461           an ESSID and FALSE when not.
13462         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
13463           from "getProperties" method on a network.  Possible TODO is to
13464           somehow display this.
13465         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
13466
13467 2006-02-02  Dan Williams  <dcbw@redhat.com>
13468
13469         * src/nm-device-802-11-wireless.c
13470                 - (supplicant_interface_init): don't try to create
13471                         /var/run/NetworkManager, since that should be done by
13472                         the distro package.  Causes problems for stuff like SELinux
13473
13474 2006-02-02  Robert Love  <rml@novell.com>
13475
13476         Patch by Sureshkumar T <tsureshkumar@novell.com>:
13477         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
13478           Check for and handle empty string for iface.
13479
13480 2006-02-01  Robert Love  <rml@novell.com>
13481
13482         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
13483           manpage.
13484
13485 2006-01-31  Dan Williams  <dcbw@redhat.com>
13486
13487         * nm-applet.desktop
13488                 - Add --sm-disable to Exec arguments, presuming that when
13489                         using autostart, we don't want session management
13490
13491 2006-01-31  Robert Love  <rml@novell.com>
13492
13493         * src/NetworkManagerAP.c: Add two new manufacturer default network
13494           names: linksys-a and linksys-g.  These are found (at least) on the
13495           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
13496           own ESSID.
13497
13498 2006-01-31  Robert Love  <rml@novell.com>
13499
13500         * src/NetworkManagerAP.c: Optimize the function
13501           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
13502           machine code.  This is the first in a series of code tweaks aiming to
13503           generate better machine code and make NetworkManager all the better.
13504           Just kidding.  Who has time to go through the assembly generated for
13505           every function?  I certainly don't.  I have a wife, a kid, a job,
13506           a mortgage, a mistress.  But this function was so bad, I was called
13507           to arms.  Like the book.
13508
13509 2006-01-31  Robert Love  <rml@novell.com>
13510
13511         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
13512           AP is not broadcasting, to scan with probe request frames.  Required
13513           for non-broadcast networks.
13514
13515 2006-01-31  Robert Love  <rml@novell.com>
13516
13517         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
13518           preprocessor define (still 20s).  Fix message text in nm_info()
13519           s/too too/took too/.
13520
13521 2006-01-30  Dan Williams  <dcbw@redhat.com>
13522
13523         * src/nm-device-802-11-wireless.c
13524                 - (supplicant_monitor_start): increase connect/auth timeout to
13525                         20 seconds from 10 seconds
13526
13527 2006-01-30  Dan Williams  <dcbw@redhat.com>
13528
13529         * src/Makefile.am
13530                 - Define LOCALSTATEDIR
13531
13532         * src/nm-device-802-11-wireless.c
13533                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13534                         socket where we want it to
13535
13536         * src/wpa_ctrl.[ch]
13537                 - (wpa_ctrl_open): accept location to put local control socket
13538
13539 2006-01-30  Robert Love  <rml@novell.com>
13540
13541         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13542           get_ip4_string() for "domain_name".
13543
13544 2006-01-30  Robert Love  <rml@novell.com>
13545
13546         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13547           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13548           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13549           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13550           support for "Automatic" pairwise and group cipher configuration by
13551           letting wpa_supplicant handle the details.  Add UI elements, new
13552           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13553           charm.  Note this does more than add a nice feature, it fixes a bug.
13554           Apparently, some people have AP's where the pairwise cipher does not
13555           match the group cipher.  Insane, but true.
13556
13557 2006-01-30  Dan Williams  <dcbw@redhat.com>
13558
13559         * gnome/applet/applet-dbus-devices.c
13560                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13561                         functions, grab device driver name from NetworkManager
13562                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13563
13564         * gnome/applet/applet.c
13565                 - (nmwa_update_info): show driver name in Connection Information
13566                         dialog
13567
13568         * gnome/applet/nm-device.[ch]
13569                 - (network_device_get_driver, network_device_set_driver): add
13570                         accessors for driver name
13571
13572         * gnome/applet/wireless-applet.glade
13573                 - Add line for driver name to Connection Information dialog
13574
13575         * src/nm-dbus-device.c
13576                 - (nm_dbus_device_get_driver): new function to return driver name
13577                 - (nm_dbus_device_methods): hook up driver name function to dbus
13578
13579         * test/nm-tool.c
13580                 - (get_driver_name): new function
13581                 - (detail_device): grab and show driver name
13582
13583 2006-01-30  Robert Love  <rml@novell.com>
13584
13585         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13586           does not parse the markup if it is not part of the format.
13587
13588 2006-01-30  Robert Love  <rml@novell.com>
13589
13590         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13591           FALSE, we have no security options for this dialog, so we throw up
13592           an error dialog instead of a broken passphrase dialog.  Fixes
13593           Novell #138404.
13594         * gnome/applet/wireless-security-manager.c,
13595           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13596           does not add any security options, not even NONE, print a warning
13597           and return FALSE.  This let's functions constructing a dialog bail
13598           out if the device's capabilities and the network's requirements have
13599           zero overlap.
13600
13601 2006-01-27  Robert Love  <rml@novell.com>
13602
13603         * configure.in: Require wpa_supplicant.  Detect location of binary and
13604           use it.  Override with "--with-wpa_supplicant=foo".
13605         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13606           path to wpa_supplicant but use the auto-detected or user-provided
13607           value from configure.
13608
13609 2006-01-27  Robert Love  <rml@novell.com>
13610
13611         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13612           but the DHCP server did not return a hostname, try to look up our
13613           name via DNS and set the system hostname to that.
13614
13615 2006-01-27  Dan Williams  <dcbw@redhat.com>
13616
13617         * src/backends/NetworkManagerRedHat.c
13618                 - Add NM_CONTROLLED system network script support for RH/Fedora
13619
13620 2006-01-27  Dan Williams  <dcbw@redhat.com>
13621
13622         * src/backends/NetworkManagerGentoo.c
13623                 - (nm_system_device_get_disabled): add missing function.
13624                         Gnome BZ #328780
13625
13626 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13627
13628         * configure.in: Added vi in ALL_LINGUAS line.
13629         
13630 2006-01-26  Robert Love  <rml@novell.com>
13631
13632         * src/Makefile.am, src/kernel-types.h: Now that two different source
13633           files are feeling the crack-addled leakage of kernel types such as
13634           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13635           types in user-space -- define a header and include it as needed.
13636         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13637         * src/nm-device-802-3-ethernet.h: Remove defines.
13638         * src/wpa.c: Remove defines and include kernel-types.h.
13639
13640 2006-01-26  Robert Love  <rml@novell.com>
13641
13642         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13643           work.
13644
13645 2006-01-26  Robert Love  <rml@novell.com>
13646
13647         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13648         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13649           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13650           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13651           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13652           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13653           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13654           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13655           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13656           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13657           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13658           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13659           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13660           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13661           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13662           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13663           Kill unused variables, labels, and static functions.  Don't pass
13664           string literals as the format string for printf-like functions.
13665
13666 2006-01-25  Dan Williams  <dcbw@redhat.com>
13667
13668         * gnome/applet/wireless-applet.glade
13669                 - Remove WPA2 Checkbox
13670
13671         * gnome/applet/wireless-security-manager.c
13672                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13673                         This means the Wireless Security menu now has two WPA options,
13674                         one for "WPA Personal" and one for "WPA2 Personal"
13675
13676         * gnome/applet/wso-wpa-psk.[ch]
13677                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13678                         'wpa2' argument to determine WPA version to use
13679                 - (append_dbus_params_func): pass stored WPA version to cipher
13680                         rather than using the (removed) checkbox
13681
13682 2006-01-24  Robert Love  <rml@novell.com>
13683
13684         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13685           before we g_strdup(), not the ultimate string.
13686
13687 2006-01-23  Dan Williams  <dcbw@redhat.com>
13688
13689         * src/NetworkManagerAP.[ch]
13690                 - (nm_ap_new_from_ap): copy original essid too
13691                 - (nm_ap_unref): free original essid
13692                 - (nm_ap_get_orig_essid): new function
13693                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13694                         but keep original essid around too
13695
13696         * src/nm-device-802-11-wireless.c
13697                 - (supplicant_send_network_config): send wpa_supplicant the
13698                         _original_ essid, and not as a string, but in hex.  Should
13699                         allow us to connect to more APs that use wierd character
13700                         encodings for their essids
13701
13702         * utils/nm-utils.[ch]
13703                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13704                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13705                         use the current locale as a hint for what encoding the essid
13706                         might be in.  Obviously not 100% accurate, but the idea here is
13707                         that if a user's locale is ex. ja_JP, they are more likely than
13708                         not to be in Japan, where access points will likely be in some
13709                         Japanese encoding.
13710
13711 2006-01-23  Dan Williams  <dcbw@redhat.com>
13712
13713         * libnm-util/cipher-private.h
13714           libnm-util/cipher.c
13715           libnm-util/cipher.h
13716                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13717
13718 2006-01-23  Robert Love  <rml@novell.com>
13719
13720         Patch by Timo Hoenig <thoenig@suse.de>:
13721         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13722           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13723           by DHCP and pass it to the backends, allowing distribution-specific
13724           behavior with respect to the DHCP-supplied hostname (if nothing else,
13725           some distributions might not want to set the hostname).
13726         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
13727           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
13728           Also update our NIS behavior.
13729         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
13730           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
13731           Add stub functions.
13732
13733 2006-01-23  Robert Love  <rml@novell.com>
13734
13735         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
13736           gnome-session does autostart.  TODO: We need to install this to
13737           $prefix/share/autostart/.
13738
13739 2006-01-22  Dan Williams  <dcbw@redhat.com>
13740
13741         * src/NetworkManagerAP.[ch]
13742           src/nm-dbus-nmi.c
13743           src/nm-device-802-11-wireless.c         
13744                 - Make nm_ap_get_essid return "const char *"
13745
13746 2006-01-22  Dan Williams  <dcbw@redhat.com>
13747
13748         * src/NetworkManagerAP.[ch]
13749                 - (nm_ap_get_matched, nm_ap_set_matched): remove
13750
13751         * src/NetworkManagerAPList.[ch]
13752                 - (nm_ap_list_diff): removed
13753                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
13754                         deal with access points changing essids on us
13755
13756         * src/nm-device-802-11-wireless.c
13757                 - (add_new_ap_to_device_list): move AP dbus signal logic to
13758                         src/NetworkManagerAPList.c
13759                 - (real_can_interrupt_activation): new function; allow interruption
13760                         of device activation if we are waiting for a network key
13761
13762         * src/NetworkManagerPolicy.c
13763                 - (nm_policy_device_change_check): allow interruption of currently
13764                         activating devices if the device allows it.  Previous behavior
13765                         would refuse to activate a just-plugged wired device if a
13766                         wireless device was waiting for a key.
13767
13768         * src/nm-device.[ch]
13769                 - (nm_device_can_interrupt_activation): new function; ask devices
13770                         whether their activation can be interrupted
13771
13772 2006-01-20  Robert Love  <rml@novell.com>
13773
13774         * Makefile.am, configure.in: Add new man subdirectory.
13775         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
13776           man/Makefile.am: Add man pages for NetworkManager and its
13777           crime-solving bumbling buddy, NetworkManagerDispatcher.
13778         * man/.cvsignore: Add.
13779         * initscript/Debian/NetworkManager,
13780           initscript/Gentoo/NetworkManager.in,
13781           initscript/RedHat/NetworkManager.in,
13782           initscript/RedHat/NetworkManagerDispatcher.in,
13783           initscript/SUSE/networkmanager-dispatcher.in,
13784           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
13785
13786 2006-01-20  Robert Love  <rml@novell.com>
13787
13788         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
13789           instead of queuing.  This prevents the running of multiple NM
13790           daemons concurrently, which does not work whatsoever and results in
13791           neither daemon working correctly.  Also, we don't handle queuing and
13792           name-owner-changes, anyhow.
13793
13794 2006-01-20  Robert Love  <rml@novell.com>
13795
13796         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
13797         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
13798           to sbin, not bin.
13799
13800 2006-01-19  Robert Love  <rml@novell.com>
13801
13802         * configure.in: Require hal 0.5.0 or later.
13803
13804 2006-01-18  Robert Love  <rml@novell.com>
13805
13806         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
13807           Allow backends to flag a device (in whatever distro-dependent way
13808           they so desire) as disabled.  NM will ignore any such device.
13809         * src/backends/NetworkManagerDebian.c,
13810           src/backends/NetworkManagerRedHat.c,
13811           src/backends/NetworkManagerSlackware.c: Add stub function
13812           nm_system_device_get_disabled() that always returns FALSE (enabled).
13813         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
13814           SUSE-specific configuration structure.  Fill it in from the
13815           NM_CONTROLLED variable in the system networking scripts.  If this var
13816           exists and is "no", we ignore the device.
13817
13818 2006-01-17  Robert Love  <rml@novell.com>
13819
13820         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
13821           identical for NM.  For a full discussion, see the thread at
13822           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
13823
13824 2006-01-17  Dan Williams  <dcbw@redhat.com>
13825
13826         * src/nm-device.c
13827                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
13828                         function.  Fixes crash when wired DHCP fails.
13829
13830 2006-01-16  Robert Love  <rml@novell.com>
13831
13832         * src/Makefile.am: Don't install NMLoadModules
13833         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
13834           from src/ to test/ as no one uses it anymore.  Note that I would be
13835           fine with removing it altogether.
13836
13837 2006-01-16  Robert Love  <rml@novell.com>
13838
13839         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
13840           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13841           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
13842           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
13843           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
13844           src/nm-netlink-monitor.c: Don't miss any initializers on structure
13845           declarations, ever.
13846         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
13847           NM_STATE_DISCONNECTED is zero).
13848
13849 2006-01-16  Robert Love  <rml@novell.com>
13850
13851         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
13852           uninitialized parameter and buffer overflow.  Novell #143496.
13853
13854 2006-01-16  Dan Williams  <dcbw@redhat.com>
13855
13856         Apply the PtP Address bits of a patch from Tim Niemueller
13857
13858         * src/nm-ip4-config.[ch]
13859                 - Add ip4_ptp_address member to object
13860                 - (nm_ip4_config_copy): copy ptp address too
13861                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
13862                         new functions
13863                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
13864                         rather than local tunnel ip address
13865
13866         * src/vpn-manager/nm-vpn-service.c
13867                 - (print_vpn_config): update for PtP address
13868                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
13869                         DBusMessageIters in preparation for getting routes from the VPN
13870                         service daemons too
13871
13872         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
13873                 - (send_config_info): update for PtP address, clean up code
13874                 - (main): update for PtP address, clean up code, fix typo
13875
13876         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13877                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
13878
13879         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13880                 - (pptp_ip_up): update for PtP address
13881
13882         * vpn-daemons/pptp/src/nm-pptp-service.c
13883                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
13884
13885         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13886                 - (print_vpn_config): update for PtP address
13887                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
13888
13889 2006-01-16  Dan Williams  <dcbw@redhat.com>
13890
13891         * gnome/applet/applet.c
13892                 - (nmwa_add_networks_helper): don't indicate an active network
13893                         if NM is disconnected or asleep
13894
13895 2006-01-16  Dan Williams  <dcbw@redhat.com>
13896
13897         * src/NetworkManagerPolicy.c
13898                 - (nm_policy_device_change_check): switch devices if we lose the link
13899                         on an ethernet device. 
13900
13901 2006-01-16  Dan Williams  <dcbw@redhat.com>
13902
13903         * gnome/applet/wso-wpa-psk-hex.[ch]
13904                 - Renamed -> wso-wpa-psk.[ch]
13905
13906         * gnome/applet/wso-wpa-psk.[ch]
13907                 - New files
13908
13909         * gnome/applet/wso-wpa-psk-passphrase.[ch]
13910                 - Removed, rolled into wso-wpa-psk.[ch]
13911
13912         * gnome/applet/Makefile.am
13913                 - Updated for above changes
13914
13915         * gnome/applet/wireless-applet.glade
13916                 - Consolidate WPA-PSK options into one notebook
13917                         widget, and make dialogs invisible by default
13918                         to fix screen oddities
13919
13920         * gnome/applet/wireless-security-manager.c
13921                 - (wsm_set_capabilities): create the new wpa-psk widget rather
13922                         than both the old hex & passphrase ones
13923
13924 2006-01-16  Dan Williams  <dcbw@redhat.com>
13925
13926         * gnome/applet/other-network-dialog.c
13927                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
13928
13929 2006-01-16  Dan Williams  <dcbw@redhat.com>
13930
13931         * gnome/applet/applet.c
13932                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
13933                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
13934                         prevention to realize window before trying to get server
13935                         time
13936
13937         * gnome/applet/other-network-dialog.c
13938                 - (nmwa_other_network_dialog_run): fix up focus-stealing
13939                         prevention to realize window before trying to get server
13940                         time
13941
13942         * gnome/applet/passphrase-dialog.c
13943                 - (nmi_passphrase_dialog_new): fix up focus-stealing
13944                         prevention to realize window before trying to get server
13945                         time
13946
13947 2006-01-16  Robert Love  <rml@novell.com>
13948
13949         Patch from Timo Hoenig  <thoenig@suse.de:
13950         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
13951           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
13952           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
13953           libnm-util/dbus-helpers.h: add checks whether headers are used
13954           within a C++ build.
13955
13956 2006-01-16  Dan Williams  <dcbw@redhat.com>
13957
13958         * gnome/applet/wireless-security-option.c
13959                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
13960
13961 2006-01-16  Dan Williams  <dcbw@redhat.com>
13962
13963         * libnm-util/cipher-wpa-psk-passphrase.c
13964                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
13965                         be 8 - 63 characters inclusive
13966
13967 2006-01-16  Dan Williams  <dcbw@redhat.com>
13968
13969         * src/nm-dbus-nm.c
13970                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
13971
13972 2006-01-13  Robert Love  <rml@novell.com>
13973
13974         Patch by T Sureshkumar <tsureshkuman@novell.com>:
13975         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
13976           modules that do not use an interface.
13977
13978 2006-01-13  Dan Williams  <dcbw@redhat.com>
13979
13980         * src/nm-device.c
13981           src/nm-device.h
13982                 - Allow subclasses to implement deactivate_quickly()
13983                 - (nm_device_deactivate_quickly): call subclass
13984                         deactivate_quickly() methods
13985                 - (nm_device_set_active_link): small cleanups, and don't
13986                         deactivate the device right away because we risk a deadlock
13987                         when called from device thread, waiting for the device
13988                         thread to cancel activation
13989
13990         * src/nm-device-802-11-wireless.c
13991                 - (real_deactivate_quickly): new function
13992                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
13993                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
13994                         so that we kill the supplicant when we sleep too
13995                 - (supplicant_interface_init): work around naive naming attempts of
13996                         wpa_ctrl when naming sockets
13997
13998 2006-01-13  Dan Williams  <dcbw@redhat.com>
13999
14000         * src/nm-device-802-11-wireless.c
14001                 - (supplicant_cleanup): delete old device control sockets too
14002                 - (supplicant_get_device_socket_path): new function to consolidate
14003                         locations that need a path to a device's control socket
14004
14005 2006-01-12  Robert Love  <rml@novell.com>
14006
14007         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
14008           description so that the description is unique for each
14009           pair (device,provider).  Fixes Novell #142773.
14010
14011 2006-01-12  Dan Williams  <dcbw@redhat.com>
14012
14013         * src/nm-device-802-11-wireless.c
14014                 - (supplicant_exec): ensure GError is correctly initialized
14015                         Reported by Diego González (gnome.org #326708)
14016
14017 2006-01-11  Robert Love  <rml@novell.com>
14018
14019         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
14020           define if_mii(), open code the same results, and do so without any
14021           type punning.
14022
14023 2006-01-11  Robert Love  <rml@novell.com>
14024
14025         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
14026           that wso_foo_new() returned non-NULL.  Instead, only append the new
14027           wso to wsm->options if the wso is non-NULL.  The crux is that we
14028           assume that the relevant key types are implied by WEP and WPA as
14029           appropriate.  To be sure, they should be, but we should not expect
14030           drivers to not be oozing piles of wolf fecal matter.
14031
14032 2006-01-11  Robert Love  <rml@novell.com>
14033
14034         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
14035         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
14036           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14037           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
14038           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
14039           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
14040           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
14041         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
14042           comparing values within DBL_EPSILON.  Also fix shadowed variable
14043           usage.
14044
14045 2006-01-11  Dan Williams  <dcbw@redhat.com>
14046
14047         Add options for WPA2 and WPA1+CCMP (AES).
14048
14049         * gnome/applet/wireless-applet.glade
14050                 - Add UI bits for WPA+CCMP
14051
14052         * gnome/applet/other-network-dialog.c
14053                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
14054                         and don't allow creation of WPA2 Ad-Hoc networks since
14055                         wpa_supplicant doesn't support them
14056
14057         * gnome/applet/wireless-security-manager.c
14058                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
14059                         on to the specific wireless security option being created
14060
14061         * gnome/applet/wireless-security-option.[ch]
14062                 - (wso_wpa_create_key_type_model): new utility function to create
14063                         the model required for WPA Key Type combo box
14064
14065         * gnome/applet/wso-private.h
14066           gnome/applet/wireless-security-option.h
14067                 - Move private function prototypes into wso-private.h
14068
14069         * gnome/applet/wso-wpa-psk-hex.[ch]
14070           gnome/applet/wso-wpa-psk-passphrase.[ch]
14071                 - (append_dbus_params_func): get WPA version from checkbox and pass
14072                         it to the dbus serialization helper
14073                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
14074                         key type combo changes
14075                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
14076                         model and options
14077
14078         * libnm-util/cipher-wpa-psk-hex.c
14079           libnm-util/cipher-wpa-psk-passphrase.c
14080                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
14081                         new function; allow the cipher to be changed after object creation
14082
14083         * src/nm-ap-security-wpa-psk.c
14084                 - (set_description): Do WPA2 descriptions too
14085
14086         * src/nm-ap-security.c
14087                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
14088
14089 2006-01-11  Robert Love  <rml@novell.com>
14090
14091         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
14092           is defined in <linux/mii.h> to return the mii_ioctl_data structure
14093           from the ifreq structure in lieu of an open coded solution.  Removes
14094           a life-threatening type-punning.
14095         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
14096           types, ever, whatsoever, baby.
14097
14098 2006-01-11  Robert Love  <rml@novell.com>
14099
14100         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
14101           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
14102           assignments to applet->nm_state into a new nmwa_set_state() function
14103           for both cleanliness and to help debugging.
14104
14105 2006-01-10  Robert Love  <rml@novell.com>
14106
14107         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
14108           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
14109           seconds, exclusive.  That is, we want to sleep x seconds such that
14110           1 < x < 2.
14111
14112 2006-01-10  Robert Love  <rml@novell.com>
14113
14114         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
14115           the attr fields according to the example in the email available at
14116           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
14117           Conversely, we do have to free 'name', so we do so, fixing a leak.
14118
14119 2006-01-10  Robert Love  <rml@novell.com>
14120
14121         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
14122           sure that we close the socket!
14123
14124 2006-01-10  Robert Love  <rml@novell.com>
14125
14126         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
14127           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
14128           src/nm-device.c: Fix a FIXME!  Reimplement the function
14129           nm_device_update_hw_address() in device subclass variants,
14130           nm_device_802_3_ethernet_set_address() and
14131           nm_device_802_11_wireless_set_address(), hook them up, and use them.
14132           This fixes the existing bug where MAC addresses are all zeros.
14133
14134 2006-01-10  Robert Love  <rml@novell.com>
14135
14136         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
14137           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
14138           option to give users ability to globally disconnect and put NM to
14139           sleep.  This is useful as a 'lockdown mode' for flying, security, and
14140           clean disconnect.
14141
14142 2006-01-09  Robert Love  <rml@novell.com>
14143
14144         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
14145           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
14146           User-space does not supply these types, so we have to define them
14147           ourselves.  The relevant kernel maintainer refused to accept a patch
14148           switching these headers to the proper C99 types.
14149
14150 2006-01-09  Dan Williams  <dcbw@redhat.com>
14151
14152         Apply Robert's 'tray icon redo' patch with fixes
14153         * gnome/applet/applet.c
14154           gnome/applet/applet.h
14155                 - Instead of using a menu bar + menu item, simulate menu
14156                         behavior using a popup menu.  Highlight the area around
14157                         the icon more like a menu too, by playing with the
14158                         applet's size requisition
14159
14160 2006-01-09  Timo Hoenig   <thoenig@suse.de>
14161         * libnm-util/dbus-helpers.c
14162           libnm-util/dbus-helpers.h
14163                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
14164                         to 'exception_namespace' (:namespace is a keyword in
14165                         C++)
14166
14167 2006-01-09  Dan Williams  <dcbw@redhat.com>
14168
14169         * src/NetworkManagerPolicy.c
14170                 - (nm_policy_device_change_check): don't autoswitch away from
14171                         Ad-Hoc networks, since there's really no concept of
14172                         "link"
14173
14174         * src/nm-dbus-nm.c
14175                 - (nm_dbus_nm_create_wireless_network): mark created networks
14176                         as Ad-Hoc networks
14177
14178         * src/nm-device-802-11-wireless.c
14179                 - (real_activation_success_handler): add user-created Ad-Hoc
14180                         networks to the device's scan list
14181
14182 2006-01-08  Dan Williams  <dcbw@redhat.com>
14183
14184         We now require a patch for wpa_supplicant to support Ad-Hoc
14185         networks:
14186           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
14187
14188         * src/nm-device-802-11-wireless.c
14189                 - (supplicant_send_network_config): turn off wpa_supplicant's
14190                         scanning.  Fixes Ad-Hoc networks.
14191
14192 2006-01-08  Dan Williams  <dcbw@redhat.com>
14193
14194         * src/nm-ap-security.c
14195           src/nm-ap-security.h
14196                 - Add a user_created argument to the write_supplicant_config
14197                         functions
14198
14199         * src/nm-ap-security-wep.c
14200           src/nm-ap-security-wpa-psk.c
14201           src/nm-device-802-11-wireless.c
14202                 - Make Ad-Hoc mode somewhat work, at least write the
14203                         correct options to wpa_supplicant
14204
14205 2006-01-08  Dan Williams  <dcbw@redhat.com>
14206
14207         * src/nm-device-802-11-wireless.c
14208                 - Remove unused code from the old device activation path
14209
14210 2006-01-08  Dan Williams  <dcbw@redhat.com>
14211
14212         * libnm-util/dbus-helpers.c
14213                 - (nmu_security_serialize_wpa_psk): pass a blank key through
14214                         dbus when key == NULL
14215
14216 2006-01-08  Dan Williams  <dcbw@redhat.com>
14217
14218         * gnome/applet/nm-gconf-wso-wpa-psk.c
14219                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
14220                         correct arguments to nmu_security_deserialize_wpa_psk()
14221
14222         * src/nm-ap-security-wpa-psk.c
14223                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
14224                         arguments to nmu_security_deserialize_wpa_psk()
14225
14226 2006-01-08  Dan Williams  <dcbw@redhat.com>
14227
14228         * gnome/applet/wso-wpa-psk-hex.c
14229           gnome/applet/wso-wpa-psk-passphrase.c
14230                 - Hook up the append_dbus_params_func() function
14231
14232 2006-01-08  Dan Williams  <dcbw@redhat.com>
14233
14234         * src/nm-device-802-11-wireless.c
14235                 - (get_wireless_capabilities): correctly detect driver WPA
14236                         capabilities
14237
14238 2006-01-08  Dan Williams  <dcbw@redhat.com>
14239
14240         * gnome/applet/Makefile.am
14241           gnome/applet/wso-wpa-psk-hex.c
14242           gnome/applet/wso-wpa-psk-hex.h
14243                 - New files, implement WPA-PSK Hex key input
14244
14245         * gnome/applet/wireless-applet.glade
14246                 - Change existing wpa-psk stuff to wpa-psk-hex
14247                 - Add new widgets for wpa-psk-passphrase
14248
14249         * gnome/applet/wireless-security-manager.c
14250                 - (wsm_set_capabilities): enable WPA options
14251
14252         * gnome/applet/wso-wpa-psk-passphrase.c
14253                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
14254                         for WPA-PSK passphrase
14255
14256 2006-01-08  Dan Williams  <dcbw@redhat.com>
14257
14258         * include/NetworkManager.h
14259                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
14260                         applet/info-daemons
14261
14262         * gnome/applet/passphrase-dialog.c
14263                 - Use the constant.  Fixes a bug where the arguments to
14264                         dbus_message_new_error() were incorrect
14265
14266         * src/nm-dbus-nmi.c
14267                 - Use the constant
14268
14269 2006-01-07  Dan Williams  <dcbw@redhat.com>
14270
14271         * src/nm-device-802-11-wireless.c
14272                 - Add a link timeout so we allow the supplicant time to
14273                         reassociate if it can, before we deactivate the card
14274                 - Fix up link status and link updating so things work better
14275
14276 2006-01-07  Dan Williams  <dcbw@redhat.com>
14277
14278         * src/nm-device-802-11-wireless.c
14279                 - Switch over to using wpa_supplicant
14280                 - Add a timeout of 10s for association of the supplicant
14281                 - Start the monitor callback of the supplicant
14282
14283 2006-01-07  Dan Williams  <dcbw@redhat.com>
14284
14285         * src/NetworkManagerUtils.c
14286                 - (nm_utils_supplicant_request,
14287                   nm_utils_supplicant_request_with_check):
14288                         pass correct buffer length to wpa_ctrl_request()
14289
14290 2006-01-07  Dan Williams  <dcbw@redhat.com>
14291
14292         * src/nm-device-private.h
14293           src/nm-device.c
14294                 - (nm_device_activate_schedule_stage3_ip_config_start): make
14295                         this function available to subclasses
14296
14297 2006-01-06  Robert Love  <rml@novell.com>
14298
14299         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
14300           user plugging in a network cable signals their preference for to
14301           switch, unless the user explicitly selected a wireless network and
14302           therefore signaled their preference for said wireless network over
14303           wired.  In other words, do exactly what makes sense.
14304
14305 2006-01-06  Robert Love  <rml@novell.com>
14306
14307         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14308           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
14309           src/NetworkManagerWireless.h: Remove, no longer used and they keep
14310           showing up in my greps.
14311
14312 2006-01-06  Robert Love  <rml@novell.com>
14313
14314         * gnome/applet/applet-dbus-devices.c,
14315           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
14316           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
14317           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
14318           New Network' both failed in the non-encrypted case because we were
14319           not appending the security options to the DBUS message.  And
14320           'Connect to Other' was also failing in the encrypted case because
14321           we were not incrementing to the next DBUS parameter.  All fixed.
14322           Thanks to dcdw for some debugging help.
14323
14324 2006-01-06  Robert Love  <rml@novell.com>
14325
14326         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
14327           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
14328           hangup code and add per-device hangup.  Tie last commit into the
14329           GNOME applet.  TODO:  Save, understand, and respond to the state of
14330           each dialup device.
14331
14332 2006-01-06  Robert Love  <rml@novell.com>
14333
14334         Patch by Timo Hoenig <thoenig@suse.de>:
14335         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
14336           hangup specific dialup devices.
14337         * src/backends/NetworkManagerDebian.c,
14338           src/backends/NetworkManagerGentoo.c,
14339           src/backends/NetworkManagerRedHat.c,
14340           src/backends/NetworkManagerSlackware.c: Add stub backend.
14341         * src/backends/NetworkManagerRedHat.c,
14342           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
14343           hangup specific dialup devices.
14344
14345 2006-01-04  Robert Love  <rml@novell.com>
14346
14347         * gnome/applet/applet-dbus-devices.c,
14348           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
14349           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
14350           connections.
14351
14352 2006-01-04  Dan Williams  <dcbw@redhat.com>
14353
14354         First dump of wpa_supplicant-related code.  It's not hooked up to
14355         anything yet though.  Thanks to Kay Sievers for
14356         wpa_supplicant_wrapper.c, which formed the basis for this work,
14357         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
14358
14359         * src/Makefile.am
14360           src/wpa_ctrl.[ch]
14361                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
14362
14363         * src/NetworkManagerUtils.[ch]
14364                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
14365                         Add convenience functions for talking to wpa_supplicant
14366
14367         * src/nm-ap-security.[ch]
14368           src/nm-ap-security-wep.c
14369           src/nm-ap-security-wpa-psk.[ch]
14370                 - Update and implement real_write_supplicant_config functions
14371                         in all security types
14372                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
14373                         nm-ap-security-wpa-psk.c
14374
14375         * src/nm-device-802-11-wireless.c
14376                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
14377                    wpa_supplicant_start, wpa_supplicant_interface_init,
14378                    wpa_supplicant_send_network_config): add functions to talk to
14379                         wpa_supplicant and write network config to it
14380
14381 2006-01-04  Robert Love  <rml@novell.com>
14382
14383         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
14384           values so that distribution-backends can differentiate between the
14385           various types (modem, ISDN, et cetera) of dialup device that they
14386           support.
14387         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
14388           needed.
14389
14390 2006-01-03  Dan Williams  <dcbw@redhat.com>
14391
14392         * src/NetworkManagerPolicy.c
14393           src/nm-device.[ch]
14394           src/nm-device-802-11-wireless.c
14395                 - Move wireless-specific activation failure and success code
14396                         into wireless device class
14397
14398 2006-01-03  Robert Love  <rml@novell.com>
14399
14400         Patch by Preggna S:
14401         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
14402           IPsec does not require that a VPN client be bound to an interface,
14403           due to the use of the in-kernel IPSec bits.  So make the tunnel
14404           device optional.
14405
14406 2006-01-03  Dan Williams  <dcbw@redhat.com>
14407
14408         * src/NetworkManagerAP.c
14409                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
14410                         the WPA IE specifies that WEP is supported
14411
14412         * src/nm-device-802-11-wireless.c
14413                 - (process_scan_results): don't mark an AP as supporting WEP
14414                         if there's already other encryption capability info
14415
14416 2006-01-03  Dan Williams  <dcbw@redhat.com>
14417
14418         * src/dhcp-manager/nm-dhcp-manager.c
14419                 - Recognize activation cancellation when waiting for DHCP
14420                         configuration from dhcdbd
14421                 - Ignore non-dhcdbd messages
14422
14423         * src/nm-device.c
14424                 - (real_act_stage3_ip_config_start): return to correct behavior
14425                         of letting the dhcp-manager notify us of failure or
14426                         success rather than incorrectly doing that ourselves
14427                 - (nm_device_activate_stage4_ip_config_get): deal with
14428                         activation cancellation a bit earlier
14429
14430 2006-01-03  Dan Williams  <dcbw@redhat.com>
14431
14432         * src/nm-device-802-11-wireless.c
14433           src/nm-device.[ch]
14434                 - Add hooks to subclasses for stage3_ip_config_start and
14435                         stage4_ip_config_timeout
14436
14437         * src/nm-device-802-3-ethernet.c
14438                 - (real_get_generic_capabilities): make devices NM-supported
14439                         by default
14440
14441 2006-01-03  Robert Love  <rml@novell.com>
14442
14443         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
14444           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
14445           latter cannot differentiate between error and the address -1; misc.
14446           clean up.
14447
14448 2006-01-03  Dan Williams  <dcbw@redhat.com>
14449
14450         * src/NetworkManager.c
14451                 - Move link-checking/probing into the device subclasses
14452                         themselves
14453
14454         * src/nm-device.[ch]
14455           src/nm-device-802-11-wireless.c
14456           src/nm-device-802-3-ethernet.c
14457                 - Do periodic link checking in device subclasses rather
14458                         than being triggered from NetworkManager.c
14459                 - discover_wireless_capabilities -> get_wireless_capabilities
14460                 - discover_generic_capabilities -> get_generic_capabilities
14461                 - Device subclass activation routines now return a value of type
14462                         NMActStageReturn to indicate what step to perform next
14463                 - Devices now override stage4_get_ip4_config if they choose
14464
14465 2006-01-01  Dan Williams  <dcbw@redhat.com>
14466
14467         * src/nm-device-802-11-wireless.c
14468                 - (real_init): don't chain up to parent init because we don't
14469                         need to do that anymore
14470
14471         * src/nm-device.c
14472                 - (discover_device_type): fix arguments to ioctl() to correctly
14473                         pass interface name
14474                 - (nm_device_new): consolidate generic device initialization into
14475                         nm_device_new()
14476                 - (real_init): remove, consolidated to nm_device_new()
14477                 - (nm_device_deactivate, real_deactivate): consolidate
14478
14479 2006-01-01  Dan Williams  <dcbw@redhat.com>
14480
14481         * src/nm-activation-request.c
14482                 - Change dhcp_state member of the NMActRequest structure
14483                         from guint8 to guint32
14484
14485         * src/dhcp-manager/nm-dhcp-manager.[ch]
14486                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
14487                         than guint8 to match the dbus argument.  Turns out we were
14488                         overwriting memory since we were passing in only a guint8
14489
14490 2005-12-31  Dan Williams  <dcbw@redhat.com>
14491
14492         * refactor NMDevice into a GObject-based framework with separate
14493                 objects for wired and wireless.  The following files are no
14494                 longer used but should stick around for a bit so we don't
14495                 loose code through the cracks:
14496                         NetworkManagerDevice.c
14497                         NetworkManagerDevice.h
14498                         NetworkManagerWireless.c
14499                         NetworkManagerWireless.h
14500
14501         The intent here is to allow each device type to manage its own
14502         connection & activation life-cycle, ie to allow wireless devices
14503         to interface with wpa_supplicant, etc.  There's a fair bit of
14504         encapsulation breakage right now that should gradually get pulled
14505         back into each device, along with things like periodic property
14506         updates and link probing.
14507
14508 2005-12-29  Dan Williams  <dcbw@redhat.com>
14509
14510         * include/NetworkManager.h
14511                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
14512                         between networks that don't have any encryption at all
14513
14514 2005-12-29  Dan Williams  <dcbw@redhat.com>
14515
14516         * test/test-common.c
14517           test/test-common.h
14518           test/Makefile.am
14519                 - Move to a test-common subdirectory
14520
14521         * test/libnm-util/test-ciphers.c
14522                 - Move test data to test-inputs.h
14523                 - Test WPA ciphers too
14524
14525         * test/libnm-util/test-dbus-helpers.c
14526                 - Test serialization/deserialization of ciphers
14527
14528 2005-12-29  Dan Williams  <dcbw@redhat.com>
14529
14530         * gnome/applet/applet-dbus-devices.c
14531                 - Replace 'enc' parameter with 'capabilities' for wireless networks
14532                         in dbus calls to NM
14533                 - Set capabilities on WirelessNetwork objects
14534                 - Receive and save type-specific device capabilities too
14535
14536         * gnome/applet/applet-dbus-info.c
14537           gnome/applet/applet-dbus.c
14538                 - Passphrase dialog no longer a singleton; new instance gets created
14539                         on each request.  Updates to deal with that.
14540
14541         * gnome/applet/applet.c
14542                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14543                         than single 'encrypted' flag
14544                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14545                         menu items
14546                 - Passphrase dialog updates per above
14547
14548         * gnome/applet/menu-items.c
14549                 - (network_menu_item_update): use AP capabilities to determine
14550                         encryption
14551
14552         * gnome/applet/nm-device.[ch]
14553                 - Add accessors for type-specific device capabilities
14554
14555         * gnome/applet/other-network-dialog.c
14556                 - Rework to respect device capabilities.  i.e., if the device doesn't
14557                         support WPA, remove that option from the security dropdown
14558
14559         * gnome/applet/passphrase-dialog.c
14560                 - Massive rework so that a new instance is created each time
14561                         it's used, to support wireless network capabilities
14562
14563         * gnome/applet/wireless-network.[ch]
14564                 - Add accessors and members for wireless network capabilities
14565
14566         * gnome/applet/wireless-security-manager.[ch]
14567                 - (wsm_set_capabilities): called after creation to set which
14568                         security options get shown to the user
14569
14570 2005-12-29  Dan Williams  <dcbw@redhat.com>
14571
14572         * libnm-util/cipher-wpa-psk-passphrase.c
14573                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14574                         like other ciphers
14575
14576 2005-12-23  Dan Williams  <dcbw@redhat.com>
14577
14578         * gnome/applet/applet-dbus-info.c
14579                 - (nmi_dbus_get_key_for_network): if there's no entry in
14580                         GConf for a network, assume we want a new key
14581                 - (nmi_save_network_info): serialize wireless security info
14582                         into GConf so its saved
14583
14584         * src/nm-dbus-nm.c
14585                 - Fix warning as we may not be passed security info when
14586                         connecting to a wireless network
14587
14588 2005-12-23  Dan Williams  <dcbw@redhat.com>
14589
14590         * gnome/applet/applet-compat.c
14591                 - Fix bugs in GConf entry conversion
14592
14593         * gnome/applet/applet-dbus-info.c
14594                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14595                         list being zero-length
14596
14597         * libnm-util/cipher-*
14598           libnm-util/dbus-helpers.c
14599                 - All ciphers must now return hashed keys as UTF-8 valid
14600                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14601                         through dbus as strings too.
14602                 - Consolidate various functions that do bin->hex and hex->bin
14603                         conversion into cipher.c
14604
14605         * src/nm-ap-security-wep.c
14606           src/nm-ap-security-wpa-psk.c
14607                 - Handle NULL keys since we may not know keys right away
14608
14609         * src/nm-dbus-nmi.c
14610                 - (nm_dbus_get_network_data_cb): actually advance to the start
14611                         of the wireless security info before we try to deserialize it
14612
14613         * libnm-util/test-ciphers.c
14614                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14615
14616 2005-12-22  Dan Williams  <dcbw@redhat.com>
14617
14618         * gnome/applet/applet-compat.[ch]
14619                 - Convert old-format GConf and keyring entries
14620                         when the applet starts up.
14621
14622         * gnome/applet/applet.c
14623                 - (nmwa_get_instance): Call the conversion function
14624                         on startup before dbus is initialized
14625
14626 2005-12-22  Dan Williams  <dcbw@redhat.com>
14627
14628         * gnome/applet/applet-dbus-info.c
14629                 - Remove nmi_dbus_create_error_message() in favor of
14630                         nmu_create_dbus_error_message()
14631                 - (nmi_dbus_get_network_properties): Error message cleanups
14632                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14633                         gconf key rather than 'addresses', since they really are BSSIDs
14634                 - (nmi_dbus_get_network_properties): Dispose of the security
14635                         object when we're done with it
14636
14637 2005-12-21  Dan Williams  <dcbw@redhat.com>
14638
14639         * Consolidate the info-daemon's "updateNetworkInfo" and
14640                 "addNetworkAddress" calls into just "updateNetworkInfo"
14641
14642 2005-12-21  Dan Williams  <dcbw@redhat.com>
14643
14644         * Make connection after key retrieval work again
14645
14646 2005-12-21  Dan Williams  <dcbw@redhat.com>
14647
14648         * gnome/applet/nm-gconf-wso*
14649                 - Make the serialize functions return gboolean
14650                         rather than int
14651
14652         * gnome/applet/nm-gconf-wso.c
14653                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14654                         parent class handling so we don't segfault
14655
14656         * src/NetworkManagerAP.[ch]
14657                 - (nm_ap_get_capabilities): new function, return capabilities
14658                         now that something can use them
14659                 - (nm_ap_set_encrypted): assume that an access point supports
14660                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14661                         we even tell whether it just supports WEP40?
14662
14663         * src/NetworkManagerDevice.c
14664                 - (ap_need_key): resurrect and update for the New World Order
14665                 - (nm_device_wireless_get_activation_ap): if we're not given
14666                         security info to use, create some based on access point
14667                         capabilities
14668
14669         * src/nm-ap-security-wep.c
14670                 - (nm_ap_security_wep_new_from_ap): create a new object
14671                         based on a certain access point's capabilities
14672
14673         * src/nm-ap-security.c
14674                 - (nm_ap_security_new_from_ap): delegate creation of a new
14675                         object based on access point capabilities to a subclass
14676                 - (nm_ap_security_copy_properties): don't segfault if we
14677                         don't have a key yet
14678
14679         * src/nm-dbus-nm.c
14680                 - (nm_dbus_nm_set_active_device): provide more informative
14681                         output when errors occur.  Also construct security info
14682                         for a given access point if we weren't given any
14683
14684 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14685
14686         * configure.in: Added Lithuanian to ALL_LINGUAS.
14687
14688 2005-12-21  Dan Williams  <dcbw@redhat.com>
14689
14690         * test/libnm-util
14691                 - Add some testcases for WEP ciphers
14692
14693 2005-12-17  Dan Williams  <dcbw@redhat.com>
14694
14695         * Fix bugs
14696
14697 2005-12-17  Dan Williams  <dcbw@redhat.com>
14698
14699         * include/NetworkManager.h
14700                 - Finally kill NMEncKeyType
14701
14702         * gnome/applet/applet-dbus-info.c
14703                 - (nmi_save_network_info): convert to NMGConfWSO
14704
14705         * gnome/applet/nm-gconf-wso-*.c
14706                 - Implement gconf serialization functions
14707
14708         * src/NetworkManagerPolicy.c
14709                 - (nm_policy_activation_finish): fix up meaning of
14710                         automatic/user_requested
14711
14712 2005-12-17  Dan Williams  <dcbw@redhat.com>
14713
14714         * gnome/applet/*
14715                 - More applet cleanups
14716                 - Use the dbus-method-dispatcher
14717
14718         * libnm-util/dbus-method-dispatcher.[ch]
14719                 - Generalize the implementation from NM in
14720                         NetworkManagerUtils.c
14721
14722 2005-12-16  Dan Williams  <dcbw@redhat.com>
14723
14724         * gnome/applet/*
14725                 - Fix up the passphrase dialog to use all the
14726                         WirelessSecurityOption stuff (untested)
14727
14728 2005-12-16  Dan Williams  <dcbw@redhat.com>
14729
14730         * Move nm_gconf_get_*_helper() functions to separate files,
14731                 gconf-helpers.c & gconf-helpers.h
14732
14733         * New NMGConfWSO objects for managing the gconf side of things.
14734                 Eventually these should be merged with the
14735                 WirelessSecurityOption objects and a common base (that can
14736                 serialize/deserialize from dbus & gconf) should be
14737                 refactored out, but for now they are separate.
14738
14739 2005-12-16  Robert Love  <rml@novell.com>
14740
14741         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
14742           binaries unless they exist (nm_spawn_process() emits a warning if
14743           asked to spawn a non-existant process).
14744
14745 2005-12-16  Dan Williams  <dcbw@redhat.com>
14746
14747         * gnome/applet/applet-dbus-info.c
14748                 - Clean up lots of gconf-related code
14749
14750 2005-12-16  Robert Love  <rml@novell.com>
14751
14752         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
14753
14754 2005-12-16  Dan Williams  <dcbw@redhat.com>
14755
14756         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
14757
14758         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
14759                 bits still to be done)
14760
14761 2005-12-16  Dan Williams  <dcbw@redhat.com>
14762
14763         * Finally move info-daemon related stuff out of
14764                 NetworkManagerDbus.c to nm-dbus-nmi.c
14765
14766 2005-12-16  Dan Williams  <dcbw@redhat.com>
14767
14768         * Kill auth_method for access points, since that's now done
14769                 by NMAPSecurity objects
14770
14771         * Add a copy-constructor of sorts to NMAPSecurity
14772                 (how do you do this properly in glib???)
14773
14774 2005-12-15  Dan Williams  <dcbw@redhat.com>
14775
14776         * Exorcise encryption key hashing on APs
14777         * Use libnm-util's serialization/deserialization in both the
14778                 applet and NM
14779         * Random other stuff
14780
14781 2005-12-15  Robert Love  <rml@novell.com>
14782
14783         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
14784           is being added to the icon naming spec, so let's use that (Tango CVS
14785           has the icon).  Because it is new, however, we fall back to the
14786           current "gnome-lockscreen" if the new icon is not around, thus
14787           behavior is the same.
14788         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
14789           factory junk.
14790
14791 2005-12-15  Robert Love  <rml@novell.com>
14792
14793         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
14794           well, help to give.  Couple other misc. bits.
14795
14796 2005-12-15  Dan Williams  <dcbw@redhat.com>
14797
14798         * libnm-util/dbus-helpers.[ch]
14799                 - Make this the one-stop-shop for serializing/deserializing
14800                         AP & connection security settings over dbus.  Both NM
14801                         and applets should use this to ensure consistent dbus
14802                         API going forwared.
14803
14804 2005-12-15  Robert Love  <rml@novell.com>
14805
14806         Patch by Timo Hoenig  <thoenig@suse.de>:
14807         * src/NetworkManagerDbus.c
14808                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
14809                         if HAL jumps off the system bus.  Otherwise libdbus
14810                         (dbus_connection_dispatch) will try to run the filter
14811                         function of our libhal context which is already freed.
14812
14813 2005-12-15  Alexander Shopov  <ash@contact.bg>
14814
14815         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
14816
14817 2005-12-14  Dan Williams  <dcbw@redhat.com>
14818
14819         * include/NetworkManager.h
14820           src/NetworkManagerWireless.c
14821                 - Rearrange 802.11 wireless-specific capabilities again
14822
14823         * src/Makefile.am
14824                 - Forgot to add wpa.c/wpa.h to the makefiles
14825
14826         * src/NetworkManagerAP.[ch]
14827                 - Implement access point capabilities and parse the
14828                         WPA/RSN IEs into the capability bitfield
14829                 - Switch the "encrypted" attribute to utilize the bitfield
14830                         and capabilities rather than being independent
14831
14832         * src/NetworkManagerDevice.c
14833                 - (nm_device_wireless_get_activation_ap): break it horribly
14834                         until we can push NMAPSecurity objects into access point
14835                         objects and through the activation chain
14836                 - Stuff WPA & RSN IEs into AP capabilities
14837
14838         * src/nm-dbus-nm.c
14839                 - Take a shot at actually making setActiveDevice work
14840
14841         * src/wpa.[ch]
14842                 - Make the API a bit saner
14843
14844 2005-12-14  Dan Williams  <dcbw@redhat.com>
14845
14846         * include/NetworkManager.h
14847                 - Add 802.11-specific capability for 802.1x key
14848                         management
14849
14850         * src/wpa.[ch]
14851                 - Pull in WPA IE and RSN IE parsing code from
14852                         wpa_supplicant so we can determine access point
14853                         capabilities
14854                 - Move WPA-related constants here from NetworkManagerAP.h
14855                         and NetworkManagerDevice.c
14856
14857         * src/NetworkManagerDevice.c
14858           src/NetworkManagerAP.[ch]
14859                 - Use WPA-related constants from wpa.h
14860
14861 2005-12-14  Dan Williams  <dcbw@redhat.com>
14862
14863         * include/NetworkManager.h
14864                 - Update and split 802.11 wireless-specific capabilities from
14865                         generic device capabilities
14866
14867         * src/NetworkManagerDevice.c
14868           src/NetworkManagerDevicePrivate.h
14869                 - (nm_device_wireless_discover_capabilities): Move 802.11
14870                         wireless-specific capability checks to
14871                         NetworkManagerWireless.c
14872                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
14873                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
14874
14875         * src/NetworkManagerWireless.[ch]
14876                 - (nm_802_11_wireless_discover_capabilities): Check extended
14877                         802.11 wireless-specific capabilities of the driver
14878
14879 2005-12-14  Robert Love  <rml@novell.com>
14880
14881         Patch from Stefan Scheler <sscheler@suse.de>:
14882         * src/NetworkManagerDevice.c: call backend code to activate and
14883           deactivate NIS.
14884         * src/NetworkManagerSystem.h: add new NIS interfaces.
14885         * src/backends/NetworkManagerDebian.c,
14886           src/backends/NetworkManagerGentoo.c,
14887           src/backends/NetworkManagerRedHat.c,
14888           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
14889           support.
14890         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
14891
14892 2005-12-14  Dan Williams  <dcbw@redhat.com>
14893
14894         * src/nm-ap-security*.[ch]
14895                 - Add AP security abstractions to NetworkManager
14896
14897         * src/nm-dbus-device.c
14898                 - Begin to parse new format dbus messages from the applet
14899                         and construct an AP security object from the message
14900
14901         * libnm-util/dbus-helpers.c
14902                 - Use message iters so we can append the key as a fixed
14903                         array of bytes, which actually works rather than
14904                         using dbus_message_append_args() as we were before
14905
14906 2005-12-14  Dan Williams  <dcbw@redhat.com>
14907
14908         * src/NetworkManagerDbus.c
14909           gnome/applet/applet-dbus.c
14910                 - Fix up dbus service replacement options.  The applet
14911                         should allow replacement, NM itself should not.
14912
14913 2005-12-13  Robert Love  <rml@novell.com>
14914
14915         * src/named-manager/nm-named-manager.c: Revert earlier commit.
14916           Instead, fail silently if config is NULL by not asserting and not
14917           returning FALSE.  Also, make sure we always fclose() the file.
14918
14919 2005-12-13  Robert Love  <rml@novell.com>
14920
14921         Patch by Stefan Scheler <sscheler@suse.de>:
14922         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
14923            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
14924            via DHCP.  Still need the backends to commit the NIS domain name and
14925            and servers to yp.conf as needed.
14926
14927 2005-12-13  Robert Love  <rml@novell.com>
14928
14929         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
14930           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
14931
14932 2005-12-13  Robert Love  <rml@novell.com>
14933
14934         * src/named-manager/nm-named-manager.c: Don't unref the config until
14935           after we call rewrite_resolv_conf(), because get_last_default_domain()
14936           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
14937           `config != NULL' failed" assertion failures and "Could not commit DNS
14938           changes" warnings.
14939
14940 2005-12-12  Dan Williams  <dcbw@redhat.com>
14941
14942         * libnm-util/dbus-helpers.[ch]
14943           libnm-util/Makefile.am
14944                 - new helper calls to consolidate locations where
14945                         NM's setDevice method is called
14946
14947         * gnome/applet/applet-dbus-devices.c
14948           gnome/applet/wireless-security-option.c
14949           gnome/applet/wso-*
14950                 - Implement dbus message param append function for
14951                         all wireless security options
14952
14953 2005-12-12  Robert Love  <rml@novell.com>
14954
14955         * libnm-util/cipher-wep-passphrase.c,
14956           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
14957           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
14958           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
14959           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
14960           When handling keys, we don't care what the sign is.  The compiler
14961           guarantees us that we get our 8-bits, which is all we care about.
14962         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
14963
14964 2005-12-12  Dan Williams  <dcbw@redhat.com>
14965
14966         * gnome/applet/applet-dbus-devices.[ch]
14967           gnome/applet/applet.c
14968           gnome/applet/other-network-dialog.c
14969           gnome/applet/wireless-security-manager.[ch]
14970           gnome/applet/wireless-security-option.[ch]
14971           gnome/applet/wso-*
14972                 - Push the wireless security options further into the applet
14973
14974 2005-12-12  Robert Love  <rml@novell.com>
14975
14976         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
14977           return any name servers.  That is perfectly valid.  (Novell #134369).
14978
14979 2005-12-11  Dan Williams  <dcbw@redhat.com>
14980
14981         * gnome/applet/wso-*
14982           gnome/applet/wireless-security-option.*
14983           gnome/applet/Makefile.am
14984                 - split each security option out so we can eventually
14985                         have each one build up their own dbus message
14986                         arguments to send to NM
14987
14988 2005-12-11  Dan Williams  <dcbw@redhat.com>
14989
14990         * Make validation of the key work correctly
14991
14992 2005-12-11  Dan Williams  <dcbw@redhat.com>
14993
14994         * Hook more bits of the Other Network Dialog up to the
14995                 wireless security manager stuff, and restructure
14996                 bits of the dialog so there's less code.
14997
14998 2005-12-10  Dan Williams  <dcbw@redhat.com>
14999
15000         * gnome/applet/Makefile.am
15001                 - Add libnm-util to includes
15002                 - Add libnm-util to link list
15003                 - Add wireless-security-common.* to compile list
15004
15005         * gnome/applet/other-network-dialog.c
15006                 - Convert to using the WirelessSecurityManager code and
15007                         widgets
15008
15009         * gnome/applet/passphrase-dialog.c
15010                 - Comment out references to stuff in the glade file that
15011                         cause runtime errors until it can be fixed up
15012                         to use the WirelessSecurityManager code
15013
15014         * gnome/applet/wireless-applet.glade
15015                 - Rename some widgets
15016                 - Add widgets for the WirelessSecurityManager code
15017                 - Remove passphrase-related stuff since that's now
15018                         handled by the WirelessSecurityManager code
15019
15020 2005-12-10  Dan Williams  <dcbw@redhat.com>
15021
15022         * gnome/applet/applet-dbus-devices.c
15023                 - Print out error message details for dbus pending call callbacks
15024                 - Move nmwa_dbus_update_devices() up
15025
15026         * gnome/applet/applet-dbus-vpn.c
15027                 - Print out error message details for dbus pending call callbacks
15028
15029 2005-12-10  Dan Williams  <dcbw@redhat.com>
15030
15031         * libnm-util/*
15032                 - More fixups
15033                 - Remove cipher-manager.* because we don't need it
15034                 - Forgot to add gnome-keyring-md5 files to compile list
15035
15036 2005-12-09  Dan Williams  <dcbw@redhat.com>
15037
15038         * libnm-util/*
15039           configure.in
15040           Makefile.am
15041                 - Add a utility library for clients of NetworkManager.  It's
15042                         only targetted at applets for the moment, and contains
15043                         a generalized 802.11 cipher framework for different
15044                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
15045
15046 2005-12-09  Robert Love  <rml@novell.com>
15047
15048         * src/NetworkManagerDevice.c: handle error better in
15049           nm_device_set_mode().
15050
15051 2005-12-08  Robert Love  <rml@novell.com>
15052
15053         * include/NetworkManager.h: add WPA capabilities constants
15054         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
15055           or WPA2 and add the capabilities bits as appropriate.
15056
15057 2005-12-08  Robert Love  <rml@novell.com>
15058
15059         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
15060           NetworkManagerDispatcher.
15061         * configure.in, initscript/SUSE/.cvsignore,
15062           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
15063           initscript.
15064
15065 2005-12-08  Robert Love  <rml@novell.com>
15066
15067         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
15068
15069 2005-12-08  Robert Love  <rml@novell.com>
15070
15071         * src/NetworkManagerDevice.c: We want to fall back on and default to
15072           IW_MODE_AUTO, not -1, which is more in line with our previous
15073           behavior.  Otherwise, we try to set the wireless mode to -1 in
15074           nm_device_set_mode().
15075
15076 2005-12-07  Robert Love  <rml@novell.com>
15077
15078         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
15079           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
15080           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
15081           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
15082           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
15083           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
15084           zero.
15085
15086 2005-12-07  Robert Love  <rml@novell.com>
15087
15088         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
15089           supplied IP is invalid, fall back to DHCP.
15090
15091 2005-12-07  Dan Williams  <dcbw@redhat.com>
15092
15093         * Convert NETWORK_MODE_* constants to IW_MODE_*
15094         * Make all the get_mode/set_mode functions take and return 'int'
15095         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
15096
15097 2005-12-07  Robert Love  <rml@novell.com>
15098
15099         * src/NetworkManagerDevice.c: strncpy() buffer check.
15100         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
15101
15102 2005-12-06  Dan Williams  <dcbw@redhat.com>
15103
15104         * gnome/applet/applet-dbus.c
15105                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
15106
15107         * gnome/applet/applet-dbus-vpn.c
15108                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
15109                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
15110                         to TRUE here if stage was ACTIVATED
15111
15112 2005-12-06  Dan Williams  <dcbw@redhat.com>
15113
15114         * Change nm_device_is_* functions to better names:
15115                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
15116                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
15117
15118 2005-12-06  Dan Williams  <dcbw@redhat.com>
15119
15120         * Change naming of NMDeviceType to something more sensible:
15121                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
15122                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
15123                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
15124
15125 2005-12-06  Dan Williams  <dcbw@redhat.com>
15126
15127         * Move NetworkManager.h -> include/NetworkManager.h
15128         * Split out VPN stuff into include/NetworkManagerVPN.h
15129         * Fix up makefiles to include new location
15130         * Fix up sources to include NetworkManagerVPN.h
15131
15132 2005-12-06  Dan Williams  <dcbw@redhat.com>
15133
15134         Various changes in the applet to move VPN connection "state" -> "stage",
15135         which it actually is.  I'd like to change the signal as well when we
15136         break compat in the near future.
15137
15138 2005-12-06  Dan Williams  <dcbw@redhat.com>
15139
15140         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
15141         * initscript/Slackware/rc.networkmanager
15142                 - Cosmetic fix
15143
15144         * src/backends/NetworkManagerSlackware.c
15145                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
15146                         interfaces
15147
15148 2005-12-05  Robert Love  <rml@novell.com>
15149
15150         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
15151           to free, particularly here as it just barfs.
15152
15153 2005-12-05  Dan Williams  <dcbw@redhat.com>
15154
15155         * gnome/applet/applet-dbus.c
15156                 - Work with dbus 0.6 too
15157
15158 2005-12-03  Dan Williams  <dcbw@redhat.com>
15159
15160         * src/NetworkManagerUtils.[ch]
15161           src/nm-ip4-config.c
15162                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
15163                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
15164
15165 2005-12-01  Robert Love  <rml@novell.com>
15166
15167         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
15168           need a NULL for the '...' parameter, too, to fill the so-called
15169           sentinel.
15170
15171 2005-12-01  Robert Love  <rml@novell.com>
15172
15173         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
15174           interface is already gone, so don't call rtnl_link_change() to down
15175           it (which will segfault, anyhow).
15176
15177 2005-11-22  Robert Love  <rml@novell.com>
15178
15179         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
15180           gateway is not set, just print a little note.  Configurations without
15181           gateways are valid.
15182
15183 2005-11-22  Robert Love  <rml@novell.com>
15184
15185         * README: update
15186
15187 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
15188
15189         * configure.in: Added Finnish translation to ALL_LINGUAS
15190
15191 2005-11-14  Robert Love  <rml@novell.com>
15192
15193         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
15194           Niemueller <tim@niemueller.de>.
15195
15196 2005-11-08  Dan Williams  <dcbw@redhat.com>
15197
15198         Patch from Bill Moss <bmoss@clemson.edu>
15199         * src/NetworkManagerDevice.c
15200                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
15201                         of nm_policy_schedule_activation_finish() to prevent a
15202                         race condition that causes the link to be dropped
15203
15204 2005-11-08  Dan Williams  <dcbw@redhat.com>
15205
15206         Patch from Bill Moss <bmoss@clemson.edu>
15207         * src/NetworkManagerAPList.c
15208           src/NetworkManagerDevice.c
15209           src/NetworkManagerDbus.c
15210                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
15211                         we get more readable ether/mac addresses
15212
15213 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15214
15215         * gnome/applet/main.c: Don't set the restart command.  This fixes
15216         the issue where the restart command was getting copies of all its
15217         arguments for each time the applet was restarted.
15218
15219 2005-11-02  Robert Love  <rml@novell.com>
15220
15221         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
15222           if the widget state differs from our saved state.  This ensures we
15223           do not enter an endless loop of death and destruction.  Also, this
15224           guarantees us that we enforce the widget state.
15225
15226 2005-11-02  Robert Love  <rml@novell.com>
15227
15228         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
15229         * gnome/applet/applet-dbus-devices.c: invoke the new function
15230           nmwa_enable_wireless_set_active() to ensure that the state of the
15231           'Enable Wireless' checkbox matches the daemon's state.  This is a
15232           concern because the daemon remembers the state.
15233
15234 2005-11-02  Robert Love  <rml@novell.com>
15235
15236         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
15237           Enabled", as checkboxes should be actions/commands not positive
15238           statements, otherwise they are confusing in the unselected case.  See
15239           examples in GNOME HIG, Chapter 6.
15240
15241 2005-11-02  Robert Love  <rml@novell.com>
15242
15243         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
15244           show a list of wireless networks or the wireless devices or the
15245           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
15246           a bad bug: If wireless is disabled and the user picks a wireless
15247           network, NM will switch to the network, only to immediately switch
15248           back, as wireless is disabled.  This also reassures people that NM
15249           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
15250
15251 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15252
15253         * gnome/applet/applet.c:
15254         * gnome/applet/applet.h:
15255         Partial backout of Dan's timeout animation patch.
15256         Timeout IDs cannot legally be 0, so revert the code in place to handle
15257         a timeout ID of 0 to denote the timeout isn't running.
15258
15259 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15260
15261         * src/NetworkManagerPolicy.c:
15262         (nm_policy_device_change_check) Clarify wireless switch nm_info text
15263
15264 2005-10-28  Robert Love  <rml@novell.com>
15265
15266         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
15267           "Import Saved Configuration..." to make it clear that importing is
15268           not the next step, but an option.  As an aside, a nice TODO would be
15269           to move Importing out of the vpn-specific dialog and into the main
15270           property editor, as Importing goes with Adding, but that will require
15271           some rearchitecting of the VPN stuff I suspect.
15272
15273 2005-10-27  Dan Williams  <dcbw@redhat.com>
15274
15275         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
15276         we should replace most of the distro-specific backend code
15277         with libnl stuff.
15278
15279         Get it here:  http://people.suug.ch/~tgr/libnl/
15280
15281         * configure.in
15282           src/Makefile.am
15283                 - Add checks for libnl pkgconfig file
15284                 - Use LIBNL_LIBS & LIBNL_CFLAGS
15285
15286         * src/NetworkManagerSystem.c
15287           src/nm-ip4-config.[ch]
15288                 - Use libnl rather than ioctl() for most things
15289                 - Remove unused functions
15290
15291 2005-10-27  Robert Love  <rml@novell.com>
15292
15293         * src/backends/NetworkManagerSuSE.c: fix warning message text
15294
15295 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15296
15297         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
15298
15299 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15300
15301         * gnome/applet/applet.c: The applet's about dialog can advertise our 
15302         project page <http://www.gnome.org/projects/NetworkManager/>
15303
15304 2005-10-26  Christopher Aillon  <caillon@redhat.com>
15305
15306         * gnome/applet.c: Also use translator credits if we don't have
15307         the new GtkAboutDialog (older versions of GTK+)
15308
15309 2005-10-26  Robert Love  <rml@novell.com>
15310
15311         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
15312           failure; correct usage text for "--no-daemon"
15313
15314 2005-10-25  Dan Williams  <dcbw@redhat.com>
15315
15316         * src/NetworkManagerDevice.c
15317                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
15318                         no scan results
15319                 - (free_process_scan_cb_data): unref the device when freeing results
15320                 - (nm_device_wireless_process_scan_results): free scan results a bit later
15321                         so we don't unref the device underneath ourselves
15322
15323 2005-10-25  Dan Williams  <dcbw@redhat.com>
15324
15325         * Back out 2005-10-24 commit from Tor Krill.  Patch
15326                 causes nameservers never to be removed from named.
15327
15328 2005-10-24  Dan Williams  <dcbw@redhat.com>
15329
15330         Clean up wireless scanning and wireless link probing.
15331
15332         * src/NetworkManagerDevice.c
15333                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
15334                         just see if there's an activation request on the device, and check the
15335                         current link against the activation request access point's ESSID.
15336                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
15337                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
15338                         don't call process_scan_results() on zero-length data
15339                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
15340                         15 seconds (from 10)
15341
15342 2005-10-24  Dan Williams  <dcbw@redhat.com>
15343
15344         Cleanup some applet stuff:
15345
15346         - Animation timeouts.  If NM died while the applet was animating,
15347                 the applet would not hide itself.  This is now fixed.
15348
15349         - Remove some dead code
15350
15351         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
15352                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
15353
15354         - Track animation timeout using a gboolean rather than the timeout's
15355                 ID, since timeout IDs can legally be 0.
15356
15357 2005-10-24  Dan Williams  <dcbw@redhat.com>
15358
15359         * src/backends/interface_parser.c
15360                 - Add void to function declarations that need it
15361                         to match patch from Engin AYDOGAN
15362
15363         * src/backends/interface_parser.h
15364                 - Remove unused prototype for ifparser_interfaces()
15365
15366         Patch from Engin AYDOGAN <engin@bzzzt.biz>
15367         * src/backends/interface_parser.h:
15368                 - Compile fixes for gcc 4.0.2 (add void)
15369
15370 2005-10-24  Dan Williams  <dcbw@redhat.com>
15371
15372         Patch from Tor Krill <tor@krill.nu>
15373         * src/named-manager/nm-named-manager.c
15374                 - Write more than just the first nameserver to /etc/resolv.conf
15375                 - Write out valid /etc/resolv.conf on exit
15376
15377 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15378
15379         * gnome/applet/applet-dbus-vpn.c:
15380         Get rid of spurious newlines in debug console output
15381
15382 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15383
15384         * src/backends/NetworkManagerGentoo.c:
15385         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
15386
15387 2005-10-20  Robert Love  <rml@novell.com>
15388
15389         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
15390           direct comparison of floating point values, which is never correct.
15391           Also some misc. cleanup.
15392
15393 2005-10-19  Robert Love  <rml@novell.com>
15394
15395         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
15396
15397 2005-10-19  Robert Love  <rml@novell.com>
15398
15399         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
15400           sensitivity of the buttons.  Specificaly, do the right thing if
15401           there are no entries.
15402
15403 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15404
15405         * configure.in: Update check for adequate wireless-tools
15406         with an AC_TRY_COMPILE for the new symbols we use.
15407
15408 2005-10-19  Dan Williams  <dcbw@redhat.com>
15409
15410         * src/NetworkManagerDevice.c
15411                 - (process_scan_results): don't drop the last (or only)
15412                         access point we see
15413
15414 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15415
15416         * src/backends/NetworkManagerSlackware.c:
15417         Patch from Nico <lordllucifer@gmail.com>
15418                 - Update the Slackware backend.
15419
15420 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15421
15422         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
15423         if we've got GLib 2.8.0
15424
15425 2005-10-18  Robert Love  <rml@novell.com>
15426
15427         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
15428           function nm_schedule_state_change_signal_broadcast() when we
15429           deactivate a device, too.
15430
15431 2005-10-18  Robert Love  <rml@novell.com>
15432
15433         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
15434           be used uninitialized.
15435
15436 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15437
15438         * test/libnm_glib_test.c: Test unregistering, too.
15439
15440 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15441
15442         * configure.in: Bump to 0.5.0
15443
15444 2005-10-17  Dan Williams  <dcbw@redhat.com>
15445
15446         * NetworkManager.h
15447                 - Remove WPA-related constants so they aren't part of the
15448                         upcoming release.
15449
15450 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15451
15452         * gnome/applet/applet.c:
15453         * gnome/applet/applet.h:
15454         Desensitize the 'Connection Information' menu item when there is
15455         no active connection.
15456
15457 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15458
15459         * gnome/libnm_glib/libnm_glib.c:
15460         Make libnm_glib_unregister_callback () actually unregister the callback
15461
15462 2005-10-17  Robert Love  <rml@novell.com>
15463
15464         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
15465           two seconds -- tries is updated every 1/10 of a second, not every
15466           second..
15467
15468 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15469
15470         * gnome/applet/applet-dbus-info.c:
15471         Let D-BUS know that we haven't handled a message when we haven't.
15472
15473 2005-10-17  Robert Love  <rml@novell.com>
15474
15475         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
15476           in order to remain 64-bit clean.
15477
15478 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15479
15480         * gnome/applet/applet-dbus-info.c:
15481         Find network encryption keys asynchronously
15482
15483 2005-10-17  Robert Love  <rml@novell.com>
15484
15485         * src/backends/NetworkManagerDebian.c,
15486           src/backends/NetworkManagerRedHat,
15487           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
15488           comment delimiter.
15489
15490 2005-10-17  Robert Love  <rml@novell.com>
15491
15492         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
15493           "/etc"
15494
15495 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15496
15497         * src/NetworkManagerDevice.c: (process_scan_results)
15498         Fix logic that checks to see whether we have an ESSID.
15499
15500 2005-10-15  Dan Williams  <dcbw@redhat.com>
15501
15502         Move scanning code into NetworkManager rather than use iwlib's
15503         iw_scan() function, so that we can figure out AP capabilities.
15504
15505         * NetworkManager.h
15506                 - Add AP capability bits
15507
15508         * src/NetworkManagerAP.[ch]
15509                 - Add capability field to NMAccessPoint structure
15510                 - Add WPA & RSN Information Element fields and accessor
15511                         functions to NMAccessPoint
15512
15513         * src/NetworkManagerDevice.c
15514                 - Remove usage of iw_scan
15515                 - Add scanning code to NetworkManager rather than use
15516                         iw_scan() from iwlib
15517
15518         * src/NetworkManagerUtils.[ch]
15519                 - (nm_dispose_scan_results): remove, unused
15520
15521 2005-10-14  Christopher Aillon  <caillon@redhat.com>
15522
15523         * gnome/libnm_glib/libnm_glib.c:
15524         * gnome/libnm_glib/libnm_glib.h:
15525         Use guint instead of gint for callback IDs.
15526
15527 2005-10-12  Christopher Aillon  <caillon@redhat.com>
15528
15529         * gnome/applet/applet.c:
15530         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
15531         every 1000ms.  It will unconditionally call nmwa_update_state which
15532         kills the existing animation timeout and registers a new one with a
15533         callback to draw a new frame every 100ms.  There are 11 connecting
15534         icon frames, so the last 2 frames kept getting dropped.  Only reset
15535         the animation timeout if we aren't animating.
15536
15537 2005-10-11  Dan Williams  <dcbw@redhat.com>
15538
15539         * gnome/applet/applet-dbus-devices.c
15540                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15541                         We want to grab the product & vendor from net.physical_dev
15542                         rather than info.parent.
15543
15544 2005-10-11  Dan Williams  <dcbw@redhat.com>
15545
15546         * src/NetworkManagerDevice.c
15547                 - Use the driver's WE version for scanning rather than
15548                         the WE version NM was compiled with.  Fixes random
15549                         crashes in iw_scan () in iwlib.
15550
15551 2005-10-10  Dan Williams  <dcbw@redhat.com>
15552
15553         * Remove nm_system_load_device_modules() from backend files
15554                 and from NetworkManager.c
15555
15556 2005-10-10  Dan Williams  <dcbw@redhat.com>
15557
15558         * src/NetworkManagerPolicy.c
15559                 - Fix some bugs introduced by the capabilities patch
15560
15561 2005-10-10  Dan Williams  <dcbw@redhat.com>
15562
15563         * gnome/applet/applet-dbus-info.c
15564                 - (nmi_dbus_get_network_key): hide the menu when putting up
15565                         the keyring dialog.  (not sure if the code is right...)
15566
15567 2005-10-09  Dan Williams  <dcbw@redhat.com>
15568
15569         Patch from Bill Moss <bmoss@clemson.edu>
15570         * src/NetworkManagerDevice.c
15571                 - (nm_device_set_user_key_for_network): don't try to set auth
15572                         mode on the AP from the allowed list if it's NULL
15573
15574 2005-10-09  Dan Williams  <dcbw@redhat.com>
15575
15576         * Replace the "driver support level" stuff with capabilities.  The
15577                 capability field is a bitfield that is more flexible than the
15578                 old driver support level thing.  It's mostly so we can easily
15579                 figure out what supports WPA and what doesn't, but should be
15580                 quite useful later.
15581
15582 2005-10-09  Dan Williams  <dcbw@redhat.com>
15583
15584         * test/nmtest.c
15585                 - Removed
15586
15587         * test/nm-tool.c
15588           test/Makefile.am
15589                 - Added new "nm-tool" tool that gives quite a bit more
15590                         information
15591
15592 2005-10-07  Robert Love  <rml@novell.com>
15593
15594         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15595           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15596           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15597           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15598           appropriate
15599
15600 2005-10-07  Robert Love  <rml@novell.com>
15601
15602         * configure.in: Change our compile flags for the betterment of mankind.
15603           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15604           prototype is very bad on 64-bit platforms as types default to int but
15605           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15606           "-Wmissing-declarations" to warn if we define an exported function
15607           but fail to put it in a header.
15608
15609 2005-10-07  Robert Love  <rml@novell.com>
15610
15611         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15612           by the name nm_update_device_wireless_timeouts() and once tried,
15613           without success, to steal my pet turtle.
15614
15615 2005-10-07  Robert Love  <rml@novell.com>
15616
15617         * Cleanup prototypes: put some functions in header files and mark
15618           others as 'static' -- feel free to invert
15619         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15620           nm_vpn_manager_vpn_connection_list_copy()
15621         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15622           nm_vpn_service_get_dbus_connection()
15623         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15624           nm_vpn_manager_vpn_connection_list_copy()
15625         * src/vpn-manager/nm-vpn-service.c: make
15626           nm_vpn_service_act_request_failed() and
15627           nm_vpn_service_stage2_daemon_wait() static
15628         * src/vpn-manager/nm-vpn-service.h: add prototype for
15629           nm_vpn_service_get_dbus_connection()
15630
15631 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15632
15633         * gnome/applet/applet.c:
15634         * gnome/applet/applet.h:
15635         * gnome/applet/icons/Makefile.am:
15636         Convey information about the current connection stage in the
15637         icons themselves instead of creating a separate progress bar.
15638
15639 2005-10-04  Robert Love  <rml@novell.com>
15640
15641         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15642           convert an ether_addr structure's MAC into a string, because the
15643           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15644           versus 07:3B:04, while the former will not.
15645
15646 2005-10-04  Robert Love  <rml@novell.com>
15647
15648         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15649           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15650           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15651           default route in the 'Connection Information' dialog, send primary
15652           and secondary name servers in in "getProperties" DBUS method, add
15653           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15654           secondary domain name servers are crucial pieces of information
15655           that a user might need in debugging a network problem.
15656
15657 2005-10-04  Robert Love  <rml@novell.com>
15658
15659         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15660           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15661           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15662           default route in the 'Connection Information' dialog, send default
15663           route in "getProperties" DBUS method, add network_device_set_route(),
15664           and network_device_get_route().  The Gateway is a crucial piece of
15665           connection-related information that a user might need in debugging a
15666           network problem.
15667
15668 2005-10-03  Robert Love  <rml@novell.com>
15669
15670         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15671           NULL.
15672
15673 2005-10-02  Dan Williams  <dcbw@redhat.com>
15674
15675         * Shorten time taken to sleep by fastpathing bits of device deactivation
15676                 necessary for sleep.
15677
15678         * Fix issue where deactivating a device might deactivate the active
15679                 VPN connection, even if the VPN was not using the device.
15680
15681 2005-10-02  Dan Williams  <dcbw@redhat.com>
15682
15683         * gnome/applet/applet.c
15684                 - Adjust signal strength -> icon mapping values slightly
15685                         (so that 51% signal doesn't show a 75% icon) by adding
15686                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15687                         shows 50% icon, etc.
15688
15689 2005-09-29  Robert Love  <rml@novell.com>
15690
15691         * src/NetworkManager.c: removed unused variable.
15692
15693 2005-09-28  Dan Williams  <dcbw@redhat.com>
15694
15695         Support for named + DBus, using Red Hat DBus patches for named.  You
15696         can find those patches here, with "dbus" in the patch's filename:
15697
15698                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15699
15700         Don't forget the named dbus service file either.
15701
15702         Instead of writing a config file and spawing a named process, NM will
15703         use an already-running dbus-enabled named if it finds one.  NM will
15704         update named's forwarder configuration on the fly using dbus.
15705
15706         If there is no dbus-enabled named running, NM will automatically fall
15707         back to writing the most-recent DNS server information to /etc/resolv.conf
15708         and calling nm_system_update_dns() to kick the system's resolver.
15709
15710         Accordingly, all named-related configure-time options have been removed.
15711
15712 2005-09-26  Robert Love  <rml@novell.com>
15713
15714         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15715           ISDN support!
15716         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15717           bug in error path if "ASKPASSWORD" is "no".
15718
15719 2005-09-26  Robert Love  <rml@novell.com>
15720
15721         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15722           comment in /etc/resolv.conf -- ';' is not.
15723
15724 2005-09-19  Dan Williams  <dcbw@redhat.com>
15725
15726         * src/backends/NetworkManagerRedHat.c:
15727         * src/backends/NetworkManagerDebian.c:
15728         * src/backends/NetworkManagerSlackware.c:
15729         * src/backends/NetworkManagerGentoo.c:
15730         * src/backends/NetworkManagerSUSE.c:
15731         Fix invocations of "/sbin/ip address" to use short form instead
15732
15733 2005-09-19  Christopher Aillon  <caillon@redhat.com>
15734
15735         * src/nm-dbus-device.c: Don't assert when getting
15736         addresses of a not yet connected interface.
15737
15738         * gnome/applet/applet.c: Free icons if loading fails.
15739         Use translator-credits so translators can make themselves known.
15740
15741 2005-09-15  Christopher Aillon  <caillon@redhat.com>
15742
15743         * src/NetworkManagerAP.c:
15744         * src/NetworkManagerAP.h:
15745         * src/NetworkManagerDevice.c:
15746         Set a blacklist for certain common manufacturer default ESSIDs:
15747         APs with these ESSIDs are extremely likely to be completely
15748         different networks: connecting to one should not make NM
15749         auto-connect to every other AP with the same default ESSID.
15750
15751 2005-09-12  Christopher Aillon  <caillon@redhat.com>
15752
15753         * gnome/applet/wireless-applet.glade:
15754         The passphrase entry should also activate the default
15755
15756         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
15757
15758         * gnome/applet/applet-dbus-devices.c:
15759         * gnome/applet/applet.c:
15760         * gnome/applet/nm-device.c:
15761         * gnome/applet/nm-device.h:
15762         * src/NetworkManagerUtils.c:
15763         * src/NetworkManagerUtils.h:
15764         * src/nm-dbus-device.c:
15765         I've got a fever, and the only cure for it is less ioctl.
15766         Make NM push IP data rather than make the applet open a socket
15767         to the device.
15768
15769 2005-09-10  Christopher Aillon  <caillon@redhat.com>
15770
15771         * gnome/applet/applet.c:
15772         * gnome/applet/applet-dbus-devices.c:
15773         * gnome/applet/applet-dbus-info.c:
15774         * gnome/applet/passphrase-dialog.c:
15775         * gnome/libnm_glib/libnm_glib.c:
15776         * gnome/vpn-properties/nm-vpn-properties.c:
15777         * src/autoip.c:
15778         * src/backends/NetworkManagerRedHat.c:
15779         * src/named-manager/nm-named-manager.c:
15780         * src/NetworkManagerAPList.c:
15781         * src/NetworkManager.c:
15782         * src/NetworkManagerDbus.c:
15783         * src/NetworkManagerDevice.c:
15784         * src/NetworkManagerPolicy.c:
15785         * src/NetworkManagerSystem.c:
15786         * src/nm-dbus-device.c:
15787         * src/nm-dbus-nm.c:
15788         * src/vpn-manager/nm-vpn-manager.c:
15789         * src/vpn-manager/nm-vpn-service.c:
15790         * test/libnm_glib_test.c:
15791         * test/nminfotest.c:
15792         * test/nmtestdevices.c:
15793         Fix a bunch of 'unused variable' compiler warnings
15794
15795         * NetworkManager.h:
15796         * gnome/applet/applet-dbus-info.c:
15797         * gnome/applet/applet-dbus-info.h:
15798         * gnome/applet/applet.c:
15799         * gnome/applet/applet.h:
15800         * src/NetworkManager.c:
15801         * src/NetworkManagerDbus.c:
15802         * src/NetworkManagerDbus.h:
15803         * src/NetworkManagerDevice.c:
15804         * src/NetworkManagerDevice.h:
15805         * src/NetworkManagerMain.h:
15806         * src/NetworkManagerWireless.c:
15807         * src/NetworkManagerWireless.h:
15808         * src/nm-dbus-nm.c:
15809         Make NetworkManager be smart about how frequently to scan
15810         based on its current state.  Remove the UI for choosing when
15811         to scan.  Scanning still may disabled completely by the user
15812         via the "Wireless Enabled" menu item.
15813
15814 2005-09-09  Christopher Aillon  <caillon@redhat.com>
15815
15816         * gnome/applet/applet.c:
15817         Also overlay the vpn connecting icons onto the wired icon,
15818         when appropriate.
15819
15820         * gnome/vpn-properties/nm-vpn-properties.glade:
15821         Clean up a few strings to use better grammar and proper casing.
15822
15823 2005-09-08  Christopher Aillon  <caillon@redhat.com>
15824
15825         * gnome/applet/vpn-connection.c:
15826         * gnome/applet/vpn-connection.h:
15827         Add nmwa_vpn_connection_is_activating ()
15828
15829         * gnome/applet/applet.c:
15830         * gnome/applet/applet.h:
15831         * gnome/applet/icons/nm-vpn-connecting*.png:
15832         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
15833         the user know something's happening between clicking the VPN item and it
15834         actually being connected.
15835
15836 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15837
15838         * gnome/applet/applet-dbus-info.c: need to free attributes in the
15839         failure case as well.
15840
15841 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
15842
15843         * gnome/panel/eggtrayicon.[ch]:
15844         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
15845
15846 2005-09-07  Dan Williams  <dcbw@redhat.com>
15847
15848         Patch from Bill Moss <bmoss@clemson.edu>
15849         * src/applet-dbus.c
15850                 - (nmwa_dbus_filter): strip whitespace from beginning
15851                         and end of VPN login banner
15852
15853 2005-09-07  Dan Williams  <dcbw@redhat.com>
15854
15855         * The great VPN Manager rewrite of 2005
15856
15857 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15858
15859         * gnome/applet/menu-items.c:
15860         * gnome/applet/nm-device.c:
15861         * gnome/applet/wireless-network.c:
15862         * gnome/libnm_glib/libnm_glib.c:
15863         * src/NetworkManagerDbusUtils.c:
15864         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
15865         g_malloc0 doesn't return NULL
15866
15867 2005-09-06  Dan Williams  <dcbw@redhat.com>
15868
15869         Patch from Tomislav Vujec <tvujec@redhat.com>
15870         * src/NetworkManagerDevice.c
15871                 - (nm_get_device_by_udi): don't return a device when we
15872                         actually didn't find what we were looking for
15873
15874 2005-09-06  Christopher Aillon  <caillon@redhat.com>
15875
15876         * gnome/applet/applet-dbus-devices.c:
15877         * gnome/applet/applet-dbus-devices.h:
15878         * gnome/applet/applet-dbus.c:
15879         * src/NetworkManagerDbus.c:
15880         * src/NetworkManagerDbus.h:
15881         * src/NetworkManagerDevice.c:
15882         * src/nm-dbus-device.c:
15883         Make NM push updates about active device strength when it changes,
15884         rather than having the applet poll every 2s.
15885
15886 2005-09-05  Christopher Aillon  <caillon@redhat.com>
15887
15888         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
15889         network_device_set_strength
15890
15891 2005-09-04  Dan Williams  <dcbw@redhat.com>
15892
15893         Patch from Bill Nottingham <notting@redhat.com>
15894         * src/NetworkManagerDevice.c
15895                 - (nm_device_activation_cancel): reset the quit_activation flag
15896
15897 2005-09-04  Dan Williams  <dcbw@redhat.com>
15898
15899         * src/nm-activation-request.c
15900                 - (nm_act_request_unref): actually free the structure,
15901                         which we didn't seem to be doing before
15902
15903 2005-09-04  Dan Williams  <dcbw@redhat.com>
15904
15905         Patch from John Palmieri <johnp@redhat.com>
15906         * gnome/applet/applet-dbus-devices.c
15907                 - Fix up unreffing of DBusMessage objects
15908
15909 2005-09-04  Dan Williams  <dcbw@redhat.com>
15910
15911         Patch from John Palmieri <johnp@redhat.com>
15912         * gnome/applet/nm-device.c
15913                 - (nm_device_unref): clear network_device's memory _before_ freeing it
15914
15915 2005-09-02  Christopher Aillon  <caillon@redhat.com>
15916
15917         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
15918
15919 2005-09-02  Bill Nottingham  <notting@redhat.com>
15920
15921         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
15922
15923 2005-09-01  Dan Williams  <dcbw@redhat.com>
15924
15925         * src/NetworkManager.c
15926                 - (nm_remove_device_from_list): rename to nm_remove_device
15927                 - (nm_hal_device_removed): call nm_remove_device()
15928
15929         * src/NetworkManagerDevice.c
15930                 - Change the NMWirelessScanCB member 'reschedule' which
15931                         wasn't used to 'force' to indicate that we need to
15932                         force a scan when adding a device
15933
15934         * src/nm-dbus-nm.c
15935                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
15936                         from the device list
15937                 - (nm_dbus_nm_wake): Re-add all devices to the device list
15938
15939 2005-09-01  Robert Love  <rml@novell.com>
15940
15941         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
15942           and the check "!iface" in the error case is probably never true.
15943
15944 2005-09-01  Dan Williams  <dcbw@redhat.com>
15945
15946         Patch from Bill Nottingham <notting@redhat.com>
15947         * src/backends/NetworkManagerRedHat.c
15948                 - Add initial dialup support to Red Hat/Fedora backend
15949
15950 2005-09-01  Dan Williams  <dcbw@redhat.com>
15951
15952         * gnome/applet/applet-dbus-devices.c
15953                 - Sort both wireless networks and devices again, which got
15954                         broken when removing threading
15955
15956 2005-09-01  Christopher Aillon  <caillon@redhat.com>
15957
15958         * gnome/applet/applet.c:
15959         Only show the "Stop/Start All Wireless Devices" menuitem
15960         if we actually have wireless devices.
15961
15962         * gnome/applet/applet-dbus-info.c:
15963         * gnome/applet/applet.c:
15964         * gnome/applet/other-network-dialog.c:
15965         * gnome/applet/vpn-password-dialog.c:
15966         Drop the gtk_dialog_run () calls in favor of connecting to
15967         "response" signals, needed now that the applet is not threaded.
15968
15969 2005-08-31  Dan Williams  <dcbw@redhat.com>
15970
15971         Patch from Bill Moss <bmoss@clemson.edu>
15972         * src/NetworkManagerDevice.c
15973                 - (nm_device_wireless_scan): fix scan timeout values
15974
15975 2005-08-30  Dan Williams  <dcbw@redhat.com>
15976
15977         * gnome/applet/wireless-applet.glade
15978                 - HIG-ify the Other Wireless Networks dialog a bit more
15979                 - Fix some potential segfaults in the info dialog
15980
15981 2005-08-30  Dan Williams  <dcbw@redhat.com>
15982
15983         * gnome/applet/applet-dbus-devices.c
15984                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
15985
15986 2005-08-30  Dan Williams  <dcbw@redhat.com>
15987
15988         * gnome/applet/applet-dbus.[ch]
15989                 - Remove all the nmwa_dbus_call_method_xxxx functions since
15990                         they weren't being used anyway
15991
15992 2005-08-30  Bastien Nocera  <hadess@hadess.net>
15993
15994         * test/nmtestdevices.c: (print_usage), (main):
15995         Check the number of arguments, and fix a typo
15996
15997 2005-08-29  Dan Williams  <dcbw@redhat.com>
15998
15999         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
16000         * gnome/applet/applet.c
16001                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
16002
16003 2005-08-29  Dan Williams  <dcbw@redhat.com>
16004
16005         * gnome/applet/*
16006                 - Don't use threads any more.  Anything that blocks
16007                         (like gtk_dialog_run()) will  have to get fixed up which
16008                         should happen quickly.  We really only had threads to make
16009                         the animation smooth, and when everything got converted over
16010                         to DBus Pending Calls, the need for threads kind of went away
16011
16012 2005-08-29  Christopher Aillon  <caillon@redhat.com>
16013
16014         * gnome/applet/applet.c: Draw VPN connections as radio items
16015         since we don't yet support multiple VPNs.
16016         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
16017         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
16018
16019 2005-08-29  Dan Williams  <dcbw@redhat.com>
16020
16021         Patch from j@bootlab.org
16022         - Make --without-named work
16023         - Make --with-dhcdbd work correctly
16024
16025 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
16026
16027         * configure.in: Added "ca" to ALL_LINGUAS.
16028
16029 2005-08-26  Christopher Aillon  <caillon@redhat.com>
16030
16031         * Fix up VPN state handling between the applet and NetworkManager,
16032                 so that the applet doesn't show a VPN as connected when one
16033                 really is not
16034                         - The applet no longer has a pointer to the active VPN's
16035                                 name, but tracks each VPNs state individually
16036                         - NM no longer has a "getActiveVPNConnection" method
16037                         - NM no longer broadcasts the "VPNConnectionChange" signal
16038                         - NM now broadcasts a "VPNConnectionStateChange" signal
16039                                 whenever the state of a VPN changes
16040
16041 2005-08-26  Dan Williams <dcbw@redhat.com>
16042
16043         * gnome/applet/applet-dbus-devices.c
16044           gnome/applet/applet-dbus-vpn.c
16045                 - Remove calls to dbus_pending_call_ref() because we already
16046                         "own" the pending call
16047                 - Remove calls to dbus_pending_call_get_completed() because
16048                         when we are in the callback, the pending call is completed
16049                         by definition
16050
16051 2005-08-22  Dan Williams <dcbw@redhat.com>
16052
16053         Patch by Bill Moss <bmoss@clemson.edu>
16054         * src/dhcp-manager/nm-dhcp-manager.c
16055                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
16056                         some time to send out a RELEASE if they like
16057
16058 2005-08-22  Dan Williams <dcbw@redhat.com>
16059
16060         Noticed by Bill Moss <bmoss@clemson.edu>
16061         * src/NetworkManagerDbus.c
16062                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
16063                         instead of just cancelling its activation
16064
16065         * src/NetworkManagerDevice.c
16066                 - (nm_device_deactivate): some small cleanups
16067                 - (nm_device_set_user_key_for_network): deactivate the device
16068                         instead of just cancelling its activation
16069
16070 2005-08-22  Dan Williams <dcbw@redhat.com>
16071
16072         Noticed by Bill Moss <bmoss@clemson.edu>
16073         * src/NetworkManagerDevice.c
16074                 - (nm_device_wireless_scan): fix scan timeout, we were
16075                         waiting way too long for scans to complete
16076
16077 2005-08-22  Dan Williams <dcbw@redhat.com>
16078
16079         Patch from j@bootlab.org:
16080         * src/backends/NetworkManagerDebian.c
16081                 - Make the Debian backend work for static IP again
16082
16083 2005-08-20  Christopher Aillon  <caillon@redhat.com>
16084
16085         * gnome/applet/other-network-dialog.c:
16086         The "Create New Network" and "Connect to Other Network"
16087         dialogs share alot of code, but shouldn't share a window
16088         title.  Give them different ones.
16089
16090         * gnome/applet/wireless-applet.glade:
16091         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
16092         Some more minor UI tweaks.
16093
16094 2005-08-19  Christopher Aillon  <caillon@redhat.com>
16095
16096         * gnome/applet/other-network-dialog.c:
16097         * gnome/applet/wireless-applet.glade:
16098         Also need mnemonic widgets, and underline enabled.
16099
16100 2005-08-19  Dan Williams <dcbw@redhat.com>
16101
16102         * vpn-daemons/vpnc/nm-vpnc-service.c
16103                 - (vpnc_watch_cb): remove no-longer-relevant comment
16104                 - (write_config_option): new function, helper to write
16105                         config options to vpnc's stdin
16106                 - (nm_vpnc_config_write): use the new helper, make the
16107                         code shorter
16108
16109 2005-08-19  Christopher Aillon <caillon@redhat.com>
16110
16111         * gnome/applet/passphrase-dialog.c:
16112         * gnome/applet/wireless-applet.glade:
16113         Make the passphrase dialog response based, and treat
16114         responses other than OK (such as Esc, [X]) as a cancel.
16115
16116 2005-08-18  Christopher Aillon <caillon@redhat.com>
16117
16118         * initscript/Gentoo/NetworkManager:
16119         * initscript/RedHat/NetworkManager:
16120         * initscript/RedHat/NetworkManagerDispatcher:
16121         * initscript/SUSE/networkmanager:
16122         CVS remove these in place of .in replacements
16123
16124         * configure.in:
16125         * initscript/Gentoo/NetworkManager.in:
16126         * initscript/RedHat/NetworkManager.in:
16127         * initscript/RedHat/NetworkManagerDispatcher.in:
16128         * initscript/SUSE/networkmanager.in:
16129         These scripts now are generated so they work still when
16130         NM is built using a bindir other than /usr/bin
16131
16132 2005-08-18  Dan Williams <dcbw@redhat.com>
16133
16134         * gnome/applet/main.c
16135                 - Revert previous change for --no-session since
16136                         --sm-disable does the same thing
16137
16138 2005-08-18  Dan Williams <dcbw@redhat.com>
16139
16140         * gnome/applet/applet-dbus-info.c
16141                 - (nmi_dbus_create_error_message): new function
16142                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
16143                         functions.  Also don't check for both device _and_ network before
16144                         asking for a user's key, because we may not have gotten all our
16145                         networks back from NM quite yet (due to the dbus pending calls
16146                         coming in later).  Fixes a hang in NM/nm-applet.
16147
16148         * src/NetworkManagerDbus.c
16149                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
16150                         slightly more sane manner, even though we are still broken for
16151                         certain other error conditions.
16152                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
16153                         to the info-daemon too
16154
16155         * src/NetworkManagerDevice.c
16156                 - Fix some debug messages to be info messages instead
16157
16158 2005-08-18  Dan Williams <dcbw@redhat.com>
16159
16160         * gnome/applet/main.c
16161                 - Add new "--no-session" parameter that disables applet
16162                         session management, ie for testing
16163
16164 2005-08-18  Christopher Aillon <caillon@redhat.com>
16165
16166         * gnome/applet/other-network-dialog.c:
16167         * gnome/applet/wireless-applet.glade: More mnemonics
16168
16169 2005-08-17  Robert Love  <rml@novell.com>
16170
16171         * initscript/SUSE/networkmanager: update
16172
16173 2005-08-17  Dan Williams  <dcbw@redhat.com>
16174
16175         * Tag NM_0_4_1_RELEASE
16176
16177 2005-08-17  Christopher Aillon  <caillon@redhat.com>
16178
16179         * gnome/applet/applet.c: More translatable string cleanup
16180
16181
16182 2005-08-17  Dan Williams  <dcbw@redhat.com>
16183
16184         * gnome/applet/applet-dbus-info.c
16185                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
16186                         from the dbus message, which tells us to unconditionally
16187                         ask the user for a new key.  Otherwise, we pull the key from
16188                         the keyring and return it.  If we fail to get the key from the
16189                         keyring, we ask the user for a new key.
16190                 - (nmi_dbus_get_network_key): new function to grab the key for
16191                         an essid from the keyring.
16192                 - (nmi_dbus_get_network_properties): don't access the keyring here.
16193                         Also, don't return any key in the dbus message.
16194
16195         * src/NetworkManagerDbus.[ch]
16196                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
16197                         indicate that we unconditionally want a new key.  This function
16198                         is now also used to get keys from the info-daemon which are
16199                         pre-stored, not just for asking the user for a new key.  The
16200                         "new_key" parameter indicates whether or not we wish to ask the
16201                         user for a new key.
16202                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
16203                         info-daemon in the return message, so use NULL instead.  The
16204                         key will be filled in at connect time by calling
16205                         nm_dbus_get_user_key_for_network()
16206
16207         * src/NetworkManagerDevice.c
16208                 - (nm_device_wireless_configure): update for "new_key" param to
16209                         nm_dbus_get_user_key_for_network().  We initially set new_key
16210                         to FALSE to see if we have a stored key in the info-daemon, but
16211                         if the connection is unsuccessful at this stage we request a
16212                         new one
16213
16214 2005-08-17  Dan Williams  <dcbw@redhat.com>
16215
16216         * gnome/applet/icons/nm-no-connection.png
16217           gnome/applet/icons/nm-device-wired.png
16218                 - Use Diana's new RJ45 connector icons
16219
16220 2005-08-17  Dan Williams  <dcbw@redhat.com>
16221
16222         * src/NetworkManagerPolicy.c
16223                 - (nm_policy_device_change_check): clarify switching rules if
16224                         both new and old devices are valid; mainly, don't switch
16225                         away from user-requested wireless connection back to a wired
16226                         one
16227
16228 2005-08-17  Dan Williams  <dcbw@redhat.com>
16229
16230         * gnome/applet/Makefile.am
16231                 - Relocate the applet to /usr/bin since it is no longer
16232                         executed by anything, but directly by the user
16233
16234 2005-08-17  Dan Williams  <dcbw@redhat.com>
16235
16236         Patch from Bill Moss <bmoss@clemson.edu>
16237
16238         * gnome/applet/applet-dbus-info.[ch]
16239                 - (nmi_save_network_info): save timestamp for network if it
16240                         was a change requested by the user
16241                 - (nmi_dbus_update_network_info): get user_requested from dbus
16242                         message and pass to nmi_save_network_info()
16243
16244         * gnome/applet/applet.c
16245                 - (nmwa_update_network_timestamp): remove
16246                 - (nmwa_menu_item_activate): don't set timestamp on networks
16247                         here, only after a successful connect in nmi_save_network_info()
16248
16249         * src/NetworkManagerDbus.[ch]
16250                 - (nm_dbus_update_network_info): pass user_requested into the 
16251                         dbus message
16252
16253         * src/NetworkManagerPolicy.c
16254                 - (nm_policy_activation_finish): pass user_requested to
16255                         nm_dbus_update_network_info()
16256
16257 2005-08-16  Robert Love  <rml@novell.com>
16258
16259         * gnome/applet/applet.c: Better "Dial Up" menu item.
16260
16261 2005-08-16  Robert Love  <rml@novell.com>
16262
16263         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
16264           "Connection Information" menu item.
16265
16266 2005-08-16  Dan Williams  <dcbw@redhat.com>
16267
16268         Patch from j@bootlab.org
16269         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
16270
16271         * configure.in: allow specifying the path to dhcdbd
16272
16273 2005-08-16  Robert Love  <rml@novell.com>
16274
16275         Patch from j@bootlab.org
16276         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
16277           src/backends/interface_parser.h: Debian dialup support.
16278
16279 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16280
16281         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
16282         * gnome/applet/applet.c: Add some mnemonics for VPNC
16283
16284         * vpn-daemons/.cvsignore: fix this up a little bit
16285
16286 2005-08-16  Robert Love  <rml@novell.com>
16287
16288         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
16289           support.
16290
16291 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16292
16293         * gnome/applet/applet.c: Split markup out of translatable strings
16294         and clean up logic a little bit.  (fixes #309012)
16295
16296 2005-08-15  Christopher Aillon  <caillon@redhat.com>
16297
16298         * gnome/vpn-properties/nm-vpn-properties.c:
16299         * gnome/vpn-properties/nm-vpn-ui-interface.h:
16300         * vpn-daemons/vpnc/properties/nm-vpnc.c:
16301         Makeshift fix to remove newlines from translatable strings.
16302         Note that we now return an allocated string, so callers of
16303         get_confirmation_details () must now call g_free () on the
16304         result. (fixes #309033).
16305
16306 2005-08-12  Robert Love  <rml@novell.com>
16307
16308         * gnome/applet/applet-dbus.c: remove newlines from translatable
16309           strings--not needed here anyway. (fix b.g.o #309011)
16310         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
16311
16312 2005-08-11  Robert Love  <rml@novell.com>
16313
16314         * gnome/applet/applet.c: mark string as translatable.
16315
16316 2005-08-11  Robert Love  <rml@novell.com>
16317
16318         * initscript/SUSE/networkmanager: update.
16319
16320 2005-08-11  Dan Williams  <dcbw@redhat.com>
16321
16322         * src/nm-dhcp-manager.c
16323                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
16324                         an gateway returned from DHCP, try to use the address of the DHCP
16325                         server as the gateway instead.  Found by Ralf Ertzinger.
16326
16327 2005-08-10  Robert Love  <rml@novell.com>
16328
16329         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
16330           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
16331
16332 2005-08-10  Dan Williams  <dcbw@redhat.com>
16333
16334         Patch from Bill Moss <bmoss@clemson.edu>
16335         * Consolidate writes of access point information updates to the info daemon
16336                 so that we only do it when the connection to the access point was
16337                 successful.  Also consolidates updates to GConf in the Gnome applet.
16338
16339         * src/nm-netlink-monitor.c
16340                 - Silence compile warning when calling g_object_new()
16341
16342 2005-08-08  Dan Williams  <dcbw@redhat.com>
16343
16344         Patch from Steev <steev@steev.net>:
16345         * src/backends/NetworkManagerGentoo.c
16346                 - Stub new dialup backend functions
16347
16348 2005-08-08  Dan Williams  <dcbw@redhat.com>
16349
16350         Patch from Colin Slater:
16351         * src/backends/NetworkManagerGentoo.c
16352                 - (nm_system_update_dns): Fix exit status check for restarting
16353                         nscd
16354
16355 2005-08-05  Robert Love  <rml@novell.com>
16356
16357         * NetworkManager.h,
16358           gnome/applet/applet-dbus-devices.c,
16359           gnome/applet/applet-dbus-devices.h,
16360           gnome/applet/applet-dbus.c,
16361           gnome/applet/applet.c,
16362           gnome/applet/applet.h,
16363           src/NetworkManager.c,
16364           src/NetworkManagerMain.h,
16365           src/NetworkManagerSystem.h,
16366           src/backends/NetworkManagerRedHat.c,
16367           src/backends/NetworkManagerSuSE.c,
16368           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
16369
16370 2005-08-05  Robert Love  <rml@novell.com>
16371
16372         * gnome/applet/other-network-dialog.c: default the adhoc network to the
16373           machine's hostname to make adhoc creation idiot-proof.
16374
16375 2005-08-04  Robert Love  <rml@novell.com>
16376
16377         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
16378           freed.
16379
16380 2005-08-04  Dan Williams  <dcbw@redhat.com>
16381
16382         * gnome/applet/applet-dbus-info.c
16383           gnome/applet/applet-dbus-info.h
16384                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
16385                         to store key, key type, and auth method rather than just auth method
16386                 - (nmi_dbus_update_network_info): new function
16387                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
16388
16389         * gnome/applet/passphrase-dialog.c
16390                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
16391                         of saving the info ourselves
16392
16393         * gnome/libnm_glib/libnm_glib.c
16394                 - Remove the stupid version check for dbus
16395
16396         * src/NetworkManagerAP.c
16397           src/NetworkManagerAP.h
16398                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
16399
16400         * src/NetworkManagerDbus.c
16401           src/NetworkManagerDbus.h
16402                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
16403                         more than just the auth method
16404
16405         * src/NetworkManagerDevice.c
16406                 - Update network info at the appropriate times
16407
16408 2005-07-29  Ray Strode  <rstrode@redhat.com>
16409
16410         * src/NetworkManager.c (nm_info_handler): don't use input as format
16411         string (Spotted by Ian Jackson).
16412
16413 2005-07-27  Dan Williams  <dcbw@redhat.com>
16414
16415         * src/nm-dbus-nm.c
16416           src/nm-dbus-net.c
16417                 - Random cleanups of spacing
16418
16419         * gnome/applet/applet.h
16420           gnome/applet/other-network-dialog.c
16421           gnome/applet/passphrase-dialog.c
16422                 - Conslidate usage of NMWAEncryptionKeyTypes enum
16423
16424         Patch from Bill Moss:
16425                 - Make Other Wireless Networks work again with encryption keys
16426
16427 2005-07-26  Dan Williams  <dcbw@redhat.com>
16428
16429         Patch from Steev <steev@steev.net>:
16430         * src/backends/NetworkManagerGentoo.c
16431           src/backends/Makefile.am
16432                 - Fix up Gentoo backend
16433
16434 2005-07-26  Robert Love  <rml@novell.com>
16435
16436         * src/backends/NetworkManagerSuSE.c: misc. cleanup
16437
16438 2005-07-25  Robert Love  <rml@novell.com>
16439
16440         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
16441           in the same group as the wireless networks, since they are all
16442           mutually exclusive.
16443
16444 2005-07-24  Ray Strode  <rstrode@redhat.com>
16445
16446         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
16447         remove unneeded NULL arg from g_object_new().  Any
16448         warnings caused by not having the extra NULL are just a
16449         result of a bug in glib 2.7.0 - 2.7.2.
16450
16451 2005-07-22  Robert Love  <rml@novell.com>
16452
16453         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
16454
16455 2005-07-22  Robert Love  <rml@novell.com>
16456
16457         * src/nm-netlink-monitor.c: g_object_new() needs at least three
16458           parameters (gcc 4.0.2 warning fix).
16459
16460 2005-07-18  Robert Love  <rml@novell.com>
16461
16462         Suggested by Aaron Bockover (abockover@novell.com)
16463         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
16464           s/Ascii/ASCII
16465         * gnome/applet/passphrase-dialog.c: ditto
16466         * gnome/applet/wireless-applet.glade: ditto
16467
16468 2005-07-13  Dan Williams  <dcbw@redhat.com>
16469
16470         Patch from Ray Strode <halfline@gmail.com>
16471         * vpn-daemons/vpnc/nm-vpnc-service.c
16472                 - Don't let vpnc daemonize, fixes some races with PID file reading
16473
16474 2005-07-13  Dan Williams  <dcbw@redhat.com>
16475
16476         Patch from Ray Strode <halfline@gmail.com>
16477         * Random cleanups for strict CFLAGS
16478
16479 2005-07-07  Dan Williams  <dcbw@redhat.com>
16480
16481         Patch from Derek Atkins <warlord@MIT.EDU>
16482         * src/nm-dbus-net.c:
16483                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
16484
16485 2005-07-07  Dan Williams  <dcbw@redhat.com>
16486
16487         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
16488         * src/backends/NetworkManagerGentoo.c
16489                 - Gentoo backend Static IP nameserver fixes
16490                 - General Gentoo backend goodness
16491
16492 2005-07-07  Dan Williams  <dcbw@redhat.com>
16493
16494         Patch from Bastien Nocera:
16495         * gnome/applet/applet.c
16496                 - Fix up error reporting when icons or glade files are missing
16497
16498 2005-07-07  Robert Love  <rml@novell.com>
16499
16500         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
16501           are not any VPN connections above it.
16502
16503 2005-07-07  Robert Love  <rml@novell.com>
16504
16505         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
16506
16507 2005-07-05  Robert Love  <rml@novell.com>
16508
16509         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
16510           zero.
16511
16512 2005-07-05  Robert Love  <rml@novell.com>
16513
16514         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
16515           on wired or unencrypted wireless.
16516
16517 2005-07-01  Robert Love  <rml@novell.com>
16518
16519         * src/NetworkManagerSystem.c: Print the error via strerror().
16520
16521 2005-06-30  Robert Love  <rml@novell.com>
16522
16523         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
16524           then exit if the glade file is not found.  currently the application
16525           just hangs.
16526
16527 2005-06-30  Robert Love  <rml@novell.com>
16528
16529         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
16530           explicitly up all interfaces on wake from sleep.
16531
16532 2005-06-30  Robert Love  <rml@novell.com>
16533
16534         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16535           with information about the currently active connection.
16536         * gnome/applet/applet.h: (ditto)
16537         * gnome/applet/wireless-applet.glade: (ditto), new file
16538
16539 2005-06-30  Robert Love  <rml@novell.com>
16540
16541         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16542         * src/nm-dbus-nm.c: print when we sleep and wake up.
16543         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16544         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16545           in /sbin unless D-BUS is, folks).
16546         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16547
16548 2005-06-27  Robert Love  <rml@novell.com>
16549
16550         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16551           case.
16552
16553 2005-06-27  Robert Love  <rml@novell.com>
16554
16555         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16556           items radios.
16557
16558 2005-06-26  Robert Love  <rml@novell.com>
16559
16560         * src/NetworkManagerDevice.c: be specific about which device in
16561           nm_info() message.
16562
16563 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16564
16565         * src/nm-netlink-monitor.c: correct spelling error.
16566
16567 2005-06-23  Robert Love  <rml@novell.com>
16568
16569         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16570         * gnome/applet/passphrase-dialog.c: more of that keyring!
16571
16572 2005-06-23  Robert Love  <rml@novell.com>
16573
16574         * configure.in: remove extraneous GNOMEKEYRING directives.
16575         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16576         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16577         * gnome/applet/passphrase-dialog.c: whitespace.
16578
16579 2005-06-23  Robert Love  <rml@novell.com>
16580
16581         * src/NetworkManagerDevice.c: division in assignment was flipped.
16582
16583 2005-06-23  David Zeuthen  <david@fubar.dk>
16584
16585         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16586         signal to the child to indicate that we got what we wanted when we
16587         see two new-lines right after each other.
16588         (nmwa_vpn_request_password): Pass a structure with several members
16589         instead of just the passwords
16590
16591 2005-06-23  Dan Williams <dcbw@redhat.com>
16592
16593         * src/NetworkManager.c
16594           src/NetworkManagerMain.h
16595                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16596                 - (nm_hal_init): new function, init libhal context then add devices
16597                 - (nm_hal_deinit): new function, clean up libhal context
16598                 - (nm_data_free): Move Hal cleanup here
16599                 - (main): check whether Hal is running, and if so, get a list of
16600                         network devices from it
16601
16602         * src/NetworkManagerDbus.c
16603                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16604                         and when it appears, get a list of network devices from it.  If
16605                         Hal goes away, clean up the libhal context
16606
16607 2005-06-22  Robert Love  <rml@novell.com>
16608
16609         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16610           permissions of scripts before executing.
16611
16612 2005-06-21  Robert Love  <rml@novell.com>
16613
16614         * initscript/SUSE/networkmanager: update.
16615         * src/backends/NetworkManagerSuSE.c: cleanup.
16616
16617 2005-06-21  Robert Love <rml@novell.com>
16618
16619         * gnome/applet/applet.c: use menu mnemonics.
16620         * gnome/applet/menu-items.c: (ditto)
16621
16622 2005-06-21  Robert Love  <rml@novell.com>
16623
16624         * applet/applet-dbus-devices.c: mark non-static functions static.
16625         * applet/applet-dbus-vpn.c: (ditto)
16626         * applet/applet.c: (ditto)
16627         * applet/nm-device.h: (ditto)
16628         * applet/other-network-dialog.c: (ditto)
16629         * applet/passphrase-dialog.c: (ditto)
16630         * NetworkManager.c: (ditto)
16631         * NetworkManagerDbus.c: (ditto)
16632         * NetworkManagerDevice.c: (ditto)
16633         * NetworkManagerPolicy.c: (ditto)
16634         * NetworkManagerUtils.c: (ditto)
16635         * NetworkManagerWireless.c: (ditto)
16636         * NetworkManagerWireless.h: (ditto)
16637         * nm-netlink-monitor.c: (ditto)
16638         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16639         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16640         * autoip.c: include autoip.h.
16641         * autoip.h: new file.  define get_autoip().
16642         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16643         * NetworkManagerDbus.h: remove duplicate definitions.
16644
16645 2005-06-20  Robert Love  <rml@novell.com>
16646
16647         * Makefile.am: Add missing intltool-foo.in generated files to
16648           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16649           with the start of stuff to cleanup on 'distclea'.
16650         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16651           stuff right and 'distcheck' works.
16652         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16653           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16654           Makefile.am for each.  And systray/Makefile needs to be redone.
16655
16656 2005-06-19  Dan Williams <dcbw@redhat.com>
16657
16658         * src/NetworkManagerDevice.c
16659         - (nm_device_wireless_process_scan_results): scan every 20s when
16660           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16661
16662 2005-06-19  Dan Williams <dcbw@redhat.com>
16663
16664         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16665
16666 2005-06-18  Ray Strode <rstrode@redhat.com>
16667
16668         * src/nm-netlink-monitor.c 
16669         (nm_netlink_monitor_event_handler): check for the presence
16670         of either error condition not both. 
16671         
16672         (nm_netlink_monitor_error_handler): emit error signal if
16673         error occurs.
16674
16675         (nm_netlink_monitor_event_handler),
16676         (nm_netlink_monitor_error_handler),
16677         (nm_netlink_monitor_disconnect_handler): if an 
16678         assertion fails disconnect the event handler to prevent 
16679         infinite loops.
16680
16681         * src/nm-netlink-monitor.h: add new error condition
16682         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16683
16684 2005-06-18  Ray Strode <rstrode@redhat.com>
16685
16686         * src/nm-netlink-monitor.c 
16687         (nm_netlink_monitor_event_handler): remove bogus < 0
16688         check on unsigned value and return early if the kernel
16689         didn't send any bytes.
16690
16691 2005-06-17  Robert Love  <rml@novell.com>
16692
16693         * initscript/SUSE/networkmanager: Change the Provides and default
16694         run levels
16695
16696 2005-06-16  Dan Williams <dcbw@redhat.com>
16697
16698         Patch from Robert Love:
16699         * gnome/applet/applet.c
16700                 - Beautify some applet menu item names
16701
16702 2005-06-17  David Zeuthen  <davidz@redhat.com>
16703
16704         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16705         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16706         Also add new methods can_export, import_file and export.
16707
16708         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16709         to the main UI
16710
16711         * gnome/vpn-properties/nm-vpn-properties.c:
16712         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16713         nm-vpn-ui-interface.h.
16714         (update_edit_del_sensitivity): Also update "Export" sensitivity
16715         (add_vpn_connection): Also add new SVC_NAME column
16716         (import_settings): New function
16717         (retrieve_data_from_selected_connection): New function
16718         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16719         this function
16720         (export_cb): New function
16721         (init_app): Also setup the "export" widget
16722         (main): Support the --import-service and --import-file commandline
16723         arguments
16724
16725         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
16726         D-BUS 0.34
16727
16728 2005-06-16  Dan Williams <dcbw@redhat.com>
16729
16730         Patch from Robert Love:
16731         * gnome/applet/menu-items.c
16732                 - (network_menu_item_new): pass -1 as wireless network
16733                         menu items height size request rather than ascent / 2
16734
16735 2005-06-16  Dan Williams <dcbw@redhat.com>
16736
16737         * Clean up wording in Wireless Scan Methods menu items and constants
16738
16739 2005-06-16  Robert Love  <rml@novell.com>
16740
16741         * po/POTFILES.in
16742                 - remove gtkcell* files
16743
16744 2005-06-15  Dan Williams <dcbw@redhat.com>
16745
16746         Patch from Robert Love: make the applet stetic
16747
16748         * gnome/applet/Makefile.am
16749                 - Don't compile the gtkcellview and gtkcellrendererprogress files
16750
16751         * gnome/applet/gtkcellview.h
16752           gnome/applet/gtkcellview.c
16753           gnome/applet/gtkcellrendererprogress.h
16754           gnome/applet/gtkcellrendererprogress.c
16755                 - Removed
16756
16757         * gnome/applet/menu-items.c
16758                 - Progress bars are 5:1 size ratio
16759                 - Use GTK progress bars rather than internal ones
16760
16761 2005-06-15  Dan Williams <dcbw@redhat.com>
16762
16763         Patch from Robert Love:
16764         * initscript/SUSE/networkmanager
16765                 - Fix typo
16766
16767 2005-06-15  Dan Williams <dcbw@redhat.com>
16768
16769         * src/backends/NetworkManagerSuSE.c
16770           src/backends/NetworkManagerRedHat.c
16771           src/backends/NetworkManagerDebian.c
16772                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
16773
16774 2005-06-15  Dan Williams <dcbw@redhat.com>
16775
16776         * src/backends/NetworkManagerDebian.c
16777                 - Add nm_system_device_get_use_dhcp() to debian backend
16778
16779         Patch from Kay Sievers:
16780         * src/backends/NetworkManagerSuSE.c
16781                 - Update debian backend for static IP nameservers
16782
16783         * src/NetworkManagerDevice.c
16784                 - Actually set the device to use static IP or DHCP rather
16785                         than always DHCP
16786
16787 2005-06-15  Dan Williams <dcbw@redhat.com>
16788
16789         Patch from Thom May:
16790         * src/backends/NetworkManagerDebian.c
16791                 - Update debian backend for static IP nameservers
16792
16793 2005-06-15  Dan Williams <dcbw@redhat.com>
16794
16795         Patches from Robert Love:
16796         * gnome/applet/wireless-applet.glade
16797                 - Tighten up wording
16798
16799         * src/NetworkManagerDevice.c
16800                 - Remove misplaced ';'
16801
16802         * configure.in
16803           initscript/Makefile.am
16804           initscript/SUSE/Makefile.am
16805           initscript/SUSE/networkmanager
16806                 - Add SUSE initscript
16807
16808 2005-06-12  David Zeuthen  <davidz@redhat.com>
16809
16810         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
16811
16812         * gnome/vpn-properties/nm-vpn-properties.glade: New file
16813
16814         * gnome/vpn-properties/nm-vpn-properties.c: New file
16815
16816         * gnome/vpn-properties/Makefile.am: New file
16817
16818         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
16819         array of passwords
16820
16821         * src/vpn-manager/nm-vpn-manager.c
16822         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
16823         instead of just a single one
16824
16825         * src/vpn-manager/nm-dbus-vpn.c:
16826         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
16827         here
16828         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
16829
16830         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
16831         Change the interface here to give a list of passwords. Also, don't
16832         require username, but do require service
16833
16834         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
16835         the binary for the auth-dialog and use that instead of putting up a
16836         dialog asking for a single password
16837
16838         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
16839         however do remember the service
16840
16841         * gnome/applet/main.c (main): Setup i18n
16842
16843         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
16844         connection to '%s'" to the tooltip if we are connected using VPN
16845         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
16846         key to determine whether we the auth-dialog needs to
16847         reprompt. Also cope with the fact that the auth-dialog now returns
16848         an array of passwords.
16849         (nmwa_menu_configure_vpn_item_activate): New handler for
16850         "Configure VPN..." menu item
16851         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
16852         (is_vpn_available): New function to determine if we got any
16853         NM-compatible VPN software installed
16854         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
16855         items only if we have NM-compatible VPN software installed
16856         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
16857         logic for detecting when VPN connections are removed
16858
16859         * gnome/applet/applet-dbus.h: Removed the prototypes for 
16860         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
16861         since these are defined elsewhere
16862
16863         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
16864         function used to keep track of whether the last attempt succeded
16865         (nmwa_dbus_filter): Update last_attempt according to whether the
16866         VPN connection could be established or not
16867
16868         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
16869         Change prototype to take an array of passwords, not just a single
16870         password
16871
16872         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
16873         update service, not user
16874         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
16875         dbus_active_vpn_name is not NULL before using it
16876         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
16877         string array instead of assuming a single password
16878
16879         * gnome/applet/applet-dbus-info.c:
16880         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
16881         user name; don't read from gconf
16882
16883         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
16884         VPN_NAME_FILES_DIR
16885
16886         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
16887
16888         * configure.in: Add checks for gmodule-2.0.
16889         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
16890         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
16891         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
16892         for details
16893
16894         * vpn-daemons/Makefile.am: Removed
16895
16896         * vpn-daemons/README: New file to describe extensions points for VPN
16897         software
16898
16899 2005-06-10  Dan Williams <dcbw@redhat.com>
16900
16901         * src/backends/NetworkManagerRedHat.c
16902                 - (get_current_profile_name): new function, grab current network profile name from
16903                         /etc/sysconfig/network
16904                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
16905                         update an IP4 Config structure's settings from it
16906                 - (nm_system_device_get_system_config): if we're using static IP on this device,
16907                         get DNS info from current network profile
16908
16909 2005-06-09  Dan Williams <dcbw@redhat.com>
16910
16911         Patch from Robert Love:
16912         * src/NetworkManagerDevice.c
16913           src/NetworkManagerUtils.c
16914                 - 64-bit build fixes
16915
16916 2005-06-09  Dan Williams <dcbw@redhat.com>
16917
16918         Patch from Kay Sievers and Robert Love:
16919         * configure.in
16920           src/backends/Makefile.am
16921           src/backends/NetworkManagerSuSE.c
16922                 - Add SuSE support
16923
16924 2005-06-09  Dan Williams <dcbw@redhat.com>
16925
16926         * NetworkManager.h
16927                 - Add NMWirelessScanMethod enum for scan methods
16928
16929         * gnome/applet/applet-dbus-devices.c
16930                 - (nmwa_dbus_update_scanning_enabled_cb): remove
16931                 - (nmwa_dbus_update_scanning_enabled): remove
16932                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
16933                         since it got removed
16934                 - (nmwa_dbus_enable_scanning): remove
16935
16936         * gnome/applet/applet-dbus-info.c
16937                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
16938                         update the wireless scanning method from NMI
16939                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
16940                         method value to NetworkManager
16941                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
16942
16943         * gnome/applet/applet-dbus-info.h
16944                 - Add prototype for nmi_dbus_signal_update_scan_method
16945
16946         * gnome/applet/applet.c
16947                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
16948                         Wireless Scanning menu based on current wireless scan method
16949                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
16950                         signal for Wireless Scanning menu items, tell NetworkManager the new method
16951                         and update our menu items to make sure the right one is checked
16952                 - (nmwa_set_scanning_enabled_cb): remove
16953                 - (nmwa_context_menu_update): remove references to pause_scanning_item
16954                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
16955                         Scanning menu item
16956                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
16957                         from GConf
16958                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
16959                         so we get notified of preference values too
16960                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
16961
16962         * gnome/applet/applet.h
16963                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
16964                 - Add wireless scan method member to applet data
16965                 - Remove pause_scanning_item, add Wireless Scanning submenu
16966
16967         * src/NetworkManager.c
16968                 - (nm_data_new): default to NM_SCAN_METHOD_ON
16969                 - (main): grab scanning method from NMI if we can
16970
16971         * src/NetworkManagerDbus.c
16972                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
16973                         nm_dbus_update_wireless_scan_method()
16974                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
16975                         from NMI
16976                 - (nm_dbus_nmi_is_running): redundant function, removed
16977                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
16978                         when NMI comes back
16979
16980         * src/NetworkManagerDevice.c
16981                 - (nm_device_is_activated): return TRUE if the device is activated
16982                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
16983                         and we are activated
16984
16985         * src/nm-dbus-nm.c
16986                 - (nm_dbus_nm_set_scanning_enabled): removed
16987                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
16988                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
16989
16990 2005-06-09  Dan Williams <dcbw@redhat.com>
16991
16992         * NetworkManager.h
16993           src/vpn-manager/nm-vpn-service.c
16994                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
16995
16996 2005-05-27  Dan Williams <dcbw@redhat.com>
16997
16998         * vpn-daemons/vpnc/nm-vpnc-service.c
16999                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
17000                         Should fix the bug where the VPN connection terminates the first time.
17001
17002 2005-05-20  Dan Williams <dcbw@redhat.com>
17003
17004         * NetworkManager.h
17005                 - Differentiate VPN config signals between bad VPN config options
17006                         and bad IP config
17007
17008         * gnome/applet/applet-dbus-info.h
17009                 - Add prototypes for wireless network and vpn connection update functions
17010
17011         * gnome/applet/applet-dbus.c
17012                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
17013
17014         * gnome/applet/applet.c
17015                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
17016                         error signals
17017                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
17018                         propogation to NetworkManager
17019                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
17020                         notify propogation to NetworkManager
17021
17022         * src/NetworkManagerDbus.c
17023                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
17024                         are updating so a network can be removed from it if necessary
17025
17026         * src/vpn-manager/nm-vpn-manager.c
17027                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
17028
17029         * vpn-daemons/vpnc/nm-vpnc-service.c
17030                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
17031                 - (nm_vpnc_dbus_signal_launch_failed): remove
17032                 - (nm_vpnc_dbus_signal_connect_failed): remove
17033                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
17034                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
17035                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
17036                         for new generalized error signal function, remove config file stuff
17037                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
17038                         we can write configuration options to it
17039                 - (nm_vpnc_config_file_generate): removed
17040                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
17041                 - (nm_vpnc_config_options_validate): validate the config options we receive
17042                         from NetworkManager to block potential exploits
17043                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
17044                         starting vpnc
17045                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
17046                         to NetworkManager
17047
17048 2005-05-16  Dan Williams  <dcbw@redhat.com>
17049
17050         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
17051                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
17052                         is not "connect"
17053
17054 2005-05-16  Dan Williams  <dcbw@redhat.com>
17055
17056         Patch from Tomislav Vujec <tvujec@redhat.com>
17057         * gnome/applet/applet-dbus-info.c
17058                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
17059                         GConf and pass them to NetworkManager.  New key is 'routes' under
17060                         the VPN connection, and should be a string list
17061
17062         * src/NetworkManagerSystem.c
17063                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
17064                         set them on the device when we set the rest of the VPN config.  Ensure
17065                         they are in the correct format since they are passed directly to the
17066                         command line.
17067
17068         * src/backends/NetworkManagerRedHat.c
17069           src/backends/NetworkManagerDebian.c
17070                 - (nm_system_device_add_route_via_device_with_iface): new function
17071
17072         * src/vpn-manager/nm-dbus-vpn.c
17073                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
17074
17075         * src/vpn-manager/nm-vpn-manager.c
17076                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
17077                         them into the IP4 config functions
17078
17079 2005-05-15  Dan Williams  <dcbw@redhat.com>
17080
17081         From Filip Miletic:
17082         * po/sr.po
17083           po/sr@Latn.po
17084           configure.in
17085                 - Serbian translation added
17086
17087 2005-05-15  Dan Williams  <dcbw@redhat.com>
17088
17089         * dispatcher-daemon/NetworkManagerDispatcher.c
17090                 - (main): sync arguments with NetworkManager and the applet, now use
17091                         "--no-daemon" rather than "daemon=no"
17092                 - (nmd_print_usage): Fix script path in usage message
17093
17094 2005-05-15  Dan Williams  <dcbw@redhat.com>
17095
17096         * src/NetworkManagerDevice.[ch]
17097           src/NetworkManagerPolicy.c
17098           src/NetworkManager.c
17099           src/nm-dbus-nm.c
17100                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
17101                         longer send the DeviceNoLongerActive signal unconditionally, but only
17102                         when the device is actually active.
17103
17104         * dispatcher-daemon/NetworkManagerDispatcher.c
17105                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
17106                         and simplify the logic
17107                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
17108                         we free it later on
17109
17110         * initscript/RedHat/Makefile.am
17111           initscript/RedHat/NetworkManagerDispatcher
17112                 - Add initscript for NetworkManagerDispatcher
17113
17114
17115         Patch from Bill Moss:
17116         * dispatcher-daemon/NetworkManagerDispatcher.c
17117                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
17118
17119         * src/NetworkManagerDbus.c
17120                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
17121                         and DeviceNowActive gets signaled, then the device has a new IP address
17122                         anyway.  There's no need for a separate signal.
17123
17124         * src/NetworkManagerDevice.c
17125                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
17126
17127         * src/NetworkManagerPolicy.c
17128                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
17129                         activates successfully.  This kind of went missing when I reworked the
17130                         activation code.
17131
17132 2005-05-15  Dan Williams  <dcbw@redhat.com>
17133
17134         * configure.in
17135                 - Check for dhcdbd and error if its not found
17136
17137         * src/dhcp-manager/Makefile.am
17138           src/dhcp-manager/nm-dhcp-manager.c
17139                 - Use path to dhcdbd that configure found
17140
17141 2005-05-14  Dan Williams  <dcbw@redhat.com>
17142
17143         * gnome/applet/nm-device.c
17144                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
17145                         sort wireless networks alphabetically
17146
17147         * gnome/applet/applet-dbus-devices.c
17148                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
17149                         before copying them over to the GUI
17150
17151 2005-05-14  Dan Williams  <dcbw@redhat.com>
17152
17153         * src/NetworkManager.c
17154                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
17155                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
17156                         the device list, as does nm_get_active_device() which is called from
17157                         nm_vpn_manager_deactivate_vpn_connection().
17158
17159 2005-05-14  Dan Williams  <dcbw@redhat.com>
17160
17161         * NetworkManager.h
17162                 - Add signals for VPN Launch and Connect failures
17163
17164         * gnome/applet/applet-dbus.c
17165                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
17166
17167         * gnome/applet/applet.c
17168                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
17169                         function to handle all VPN failure messages
17170                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
17171                         function to hanlde all VPN failure  messages
17172                 - (show_warning_dialog): work around focus-stealing prevention
17173
17174         * gnome/applet/other-network-dialog.c
17175           gnome/applet/passphrase-dialog.c
17176                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
17177                         problem where it never enabled for ASCII Key and Hex Key types
17178
17179         * gnome/applet/wireless-applet.glade
17180                 - Add window title to Other Wireless Network Dialog
17181
17182         * src/vpn-manager/nm-dbus-vpn.c
17183                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
17184                         function to handle all VPN failure messages
17185
17186         * src/vpn-manager/nm-vpn-manager.c
17187                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
17188
17189         * vpn-daemons/vpnc/nm-vpnc-service.c
17190                 - (nm_vpnc_dbus_signal_launch_failed): new function
17191                 - (nm_vpnc_dbus_signal_connect_failed): new function
17192                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
17193                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
17194                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
17195                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
17196
17197 2005-05-11  Dan Williams  <dcbw@redhat.com>
17198
17199         * vpn-daemons/vpnc/nm-vpnc-service.c
17200                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
17201                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
17202                         file exists before trying to write it out.
17203
17204 2005-05-10  Dan Williams  <dcbw@redhat.com>
17205
17206     * gnome/applet/applet-dbus-device.c
17207         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
17208             prevented just entering ESSID and leaving key and key type up to
17209             NetworkManager (which should have them already cached)
17210
17211 2005-05-08  Dan Williams  <dcbw@redhat.com>
17212
17213         * src/NetworkManagerPolicy.c
17214                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
17215                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
17216                         fix a situation where NM is told to terminate and the device stops activation,
17217                         but the main thread isn't aware of that because it would never have run
17218                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
17219                         had already quit.
17220
17221         * src/NetworkManagerDevice.c
17222                 - (nm_device_probe_wired_link_state): cosmetic fixes
17223                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
17224                         we've failed to activate or been canceled.
17225                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
17226
17227 2005-05-08  Dan Williams  <dcbw@redhat.com>
17228
17229         * src/NetworkManagerWireless.c
17230                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
17231                         value of WEXT quality structures, and add a debug message when we cannot
17232                         determine any quality % at all
17233
17234 2005-05-08  Dan Williams  <dcbw@redhat.com>
17235
17236         * src/dhcp-manager/nm-dhcp-manager.c
17237                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
17238                         it goes down.
17239
17240 2005-05-06  Dan Williams  <dcbw@redhat.com>
17241
17242         * gnome/applet/applet-dbus-device.c
17243           gnome/applet/applet-dbus-info.c
17244           gnome/applet/applet-dbus.c
17245           gnome/applet/applet.c
17246           gnome/applet/applet.h
17247                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
17248
17249         * gnome/applet/applet-dbus.c
17250                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
17251                         so we notice when wired device's carriers come back on.  Should
17252                         fix issue with wired devices being grayed out even if the cable
17253                         is in, for devices that support carrier detection.
17254
17255         * gnome/applet/applet.c
17256                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
17257                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
17258                         tooltip message
17259                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
17260                         Fix situation where applet wouldn't respond to menu selections
17261
17262         * src/NetworkManager.c
17263           src/NetworkManagerDevice.c
17264           src/NetworkManagerDbus.c
17265           src/NetworkManagerDbus.h
17266                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
17267
17268         * src/NetworkManagerDbus.c
17269                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
17270                         Remove, no longer used or relevant
17271                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
17272                 - (nm_dbus_schedule_device_status_change_signal): add
17273
17274         * src/NetworkManagerDevice.c
17275                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
17276                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
17277                         ie don't deactivate them unless explicitly told to by the user.  Also send
17278                         CARRIER_OFF / CARRIER_ON signals when link changes
17279                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
17280                         Don't print error message when device is no longer around
17281                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
17282                         not just during activation
17283
17284         * src/NetworkManagerPolicy.c
17285                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
17286                         auto-device-selection.
17287                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
17288
17289         * src/NetworkManagerSystem.c
17290                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
17291                         is no longer present (Bill Moss)
17292
17293         * src/backends/shvar.c
17294                 - (svOpenFile): Open read-only to make SELinux happy
17295
17296         * src/backends/NetworkManagerRedHat.c
17297                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
17298                         the path to the ifcfg-* files
17299
17300 2005-05-05  Dan Williams  <dcbw@redhat.com>
17301
17302         * Expose activation stages to NetworkManager clients, like the applet
17303         * Add Diana's progress icons to the applet, cued off NM activation stage
17304         * Use more descriptive tooltips, cued off NM activation stage
17305
17306 2005-05-05  Ray Strode  <rstrode@redhat.com>
17307
17308         * src/nm-netlink-monitor.c:
17309                 - Use clear_event_source instead of g_nullify_pointer() again.
17310
17311 2005-05-05  Dan Williams  <dcbw@redhat.com>
17312
17313         * gnome/applet/main.c
17314                 - Fix session management so the applet is actually managed now
17315
17316         * gnome/applet/passphrase-dialog.c
17317                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
17318
17319 2005-05-05  Dan Williams  <dcbw@redhat.com>
17320
17321         Patch from Bill Moss:
17322         * gnome/libnm_glib/libnm_glib.c
17323                 - Fix for dbus-0.33
17324
17325 2005-05-05  Dan Williams  <dcbw@redhat.com>
17326
17327         Suggestion from Bill Moss:
17328         * src/NetworkManagerSystem.c
17329                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
17330
17331
17332         * src/NetworkManager.c
17333                 - (nm_data_free): move destruction of the various managers after
17334                         release of device list, because deactivating and freeing a device
17335                         requires at least the named manager
17336                 - (nm_poll_and_update_wireless_link_state):
17337                   (nm_device_link_activated):
17338                   (nm_device_link_deactivated):
17339                         don't grab the device list lock when actually updating device
17340                         link status or strength, since nm_device_set_link_active()
17341                         needs to call nm_get_active_device(), which also locks the device list.
17342
17343         * src/NetworkManagerDevice.c
17344                 - (nm_device_set_link_active): if a device's link switches from off->on,
17345                         and it's wired, and the active device is wireless (or there is no
17346                         active device), activate the new device whose link just came on
17347                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
17348                         my only calling the link to the current ap "failed" when more than 2
17349                         consecutive link checks have failed
17350
17351 2005-05-04  Dan Williams  <dcbw@redhat.com>
17352
17353         * src/NetworkManagerDevice.c
17354                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
17355                         but let link_to_specific_ap() do the locking where it needs
17356
17357         Patch from Bill Moss:
17358         * src/NetworkManagerSystem.c
17359                 - Set MTU of VPN devices to 1412
17360
17361 2005-05-04  Dan Williams  <dcbw@redhat.com>
17362
17363         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
17364
17365         * Fix some holes in device activation and retaining the currently connected
17366                 access point
17367
17368 2005-05-03  Dan Williams  <dcbw@redhat.com>
17369
17370         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
17371           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
17372           means you need dhcdbd, which you can get here (get the latest one):
17373
17374                 http://people.redhat.com/jvdias/dhcdbd/
17375
17376           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
17377           interface as dhcdbd.
17378
17379         * Rewrite device activation to facilitate the new DHCP infrastructure and
17380           future improvements.  Its now "activation request" based, ie there is a single
17381           activation request composed of the device, access point, and other info which
17382           follows the entire activation process.  There are 5 stages of the activation
17383           process which correspond to:
17384
17385                 1) Device preparation
17386                 2) Device configuration (bring it up, set ESSID/Key/etc)
17387                 3) IP Config Start (fire off DHCP if we're using it)
17388                 4) IP Config Get (grab config from DHCP or static config files)
17389                 5) IP Config Commit (set device's IP address, DNS, etc)
17390
17391           Note that there is no longer a "scanning" step, since the access point must
17392           be known _before_ activation starts.  If the access point drops out or does
17393           not exist for some reason, the entire activation process fails and must be
17394           restarted for a different access point or device.
17395
17396         Patch from Bill Moss:
17397         * gnome/applet/applet.c
17398                 - Fix type of vpn_failure dialog -> vpn_banner dialog
17399
17400 2005-04-27  Dan Williams  <dcbw@redhat.com>
17401
17402         * gnome/applet/applet-dbus-vpn.c
17403           gnome/applet/applet.c
17404           gnome/applet/applet.h
17405                 - Fix up active VPN handling so that we reliably know when a VPN
17406                         connection has been deactivated
17407
17408         * src/vpn-manager/nm-vpn-manager.c
17409                 - Remove duplicate VPNConnectionChange signal
17410
17411 2005-04-27  Dan Williams  <dcbw@redhat.com>
17412
17413         Patch from Peter Jones:
17414         * Remove usage of varargs to fix crashes on PPC (RH #154336)
17415
17416         Patch from Bill Moss:
17417         * src/NetworkManagerSystem.c
17418                 - Fix checking of return value from ioctl()
17419
17420 2005-04-27  Dan Williams  <dcbw@redhat.com>
17421
17422         * Fix choosing of wireless networks and "Other wireless network..." from the applet
17423         * Warn and exit if icons cannot be found
17424
17425 2005-04-27  Dan Williams  <dcbw@redhat.com>
17426
17427         Patch from Tom Parker:
17428         * Update debian backend
17429
17430 2005-04-27  Dan Williams  <dcbw@redhat.com>
17431
17432         * Merge the applet and the info-daemon, and move the converged
17433                 applet under gnome/applet
17434         * Move libnm_glib to gnome/libnm_glib
17435         * Convert most dbus calls between the applet, info-daemon, and NM
17436                 into async calls
17437         * Fix a few things valgrind noticed
17438         * Make NM broadcast state more reliably
17439
17440 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
17441
17442         * configure.in: Added ne in ALL_LINGUAS
17443
17444 2005-04-15  Dan Williams  <dcbw@redhat.com>
17445
17446         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
17447                 code for dbus 0.2x versions
17448
17449 2005-04-15  Dan Williams  <dcbw@redhat.com>
17450
17451         Patches from Tom Parker:
17452         - Fix memleaks
17453         - Join with worker thread rather than polling for its exit
17454
17455         Patch from Bill Moss:
17456         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
17457
17458 2005-04-15  Dan Williams  <dcbw@redhat.com>
17459
17460         - Fixes to pass 'make distcheck'
17461
17462 2005-04-15  Dan Williams  <dcbw@redhat.com>
17463
17464         Initial VPN Support
17465                 - supports 'vpnc'
17466                 - reworks device IP configuration, backend files have changed and will need
17467                         to be updated for all distributions.  I will try to do what I can for
17468                         them, but I cannot test them.
17469
17470         - Move named directory to src/named-manager
17471         - Make backends directory self-contained
17472
17473 2005-04-06  Dan Williams  <dcbw@redhat.com>
17474
17475         Add debug code for socket/file descriptor leaks.  We register every socket
17476         that we open (except for stuff in dhcpcd/) for tracking, and print out the
17477         list of sockets that we forgot to close on shutdown.  This also consolidates
17478         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
17479
17480 2005-04-06  Dan Williams  <dcbw@redhat.com>
17481
17482         * dhcpcd/dhcpcd.c
17483                 - (dhcp_interface_free): fix a file descriptor leak that may have
17484                         caused network drivers to not unload due to refcounts > 0
17485
17486 2005-04-04  Dan Williams  <dcbw@redhat.com>
17487
17488         * panel-applet/NMWirelessAppletDbus.c
17489                 - (nmwa_dbus_call_nm_method): remove some commented code
17490
17491         * src/NetworkManagerAPList.[ch]
17492                 - (nm_ap_list_remove_ap_by_essid): new function
17493
17494         * src/NetworkManagerDevice.c
17495                 - (nm_device_wireless_force_use): remove access points from the ignore list
17496                         when the user forces them
17497
17498         * src/nm-dbus-device.c
17499                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
17500
17501 2005-04-04  Dan Williams  <dcbw@redhat.com>
17502
17503         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
17504
17505 2005-04-04  Dan Williams  <dcbw@redhat.com>
17506
17507         * src/NetworkManagerDevice.c:
17508                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
17509                         of only erroring after the second consecutive scan times out.  Also
17510                         don't exit when the card requires more time than we can give it, just
17511                         log the event and continue.
17512
17513 2005-04-01  Steve Murphy  <murf@e-tools.com>
17514
17515         * configure.in: Added "rw" to ALL_LINGUAS.
17516
17517 2005-04-01  Dan Williams <dcbw@redhat.com>
17518
17519         Perform scans during device activation, if needed.  Both activation 
17520         and scans run in the same GMainContext.  Therefore, if an access point
17521         is not found by the time the device starts activation, it will not
17522         be available until after activation.  We now try to scan during
17523         activation (in nm_wa_test) every 15s so that all available access
17524         points are more likely to be found and available for the activation
17525         procedure.
17526
17527         Also change nm_wireless_link_state_handle() to only update the "best"
17528         AP if we are not forcing a device and if we are not about to change
17529         state.  This attempts to work around a race when forcing a device,
17530         where the forced AP would get cleared out too soon by the link state
17531         checking timeout in the main thread, and the activation attempt with
17532         that AP would fail.
17533
17534 2005-04-01  Dan Williams <dcbw@redhat.com>
17535
17536         * po/POTFILES.in
17537                 - Update with new translatables
17538
17539 2005-03-31  Dan Williams <dcbw@redhat.com>
17540
17541         * panel-applet/NMWirelessAppletDbus.c
17542                 - Fix device names now that hal has changed device parenting for
17543                         network devices.
17544
17545 2005-03-31  Dan Williams <dcbw@redhat.com>
17546
17547         Tighten up handling of wireless devices that don't support wireless
17548         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17549         hadn't been doing pseudo-scanning for a while either and would just
17550         spin waiting for an access point.  They are now manual devices where
17551         the user must choose the access point from the menu every time.  All
17552         "allowed" access points are listed in the applet's menu regardless
17553         of whether or not they can be seen by the card, since it can't scan
17554         anyway.
17555
17556         * src/NetworkManager.c
17557                 - (nm_wireless_link_state_handle): new function, but only update
17558                         the "best" ap for non-scanning devices when its not activating,
17559                         and when no device is being forced on the card
17560                 - (nm_link_state_monitor): split wireless link state handling out
17561                         into separate function
17562
17563         * src/NetworkManagerDevice.c
17564                 - (nm_device_copy_allowed_to_dev_list): new function
17565                 - (nm_device_new): populate non-scanning cards' AP lists with
17566                         access points from the "allowed" list
17567                 - (nm_device_new): don't start a scanning timeout for devices that
17568                         can't scan
17569                 - (nm_device_activation_schedule_finish): new parameter, should be
17570                         the AP that failed to be connected to, pass it on to the
17571                         activation finish function in NetworkManagerPolicy.c
17572                 - (nm_device_activate_wireless): don't ever try to get a new AP
17573                         for non-scanning devices, just fail.  The user must choose
17574                         a new access point manually.
17575                 - (nm_device_activate): grab the AP that failed connection and
17576                         pass it on
17577                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17578                         a link to it, user must manually choose a new one
17579                 - (nm_device_do_pseudo_scan): remove function
17580                 - (nm_device_wireless_process_scan_results): remove bits for non-
17581                         scanning cards since they never get here
17582                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17583                         and fake the scan list for test devices a bit earlier
17584
17585         * src/NetworkManagerPolicy.c
17586                 - (nm_policy_activation_finish): use the failed_ap that we get
17587                         passed rather than getting the best_ap from the card, which
17588                         may have changed since we were scheduled
17589                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17590                         update their scan list directly from the allowed list when
17591                         we get updates to the allowed list from NetworkManagerInfo
17592
17593         * src/NetworkManagerPolicy.h
17594                 - New member for failed access point in NMActivationResult
17595
17596   -------------------------------------
17597
17598         Driver Notification patch: notifies the user when their driver
17599                 sucks.  Gives them the option to ignore further insertions
17600                 of the card that has the sucky driver.
17601
17602         * NetworkManager.h
17603                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17604                         enum and replace it with NO_CARRIER_DETECT and
17605                         NO_WIRELESS_SCAN
17606
17607         * panel-applet/NMWirelessApplet.[ch]
17608                 - Merge essid.glade -> wireless-applet.glade
17609                 - Implement the "Your driver sucks" notification dialog
17610
17611         * panel-applet/NMWirelessAppletDbus.c
17612                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17613                 - Grab hardware address for each device from NM too
17614                 - Check whether the driver for each device sucks or not whenever
17615                         a new device is noticed
17616
17617         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17618                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17619
17620         * src/NetworkManager.c
17621                 - Fix a double-unref on device removal
17622
17623         * src/NetworkManagerUtils.c
17624                 - Set appropriate driver support level on a device that doesn't
17625                         support scanning or carrier detection
17626
17627         * src/nm-dbus-device.c
17628                 - New "getHWAddress" dbus method on devices
17629                 - getSupportsCarrierDetect -> getDriverSupportLevel
17630
17631 2005-03-31  Dan Williams <dcbw@redhat.com>
17632
17633         * src/NetworkManagerDevice.c
17634                 - (nm_device_wireless_scan): Fix leak of scan results in some
17635                         instances
17636
17637 2005-03-29  Dan Williams <dcbw@redhat.com>
17638
17639         * src/NetworkManager.c
17640                 - (nm_poll_and_update_wireless_link_state): make code less indented
17641
17642         Patch from Bill Moss:
17643         * src/NetworkManager.c
17644                 - (nm_device_update_link_state): Update signal strength on wireless
17645                         devices every time we update link state too.
17646
17647 2005-03-29  Dan Williams <dcbw@redhat.com>
17648
17649         * src/NetworkManagerDevice.c
17650                 - (nm_device_set_essid): Work around Orinoco cards which need
17651                         extra time after setting the ESSID
17652
17653 2005-03-29  Dan Williams <dcbw@redhat.com>
17654
17655         * src/NetworkManagerDevice.c
17656                 - Merge one more bit of Peter Jones' completion patch
17657
17658 2005-03-29  Dan Williams <dcbw@redhat.com>
17659
17660         * src/NetworkManagerDevice.c
17661                 - (nm_device_force_use): Fix possible segfault
17662
17663 2005-03-29  Dan Williams <dcbw@redhat.com>
17664
17665         * src/NetworkManagerDevice.c
17666                 - Use iw_get_ext() where we should rather than iw_set_ext()
17667
17668 2005-03-29  Dan Williams <dcbw@redhat.com>
17669
17670         * src/NetworkManagerDevice.c
17671                 - (nm_device_set_up_down): remove check for unsupported devices
17672                         that caused NM to not bring devices up when they were
17673                         added to the device list.
17674
17675 2005-03-28  Dan Williams <dcbw@redhat.com>
17676
17677         * src/NetworkManagerDevice.c
17678                 - (mdio_read): Fix two bugs that caused all devices to fail
17679                         the MII carrier detection support checks
17680
17681 2005-03-26  Dan Williams <dcbw@redhat.com>
17682
17683         * src/NetworkManagerDevice.c
17684                 - (nm_device_wireless_scan): Remove duplicated scanning code
17685
17686 2005-03-25  Dan Williams <dcbw@redhat.com>
17687
17688         * panel-applet/NMWirelessApplet.c
17689                 - (nmwa_about_cb): Add some more contributors
17690                 - (nmwa_update_state): show the applet when there's no connection
17691                 - Enable the "Stop/Resume all wireless devices" option in the
17692                         context menu
17693                 - New "no connection" icon
17694
17695         * src/NetworkManager.c
17696                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17697                         wireless is disabled or we're asleep
17698
17699         * src/NetworkManagerDHCP.c
17700                 - Remove trailing "\n" on debug messages
17701
17702         * src/NetworkManagerDbus.c
17703                 - (nm_dbus_network_status_from_data): new state "asleep"
17704
17705         * src/NetworkManagerDevice.c
17706                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17707                         latency and wait times for most operations
17708                 - (nm_device_wireless_scan): Don't scan when asleep
17709
17710         * src/NetworkManagerPolicy.c
17711                 - (nm_policy_get_best_device): return no device when asleep
17712                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17713                         for all wireless devices on update, not just active device
17714
17715         * src/NetworkManagerUtils.c
17716                 - Merge Peter Jones' "completion" patch
17717
17718         * src/nm-dbus-nm.c
17719                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17720                         we're told to disable them
17721                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17722
17723         * utils/nm-utils.h
17724                 - New variants of the warn/info/error/debug print functions that can take
17725                         variables rather than static strings
17726
17727 2005-03-24  Dan Williams <dcbw@redhat.com>
17728
17729         * src/NetworkManagerUtils.c
17730                 - (nm_get_device_driver_name): driver names are now on the parents of
17731                         "Network Interface" objects, so look for them there
17732
17733 2005-03-24  Dan Williams <dcbw@redhat.com>
17734
17735         * test/nmtest.c
17736                 - Escape some forgotten object paths before we shove them through dbus
17737
17738 2005-03-24  Dan Williams <dcbw@redhat.com>
17739
17740         * dhcpcd/dhcpcd.[ch]
17741           src/NetworkManagerDHCP.c
17742                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
17743                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
17744
17745         * src/NetworkManagerDbus.c
17746                 - spacing cleanups
17747
17748         * src/nm-dbus-dhcp.c
17749                 - Make the API suck less.  There is now only 1 type of each function,
17750                         ie only "getInteger" and no longer also "getIntegerv".  All types
17751                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
17752                         that will never have more than 1 element.  This should simplify
17753                         things greatly.
17754
17755         * test/nm-dhcp-opt-test.c
17756                 - Make the tool not segfault
17757                 - adapt to new DHCP Options API
17758
17759 2005-03-22  Dan Williams <dcbw@redhat.com>
17760
17761         * src/NetworkManager.c
17762                 - (nm_wired_link_deactivated): actually ignore netlink events from
17763                         wireless devices.
17764
17765 2005-03-22  Dan Williams <dcbw@redhat.com>
17766
17767         * src/NetworkManager.c
17768                 - (nm_wired_link_activated): actually ignore netlink events from
17769                         wireless devices.
17770
17771 2005-03-17  Dan Williams <dcbw@redhat.com>
17772
17773         Patch from Tom Parker:
17774         * src/nm-netlink-monitor.c
17775                 - Include unistd.h
17776         * info-daemon/NetworkManagerInfoDbus.c
17777                 - (nmi_dbus_update_network_auth_method): free GConf values
17778
17779         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
17780         * src/NetworkManagerDevice.c
17781                 - (nm_device_set_wireless_config): wait for successful
17782                         association longer for some cards (Atheros a/b/g)
17783
17784 2005-03-15  Ray Strode  <rstrode@redhat.com>
17785
17786         * src/NetworkManager.c:
17787         (sigterm_pipe_handler):
17788         remove bogus FIXME
17789
17790 2005-03-15  Ray Strode  <rstrode@redhat.com>
17791
17792         * src/NetworkManagerDbus.c:
17793         Fix some sign weirdness that gcc4 doesn't like,
17794         and add a header file so PPC can hopefully find
17795         SIGTRAP
17796
17797 2005-03-14  Ray Strode  <rstrode@redhat.com>
17798         
17799         Fourth (probably working) cut at porting to
17800         dbus 0.30 api and new hal. This cut adds
17801         some new logging macros to make debugging
17802         easier.
17803
17804         * dispatcher-daemon/NetworkManagerDispatcher.c:
17805         * info-daemon/NetworkmanagerInfo.c:
17806         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
17807         * info-daemon/NetworkManagerInfoVPN.c:
17808         * src/NetworkManager.c:
17809         * src/NetworkManagerAP.c:
17810         * src/NetworkManagerAPList.c:
17811         * src/NetworkManagerDHCP.c:
17812         * src/NetworkManagerDbus.c:
17813         * src/NetworkManagerDevice.c:
17814         * src/NetworkManagerPolicy.c:
17815         * src/NetworkManagerSystem.c:
17816         * src/NetworkManagerUtils.c:
17817         * src/NetworkManagerWireless.c:
17818         * src/autoip.c:
17819         * src/nm-dbus-nm.c:
17820         * src/backends/NetworkManagerDebian.c:
17821         * src/backends/NetworkManagerGentoo.c:
17822         * src/backends/NetworkManagerRedHat.c:
17823         * src/backends/NetworkManagerSlackware.c:
17824         use new logging macros.
17825
17826         * dispatcher-daemon/NetworkManagerDispatcher.c:
17827         (nmd_dbus_filter): s/dbus_free/g_free/
17828
17829         * info-daemon/Makefile.am: link in utils library.
17830         * info-daemon/NetworkmanagerInfo.c: use new logging 
17831         macros.
17832         (nmi_dbus_get_network): don't assume enumerations
17833         are 32-bit.
17834         (nmi_dbus_nmi_message_handler): don't free what 
17835         doesn't belong to us.
17836
17837         * libnm_glib/libnm_glib.c:
17838         (libnm_glib_get_nm_status): 
17839         (libnm_glib_init): don't free what doesn't
17840         belong to us.
17841         (libnm_glib_dbus): strdup result, so it doesn't get
17842         lost when message is unref'd.
17843
17844         * panel-applet/NMWirelessAppletDbus.c:
17845         (nmwa_dbus_update_devices): s/dbus_free/g_free/
17846
17847         * src/NetworkManager.c:
17848         (nm_monitor_wired_link_state): request initial status 
17849         dump of all cards when we start up, instead of relying
17850         on /sys/.../carrier.
17851         (nm_info_handler), (nm_set_up_log_handlers): 
17852         log handlers to specify what syslog priorites 
17853         the logging macros default to.
17854
17855         * src/NetworkManagerAPList.c: 
17856         (nm_ap_list_populate_from_nmi):
17857         s/dbus_free_string_array/g_strfreev/
17858
17859         * src/NetworkManagerDbus.c:
17860         (nm_dbus_get_network_object):
17861         validate d-bus message argument types.
17862         Advance message iterator after reading argument,
17863         prepend instead of append to GSList.
17864
17865         * src/NetworkManagerDevice.c:
17866         (nm_device_probe_wired_link_status):
17867         remove redundant /sys in /sys path. remove wrong
17868         contents == NULL means has carrier assumption.
17869
17870         * src/nm-netlink-monitor.c 
17871         (nm_netlink_monitor_request_status): implement
17872         function to ask kernel to dump interface link
17873         status over netlink socket.
17874
17875         * test/*.c: s/dbus_free/g_free/
17876
17877         * utils/nm-utils.h:
17878         (nm_print_backtrace): new macro to print backtrace.
17879         (nm_get_timestamp): new macro to get sub-second precise
17880         unix timestamp.
17881         (nm_info), (nm_debug), (nm_warning), (nm_error):
17882         new logging functions. nm_info just prints,
17883         nm_debug includes timestamp and function,
17884         nm_warning includes function, nm_error includes
17885         backtrace and sigtrap.
17886
17887 2005-03-11  Ray Strode  <rstrode@redhat.com>
17888
17889         Third (unfinished, partially working) cut at porting to 
17890         dbus 0.30 api and new hal.
17891
17892         * info-daemon/NetworkManagerInfoDbus.c:
17893                 don't free null arrays.
17894
17895         * panel-applet/NMWirelessAppletDbus.c: 
17896         * src/nm-dbus-device.c:
17897         * src/nm-dbus-net.c: 
17898         * src/NetworkManagerDbus.c: more 
17899         STRING -> OBJECT_PATH fun
17900         * src/NetworkManagerDevice.c:
17901         * src/NetworkManagerDevice.h:
17902         (rename nm_device_get_link_active): rename to 
17903         nm_device_has_active_link
17904         (nm_device_wireless_link_active): rename to
17905         nm_device_probe_wireless_link_state
17906         (nm_device_wired_link_active): rename to
17907         nm_device_probe_wired_link_state.  Rewrite to
17908         use carrier file since hal doesn't maintain
17909         link state anymore.
17910         (nm_device_update_link_active): rename to
17911         nm_device_update_link_state
17912         * src/NetworkManagerPolicy.c 
17913           (nm_policy_activation_finish): check for NULL
17914           MAC address.
17915
17916         * src/Makefile.am:
17917         * src/NetworkManagerMain.h: 
17918         * src/NetworkManager.c:
17919         * src/nm-netlink-monitor.c:
17920         * src/nm-netlink-monitor.h: New class to support
17921         monitoring wired ethernet link status, since HAL
17922         doesn't export that information anymore.
17923
17924 2005-03-09  Ray Strode  <rstrode@redhat.com>
17925
17926         Second (unfinished, unworking) cut at porting to 
17927         dbus 0.30 api.
17928
17929         * dispatcher-daemon/NetworkManagerDispatcher.c:
17930         * info-daemon/NetworkManagerInfoDbus.c:
17931         * panel-applet/NMWirelessAppletDbus.c:
17932         * src/NetworkManagerDbusUtils.c:
17933         * src/NetworkManagerDbusUtils.h:
17934         * src/nm-dbus-device.c:
17935         * src/nm-dbus-nm.c:
17936         * test/nmtest.c: support dbus "object path" type
17937
17938         * configure.in: 
17939         * Makefile.am:
17940         * info-daemon/Makefile.am:
17941         * libnm_glib/Makefile.am:
17942         * panel-applet/Makefile.am:
17943         * dispatcher-daemon/Makefile.am
17944         * src/Makefile.am:
17945         * test/Makefile.am:
17946         * utils/Makefile.am: 
17947         * utils/nm-utils.c: 
17948         * utils/nm-utils.h: new utils static lib
17949
17950 2005-03-07  Ray Strode  <rstrode@redhat.com>
17951
17952         * info-daemon/NetworkManagerInfoDbus.c:
17953         * libnm_glib/libnm_glib.c:
17954         * panel-applet/NMWirelessAppletDbus.c:
17955         * src/NetworkManager.c:
17956         * src/NetworkManagerDbus.c:
17957         * src/NetworkManagerDevice.c:
17958         * src/NetworkManagerUtils.c:
17959         * src/nm-dbus-device.c:
17960         * src/nm-dbus-dhcp.c:
17961         * src/nm-dbus-net.c:
17962         * src/nm-dbus-nm.c:
17963         * test/nminfotest.c:
17964         First (unfinished, unworking) cut at porting to dbus 0.30 api.
17965
17966 2005-03-04  Dan Williams  <dcbw@redhat.com>
17967
17968         * configure.in
17969                 - Mark HEAD as 0.4
17970
17971 2005-03-04  Dan Williams  <dcbw@redhat.com>
17972
17973         Patch from Peter Jones:
17974         - Make stuff work with gcc 4.0
17975
17976 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
17977
17978         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
17979
17980 2005-02-27  Jim Huang  <jserv@kaffe.org>
17981
17982         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
17983
17984 2005-02-27  Dan Williams  <dcbw@redhat.com>
17985
17986         Patch from Bill Moss:
17987         * panel-applet/NMWirelessAppletDbus.c
17988                 - Make sure strength for current access point is up-to-date when we
17989                         update the gui data model
17990
17991 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
17992
17993         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
17994
17995 2005-02-27  Dan Williams  <dcbw@redhat.com>
17996
17997         * src/backends/NetworkManagerRedHat.c
17998                 - (nm_system_init): Kill any dhclient processes lying around as well
17999                         as stopping 'nifd' if its already been started.  NetworkManager
18000                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
18001
18002 2005-02-27  Dan Williams  <dcbw@redhat.com>
18003
18004         * panel-applet/NMWirelessApplet.c
18005                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
18006                         dbus data model, not the GUI data model twice.
18007
18008 2005-02-27  Dan Williams  <dcbw@redhat.com>
18009
18010         * panel-applet/NMWirelessApplet.[ch]
18011           panel-applet/NMWirelessAppletDbus.[ch]
18012                 - Move to incremental network updates.  Instead of blowing away our list
18013                         of devices every time we get a signal from NetworkManager, we now
18014                         incrementally add/remove networks when NetworkManager notifies us that
18015                         a new network has appeared or disappered.  Strength updates now happen
18016                         on-the-fly for each access point as well.  There are now two copies of
18017                         data from NetworkManager: one for the dbus side, and one for the gui side.
18018                         When the dbus side data is modified, it is copied over to the gui side
18019                         so we don't have to hold the data_mutex for long periods of time (and
18020                         therefore block animation of the applet's icon).
18021                 - Clean up some memleaks too
18022
18023         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18024                 - Minor code beautification
18025
18026         * src/NetworkManagerAPList.c
18027                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
18028                         completely new and whether or not an existing one's strength was updated.
18029                         Try to fix multiple access points and signal strength by using the highest
18030                         signal strength in each scan for any given ESSID.
18031
18032         * src/NetworkManagerDbus.[ch]
18033                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
18034                         wireless networks; now we have only WirelessNetworkUpdate which includes
18035                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
18036                 - Kill usage of DbusMessageIter
18037
18038         * src/NetworkManagerDevice.c
18039                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
18040                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
18041                         AP rather than all-at-once.  Also don't ever remove the AP a card is
18042                         currently associated with from the network list.
18043                 - Update for new signals during scan, send out Appeared, Disappeared, or
18044                         StrengthChanged when necessary.
18045
18046 2005-02-25  Dan Williams  <dcbw@redhat.com>
18047
18048         * README
18049                 - Line break the README
18050
18051 2005-02-25  Dan Williams  <dcbw@redhat.com>
18052
18053         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18054                 - Remove usage of gtk_window_set_default_size()
18055
18056         * panel-applet/essid.glade
18057                 - Stick default size here
18058                 - Add in random crap that current glade wants to add in now
18059
18060 2005-02-25  Dan Williams  <dcbw@redhat.com>
18061
18062         * src/backends/NetworkManagerRedHat.c
18063                 - For non-caching-nameserver/non-named case, ensure that nscd is running
18064                         and that we actually tell nscd to reload the hosts cache when it changes
18065
18066 2005-02-25  Dan Williams  <dcbw@redhat.com>
18067
18068         * info-daemon/NetworkManagerInfoDbus.c
18069                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
18070
18071         * test/nminfotest.c
18072                 - Whack usage of DbusMessageIter
18073                 - Clean up DbusError and DbusMessage handling and freeing
18074                 - Remove unused unregister handler
18075
18076         * test/nmtest.c
18077                 - Whack usage of DbusMessageIter
18078
18079         * test/nmtestdevices.c
18080                 - Whack usage of DbusMessageIter
18081
18082 2005-02-25  Dan Williams  <dcbw@redhat.com>
18083
18084         * NetworkManager.h
18085                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
18086                         signal
18087
18088 2005-02-25  Dan Williams  <dcbw@redhat.com>
18089
18090         * named/nm-named-manager.c
18091                 - Ensure that pid and watch variables for child named process get cleared out
18092                         when the child goes away.
18093
18094 2005-02-22  Dan Williams  <dcbw@redhat.com>
18095
18096         * src/NetworkManagerPolicy.c
18097                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
18098                         and NULL out data->active_device so that we have to choose another one.
18099                         This may make NetworkManager keep attempting to connect to a wired network
18100                         if it fails, but if it keeps failing the wired network has more problems than
18101                         just NetworkManager.
18102
18103         * src/backends/NetworkManagerRedHat.c
18104                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
18105                         is already running
18106
18107         * named/nm-named-manager.c
18108                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
18109                         named so that the distro can flush whatever name service caching
18110                         daemon it uses
18111
18112 2005-02-21  Dan Williams  <dcbw@redhat.com>
18113
18114         * src/NetworkManagerDHCP.[ch]
18115                 - (nm_device_dhcp_remove_timeouts): new function
18116
18117         * src/NetworkManagerDevice.c
18118                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
18119                         remove the DHCP timeouts.
18120
18121 2005-02-21  Dan Williams  <dcbw@redhat.com>
18122
18123         * panel-applet/NMWirelessApplet.[ch]
18124           panel-applet/menu-info.[ch]
18125                 - Give the panel applet some major love: menu items are no longer
18126                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
18127                         This allows the applet to actually reflect theme changes correctly,
18128                         since themeing of subclassed items in GTK _sucks_.
18129
18130 2005-02-18  Dan Williams  <dcbw@redhat.com>
18131
18132         * libnm_glib/libnm_glib.[ch]
18133           test/libnm_glib_test.c
18134                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
18135                         and its data, and doesn't have to free the callback data anymore
18136
18137 2005-02-18  Dan Williams  <dcbw@redhat.com>
18138
18139         * panel-applet/NMWirelessApplet.c
18140                 - Revert 2005-02-18 William Jon McCann fix for standard
18141                         copyright string until it passes 'make distcheck'.
18142                         With standard copyright string, xgettext complains
18143                         about "Non-ASCII string at ...".
18144
18145 2005-02-18  Dan Williams  <dcbw@redhat.com>
18146
18147         * panel-applet/essid.glade
18148           panel-applet/NMWirelessAppletOtherNetworksDialog.c
18149                 - Correct spelling of "adaptor"->"adapter"
18150
18151 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18152
18153         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
18154         (nmwa_about_cb): Use standard copyright string.  Update comment
18155         text to reflect that it is a notification area applet.  Remove
18156         leading newline in authors list.
18157         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
18158         instead of on parent menu item activation.  Fixes #167550.
18159
18160 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18161
18162         * panel-applet/essid.glade: Capitalize items as per HIG.
18163           Fixes #167632
18164
18165 2005-02-16  William Jon McCann  <mccann@jhu.edu>
18166
18167         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
18168         files for GTK 2.4 or lower, since now public in GTK 2.6.
18169
18170         * panel-applet/essid.glade: Don't specify window size.
18171         
18172 2005-02-17  Dan Williams  <dcbw@redhat.com>
18173
18174         Caught by Bill Moss:
18175         * dhcpcd/client.c
18176                 - Time remaining for DHCP transaction calculation was incorrectly
18177                         inside a #ifdef DEBUG
18178
18179 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
18180
18181         * configure.in: Added fr (French) to ALL_LINGUAS.
18182
18183 2005-02-14  Dan Williams  <dcbw@redhat.com>
18184
18185         * src/NetworkManagerDHCP.c
18186                 - (set_domain_searches): Fix free of invalid pointer
18187
18188 2005-02-14  Dan Williams  <dcbw@redhat.com>
18189
18190         Patch from Peter Jones:
18191         * dhcpcd/client.c
18192                 - Ensure we return RET_DHCP_CEASED everywhere we should
18193         * dhcpcd/udpipgen.c
18194                 - Use faster TOS for IP packets
18195                 - Don't set ip_id since we're UDP
18196
18197         Patch from Tomislav Vujec:
18198         * src/nm-dbus-dhcp.c
18199           test/nm-dhcp-opt-test.c
18200                 - Clean up warnings to enable cvs tree compilation.
18201
18202 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
18203
18204         * configure.in
18205           po/hr.po
18206                 - Add the Croatian locale.
18207
18208 2005-02-14  Colin Walters  <walters@verbum.org>
18209
18210         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
18211         list of domains to search.
18212         
18213         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
18214
18215 2005-02-13  Dan Williams  <dcbw@redhat.com>
18216
18217         * dhcpcd/client.c
18218                 - Debug output cleanups of DHCP option printing and parsing.
18219
18220 2005-02-13  Dan Williams  <dcbw@redhat.com>
18221
18222         Patch from Dan Reed:  DHCP options D-BUS API
18223                 Exposes the DHCP options that a device receives to clients over D-BUS.
18224
18225         * configure.in
18226                 - A few cleanups
18227
18228         * dhcpcd/client.h
18229                 - Correct names, option length, and types for DHCP options
18230
18231         * dhcpcd/dhcpcd.[ch]
18232                 - Clarify function names that access DHCP options & data
18233
18234         * src/NetworkManagerDHCP.c
18235                 - Use new DHCP data access functions
18236
18237         * src/NetworkManagerDbus.c
18238                 - Message handler for DHCP functions
18239
18240         * src/nm-dbus-dhcp.[ch] (new)
18241                 - DHCP dbus methods
18242
18243         * test/nm-dhcp-opt-test.c
18244                 - Test DHCP D-BUS API and return all present DHCP options
18245
18246 2005-02-12  Dan Williams  <dcbw@redhat.com>
18247
18248         * test/Makefile.am
18249           test/nmclienttest.c
18250           test/nmtest.c
18251                 - Move nmclienttest.c -> nmtest.c
18252
18253 2005-02-12  Dan Williams  <dcbw@redhat.com>
18254
18255         * dhcpcd/buildmsg.c
18256                 - Pad DHCP packets until they are at least 300 bytes in size.
18257
18258 2005-02-11  Dan Williams  <dcbw@redhat.com>
18259
18260         * dhcpcd/client.c
18261                 - (dhcp_init): only print out client ID and class ID if they are specified
18262
18263         * src/NetworkManagerDbus.[ch]
18264           src/nm-dbus-nm.[ch]
18265           src/nm-dbus-device.[ch]
18266           src/nm-dbus-net.[ch]
18267                 - Move NM, Device, and Net functions to separate files and use the
18268                         dbus method list stuff in NetworkManagerDbusUtils.c to do
18269                         method dispatching
18270
18271         * src/NetworkManagerDbusUtils.c
18272                 - Add new validate_method called before each dispatch (if present)
18273                         that can validate the method call
18274
18275         * src/NetworkManagerWireless.c
18276                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
18277                         levels never to be evaluated
18278
18279         Patch from j@bootlab.org
18280         * src/NetworkManagerDevice.c
18281                 - Add typedef for "u64"
18282
18283         * src/backends/NetworkManagerDebian.c
18284                 - Copy in Dave Woodhouse's fixes for IPv6
18285
18286 2005-02-11  Dan Williams  <dcbw@redhat.com>
18287
18288         Patch from Dave Woodhouse for IPv6:
18289         * src/NetworkManagerUtils.c
18290                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
18291                         and multicast addresses
18292
18293         * src/NetworkManagerDevice.c
18294                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
18295                         after bringing up a card.
18296
18297 2005-02-10  Dan Williams  <dcbw@redhat.com>
18298
18299         Patch from Dave Woodhouse:
18300         * src/NetworkManagerSystem.h
18301           src/backends/NetworkManagerDebian.c
18302           src/backends/NetworkManagerGentoo.c
18303           src/backends/NetworkManagerSlackware.c
18304                 - New nm_system_device_add_ip6_link_address() function to add link-local
18305                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
18306
18307         * src/backends/NetworkManagerRedHat.c
18308                 - (nm_system_device_add_ip6_link_address): implement
18309                 - (nm_system_device_flush_addresses): revert to previous behavior of
18310                         flushing all addresses
18311
18312 2005-02-10  Dan Williams  <dcbw@redhat.com>
18313
18314         Patch from Tom Parker:
18315         * src/NetworkManagerDevice.c
18316                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
18317                         mii.h headers are broken, and instead use our own typedefs
18318
18319 2005-02-10  Dan Williams  <dcbw@redhat.com>
18320
18321         * dhcpcd/buildmsg.c
18322                 - (fill_host_and_class_id): only fill in client and class IDs if
18323                         they are set by callers.
18324
18325         * dhcpcd/client.c
18326                 - (class_id_setup): don't autogenerate a class ID, only use one
18327                         we're given, if any.
18328                 - (client_id_setup): don't autogenerate a client ID, only use one
18329                         we're given, if any.
18330
18331         * dhcpcd/dhcpcd.c
18332                 - (dhcp_interface_init): ensure that client options are correctly
18333                         NULL terminated
18334
18335         * src/NetworkManagerDHCP.c
18336                 - (nm_device_dhcp_request): pass hostname to dhcp library
18337
18338 2005-02-10  Dan Williams  <dcbw@redhat.com>
18339
18340         * dhcpcd/client.c
18341                 - #rh147661# Don't send kernel version in DHCP requests
18342
18343         * src/NetworkManagerSystem.h
18344           src/backends/NetworkManagerDebian.c
18345           src/backends/NetworkManagerGentoo.c
18346           src/backends/NetworkManagerRedHat.c
18347           src/backends/NetworkManagerSlackware.c
18348                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
18349                         functions, they are no longer used anyway
18350
18351         * src/backends/NetworkManagerRedHat.c
18352                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
18353                         addresses in an attempt to keep IPv6 local-scope addresses around
18354
18355 2005-02-10  Dan Williams  <dcbw@redhat.com>
18356
18357         * src/NetworkManager.c
18358                 - (nm_create_device_and_add_to_list): change the add message slightly
18359
18360         * src/NetworkManagerUtils.c
18361                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
18362                         Return driver name to calling function
18363                 - (nm_get_driver_support_level): print out the driver a device is using
18364                         during the support check
18365
18366         Patch from Dave Woodhouse:
18367         * dhcpcd/udpipgen.c
18368                 - (in_cksum): copy last byte of odd-sized packets into a
18369                         'u_short' rather than a 'u_char', should fix wrong checksums
18370                         on big-endian platforms
18371
18372 2005-02-09  Dan Williams  <dcbw@redhat.com>
18373
18374         * Clean up usage of GSList objects and looping through their members
18375         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
18376                 now.
18377         * Fix problem where even if scanning was turned off, card would still
18378                 cycle through frequencies.
18379
18380 2005-02-08  Dan Williams  <dcbw@redhat.com>
18381
18382         * panel-applet/NMWirelessApplet.c
18383                 - Fix for gtk 2.4
18384
18385 2005-02-08  Dan Williams  <dcbw@redhat.com>
18386
18387         Patch from Bill Moss
18388         * panel-applet/NMWirelessApplet.c
18389                 - Restore correct ESSID in tooltips
18390
18391 2005-02-07  Dan Williams  <dcbw@redhat.com>
18392
18393         * panel-applet/NMWirelessApplet.[ch]
18394                 - Add a context menu that contains:
18395                         Pause/Resume Wireless Scanning
18396                         Stop/Start All Wireless Devices
18397                         About...
18398                 - Grab active device strength off active device,
18399                         not its network
18400
18401         * panel-applet/NMWirelessAppletDbus.[ch]
18402                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
18403                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
18404                 - Update active device strength every 2 seconds, not every 1 second
18405
18406         * panel-applet/menu-info.c
18407                 - Only disable wired devices in the menu when they support carrier detection,
18408                         and don't currently have a link.  Non-carrier-detect devices will always
18409                         remain choosable
18410
18411         * src/Makefile.am
18412           src/NetworkManagerDbusUtils.[ch]
18413                 - Add new new dbus utils sources
18414
18415         * src/NetworkManager.c
18416                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
18417                         with the boolean parameter
18418                 - Set scanning_enabled & wireless_enabled to TRUE
18419
18420         * src/NetworkManagerDbus.c
18421                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
18422                 - Implement scanning & wireless enable/disable calls
18423                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
18424
18425         * src/NetworkManagerDevice.c
18426                 - New link detection stuff again...
18427                         o  Create device's mainloop earlier (but don't run it earlier)
18428                         o  Hook up new carrier-detect support stuff
18429                         o  Add in the ethtool & mii support detection code
18430                 - Don't scan if scanning is disabled
18431
18432         * src/NetworkManagerPolicy.c
18433                 - Never automatically choose a device that doesn't support carrier detection
18434                 - Don't automatically choose a wireless device if wireless is disabled
18435
18436 2005-02-07  Dan Williams  <dcbw@redhat.com>
18437
18438         * libnm_glib/libnm_glib.c
18439                 - Small cleanup in element list iteration
18440
18441 2005-02-07  Dan Williams  <dcbw@redhat.com>
18442
18443         * src/NetworkManagerWireless.c
18444                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
18445                         to be in line with the WEXT quality specification
18446
18447 2005-02-02  Dan Williams  <dcbw@redhat.com>
18448
18449         Patch from Nathan Fredrickson <nathan@silverorange.com>
18450         * Fix up compile for deprecation of libgnomeui
18451                 - Switch to <glib/gi18n.h> from <libintl.h>
18452                 - Remove <libgnomeui/libgnomeui.h> includes
18453                 - Use gtk_window_set_default_icon_from_file() rather than
18454                         gnome_window_set_default_icon_from_file()
18455
18456         * named/nm-named-manager.c
18457                 - (generate_named_conf): Fix return-nothing in non-void
18458                         function
18459
18460 2005-02-02  Dan Williams  <dcbw@redhat.com>
18461
18462         * Clean up unused variables and the like
18463
18464 2005-02-02  Dan Williams  <dcbw@redhat.com>
18465
18466         * src/NetworkManagerAPList.c
18467                 - (nm_ap_list_merge_scanned_ap): merge strength too
18468
18469         * src/NetworkManagerUtils.c
18470                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
18471                         of locking issues by printing out prettier information than g_mutex_lock
18472                 - Print out names of mutexes registered with nm_register_mutex_desc()
18473                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
18474                         us to seemingly block here for too long
18475
18476         * src/NetworkManager.c
18477           src/NetworkManagerAPList.c
18478           src/NetworkManagerDevice.c
18479                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
18480                         so we get better debug information printed
18481
18482         * src/NetworkManagerDbus.c
18483                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
18484                         since it sometimes has locking side effects
18485                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
18486                         from 10s
18487                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
18488                         we don't need a switch.  This gets called often enough that we can't block
18489                         until the scan mutex is acquired, because we'll block on device activation
18490                         and a few other things, which hangs main thread for too long.
18491
18492         * src/NetworkManagerPolicy.c
18493                 - (nm_policy_auto_get_best_device): reduce the possiblity that
18494                         nm_device_need_ap_switch() will be called               
18495
18496 2005-02-02  Dan Williams  <dcbw@redhat.com>
18497
18498         * panel-applet/NMWirelessApplet.c
18499                 - Display name of wireless network we are connecting to or connected to
18500                         in the tooltip of the applet
18501
18502 2005-02-02  Dan Williams  <dcbw@redhat.com>
18503
18504         * src/NetworkManagerDHCP.c
18505                 - Hopefully fix double-default-route problem by cleaning up the default
18506                         route added by DHCP code right before the DHCP transaction begins
18507
18508 2005-02-02  Dan Williams  <dcbw@redhat.com>
18509
18510         * named/nm-named-manager.c
18511                 - Write out valid resolv.conf when we exit
18512
18513 2005-02-01  Dan Williams  <dcbw@redhat.com>
18514
18515         Patch from Colin Walters:
18516         * named/nm-named-manager.c
18517                 - Make multi-domain search options work
18518
18519 2005-01-31  Dan Williams  <dcbw@redhat.com>
18520
18521         * info-daemon/NetworkManagerInfoDbus.c
18522                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
18523
18524         * src/NetworkManagerDevice.c
18525                 - (nm_device_new): Don't store the entire range struct, use only what we need
18526                         (which is currently avg_quality, max_quality, and frequencies).  Also
18527                         zero device structure when we've free'd it to maybe expose errors down
18528                         the line.
18529                 - (nm_device_update_signal_strength): grab the scan mutex before getting
18530                         quality data from the card since quality will be useless during a scan.
18531                         Call updated wireless qual-to-percent function with values stored in
18532                         nm_device_new() earlier.
18533                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18534                         nm_device_get_bad_crypt_packets())
18535                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18536                         nm_device_new()
18537                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18538                         list if available.  Problem was this: when the WEP key is wrong, NM will
18539                         try OS then SK modes, and then get stuck in SK mode after that.  This
18540                         should reset it.
18541                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18542                         function
18543
18544         * src/NetworkManagerWireless.c
18545                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18546                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18547                         if that's all present, otherwise fall back to signal-to-noise ratios.
18548
18549 2005-01-29  Dan Williams  <dcbw@redhat.com>
18550
18551         * initscript/RedHat/NetworkManager
18552                 - Don't spit out sysctl stuff to console
18553
18554         * libnm_glib/libnm_glib.c
18555                 - (libnm_glib_init): call dbus_g_thread_init()
18556
18557         * panel-applet/NMWirelessAppletDbus.c
18558                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18559
18560         * src/NetworkManager.c
18561                 - (main): call dbus_g_thread_init()
18562
18563         * src/NetworkManagerAPList.c
18564                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18565                         so we can actually see what's there in a normal syslog
18566
18567         * src/NetworkManagerDevice.c
18568                 - (nm_device_activate_wireless): print out the "waiting for access point"
18569                         message only once, then say what access point we actually got after
18570                         the wait.
18571                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18572                         function, wait until the scan is done.  Scans may change the ESSID of
18573                         the card, making this function think we need to switch access points
18574                 - (nm_device_wireless_process_scan_results): for artificial access points
18575                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18576                         prevents collisions with the scanning code, which may change the card's
18577                         ESSID and cause the access point to get dropped from the device's AP
18578                         list.  Also increase the keep-around time to 2m from 60s since the max
18579                         scan interval could be 60s in some cases.
18580
18581         * src/NetworkManagerPolicy.c
18582                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18583                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18584                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18585                         between NM and NMI.
18586
18587 2005-01-27  Dan Williams  <dcbw@redhat.com>
18588
18589         * info-daemon/NetworkManagerInfoDbus.c
18590                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18591                         GConf, make a minimal entry for it (essid & timestamp)
18592
18593         * src/NetworkManagerAPList.c
18594                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18595                         NetworkManagerInfo isn't running
18596
18597         * src/NetworkManagerDbus.[ch]
18598                 - (nm_dbus_nmi_is_running): new function
18599
18600         * src/NetworkManagerDevice.c
18601                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18602                         address to garbage.
18603
18604         * src/NetworkManagerPolicy.c
18605                 - (nm_policy_activation_finish): On successful activation, make sure
18606                         the "best" AP has a MAC address, and don't tell NMI to add the
18607                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18608                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18609                         access point after refreshing our allowed list if it doesn't already
18610                         have a "best" access point.
18611
18612 2005-01-25  Dan Williams  <dcbw@redhat.com>
18613
18614         * panel-applet/NMWirelessAppletDbus.c
18615                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18616                         so we check for NM_DBUS_SERVICE rather than not for it
18617
18618         * libnm_glib/libnm_glib.c
18619                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18620                         ServiceOwnerChanged signal
18621
18622 2005-01-25  Dan Williams  <dcbw@redhat.com>
18623
18624         * configure.in
18625                 - Check DBUS version in configure, and set the C macros
18626                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18627
18628         * info-daemon/NetworkManagerInfoDbus.c
18629                 - Remove #if 0-d section of code that quit NMI if NM went away.
18630
18631         * panel-applet/NMWirelessAppletDbus.c
18632                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18633
18634         * src/NetworkManager.c
18635           src/NetworkManagerMain.h
18636           src/NetworkManagerDbus.c
18637                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18638                 - Make updating of our Allowed Wireless Network lists from NMI
18639                         an idle function in the main thread now, with a high priority.
18640
18641 2005-01-24  Dan Williams  <dcbw@redhat.com>
18642
18643         * panel-applet/gtkcellview.[ch]
18644           panel-applet/menu-info.c
18645                 - Fix GTK version checks to be <= rather than <
18646
18647         * test/Makefile.am
18648                 - Include the libtool archive of libnm_glib rather than
18649                         trying to pull in the .so
18650
18651 2005-01-24  Dan Williams  <dcbw@redhat.com>
18652
18653         * src/NetworkManagerDevice.c
18654           src/NetworkManagerDevicePrivate.h
18655                 - Block nm_device_new() until our device's worker thread has had a
18656                         chance to start up.  Fixes a race between main thread and worker
18657                         thread starting that caused activation requests to get lost.
18658
18659 2005-01-24  Dan Williams  <dcbw@redhat.com>
18660
18661         * initscript/RedHat/NetworkManager
18662                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18663                         to add the NM startup script at priority 50, which was
18664                         way too early
18665
18666 2005-01-24  Colin Walters  <walters@redhat.com>
18667
18668         * named/named.conf: Use any port for query source instead of
18669         restricting to port 53.
18670
18671 2005-01-24  Dan Williams  <dcbw@redhat.com>
18672
18673         * initscript/RedHat/NetworkManager
18674                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18675                         to add the NM startup script at priority 50, which was
18676                         way too early
18677
18678 2005-01-24  Dan Williams  <dcbw@redhat.com>
18679
18680         Patch from Tom Parker <palfrey@tevp.net>
18681         * Fix up compile warnings & errors in the wireless applet
18682
18683 2005-01-24  Dan Williams  <dcbw@redhat.com>
18684
18685         * panel-applet/NMWirelessApplet.c
18686                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18687
18688 2005-01-24  Dan Williams  <dcbw@redhat.com>
18689
18690         * panel-applet/gtkcellview.[ch]
18691                 - Only compile these files for GTK 2.4 or lower, since 
18692                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18693                         when choosing "Other Wireless Networks" from the panel
18694                         applet menu
18695
18696 2005-01-21  Dan Williams  <dcbw@redhat.com>
18697
18698         * src/NetworkManager.c
18699                 - Daemonize earlier so that glib doesn't get confused (?)
18700
18701 2005-01-21  Dan Williams  <dcbw@redhat.com>
18702
18703         * panel-applet/NMWirelessApplet.[ch]
18704           panel-applet/NMWirelessAppletDbus.c
18705           panel-applet/menu-info.c
18706           src/NetworkManagerDevice.c
18707                 - Disable wired devices in the menu when they have no link.
18708
18709 2005-01-21  Dan Williams  <dcbw@redhat.com>
18710
18711         * Cache last-known-good wireless authentication method in
18712                 NetworkManagerInfo, and use that method first during
18713                 wireless device activation.  Should speed up devices that
18714                 need Shared Key authentication method since Open System is
18715                 now the default.
18716
18717         * Remove the hack to not do full activation on wired connections
18718                 that are active when we launch, it causes too many problems
18719                 with name resolution and was a hack in the first place.
18720
18721         * Re-work wireless device activation again somewhat to have a
18722                 clearer chain of events and to use last-known-good
18723                 authentication method of the access point.  Also provide
18724                 better status throughout activation to ensure the applet
18725                 can tell the user exactly what's going on.
18726
18727         * Remove the "find wireless network" code and now simply attempt
18728                 to activate with that access point.  This reduces the delay
18729                 between selecting "Other wireless Network" and actually
18730                 connecting to that network.
18731
18732         * Correctly stop the device's worker thread when its removed.
18733
18734 2005-01-21  Dan Williams  <dcbw@redhat.com>
18735
18736         * dhcpcd/client.c
18737                 - Clean up some of the debug messages
18738
18739 2005-01-21  Dan Williams  <dcbw@redhat.com>
18740
18741         * Add new icons, more frames of animation
18742         * Remove some hacks to get the panel applet to display correct
18743                 status, an NM update will soon follow that will fix the
18744                 real issue.
18745
18746 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
18747
18748         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
18749         the first include for working i18n. Also, don't include it in .h files
18750         * panel-applet/NMWirelessApplet.h: Same
18751         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
18752         * panel-applet/menu-info.c: Same
18753
18754 2005-01-18  Dan Williams <dcbw@redhat.com>
18755
18756         * dhcpcd/client.c
18757                 - Remove some debug messages
18758                 - Wrap others in #ifdef DEBUG/#endif
18759
18760         * src/NetworkManager.c
18761                 - Remove some debug messages
18762                 - Clarify some debug messages
18763                 - Remove code related to old single-thread wireless scanning
18764
18765         * src/NetworkManagerAP.[ch]
18766                 - New AP property "last_seen" to track how recently an AP was
18767                         found in a scan
18768                 - Start using 'const' more in function arguments
18769
18770         * src/NetworkManagerAPList.[ch]
18771                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
18772                         of an AP found in an AP list from a source AP, or if not found
18773                         in the list add the source AP
18774                 - (nm_ap_list_combine): remove, no longer needed
18775
18776         * src/NetworkManagerDevice.c
18777                 - Each device now has a "worker" thread from start to end of its life.
18778                         Scanning for wireless devices now happens in that thread,
18779                         not in a single "wireless scanning thread" for all devices as
18780                         previously.  Activation consists of adding an idle handler to the
18781                         thread's main loop/context, which gets run at the next available
18782                         opportunity.
18783                 - Wireless scanning is also simplified, there is now only one list of
18784                         access points per wireless device, and APs older than 60s are
18785                         removed from the list.  Previously, we kept results for the last
18786                         3 scans and merged whole lists, which was complicated.
18787                 - Cleaned up activation debug messages.
18788                 - Wireless activation and access-point search routines now use Open System
18789                         authentication before trying Shared Key.
18790                 - Removed some code in nm_device_update_best_ap() that could cause cards
18791                         to loose their link to the access point.
18792                 - Scanning now uses a backoff algorithm, where the inverval becomes
18793                         progressively longer between scans when the list of scanned access
18794                         points doesn't change.  A change will revert to the shortest scan
18795                         interval (20s).
18796
18797         * src/NetworkManagerWireless.[ch]
18798                 - Remove code related to old single-thread wireless scanning
18799
18800 2005-01-18  Colin Walters  <walters@redhat.com>
18801
18802         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
18803         of older nameservers.
18804
18805 2005-01-18  Colin Walters  <walters@redhat.com>
18806
18807         * named/nm-named-manager.c (generate_named_conf): Many fixes
18808         to config file generation.
18809         (safer_kill): Remove, was too much trouble for little gain.
18810         (nm_named_manager_start): Run named as NM_NAMED_USER.
18811
18812         * configure.in: Add option --with-named-user.
18813
18814 2005-01-14  Colin Walters  <walters@redhat.com>
18815
18816         Patch from ed@catmur.co.uk (Ed Catmur)
18817
18818         * named/nm-named-manager.c: Add "context" property.
18819         Use it to add child watch source in specific GMainContext.
18820
18821         * src/NetworkManager.c (nm_data_new): Initialize
18822         named with correct main context.  Start named only
18823         after forking.
18824
18825 2005-01-14  Colin Walters  <walters@redhat.com>
18826
18827         * named/nm-named-manager.c (generate_named_conf): Write config
18828         and pid files into NM_NAMED_DATA_DIR; this allows things to
18829         work better with FC3 named SELinux policy.  Also fix up silly
18830         format error.
18831
18832         * configure.in: Add --with-named-dir option.
18833
18834 2005-01-14  Colin Walters  <walters@redhat.com>
18835
18836         * configure.in: Make named support require passing --with-named.
18837
18838         * named/nm-named-manager.c: Support writing resolv.conf directly
18839         without running named.
18840
18841 2005-01-13  Dan Williams <dcbw@redhat.com>
18842
18843         * named/nm-named-manager.c
18844                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
18845
18846         * src/NetworkManagerDevice.c
18847                 - Rework wireless link detection code to be more reliable
18848
18849 2005-01-12  Dan Williams <dcbw@redhat.com>
18850
18851         * initscripts/RedHat/NetworkManager
18852                 - Change initial level to "-" rather than "345" so that
18853                         we don't activate ourselves by default on install
18854
18855 2005-01-12  Dan Williams <dcbw@redhat.com>
18856
18857         * libnm_glib/
18858                 - Client library for applications using glib
18859
18860         * configure.in
18861           various Makefiles
18862                 - Split NM_CFLAGS and NM_LIBS into separate variables
18863                         like DBUS_*, HAL_* and GLIB_*
18864
18865         * src/NetworkManager.c
18866           src/NetworkManagerMain.h
18867                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
18868                         broadcast a status changed signal over DBUS from the main thread.
18869                         Still unused anywhere for the moment.
18870
18871         Patch from j@bootlab.org
18872         * panel_applet/NMWirelessAppletDbus.c
18873           src/NetworkManagerDbus.c
18874                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
18875                         for the "getMode" method call
18876
18877 2005-01-10  Dan Williams <dcbw@redhat.com>
18878
18879         * src/NetworkManagerDevice.c
18880                 - Minor fixups & corrections to "auto" frequency mode, make it
18881                         less chatty with syslog
18882
18883 2005-01-10  Dan Williams <dcbw@redhat.com>
18884
18885         * src/NetworkManagerDevice.c
18886                 - Implement "auto" frequency/channel support, since cards like Atheros
18887                         can't use other frequencies at all when you've told it to use a
18888                         specific one, even for scanning.
18889                 - Grab the scan mutex around places where we can't tolerate wireless
18890                         settings changing underneath us, like nm_device_wireless_network_exists()
18891                         and nm_device_activate_wireless()
18892
18893         * src/NetworkManagerWireless.c
18894                 - Back scan interval off to 20s instead of 14s
18895
18896 2005-01-09  Dan Williams <dcbw@redhat.com>
18897
18898         * src/NetworkManagerDevice.c
18899                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
18900                         already set.  Stops some drivers like Atmel from continually
18901                         reloading the firmware, which they do upon every configuration
18902                         change.
18903
18904 2005-01-09  Dan Williams <dcbw@redhat.com>
18905
18906         * dhcpcd/client.c
18907                 - Use correct timeout value
18908
18909         * info-daemon/NetworkManagerInfoDbus.c
18910           src/NetworkManagerDbus.c
18911                 - Consolidate communication between NM and NMI by doing only 1 dbus
18912                         method call to get Wireless Network info from NMI instead of 6
18913
18914         * src/NetworkManager.c
18915                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
18916                         when we didn't have an AP to use, we'd wait for one forever without
18917                         quitting
18918
18919         * src/NetworkManagerDevice.c
18920                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
18921                         activation, dhcp might not have started yet but we don't quit activation
18922                         before starting it, so the quit signal gets lost
18923
18924 2005-01-07  Dan Williams <dcbw@redhat.com>
18925
18926         * dhcpcd/client.c
18927                 - Rework the DHCP client code to be much less chatty when
18928                         it receives non-DHCP UDP packets during the DHCP run
18929                         (reported by and preliminary patches from Bill Moss)
18930
18931         * Move wireless scanning to a separate thread.  This thread forwards the
18932                 results to the main thread when done where they are integrated into
18933                 the device's access point lists.  This keeps the main thread (which
18934                 does all the DBUS communication) from being blocked for long periods
18935                 of time by wireless scanning.
18936
18937         * Make state modification an idle routine in the main loop, and trigger
18938                 state changes rather than polling for them.
18939
18940         * src/backends/NetworkManagerGentoo.c
18941                 - Fix up invalid C90 code (reported by Christoph Ruessler)
18942
18943         * src/NetworkManagerDevice.c
18944                 - Revert IPv6 patch for wired devices from 2004-12-22 for
18945                         router advertisements, causing problems and infinite loop
18946                         during "best" device determination due to link going up/down
18947                         (reported by Bill Moss)
18948
18949         Apply patch from Peter Jones
18950         * src/NetworkManagerDevice.c
18951                 - Shortcut for link-checking for ipw2x00 cards
18952                 - Split out association check into separate routine
18953
18954 2004-01-05  Colin Walters  <walters@redhat.com>
18955
18956         * named/named.conf: Add PID_FILE.
18957
18958         * named/nm-named-manager.c: Always generate a pid
18959         file, since older BIND versions don't support
18960         "pid-file none".
18961
18962 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
18963
18964         * configure.in (ALL_LINGUAS): Added ja (Japanese).
18965
18966 2004-12-22  Dan Williams <dcbw@redhat.com>
18967
18968         * src/NetworkManagerDevice.c
18969                 - Silently fail when setting bitrate doesn't work
18970
18971
18972         Patches from j@bootlab.org:
18973         * src/backends/NetworkManagerDebian
18974                 - Update backend to match functionality in RedHat backend
18975         * src/NetworkManagerDevice.c
18976                 - Take down then bring up wired devices after connection so
18977                 they send out ipv6 router advertisements
18978
18979 2004-12-21  Colin Walters  <walters@verbum.org>
18980
18981         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
18982         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
18983
18984 2004-12-21  Colin Walters  <walters@redhat.com>
18985
18986         * configure.in: Correct named detection.
18987
18988 2004-12-21  Colin Walters  <walters@redhat.com>
18989
18990         * src/NetworkManager.c (nm_data_new): Initialize named.
18991         Also, set up a signal handler for SIGINT/SIGTERM, and exit
18992         the mainloop when these signals are received.
18993         (nm_data_free): Unref named.
18994         (sigterm_handler, sigterm_pipe_handler): New functions for
18995         exiting mainloop.
18996         
18997         * src/NetworkManagerMain.h (NMData): Add signal handling and
18998         nameserver bits.
18999
19000         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
19001         unref.
19002
19003         * src/NetworkManagerDHCP.c (set_nameservers): New function;
19004         set nameservers from DHCP response data.
19005         (set_domain_search): Set domain search from DHCP response.
19006         (nm_device_dhcp_configure): Invoke them.
19007
19008         * src/NetworkManagerSystem.c
19009         (nm_system_device_update_resolv_conf): Delete.  Deleting
19010         code is totally sweet.
19011
19012         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
19013
19014         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
19015         implements an object which controls a nameserver.  Currently
19016         uses bind 9.
19017
19018         * configure.in: Check for named.
19019
19020         * Makefile.am (SUBDIRS): Add named dir.
19021
19022         * named/named.conf: New template config file.
19023
19024 2004-12-20  Colin Walters  <walters@redhat.com>
19025
19026         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
19027         instead of '='.
19028
19029 2004-12-17  Dan Williams  <dcbw@redhat.com>
19030
19031         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
19032                 link-local addresses instead of doing DHCP.
19033
19034         * In the panel applet, there's a new "Create new Wireless Network..." item
19035
19036         * The panel applet also sticks around now even if NetworkManager dies, but
19037                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
19038                 a bug, I'll fix that later.
19039
19040         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
19041                 lookups after a switch rather than actually doing them.
19042
19043         * Clean up some of those warnings in nm_ap_list_* functions
19044
19045         * Delay between scans changed to 15s instead of 10s
19046
19047 2004-12-15  Dan Williams  <dcbw@redhat.com>
19048
19049         Patch from Tom Parker
19050         * Add autoip/Link Local Addressing support when we fail to get a DHCP
19051                 address
19052
19053         * Longer pause after setting ESSID on cards that support a larger number
19054                 of channels to give the card time to find the right channel
19055
19056         * Add system hook to restart mDNSResponder (or whatever the local implementation
19057                 of Multicast DNS is) when we activate interfaces
19058
19059 2004-12-15  Dan Williams  <dcbw@redhat.com>
19060
19061         * Rework the DHCP code again to revert to sending full ethernet frames
19062                 rather then relying on the kernel to do the right thing with our
19063                 packets.
19064
19065 2004-12-06  Dan Williams  <dcbw@redhat.com>
19066
19067         * dhcpcd/client.c
19068                 - Fix some minor errors in dhcp_handle_transaction() that caused
19069                         unexpected early timeouts of DHCP transactions
19070
19071         * dhcpcd/client.h
19072                 - DHCP retransmit time from 4s -> 5s
19073
19074 2004-12-05  Dan Williams  <dcbw@redhat.com>
19075
19076         * Major rework of the DHCP code, taking some cues from pump.  We don't
19077                 write raw Ethernet packets anymore, which simplifies the code quite
19078                 a bit.  The new code should be more robust, not hang in recvfrom()
19079                 as much, and generally work better.  This also means that we need
19080                 to force HAL/dbus to use a created GMainContext rather than the
19081                 default context, since having the DHCP renew/rebind thread using
19082                 its own GMainContext seemed to give dbus a fit.  There is also more
19083                 debugging information printed from the DHCP loop to help with future
19084                 problems.
19085
19086         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
19087                 assume that the default gateway should be the DHCP server.
19088
19089         Patch from Matthew Schick <matt oss-institute org>
19090         * src/backends/NetworkManagerGentoo.c
19091                 - Fix compilation error due to missing "ip4_broadcast"
19092
19093 2004-12-03  Dan Williams  <dcbw@redhat.com>
19094
19095         * initscript/Makefile.am
19096         * initscript/Debian/NetworkManager
19097         * initscript/Gentoo/NetworkManager
19098         * initscript/RedHat/NetworkManager
19099         * initscript/NMLaunchHelper.c
19100                 - Remove NMLaunchHelper, if you need to wait until the network
19101                         comes up, use the dead code from CVS.
19102
19103 2004-12-01  Colin Walters  <walters@redhat.com>
19104         
19105         * configure.in: Suck in gcc warnings code from Rhythmbox,
19106         but use fewer default flags, and in particular add -Wno-unused,
19107         since the codebase has a lot of unused variables.
19108
19109         * test/nmtestdevices.c (create_device): 
19110         * test/nminfotest.c (get_network_string_property) 
19111         (get_networks_of_type): 
19112         * test/nmclienttest.c (main): 
19113         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
19114         * initscript/NMLaunchHelper.c (get_nm_status): 
19115         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
19116         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
19117         Fix declarations after statements.
19118
19119 2004-12-01  Colin Walters  <walters@redhat.com>
19120
19121         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
19122         (nmi_dbus_get_vpn_userpass): New method.
19123         (nmi_dbus_nmi_message_handler): Invoke it.
19124
19125         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
19126
19127         * info-daemon/NetworkManagerInfoVPN.h,
19128         info-daemon/NetworkManagerInfoVPN.c: New files; responds
19129         to requests for VPN passwords.
19130
19131         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
19132
19133 2004-12-01  Colin Walters  <walters@redhat.com>
19134
19135         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
19136         includes.
19137
19138 2004-12-01  Colin Walters  <walters@redhat.com>
19139
19140         * panel-applet/NMWirelessAppletDbus.c
19141         (nmwa_dbus_update_active_device_strength): Fix missing
19142         return value.
19143
19144 2004-12-01  Colin Walters  <walters@redhat.com>
19145
19146         * panel-applet/NMWirelessApplet.c: Add missing include.
19147
19148 2004-12-01  Colin Walters  <walters@redhat.com>
19149
19150         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
19151         Remove useless CLAMP (); the value is unsigned, and the case tests
19152         qual->qual < 100, so the value must always be between 0 and 100.
19153
19154 2004-12-01  Colin Walters  <walters@redhat.com>
19155
19156         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
19157
19158 2004-11-22  Colin Walters  <walters@verbum.org>
19159
19160         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
19161         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
19162         which is essentially a noop since nscd caches hosts on disk too.
19163         
19164 2004-11-22  Colin Walters  <walters@redhat.com>
19165
19166         * src/Makefile.am (NetworkManager_SOURCES): Add
19167         NetworkManagerDevicePrivate.h.
19168
19169 2004-11-22  Dan Williams <dcbw@redhat.com>
19170
19171         * src/NetworkManagerDevicePrivate.h
19172                 - Split out the NMDevice struct to a different file so that stuff like
19173                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
19174
19175         * dhcpcd/client.c
19176                 - fprintf->syslog
19177                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
19178                         need to cancel the dhcp request during the send and recv
19179
19180         * dhcpcd/client.h
19181                 - Move the DHCP option enum to dhcpcd.h
19182
19183         * src/NetworkManagerDHCP.c
19184                 - Split out the actual IP/netmask/etc setting code
19185                 - New Renew/Rebind functions
19186                 - New timer setup function for renew/rebind operations
19187
19188         * src/NetworkManagerDevice.c
19189                 - For device activation, if we are using DHCP then keep the activation thread
19190                         alive until device deactivation.  We need to renew/rebind the DHCP address
19191                         after the T1 (renew) and T2 (rebind) times have expired.
19192                 - Increase some timeouts after bringing wireless cards up/down
19193
19194 2004-11-17  Dan Williams <dcbw@redhat.com>
19195
19196         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
19197                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
19198                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
19199                 show known access points that don't broadcast their ESSID in the menus without
19200                 any user intervention whatsoever.
19201
19202         * info-daemon/NetworkManagerInfoDbus.c
19203                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
19204                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
19205
19206         * src/NetworkManagerAP.[ch]
19207                 - Add a "user_addresses" data member to the NMAccessPoint structure
19208                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
19209                         the user_addresses data member
19210
19211         * src/NetworkManagerAPList.c
19212                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
19213                         the AP's reported address
19214                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
19215
19216         * src/NetworkManagerDHCP.c
19217                 - Increase DHCP timeout from 25s -> 30s
19218
19219         * src/NetworkManagerDbus.[ch]
19220                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
19221                         user addresses
19222
19223         * src/NetworkManagerDevice.c
19224                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
19225                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
19226                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
19227                         So, we take the card down to clear it out.
19228                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
19229                         too, since that's where the user_addresses are
19230
19231         * src/NetworkManagerPolicy.c
19232                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
19233                         that wireless networks' user_addresses list upon successful activation
19234
19235 2004-11-16  Dan Williams <dcbw@redhat.com>
19236
19237         * src/NetworkManagerDevice.[ch]
19238                 - (nm_device_clear_activation_fail): new function
19239
19240         * src/NetworkManagerPolicy.c
19241                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
19242                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
19243
19244 2004-11-16  Dan Williams <dcbw@redhat.com>
19245
19246         * src/NetworkManagerDevice.c
19247                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
19248                         leak the structure, better updating of now_scanning status
19249                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
19250
19251 2004-11-15  Dan Williams <dcbw@redhat.com>
19252
19253         Major rework of link detection code.  We now use DHCP
19254         as part of the link detection which proves to be much more robust,
19255         and also supports Open System authentication for wireless networks.
19256
19257         We no longer use external DHCP client programs.  Instead, we use 
19258         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
19259         which was written by:
19260                 Yoichi Hariguchi <yoichi@fore.com>
19261                 Sergei Viznyuk <sv@phystech.com>
19262                 http://www.phystech.com/download/
19263         It resides in the "dhcpcd" directory and was refactored into a general
19264         purpose DHCP client library by me.
19265
19266         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
19267         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
19268
19269 2004-11-15  Dan Williams <dcbw@redhat.com>
19270
19271         Patch from Tom Parker <palfrey@tevp.net>:
19272
19273         * src/NetworkManagerDevice.c
19274                 - Less output to console when no access
19275                         points are found during a scan
19276
19277 2004-11-15  Dan Williams <dcbw@redhat.com>
19278
19279         Patch from Tom Parker <palfrey@tevp.net>:
19280
19281         * src/backends/interface_parser.c
19282                 - Use g_strdup ()
19283                 - Check for inp == NULL
19284                 - use syslog ()
19285
19286 2004-11-13  Colin Walters  <walters@redhat.com>
19287
19288         Patch from Tom Parker <palfrey@tevp.net>:
19289
19290         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
19291         
19292         * src/backends/NetworkManagerRedHat.c: Switch to
19293         including shvar.h instead of shvar.c.
19294
19295         * src/backends/NetworkManagerDebian.c: Don't include
19296         interface_parser.c in source file.
19297
19298         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
19299         and interface_parser.[ch].
19300         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
19301         Include shvar.c and shvar.h here.
19302         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
19303         interface_parser.c and interface_parser.h here.
19304
19305 2004-11-12  Colin Walters  <walters@redhat.com>
19306
19307         * configure.in: Strip out TARGET_DISTRO and
19308         SYSTEM_BACKEND_FILE variables.  Switch to Automake
19309         conditionals.
19310
19311         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
19312         (libnmbackend_la_SOURCES): Use Automake conditionals
19313         to add distro-specific files.
19314
19315         * initscript/Makefile.am (SUBDIRS): Update to
19316         use conditionals.
19317
19318 2004-11-12  Colin Walters  <walters@redhat.com>
19319
19320         Patches from j bootlab org
19321
19322         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
19323         Add interface_parser.[ch].
19324
19325         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
19326         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
19327
19328 2004-11-12  Colin Walters  <walters@redhat.com>
19329
19330         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
19331         call to nmi_dbus_is_running too, not necessary anymore.
19332         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
19333         pick up exit().
19334
19335 2004-11-11  Colin Walters  <walters@verbum.org>
19336
19337         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
19338         Delete.
19339         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
19340         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
19341         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
19342         This avoids a race condition that made it pretty easily
19343         possible to get two NetworkManagerInfo daemons running.
19344
19345 2004-11-11  Colin Walters  <walters@verbum.org>
19346         
19347         * src/NetworkManager.c (main): Use daemon(3).
19348
19349         * info-daemon/NetworkManagerInfo.c (main): Ditto.
19350
19351         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
19352
19353 2004-11-10 Dan Williams <dcbw@redhat.com>
19354
19355         Patches from j bootlab org
19356         * src/NetworkManagerDevice.c
19357                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
19358                         whether the card has a link or not, some cards are slow
19359                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
19360
19361         * info-daemon/NetworkManagerInfoPassphraseDialog.c
19362                 - Disable the "Login" button on the passphrase dialog until the user
19363                         enters a valid passphrase or key
19364
19365         Patches from Tom Parker <palfrey tevp net>
19366         * src/backends/NetworkManagerDebian.c
19367                 - Add static IP support to the debian backend
19368
19369         * src/backends/interface_parser.[ch]
19370                 - Parse debian interface config files
19371
19372 2004-11-08 Dan Williams <dcbw@redhat.com>
19373
19374         * src/NetworkManagerDevice.c
19375                 - Some random fprintf->syslog conversions
19376                 - (nm_device_wireless_network_exists): double-check for network
19377                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
19378
19379         * src/NetworkManagerWireless.[ch]
19380                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
19381                         so that the binary->ascii conversion works (if unsigned, the bitshift
19382                         will fill with zeros, which is what's required).  Also mask bitshift
19383                         result with 0xF for futher assurance.
19384
19385 2004-11-06 Dan Williams <dcbw@redhat.com>
19386
19387         * src/NetworkManagerUtils.c
19388                 - (nm_get_wireless_driver_support_level): default to
19389                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
19390                         flip this when changing from whitelist->blacklist of
19391                         wireless drivers
19392
19393 2004-11-05 Dan Williams <dcbw@redhat.com>
19394
19395         Patch from Robert Paskowitz:
19396         * src/backends/NetworkManagerGentoo.c
19397                 - Update static IP config code
19398
19399 2004-11-05 Dan Williams <dcbw@redhat.com>
19400
19401         * info-daemon/NetworkManagerInfoDbus.c
19402           src/NetworkManagerDbus.[ch]
19403           src/NetworkManagerDevice.c
19404                 - Keep track of the # of attempts to get the WEP key
19405                         from the user and pass that along to the info daemon
19406
19407 2004-11-05 Dan Williams <dcbw@redhat.com>
19408
19409         * src/NetworkManagerUtils.c
19410                 - Blacklist wireless cards rather than whitelisting them.
19411                 - Grab driver name from HAL rather than trying to find it
19412                         ourselves.
19413
19414 2004-11-03 Dan Williams <dcbw@redhat.com>
19415
19416         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
19417                 - Disable OK button until valid data is entered
19418                         for encryption stuff too
19419
19420         * panel-applet/NMWirelessApplet.c
19421                 - Report card strength for current AP if the card
19422                         doesn't report strength data for scanned access
19423                         points
19424
19425         * src/NetworkManagerDevice.c
19426                 - Smooth out cards reported quality, Atmel card was
19427                         intermittently reporting no quality data but soon
19428                         recovers
19429
19430         * src/NetworkManagerWireless.c
19431                 - Better quality data percentage calculation.  Atmel
19432                         cards (mine at least) seem to report the quality
19433                         in percentage format already, so honor that
19434
19435         Patch from <j@bootlab.org>
19436         * NetworkManager.h
19437           info-daemon/NetworkManagerInfoPassphraseDialog.c
19438           info-daemon/passphrase.glade
19439           panel-applet/NMWirelessAppletOtherNetworkDialog.c
19440           panel-applet/essid.glade
19441           src/NetworkManagerAP.c
19442           src/NetworkManagerDevice.c
19443           src/NetworkManagerWireless.[ch]
19444                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
19445
19446 2004-11-03 Dan Williams <dcbw@redhat.com>
19447
19448         * src/NetworkManagerDevice.[ch]
19449                 - (nm_device_set_enc_key): Add parameter to set Authentication
19450                         Mode (Open System, Shared Key, or None).  We're still using
19451                         Shared Key for now though.
19452
19453 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
19454
19455         * panel-applet/menu-info.c: change from bold text to light
19456         colored, may cause problems with some themes, i've tested a lot
19457         and they seem fine. 
19458
19459         * panel-applet/NMWirelessApplet.c: fix strength tooltip
19460
19461 2004-11-01  Colin Walters  <walters@verbum.org>
19462
19463         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
19464         (nm_wireless_128bit_key_from_passphrase): Add const.
19465
19466         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
19467         (nm_ap_set_enc_key_source): Add const.
19468         
19469 2004-11-01  Colin Walters  <walters@verbum.org>
19470
19471         * .cvsignore: Update.
19472
19473 2004-10-29 Dan Williams <dcbw@redhat.com>
19474
19475         * src/NetworkManagerDevice.c
19476                 - (nm_device_wireless_network_exists): Actually use the encryption
19477                         key we got from the applet when attempting to find a wireless network
19478                 - Don't bring devices down so much since on some cards it triggers
19479                         firmware hotplugs each time
19480
19481         * src/NetworkManagerDbus.c
19482                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
19483                         from the caller
19484
19485 2004-10-29 Dan Williams <dcbw@redhat.com>
19486
19487         * src/NetworkManager.c
19488                 - (nm_hal_device_property_modified): unlock a locked active
19489                         wireless device when a wired connection gets a link.
19490                         (Means you'll switch to wired whenever you plug in no
19491                         matter what).
19492
19493 2004-10-29 Dan Williams <dcbw@redhat.com>
19494
19495         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
19496                 - New files, implement the "Other wireless network" dialog
19497
19498         * panel-applet/NMWirelessApplet.c
19499                 - Move "other wireless network" dialog to separate file
19500
19501         * panel-applet/NMWirelessAppletDbus.[ch]
19502                 - Take key and key_type paramaters for the set_device function
19503
19504         * panel-applet/essid.glade
19505                 - Add UI bits for encryption settings
19506
19507         * src/NetworkManagerDbus.c
19508                 - Retrieve key and key_type params for "setActiveDevice" method call
19509                         and pass them on
19510                 - unref AP returned from nm_device_get_best_ap() when needed
19511
19512         * src/NetworkManagerDevice.c
19513                 - (nm_device_get_best_ap): ref the ap before returning it
19514                 - unref AP returned from nm_device_get_best_ap() when needed
19515                 - (nm_device_activate_wireless): add "ap" parameter so we don't
19516                         need to call nm_device_get_best_ap() here, it was pretty much
19517                         redundant anyway
19518                 - (AP_NEED_KEY): break second link check condition out into separate
19519                         function, and fix segfault when ap->enc_key_source was NULL
19520                 - (nm_device_find_and_use_essid): take key and key_type parameters and
19521                         pass them along to nm_device_wireless_network_exists().  If the
19522                         network does exist, set the passed-in key+key_type on the AP
19523
19524         * src/NetworkManagerPolicy.c
19525                 - unref AP returned from nm_device_get_best_ap() when needed
19526
19527 2004-10-28 Dan Williams <dcbw@redhat.com>
19528
19529         * src/NetworkManagerUtils.c
19530                 - (nm_spawn_process): Fix a potential dereference of NULL
19531
19532         Patches from Peter Jones:
19533
19534         * src/NetworkManagerDevice.c
19535                 - (nm_device_test_wireless_extensions): Better check for
19536                         wireless devices
19537
19538         * src/NetworkManagerUtils.c
19539                 - (nm_spawn_process): Pass in valid stdout and stderr so
19540                         executed programs don't randomly SIGPIPE and fail
19541                 - (nm_get_wired_driver_support_level): quash hal warning
19542                         when checking for USB ethernet device
19543
19544 2004-10-27 Dan Williams <dcbw@redhat.com>
19545
19546         * info-daemon/NetworkManagerInfo.c
19547           info-daemon/NetworkManagerInfoDbus.c
19548           info-daemon/NetworkManagerInfoPassphraseDialog.c
19549           panel-applet/NMWirelessApplet.c
19550                 - Properly escape gconf keys
19551
19552         * src/NetworkManager.c
19553                 - remove unused variables
19554
19555         * src/NetworkManagerAP.c
19556                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19557                         refcount since it got set in nm_ap_new()
19558
19559         * src/NetworkManagerAPList.c
19560                 - (nm_ap_list_combine): Give up ownership of newly created
19561                         access points to the ap list, fixes memleak
19562
19563         * src/NetworkManagerDevice.c
19564                 - Remove cached_ap_list4 member since its not really needed
19565                 - (nm_device_wireless_network_exists): Try to get correct
19566                         encryption status of a found AP if its already in our
19567                         device list
19568                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19569                         memory allocs/deallocs a bit clearer and shorter-lived
19570
19571 2004-10-26 Ray Strode <rstrode@redhat.com>
19572
19573         * panel-applet/NMWirelessApplet.c:
19574           (custom_essid_item_selected):  kill some compiler
19575         warnings 
19576
19577 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19578
19579         * info-daemon/NetworkManagerInfoDbus.c
19580                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19581                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19582
19583 2004-10-23 Dan Williams <dcbw@redhat.com>
19584
19585         * info-daemon/NetworkManagerInfoDbus.c
19586                 - Trap the "DeviceActivationFailed" signal
19587
19588         * docs/NetworkManager DBUS API.txt
19589                 - Add "DeviceActivationFailed" signal
19590
19591         * panel-applet/NMWirelessAppletDbus.c
19592                 - Quash the "NetworkManager service not available" message
19593
19594         * src/NetworkManagerDbus.[ch]
19595                 - Add the "DeviceActivationFailed" signal
19596
19597         * src/NetworkManagerDevice.c
19598                 - Add support for activation_failed flag
19599                 - Fix deadlock where activation thread didn't clean itself up, making
19600                         main thread still believe it was alive forever (didn't reset activation
19601                         flags like activating, just_activated, etc when IP configuration
19602                         failed)
19603
19604         * src/NetworkManagerPolicy.c
19605                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19606                         for wireless networks, try to fall back to some other access point
19607
19608 2004-10-23 Dan Williams <dcbw@redhat.com>
19609
19610         * panel-applet/NMWirelessApplet.[ch]
19611                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19612                         to the applet object, so we can get tooltips
19613                 - Add tooltips (RH #136866)
19614
19615         * src/NetworkManagerDevice.c
19616                 - When trying to find a wireless network, try to connect with encryption
19617                         turned on first, so that we can more accurately detect whether or not
19618                         we need to use encryption for the actual association later on
19619
19620 2004-10-21 Dan Williams <dcbw@redhat.com>
19621
19622         * Add some support for telling NetworkManagerInfo to tell the user
19623                 that they are using a device that's not fully supported
19624
19625         * Fix some assertions in debug messages due to null access point args
19626
19627 2004-10-21 Dan Williams <dcbw@redhat.com>
19628
19629         * src/NetworkManagerDevice.c
19630                 - Don't try to activate/bring up/down unsupported
19631                         devices
19632
19633         * src/NetworkManagerUtils.c
19634                 - Fix case of PCI ID checks for driver support levels
19635
19636 2004-10-21 Dan Williams <dcbw@redhat.com>
19637
19638         * NetworkManager.h
19639                 - New file, now contains commonly used structures and bits
19640                         for the dbus API of NetworkManager
19641
19642         * Makefile.am
19643                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19644
19645         * src/NetworkManager.h
19646                 - Rename -> src/NetworkManagerMain.c
19647
19648         * Various fixups all around to use NetworkManager.h and new
19649                 src/NetworkManagerMain.h, remove redundant bits that got
19650                 moved into NetworkManager.h
19651
19652         * src/NetworkManagerDevice.[ch]
19653           src/NetworkManagerUtils.[ch]
19654           src/NetworkManagerPolicy.c
19655           src/NetworkManagerDbus.c
19656                 - Whitelist wireless drivers, and blacklist some wired
19657                         drivers.  Also blacklist cipsec and ethernet-over-usb
19658                         devices at this time (RH #135722, RH #135648)
19659                 - Don't leak unsupported devices out over dbus, or allow
19660                         them to be set as the active device.  Skip over them
19661                         during automatic device picking
19662
19663         * test/nmclienttest.c
19664                 - Clean up the dbus code a lot
19665
19666 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19667
19668         * configure.in: post release bump.
19669
19670 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19671
19672         * configure.in:
19673         * NEWS: Released NetworkManager-0.3.1
19674
19675 2004-10-18 Dan Williams <dcbw@redhat.com>
19676
19677         Patches from Thom May:
19678         * test/nmtestdevices.c
19679                 - Include <string.h>
19680         * src/backends/NetworkManagerDebian.c:
19681                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19682                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19683                         Move to using g_strdup_printf rather than arbitrary buffers
19684                 - (nm_system_device_setup_static_ip4_config) Implement function.
19685                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19686
19687 2004-10-17 Dan Williams <dcbw@redhat.com>
19688
19689         * info-daemon/NetworkManagerInfoDbus.c
19690                 - Display name of network in the "network not found" dialog
19691
19692         * panel-applet/NMWirelessAppletDbus.c
19693                 - (nmwa_dbus_call_nm_method): new function replaces all other
19694                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19695                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19696                         consolidated into nmwa_dbus_get_object_name()
19697
19698 2004-10-15 Dan Williams <dcbw@redhat.com>
19699
19700         * src/NetworkManagerDbus.c
19701           info-daemon/NetworkManagerInfoDbus.c
19702                 - Display an error dialog when the user tries to use an
19703                         "Other wireless network" that's not found.
19704
19705 2004-10-15 Dan Williams <dcbw@redhat.com>
19706
19707         * panel-applet/NMWirelessApplet.[ch]
19708                 - Fix up corner cases in applet state, making it
19709                         look more responsive.  Change state to "connecting" when
19710                         the user is forcing a device too.
19711
19712 2004-10-15 Dan Williams <dcbw@redhat.com>
19713
19714         * src/NetworkManagerAPList.c
19715                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19716
19717         * src/NetworkManagerDbus.c
19718                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19719
19720         * src/NetworkManagerDevice.c
19721                 - Disown APs after the device's AP list takes ownership
19722
19723 2004-10-15 Dan Williams <dcbw@redhat.com>
19724
19725         * panel-applet/NMWirelessApplet.c
19726                 - Update our applet state from the GUI thread
19727
19728         * panel-applet/NMWirelessAppletDbus.c
19729                 - Greatly simplify the locking to make the GUI thread
19730                         smoother.  Update a private copy of the device list
19731                         and active device and only when done talking to
19732                         NetworkManager turn it over to the GUI thread.
19733
19734 2004-10-15 Dan Williams <dcbw@redhat.com>
19735
19736         * src/NetworkManagerAP.[ch]
19737                 - Add "artificial" get/set functions, set for APs that
19738                         aren't discovered as part of a scan but instead
19739                         discovered by force-setting the ESSID
19740
19741         * src/NetworkManagerDevice.[ch]
19742                 - (nm_device_wireless_network_exists): pass back whether
19743                         or not the discovered AP was encrypted.  Also, try
19744                         falling back to encrypted mode on the card if unencrypted
19745                         association doesn't work
19746                 - (nm_device_find_and_use_essid): If the network requested
19747                         did in fact exists, but it wasn't in our scan list, add
19748                         an "artificial" entry for it.  Some Cisco cards don't
19749                         see non-ESSID-broadcasting APs in their scan but can still
19750                         associate with them if you know the ESSID, this works around
19751                         that behavior
19752                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
19753                         to scan if the card is currently associated with that AP
19754
19755 2004-10-15 Dan Williams <dcbw@redhat.com>
19756
19757         ---- We have a website ----
19758         http://people.redhat.com/dcbw/NetworkManager
19759
19760         Patch from Robert Paskowitz:
19761         * src/NetworkManager.c
19762                 - (main): Make sure we are run as root
19763         * src/NetworkManagerDevice.c
19764                 - Fix type in ad-hoc setting function
19765
19766         Patch from Thom May:
19767         * src/backends/NetworkManagerDebian.c
19768                 - Make Debian backend compile again
19769
19770 2004-10-14 Dan Williams <dcbw@redhat.com>
19771
19772         * Tagged NetworkManager-0_3
19773
19774 2004-10-14 Dan Williams <dcbw@redhat.com>
19775
19776         Patch from Robert Paskowitz:
19777         * NEWS
19778           src/NetworkManagerDevice.[ch]
19779           src/backends/NetworkManagerDebian.c
19780           src/backends/NetworkManagerGentoo.c
19781           src/backends/NetworkManagerRedHat.c
19782           src/backends/NetworkManagerSlackware.c
19783                 - Add support for grabbing and using a broadcast address
19784                         from system config files
19785                 - Some Gentoo backend fixes for grabbing network config
19786                 - Fix LOG_WARN->LOG_WARNING
19787
19788 2004-10-14 Dan Williams <dcbw@redhat.com>
19789
19790         * NEWS: a few small fixes in the credits
19791
19792 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
19793
19794         * NEWS: prep for release.
19795
19796 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
19797
19798         * panel-applet/NMWirelessAppletDbus.c
19799         (nmwa_dbus_update_device_wireless_networks): remove warnings.
19800
19801 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
19802
19803         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
19804         applet->state == APPLET_STATE_NO_NM animation.
19805
19806         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
19807         set the text correctly.
19808
19809 2004-10-14 Dan Williams <dcbw@redhat.com>
19810
19811         * src/NetworkManager.c
19812                 - Only accept and manager 802.3 and 802.11 devices
19813
19814         * src/NetworkManagerDbus.[ch]
19815                 - (nm_dbus_nm_set_active_device): move most of the actual activation
19816                         logic into NetworkManagerDevice.c
19817                 - (nm_dbus_network_status_from_data): new function
19818                 - (nm_dbus_signal_network_status_change): new function, unused for now
19819                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
19820
19821         * src/NetworkManagerDevice.[ch]
19822                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
19823                         a random ESSID.
19824
19825 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
19826
19827         * info-daemon/NetworkManagerInfo.c 
19828                 - (main): Added session management
19829
19830 2004-10-14 Dan Williams <dcbw@redhat.com>
19831
19832         * panel-applet/NMWirelessAppletDbus.[ch]
19833                 - Expose network_device_[un]ref()
19834                 - Expose wireless_network_[un]ref()
19835                 - (wireless_network_new_with_essid): new function, create and return
19836                         a wireless network with a particular essid
19837
19838         * panel-applet/NMWirelessApplet.c
19839                 - Hook up the "other network" dialog to do something
19840
19841 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
19842
19843         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
19844         doesn't work yet, but it looks okay.
19845
19846         * panel-applet/icons/*png: Resize to 22x22 and install in the
19847         right place.
19848
19849 2004-10-13 Dan Williams <dcbw@redhat.com>
19850
19851         * panel-applet/NMWirelessApplet.c
19852                 - Add function to print out applet_state in a readable
19853                         manner
19854
19855         * src/NetworkManager.c
19856                 - (main): Don't segfault when nm_dbus_init() fails, we had
19857                         a left-over call to hal_shutdown() into which we passed NULL
19858
19859         * src/NetworkManagerAP.c
19860                 - (nm_ap_set_essid): Allow NULL essids
19861
19862         * src/NetworkManagerAPList.[ch]
19863                 - More use of nm_ap_list_[un]lock ()
19864                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
19865                         network/essid, just return nothing.  Also skip over NULL
19866                         essid access points in the list when searching
19867                 - (nm_ap_list_get_ap_by_address): new function
19868                 - (nm_ap_list_update_network): set the access point's key source to
19869                         NULL when the key returned from NetworkManagerInfo is NULL or
19870                         of 0 length
19871                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
19872                         copy timestamp over too
19873                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
19874                         find the correct ESSID for a blank-essid access point by searching
19875                         through another list and matching access point MAC addresses
19876                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
19877
19878         * src/NetworkManagerDbus.c
19879                 - (nm_dbus_nm_set_active_device): deal with random networks the user
19880                         may specify.  This is mainly for access points that don't
19881                         broadcast their essid.  So if the user tells us to associate with
19882                         some random ESSID that's not in our access point list, we find
19883                         out if the access point does in fact exist (by attempting association
19884                         and then matching that access point's MAC address with the essid the
19885                         user gave us) and then we switch to it.
19886                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
19887                         to the returned list of networks for the "getNetworks" method
19888
19889         * src/NetworkManagerDevice.[ch]
19890                 - Extra debugging info for link detection
19891                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
19892                         based on MAC address
19893                 - (nm_device_get_path_for_ap): ignore blank-essid access points
19894                 - (nm_device_wireless_network_exists): new function, find out whether
19895                         a random ESSID exists by attempting to associate with it
19896                 - (nm_device_do_normal_scan): allow blank-essid access points in our
19897                         device list as long as they have an AP MAC address we can use.
19898                         Also send WirelessNetwork[Dis]Appeared signals for non-active
19899                         devices too.  Lets the applet update more frequently.
19900
19901         * src/backends/NetworkManagerGentoo.c
19902                 - Patch from: Robert Paskowitz
19903                         - Update backend code for Gentoo
19904                         - Implement nm_system_device_update_config_info ()
19905
19906         * test/nmclienttest.c
19907                 - (set_network_device): new function, takes a command-line argument
19908                         and tells NetworkManager to use that wireless network
19909
19910 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
19911
19912         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
19913         if the notification icon crashes 5 times within 5 seconds of each respawn 
19914
19915 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
19916
19917         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
19918         g_print.
19919
19920 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
19921
19922         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
19923
19924         * panel-applet/NMWirelessApplet.c: (animation_timeout),
19925         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
19926         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
19927         Change the name of the icons.
19928
19929         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
19930         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
19931         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
19932         (nm_menu_wireless_expose_event): Really bad hack to get the style
19933         to draw in the right color.
19934
19935 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
19936
19937         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
19938         Notification if it crashes
19939
19940 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
19941
19942         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
19943         (nmwa_dbus_get_string): remove unused functions
19944
19945         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
19946         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
19947         remove unused functions
19948
19949         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
19950
19951 2004-10-12 Dan Williams <dcbw@redhat.com>
19952
19953         * panel-applet/NMWirelessAppletDbus.c
19954                 - New functions:
19955                         wireless_network_new
19956                         wireless_network_copy
19957                         network_device_new
19958                         network_device_copy
19959
19960         * src/NetworkManagerDevice.[ch]
19961                 - New functions:
19962                         nm_device_set_mode_managed
19963                         nm_device_set_mode_adhoc
19964                 - Use these functions where appropriate
19965                 - When creating a new wireless device, force the card
19966                         to managed/Infrastructure mode as soon as possible
19967
19968 2004-10-12 Dan Williams <dcbw@redhat.com>
19969
19970         * src/NetworkManagerDevice.c
19971                 - Force wireless cards into Infrastructure mode before we use them
19972
19973 2004-10-12 Dan Williams <dcbw@redhat.com>
19974
19975         * TODO
19976                 - Remove bit about static IP address support
19977
19978         * src/NetworkManagerUtils.c
19979                 - (nm_spawn_process): Add some error reporting
19980
19981         * src/NetworkManagerDevice.c
19982                 - (nm_device_activation_configure_ip): hook up to the static config
19983                         routines in the backends
19984
19985         * src/backends/NetworkManagerRedHat.c
19986                 - (nm_system_device_update_config_info): use shvar.c routines to
19987                         parse the config file iformation, not our own
19988                 - (nm_system_device_setup_static_ip4_config): new function, based
19989                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
19990                         with a static IP address and gateway
19991
19992         * src/backends/shvar.[ch]
19993                 - Parser (filched from initscripts package) for ifcfg-* files
19994
19995         * src/backends/NetworkManagerSystem.h
19996           src/backends/NetworkManagerGentoo.c
19997           src/backends/NetworkManagerDebian.c
19998           src/backends/NetworkManagerSlackware.c
19999                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
20000
20001 2004-10-11 Dan Williams <dcbw@redhat.com>
20002
20003         * TODO
20004                 - Remove bit about more robust AP diffing since I just implemented it
20005
20006 2004-10-11 Dan Williams <dcbw@redhat.com>
20007
20008         * src/NetworkManagerAP.c
20009                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
20010                         enough RAM to allocate new AP structures, but return NULL instead
20011
20012         * src/NetworkManagerAPList.[ch]
20013                 - (nm_ap_list_is_empty): new function
20014                 - (nm_ap_list_combine): new function, combine two access point lists
20015                 - (nm_ap_list_copy_keys): new function, copy keys from one list
20016                         into another
20017
20018         * src/NetworkManagerDevice.[ch]
20019                 - Rename some functions to be clearer:
20020                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
20021                         nm_device_just_activated     -> nm_device_is_just_activated
20022                         nm_device_activating         -> nm_device_is_activating
20023                         nm_device_now_scanning       -> nm_device_is_scanning
20024                 - Cache the last 4 scans so that the access point list is more stable.
20025                         We combine the lastest two scans and use that as the AP list,
20026                         and diff that combined list against the combination of the earliest
20027                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
20028
20029 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20030
20031         * info-daemon/NWManagerInfo.h
20032                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
20033
20034         * info-daemon/NWManagerInfoDbus.c
20035                 - (shutdown_callback): new function
20036                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
20037                         if NetworkManager goes away.  Kill the timeout
20038                         if NetworkManager restarts before the 30 seconds
20039                         are up.
20040                 - (nmi_dbus_service_init): 
20041                         - call gtk_main_quit if NetworkManager is not running
20042                         - add filters to monitor dbus service creations and
20043                                 deletions
20044         
20045 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20046
20047         * panel-applet/NMWirelessApplet.c
20048                 - (nmwa_update_state): Hide notification icon if we are only
20049                         showing one wired card and no wireless interfaces 
20050                         (Red Hat Bug #134895)
20051
20052         * panel-applet/NMWirelessAppletDbus.c
20053                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
20054
20055         * info-daemon/NWManagerInfo.c
20056                 - (main): Terminated the notification_icon_cmd array with a NULL
20057
20058 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
20059
20060         * configure.in (ALL_LINGUAS): Added de (German).
20061
20062 2004-10-08 Dan Williams <dcbw@redaht.com>
20063
20064         * src/NetworkManagerDevice.c
20065                 - Be a bit more robust about link checking, ie make sure that
20066                         the WEP key we were given actually has some data in it
20067
20068 2004-10-08 Dan Williams <dcbw@redhat.com>
20069
20070         * info-daemon/NetworkManagerInfo.c (main):
20071                 - Initialize GError object to NULL
20072
20073 2004-10-08 Dan Williams <dcbw@redhat.com>
20074
20075         * panel-applet/NMWirelessAppletDbus.c
20076                 - Die if NetworkManagerInfo dies, since it manages our lifetime
20077
20078 2004-10-08 Dan Williams <dcbw@redhat.com>
20079
20080         * info-daemon/NetworkManagerInfo.[ch]
20081           info-dameon/NetworkManagerInfoDbus.[ch]
20082           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
20083                 - Preserve original label text in the passphrase dialog so that
20084                         it actually gets updated with the new network name the next
20085                         time around.  Previously, we were overwriting it so you'd get
20086                         the wrong network name to enter a key for
20087                 - Add a "Key Type" combo to the passphrase dialog, user selects
20088                         encryption key type now, type is stored in GConf too
20089                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
20090
20091         * src/NetworkManagerAP.[ch]
20092                 - Remove all the encyption method magic.  It's now set by the user
20093                         and NetworkManager retrieves the type of encryption key from
20094                         NetworkManagerInfo
20095
20096         * src/NetworkManagerAPList.[ch]
20097           src/NetworkManagerDbus.[ch]
20098                 - Adjust to new way of setting encryption key and method
20099                 - Pull encryption method down from NMI along with key
20100
20101         * src/NetworkManagerDevice.[ch]
20102                 - Removed encryption method fallback magic as the method is now
20103                         determined by the user.  This greatly simplifies the connection
20104                         logic.
20105                 - More robust connection/link logic.  Besides removing the encryption
20106                         method fallback magic, check whether or not the card is receiving
20107                         invalidly encrypted packets, which usually indicates that we have
20108                         a bad WEP key set.
20109                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
20110
20111         * test/nminfotest.c
20112                 - Test out new "Key Type" stuff in the NMI passphrase dialog
20113
20114 2004-10-07 Dan Williams <dcbw@redhat.com>
20115
20116         * info-daemon/NetworkManagerInfo.conf
20117                 - Allow root user to run NMI too
20118
20119 2004-10-06 Dan Williams <dcbw@redhat.com>
20120
20121         * src/NetworkManagerDevice.[ch]
20122           src/NetworkManagerDbus.c
20123           doc/NetworkManager DBUS API.txt
20124                 - Add a new status tag "scanning", which is set when there
20125                         is no active network connection, but NetworkManager is
20126                         looking for an access point to associate with
20127
20128         * panel-applet/main.c
20129                 - Cast the applet appropriately for gtk_widget_show_all ()
20130
20131 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
20132
20133         * panel-applet/eggtrayicon.[ch]:
20134         * panel-applet/main.c: Add missing file
20135
20136 2004-10-04 Dan Williams <dcbw@redhat.com>
20137
20138         * src/NetworkManagerDevice.[ch]
20139                 - Add a slightly more robust method of determining if the WEP key
20140                         is correct or not, by checking the WEP-discarded packet count
20141                         on the card
20142
20143         * info-daemon/NetworkManagerInfo.c
20144                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
20145                         un-escape values we pull out rather than escaping them
20146
20147 2004-10-03  Marcel Telka  <marcel@telka.sk>
20148
20149         * configure.in (ALL_LINGUAS): Added sk.
20150
20151 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
20152
20153         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
20154         and feel.  We should be back to working, and have a good, clean
20155         look.
20156
20157 2004-09-30 Dan Williams <dcbw@redhat.com>
20158
20159         * info-daemon/NetworkManagerInfo.c
20160           info-daemon/NetworkManagerInfoDbus.c
20161           test/nminfotest.c
20162                 - Escape ESSIDs in gconf
20163
20164         * src/NetworkManagerDevice.c
20165                 - Fix pseudo-scanning to use netowrk list from info daemon
20166
20167 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
20168
20169         * configure.in: Add a temporary --enable-notification-icon.  This
20170         will prolly go away.
20171
20172         * info-daemon/Makefile.am:
20173         * info-daemon/NetworkManagerInfo.c:
20174         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
20175
20176         * panel-applet/Makefile.am:
20177         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
20178         * panel-applet/NMWirelessApplet.h:
20179
20180 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
20181
20182         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
20183         before 'select custom ESSID'.
20184
20185         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
20186         fully complete, but syncing in prep for merge.
20187
20188         * panel-applet/icons/*png: New images
20189
20190 2004-09-28 Dan Williams <dcbw@redhat.com>
20191
20192         * src/NetworkManager.c
20193           src/NetworkManagerDevice.c
20194           src/NetworkManagerPolicy.c
20195                 - Don't blow away an active wired connection on startup
20196
20197 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
20198
20199         Changes from J5
20200         
20201         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
20202
20203         * info-daemon/NetworkManagerInfoDbus.c: added service name to
20204         syslog output
20205
20206 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
20207
20208         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
20209         have a wireless card.
20210
20211 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
20212
20213         * panel-applet/NMWirelessApplet.c: move the custom essid item.
20214         Also, get the right device strings.
20215
20216 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
20217
20218         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
20219         the logic to make this right.
20220
20221         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
20222         devices so that wired networks are always first.
20223
20224 2004-09-22    <clarkbw@cvs.gnome.org>
20225
20226         * initscript/Debian/.cvsignore:
20227         * initscript/Slackware/.cvsignore:
20228         Added new cvsignores for Makefile, Makefile.in
20229         
20230         * test/.cvsignore:
20231         Added nmtestdevices
20232         
20233         * src/NetworkManagerDevice.c: 
20234         * src/NetworkManager.c: 
20235         Updated the wireless/wired HAL device strings from net.ethernet to
20236         net.80203 or net.80211 depending on wired or wireless respectively
20237         
20238         * examples/python/NetworkManager.py: 
20239         s/Quality/Strength/
20240
20241         * examples/python/systray/network_tray.py:
20242         Lots of little changes and fixes.  been rotting for a while so I
20243         figured I'd finally sync them all with CVS
20244
20245 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
20246
20247         * configure.in: Add graphics
20248
20249         * panel-applet/Makefile.am: Add graphics
20250
20251         * panel-applet/icons/*: Add graphics
20252
20253         * panel-applet/NMWirelessApplet.c: Use new menu times to display
20254         the icons fully lined up.
20255
20256         * panel-applet/menu-info.c: 
20257         * panel-applet/menu-info.h: Add another menu type.
20258
20259 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
20260
20261         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
20262
20263         * panel-applet/menu-item.[ch]: Wireless menu item.
20264
20265 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
20266
20267         * info-daemon/NetworkManagerInfo.conf
20268                 - Created a more robust security policy for the DBus service
20269                         - everything is denied by default
20270                         - root can own and send to the service
20271                         - users logged in at the console can send to the service
20272
20273 2004-09-13  Dan Williams <dcbw@redhat.com>
20274
20275         * src/NetworkManagerDevice.c
20276                 - (nm_device_get_essid): use iw_get_basic_config() rather than
20277                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
20278                         the latter
20279
20280 2004-09-13  Dan Williams <dcbw@redhat.com>
20281
20282         * TODO: fix typo
20283
20284         * docs/NetworkManager DBUS API.txt
20285                 - Update for new signal strength changes
20286
20287         * panel-applet/NMWirelessApplet.c
20288                 - Make panel icon show strength of the current connection
20289                 - Cleanups and memleak fixes
20290
20291         * panel-applet/NMWirelessApplet.h
20292                 - Add data members for signal strength on devices and networks
20293
20294         * panel-applet/NMWirelessAppletDbus.c
20295                 - Free more DBusErrors
20296                 - Update for new signal strength changes
20297                 - Make devices and networks more like real objects, use ref/unref methods
20298                 - Actually unlock the mutex when updating the active device
20299
20300         * src/NetworkManagerAP.c
20301                 - Change AP functions and data members from "quality"->"strength"
20302
20303         * src/NetworkManagerDbus.c
20304                 - Kill "getMaxQuality" and "getQuality" methods
20305                 - Add "getStrength" methods for Networks and Devices
20306
20307         * src/NetworkManagerDevice.[ch]
20308                 - Add accessors for device strength
20309                 - Add functions to update strength for a device.  Note that not all drivers
20310                         actually support signal strength for scanned access points (Atmel drivers
20311                         being one)
20312                 - Calculate signal strength for each AP during scan
20313
20314         * src/NetworkManagerWireless.[ch]
20315                 - Add function to return signal strength % from a device and a raw quality struct
20316
20317         * test/nmclienttest.c
20318                 - Update for new signal strength changes
20319
20320 2004-09-11  Dan Williams <dcbw@redhat.com>
20321
20322         * src/NetworkManager.c
20323                 - Fix race condition between initscripts and NM on card insertion
20324                         which could cause a card to keep an IP address and routes around
20325                         even when it was not the active device
20326
20327         * src/NetworkManagerDbus.c
20328                 - Fix compile errors, free more DBusErrors
20329
20330 2004-09-11  Dan Williams <dcbw@redhat.com>
20331
20332         * docs/NetworkManager DBUS API.txt
20333                 - Add an explanation of NM's API
20334
20335         * src/NetworkManagerDbus.c
20336                 - Free some more DBusErrors if needed
20337
20338 2004-09-11  Dan Williams <dcbw@redhat.com>
20339
20340         * panel-applet/NMWirelessApplet.c
20341           panel-applet/NMWirelessAppletDbus.c
20342                 - Start using NetworkDevice/WirelessNetwork structures in more places
20343                 - Update for unified device/network forcing in NetworkManager
20344
20345         * src/NetworkManager.c
20346                 - some code consolidation
20347
20348         * src/NetworkManagerDbus.c
20349                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
20350                         or two arguments:  the first is the NM ID of the device to switch to,
20351                         and the second (optional) argument is the ESSID of a wireless network
20352                         to use as well.
20353                 - Get rid of "setNetwork" method due to above change
20354
20355         * src/NetworkManagerDevice.c
20356                 - (nm_device_new): perform scan and update best AP on device creation
20357                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
20358                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
20359                         spin waiting for cancellation to finish before returning
20360
20361         * src/NetworkManagerPolicy.c
20362                 - Changes here clarify the situations in which a device switch occurs, and 
20363                         make sure to keep using a forced device and network if the user gives
20364                         us one
20365                 - Remove old unused code
20366
20367 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
20368
20369         * configure.in: Added Danish (da) to ALL_LINGUAS.
20370
20371 2004-09-09  Dan Williams <dcbw@redhat.com>
20372
20373         * panel-applet/NMWirelessAppletDbus.c
20374                 - Pull fresh devices and networks from NM when wireless networks
20375                         change.  Provides faster feedback of a forced wireless network
20376
20377         * src/NetworkManagerDbus.c
20378                 - Return error when "getMaxQuality" is called on a wired device
20379                 - Make best_ap freezing actually work again, and signal cancellation
20380                         of activation if there's already a device activation when the user
20381                         freezes the best_ap
20382
20383         * src/NetworkManagerDevice.c
20384                 - Don't clear out the best_ap for wireless devices when the link goes
20385                         down, that's done elsewhere
20386                 - Kill any dhcp daemons when cancelling device activation since they
20387                         may be stuck waiting for a DHCP address, and since we're cancelling
20388                         activation we don't care about that anymore
20389
20390         * src/NetworkManagerPolicy.c
20391                 - Make sure to unref the device we ref earlier (we refed it to make sure
20392                         it stuck around during device activation and such)
20393                 - If we were going to change the best device, but its activating currently
20394                         (and therefore the change didn't occur due to the check earlier)
20395                         we mark the state changed to we come back to it later when device
20396                         activation has canceled and its no longer activating
20397
20398         * src/backends/NetworkManagerRedHat.c
20399                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
20400
20401 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
20402
20403         * info-daemon/passphrase.glade: 
20404         set passphrase input to activates_default : True
20405
20406         * examples/python/systray/network_tray.py
20407         (network_tray.sort_networks):
20408
20409         Added support for having wireless always scanning
20410
20411 2004-09-09  Dan Williams <dcbw@redhat.com>
20412
20413         NOTE: this commit changes the behavior of wireless devices in
20414         NetworkManager.  They are now up all the time, scanning all
20415         the time.  Only the active device has an IP address and routing
20416         information set up however.  Also, NetworkManager will no longer
20417         opportunistically switch wireless networks when a better one
20418         comes in range, it will remain associated with one wireless network
20419         until that one drops out.
20420
20421         * panel-applet/NMWirelessApplet.c
20422           panel-applet/NMWirelessAppletDbus.c
20423                 - List all wireless cards and their respective networks
20424
20425         * src/NMLoadModules
20426                 - Use full path to /sbin/ip
20427
20428         * src/NetworkManager.c
20429                 - Keep wireless devices up all the time so they can scan
20430
20431         * src/NetworkManagerDbus.c
20432                 - On a WirelessNetworkUpdate signal from NMI, don't update
20433                         the "best" AP
20434
20435         * src/NetworkManagerDevice.c
20436                 - (nm_device_set_link_active): clear out the best ap for
20437                         wireless devices when the link is set to FALSE
20438                 - Scan on all wireless cards, all the time
20439                 - (nm_device_activation_worker): split out the wireless card
20440                         link-waiting code to a separate function
20441                 - Keep wireless cards up even if device activation fails
20442                 - Don't update the "best" ap as much
20443
20444         * src/NetworkManagerPolicy.c
20445                 - Don't update the best ap when checking if its frozen,
20446                         let link checking clear out a frozen best ap for us
20447
20448         * src/NetworkManagerWireless.c
20449                 - Scan on all wireless cards, all the time
20450
20451 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
20452
20453         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
20454
20455 2004-09-09  Ankit Patel <ankit@redhat.com>
20456
20457         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
20458
20459 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
20460
20461         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
20462
20463 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
20464
20465         * examples/python/NetworkManager.py: 
20466         added CONNECTED, CONNECTING, and DISCONNECTED states
20467         added methods to return number of devices of a single type
20468
20469         * examples/python/systray/network_tray.py: 
20470         did some tweaks to get the menu looking near what it is supposed
20471         to look like.  Also did a Airo card hack to make it show the
20472         correct AP quality
20473
20474 2004-09-08  Dan Williams <dcbw@redhat.com>
20475
20476         * panel-applet/no-networkmanager.png
20477           panel-applet/Makefile.am
20478           panel-applet/NMWirelessApplet.c
20479                 - Add a "NetworkManager not running" icon and use it
20480                 - Use new consolidated GConf keys rather than Preferred/Trusted
20481
20482         * TODO: update
20483
20484         * info-daemon/NetworkManagerInfo.c
20485           info-daemon/NetworkManagerInfoDbus.[ch]
20486           info-daemon/NetworkManagerInfoPassphraseDialog.c
20487                 - There are now no longer two separate lists of wireless networks,
20488                         but one list where each network is "trusted" or not trusted
20489                 - Add a "getNetworkTrusted" dbus method
20490                 - "WirelessNetworkUpdate" signal now sent rather than
20491                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
20492                 - Start freeing some dbus errors (not completed yet)
20493
20494         * info-daemon/passphrase.glade
20495                 - Remove the "don't show" hints for pager and taskbar
20496                 - Add a title since its going to be in the taskbar
20497
20498         * src/NetworkManager.[ch]
20499           src/NetworkManagerAPList.[ch]
20500                 - There are now no longer two separate lists of wireless networks,
20501                         but one list where each network is "trusted" or not trusted
20502
20503         * src/NetworkManagerAP.[ch]
20504                 - Add get/set "trusted" accessors and data bit
20505
20506         * src/NetworkManagerDbus.[ch]
20507                 - Add function to get "trusted" status of a network from NetworkManagerInfo
20508                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
20509
20510         * src/NetworkManagerDevice.[ch]
20511                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
20512                 - (nm_device_new): Get device config from backend when initializing devices
20513                 - (nm_device_activation_worker): Split out device configuration on
20514                         activation to deal with static/dynamic IP differences, and try encryption
20515                         fallbacks on a device if the encryption method for the best AP is not good
20516                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
20517                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
20518
20519         * src/NetworkManagerWireless.c
20520                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
20521
20522         * src/backends/NetworkManagerRedHat.c
20523           src/backends/NetworkManagerSystem.h
20524                 - (nm_system_device_update_config_info): Add function to get device configuration
20525                         from system data in ifcfg-* files
20526
20527         * src/backends/NetworkManagerDebian.c
20528           src/backends/NetworkManagerGentoo.c
20529           src/backends/NetworkManagerSlackware.c
20530                 - Add stub functions for getting device configuration
20531
20532 2004-09-07  Dan Williams <dcbw@redhat.com>
20533
20534         * src/backends/NetworkManagerRedhat.c
20535           src/backends/NetworkManagerSlackware.c
20536                 - Use full path to /sbin/ip everywhere
20537
20538 2004-09-07  Dan Williams <dcbw@redhat.com>
20539
20540         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20541
20542         * configure.in
20543           initscript/Makefile.am
20544           initscript/Slackware/Makfile.am
20545           initscript/Slackware/rc.networkmanager
20546           src/Makefile.am
20547           src/backends/NetworkManagerSlackware.c
20548                 - Add Slackware support
20549
20550 2004-09-07  Dan Williams <dcbw@redhat.com>
20551
20552         Patches below from:
20553                 <j@bootlab.org>
20554                 Mark Roach <mrroach@okmaybe.com>
20555                 Thom May <thom@debian.org>
20556
20557         * configure.in
20558           initscript/Debian/NetworkManager
20559           initscript/Debian/Makefile.am
20560                 - Initscript for Debian
20561
20562         * src/backends/NetworkManagerDebian.c
20563                 - Add missing system init function to allow compilation
20564                         on Debian
20565
20566 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20567
20568         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20569
20570 2004-09-03  Akagic Amila <bono@linux.org.ba>
20571
20572         * configure.in: Added 'bs' to ALL_LINGUAS.
20573
20574 2004-09-02  Colin Walters  <walters@verbum.org>
20575
20576         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20577         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20578         g_strdup_printf instead of arbitrarily sized buffers.
20579
20580 2004-09-01  Colin Walters  <walters@verbum.org>
20581
20582         * NetworkManager.pc.in: New file.
20583
20584         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20585
20586 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20587         
20588         * configure.in: Punjabi(pa) is added to po/.
20589
20590 2004-08-31  Dan Williams <dcbw@redhat.com>
20591
20592         * Remove 'debug' extern global from all files since we now
20593                 use syslog()
20594
20595         * src/NetworkManager.[ch]
20596                 - Break out routine that get the net.interface property from HAL,
20597                         removing that logic from nm_create_device_and_add_to_list()
20598                 - (nm_create_device_and_add_to_list): make this a bit more general so
20599                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20600                         the create of test devices.
20601                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20602                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20603                         which makes NetworkManager listen for dbus commands to create test
20604                         devices, which have no backing hardware.  Use when you're on a plane
20605                         for example, and/or forgot your wireless card at home.  Test devices
20606                         _cannot_ be created unless NM is started with --enable-test-devices.
20607
20608         * src/NetworkManagerDbus.[ch]
20609                 - New "getLinkActive" method for devices
20610                 - New "setLinkActive" method for devices (only works on test devices)
20611                 - New "createTestDevice" method on NetworkManager object to create a test
20612                         device of a specified type (ie wired, wireless).  UDI is created from
20613                         scratch, as is the interface name.  Only works when NM is started with
20614                         --enable-test-devices switch.
20615                 - New "removeTestDevice" method on NetworkManager object which removes a
20616                         test device.  Only works when NM is started with --enable-test-devices
20617
20618         * src/NetworkManagerDevice.[ch]
20619                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20620                         whether a device is a test device or not, and what its link status is.
20621                 - Deal with test devices in most functions.  For those that work directly on hardware
20622                         special-case test devices.
20623                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20624                         command-line.
20625                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20626                         checking to separate functions to facilitate test device link checking.
20627                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20628                         don't make a distinction between System Authentication and Encryption
20629                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20630                         on the card.  We don't deal with Shared Key auth yet.
20631                 - (nm_device_activation_worker): split the activation cancel check logic out into
20632                         a separate routine nm_device_activation_cancel_if_needed()
20633                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20634                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20635                         a list of fake access points that they can "see"
20636                 - (nm_device_is_test_device): return whether or not a device is a test device
20637
20638         * src/NetworkManagerPolicy.c
20639                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20640                         previously if you "locked"/forced NM to use a wireless device but then
20641                         selected a wireless network for NM to use, it would switch to a wired device.
20642                         So, if the active device is wireless and it has a "forced" best AP, use it
20643                         if the "forced" best AP is still valid
20644                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20645                         there were no usable network devices, or the last one was removed
20646
20647         * src/backends/NetworkManager*.c
20648                 - Deal with test devices, mostly just return success for operations like getting
20649                         a DHCP address
20650
20651         * test/nmtestdevices.c
20652                 - Test tool to create/remove/link-switch test devices
20653
20654 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20655
20656         * examples/python/NetworkManager.py: 
20657         added convience functions has_wired_device and has_wireless_device
20658
20659         * examples/python/systray/network_tray.py: 
20660         cleaned up a bunch of cruft, added support for listing wireless
20661         networks just like the real applet.  This is probably all I'm
20662         going to work on this applet from now on.
20663         TODO: add support for actually changing networks and devices
20664
20665         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20666         changed "nm.networks" into a dict from a list so I can store all
20667         the cool information about networks in there
20668
20669         * examples/python/systray/network_tray.py: 
20670         Added nice message when you try to run without running make first
20671
20672         * examples/python/NetworkManager.py: 
20673         Bug fixes to the code so we get all the device information
20674         that we need in get_device()
20675         
20676         * examples/python/NMTester.py: 
20677         Fixed _print_device_list to print_device_list
20678
20679 2004-08-29  Seth Nickell  <seth@gnome.org>
20680
20681         * configure.in:
20682
20683         Actually properly setup the Debian backend in configure.
20684         
20685 2004-08-29  Colin Walters  <walters@verbum.org>
20686
20687         * test/nminfotest.c: Include string.h and stdlib.h.
20688         (get_network_string_property, get_networks_of_type): Return NULL.
20689
20690         * test/nmclienttest.c (get_device_name, get_active_device): Return
20691         NULL.
20692
20693         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20694         use strlen, fgets always NULL-terminates the string.
20695
20696         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20697         dbus_message_get_member): Remove /* in comment.
20698
20699         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20700
20701         * src/NetworkManager.c (quit): Unused, delete.
20702         (nm_data_free): Cast arg to GFunc.
20703
20704         * panel-applet/NMWirelessAppletDbus.c: Need to include
20705         string.h, and dbus-glib-lowlevel.h (the latter is needed
20706         for dbus_connection_setup_with_g_main at present).
20707         (nmwa_dbus_update_wireless_network_list): Parenthesize
20708         assignment in conditional.
20709         (nmwa_dbus_worker): Return NULL.
20710
20711         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20712         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20713         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20714         (nmwa_populate_menu): Return NULL on failure, instead of just
20715         return;
20716
20717         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20718
20719         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20720         variables.
20721
20722         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20723         delete.
20724         
20725 2004-08-29  Colin Walters  <walters@verbum.org>
20726
20727         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
20728         a GTimeVal instead of time_t.  This is easier to work with,
20729         since time_t may be a long or double, we don't know.
20730
20731         * src/NetworkManagerDbus.h: Update prototype.
20732         
20733         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
20734         instead of time_t.
20735         (nm_ap_get_timestamp): Update to return GTimeVal.
20736         (nm_ap_set_timestamp): Update to take GTimeVal.
20737         
20738         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
20739         to handle GTimeVal.
20740
20741         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
20742         GTimeVal change.
20743         (nm_ap_list_print_members): Fix warnings in printf format.
20744
20745 2004-08-29  Colin Walters  <walters@verbum.org>
20746         
20747         * panel-applet/NMWirelessApplet.c: Include config.h.
20748
20749 2004-08-29  Colin Walters  <walters@verbum.org>
20750
20751         * configure.in: Generate config.h.
20752
20753         * configure.in: Dump dependency on OpenSSL; we can't
20754         use it since this package is GPL:
20755         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
20756         Instead, check for libgcrypt, use it if available,
20757         otherwise use included MD5 code.
20758
20759         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
20760         Suck in from gnome-keyring, munge a bit.
20761         
20762         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
20763         gnome-keyring-md5.h gnome-keyring-md5.c.
20764         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
20765
20766         * src/NetworkManagerWireless.c (nm_md5): New function, uses
20767         libgcrypt or included gnome-keyring md5 bits.
20768         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
20769
20770 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
20771
20772         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
20773
20774 2004-08-27  Bryan Clark  <bclark@redhat.com>
20775
20776         * examples/python/systray/Makefile: 
20777
20778         Updated the clean section
20779         
20780         * examples/python/systray/trayiconmodule.c: 
20781         * examples/python/systray/trayicon.override: 
20782         * examples/python/systray/network_tray.py: 
20783         * examples/python/systray/eggtrayicon.h: 
20784         * examples/python/systray/eggtrayicon.c: 
20785         * examples/python/systray/Makefile: 
20786         * examples/python/README: 
20787         * examples/python/NetworkManager.py: 
20788         * examples/python/NMTester.py: 
20789
20790         Initial commit of these python example files
20791
20792 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
20793
20794         * panel-applet/NMWirelessApplet.c
20795                 - Make current device bold
20796                 - Show more user-friendly device name if we got one from hal
20797
20798         * panel-applet/NMWirelessAppletDbus.c
20799                 - Grab "info.product" key from hal for network devices
20800                 - Cache the current active device
20801
20802 2004-08-27  Adam Weinberger  <adamw@gnome.org>
20803
20804         * configure.in: Added en_CA to ALL_LINGUAS.
20805
20806 2004-08-27  Christian Rose  <menthos@menthos.com>
20807
20808         * configure.in: Added "sv" to ALL_LINGUAS.
20809
20810 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20811
20812         * Tag NetworkManager-0.2
20813
20814 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
20815
20816         * initscripts/Makefile.am
20817         * configure.in: Make pass distcheck
20818
20819         * po/ChangeLog: added
20820
20821 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20822
20823         * panel-applet/NMWirelessApplet.c
20824                 - Remove debugging code
20825                 - Enable device switching from menus
20826
20827         * panel-applet/NMWirelessAppletDbus.[ch]
20828                 - Method for asking NM to switch devices
20829
20830         * src/NetworkManagerDevice.c
20831                 - Set dev->activating earlier, avoids race between
20832                         the dbus signal of "DeviceActivating" and setting
20833                         dev->activating (which is what NM's "status" method call
20834                         looks at)
20835
20836 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20837
20838         * panel-applet/NMWirelessApplet.[ch]
20839                 - Rework menu code to add devices to menu, and to show
20840                         signal strength for each access point.  Code cleanups
20841                         too.
20842
20843         * panel-applet/NMWirelessAppletDbus.c
20844                 - Grab network devices from NetworkManager too
20845                 - Grab quality information from NM for wireless networks
20846
20847         * src/NetworkManagerDbus.[ch]
20848                 - Add dbus methods for getting the HAL UDI from a device and
20849                         for getting its base quality, if its wireless
20850                 - Consolidate some functions (wireless network notifications,
20851                         device notifications)
20852                 - Add method for requesting NM to use a particular device
20853
20854         * src/NetworkManager.c
20855                 - Change for function consolidations from NetworkManagerDbus.c
20856                 - Implement active device locking and user-requested devices
20857                         (ie, tell NM to use a particular device instead of the one
20858                         it autochose)
20859
20860         * src/NetworkManagerDevice.c
20861                 - Add method for getting the base quality of a device, if its
20862                         wireless
20863                 - Grab device base quailty info from iwlib during scans
20864
20865         * src/NetworkManagerPolicy.c
20866                 - Use a user-requested device rather than the auto-chosen device
20867                         if we are told to
20868
20869 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
20870
20871         * Makefile.am: add po as a supdir
20872
20873         * autogen.sh: use gnome-autogen.sh
20874
20875         * initscript/Gentoo/.cvsignore:
20876         * initscript/RedHat/.cvsignore: Shut up cvs
20877
20878         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
20879
20880         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
20881         (nmwa_fill): Use gettext.
20882
20883         * configure.in: add gettext support
20884         * po/.cvsignore:
20885         * po/NetworkManager.pot:
20886         * po/POTFILES.in:
20887
20888 2004-08-26  Seth Nickell  <seth@gnome.org>
20889
20890         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
20891         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
20892         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
20893         (nmwa_dispose_menu_items), (nmwa_populate_menu),
20894         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
20895         * panel-applet/NMWirelessApplet.h:
20896
20897         Use a menu bar instead of a button for the main clickable
20898         thingy.
20899         
20900 2004-08-25  Dan Williams <dcbw@redhat.com>
20901
20902         * src/NetworkManagerDevice.c
20903                 - (nm_device_set_enc_key): always set device to "open" mode instead of
20904                         turning encryption off, because the Cisco driver doesn't associate
20905                         with WEP-enabled access points unless we are in "open"
20906
20907 2004-08-25  Dan Williams <dcbw@redhat.com>
20908
20909         * src/NetworkManagerWireless.c
20910                 - Don't try to defererence blank passphrases
20911
20912 2004-08-25  Dan Williams <dcbw@redhat.com>
20913
20914         * panel-applet/NMWirelessApplet.c
20915                 - Rebuild the menu whenever a user clicks
20916
20917 2004-08-25  Dan Williams <dcbw@redhat.com>
20918
20919         * panel-applet/NMWirelessApplet.c
20920                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
20921                         when NM isn't around or when its not connected
20922
20923         * src/NetworkManagerDevice.c
20924                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
20925                         canceled.
20926
20927 2004-08-25  Dan Williams <dcbw@redhat.com>
20928
20929         * panel-applet/NMWirelessAppletDbus.c
20930                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
20931                         for getting encryption, and don't stop on "val" once we've gotten it
20932                         from NetworkManager.  Short form:  encryption should now show up.
20933
20934 2004-08-25  Dan Williams <dcbw@redhat.com>
20935
20936         * panel-applet/NMWirelessApplet.c
20937                 - Set ESSID on a gconf trusted network too when force-setting the wireless
20938                         network to associate with
20939
20940 2004-08-25  Dan Williams <dcbw@redhat.com>
20941
20942         * panel-applet/*
20943                 - Rework the panel applet to do all DBUS communication in a separate
20944                         thread
20945
20946 2004-08-25  Dan Williams <dcbw@redhat.com>
20947
20948         * info-daemon/NetworkManagerInfo.[ch]
20949                 - Remove "get_next_priority" function
20950
20951         * info-daemon/NetworkManagerInfoDbus.[ch]
20952                 - Convert "priority" functions to "timestamp"
20953
20954 2004-08-25  Dan Williams <dcbw@redhat.com>
20955
20956         * src/NetworkManagerAP.[ch]
20957                 - Add a "enc_method_good" member and accessors to an Access Point
20958                         to signal when we've found the correct encryption method
20959                         for an access point
20960                 - Add a "timestamp" member and accessors, remove "priority" member
20961                         and accessors (use timestamps instead)
20962                 - Rename "wep_key"->"enc_key"
20963                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
20964                         for a specified encryption method using the access points
20965                         source encryption key/passphrase
20966
20967         * src/NetworkManagerAPList.c
20968                 - When updating a network with dbus, grab timestamp now instead of
20969                         priority
20970
20971         * src/NetworkManagerDBus.[ch]
20972                 - Add signal for "DeviceActivating"
20973                 - Switch priority->timestamp
20974
20975         * src/NetworkManagerDevice.c
20976                 - Change references of "wep_key" -> "enc_key" or "key"
20977                 - Signal DeviceActivating when starting activation
20978                 - When activating a wireless device, if the access point we are connecting
20979                         to is encrypted, and we have a source key, try to generate a mangled
20980                         key and use that (ie, generate real WEP key from a passphrase)
20981                 - Rework device activation to fallback to other encryption methods if
20982                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
20983                         first, then if that doesn't work fall back to direct hex key).
20984                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
20985                         priority.  We now prefer the latest access point used, rather than using
20986                         a priority scheme
20987                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
20988                         points we've just discovered, and merge in correct info from the global
20989                         access point lists
20990
20991 2004-08-25  Seth Nickell  <seth@gnome.org>
20992
20993         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
20994         Debian support.
20995         
20996         * src/Makefile.am:
20997         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
20998         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
20999         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
21000         (nm_system_delete_default_route),
21001         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
21002         (nm_system_load_device_modules):
21003
21004 2004-08-24  Dan Willemsen <dan@willemsen.us>
21005
21006         * src/NetworkManager.c
21007           src/backends/NetworkManagerGentoo.c
21008           src/backends/NetworkManagerRedHat.c
21009           src/backends/NetworkManagerSystem.h
21010                 - Implement preliminary Gentoo support, adding a
21011                         nm_system_init function to the backend specification
21012
21013         * configure.in
21014                 - Distribution auto-detection, lowercase any user-fed
21015                         distribution names
21016
21017         * initscript/.cvsignore
21018           initscript/Makefile.am
21019           initscript/RedHat/Makefile.am
21020           initscript/RedHat/NetworkManager
21021           initscript/Gentoo/Makefile.am
21022           initscript/Gentoo/NetworkManager
21023                 - Refactored initscript code separately for each
21024                         distribution
21025
21026 2004-08-23  Dan Williams <dcbw@redhat.com>
21027
21028         * configure.in
21029           src/Makefile.am
21030           src/NetworkManagerDevice.c
21031           src/NetworkManager.c
21032           src/NetworkManagerUtils.[ch]
21033           src/backends/NetworkManagerSystem.h
21034           src/backends/NetworkManagerRedHat.c
21035           src/backends/NetworkManagerGentoo.c
21036                 - Refactor system-specific code into separate backends for
21037                         each distribution
21038
21039 2004-08-23  Dan Willemsen <dan@willemsen.us>
21040
21041         * dispatcher-daemon/NetworkManagerDispatcher.c
21042           info-daemon/NetworkManagerInfo.[ch]
21043           info-daemon/NetworkManagerInfoDbus.c
21044           info-daemon/NetworkManagerInfoPassphraseDialog.c
21045           src/NetworkManager.c
21046           src/NetworkManagerAP.c
21047           src/NetworkManagerAPList.c
21048           src/NetworkManagerDbus.c
21049           src/NetworkManagerDevice.c
21050           src/NetworkManagerPolicy.c
21051           src/NetworkManagerUtils.[ch]
21052           src/NetworkManagerWireless.c
21053                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
21054
21055         * src/NetworkManager.c
21056                 - Fixed usage wording for --no-daemon
21057
21058 2004-08-23  Dan Williams <dcbw@redhat.com>
21059
21060         * panel-applet/NMWirelessApplet.c
21061                 - Update our state every second to get more responsive panel icon
21062                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
21063                         was causing our marching ants status blips to never move when
21064                         looking for a wireless network
21065
21066         * src/NetworkManagerDevice.c
21067                 - (nm_device_activation_begin): return if activation has already begun
21068                 - (nm_device_do_normal_scan): merge WEP key and priority from the
21069                         trusted/preferred network into the device's access point when the
21070                         scan list is processed
21071
21072 2004-08-23  Dan Williams <dcbw@redhat.com>
21073
21074         * initscript/NetworkManager
21075                 - Use NMLaunchHelper rather than sleeping
21076
21077         * initscript/NMLaunchHelper.c
21078           Makefile.am
21079                 - Add helper program that exits only when NM activates a device,
21080                         or 10 seconds have passed, whichever happens first.  This
21081                         stops the boot processes until we have a network connection,
21082                         which NM can't do because it daemonizes and brings the connection
21083                         up in the background.  Allows stuff like NFS to not die.
21084
21085 2004-08-20  Dan Williams <dcbw@redhat.com>
21086
21087         * info-daemon/NetworkManagerInfoPassphraseDialog.c
21088                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
21089                         for a network, set the essid as well since it may not exist yet
21090                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
21091                         since WEP keys/passphrases are long and prone to entry-error
21092
21093         * panel-applet/Makefile.am
21094           panel-applet/wired.png
21095                 - Add (pulled from system-config-network temporarily)
21096
21097         * panel-applet/NMWirelessApplet.[ch]
21098                 - Show wired picture when a wired connection is used
21099                 - Rename wireless icon enums, adding WIRELESS
21100
21101         * src/NetworkManagerDevice.c
21102                 - (nm_device_activate_wireless): unset encryption before bringing
21103                         down the card and setting the essid
21104                 - (nm_device_activatin_worker): request a key from the user if the
21105                         AP we are connecting to is encrypted but we don't have a key
21106                         for it yet
21107                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
21108                         strcmp() that prevented a user-entered key from actually getting
21109                         used
21110
21111 2004-08-16  Dan Williams <dcbw@redhat.com>
21112
21113         * initscript/NetworkManager
21114                 - Check for /sbin/ip
21115                 - Do sysctl magic that network service does
21116                 - sleep 4s after start to allow network time to come up [hack]
21117
21118         * src/Makefile.am
21119           src/NMLoadModules
21120                 - Load all network device kernel modules (hal doesn't know devices
21121                         are ethernet until the module is loaded, and therefore we don't know)
21122
21123         * src/NetworkManager.c
21124                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
21125                         network devices, and bring up the loopback device explicitly
21126
21127         * src/NetworkManagerUtils.[ch]
21128                 - (nm_enable_loopback): new function
21129
21130 2004-08-13  Dan Williams <dcbw@redhat.com>
21131
21132         * configure.in
21133           panel-applet/Makefile.am
21134                 - Fix up cleanfiles and server_DATA/server_in_files
21135
21136         * README
21137                 - Update with some comments on theory of operation
21138
21139         * CONTRIBUTING
21140           Makefile.am
21141                 - Add CONTRIBUTING
21142
21143 2004-08-12  Dan Williams <dcbw@redhat.com>
21144
21145         * info-daemon/passphrase.glade
21146                 - Set window title to " "
21147
21148         * panel-applet/Makefile.am
21149           panel-applet/keyring.png
21150                 - Deliver to correct place
21151
21152         * panel-applet/NMWirelessApplet.[ch]
21153                 - Add comments
21154                 - Remove applet->have_active_device as its no longer used
21155                 - (nmwa_load_theme): load keyring.png too
21156                 - (error_dialog): remove
21157                 - (show_warning_dialog): subsume functionality of error dialog too
21158                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
21159                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
21160                         the networks menu
21161                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
21162                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
21163                         and when we get broadcasts of changed wireless access points only, not when the
21164                         user clicks on the button to display the menu (too long of a wait)
21165                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
21166                         networks that are encrypted
21167                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
21168                         menu item with g_object_set_data()
21169
21170         * panel-applet/NMWirelessAppletDbus.[ch]
21171                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
21172                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
21173                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
21174                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
21175                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
21176                         activation/deactivation signals and rebuild the menu when they happen
21177
21178         * src/NetworkManager.c
21179                 - (main): use new nm_spawn_process() rather than system()
21180
21181         * src/NetworkManagerDbus.c
21182                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
21183                         instead.  Since we can now force best_aps to stick around, the AP structure to which
21184                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
21185                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
21186                         to freeze the best_ap.
21187
21188         * src/NetworkManagerDevice.[ch]
21189                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
21190                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
21191                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
21192                         ap list
21193
21194         * src/NetworkManagerUtils.[ch]
21195                 - (nm_spawn_process): add replacement for system() usage
21196
21197 2004-08-11  Dan Williams <dcbw@redhat.com>
21198
21199         * panel-applet/NMWirelessApplet.[ch]
21200                 - Fix up copyright and credits to include Bastien and Eskil,
21201                         who created the gnome-applets wireless applet, from whose
21202                         skeleton this one was created
21203                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
21204                         pixmap to draw is computed during nmwa_update_state()
21205                 - Applet now shows itself all the time due to panel packing issues
21206                         which caused the applet to previously never come back after hiding.
21207                         When a wired device is the active device, the applet shows "not connected"
21208
21209         * panel-applet/NMWirelessAppletDbus.[ch]
21210                 - Clean up error messages and show what function they are from
21211                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
21212                 - Add new device type getters, and a status getter
21213
21214         * src/NetworkManagerDbus.c
21215                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
21216                         network is actually in the device's ap list
21217                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
21218
21219         * src/NetworkManagerDevice.c
21220                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
21221                         card
21222
21223         * test/nmclienttest.c
21224                 - Report status of NetworkManager too
21225
21226 2004-08-11  Dan Williams <dcbw@redhat.com>
21227
21228         * info-daemon/NetworkManagerInfo.c:
21229                 - (main): clean up Seth's code style
21230
21231         * info-daemon/NetworkManagerInfoDbus.c:
21232                 - Use the more aptly-named path/service/interface constants from NetworkManager
21233                 - Don't return empty strings ("") as object paths ever, instead return errors
21234
21235         * panel-applet/NMWirelessApplet.c:
21236                 - Clean up Seth's code style
21237
21238         * src/NetworkManager.[ch]
21239                 - (nm_remove_device_from_list): remove anything having to do with pending_device
21240                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
21241
21242         * src/NetworkManagerAPList.[ch]
21243                 - Move Iter struct right above the iter functions to preserve opacity
21244                 - (nm_ap_list_remove_ap): implement
21245                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
21246                         remove AP if NetworkManagerInfo doesn't know anything about it
21247                 - (nm_ap_list_diff): user NMAPList iterators
21248                 - (nm_ap_list_print_members): implement debugging function
21249
21250         * src/NetworkManagerDbus.[ch]
21251                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
21252                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
21253                         and move the actual key setting stuff into NetworkManagerDevice.c
21254                 - (nm_dbus_get_network_priority): return -1 now on errors
21255                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
21256                         get lost, and force the active device to update its "best" ap when AP lists change
21257                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
21258                         method call due to pending_device member removal
21259
21260         * src/NetworkManagerDevice.[ch]
21261                 - Move NMDevice structure to the top
21262                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
21263                 - Remove Pending Action stuff from everywhere
21264                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
21265                         activation for us.  This thread blocks until all conditions for activation have
21266                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
21267                         then setup up the interface and runs dhclient.  We have to do this because there
21268                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
21269                         run our main loop and respond to dbus method calls or HAL device removals/inserts
21270                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
21271                         can tell nm_device_activation_worker() that we've got a key
21272                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
21273                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
21274                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
21275                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
21276
21277         * src/NetworkManagerPolicy.c
21278                 - Remove anything to do with pending_device
21279                 - Adjust device activation to deal with activation-in-worker-thread
21280
21281         * src/NetworkManagerUtils.c
21282                 - Clean up locking debugging a bit
21283
21284         * src/NetworkManagerWireless.[ch]
21285                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
21286                         was badly named and is better as a device function
21287
21288         * panel-applet/.cvsignore: add
21289
21290 2004-08-09  Seth Nickell  <seth@gnome.org>
21291
21292         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
21293         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
21294         (nmwa_new):
21295         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
21296
21297         Don't load the menus until clicked on (also removes a call outside
21298         normal code paths at first load).
21299
21300         Hide applet when NM is not present.
21301         
21302         Improve printf debugging stuff.
21303         
21304 2004-08-09  Dan Williams <dcbw@redhat.com>
21305
21306         * dispatcher-daemon/NetworkManagerDispatcher.c:
21307                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
21308                 - Use constants for NetworkManager interface, service, and path
21309
21310 2004-08-09  Dan Williams <dcbw@redhat.com>
21311
21312         * src/NetworkManagerDbus.c:
21313                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
21314                         instead return an error message
21315                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
21316                         on a wired device.  Also never return an empty object path, instead return an error message
21317
21318 2004-08-06  Seth Nickell  <seth@gnome.org>
21319
21320         * panel-applet/NMWirelessApplet.c: (nmwa_new):
21321
21322         Check the error code when getting a connection.
21323         
21324         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
21325
21326         Check if the NM service exists when initializing (rather than
21327         assuming it does not).
21328         
21329         * src/NetworkManagerDbus.c: (nm_dbus_init):
21330
21331         Don't acquire the well-known service name until we have
21332         registered object/path handlers and can actually receive
21333         calls.
21334         
21335 2004-08-06  Dan Williams <dcbw@redhat.com>
21336
21337         * panel-applet/*
21338                 - Add panel applet
21339
21340         * src/NetworkManagerPolicy.c
21341           src/NetworkManager.c
21342                 - Get access point lists from NetworkManagerInfo on-demand,
21343                         and look for ServiceCreate/ServiceDeleted signals to see when
21344                         we should query NMI for lists
21345         * src/NetworkManagerAPList.c
21346                 - Make sure to init the list's mutex
21347                 - Convert traversals of the list over to the list iter functions
21348
21349         * src/NetworkManagerDbus.[ch]
21350                 - Use more aptly-named path/service/interface constants
21351                 - Treat both active and pending devices the same for "getActiveDevice"
21352                 - Add a "status" method returning "connected", "connecting", or "disconnected"
21353
21354         * src/NetworkManagerDevice.c
21355                 - Honor "ignored" network list when picking best ap to use
21356
21357 2004-08-06  Seth Nickell  <seth@gnome.org>
21358
21359         * aclocal.m4:
21360
21361         Autogenerated, remove from CVS.
21362         
21363         * autogen.sh:
21364
21365         Don't hardcode automake version.
21366         
21367         * configure.in:
21368         * info-daemon/Makefile.am:
21369         * info-daemon/NetworkManagerInfo.c: (main):
21370
21371         Use GnomeProgram et al. for doing session management.
21372         Use popt stuff for argument parsing rather than doing
21373         it manugally.
21374         
21375 2004-08-05  Dan Williams <dcbw@redhat.com>
21376
21377         * test/nminfotest.c
21378                 - Update to new NMI dbus API, check different network types
21379
21380         * info-daemon/NetworkManagerInfoDbus.c
21381                 - Update to new NM dbus API, ie network type sent in query message
21382
21383 2004-08-05  Dan Williams <dcbw@redhat.com>
21384
21385         * An assload of changes
21386
21387 2004-08-02  Dan Williams <dcbw@redhat.com>
21388
21389         * TODO
21390                 - new task: proper logging support
21391
21392         * info-daemon/NetworkManagerInfo.c
21393                 - Correct spelling of "canceled"
21394                 - Correct casting of objects for g_signal_connect()
21395
21396         * info-daemon/NetworkManagerInfoDbus.c
21397                 - Add defines for NetworkManager namespace and object path, and use them
21398                 - Add filter function to trap new signals from NetworkManager:
21399                         WirelessNetworkAppeared, WirelessNetworkDisappeared
21400
21401         * info-daemon/passphrase.glade
21402                 - Change name of "ok" button to "Login to Network..."
21403                 - Mark invisible
21404
21405         * src/NetworkManager.c
21406                 - Code and debug message cleanups
21407                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
21408                 - (nm_add_initial_devices) Check returned string array of devices
21409                         and don't try to add devices if array is NULL
21410                 - (main) Initialize libhal a bit later, make code a bit clearer
21411
21412         * src/NetworkManagerAP.[ch]
21413                 - New accessor and data member "matched": used to speed up AP list
21414                         diffing
21415                 - New accessor and data member "enc_method": will be used during key
21416                         fallback to cache which passphrase->key conversion actually works
21417                         so we don't have to do it every time
21418
21419         * src/NetworkManagerAPList.[ch]
21420                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
21421                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
21422                         between them, and send WirelessNetworkAppeared/Disappeared signals over
21423                         dbus in response to those differences
21424
21425         * src/NetworkManagerDbus.[ch]
21426                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
21427                         make an object path for that access point (NOTE that we don't yet check to
21428                         make sure that access point is actually in the device's AP list yet)
21429                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
21430                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
21431                         New: signal appearance/disappearance of wireless networks
21432                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
21433                         key entry
21434
21435         * src/NetworkManagerDevice.[ch]
21436                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
21437                 - (nm_device_ap_list_get) New: return the AP list (static function)
21438                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
21439                         new one resulting from the scan with the old one
21440
21441         * src/NetworkManagerWireless.c
21442                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
21443
21444         * test/nminfotest.c
21445                 - #define object paths and namespaces and use the #defines rather than static strings
21446                 - Test out user-key functionality of NetworkManagerInfo too
21447
21448 2004-07-29  Dan Williams <dcbw@redhat.com>
21449
21450         * info-daemon/NetworkManagerInfoDbus.c
21451           src/NetworkManagerDbus.c
21452                 - Update to current DBus (ie don't use decomposed paths when registering
21453                         object paths/fallbacks)
21454
21455 2004-07-27  Dan Williams <dcbw@redhat.com>
21456
21457         * Remove various Makefile.in files
21458
21459         * TODO
21460                 - Add some more items
21461
21462         * configure.in
21463                 - Add checks for OpenSSL/md5 headers and libs
21464
21465         * src/Makefile.am
21466                 - Use OpenSSL CFLAGS
21467
21468         * src/NetworkManagerAP.[ch]
21469                 - Remove 'stamp' functions, replace with 'invalid' functions
21470                         to support user cancelling WEP key entry
21471
21472         * src/NetworkManagerDbus.c
21473                 - Remove 'stamp' return functions
21474                 - Treat returned user key as a passphrase and convert to a WEP key,
21475                         but don't actually use the WEP key yet.  We use the returned user
21476                         key as a hexadecimal WEP key until we can figure out a UI for
21477                         passphrase-vs-hex key
21478
21479         * src/NetworkManagerWireless.[ch]
21480                 - Add passphrase-to-128bit-key function
21481
21482 2004-07-27  Dan Williams <dcbw@redhat.com>
21483
21484         * TODO
21485                 - Add a couple of items
21486
21487 2004-07-27  Dan Williams <dcbw@redhat.com>
21488
21489         * info-daemon/NetworkManagerInfo.c
21490                 - Update allowed network's GConf key when user enters a WEP key explicitly
21491
21492         * info-daemon/NetworkManagerDbus.c
21493                 - Fix some comments
21494                 - nmi_dbus_get_allowed_networks(): kill warning
21495
21496 2004-07-27  Dan Williams <dcbw@redhat.com>
21497
21498         * initscript/Makefile.in
21499                 - Remove
21500
21501         * initscript/Makefile.am
21502                 - Add correct rules to install the init.d initscript
21503
21504         * info-daemon/NetworkManagerInfoDbus.c
21505                 - Remove debug fprintf
21506
21507         * src/NetworkManagerDbus.[ch]
21508                 - Remove debug fprintfs
21509                 - Add macros for NetworkManagerInfo object path/namespace
21510                 - Use said macros instead of constant strings
21511
21512 2004-07-27  Dan Williams <dcbw@redhat.com>
21513
21514         * initscript/.cvsignore
21515                 - Add
21516
21517         * info-daemon/Makefile.am
21518                 - Install .glade files and keyring.png
21519                 - Fix stupid omission of a \ that caused half the flags not to be
21520                         passed to gcc
21521
21522         * info-daemon/NetworkManagerInfo.c
21523                 - gtk_signal_connect->g_signal_connect
21524                 - Alert NetworkManagerInfo to new glade file location
21525
21526 2004-07-27  Dan Williams <dcbw@redhat.com>
21527
21528         * test/nmclienttest.c
21529           test/nminfotest.c
21530                 - Add missing <dbus/dbus.h> headers
21531                 - Add GPL message at top
21532
21533 2004-07-27  Dan Williams <dcbw@redhat.com>
21534
21535         * src/NetworkManagerAPList.[ch]
21536           src/Makefile.am
21537                 - Add.  Deal with allowed network list additions, deletions, and updates
21538
21539         * dispatcher-daemon/NetworkManagerDispatcher.c
21540                 - Add missing <dbus/dbus.h> header
21541
21542         * info-daemon/NetworkManagerInfo.[ch]
21543                 - Add missing <dbus/dbus.h> header
21544                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21545                         network change
21546                 - Better error checking
21547
21548         * info-daemon/NetworkManagerInfoDbus.[ch]
21549                 - Add missing <dbus/dbus.h> header
21550                 - Convert to using dbus_message_append_args/dbus_message_get_args
21551                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21552                         that an allowed network changed.  We don't want to signal on individual
21553                         keys _inside_ an allowed network really, just want NM to query the info
21554                         daemon for updated info on all keys.
21555                 - Better error checking
21556
21557         * src/NetworkManager.[ch]
21558                 - Add missing <dbus/dbus.h> header
21559                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21560                 - Zero out NMData structure on free
21561                 - No longer use a thread for allowed_ap_list updating, instead its now done
21562                         through dbus queries against NetworkManagerInfo
21563                 - Populate allowed_ap_list initially before adding existing network devices
21564                         to the device list, so wireless devices can get their "best" AP
21565
21566         * src/NetworkManagerDbus.[ch]
21567                 - Convert to using dbus_message_append_args/dbus_message_get_args
21568                 - Better error checking
21569                 - Implement Allowed Network info functions to request allowed network
21570                         info from NetworkManagerInfo
21571                 - Implement the filter function to process signals from NetworkManagerInfo
21572                         about changing allowed networks
21573
21574         * src/NetworkManagerDevice.c
21575                 - Fix file descriptor leak in nm_device_update_ip4_address()
21576
21577 2004-07-27  Dan Williams <dcbw@redhat.com>
21578
21579         * .cvsignore
21580           src/.cvsignore
21581           test/.cvsignore
21582           dispatcher-daemon/.cvsignore
21583           info-daemon/.cvsignore
21584                 - Add .cvsignore files to reduce noise when diffing
21585
21586 2004-07-24  Dan Williams <dcbw@redhat.com>
21587
21588         * src/NetworkManager.[ch]
21589           src/NetworkManagerDbus.[ch]
21590           src/NetworkManagerDevice.[ch]
21591           src/NetworkManagerPolicy.c
21592           src/NetworkManagerWireless.[ch]
21593                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21594                 - Pass the NMData application data structure through all calls
21595                         that need it so we can get rid of nm_get_global_data()
21596                 - Change deallocation of the allowed_ap_list GSList in preparation
21597                         for not completely clearing it every time we get an update,
21598                         but instead getting incremental updates via GConf/dbus
21599
21600 2004-07-22  Dan Williams <dcbw@redhat.com>
21601
21602         * configure.in
21603                 - Add checks for GConf libs & headers & flags
21604
21605         * info-daemon/Makefile.am
21606                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21607
21608         * info-daemon/NetworkManagerInfo.[ch]
21609                 - Don't use gquarks for data storage, just use normal data storage
21610                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21611
21612         * info-daemon/NetworkManagerDbus.[ch]
21613                 - Add method call for getting allowed networks
21614                 - Add method calls for getting an allowed network's essid, priority, and key
21615                 - Hook the method calls up to GConf
21616                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21617                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21618                 
21619         * src/NetworkManagerDbus.[ch]
21620                 - Switch for enumeration of networks to using essid instead
21621
21622         * test/Makefile.am
21623           test/nminfotest.c
21624                 - Add test program for NetworkManagerInfo
21625
21626 2004-07-19  Dan Williams <dcbw@redhat.com>
21627
21628         * src/NetworkManagerDbus.c
21629                 - Switch from indexed device paths to names.  Less code, more efficient.
21630                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21631
21632 2004-07-19  Dan Williams <dcbw@redhat.com>
21633
21634         * dispatcher-daemon/NetworkManagerDispatcher.c
21635                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21636
21637 2004-07-19  Dan Williams <dcbw@redhat.com>
21638
21639         * Makefile.am
21640                 - Add info-daemon directory
21641
21642         * configure.in
21643                 - Check for glade libs and headers
21644                 - Add info-daemon directory
21645
21646         * src/NetworkManagerAP.c
21647                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21648                         copied over to the new AP.
21649
21650         * src/NetworkManagerDbus.c
21651           src/NetworkManagerDbus.h
21652                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21653                 - Remove nm_dbus_signal_need_key_for_network()
21654                 - Add disabled code for asynchronous user wep key callbacks
21655                 - Add functions for getting, setting, and cancelling user key operations
21656                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21657                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21658
21659         * src/NetworkManagerDevice.c
21660           src/NetworkManagerDevice.h
21661                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21662                         logic is in device activation now
21663                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21664                         key is wrong) trigger get-user-key pending action
21665                 - Implement get-user-key pending action stuff, tie to dbus messages
21666                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21667                 - Add nm_device_ap_list_get_ap_by_essid()
21668                 - Instead of copying "best" access points, ref them instead so that the key we set
21669                         sticks around
21670
21671         * src/NetworkManagerPolicy.c
21672                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21673                 - Don't cancel pending actions on a device if its the same device as last iteration
21674                 - Only promote pending_device->active_device if activation was successfull
21675
21676         * src/Makefile.am
21677                 - Rename nmclienttest->nmtest
21678
21679         * info-daemon/Makefile.am
21680           info-daemon/NetworkManagerInfo.c
21681           info-daemon/NetworkManagerInfo.h
21682           info-daemon/NetworkManagerInfoDbus.c
21683           info-daemon/NetworkManagerInfoDbus.h
21684           info-daemon/passphrase.glade
21685           info-daemon/NetworkManagerInfo.conf
21686           info-daemon/keyring.png
21687                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21688                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21689                         lists to NetworkManager by proxying user's GConf
21690           
21691
21692 2004-07-15  Dan Williams <dcbw@redhat.com>
21693
21694         * src/Makefile.am
21695                 - Turn on warnings
21696
21697         * src/NetworkManager.c
21698                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21699                         that doing the deactivation ourselves
21700                 - Cancel an pending actions on a device if its being removed
21701                 - Break up link state checking a bit, make non-active wireless cards
21702                         deactivated to save power
21703                 - Remove unused variables
21704
21705         * src/NetworkManager.h
21706                 - Add support for "pending" device
21707
21708         * src/NetworkManagerAP.h
21709           src/NetworkManagerAP.c
21710                 - Add support for determining whether and AP has encryption enabled or not
21711                 - AP address is now "struct ether_addr" rather than a string
21712
21713         * src/NetworkManagerDbus.h
21714           src/NetworkManagerDbus.c
21715                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21716                 - Changes for AP address from struct ether_addr->string
21717
21718         * src/NetworkManagerDevice.h
21719           src/NetworkManagerDevice.c
21720                 - Remove unused variables, fix warnings
21721                 - Add support for Pending Actions (things that block a device from being "active"
21722                         until they are completed).
21723                 - First pending action:  Get a WEP key from the user
21724                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
21725                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
21726                 - Update wireless link checking to try to determine if the AP we are associated
21727                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
21728                         trigger the GetUserKey pending action on the device
21729                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
21730                         up in that case, otherwise we can't scan or link-check on it
21731                 - Add IP address change notifications at appropriate points (still needs some work)
21732                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
21733
21734         * src/NetworkManagerPolicy.h
21735           src/NetworkManagerPolicy.c
21736                 - Split out "best" access point determiniation into separate function
21737                 - Make device activation 2-stage:  first the device is pending, then
21738                         in the next iteration through it becomes "active" unless it has
21739                         pending actions
21740
21741         * src/NetworkManagerUtils.h
21742           src/NetworkManagerUtils.c
21743                 - Clean up unused variables and warnings
21744                 - Wrap our debug macros in {} to prevent possible confusion
21745
21746         * src/NetworkManagerWireless.c
21747                 - Forgot to return current best priority, which lead to last available AP always
21748                         being chosen no matter what its priority was.  Corrected.
21749
21750 2004-07-15  Dan Williams <dcbw@redhat.com>
21751
21752         * dispatcher-daemon/Makefile.am
21753                 - Turn on warnings
21754
21755         * dispatcher-daemon/NetworkManagerDispatcher.c
21756                 - Remove unused variables due to warnings
21757                 - Fix some comments
21758                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
21759
21760 2004-07-06  Dan Williams <dcbw@redhat.com>
21761
21762         * src/NetworkManager.c
21763                 - Add IPv4 address update for active device during link state check
21764                 - Don't allow wireless cards to be powered up when they are not the
21765                         active device
21766
21767         * src/NetworkManagerDbus.c
21768           src/NetworkManagerDbus.h
21769                 - Add DBUS IPv4 address change signal
21770                 - Add DBUS IPv4 address get method for devices
21771
21772         * src/NetworkManagerDevice.c
21773                 - Make setting the WEP key actually work
21774                 - Move IP address get/set/update stuff here, per-device
21775                 - Power down/bring down wireless device when deactivated
21776                 - For scanning wireless devices, if first scan returned ENODATA, try again
21777
21778         * src/NetworkManagerPolicy.c
21779                 - Only set the WEP key for an allowed access point if there is one.
21780                         We were setting it to be blank if one wasn't specified.
21781
21782         * src/NetworkManagerUtils.h
21783           src/NetworkManagerUtils.c
21784                 - Move the IP address stuff to NetworkManagerDevice.c
21785
21786         * dispatcher-daemon/NetworkManagerDispatcher.c
21787                 - Add device IPv4 address change notification stuff
21788
21789 2004-07-05  Dan Williams <dcbw@redhat.com>
21790
21791         * dispatcher-daemon/NetworkManagerDispatcher.c
21792                 - A bit more descriptive state message
21793                 - Don't segfault when reading directory
21794
21795         * src/NetworkManager.h
21796                 - Remove NMData desired_ap member, its now
21797                         per-device rather than global
21798
21799         * src/NetworkManager.c
21800                 - Remove references to desired_ap
21801                 - Move the allowed AP list refresh stuff into a thread
21802
21803         * src/NetworkManagerDevice.c
21804           src/NetworkManagerDevice.h
21805                 - Each wireless device now has a "best ap"
21806                 - Make device activate/deactivate functions per-device
21807                 - Make wireless scanning per-device
21808                 - Add IPv4 address discover functions, stub IPv6 ones
21809                 - Move ethernet address validation functions to NetworkManagerUtils.c
21810                 - Add wireless access point accessor function
21811                 - Get/Set functions for "best ap"
21812
21813         * src/NetworkManagerPolicy.c
21814                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
21815                 - Deal with per-device "best ap" rather than data->desired_apa
21816                 - Implement allowed access point worker thread
21817                 - Add nm_policy_essid_is_allowed() function
21818
21819         * src/NetworkManagerUtils.c
21820           src/NetworkManagerUtils.h
21821                 - Add nm_ethernet_address_is_valid() function
21822                 - Add IPv4/IPv6 address get functions
21823
21824         * src/NetworkManagerWireless.c
21825           src/NetworkManagerWireless.h
21826                 - Move scanning stuff into NetworkManagerDevice.c, per-device
21827
21828 2004-06-29  Dan Williams <dcbw@redhat.com>
21829
21830         * dispatcher-daemon/NetworkManagerDispatcher.c
21831                 - Implement script callout functionality
21832
21833 2004-06-24  Dan Williams <dcbw@redhat.com>
21834
21835         * NetworkManager.c
21836             - Spacing cleanups
21837             - Flush device routes and ip addresses when added to the device list
21838
21839         * NetworkManagerDbus.c
21840             - Spacing cleanups
21841             - Add missing returns in the two signal functions
21842         
21843         * NetworkManagerPolicy.c
21844             - Spacing and variable cleanups
21845
21846 2004-06-24  Dan Williams <dcbw@redhat.com>
21847
21848         * Makefile.am
21849           Makefile.in
21850           configure.in
21851           dispatcher-daemon/Makefile.am
21852           dispatcher-daemon/Makefile.in
21853           dispatcher-daemon/NetworkManagerDispatcher.c
21854             - Add a daemon that receives signals from NetworkManager
21855                         and will (eventually) call scripts in /etc/somewhere
21856                         when devices go up or down.
21857         
21858         * NetworkManager.c
21859             - Spacing cleanups
21860             - Flush device routes and ip addresses when added to the device list
21861
21862         * NetworkManagerDbus.c
21863             - Spacing cleanups
21864             - Add missing returns in the two signal functions
21865         
21866         * NetworkManagerPolicy.c
21867             - Spacing and variable cleanups
21868             - Rename nm_policy_switch_interface->nm_policy_switch_device
21869             - nm_policy_switch_device():
21870                                 Use kill (pid) instead of system ("kill <pid>")
21871             - nm_state_modification_monitor():
21872                                 Add wireless essid to output of debug statements
21873                                 Correct typo in device compare to switch or not (should be !=)
21874                                 Don't sleep after sending "no longer active" signal, was useless
21875
21876 2004-06-24  Dan Williams <dcbw@redhat.com>
21877
21878         * Initial import