2008-11-17 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-11-17  Dan Williams  <dcbw@redhat.com>
2
3         * src/nm-hso-gsm-device.c
4                 - (real_connection_secrets_updated): handle PIN/PUK correctly for HSO
5                         devices
6
7 2008-11-17  Dan Williams  <dcbw@redhat.com>
8
9         * system-settings/plugins/ifcfg-fedora/reader.c
10                 - (read_mac_address): clean up
11                 - (make_wireless_setting): pass NULL array to read_mac_address() like it
12                         expects
13
14         * system-settings/plugins/ifcfg-fedora/plugin.c
15                 - (read_one_connection): don't segfault on NULL errors
16
17 2008-11-14  Dan Williams  <dcbw@redhat.com>
18
19         * Tag 0.7.0-rc2
20
21 2008-11-14  Dan Williams  <dcbw@redhat.com>
22
23         Handle gateways on different subnets
24
25         * src/NetworkManagerSystem.c
26                 - (add_ip4_route_to_gateway): gateway route should be link scope and
27                         a host route
28                 - (replace_default_ip4_route): use a destination address too; gateway
29                         address should be /0; don't leak the gateway route object
30
31 2008-11-14  Dan Williams  <dcbw@redhat.com>
32
33         * libnm-glib/libnm_glib.ver
34           libnm-glib/nm-dbus-settings-system.c
35           libnm-glib/nm-dbus-settings-system.h
36                 - Add libnm-glib bits for CanModify
37
38 2008-11-14  Dan Williams  <dcbw@redhat.com>
39
40         * introspection/nm-settings-system.xml
41           system-settings/src/dbus-settings.c
42           system-settings/src/dbus-settings.h
43                 - Add a "CanModify" property to indicate if any plugins support
44                         connection modification
45
46 2008-11-14  Dan Williams  <dcbw@redhat.com>
47
48         Relicense libnm-glib to LGPLv2+ with agreement from contributors
49
50 2008-11-14  Dan Williams  <dcbw@redhat.com>
51
52         * vpn-manager/nm-vpn-connection.c
53                 - (plugin_state_changed): clear VPN secrets on error to ensure they
54                         are always requested from the settings service (rh #429287)
55
56 2008-11-13  Dan Williams  <dcbw@redhat.com>
57
58         * libnm-util/crypto.c
59                 - (crypto_get_private_key_data): fix bad initial arg type checking
60                         from pkcs#12 patch
61
62 2008-11-13  Dan Williams  <dcbw@redhat.com>
63
64         Add support for PKCS#12 private keys (bgo #558982)
65
66         * libnm-util/crypto.c
67           libnm-util/crypto.h
68                 - (parse_old_openssl_key_file): rename from parse_key_file(); adapt to
69                         take a GByteArray instead of a filename
70                 - (file_to_g_byte_array): handle private key files too
71                 - (decrypt_key): take a GByteArray rather than data + len
72                 - (crypto_get_private_key_data): refactor crypto_get_private_key() into
73                         one function that takes a filename, and one that takes raw data;
74                         detect pkcs#12 files as well
75                 - (crypto_load_and_verify_certificate): detect file type
76                 - (crypto_is_pkcs12_data, crypto_is_pkcs12_file): add pkcs#12 detection
77                         functions
78
79         * libnm-util/crypto_gnutls.c
80                 - (crypto_decrypt): take GByteArray rather than data + len; fix a bug
81                         whereby tail padding was incorrectly handled, leading to erroneous
82                         successes when trying to decrypt the data
83                 - (crypto_verify_cert): rework somewhat
84                 - (crypto_verify_pkcs12): validate pkcs#12 keys
85
86         * libnm-util/crypto_nss.c
87                 - (crypto_init): enable various pkcs#12 ciphers
88                 - (crypto_decrypt): take a GByteArray rather than data + len
89                 - (crypto_verify_cert): clean up
90                 - (crypto_verify_pkcs12): validate pkcs#12 keys
91
92         * libnm-util/test-crypto.c
93                 - Handle pkcs#12 keys
94
95         * libnm-util/nm-setting-8021x.c
96           libnm-util/nm-setting-8021x.h
97           libnm-util/libnm-util.ver
98                 - Add two new properties, 'private-key-password' and
99                         'phase2-private-key-password', to be used in conjunction with
100                         pkcs#12 keys
101                 - (nm_setting_802_1x_set_ca_cert_from_file,
102                    nm_setting_802_1x_set_client_cert_from_file,
103                    nm_setting_802_1x_set_phase2_ca_cert_from_file,
104                    nm_setting_802_1x_set_phase2_client_from_file): return certificate
105                         type
106                 - (nm_setting_802_1x_get_private_key_password,
107                    nm_setting_802_1x_get_phase2_private_key_password): return private
108                         key passwords
109                 - (nm_setting_802_1x_set_private_key_from_file,
110                    nm_setting_802_1x_set_phase2_private_key_from_file): set the private
111                         key from a file, and update the private key password at the same time
112                 - (nm_setting_802_1x_get_private_key_type,
113                    nm_setting_802_1x_get_phase2_private_key_type): return the private
114                         key type
115
116         * src/supplicant-manager/nm-supplicant-settings-verify.c
117                 - Whitelist private key passwords
118
119         * src/supplicant-manager/nm-supplicant-config.c
120                 - (nm_supplicant_config_add_setting_8021x): for pkcs#12 private keys,
121                         add the private key password to the supplicant config, but do not
122                         add the client certificate (as required by wpa_supplicant)
123
124 2008-11-12  Tambet Ingo  <tambet@gmail.com>
125
126         * system-settings/plugins/keyfile/nm-keyfile-connection.c (copy_one_secret)
127         (add_secrets): Don't add empty secrets to the secrets hash table.
128
129 2008-11-07  Dan Williams  <dcbw@redhat.com>
130
131         * libnm-util/nm-setting-wireless.c
132                 - (nm_setting_wireless_get_seen_bssid): fix bug from accessor conversion
133                         that cased this function to return garbage, breaking hidden AP
134                         detection
135
136 2008-11-07  Dan Williams  <dcbw@redhat.com>
137
138         Fix deletion of VPN gateway route on DHCP renew (bgo #558133)
139
140         * src/NetworkManagerSystem.c
141           src/NetworkManagerSystem.h
142                 - (nm_system_device_set_ip4_route): return the route that was added
143                 - (nm_system_add_ip4_vpn_gateway_route): make add_vpn_gateway_route()
144                         public, clean up, and return the route that was added
145                 - (nm_system_apply_ip4_config): remove VPN related stuff to simplify,
146                         since nm_system_add_ip4_vpn_gateway_route() is now available; add
147                         flags to allow only certain attributes of the NMIP4Config to be
148                         applied
149
150         * src/nm-device.c
151                 - (handle_dhcp_lease_change): don't touch the DHCP4 config on failure
152                 - (nm_device_set_ip4_config): use nm_ip4_config_diff() to only apply
153                         what's really changed between the old and new configs; don't export
154                         the new IP4 config on failure; always send the DNS info to the
155                         named manager
156
157         * src/vpn-manager/nm-vpn-connection.c
158                 - (device_ip4_config_changed, nm_vpn_connection_new, dispose): track the
159                         parent device's IP4Config and re-add the VPN gateway route when it
160                         changes
161                 - (nm_vpn_connection_ip4_config_get): add the VPN gateway route (since
162                         nm_system_apply_ip4_config() no longer does) and cache it for later
163                 - (connection_state_changed): move cleanup code to its own function
164                 - (vpn_cleanup): delete any previously added VPN gateway route; and
165                         re-apply the parent device's addresses and routes using
166                         nm_system_apply_ip4_config(), not nm_device_set_ip4_config()
167
168 2008-11-07  Dan Williams  <dcbw@redhat.com>
169
170         * src/nm-ip4-config.c
171           src/nm-ip4-config.h
172                 - (nm_ip4_config_diff): new function; return the difference between two
173                         IP4 configs
174                 - (nm_ip4_config_compare): change into nm_ip4_config_diff
175
176 2008-11-05  Dan Williams  <dcbw@redhat.com>
177
178         * nm-ip4-config.c
179           nm-ip4-config.h
180                 - (nm_ip4_config_compare): compare two IP4 configs
181
182 2008-11-05  Dan Williams  <dcbw@redhat.com>
183
184         * src/NetworkManagerPolicy.c
185                 - (update_etc_hosts): only add newline if not the last line of the file
186                         (Jonathan Miner)
187
188 2008-11-05  Dan Williams  <dcbw@redhat.com>
189
190         * src/dhcp-manager/nm-dhcp-dhclient.c
191                 - (get_leasefile_for_iface): move lease files back to where dhclient
192                         puts them
193
194 2008-11-05  Michael Biebl  <mbiebl@gmail.com>
195
196         * initscripts/Debian/NetworkManager
197                 - Update to what Debian is actually using
198
199 2008-11-05  Tambet Ingo  <tambet@gmail.com>
200
201         * libnm-util/nm-setting-8021x.c: Verify PEAP settings as well.
202
203 2008-11-03  Dan Williams  <dcbw@redhat.com>
204
205         * system-settings/src/main.c
206                 - (add_default_dhcp_connection): make the fallback connection read-only
207
208         * libnm-glib/nm-settings.c
209           libnm-glib/nm-settings.h
210                 - Add detailed errors
211                 - (impl_exported_connection_update, impl_exported_connection_delete):
212                         return an error if the connection is read-only
213
214         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
215           system-settings/plugins/keyfile/nm-keyfile-connection.c
216           system-settings/src/main.c
217                 - Use more detailed errors
218
219         * system-settings/src/nm-system-config-error.c
220           system-settings/src/nm-system-config-error.h
221           system-settings/src/dbus-settings.c
222                 - Remove NM_SYSCONFIG_SETTINGS_ERROR_INVALID_CONNECTION, replaced by
223                         NM_SETTINGS_ERROR_INVALID_CONNECTION
224
225 2008-11-02  Dan Williams  <dcbw@redhat.com>
226
227         * Add license headers to everything in src/
228
229 2008-11-02  Dan Williams  <dcbw@redhat.com>
230
231         * Tag 0.7.0-rc1
232
233 2008-11-02  Dan Williams  <dcbw@redhat.com>
234
235         * src/NetworkManagerAP.c
236                 - (nm_ap_new_fake_from_connection): treat only lack of a wireless security
237                         setting as unencrypted; fixes a bug where NM wouldn't ask for new
238                         secrets when connecting to an encrypted network failed
239
240 2008-10-30  Dan Williams  <dcbw@redhat.com>
241
242         * libnm-util/libnm-util.ver
243           libnm-util/nm-setting-ip6-config.c
244           libnm-util/nm-setting-ip6-config.h
245           libnm-util/Makefile.am
246                 - Make properties private and add accessor functions
247                 - Hide IPv6 stuff from public API, it's incomplete and completely unused
248
249         * libnm-util/nm-connection.c
250           libnm-util/nm-utils.c
251           libnm-util/nm-utils.h
252                 - Ignore IPv6 stuff for now
253
254 2008-10-30  Dan Williams  <dcbw@redhat.com>
255
256         * libnm-util/libnm-util.ver
257           libnm-util/nm-setting-8021x.c
258           libnm-util/nm-setting-8021x.h
259                 - Make properties private and add accessor functions
260
261         * src/supplicant-manager/nm-supplicant-config.c
262           system-settings/plugins/ifcfg-suse/parser.c
263                 - Use 802.1x setting accessors
264
265 2008-10-30  Dan Williams  <dcbw@redhat.com>
266
267         * libnm-util/libnm-util.ver
268           libnm-util/nm-setting-wireless-security.c
269           libnm-util/nm-setting-wireless-security.h
270                 - Make properties private and add accessor functions
271
272         * libnm-util/nm-setting-wireless.c
273           src/NetworkManagerAP.c
274           src/nm-device-wifi.c
275           src/supplicant-manager/nm-supplicant-config.c
276           system-settings/plugins/ifcfg-fedora/reader.c
277           system-settings/plugins/ifcfg-suse/parser.c
278                 - Use wireless security accessors
279
280 2008-10-30  Dan Williams  <dcbw@redhat.com>
281
282         * src/nm-device-ethernet.c
283           src/nm-device-wifi.c
284           src/nm-device.c
285           src/ppp-manager/nm-ppp-manager.c
286                 - Harmonize return checking of ioctl
287
288         * system-settings/plugins/ifcfg-fedora/reader.c
289                 - (is_wireless_device): fall back to SIOCGIWNAME (rh #466340)
290
291 2008-10-30  Dan Williams  <dcbw@redhat.com>
292
293         * src/ppp-manager/nm-ppp-manager.c
294                 - (nm_ppp_manager_start): if /dev/ppp doesn't exist, load the
295                         ppp_generic module to create it (bgo #533064)
296
297 2008-10-30  Dan Williams  <dcbw@redhat.com>
298
299         Patch from Alexander Sack <asac@canonical.com>
300
301         Fix "ppp connections don't honour ip4 connection settings"
302
303         * src/nm-device-ethernet.c
304                 - (real_act_stage4_get_ip4_config): merge ip4config settings
305                         with results from ppp manager
306
307         * src/nm-serial-device.c
308                 - (real_act_stage4_get_ip4_config): merge ip4config settings
309                         with results from ppp manager
310
311 2008-10-29  Dan Williams  <dcbw@redhat.com>
312
313         * libnm-util/libnm-util.ver
314           libnm-util/nm-setting-ip4-config.c
315           libnm-util/nm-setting-ip4-config.h
316                 - Make properties private and add accessor functions
317
318         * callouts/nm-dispatcher-action.c
319           libnm-glib/libnm-glib-test.c
320           libnm-util/nm-utils.c
321           src/NetworkManagerPolicy.c
322           src/NetworkManagerSystem.c
323           src/NetworkManagerUtils.c
324           src/dhcp-manager/nm-dhcp-dhclient.c
325           src/dhcp-manager/nm-dhcp-manager.c
326           src/dnsmasq-manager/nm-dnsmasq-manager.c
327           src/nm-device-wifi.c
328           src/nm-device.c
329           src/nm-hso-gsm-device.c
330           src/nm-ip4-config.c
331           src/nm-ip4-config.h
332           src/ppp-manager/nm-ppp-manager.c
333           src/vpn-manager/nm-vpn-connection.c
334           system-settings/plugins/ifcfg-fedora/reader.c
335           system-settings/plugins/ifcfg-suse/parser.c
336           system-settings/plugins/ifcfg-suse/plugin.c
337           system-settings/plugins/ifupdown/parser.c
338           test/nm-tool.c
339           vpn-daemons/vpnc/properties/nm-vpnc.c
340                 - Use IP4 accessor functions
341
342 2008-10-29  Tambet Ingo  <tambet@gmail.com>
343
344         Half of it by Dan Williams <dcbw@redhat.com>
345
346         * libnm-util/libnm-util.ver
347         libnm-util/nm-setting-vpn.c
348         libnm-util/nm-setting-vpn.h
349                 - Make properties private and add accessor functions.
350
351         * src/vpn-manager/nm-vpn-connection.c
352         src/vpn-manager/nm-vpn-manager.c
353         system-settings/plugins/keyfile/reader.c
354         vpn-daemons/openvpn/properties/auth-helpers.c
355         vpn-daemons/openvpn/properties/import-export.c
356         vpn-daemons/openvpn/properties/nm-openvpn.c
357         vpn-daemons/openvpn/src/nm-openvpn-service.c
358         vpn-daemons/pptp/auth-dialog/main.c
359         vpn-daemons/pptp/properties/advanced-dialog.c
360         vpn-daemons/pptp/properties/nm-pptp.c
361         vpn-daemons/pptp/src/nm-pptp-service.c
362         vpn-daemons/vpnc/properties/nm-vpnc.c
363         vpn-daemons/vpnc/src/nm-vpnc-service.c
364                 - Use VPN setting accessors.
365
366 2008-10-28  Dan Williams  <dcbw@redhat.com>
367
368         Patch from Tambet Ingo <tambet@gmail.com>
369
370         * libnm-util/libnm-util.ver
371           libnm-util/nm-setting-wireless.c
372           libnm-util/nm-setting-wireless.h
373                 - Make properties private and add accessor functions
374
375         * src/NetworkManagerAP.c
376           src/nm-device-wifi.c
377           src/nm-manager.c
378           src/supplicant-manager/nm-supplicant-config.c
379           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
380           system-settings/plugins/ifcfg-fedora/reader.c
381           system-settings/plugins/ifcfg-suse/parser.c
382           system-settings/plugins/ifupdown/parser.c
383                 - Use wireless setting accessors
384
385 2008-10-27  Dan Williams  <dcbw@redhat.com>
386
387         Patch from Tambet Ingo <tambet@gmail.com>
388
389         * libnm-util/libnm-util.ver
390           libnm-util/nm-setting-ppp.c
391           libnm-util/nm-setting-ppp.h
392                 - Make properties private and add accessor functions
393
394         * src/ppp-manager/nm-ppp-manager.c
395                 - Use ppp setting accessors
396
397 2008-10-27  Dan Williams  <dcbw@redhat.com>
398
399         Patch from Tambet Ingo <tambet@gmail.com>
400
401         * libnm-util/nm-setting.h
402           libnm-util/nm-setting.c
403                 - Make properties private and add accessor functions
404
405         * libnm-util/nm-connection.c
406           libnm-util/nm-setting-8021x.c
407           libnm-util/nm-setting-cdma.c
408           libnm-util/nm-setting-connection.c
409           libnm-util/nm-setting-gsm.c
410           libnm-util/nm-setting-ip4-config.c
411           libnm-util/nm-setting-ip6-config.c
412           libnm-util/nm-setting-ppp.c
413           libnm-util/nm-setting-pppoe.c
414           libnm-util/nm-setting-serial.c
415           libnm-util/nm-setting-template.c
416           libnm-util/nm-setting-vpn.c
417           libnm-util/nm-setting-wired.c
418           libnm-util/nm-setting-wireless-security.c
419           libnm-util/nm-setting-wireless.c
420           system-settings/plugins/keyfile/reader.c
421           system-settings/plugins/keyfile/writer.c
422                 - Use setting accessors
423
424 2008-10-27  Dan Williams  <dcbw@redhat.com>
425
426         * libnm-util/libnm-util.ver
427           libnm-util/nm-setting-connection.c
428           libnm-util/nm-setting-connection.h
429                 - Add a 'read-only' property that indicates the connection cannot be
430                         modified
431
432         * system-settings/plugins/ifcfg-fedora/reader.c
433           system-settings/plugins/ifcfg-suse/parser.c
434           system-settings/plugins/ifupdown/parser.c
435                 - These plugins are read-only at the moment
436
437         * system-settings/plugins/keyfile/reader.c
438           system-settings/plugins/keyfile/writer.c
439                 - Read-only shouldn't get saved out to files or read in from them
440
441 2008-10-27  Tambet Ingo  <tambet@gmail.com>
442
443         * src/nm-device-ethernet.c (nm_device_ethernet_get_speed): Implement
444         correct speed reporting for fast devices (kernel >= 2.6.27).
445
446 2008-10-26  Dan Williams  <dcbw@redhat.com>
447
448         Attempt to compensate for modems that don't enable full AT parsing before
449         the PIN has been entered.
450
451         * src/nm-gsm-device.c
452                 - (init_modem): accept different init strings
453                 - (init_done): try different init strings on failure
454                 - (check_pin_done): on PIN success, do full modem init
455
456 2008-10-26  Dan Williams  <dcbw@redhat.com>
457
458         Patch from Tambet Ingo <tambet@gmail.com>
459
460         * libnm-util/libnm-util.ver
461           libnm-util/nm-setting-connection.c
462           libnm-util/nm-setting-connection.h
463                 - Make properties private and add accessor functions
464
465         * src/NetworkManagerPolicy.c
466           src/nm-cdma-device.c
467           src/nm-device-ethernet.c
468           src/nm-device-interface.c
469           src/nm-device-wifi.c
470           src/nm-gsm-device.c
471           src/nm-manager.c
472           src/ppp-manager/nm-ppp-manager.c
473           src/vpn-manager/nm-vpn-connection.c
474           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
475           system-settings/plugins/ifcfg-fedora/plugin.c
476           system-settings/plugins/ifcfg-fedora/reader.c
477           system-settings/plugins/ifcfg-suse/parser.c
478           system-settings/plugins/ifupdown/parser.c
479           system-settings/plugins/keyfile/nm-keyfile-connection.c
480           system-settings/plugins/keyfile/plugin.c
481           system-settings/plugins/keyfile/writer.c
482           system-settings/src/main.c
483                 - Use those accessors
484
485 2008-10-26  Dan Williams  <dcbw@redhat.com>
486
487         Patch from Tambet Ingo <tambet@gmail.com>
488
489         * libnm-util/libnm-util.ver
490           libnm-util/nm-setting-gsm.c
491           libnm-util/nm-setting-gsm.h
492                 - Make properties private and add accessor functions
493
494         * src/nm-gsm-device.c
495           src/nm-hso-gsm-device.c
496           src/ppp-manager/nm-ppp-manager.c
497                 - Use those accessors
498
499 2008-10-26  Dan Williams  <dcbw@redhat.com>
500
501         Patch from Tambet Ingo <tambet@gmail.com>
502
503         * libnm-util/libnm-util.ver
504           libnm-util/nm-setting-cdma.c
505           libnm-util/nm-setting-cdma.h
506                 - Make properties private and add accessor functions
507
508         * src/nm-cdma-device.c
509           src/ppp-manager/nm-ppp-manager.c
510                 - Use those accessors
511
512 2008-10-26  Dan Williams  <dcbw@redhat.com>
513
514         Patch from Tambet Ingo <tambet@gmail.com>
515
516         * libnm-util/libnm-util.ver
517           libnm-util/nm-setting-pppoe.c
518           libnm-util/nm-setting-pppoe.h
519                 - Make properties private and add accessor functions
520
521         * src/nm-device-ethernet.c
522           src/ppp-manager/nm-ppp-manager.c
523                 - Use those accessors
524
525 2008-10-26  Dan Williams  <dcbw@redhat.com>
526
527         Patch from Tambet Ingo <tambet@gmail.com>
528
529         * libnm-util/libnm-util.ver
530           libnm-util/nm-setting-wired.c
531           libnm-util/nm-setting-wired.h
532                 - Make properties private and add accessor functions
533
534         * src/nm-device-ethernet.c
535           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
536           system-settings/plugins/ifcfg-suse/parser.c
537           system-settings/src/main.c
538                 - Use those accessors
539
540 2008-10-26  Dan Williams  <dcbw@redhat.com>
541
542         Patch from Tambet Ingo <tambet@gmail.com>
543
544         * libnm-util/libnm-util.ver
545           libnm-util/nm-setting-serial.c
546           libnm-util/nm-setting-serial.h
547           src/nm-serial-device.c
548                 - Make properties private and use accessors instead
549
550 2008-10-26  Dan Williams  <dcbw@redhat.com>
551
552         * src/supplicant-manager/nm-supplicant-interface.c
553           src/supplicant-manager/nm-supplicant-interface.h
554           src/supplicant-manager/nm-supplicant-manager.c
555           src/supplicant-manager/nm-supplicant-manager.h
556                 - Add state-to-string conversion functions
557
558         * src/nm-device-wifi.c
559           src/nm-device-ethernet.c
560                 - Normalize state info logging and use strings instead of numbers
561
562 2008-10-26  Dan Williams  <dcbw@redhat.com>
563
564         * src/NetworkManagerPolicy.c
565                 - (update_routing_and_dns): ignore host routes when determining whether
566                         a VPN connection should own the default route (bgo #552594)
567
568 2008-10-24  Dan Williams  <dcbw@redhat.com>
569
570         * src/nm-gsm-device.c
571                 - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
572
573 2008-10-23  Dan Williams  <dcbw@redhat.com>
574
575         * src/ppp-manager/nm-ppp-manager.c
576                 - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
577                         add really important stuff to the command line to ensure that NM
578                         overrides /etc/ppp/options (bgo #556781)
579
580 2008-10-22  Dan Williams  <dcbw@redhat.com>
581
582         * src/NetworkManagerSystem.c
583           src/nm-device.c
584                 - Use the device's IP interface where appropriate (Per Hallsmark)
585
586 2008-10-22  Dan Williams  <dcbw@redhat.com>
587
588         * src/nm-gsm-device.c
589                 - (schedule_automatic_registration_again): use a short timeout here
590                         instead of an idle handler to avoid using too much CPU polling for
591                         something we should be waiting a bit for anyway
592
593 2008-10-22  Dan Williams  <dcbw@redhat.com>
594
595         * include/NetworkManager.h
596           introspection/nm-device.xml
597                 - Add device state change reason for carrier changes
598
599         * src/nm-device-ethernet.c
600                 - (set_carrier): use the carrier change reason when changing device
601                         state in response to carrier changes
602
603 2008-10-21  Dan Williams  <dcbw@redhat.com>
604
605         * src/NetworkManagerPolicy.c
606                 - (update_etc_hosts): don't leak errors, and ensure that
607                         g_file_set_contents() gets a valid error placeholder (rh #461933)
608
609 2008-10-21  Dan Williams  <dcbw@redhat.com>
610
611         * src/nm-manager.c
612                 - (free_get_settings_info): don't use the DBusGProxy which could be
613                         disposed of by the time the function is called
614                 - (internal_new_connection_cb): save connection scope
615                 - (connection_get_settings_cb): don't replace a connection unless it's
616                         actually different from the existing one; fixes an issue where
617                         killing the settings service wouldn't deactivate an active connection
618                         provided by that settings service, because it was using a connection
619                         that had already been replaced in the system or user hash
620
621 2008-10-21  Dan Williams  <dcbw@redhat.com>
622
623         * src/NetworkManager.c
624                 - (main): keep the DHCP manager around since it's a singleton; fixes
625                         a use-after-free exposed by r4196 since the DHCP manager singleton
626                         variable isn't cleared when the DHCP manager object is finalized
627
628 2008-10-20  Dan Williams  <dcbw@redhat.com>
629
630         * libnm-util/nm-setting-wireless-security.c
631                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
632
633 2008-10-20  Dan Williams  <dcbw@redhat.com>
634
635         * src/supplicant-manager/nm-supplicant-config.c
636                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
637
638 2008-10-20  Dan Williams  <dcbw@redhat.com>
639
640         * src/dhcp-manager/nm-dhcp-manager.c
641                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
642                         manager object already refs it once
643                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
644                         also get cleaned up by nm_dhcp_device_destroy() to prevent
645                         double-frees
646
647 2008-10-20  Dan Williams  <dcbw@redhat.com>
648
649         * src/nm-manager.c
650                 - (initial_get_connections): use private dbus manager, don't keep
651                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
652                         manager object.
653
654 2008-10-18  Dan Williams  <dcbw@redhat.com>
655
656         * libnm-glib/nm-settings.c
657           libnm-glib/nm-settings.h
658                 - Rename the "get_secrets" virtual function "service_get_secrets" to
659                         clarify when it's used; NMExportedConnetion is a base-class for both
660                         the client and service side, which is sort of confusing, and
661                         get_secrets only makes sense on the service side.
662
663         * libnm-glib/nm-dbus-connection.c
664                 - (get_secrets): remove, unused, and clients need to do extra work to
665                         get secrets anyway since the call can block on the remote side
666
667         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
668           system-settings/plugins/keyfile/nm-keyfile-connection.c
669                 - Fix up for get_secrets -> service_get_secrets
670
671 2008-10-16  Dan Williams  <dcbw@redhat.com>
672
673         * src/nm-device-wifi.c
674                 - (constructor): correctly determine encryption capabilities
675
676 2008-10-15  Dan Williams  <dcbw@redhat.com>
677
678         * src/nm-device-wifi.c
679                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
680                         (Johannes Berg)
681
682 2008-10-15  Dan Williams  <dcbw@redhat.com>
683
684         * src/NetworkManagerSystem.c
685                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
686                         if the ip4_dest is in a smaller subnet contained within a subnet
687                         the machine is currently on, the destination is in the same subnet
688                 - (nm_system_device_set_ip4_route): move subnet checks to callers
689                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
690                         subnet as the parent device, and if so, don't add the direct
691                         host route via the parent device's gateway (bgo #481620)
692                 - (nm_system_apply_ip4_config): check whether the route to be added
693                         is contained within a subnet the device is already on
694
695 2008-10-11  Dan Williams  <dcbw@redhat.com>
696
697         * include/NetworkManager.h
698           introspection/nm-device.xml
699           include/NetworkManagerVPN.h
700                 - Add a few more state reasons for the device deactivated state
701
702         * src/nm-device-interface.c
703           src/nm-device-interface.h
704                 - (nm_device_interface_deactivate): add a 'reason' argument
705
706         * src/nm-device.c
707           src/nm-device.h
708                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
709                 - (nm_device_state_changed): pass the state change reason to
710                         nm_device_take_down()
711                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
712                         to the state change function
713
714         * src/nm-manager.c
715           src/nm-manager.h
716                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
717                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
718                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
719                         something reasonable along to VPN deactivation
720
721         * src/vpn-manager/nm-vpn-manager.c
722           src/vpn-manager/nm-vpn-manager.h
723                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
724                         pass that along to nm_vpn_connection_disconnect()
725
726 2008-10-11  Dan Williams  <dcbw@redhat.com>
727
728         * src/nm-device-wifi.c
729                 - (can_scan): remove old madwifi hack for not scanning while connected
730
731 2008-10-11  Dan Williams  <dcbw@redhat.com>
732
733         Add support for VPN subnet gateways (bgo #549196)
734
735         * include/NetworkManager.h
736                 - Add key for internal VPN subnet gateway
737
738         * src/vpn-manager/nm-vpn-connection.c
739                 - (ip_address_to_string): return a const from a static buffer so we
740                         don't leak a lot of strings
741                 - (print_vpn_config): print internal VPN gateway as well
742                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
743                         VPN service too
744                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
745
746         * src/NetworkManagerSystem.c
747           src/NetworkManagerSystem.h
748                 - (nm_system_device_replace_default_ip4_route): split into two, one for
749                         VPN connections and one for normal devices
750                 - (replace_default_ip4_route): break out route stuff into its own function
751                 - (nm_system_replace_default_ip4_route_vpn,
752                    nm_system_replace_default_ip4_route): simplify by having two cases,
753                         one for VPNs and one for normal devices
754
755         * src/NetworkManagerPolicy.c
756                 - (update_routing_and_dns): simplify, use split default route replacement
757                         functions
758
759 2008-10-10  Dan Williams  <dcbw@redhat.com>
760
761         Rework default route handling to consolidate decisions in the policy,
762         and to take active VPN connections into account when changing the default
763         route (bgo #545912)
764
765         * src/NetworkManager.c
766                 - (main): pass the vpn_manager to the policy so it knows about active
767                         VPN connections; clean up the named manager which wasn't done before
768
769         * src/NetworkManagerPolicy.c
770           src/NetworkManagerPolicy.h
771                 - (nm_policy_new): get a clue about the vpn_manager
772                 - (update_default_route): remove, fold into update_routing_and_dns()
773                 - (update_routing_and_dns): handle active VPN connections too; an
774                         active VPN connection becomes the default route if it does not have
775                         server-specified or user-specified custom routes.  Otherwise, the
776                         best active device gets the default route
777                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
778                    nm_policy_destroy): track VPN connection activation and deactivation
779                         and update the default route when appropriate
780
781         * src/NetworkManagerSystem.c
782           src/NetworkManagerSystem.h
783                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
784                         in the VPN connection itself
785                 - (nm_system_vpn_device_set_from_ip4_config,
786                    nm_system_device_set_from_ip4_config): merge together to make
787                         nm_system_apply_ip4_config()
788                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
789                         via the parent device
790                 - (nm_system_apply_ip4_config): simplify
791                 - (add_ip4_route_to_gateway): new function; add a direct route to the
792                         gateway if needed
793                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
794                         route stuff out into add_ip4_route_to_gateway() for clarity
795
796         * src/nm-device.c
797                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
798
799         * src/vpn-manager/nm-vpn-connection.c
800           src/vpn-manager/nm-vpn-connection.h
801                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
802                    nm_vpn_connection_get_parent_device): add
803                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
804                         device explicit
805                 - (connection_state_changed): update the named manager now that
806                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
807                         useful on errors
808
809         * src/vpn-manager/nm-vpn-manager.c
810           src/vpn-manager/nm-vpn-manager.h
811                 - Add a 'connection-activated' signal
812                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
813                         policy to find out about active VPN connections
814
815 2008-10-10  Tambet Ingo  <tambet@gmail.com>
816
817         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
818         a daemon to prevent NM logging spew on console on startup and shutdown (due
819         to dependency loop between NM and syslog).
820
821 2008-10-10  Alexander Sack  <asac@ubuntu.com>
822
823         Implement managed mode. We bind devices configured in /etc/network/interfaces
824         to their connections by updating wired/wireless setting with the
825         mac address of the device.
826
827         * system-settings/plugins/ifupdown/plugin.c
828                 - (get_net_address_for_udi): implement function to retrieve MAC
829                         address of udi from hal in GByteArray format
830                 - (bind_device_to_connection): bind mac address of device to
831                         wired/wireless system connection
832                 - (hal_device_added_cb): call bind_device_to_connection for
833                         system connections with a matching interface.name
834                 - (hal_device_added_cb): ensure that all code paths
835                         properly free the "iface" string.
836
837 2008-10-10  Alexander Sack  <asac@ubuntu.com>
838
839         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
840         mode of the ifupdown system config plugin.
841
842         * system-settings/plugins/ifupdown/plugin.c
843                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
844                         private unmanage_well_known state field accordingly
845
846 2008-10-10  Alexander Sack  <asac@ubuntu.com>
847
848         Implement unmanaged mode that will prevent all devices in the
849         well_known_udis set from being touched by NetworkManager
850
851         * system-settings/plugins/ifupdown/plugin.c
852                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
853                         unmanage_well_known field used to turn on/off unmanaged
854                         mode
855                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
856                         signal when well_known_udis get added/removed
857                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
858                         if we are in unmanaged mode
859
860 2008-10-10  Alexander Sack  <asac@ubuntu.com>
861
862         Add support to track network devices that have a configuration
863         with a matching interface.name in /etc/network/interfaces
864
865         * system-settings/plugins/ifupdown/plugin.c
866                 - (typedef struct SCPluginIfupdownPrivate): add hash table
867                         to track |well_known_udis|
868                 - (get_iface_for_udi): helper function to get interface.name
869                         for a udi
870                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
871                         that add and remove devices to and from the well_known_udis
872                         set depending on whether their |interface.name| matches
873                         any interface definition in /etc/network/interfaces
874                 - (SCPluginIfupdown_init): connect callbacks from above with
875                         hal_mgr and setup well_known_udis hashtable
876                 - (GObject__dispose): destroy well_known_udis hashtable
877                 - (hal_device_added_cb2): implement wrapper callback with GFunc
878                         signature. user_data is supposed to be a triple (hal_mgr,
879                         config and devtype)
880                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
881                         startup and call hal_device_added_cb2
882
883 2008-10-10  Alexander Sack  <asac@ubuntu.com>
884
885         Remove implementation for not used NMSystemConfigInterface callback functions
886         in ifupdown plugin
887
888         * system-settings/plugins/ifupdown/plugin.c
889                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
890                 - (SCPluginIfupdown_connection_added): removed
891
892 2008-10-08  Dan Williams  <dcbw@redhat.com>
893
894         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
895
896         * src/NetworkManagerUtils.c
897                 - (nm_utils_call_dispatcher): add a 'hostname' action
898
899         * src/NetworkManagerPolicy.c
900                 - (set_system_hostname): dispatch hostname changes
901
902         * callouts/nm-dispatcher-action.c
903                 - (nm_dispatcher_action): handle 'hostname' actions
904
905 2008-10-08  Dan Williams  <dcbw@redhat.com>
906
907         * src/NetworkManagerSystem.c
908                 - (find_route): ref the route so it doesn't get destroyed when the cache
909                         is cleared
910                 - (nm_system_device_set_priority): unref the route here after it's done
911                         being used
912
913 2008-10-08  Dan Williams  <dcbw@redhat.com>
914
915         * src/nm-serial-device.c
916                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
917
918 2008-10-08  Tambet Ingo  <tambet@gmail.com>
919
920         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
921         connection with new settings before saving it.
922
923 2008-10-06  Dan Williams  <dcbw@redhat.com>
924
925         * src/nm-ip4-config.c
926           src/nm-ip4-config.h
927                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
928
929         * src/nm-device-interface.c
930                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
931                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
932                         by using '/' for the object path
933
934         * src/nm-device.c
935                 - (src/nm-device.c): marshal missing/unexported ip4-config through
936                         dbus as '/' since dbus-glib can't handle NULL objects nor can
937                         dbus handle NULL object paths
938
939 2008-10-03  Alexander Sack  <asac@ubuntu.com>
940
941         Implement system hostname support for debian/ubuntu
942
943         * system-settings/plugins/ifupdown/plugin.c
944                 - (GObject__get_property): extend announced capabilities; add
945                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
946                 - (GObject__set_property,write_system_hostname): implement
947                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
948                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
949                    update_system_hostname, get_hostname):
950                         implement hostname property that watches and
951                         parses /etc/hostname
952
953 2008-10-03  Alexander Sack  <asac@ubuntu.com>
954
955         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
956           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
957           system-settings/plugins/ifcfg-fedora/Makefile.am
958           system-settings/src/nm-inotify-helper.c
959           system-settings/src/nm-inotify-helper.h
960           src/Makefile.am
961                 - Move ifcfg-fedora inotify helpers to the system settings service so
962                         they are available to all plugins
963
964 2008-10-03  Alexander Sack  <asac@ubuntu.com>
965
966         Implement support for wep-tx-keyidx in ifupdown system
967         config plugin.
968
969         * system-settings/plugins/ifupdown/parser.c
970                 - (update_wireless_security_setting_from_if_block): introduce
971                         free_type_mapping func table; rename a few local
972                         variables to improve readability; add wpa security mapping
973                         for wep-tx-keyidx property
974                 - (string_to_gpointerint): new function used for the auto_type_mapping
975                         of new wep-tx-keyidx property
976                 - (slist_free_all): free func used for mapped slist types
977
978 2008-10-03  Alexander Sack  <asac@ubuntu.com>
979
980         * system-settings/src/main.c:
981                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
982                         always used as the hash key; fixes a crash when removing wired
983                         devices
984
985 2008-10-02  Dan Williams  <dcbw@redhat.com>
986
987         * src/nm-gsm-device.c
988                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
989                         pass the required GSM secret along via user_data rather than keeping
990                         it around in the private data where it sometimes didn't get cleared
991                 - (real_get_ppp_name): implement using the GSM username
992
993 2008-10-02  Dan Williams  <dcbw@redhat.com>
994
995         * src/ppp-manager/nm-ppp-manager.c
996           src/ppp-manager/nm-ppp-manager.h
997                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
998                         the settings daemon for completely new ones
999                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
1000                         local PPP peer name; allow PPP debuging by launching NM with
1001                         the environment variable NM_PPP_DEBUG defined
1002                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
1003                         create_pppd_cmd_line()
1004
1005         * src/nm-serial-device.c
1006           src/nm-serial-device.h
1007                 - New 'get_ppp_name' function for subclasses to implement to return the
1008                         local PPP peer name
1009                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
1010                         and pass that name to the PPP manager
1011
1012         * src/nm-device-ethernet.c
1013                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
1014                         the local peer name
1015
1016         * src/nm-cdma-device.c
1017                 - (real_get_ppp_name): implement using the CDMA username
1018
1019 2008-10-02  Dan Williams  <dcbw@redhat.com>
1020
1021         Patch from Alexander Sack <asac ubuntu com>
1022
1023         * system-settings/plugins/ifupdown/parser.c
1024                 - Implement more graceful ip4 config parsing for cases where
1025                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
1026                   by using default values
1027
1028 2008-10-02  Dan Williams  <dcbw@redhat.com>
1029
1030         * src/NetworkManagerPolicy.c
1031                 - (device_state_changed): when marking a connection invalid, clear its
1032                         secrets too so that fresh secrets get requested the next time
1033
1034 2008-10-01  Dan Williams  <dcbw@redhat.com>
1035
1036         * system-settings/src/dbus-settings.c
1037                 - (nm_sysconfig_settings_init): cache system hostname on startup as
1038                         a fallback if no plugin provides a hostname
1039                 - (get_property): fall back to cached hostname if no plugin provides
1040                         a hostname
1041
1042 2008-10-01  Dan Williams  <dcbw@redhat.com>
1043
1044         Fix setting value comparison issue that caused some settings to look the
1045         same when they were really different (rh #464417)
1046
1047         * libnm-util/nm-param-spec-specialized.c
1048                 - (type_is_fixed_size): return fundamental size of the fixed type too
1049                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
1050                         in the comparison so that the _entire_ fixed type collection gets
1051                         compared rather than just the first 'len1' bytes
1052
1053 2008-09-30  Dan Williams  <dcbw@redhat.com>
1054
1055         * src/NetworkManagerPolicy.c
1056                 - (lookup_thread_worker): don't store the idle handler ID becuase the
1057                         idle handler could have already run and freed the LookupThread
1058                         structure
1059
1060 2008-09-30  Tambet Ingo  <tambet@gmail.com>
1061
1062         * src/nm-device.c (nm_device_get_priority): Implement.
1063         (nm_device_set_ip4_config): Send the device priority to system ip4 
1064         config setter.
1065
1066         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
1067         Add priority argument and if it's >= 0, set the priority of the network
1068         route added automatically by netlink (or kernel?).
1069         (nm_system_device_set_priority): Implement.
1070
1071         * src/NetworkManagerPolicy.c (get_best_device): Use 
1072         nm_device_get_priority() instead of home-grown version. Revert the
1073         meaning, best priority is the lowest one.
1074
1075 2008-09-29  Dan Williams  <dcbw@redhat.com>
1076
1077         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
1078         when it returns EAGAIN (rh #362421)
1079
1080         * src/nm-device-wifi.c
1081                 - (wireless_get_range): try GIWRANGE a few times until the card responds
1082                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
1083
1084 2008-09-28  Dan Williams  <dcbw@redhat.com>
1085
1086         * src/nm-serial-device.c
1087           src/nm-serial-device.h
1088                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
1089                         cleaned at the right times when subclasses close the serial port too
1090                 - (nm_serial_device_send_command): use a default send delay; don't
1091                         spin forever on EAGAIN
1092                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
1093                         remove, no longer used
1094                 - (find_response): return the matched response if any
1095                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
1096                         while doing so
1097                 - (wait_for_reply_done): pass the matched response to the callback
1098                 - (wait_for_reply_got_data): save the matched response; simplify timeout
1099                         handling
1100                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
1101                         const since they never get modified
1102                 - (cleanup_device): split out common cleanup stuff to a new function
1103                 - (real_deactivate_quickly, finalize): use cleanup_device()
1104
1105         * src/nm-gsm-device.c
1106                 - (modem_get_reply): remove, unused
1107                 - (set_apn): give the card a bit more time to respond
1108                 - (manual_registration_again, schedule_manual_registration_again,
1109                    manual_registration_response, manual_registration): handle manual
1110                         registration timeouts better by retrying registration a few times
1111                         because cards are a bit slow after CFUN=1
1112                 - (automatic_registration_get_network, get_network_response): use
1113                         modem_wait_for_reply() because it interacts better with the serial
1114                         buffer and does more intelligent matching; need to wait for 'OK'
1115                         rather than just matching terminators
1116                 - (schedule_automatic_registration_again,
1117                    automatic_registration_response, automatic_registration): retry
1118                         registration a few times on timeout or "searching" because cards
1119                         take a bit to find a network after being powered up with CFUN=1
1120                 - (power_up_response, power_up, init_full_done, enter_pin,
1121                    check_pin_done): power up the card with CFUN=1 before trying to
1122                         register with the network
1123                 - (init_modem_full, init_modem): use more standard 3G init strings
1124
1125         * src/nm-hso-gsm-device.c
1126                 - (modem_get_reply): remove, unused
1127                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
1128                         modem_wait_for_reply() to match actual responses instead of single
1129                         termination characters; it doesn't leave stuff in the serial buffer
1130                         that might confuse later calls
1131                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
1132                         to ensure that the call is really disconnected and not leave extra
1133                         stuff in the serial buffer
1134
1135         * src/nm-cdma-device.c
1136                 - (power_up_response, power_up, init_done): try Sierra-style modem
1137                         power up before attempting to connect
1138
1139 2008-09-27  Dan Williams  <dcbw@redhat.com>
1140
1141         * libnm-util/nm-setting-gsm.c
1142                 - (verify): verify GSM network ID
1143
1144 2008-09-25  Dan Williams  <dcbw@redhat.com>
1145
1146         * libnm-util/nm-setting-gsm.c
1147           libnm-util/nm-setting-gsm.h
1148                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
1149                         technology terms (bgo #551361)
1150
1151 2008-09-25  Dan Williams  <dcbw@redhat.com>
1152
1153         Fix bgo #549401 (inspired by patch from Alexander Sack)
1154
1155         * src/nm-device-ethernet.c
1156                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1157                 - (remove_supplicant_interface_error_handler): remove the supplicant
1158                         error idle callback too
1159                 - (supplicant_interface_release): rename from supplicant_interface_clean
1160                         to match nm-device-wifi.c; clean up supplicant interface-related
1161                         state tasks when the supplicant interface is disposed of
1162                 - (schedule_state_handler): add scheduled tasks to a list so they can
1163                         be cleaned up later
1164                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1165                    supplicant_iface_connection_state_cb_handler): use
1166                         finish_supplicant_task() to clean up each completed task
1167                 - (supplicant_iface_connection_error_cb_handler,
1168                    supplicant_connection_timeout_cb): clear source id when the task is
1169                         complete
1170                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1171                         later cleanup
1172                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
1173                         tasks
1174
1175         * src/nm-device-wifi.c
1176                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1177                 - (remove_supplicant_interface_error_handler): remove the supplicant
1178                         error idle callback too
1179                 - (supplicant_interface_release): clean up supplicant interface-related
1180                         state tasks when the supplicant interface is disposed of
1181                 - (schedule_state_handler): add scheduled tasks to a list so they can
1182                         be cleaned up later
1183                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1184                    supplicant_iface_connection_state_cb_handler): use
1185                         finish_supplicant_task() to clean up each completed task
1186                 - (supplicant_iface_connection_error_cb_handler): clear source id when
1187                         the task is complete
1188                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1189                         later cleanup
1190                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
1191
1192 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1193
1194         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
1195         method and get/set hostname property.
1196
1197 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1198
1199         * src/supplicant-manager/nm-supplicant-interface.c
1200         (nm_supplicant_interface_disconnect): Don't increment the reference 
1201         count when disconnecting. The problem is on shutdown, when the replies
1202         to these commands do not arrive before NM exits, resulting on never
1203         calling supplicant interface's dispose(), which removes the interface
1204         from supplicant.
1205
1206 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1207
1208         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
1209         all the public function arguments.
1210
1211 2008-09-22  Tambet Ingo  <tambet@gmail.com>
1212
1213         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
1214         "Failure" signal from VPN plugins, store the failure reason, and
1215         use it when the state is changed to failure.
1216
1217         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
1218         description.
1219
1220         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
1221         reason to the end of the list to not break the API.
1222         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
1223         so it can be shared by plugins and daemon.
1224
1225 2008-09-18  Dan Williams  <dcbw@redhat.com>
1226
1227         Patch from Alexander Sack <asac@ubuntu.com>
1228
1229         * configure.in
1230           system-settings/plugins/Makefile.am
1231           system-settings/plugins/ifupdown/Makefile.am
1232           system-settings/plugins/ifupdown/interface_parser.c
1233           system-settings/plugins/ifupdown/interface_parser.h
1234           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
1235           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
1236           system-settings/plugins/ifupdown/parser.c
1237           system-settings/plugins/ifupdown/parser.h
1238           system-settings/plugins/ifupdown/plugin.c
1239           system-settings/plugins/ifupdown/plugin.h
1240                 - Implement a Debian/Ubuntu legacy network configuration plugin
1241                         (gnome.org #551941)
1242
1243 2008-09-18  Dan Williams  <dcbw@redhat.com>
1244
1245         Implement support for honoring configured and automatic hostnames, and for
1246         setting the configured hostname.
1247
1248         * introspection/nm-ip4-config.xml
1249           src/nm-ip4-config.c
1250           src/nm-ip4-config.h
1251           src/dhcp-manager/nm-dhcp-manager.c
1252                 - Remove useless hostname property; it's not really part of the IPv4
1253                         config
1254
1255         * introspection/nm-settings-system.xml
1256           libnm-glib/nm-dbus-settings-system.c
1257           libnm-glib/nm-dbus-settings-system.h
1258                 - Add SetHostname() call to system settings D-Bus interface
1259                 - Add Hostname property to system settings D-Bus interface
1260                 - (nm_dbus_settings_system_save_hostname,
1261                    nm_dbus_settings_system_get_hostname): implement
1262
1263         * src/nm-device.c
1264           src/nm-device.h
1265                 - (nm_device_get_dhcp4_config): implement
1266
1267         * src/nm-manager.c
1268           src/nm-manager.h
1269                 - Fetch and track system settings service hostname changes, and proxy
1270                         the changes via a GObject property of the manager
1271
1272         * system-settings/src/nm-system-config-interface.c
1273           system-settings/src/nm-system-config-interface.h
1274                 - Replace nm_system_config_interface_supports_add() with a capabilities
1275                         bitfield
1276
1277         * system-settings/src/nm-system-config-error.c
1278           system-settings/src/nm-system-config-error.h
1279                 - Add additional errors
1280
1281         * system-settings/src/dbus-settings.c
1282           system-settings/src/dbus-settings.h
1283                 - (get_property, nm_sysconfig_settings_class_init): add hostname
1284                         property; first plugin returning a hostname wins
1285                 - (impl_settings_add_connection): use plugin capabilities instead of
1286                         nm_system_config_interface_supports_add()
1287                 - (impl_settings_save_hostname): implement hostname saving
1288
1289         * src/NetworkManagerPolicy.c
1290                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
1291                    lookup_thread_die): implement an asynchronous hostname lookup thread
1292                         which given an IPv4 address tries to look up the hostname for that
1293                         address with reverse DNS
1294                 - (get_best_device): split out best device code from
1295                         update_routing_and_dns()
1296                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
1297                         to preserve the 127.0.0.1 reverse mapping that so many things require
1298                 - (set_system_hostname): set a given hostname
1299                 - (update_system_hostname): implement hostname policy; a configured
1300                         hostname (from the system settings service) is used if available,
1301                         otherwise an automatically determined hostname from DHCP, VPN, etc.
1302                         If there was no automatically determined hostname, reverse DNS of
1303                         the best device's IP address will be used, and as a last resort the
1304                         hostname 'localhost.localdomain' is set.
1305                 - (update_routing_and_dns): use get_best_device(); update the system
1306                         hostname when the network config changes
1307                 - (hostname_changed): update system hostname if the system settings
1308                         service signals a hostname change
1309                 - (nm_policy_new): list for system settings service hostname changes
1310                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
1311                         gets told to die
1312
1313         * system-settings/plugins/keyfile/plugin.c
1314           system-settings/plugins/ifcfg-suse/plugin.c
1315                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
1316                         capabilities properties
1317
1318         * system-settings/plugins/ifcfg-fedora/shvar.c
1319                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
1320                         writes out /etc/sysconfig/network now
1321
1322         * system-settings/plugins/ifcfg-fedora/plugin.c
1323                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
1324                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
1325                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
1326                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
1327                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
1328                         hostname get/set and capabilities get
1329
1330 2008-09-18  Dan Williams  <dcbw@redhat.com>
1331
1332         * libnm-util/nm-setting-wireless.c
1333                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
1334                         group ciphers if the wireless-security setting explicitly specified
1335                         them, effectively making the default be "all ciphers"  (idea from
1336                         Alexander Sack)
1337
1338 2008-09-15  Dan Williams  <dcbw@redhat.com>
1339
1340         Patch from Alexander Sack <asac@ubuntu.com>
1341
1342         * src/named-manager/nm-named-manager.c
1343                 - (dispatch_resolvconf): respect resolvconf exit code
1344
1345 2008-09-12  Tambet Ingo  <tambet@gmail.com>
1346
1347         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
1348         again. Add some debugging.
1349
1350 2008-09-11  Dan Williams  <dcbw@redhat.com>
1351
1352         * system-settings/plugins/keyfile/plugin.c
1353                 - (update_connection_settings): update connection manually, since
1354                         nm_exported_connection_update() does authentication
1355                 - (dir_changed): update_connection_settings() doesn't need to return
1356                         an error
1357
1358 2008-09-09  Dan Williams  <dcbw@redhat.com>
1359
1360         * libnm-glib/nm-vpn-plugin-ui-interface.c
1361           libnm-glib/nm-vpn-plugin-ui-interface.h
1362           libnm-glib/libnm_glib_vpn.ver
1363                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
1364                         should clean up resources related to the connection (like keyring
1365                         secrets)
1366                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
1367                         should save user-scope secrets (like to the keyring)
1368
1369 2008-09-08  Dan Williams  <dcbw@redhat.com>
1370
1371         Patch from Alexander Sack <asac@ubuntu.com>
1372
1373         * libnm-util/crypto_gnutls.c
1374           libnm-util/crypto_nss.c
1375                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
1376
1377         * libnm-util/nm-utils.c
1378           libnm-util/nm-utils.h
1379           libnm-util/libnm-util.ver
1380                 - (nm_utils_init): initialize libnm-util
1381                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
1382
1383         * libnm-util/nm-setting-8021x.c
1384                 - (nm_setting_802_1x_class_init): init libnm-util when needed
1385
1386 2008-09-05  Dan Williams  <dcbw@redhat.com>
1387
1388         Patch from Roy Marples <roy@marples.name> and others
1389
1390         * configure.in
1391           src/named-manager/nm-named-manager.c
1392                 - Add support for resolvconf; use --with-resolvconf at configure time
1393                         to enable it
1394
1395 2008-09-05  Dan Williams  <dcbw@redhat.com>
1396
1397         * libnm-util/crypto_nss.c
1398           libnm-util/crypto_gnutls.c
1399           libnm-util/crypto.h
1400                 - (crypto_init): return error when init fails
1401
1402 2008-09-05  Dan Williams  <dcbw@redhat.com>
1403
1404         * libnm-glib/nm-device-wifi.c
1405                 - (access_point_removed_proxy): clean up the active access point too
1406                         just in case the active ap changed signal didn't come through yet
1407                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
1408
1409 2008-09-05  Dan Williams  <dcbw@redhat.com>
1410
1411         * libnm-glib/nm-client.c
1412                 - (constructor): get initial state after we know whether NM is running
1413                         or not
1414
1415 2008-09-05  Dan Williams  <dcbw@redhat.com>
1416
1417         * libnm-glib/nm-ip4-config.c
1418           libnm-glib/nm-dhcp4-config.c
1419                 - (finalize): clean up the DBusGProxy
1420
1421 2008-09-04  Dan Williams  <dcbw@redhat.com>
1422
1423         * src/nm-ip4-config.c
1424           src/nm-ip4-config.h
1425                 - (nm_ip4_config_new): don't export over D-Bus here
1426                 - (nm_ip4_config_export): new function; export the config over D-Bus
1427                 - (nm_ip4_config_is_exported): new function
1428
1429         * src/nm-device.c
1430                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
1431                         objects by balancing the IP4Config constructor; the device holds
1432                         a reference to the IP4Config already
1433                 - (nm_device_set_ip4_config): export the IP4Config when needed
1434
1435 2008-09-04  Dan Williams  <dcbw@redhat.com>
1436
1437         * src/supplicant-manager/nm-supplicant-settings-verify.c
1438                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
1439
1440 2008-09-04  Dan Williams  <dcbw@redhat.com>
1441
1442         * libnm-util/nm-setting-vpn.c
1443           libnm-util/nm-setting-vpn.h
1444                 - Split VPN secrets from VPN data so that settings services can actually
1445                         figure out that they are secrets and store them accordingly
1446
1447         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1448           system-settings/plugins/keyfile/reader.c
1449           system-settings/plugins/keyfile/reader.h
1450           system-settings/plugins/keyfile/writer.c
1451                 - Store VPN secrets separately from VPN data so that they can be fetched
1452                         on demand
1453                 - Implement the get_secrets() call so that (a) secrets don't leak out
1454                         to unprivileged callers, and (b) secrets can be sent to privileged
1455                         callers when needed
1456
1457         * vpn-daemons/vpnc/src/nm-vpnc-service.c
1458                 - Handle split VPN secrets
1459
1460 2008-08-27  Dan Williams  <dcbw@redhat.com>
1461
1462         * system-settings/plugins/ifcfg-fedora/reader.c
1463                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
1464
1465 2008-08-27  Dan Williams  <dcbw@redhat.com>
1466
1467         Ensure zombie children get cleaned up.  To get notifications when children
1468         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
1469         that requires calling waitpid() yourself if you've removed the child watch
1470         handler before the process has actually died, which NM needs to do in a few
1471         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
1472         cleans up after the child when required.  Should fix problems trying to
1473         activate mobile broadband connections after a previous failure.
1474
1475         * src/dhcp-manager/nm-dhcp-dhclient.c
1476           src/dhcp-manager/nm-dhcp-dhcpcd.c
1477                 - Use G_SPAWN_DO_NOT_REAP_CHILD
1478
1479         * src/dhcp-manager/nm-dhcp-manager.c
1480                 - (nm_dhcp_device_destroy): ensure child is cleaned up
1481                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
1482                         block on child quitting, since the non-blocking functionality was
1483                         never actually used
1484
1485         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1486                 - (dm_watch_cb): child is already reaped here
1487                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
1488
1489         * src/nm-device.c
1490                 - (aipd_cleanup): block until child is dead
1491
1492         * src/named-manager/nm-named-manager.c
1493                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
1494                         event bothering to watch the child
1495
1496         * src/ppp-manager/nm-ppp-manager.c
1497                 - (ppp_watch_cb): child is already reaped here
1498                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
1499
1500         * src/vpn-manager/nm-vpn-service.c
1501                 - (vpn_service_watch_cb): child is already reaped here
1502                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
1503                         status of the child is actually tracked
1504                 - (ensure_killed, finalize): block until child is dead
1505
1506 2008-08-26  Dan Williams  <dcbw@redhat.com>
1507
1508         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1509                 - (update): Update filename of the connection if the connection id
1510                         was changed
1511
1512         * system-settings/plugins/keyfile/plugin.c
1513                 - (dir_changed): first pass at handling connection renames correctly
1514
1515         * system-settings/plugins/keyfile/writer.c
1516           system-settings/plugins/keyfile/writer.h
1517                 - (write_connection): replace '/' with '*' when writing out the filename
1518                         from the connection id
1519
1520 2008-08-26  Dan Williams  <dcbw@redhat.com>
1521
1522         Add connection UUIDs, since connection names can be changed, and since
1523         old-style connection IDs could change over the life of the connection.  The
1524         UUID should be assigned at connection creation time, be stable for a given
1525         connection, and should be unique among all connections for a given settings
1526         service.
1527
1528         * configure.in
1529           libnm-util/Makefile.am
1530                 - Require libuuid
1531
1532         * introspection/nm-exported-connection.xml
1533                 - Remove "GetID" method
1534
1535         * libnm-glib/nm-dbus-connection.c
1536           libnm-glib/nm-settings.c
1537           libnm-glib/nm-settings.h
1538                 - Remove id-related stuff
1539
1540         * libnm-util/nm-utils.c
1541           libnm-util/nm-utils.h
1542           libnm-util/libnm-util.ver
1543                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
1544                         utility functions to generate UUIDs
1545
1546         * libnm-util/nm-setting-connection.c
1547           libnm-util/nm-setting-connection.h
1548                 - Add 'uuid' member to the connection setting
1549                 - (verify): require valid 'uuid' for a valid connection
1550
1551         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
1552           system-settings/plugins/ifcfg-fedora/reader.c
1553           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
1554           system-settings/plugins/ifcfg-suse/parser.c
1555           system-settings/plugins/keyfile/nm-keyfile-connection.c
1556           system-settings/src/main.c
1557                 - Remove id-related stuff
1558                 - Give connections UUIDs where needed
1559
1560 2008-08-25  Dan Williams  <dcbw@redhat.com>
1561
1562         * libnm-util/crypto_gnutls.c
1563           libnm-util/crypto_nss.c
1564                 - (crypto_init, crypto_deinit): refcount init/deinit
1565                 - (crypto_md5_hash): allow NULL salt
1566
1567 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
1568
1569         * libnm-glib/Makefile.am
1570           libnm-util/Makefile.am
1571           libnm-glib/libnm_glib.ver
1572           libnm-glib/libnm_glib_vpn.ver
1573           libnm-util/libnm-util.ver
1574                 - Use linker version scripts to control the list of exported 
1575                 symbols. List each exported symbol explicitely.
1576         * libnm-util/Makefile.am
1577                 - Fix compilation of the test-crypto binary. The crypto
1578                 functions are no longer part of the libnm-util API. Add 
1579                 crypto_*.c to test_crypto_SOURCES and link against the correct
1580                 crypto libraries.
1581
1582 2008-08-19  Dan Williams  <dcbw@redhat.com>
1583
1584         * configure.in
1585           test/Makefile.am
1586                 - Don't build test/test-common
1587                 - Remove unused stuff
1588
1589         * test/nm-set-fallback
1590           test/nmtestdevices.c
1591           test/test-common/.cvsignore
1592           test/test-common/Makefile.am
1593           test/test-common/test-common.c
1594           test/test-common/test-common.h
1595                 - delete
1596
1597 2008-08-18  Dan Williams  <dcbw@redhat.com>
1598
1599         * libnm-util/nm-utils.c
1600           libnm-util/nm-utils.h
1601                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1602                         export anything that needs to be converted with this function
1603
1604         * src/dhcp-manager/nm-dhcp-manager.c
1605                 - (garray_to_string): convert a byte array to a UTF-8 string with
1606                         minimal validation; the DHCP client sends it in ASCII anyway
1607                 - (get_option, copy_option): use garray_to_string()
1608
1609 2008-08-18  Dan Williams  <dcbw@redhat.com>
1610
1611         * include/NetworkManager.h
1612           introspection/nm-device.xml
1613                 - Add a "missing firmware" device state reason
1614
1615         * src/NetworkManagerSystem.c
1616           src/NetworkManagerSystem.h
1617                 - (nm_system_device_set_up_down): add a no_firmware argument
1618                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1619                         IFF_UP is ENOENT, that almost always means missing firmware
1620
1621         * src/backends/NetworkManagerGeneric.c
1622           src/nm-device-ethernet.c
1623           src/nm-device-private.h
1624           src/nm-device-wifi.c
1625           src/nm-device.c
1626           src/nm-device.h
1627           src/nm-hso-gsm-device.c
1628           src/vpn-manager/nm-vpn-connection.c
1629                 - Pass no_firmware along; check it where appropriate
1630
1631 2008-08-18  Dan Williams  <dcbw@redhat.com>
1632
1633         Patch from Robert Buchholz <rbu@gentoo.org>
1634
1635         * autogen.sh
1636           configure.in
1637                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1638                         1003.1-1988, allowing for file names longer than 99 characters
1639
1640 2008-08-17  Dan Williams  <dcbw@redhat.com>
1641
1642         * include/NetworkManager.h
1643           introspection/nm-device.xml
1644           src/nm-gsm-device.c
1645                 - Finer-grained GSM registration failure error codes
1646
1647 2008-08-17  Dan Williams  <dcbw@redhat.com>
1648
1649         * callouts/Makefile.am
1650           src/Makefile.am
1651                 - Move dispatcher directory creation to callouts/Makefile.am
1652
1653         * system-settings/plugins/keyfile/Makefile.am
1654                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1655
1656 2008-08-15  Dan Williams  <dcbw@redhat.com>
1657
1658         Do connection sharing in a cleaner manner; all required iptables rules
1659         are now stored in the activation request and pertain only to the device
1660         which is being shared to other computers. (rh #458625)
1661
1662         * src/nm-activation-request.c
1663           src/nm-activation-request.h
1664                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1665                         the activation request which will get torn down automatically when
1666                         the activation request dies
1667                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1668                         is started, and tear them down when sharing is stopped
1669
1670         * src/nm-device.c
1671                 - (start_sharing): start up sharing by doing the required iptables magic
1672                 - (share_init): poke the right bits of the kernel and load the right
1673                         modules for NAT
1674                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1675                         connection if it's a 'shared' connection
1676
1677         * src/NetworkManagerPolicy.c
1678                 - Remove all sharing stuff; done in the device code itself
1679
1680 2008-08-15  Dan Williams  <dcbw@redhat.com>
1681
1682         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1683                 - (create_dm_cmd_line): send the right router address
1684
1685 2008-08-15  Dan Williams  <dcbw@redhat.com>
1686
1687         * src/ppp-manager/nm-ppp-manager.c
1688                 - (pppd_timed_out): ensure timeouts fail the connection
1689
1690 2008-08-14  Dan Williams  <dcbw@redhat.com>
1691
1692         * src/nm-properties-changed-signal.c
1693           src/nm-properties-changed-signal.h
1694                 - Add a property spec flag for "don't export this property" in
1695                         property changed signals
1696
1697         * src/nm-hso-gsm-device.c
1698           src/nm-gsm-device.c
1699           src/nm-cdma-device.c
1700                 - Don't export monitor interface or netdev interface properties
1701
1702 2008-08-14  Dan Williams  <dcbw@redhat.com>
1703
1704         * src/NetworkManagerPolicy.c
1705                 - (update_routing_and_dns): 'hso' devices can be default even if they
1706                         don't have a gateway
1707
1708 2008-08-14  Dan Williams  <dcbw@redhat.com>
1709
1710         * src/nm-device.c
1711                 - (nm_device_deactivate_quickly): tear down activation request after
1712                         calling device-specific deactivation
1713
1714         * src/nm-hso-gsm-device.c
1715                 - (real_deactivate_quickly): terminate connection when deactivating
1716
1717 2008-08-14  Dan Williams  <dcbw@redhat.com>
1718
1719         * src/nm-activation-request.h
1720                 - Add HSO secrets caller
1721
1722         * src/nm-gsm-device.c
1723           src/nm-gsm-device.h
1724                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1725                         something to the callback function
1726                 - (set_apn, set_apn_done): call class dial function, not a static one
1727                 - (nm_gsm_device_class_init): add a class 'dial' function
1728
1729         * src/nm-hal-manager.c
1730                 - (get_hso_netdev): find the hso-driven hardware's net device
1731                 - (modem_device_creator): recognize hso-driven hardware and create the
1732                         right type of device object for it
1733
1734         * src/Makefile.am
1735           src/nm-hso-gsm-device.c
1736           src/nm-hso-gsm-device.h
1737                 - Implement support for devices driven by the 'hso' driver as a subclass
1738                         of NMGsmDevice
1739
1740 2008-08-14  Dan Williams  <dcbw@redhat.com>
1741
1742         * src/NetworkManagerSystem.c
1743                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1744                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1745                         success if the operation really was successful
1746
1747 2008-08-14  Dan Williams  <dcbw@redhat.com>
1748
1749         * src/nm-netlink-monitor.c
1750           src/nm-netlink-monitor.h
1751           src/nm-device-ethernet.c
1752                 - (nm_netlink_monitor_request_status): return an error on failure
1753                 - (constructor): don't segfault on missing error
1754
1755 2008-08-13  Dan Williams  <dcbw@redhat.com>
1756
1757         * callouts/nm-dispatcher-action.c
1758                 - Add IP4 config info to script environment
1759
1760 2008-08-12  Dan Williams  <dcbw@redhat.com>
1761
1762         * src/nm-device.c
1763                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1764                         that want to use DHCP hostnames should use dispatcher scripts
1765                         for that
1766
1767         * src/NetworkManagerSystem.h
1768           src/backends/NetworkManagerArch.c
1769           src/backends/NetworkManagerDebian.c
1770           src/backends/NetworkManagerFrugalware.c
1771           src/backends/NetworkManagerGeneric.c
1772           src/backends/NetworkManagerGeneric.h
1773           src/backends/NetworkManagerGentoo.c
1774           src/backends/NetworkManagerMandriva.c
1775           src/backends/NetworkManagerPaldo.c
1776           src/backends/NetworkManagerRedHat.c
1777           src/backends/NetworkManagerSlackware.c
1778           src/backends/NetworkManagerSuSE.c
1779                 - Remove nm_system_set_hostname(), no longer used
1780           
1781         * src/backends/Makefile.am
1782           src/backends/shvar.c
1783           src/backends/shvar.h
1784                 - Remove shvar.*; no longer used
1785
1786 2008-08-12  Dan Williams  <dcbw@redhat.com>
1787
1788         Revert most of the 'hostname' patch.  Too much stuff still breaks when
1789         hostname is updated at runtime.  Distros or users who want hostname updates
1790         can use dispatcher scripts to update the hostname if they need it.
1791
1792 2008-08-12  Dan Williams  <dcbw@redhat.com>
1793
1794         * introspection/nm-settings-system.xml
1795           system-settings/src/dbus-settings.c
1796           system-settings/src/dbus-settings.h
1797                 - Add a 'Hostname' property (rw) which represents the configured
1798                         hostname and domain of the system, if any
1799
1800         * system-settings/src/nm-system-config-error.c
1801           system-settings/src/nm-system-config-error.h
1802           system-settings/src/nm-system-config-interface.c
1803           system-settings/src/nm-system-config-interface.h
1804                 - Add a 'hostname' property to the plugin interface
1805                 - Add a method to send updated hostname to plugins to save in their
1806                         backing configuration store
1807
1808         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1809           system-settings/plugins/keyfile/plugin.c
1810           system-settings/plugins/keyfile/writer.c
1811           system-settings/plugins/keyfile/writer.h
1812           system-settings/plugins/ifcfg-suse/plugin.c
1813                 - Add minimal hostname support
1814
1815         * system-settings/plugins/ifcfg-fedora/plugin.c
1816                 - Add support for updating system hostname in /etc/sysconfig/network
1817
1818 2008-08-12  Dan Williams  <dcbw@redhat.com>
1819
1820         * system-settings/plugins/ifcfg-fedora/shvar.c
1821           system-settings/plugins/ifcfg-fedora/shvar.c
1822                 - Fix double-free caused by svSetValue() followed by svCloseFile()
1823
1824 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1825
1826         * Makefile.am: Fix distcheck.
1827
1828 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1829
1830         * libnm-glib/*.c. Document some more.
1831
1832 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1833
1834         Start documenting libnm-glib public API using gtk-doc.
1835
1836         * libnm-glib/nm-serial-device.c: 
1837         * libnm-glib/nm-object.c: 
1838         * libnm-glib/nm-gsm-device.c: 
1839         * libnm-glib/nm-device.c: 
1840         * libnm-glib/nm-device-wifi.c: 
1841         * libnm-glib/nm-device-ethernet.c: 
1842         * libnm-glib/nm-client.c: 
1843         * libnm-glib/nm-cdma-device.c: Document the public API.
1844
1845         * docs/libnm-glib/libnm-glib.types: Implement.
1846
1847         * docs/libnm-glib/Makefile.am: Implement.
1848
1849         * autogen.sh: 
1850         * configure.in: 
1851         * Makefile.am: Add gtk-doc support.
1852
1853 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1854
1855         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
1856
1857         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
1858         the composite result of all the IP4 configurations and call a distro
1859         specific update_resolv_conf().
1860         (update_resolv_conf): Implement one for directly writing to 
1861         /etc/resolv.conf and one for opensuse to call netconfig.
1862
1863 2008-08-11  Dan Williams  <dcbw@redhat.com>
1864
1865         * src/ppp-manager/nm-ppp-manager.c
1866                 - (impl_ppp_manager_need_secrets): pass interface as required
1867
1868 2008-08-11  Dan Williams  <dcbw@redhat.com>
1869
1870         Merge the vpn-properties setting with the vpn setting since it was pointless
1871         to keep both of them around.  Convert the vpn 'data' hash table to a hash
1872         of string:string (instead of string:variant) so that system settings plugins
1873         can have an easier time dealing with the arbitrary key/value pairs.
1874
1875 2008-08-11  Dan Williams  <dcbw@redhat.com>
1876
1877         * libnm-util/nm-utils.c
1878                 - (nm_utils_register_value_transformations): add value transform for
1879                         a hash table of string:string
1880
1881 2008-08-10  Dan Williams  <dcbw@redhat.com>
1882
1883         * libnm-glib/nm-vpn-plugin.c
1884                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
1885                         an idle handler so the Connect reply gets delivered before the
1886                         stop StateChanged signal
1887
1888 2008-08-10  Dan Williams  <dcbw@redhat.com>
1889
1890         * src/nm-ip4-config.c
1891                 - (get_property): use common ip4 address/route conversion functions
1892                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
1893                         copy the new route here, not take ownership
1894
1895 2008-08-08  Tambet Ingo  <tambet@gmail.com>
1896
1897         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
1898         Update the IP4 setting's method name.
1899
1900 2008-08-07  Dan Williams  <dcbw@redhat.com>
1901
1902         * introspection/nm-ip4-config.xml
1903           libnm-glib/libnm-glib-test.c
1904           libnm-glib/nm-ip4-config.c
1905           libnm-glib/nm-ip4-config.h
1906           src/NetworkManagerSystem.h
1907           src/backends/NetworkManagerArch.c
1908           src/backends/NetworkManagerDebian.c
1909           src/backends/NetworkManagerFrugalware.c
1910           src/backends/NetworkManagerGeneric.c
1911           src/backends/NetworkManagerGeneric.h
1912           src/backends/NetworkManagerGentoo.c
1913           src/backends/NetworkManagerMandriva.c
1914           src/backends/NetworkManagerPaldo.c
1915           src/backends/NetworkManagerRedHat.c
1916           src/backends/NetworkManagerSlackware.c
1917           src/backends/NetworkManagerSuSE.c
1918           src/dhcp-manager/nm-dhcp-manager.c
1919           src/nm-device.c
1920           src/nm-ip4-config.c
1921           src/nm-ip4-config.h
1922                 - Remove NIS logic; should be done from dispatcher scripts instead
1923
1924 2008-08-07  Dan Williams  <dcbw@redhat.com>
1925
1926         * src/dhcp-manager/nm-dhcp-manager.c
1927                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
1928                         mis-handling of DHCP responses that returned more than one router
1929                         (found by Grant Williamson)
1930
1931 2008-08-07  Dan Williams  <dcbw@redhat.com>
1932
1933         * callouts/nm-dispatcher-action.c
1934                 - (nm_dispatcher_action): grab device path and create the device; pass
1935                         the device's DHCP4 config to script caller
1936                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
1937                         scripts
1938
1939         * libnm-glib/nm-dhcp4-config.c
1940           libnm-glib/nm-dhcp4-config.h
1941                 - (nm_dhcp4_config_get_options): expose
1942                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
1943
1944 2008-08-07  Dan Williams  <dcbw@redhat.com>
1945
1946         * include/NetworkManager.h
1947                 - Add the DHCP4Config D-Bus interface
1948
1949         * libnm-glib/Makefile.am
1950           libnm-glib/nm-dhcp4-config.c
1951           libnm-glib/nm-dhcp4-config.h
1952                 - Handle DHCP4 config objects exported by NM over D-Bus
1953
1954         * libnm-glib/nm-device.c
1955           libnm-glib/nm-device.h
1956                 - Add a 'dhcp4-config' property
1957
1958         * libnm-glib/libnm-glib-test.c
1959                 - Print out DHCP4 config for devices
1960                 - Fix some crashes when no connections are active
1961
1962         * src/nm-device-interface.c
1963           src/nm-device.c
1964           src/nm-dhcp4-config.c
1965           src/nm-dhcp4-config.h
1966                 - Treat dhcp4-config object as an object path at the D-Bus interface so
1967                         that when it doesn't exist we can proxy it as "/" which dbus-glib
1968                         doesn't let us do when the property type is G_TYPE_OBJECT
1969
1970 2008-08-07  Dan Williams  <dcbw@redhat.com>
1971
1972         * src/NetworkManager.c
1973           src/NetworkManagerSystem.h
1974           src/backends/NetworkManagerArch.c
1975           src/backends/NetworkManagerDebian.c
1976           src/backends/NetworkManagerFrugalware.c
1977           src/backends/NetworkManagerGeneric.c
1978           src/backends/NetworkManagerGeneric.h
1979           src/backends/NetworkManagerGentoo.c
1980           src/backends/NetworkManagerMandriva.c
1981           src/backends/NetworkManagerPaldo.c
1982           src/backends/NetworkManagerRedHat.c
1983           src/backends/NetworkManagerSlackware.c
1984           src/backends/NetworkManagerSuSE.c
1985                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
1986
1987 2008-08-06  Dan Williams  <dcbw@redhat.com>
1988
1989         * libnm-glib/nm-ip4-config.c
1990           libnm-glib/nm-ip4-config.h
1991                 - Add 'routes' property
1992
1993         * libnm-util/nm-setting-vpn.c
1994           libnm-util/nm-setting-vpn.h
1995                 - Remove 'routes' property
1996
1997         * libnm-util/nm-setting-ip4-config.c
1998           libnm-util/nm-setting-ip4-config.h
1999                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
2000                 - Add 'ignore-auto-routes' property
2001                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
2002                         accomodate route metrics
2003                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
2004
2005         * libnm-util/nm-utils.c
2006           libnm-util/nm-utils.h
2007                 - Add helpers for marshalling IP4 routes
2008
2009         * src/NetworkManagerUtils.c
2010                 - (nm_utils_merge_ip4_config): handle property renames and new route
2011                         structure
2012
2013         * src/NetworkManagerSystem.c
2014                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
2015                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
2016
2017         * src/dhcp-manager/nm-dhcp-manager.c
2018                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
2019
2020         * system-settings/plugins/ifcfg-fedora/reader.c
2021           system-settings/plugins/ifcfg-fedora/writer.c
2022                 - Handle routes separately from addresses now that routes have a different
2023                         format
2024
2025         * introspection/nm-ip4-config.xml
2026           src/nm-ip4-config.c
2027           src/nm-ip4-config.h
2028                 - Rename internal routing functions
2029                 - 'static-routes' renamed to 'routes'
2030
2031 2008-08-04  Dan Williams  <dcbw@redhat.com>
2032
2033         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
2034
2035         * src/NetworkManager.c
2036           src/nm-manager.c
2037           src/nm-manager.h
2038                 - More explicitly make the NMManager a singleton
2039
2040 2008-08-04  Dan Williams  <dcbw@redhat.com>
2041
2042         * libnm-util/nm-connection.c
2043           libnm-util/nm-connection.h
2044                 - (nm_connection_verify): return error on missing 'connection' setting
2045                         (found by Sjoerd Simons)
2046
2047 2008-08-04  Dan Williams  <dcbw@redhat.com>
2048
2049         Handle multiple concurrent PPP connections.
2050
2051         * src/ppp-manager/nm-ppp-manager.c
2052           src/ppp-manager/nm-ppp-manager.h
2053                 - (constructor): only PPP Manager request bus name once; each
2054                         NMPPPManager object gets a unique object path
2055                 - (nm_ppp_manager_class_init, get_property, set_property,
2056                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
2057                         at construct time
2058                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
2059                         remove timeout until PPP manager gets an IP4 config
2060                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
2061                         the plugin can call back to this specific PPP manager instance
2062
2063         * src/nm-device-ethernet.c
2064           src/nm-serial-device.c
2065                 - Pass parent device in nm_ppp_manager_new()
2066
2067         * src/nm-gsm-device.c
2068           src/nm-cdma-device.c
2069                 - (device_state_changed): don't close serial device on NEED_AUTH
2070                         state changed, that's not a failure case like the rest are
2071
2072         * src/ppp-manager/nm-pppd-plugin.c
2073                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
2074                         binds one interface to any pppd process, thus the correct index
2075                         is always 0; send PHASE_DEAD on error to alert NM immediately of
2076                         problems; try harder to get a peer address in spite of pppd
2077                 - (plugin_init): use 'ipparam' as the object path back to our specific
2078                         PPP manager instance
2079
2080 2008-08-04  Dan Williams  <dcbw@redhat.com>
2081
2082         * src/ppp-manager/nm-ppp-manager.c
2083                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
2084                         since the GSM and CDMA settings now implement need_secrets, we can
2085                         rely on them to do the right thing.  Where secrets are not required,
2086                         just pass empty strings back to the pppd plugin.
2087                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
2088                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
2089                         on successful IP4 config receipt
2090
2091 2008-08-04  Dan Williams  <dcbw@redhat.com>
2092
2093         * libnm-util/nm-setting-cdma.c
2094           libnm-util/nm-setting-gsm.c
2095                 - (verify): validate username & password if they exist
2096                 - (need_secrets): if username given, require a password too
2097
2098 2008-08-04  Dan Williams  <dcbw@redhat.com>
2099
2100         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2101                 - (create_dm_cmd_line): really don't listen on lo, despite what the
2102                         manpage says about --listen-address without --interface
2103                         (bgo #546033)
2104
2105 2008-08-01  Dan Williams  <dcbw@redhat.com>
2106
2107         * libnm-glib/nm-device.c
2108                 - (proxy_get_string): util function for querying a HAL property
2109                 - (get_ancestor_device): split out from get_product_and_vendor()
2110                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
2111                         from PCI devices by querying subsys properties
2112                 - (nm_device_update_description): simplify
2113
2114 2008-08-01  Dan Williams  <dcbw@redhat.com>
2115
2116         * libnm-util/nm-setting-ip4-config.c
2117           libnm-util/nm-setting-ip4-config.h
2118                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
2119                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
2120                         settings, and they don't necessarily use DHCP.
2121
2122         * src/NetworkManagerPolicy.c
2123           src/nm-device.c
2124           system-settings/plugins/ifcfg-fedora/reader.c
2125           system-settings/plugins/ifcfg-suse/parser.c
2126                 - Fixup for method changes
2127
2128 2008-07-31  Dan Williams  <dcbw@redhat.com>
2129
2130         * src/nm-activation-request.c
2131           src/vpn-manager/nm-vpn-connection.c
2132                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
2133                         itself should be attached to the activation request or the VPN
2134                         connection, not the NMConnection object, since the call is not
2135                         expected to live as long as the NMConnection itself
2136
2137 2008-07-31  Dan Williams  <dcbw@redhat.com>
2138
2139         * src/nm-device-wifi.c
2140                 - (real_act_stage2_config): fix issue where association would continue
2141                         even though secrets were needed; 'goto out' was in wrong scope and
2142                         result of handle_auth_or_fail() should have been dumped directly to
2143                         'ret' to ensure that the association was postponed until secrets
2144                         are available
2145
2146 2008-07-31  Dan Williams  <dcbw@redhat.com>
2147
2148         * system-settings/plugins/ifcfg-fedora/plugin.c
2149           system-settings/plugins/ifcfg-fedora/reader.c
2150                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
2151                         valid NM connection
2152
2153 2008-07-29  Dan Williams  <dcbw@redhat.com>
2154
2155         * src/nm-gsm-device.c
2156                 - (automatic_registration_response, automatic_registration): recognize
2157                         denied registration and reorder responses
2158
2159 2008-07-29  Dan Williams  <dcbw@redhat.com>
2160
2161         * src/nm-serial-device.c
2162                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
2163                         time(2) is used for current time, which returns seconds, we shouldn't
2164                         be multiplying by 1000.
2165
2166 2008-07-28  Dan Williams  <dcbw@redhat.com>
2167
2168         Patch from Fabrice Bellet <fabrice@bellet.info>
2169
2170         * src/NetworkManagerSystem.c
2171                 - (route_in_same_subnet): mask addresses and compare them so that the
2172                         function actually does what it says it's going to do (rh #456685)
2173
2174 2008-07-27  Dan Williams  <dcbw@redhat.com>
2175
2176         * libnm-util/nm-setting-ip6-config.c
2177                 - (set_property): add missing break that caused routes to be overwritten
2178                         with addresses
2179
2180         * libnm-util/nm-setting-ip6-config.c
2181                 - (verify): validate routes and return GError everywhere on invalid setting
2182                 - (finalize): don't leak routes
2183                 - (set_property): add missing break that caused routes to be overwritten
2184                         with addresses
2185
2186 2008-07-27  Dan Williams  <dcbw@redhat.com>
2187
2188         * libnm-util/*
2189                 - Relicense to LGPLv2+
2190
2191 2008-07-27  Dan Williams  <dcbw@redhat.com>
2192
2193         * system-settings/plugins/ifcfg-fedora/reader.c
2194                 - (make_ip4_setting): fix parsing automatic configs
2195
2196 2008-07-27  Dan Williams  <dcbw@redhat.com>
2197
2198         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2199           src/nm-device.c
2200           src/ppp-manager/nm-ppp-manager.c
2201                 - Ensure child process gets reaped.  The child watch function may be
2202                         removed from the mainloop before the child gets killed, so we have
2203                         to make sure the child is reaped when it's told to die intentionally
2204
2205 2008-07-27  Dan Williams  <dcbw@redhat.com>
2206
2207         Patch from Roy Marples <roy@marples.name>
2208
2209         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2210                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
2211
2212 2008-07-27  Dan Williams  <dcbw@redhat.com>
2213
2214         * src/nm-gsm-device.c
2215                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
2216                         Huawei devices turn echo back on after CPIN (rh #456770)
2217
2218 2008-07-24  Tambet Ingo  <tambet@gmail.com>
2219
2220         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
2221         format argument to g_set_error() call.
2222
2223         * src/backends/interface_parser.[ch]: Remove.
2224
2225         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
2226
2227 2008-07-21  Dan Williams  <dcbw@redhat.com>
2228
2229         * src/ppp-manager/nm-ppp-manager.c
2230                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
2231                         to prevent pppd from picking up some random local address from an
2232                         interface that doesn't have anything to do with the one we're
2233                         interested in (rh #455348)
2234
2235 2008-07-17  Dan Williams  <dcbw@redhat.com>
2236
2237         * libnm-util/nm-utils.c
2238                 - (string_to_utf8): general function for conversion to UTF-8 assisted
2239                         by locale
2240                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
2241                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
2242
2243 2008-07-17  Dan Williams  <dcbw@redhat.com>
2244
2245         * introspection/Makefile.am
2246           introspection/nm-device.xml
2247           introspection/nm-dhcp4-config.xml
2248                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
2249                         itself
2250         * src/nm-device-interface.c
2251           src/nm-device-interface.h
2252                 - Add the DHCP4Config property
2253
2254         * src/nm-device.c
2255                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
2256                         D-Bus clients when it changes
2257
2258         * src/nm-dhcp4-config.c
2259           src/nm-dhcp4-config.h
2260                 - Simple object to store DHCP4 options, export them over D-Bus, and
2261                         notify when they change
2262
2263         * src/dhcp-manager/nm-dhcp-manager.c
2264           src/dhcp-manager/nm-dhcp-manager.h
2265                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
2266                         filter server-returned DHCP options into an NMDHCP4Config object
2267
2268 2008-07-16  Dan Williams  <dcbw@redhat.com>
2269
2270         * introspection/nm-device.xml
2271                 - Add device state reasons
2272
2273 2008-07-16  Dan Williams  <dcbw@redhat.com>
2274
2275         Patch from Roy Marples <roy@marples.name>
2276
2277         * configure.in
2278                 - Add --with-dhcp-client option
2279
2280         * src/dhcp-manager/Makefile.am
2281                 - pass DHCP_CLIENT_PATH on compile line
2282
2283         * src/dhcp-manager/nm-dhcp-manager.c
2284           src/dhcp-manager/nm-dhcp-manager.h
2285                 - Genericize for both dhcpcd and dhclient
2286
2287         * src/dhcp-manager/nm-dhcp-dhclient.c
2288                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
2289
2290         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2291                 - Implement support for dhcpcd too
2292
2293 2008-07-16  Tambet Ingo  <tambet@gmail.com>
2294
2295         * system-settings/src/nm-system-config-interface.c 
2296         (nm_system_config_interface_supports_add): Implement.
2297         (nm_system_config_interface_add_connection): Return a boolean to notify
2298         of errors.
2299
2300         * system-settings/src/nm-polkit-helpers.c: 
2301         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
2302         a separate file.
2303
2304         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
2305         Return an error when none of the plugins support add or if addition
2306         failed for some reason.
2307
2308         * system-settings/src/nm-system-config-error.h: 
2309         * system-settings/src/nm-system-config-error.c: New files, mostly moved
2310         here from nm-polkit-helpers.[ch].
2311
2312         * system-settings/src/Makefile.am: Build new files.
2313
2314         * system-settings/plugins/keyfile/reader.c 
2315         (read_array_of_array_of_uint): Make it more general so that it would
2316         work for routes as well.
2317
2318         * system-settings/plugins/keyfile/writer.c
2319         (write_array_of_array_of_uint): Ditto.
2320         Fix the netmask/prefix writing.
2321
2322         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
2323         boolean to notify errors.
2324
2325         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
2326         Return more specific error.
2327         (delete): Ditto.
2328
2329 2008-07-11  Dan Williams  <dcbw@redhat.com>
2330
2331         Modify the NMDevice::state-changed signal to include the previous state
2332         and reason. Enables the applet to provide more information why device
2333         activation failed.
2334
2335 2008-07-09  Dan Williams  <dcbw@redhat.com>
2336
2337         * callouts/Makefile.am
2338           callouts/nm-avahi-autoipd-action.c
2339           callouts/nm-avahi-autoipd.conf
2340                 - avahi-autoipd callout to send options back to NM
2341
2342         * src/autoip.c
2343           src/autoip.h
2344                 - remove
2345
2346         * src/nm-device.c
2347           src/nm-device-private.h
2348           src/nm-manager.c
2349                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
2350                         old custom stuff
2351
2352 2008-07-07  Dan Williams  <dcbw@redhat.com>
2353
2354         * system-settings/plugins/ifcfg-fedora/reader.c
2355                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
2356                         handle PREFIX too; clean up
2357
2358 2008-07-07  Dan Williams  <dcbw@redhat.com>
2359
2360         Convert to using IPv4 prefixes instead of netmasks.
2361
2362 2008-07-03  Dan Williams  <dcbw@redhat.com>
2363
2364         * libnm-util/nm-setting-ip4-config.c
2365           libnm-util/nm-setting-ip4-config.h
2366                 - Add properties for DHCP Client Identifier and DHCP Hostname
2367
2368         * src/dhcp-manager/nm-dhcp-manager.c
2369           src/dhcp-manager/nm-dhcp-manager.h
2370                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
2371                         setting as an argument to pass on to the dhclient config file
2372                         creation function
2373                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
2374                         DHCP is torn down
2375                 - (dhclient_run): punt config file handling to create_dhclient_config()
2376                 - (create_dhclient_config): create an interface-specific dhclient
2377                         config file since there may need to be interface-specific options
2378                         passed to dhclient
2379                 - (merge_dhclient_config): merge normal distro dhclient config file and
2380                         add options from the connection
2381                 - (nm_dhcp_device_new): generate the interface specific dhclient
2382                         config file path once
2383                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
2384                         dhclient config file path
2385
2386         * src/nm-device.c
2387                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
2388                         DHCP manager when starting DHCP
2389
2390 2008-07-02  Dan Williams  <dcbw@redhat.com>
2391
2392         * libnm-util/nm-setting-8021x.c
2393                 - (verify): allow forcing the PEAP label to 0
2394
2395 2008-07-02  Dan Williams  <dcbw@redhat.com>
2396
2397         * introspection/nm-active-connection.xml
2398           introspection/nm-vpn-connection.xml
2399           libnm-glib/nm-active-connection.c
2400           src/nm-activation-request.c
2401           src/nm-active-connection.h
2402           src/vpn-manager/nm-vpn-connection.c
2403                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
2404                         and libnm-glib API since sharing didn't get implemented that way
2405
2406 2008-07-02  Dan Williams  <dcbw@redhat.com>
2407
2408         * src/nm-device-wifi.c
2409                 - (can_scan): don't scan when a shared connection is activated since
2410                         that makes drivers mad (causing disconnects); also NM doesn't need
2411                         to hedge against disconnects by keeping up-to-date network topology
2412                         because the connection originates from the local machine, and thus
2413                         there should be no disconnects
2414
2415 2008-07-01  Dan Williams  <dcbw@redhat.com>
2416
2417         Fix mobile broadband username/password issues.  NM was never requesting
2418         mobile broadband secrets, nor was it passing back the username and password
2419         if it had them.
2420
2421         * marshallers/nm-marshal.list
2422                 - Add some new types for activation request objects
2423
2424         * src/nm-activation-request.c
2425           src/nm-activation-request.h
2426                 - (get_secrets_cb): pass the caller type in the signal
2427                 - (nm_act_request_request_connection_secrets): take a caller type, so
2428                         that GetSecrets() reply handlers know who asked for the secrets in
2429                         the first place; use secret hints too so the settings service can
2430                         figure out exactly what NM wants (ie, PIN or the PPP password)
2431
2432         * src/ppp-manager/nm-ppp-manager.c
2433           src/ppp-manager/nm-ppp-manager.h
2434                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
2435                         detect needed secrets when the secret could be blank, like GSM/CDMA
2436                         passwords.  So always ask for secrets, and send a hint as to what
2437                         secret we really want.
2438                 - (nm_ppp_manager_update_secrets): make function more generic by making
2439                         the device specific class figure out the username and password, and
2440                         accept an error argument to return back over D-Bus
2441
2442         * src/nm-device-wifi.c
2443                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2444                         nm_act_request_request_connection_secrets()
2445                 - (real_connection_secrets_updated): update for 'caller' changes
2446
2447         * src/nm-device.c
2448           src/nm-device.h
2449                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
2450                         for 'caller' changes
2451
2452         * src/nm-device-ethernet.c
2453                 - (real_connection_secrets_updated): update for 'caller' changes and
2454                         move logic for getting PPPoE username and password here before
2455                         calling nm_ppp_manager_update_secrets()
2456                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2457                         nm_act_request_request_connection_secrets()
2458
2459         * src/nm-cdma-device.c
2460                 - (real_connection_secrets_updated): pass username and password back
2461                         to the PPP manager when required
2462
2463         * src/nm-gsm-device.c
2464                 - (enter_pin): send the required secret name to the settings service
2465                 - (real_connection_secrets_updated): pass username and password back
2466                         to the PPP manager when required
2467
2468 2008-06-30  Dan Williams  <dcbw@redhat.com>
2469
2470         * src/nm-device-wifi.c
2471                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
2472
2473 2008-06-30  Dan Williams  <dcbw@redhat.com>
2474
2475         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
2476         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
2477         priv->supplicant.iface.  When either condition is false, the device should
2478         transition back to UNAVAILABLE because it cannot be used.
2479
2480         * src/nm-device-wifi.c
2481                 - (constructor): cleanup; connect to supplicant manager here since the
2482                         supplicant manager is always around
2483                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
2484                         ensure the supplicant manager is in the IDLE state
2485                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
2486                         cancel any pending scans too
2487                 - (real_bring_up): don't set up the supplicnat interface here, because
2488                         we need the supplicant interface at times when the device may not
2489                         be "up"
2490                 - (real_take_down): just remove the periodic source
2491                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
2492                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
2493                         do anything if there's no supplicant interface
2494                 - (cleanup_association_attempt): cleanup
2495                 - (supplicant_iface_state_cb_handler): request an immediate scan when
2496                         the interface enters the READY state; transition to UNAVAILABLE
2497                         state when the interface goes down because the device can't be used
2498                         without a supplicant interface
2499                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
2500                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
2501                         acquire the supplicant interface and transition to DISCONNECTED
2502                         if the radio isn't killed
2503                 - (nm_device_wifi_dispose): move most of device_cleanup() here
2504                 - (state_changed_cb): release any existing supplicant interface; if the
2505                         radio is enabled then try to acquire a new supplicant interface;
2506                         if the radio is enabled and a supplicant interface has been acquired,
2507                         we can transition to DISCONNECTED
2508                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
2509                         don't enable the radio, because HAL probably lied to us about the
2510                         killswitch being off.  If bringing the hardware up worked, then
2511                         try to grab a supplicant interface, and if that was successful,
2512                         transition to DISCONNECTED
2513
2514 2008-06-30  Dan Williams  <dcbw@redhat.com>
2515
2516         * src/supplicant-manager/nm-supplicant-interface.c
2517                 - (request_scan_results, nm_supplicant_interface_dispose,
2518                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
2519                         the id of the timeout, not a GSource
2520
2521 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2522
2523         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
2524         bunch of typoes introduced by "Patch from David Cantrell 
2525         <dcantrell@redhat.com> and me".
2526
2527 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2528
2529         * src/nm-serial-device.c: 
2530         * src/nm-gsm-device.c: 
2531         * src/nm-cdma-device.c: Move the pending call handling to a common location
2532         in serial device. Handle setting device state to failed in one place as well.
2533
2534 2008-06-29  Dan Williams <dcbw@redhat.com>
2535
2536         * src/nm-hal-manager.c
2537                 - Rework killswitch handling to query killswitch status immediately
2538                         when the first killswitch is added, so that rfkill state is
2539                         known as early as possible
2540                 - Also treat failure of GetPower() as rfkill when the dbus method
2541                         call times out (but not when the HAL callout returns an error)
2542
2543 2008-06-26  Dan Williams <dcbw@redhat.com>
2544
2545         Patch from David Cantrell <dcantrell@redhat.com> and me
2546
2547         * include/nm-dbus-glib-types.h
2548                 - Add IP6 address types
2549
2550         * libnm-util/Makefile.am
2551           libnm-util/nm-setting-ip6-config.c
2552           libnm-util/nm-setting-ip6-config.h
2553                 - Add IP6 settings object
2554
2555         * libnm-util/nm-connection.c
2556                 - (register_default_settings): register ip6 settings object
2557
2558         * libnm-util/nm-utils.c
2559           libnm-util/nm-utils.h
2560                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
2561                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
2562                         ip6 address conversion functions
2563         
2564 2008-06-26  Dan Williams <dcbw@redhat.com>
2565
2566         Patch from David Cantrell <dcantrell@redhat.com>
2567         
2568         * Use inet_ntop() and inet_pton() everwhere and check for errors
2569
2570 2008-06-26  Dan Williams <dcbw@redhat.com>
2571
2572         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
2573
2574 2008-06-26  Dan Williams <dcbw@redhat.com>
2575
2576         Patch from Adel Gadllah <adel.gadllah@gmail.com>
2577
2578         * src/nm-device-wifi.c
2579                 - (link_timeout_cb): don't ignore disconnects due to scanning
2580                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2581                         a longer timeout when scanning; avoids case where supplicant can't
2582                         find the AP and just keeps scanning forever but isn't connected
2583
2584 2008-06-26  Dan Williams <dcbw@redhat.com>
2585
2586         Patch from Michael Biebl <biebl@debian.org>
2587
2588         * Clean up build system stuff
2589
2590 2008-06-23  Christian Persch  <chpe@gnome.org>
2591
2592         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2593         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2594         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2595         (impl_get_object):
2596         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2597         (impl_get_object):
2598         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2599         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2600         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2601         (impl_get_object):
2602         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2603         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2604         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2605         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2606         * vpn-daemons/pptp/properties/vpnui_opt.c:
2607         (vpnui_opt_connect_signals):
2608         * vpn-daemons/pptp/properties/vpnui_opt.h:
2609         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2610         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2611         deprecated gtk type macros. Bug #539325.
2612
2613 2008-06-20  Dan Williams  <dcbw@redhat.com>
2614
2615         * libnm-glib/nm-vpn-plugin-ui-interface.c
2616           libnm-glib/nm-vpn-plugin-ui-interface.h
2617                 - 'validity-changed' -> 'changed' to work better with the connection
2618                         editor.  Plugin UI widgets should emit 'changed' whenever their
2619                         UI values change in a meaningful way.
2620                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2621                         update_connection member now returns validity of the UI widget
2622
2623 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2624
2625         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2626
2627 2008-06-17  Dan Williams  <dcbw@redhat.com>
2628
2629         * libnm-glib/nm-vpn-plugin-ui-interface.c
2630           libnm-glib/nm-vpn-plugin-ui-interface.h
2631                 - Add "desc" property for longer descriptions of the VPN plugin
2632
2633 2008-06-16  Dan Williams  <dcbw@redhat.com>
2634
2635         * configure.in
2636           libnm-glib/libnm_glib_vpn.pc.in
2637                 - add a .pc file for libnm_glib_vpn
2638
2639         * libnm-glib/nm-vpn-plugin-ui-interface.c
2640           libnm-glib/nm-vpn-plugin-ui-interface.h
2641                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2642                         rework it substantially
2643
2644 2008-06-12  Dan Williams  <dcbw@redhat.com>
2645
2646         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2647         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2648         returns a descriptive GError when verification fails.
2649
2650 2008-06-11  Dan Williams  <dcbw@redhat.com>
2651
2652         Patch from Tambet Ingo <tambet@gmail.com>
2653
2654         * libnm-util/nm-setting-gsm.c
2655                 - (verify): validate APN
2656
2657         * src/nm-gsm-device.c
2658                 - (manual_registration_done): start setting APN if needed
2659                 - (set_apn, set_apn_done): set the APN
2660                 - (do_dial): use the APN when dialing
2661
2662 2008-06-11  Dan Williams  <dcbw@redhat.com>
2663
2664         * src/NetworkManagerSystem.c
2665                 - (nm_system_device_set_ip4_route,
2666                    nm_system_device_replace_default_ip4_route): check for the right
2667                         return value from rtnl_route_add() to know when to add a gateway
2668                         route (from Tambet)
2669
2670 2008-06-11  Dan Williams  <dcbw@redhat.com>
2671
2672         * src/NetworkManagerPolicy.c
2673                 - do_ipt_cmd -> do_cmd
2674                 - (sharing_init): use do_cmd() instead of system()
2675
2676 2008-06-10  Dan Williams  <dcbw@redhat.com>
2677
2678         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2679         and use "wifi" everwhere instead.
2680
2681 2008-06-10  Dan Williams  <dcbw@redhat.com>
2682
2683         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2684
2685 2008-06-10  Dan Williams  <dcbw@redhat.com>
2686
2687         Patch from Tambet Ingo <tambet@gmail.com>
2688
2689         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2690                 changes.
2691
2692         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2693                 a signal to emit these changes over dbus.
2694
2695         * src/Makefile.am: Genereate nm-serial-device-glue.
2696
2697         * libnm-glib/nm-serial-device.[ch]: Implement.
2698
2699         * libnm-glib/nm-cdma-device.[ch]
2700           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2701
2702         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2703
2704         * introspection/nm-device-serial.xml: Implement.
2705
2706         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2707
2708         * introspection/Makefile.am: Add nm-device-serial.xml.
2709
2710         * include/NetworkManager.h: Add a DBus interface for serial device.
2711
2712 2008-06-10  Dan Williams  <dcbw@redhat.com>
2713
2714         * configure.in
2715                 - Add TARGET_* define to config.h to distinguish distros
2716
2717         * src/dhcp-manager/nm-dhcp-manager.c
2718                 - (dhclient_run): use distro-specific path for dhclient config file
2719
2720 2008-06-09  Dan Williams  <dcbw@redhat.com>
2721
2722         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2723           src/dnsmasq-manager/nm-dnsmasq-manager.h
2724                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2725                         calculate the addresses passed to dnsmasq instead of hard-coding
2726                         them
2727
2728         * src/nm-device.c
2729                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2730                         IP addresses for shared connections to guard against shared
2731                         connection address collisions
2732                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2733                         error conditions
2734                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2735                         the dnsmasq manager
2736
2737 2008-06-09  Dan Williams  <dcbw@redhat.com>
2738
2739         * src/NetworkManagerPolicy.c
2740                 - (update_routing_and_dns): set the default connection _after_ unsetting
2741                         default on all non-default connections so that two connections can
2742                         never be default at the same time
2743                 - (device_state_changed): start and stop connection sharing when
2744                         needed
2745                 - (active_connection_default_changed): restart or stop sharing when
2746                         the default connection changes to keep shared connections always
2747                         NAT-ed through the default connection
2748                 - (check_sharing): handle activation/deactivation of shared connections
2749                 - (sharing_restart): atom-bomb approach to connection sharing until we
2750                         can use libnl; reinit all sharing when the default connection or
2751                         shared connections change
2752                 - (sharing_init, sharing_stop): evil functions that init and deinit
2753                         iptables
2754
2755 2008-06-09  Dan Williams  <dcbw@redhat.com>
2756
2757         * src/nm-activation-request.c
2758           src/nm-activation-request.h
2759                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2760                    nm_act_request_get_device): new functions to facilitate connection
2761                         sharing
2762
2763 2008-06-09  Dan Williams  <dcbw@redhat.com>
2764
2765         * src/nm-device.c
2766                 - (clear_act_request): unset the 'default' property of the activation
2767                         request when clearing it to ensure the property changed signal gets
2768                         delivered and handled
2769
2770 2008-06-09  Dan Williams  <dcbw@redhat.com>
2771
2772         * libnm-glib/nm-device-802-11-wireless.c
2773                 - (access_point_removed_proxy): actually unref the AP after removing
2774                         it from the device's AP list.  Fixes refcounting bug for APs that
2775                         caused them to get mixed up in the applet's menu.
2776
2777 2008-06-09  Tambet Ingo  <tambet@gmail.com>
2778
2779         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
2780         (nm_dhcp_device_destroy): Destroy the device options hash table.
2781
2782 2008-06-06  Dan Williams <dcbw@redhat.com>
2783
2784         * system-settings/src/nm-polkit-helpers.c
2785                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
2786                         unref the context if the initialization fails; also avoid spew when
2787                         the error isn't set
2788
2789 2008-06-06  Dan Williams <dcbw@redhat.com>
2790
2791         Patch from Tambet Ingo  <tambet@gmail.com>
2792
2793         * src/NetworkManagerSystem.c
2794           src/NetworkManagerSystem.h
2795                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
2796                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
2797                 - (nm_system_device_set_ip4_route): clean up
2798                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
2799
2800         * src/nm-device.c
2801                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
2802
2803         * src/vpn-manager/nm-vpn-connection.c
2804                 - (ip_address_to_string): new function
2805                 - (print_vpn_config): use ip_address_to_string
2806                 - (merge_vpn_routes): add user-defined routes to the ip4 config
2807                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
2808
2809         * include/NetworkManagerVPN.h
2810                 - Add 'routes' key
2811
2812 2008-06-05  Dan Williams <dcbw@redhat.com>
2813
2814         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2815
2816         * test/nm-tool.c
2817                 - Show which device is the default device
2818
2819 2008-06-05  Tambet Ingo  <tambet@gmail.com>
2820
2821         Fix memory leaks.
2822
2823         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
2824         Free data returned from dbus method call.
2825
2826         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
2827         dbus_g_method_get_sender() returns a duplicated string, free it 
2828         when done.
2829         (check_polkit_privileges): Looks like policykit sometimes returns
2830         error and non-null return value, don't leak errors in that case.
2831
2832         * system-settings/src/main.c (find_plugin): Don't leak existing 
2833         plugin names.
2834         (load_stuff): Don't leak device list and list items.
2835         (have_connection_for_device): Don't leak connection list.
2836
2837         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
2838         Free the data received from g_keyfile_get_*.
2839
2840         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
2841         the key when the security object is updated.
2842
2843         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
2844         Free data returned from dbus method call.
2845         (iface_state_cb): Ditto.
2846         (add_network_cb): Ditto.
2847         (nm_supplicant_interface_add_cb): Don't make another copy of already
2848         duplicated object path.
2849         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
2850         when done.
2851
2852         * src/supplicant-manager/nm-supplicant-config.c 
2853         (ADD_STRING_LIST_VAL): Fix a memory leak.
2854
2855         * src/nm-manager.c (free_get_settings_info): Free the allocated
2856         memory slice.
2857         (list_connections_cb): Free data returned from dbus method call.
2858         (system_settings_get_unmanaged_devices_cb): Ditto.
2859
2860         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
2861
2862         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
2863         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
2864         * src/backends/shvar.c (svCloseFile): Free the duplicated content
2865         of the GList.
2866
2867         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
2868         arguments after the object is created.
2869
2870 2008-06-04  Dan Williams <dcbw@redhat.com>
2871
2872         * libnm-util/Makefile.am
2873                 - Don't distribute nm-param-spec-specialized.h
2874
2875 2008-06-02  Tambet Ingo  <tambet@gmail.com>
2876
2877         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
2878
2879         * src/nm-ip4-config.[ch]: Store the static routes as a list of
2880         NMIP4Address, update the getters and setters.
2881
2882         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2883         Use the updated NMIP4Config routes api.
2884
2885         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
2886         static routes as well.
2887
2888         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
2889         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
2890         routes api.
2891
2892 2008-05-30  Dan Williams <dcbw@redhat.com>
2893
2894         * src/named-manager/nm-named-manager.c
2895           src/named-manager/nm-named-manager.h
2896                 - Remove stale/obsolete bits for controlling bind over DBus
2897
2898 2008-05-29  Dan Williams <dcbw@redhat.com>
2899
2900         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2901           src/dnsmasq-manager/nm-dnsmasq-manager.h
2902                 - (nm_dnsmasq_manager_new): move iface argument here
2903                 - (constructor): remove, not needed
2904                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
2905                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
2906
2907         * src/nm-device.c
2908                 - (real_act_stage4_get_ip4_config,
2909                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
2910                         changes
2911
2912 2008-05-29  Dan Williams <dcbw@redhat.com>
2913
2914         * src/nm-device.c
2915                 - (dnsmasq_state_changed_cb): new function; fail the connection if
2916                         something happens to dnsmasq
2917                 - (nm_device_new_ip4_shared_config): new function; create a new
2918                         ip4-config for shared connections.  Shared connections always use a
2919                         fixed static IP address.
2920                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
2921                         autoip connections by actually using the returned ip4-config and
2922                         not leaking it
2923                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
2924                         connections
2925                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
2926                         if its active
2927
2928 2008-05-29  Dan Williams <dcbw@redhat.com>
2929
2930         * src/nm-device-802-11-wireless.c
2931                 - (real_get_best_auto_connection): auto-activate 'shared' method
2932                         connections too
2933
2934 2008-05-29  Dan Williams <dcbw@redhat.com>
2935
2936         * libnm-util/nm-setting-ip4-config.c
2937           libnm-util/nm-setting-ip4-config.h
2938                 - Add a 'shared' method to indicate that this connection should be
2939                         brought up with a DHCP and proxy DNS server to facilitate
2940                         connection sharing.
2941                 - (verify): 'shared' method doesn't allow DNS or searches either
2942
2943 2008-05-29  Dan Williams <dcbw@redhat.com>
2944
2945         * configure.in
2946           src/Makefile.am
2947           src/dnsmasq-manager/Makefile.am
2948           src/dnsmasq-manager/nm-dnsmasq-manager.c
2949           src/dnsmasq-manager/nm-dnsmasq-manager.h
2950                 - Add a dnsmasq daemon manager to facilitate connection sharing
2951
2952 2008-05-29  Dan Williams <dcbw@redhat.com>
2953
2954         * src/nm-device-private.h
2955                 - Remove unused prototypes and clean up
2956
2957         * src/nm-device.c
2958                 - Remove anything related to system_config_data, which is no longer used
2959                 - (nm_device_new_ip4_autoip_config): make static
2960
2961 2008-05-29  Tambet Ingo  <tambet@gmail.com>
2962
2963         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
2964         (file_changed): Fix a bug where suse system settings plugin didn't
2965         update the connections automatically when the files changed.
2966
2967 2008-05-28  Dan Williams  <dcbw@redhat.com>
2968
2969         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
2970
2971 2008-05-28  Dan Williams  <dcbw@redhat.com>
2972
2973         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2974
2975         * src/NetworkManagerSystem.c
2976                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
2977                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
2978                         was causing -EINVAL errors since the libnl code actually does flush
2979                         the routes on VPN interfaces now
2980
2981         * src/backends/NetworkManagerArch.c
2982           src/backends/NetworkManagerDebian.c
2983           src/backends/NetworkManagerFrugalware.c
2984           src/backends/NetworkManagerGeneric.c
2985           src/backends/NetworkManagerGentoo.c
2986           src/backends/NetworkManagerMandriva.c
2987           src/backends/NetworkManagerPaldo.c
2988           src/backends/NetworkManagerRedHat.c
2989           src/backends/NetworkManagerSlackware.c
2990           src/backends/NetworkManagerSuSE.c
2991                 - (nm_system_device_flush_ip4_routes,
2992                    nm_system_device_flush_ip4_routes_with_iface): remove
2993
2994 2008-05-28  Dan Williams  <dcbw@redhat.com>
2995
2996         * libnm-util/nm-setting-wireless.c
2997           libnm-util/nm-setting-wireless.h
2998                 - (set_property, get_property, nm_setting_wireless_class_init): add the
2999                         'adhoc-create' property, which when TRUE indicates that NM should
3000                         create this connection as an adhoc wifi network if it's not found
3001                         as an adhoc network during scanning.  Can be used to auto-create
3002                         adhoc networks when used in combination with autoconnect.
3003
3004 2008-05-28  Tambet Ingo  <tambet@gmail.com>
3005
3006         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
3007
3008         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
3009         checked, it doesn't work on some devices.
3010
3011 2008-05-28  Tambet Ingo  <tambet@gmail.com>
3012
3013         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
3014         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
3015
3016         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
3017         Use inet_aton() everywhere to improve error detection.
3018         Don't fall back to 'dhcp_server_identifier' if the gateway is not
3019         provided.
3020
3021 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3022
3023         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
3024         Fix a typo.
3025
3026 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3027
3028         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
3029         reference counting issue.
3030
3031 2008-05-23  Dan Williams  <dcbw@redhat.com>
3032
3033         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3034
3035         * src/backends/NetworkManagerGeneric.c
3036                 - (nm_generic_enable_loopback): use libnl
3037
3038 2008-05-23  Dan Williams  <dcbw@redhat.com>
3039
3040         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3041
3042         * src/NetworkManagerSystem.h
3043           src/backends/NetworkManagerArch.c
3044           src/backends/NetworkManagerDebian.c
3045           src/backends/NetworkManagerFrugalware.c
3046           src/backends/NetworkManagerGentoo.c
3047           src/backends/NetworkManagerMandriva.c
3048           src/backends/NetworkManagerPaldo.c
3049           src/backends/NetworkManagerRedHat.c
3050           src/backends/NetworkManagerSlackware.c
3051           src/backends/NetworkManagerSuSE.c
3052                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
3053                    nm_system_flush_arp_cache): remove, unused
3054
3055         * src/backends/NetworkManagerGeneric.c
3056           src/backends/NetworkManagerGeneric.h
3057                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
3058                    nm_generic_flush_arp_cache): remove, unused
3059
3060 2008-05-23  Dan Williams  <dcbw@redhat.com>
3061
3062         * system-settings/plugins/ifcfg-fedora/reader.c
3063                 - (make_ip4_setting): honor PEERDNS setting
3064
3065 2008-05-23  Dan Williams  <dcbw@redhat.com>
3066
3067         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3068
3069         * src/NetworkManagerSystem.c
3070                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
3071                         libnl
3072
3073         * src/backends/NetworkManagerArch.c
3074           src/backends/NetworkManagerDebian.c
3075           src/backends/NetworkManagerFrugalware.c
3076           src/backends/NetworkManagerGentoo.c
3077           src/backends/NetworkManagerMandriva.c
3078           src/backends/NetworkManagerPaldo.c
3079           src/backends/NetworkManagerRedHat.c
3080           src/backends/NetworkManagerSlackware.c
3081           src/backends/NetworkManagerSuSE.c
3082                 - (nm_system_device_flush_ip4_addresses,
3083                    nm_system_device_flush_ip4_addresses_with_iface): remove
3084
3085         * src/backends/NetworkManagerGeneric.c
3086                 - (nm_generic_device_flush_ip4_addresses,
3087                    nm_generic_device_flush_ip4_addresses_with_iface): remove
3088
3089 2008-05-23  Dan Williams  <dcbw@redhat.com>
3090
3091         * src/supplicant-manager/nm-supplicant-settings-verify.c
3092                 - Switch 'bssid' from bytes to keyword type
3093                 - (validate_type_keyword): allow NULL keyword lists
3094
3095         * src/supplicant-manager/nm-supplicant-config.c
3096                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
3097                         a byte array to string form, which is what the supplicant expects
3098
3099 2008-05-23  Tambet Ingo  <tambet@gmail.com>
3100
3101         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
3102         information received from DHCP.
3103
3104         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
3105         to make it possible to ignore the DNS information (both servers and 
3106         searches) returned by DHCP server.
3107
3108         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
3109         name servers and searches if "ignore_dhcp_dns" is set.
3110
3111         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
3112         (nm_ip4_config_reset_searches): Implement.
3113
3114 2008-05-22  Dan Williams  <dcbw@redhat.com>
3115
3116         Remove anything mDNS related.  This is better done from a distro-specific
3117         dispatcher script.  Plus, any distro using avahi doesn't need to restart
3118         avahi, since avahi can handle interface changes just fine using netlink.
3119
3120         * configure.in
3121                 - Remove --with-mdns-provider
3122
3123         * src/NetworkManagerPolicy.c
3124                 - (global_state_changed): don't restart the mdns provider
3125
3126         * src/NetworkManagerSystem.h
3127           src/backends/NetworkManagerArch.c
3128           src/backends/NetworkManagerDebian.c
3129           src/backends/NetworkManagerFrugalware.c
3130           src/backends/NetworkManagerGentoo.c
3131           src/backends/NetworkManagerMandriva.c
3132           src/backends/NetworkManagerPaldo.c
3133           src/backends/NetworkManagerRedHat.c
3134           src/backends/NetworkManagerSlackware.c
3135           src/backends/NetworkManagerSuSE.c
3136                 - (nm_system_restart_mdns_responder): remove
3137
3138         * src/backends/NetworkManagerGeneric.c
3139           src/backends/NetworkManagerGeneric.h
3140                 - (nm_generic_restart_mdns_responder): remove
3141
3142 2008-05-22  Dan Williams  <dcbw@redhat.com>
3143
3144         * configure.in
3145                 - clean up crypto options; just use --with-crypto=nss or
3146                         --with-crypto=gnutls
3147
3148 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3149
3150         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
3151         anymore, do it right away.
3152
3153 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3154
3155         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
3156         serial device open when we're not connecting or connected.
3157
3158         * src/nm-cdma-device.c (device_state_changed): Ditto.
3159
3160 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3161
3162         Don't remove all devices on waking up, sync with HAL.
3163
3164         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
3165         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
3166         (hal_manager_hal_reappeared_cb): Just call sync_devices.
3167
3168 2008-05-21  Tambet Ingo  <tambet@gmail.com>
3169
3170         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
3171         If the default gateway is unreachable, add a route to gateway and try
3172         again.
3173
3174 2008-05-20  Dan Williams  <dcbw@redhat.com>
3175
3176         * system-settings/plugins/ifcfg-fedora/reader.c
3177                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
3178
3179 2008-05-19  Dan Williams  <dcbw@redhat.com>
3180
3181         * system-settings/plugins/ifcfg-fedora/reader.c
3182                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
3183                         if the ifcfg doesn't specify one (rh #446527)
3184
3185 2008-05-19  Dan Williams  <dcbw@redhat.com>
3186
3187         Make the system settings service exit when the bus goes away.  Since it's
3188         a bus-activated service, it's lifetime is limited to the bus that activated
3189         it (rh #444976).
3190
3191         * system-settings/src/Makefile.am
3192           system-settings/src/nm-system-config-hal-manager-private.h
3193                 - Remove nm-system-config-hal-manager-private.h
3194
3195         * system-settings/src/nm-system-config-hal-manager.c
3196                 - (nm_system_config_hal_manager_reinit_dbus,
3197                    nm_system_config_hal_manager_deinit_dbus): remove
3198
3199         * system-settings/src/main.c
3200                 - (dbus_reconnect): remove
3201                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
3202                 - (destroy_cb): just quit when the bus goes away
3203                 - (start_dbus_service, dbus_init): simplify
3204                 - (main): destroy the wired devices hash table after destroying
3205                         the HAL manager so we don't have to disconnect signals from the
3206                         HAL manager
3207
3208 2008-05-15  Tambet Ingo  <tambet@gmail.com>
3209
3210         Move crypto functions from nm-applet to libnm-util.
3211
3212         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
3213         (nm_setting_802_1x_set_client_cert)
3214         (nm_setting_802_1x_set_phase2_ca_cert)
3215         (nm_setting_802_1x_set_phase2_client_cert)
3216         (nm_setting_802_1x_set_private_key)
3217         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
3218         file (or private key and it's password), read the certificate data.
3219
3220         * libnm-util/crypto_nss.c: 
3221         * libnm-util/crypto_gnutls.c: 
3222         * libnm-util/crypto.[ch]: Move here from nm-applet.
3223
3224         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
3225
3226         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
3227         Imlement WPA-EAP configuration reading from sysconfig.
3228
3229 2008-05-16  Dan Williams  <dcbw@redhat.com>
3230
3231         * src/nm-device-802-11-wireless.c
3232                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
3233                         wireless
3234
3235 2008-05-14  Dan Williams  <dcbw@redhat.com>
3236
3237         Fix Linus' bug in rh #134886
3238
3239         * src/nm-device-802-3-ethernet.c
3240                 - (constructor): request initial carrier state
3241
3242         * src/nm-netlink-monitor.c
3243                 - (nm_netlink_monitor_request_status): schedule emission of carrier
3244                         signals after refilling the link cache.  Because the refill is a 
3245                         synchronous operation, the normal message hander won't get called
3246                         since libnl has already consumed the messages.
3247                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
3248
3249 2008-05-14  Dan Williams  <dcbw@redhat.com>
3250
3251         * src/NetworkManagerSystem.c
3252                 - (nm_system_device_is_up_with_iface): clean up
3253
3254 2008-05-13  Dan Williams  <dcbw@redhat.com>
3255
3256         Fix refcounting issues over sleep/wake when a VPN connection was active that
3257         caused NM to try registering an object path for a device upon wake that was
3258         the same as an already registered object path.
3259
3260         * src/nm-device.c
3261                 - (nm_device_take_down): properly handle cases where the device is
3262                         no longer active but was just active, and therefore must be
3263                         deactivated.  When a device moves to unmanaged mode, this function
3264                         previously would not deactivate the device, because the state was
3265                         already unmanaged by the time this function was called.
3266
3267         * src/vpn-manager/nm-vpn-connection.c
3268                 - (device_state_changed): properly handle multiple devices states in
3269                         which the device is now deactivated.  Code previously didn't handle
3270                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
3271                         UNMANAGED states.
3272
3273 2008-05-13  Dan Williams  <dcbw@redhat.com>
3274
3275         * src/nm-device-private.h
3276           src/nm-device.c
3277                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
3278
3279         * src/nm-device-802-11-wireless.c
3280                 - (nm_device_802_11_wireless_set_enabled): take devices up
3281                         and down as appropriate for the rfkill state
3282
3283 2008-05-13  Dan Williams  <dcbw@redhat.com>
3284
3285         * marshallers/nm-marshal.list
3286                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
3287
3288         * system-settings/plugins/ifcfg-fedora/Makefile.am
3289           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
3290           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
3291                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
3292                         events.  Solely for use watching ifcfg files to pick up changes
3293                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
3294
3295         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3296                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
3297                         file contents change
3298                 - (finalize): clean up inotify watches
3299                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
3300                         and the connection ifcfg for changes on their hardlinks
3301                 - (files_changed_cb): proxy the changed signal back out to listeners
3302
3303         * system-settings/plugins/ifcfg-fedora/plugin.c
3304                 - (dir_changed): 
3305                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
3306                         changes
3307                 - (read_one_connection): connect to change signals on the new connection
3308                 - (dir_changed, connection_changed_handler,
3309                    handle_connection_remove_or_new): break out connection change
3310                         handling and connection new/remove handling so it can be used from
3311                         both the GFileMonitor callback and the NMIfcfgConnection changed
3312                         signals
3313
3314         * system-settings/plugins/ifcfg-fedora/reader.c
3315           system-settings/plugins/ifcfg-fedora/reader.h
3316                 - (connection_from_file): return the keyfile path the connection would use
3317
3318 2008-05-13  Tambet Ingo  <tambet@gmail.com>
3319
3320         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
3321         single PolKitContext which is shared by all. PolKitContext::unref leaks
3322         just about everything, including all open file descriptiors and results
3323         in 99% cpu usage when data arrives to any of the fds that don't belong
3324         to any context anymore.
3325
3326 2008-05-12  Dan Williams  <dcbw@redhat.com>
3327
3328         * gfilemonitor/glocaldirectorymonitor.c
3329           gfilemonitor/glocaldirectorymonitor.h
3330                 - (g_local_directory_monitor_constructor): actually subscribe to the
3331                         watch
3332                 - (_g_local_directory_monitor_new): ensure that inotify is started up
3333
3334         * gfilemonitor/glocalfilemonitor.c
3335           gfilemonitor/glocalfilemonitor.h
3336                 - (g_local_file_monitor_constructor): actually subscribe to the watch
3337                 - (_g_local_file_monitor_new): ensure that inotify is started up
3338
3339 2008-05-11  Dan Williams  <dcbw@redhat.com>
3340
3341         * configure.in
3342                 - record PolicyKit version
3343
3344         * system-settings/src/nm-polkit-helpers.c
3345                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
3346                         with PolicyKit <= 0.6
3347
3348 2008-05-11  Dan Williams  <dcbw@redhat.com>
3349
3350         Update Fedora system-settings plugin to support latest API and use
3351         GFileMonitor rather than home-rolled inotify code.
3352
3353         * system-settings/plugins/ifcfg-fedora/Makefile.am
3354           system-settings/plugins/ifcfg-fedora/common.h
3355           system-settings/plugins/ifcfg-fedora/plugin.c
3356                 - Update to latest system settings plugin API; use GIO instead of
3357                         custom inotify code; use NMIfcfgConnection objects instead of
3358                         ConnectionData structures tacked onto NMConnection objects
3359
3360         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3361           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
3362                 - Implement an NMExportedConnection subclass mapping ifcfg files to
3363                         connections
3364
3365         * system-settings/plugins/ifcfg-fedora/reader.c
3366           system-settings/plugins/ifcfg-fedora/reader.h
3367                 - Move ifcfg parsing bits here from parser.c
3368
3369         * system-settings/plugins/ifcfg-fedora/parser.c
3370           system-settings/plugins/ifcfg-fedora/parser.h
3371                 - Remove; most code moved to reader.c
3372
3373 2008-05-11  Dan Williams  <dcbw@redhat.com>
3374
3375         * configure.in
3376           Makefile.am
3377           gfilemonitor/*
3378                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
3379                         implementation, so that the same change monitoring code can be used
3380                         on systems without glib-2.14 (like Fedora 8)
3381
3382         * system-settings/plugins/keyfile/Makefile.am
3383           system-settings/plugins/keyfile/plugin.c
3384           system-settings/plugins/ifcfg-suse/Makefile.am
3385           system-settings/plugins/ifcfg-suse/plugin.c
3386                 - Use private gfilemonitor code if GIO is not present
3387
3388 2008-05-09  Tambet Ingo  <tambet@gmail.com>
3389
3390         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
3391         NMExportedConnection's 'update' and 'delete' and return error with
3392         descriptive message.
3393
3394 2008-05-08  Dan Williams  <dcbw@redhat.com>
3395
3396         Patch from Markus Becker <mab@comnets.uni-bremen.de>
3397
3398         * src/nm-gsm-device.c
3399           src/nm-cdma-device.c
3400                 - (real_get_best_auto_connection): implement; allow autoconnection
3401                         to GSM & CDMA devices
3402
3403 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3404
3405         Use PolicyKit to authorize the system settings' AddConnection method
3406         and the system settings connections' Update and Delete methods.
3407         
3408         * libnm-glib/nm-settings.c (impl_exported_connection_update)
3409         (impl_exported_connection_delete, nm_exported_connection_update)
3410         (nm_exported_connection_delete): Return boolean and fill GError
3411         to notify the callers of the reasons why it might have failed.
3412
3413         * libnm-glib/nm-dbus-settings-system.c
3414         (nm_dbus_settings_system_add_connection): Return the error from dbus
3415         call so that the callers can see why it failed.
3416
3417         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
3418         signatures.
3419
3420         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
3421
3422         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
3423         abstract base class that checks PolicyKit permissions.
3424
3425         * system-settings/src/dbus-settings.c:
3426         (impl_settings_add_connection): Check the policy before carring out
3427         the request.
3428
3429         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
3430         Inherit from NMSysconfigConnection, check the policies before
3431         allowing updating or removing.
3432
3433         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
3434         Inherit from NMSysconfigConnection.
3435
3436         * introspection/nm-exported-connection.xml: Annotate "Update" and 
3437         "Delete" methods with async flag so that the implementations can get
3438         access to DBusGMethodInvocation.
3439
3440         * system-settings/src/dbus-settings.c 
3441         (settings_add_connection_check_privileges): Implement.
3442         (impl_settings_add_connection): Check the privileges before adding a new
3443         connection. Improve error reporting.
3444
3445         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
3446         async so that the implementation can access DBusGMethodInvocation.
3447
3448         * configure.in: Check for PolicyKit.
3449
3450         * policy/org.freedesktop.network-manager-settings.system.policy: 
3451         New file.
3452
3453         * policy/Makefile.am: Install the policy file.
3454
3455         * configure.in: Add 'policy' subdir.
3456
3457 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3458
3459         Rewrite the suse system settings plugin.
3460
3461         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
3462
3463         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
3464
3465         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
3466
3467         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
3468
3469         * system-settings/src/dbus-settings.c: Fix connection reference counting.
3470
3471         * system-settings/src/main.c (load_plugins): Improve error reporting.
3472
3473         * system-settings/src/sha1.[ch] Add.
3474
3475         * system-settings/src/Makefile.am: Add sha1[ch] to build.
3476
3477 2008-05-07  Dan Williams  <dcbw@redhat.com>
3478
3479         * system-settings/plugins/keyfile/reader.c
3480                 - (read_one_setting_value): handle IP address items separately
3481                 - (read_array_of_uint): read IPv4 DNS option as a string array
3482                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
3483                         array
3484
3485         * system-settings/plugins/keyfile/writer.c
3486                 - (write_setting_value): handle IP address items separately
3487                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
3488                         not an array of uint, so that it's user-editable
3489                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
3490                         arrays, so they are user-editable
3491
3492 2008-05-07  Dan Williams  <dcbw@redhat.com>
3493
3494         * system-settings/plugins/keyfile/Makefile.am
3495                 - Change location of the keyfile plugin settings to
3496                         /etc/NetworkManager/system-connections
3497
3498 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3499
3500         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
3501
3502         * system-settings/plugins/keyfile/plugin.c: Work with
3503         NMKeyfileConnections.
3504
3505         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
3506         Plugins are supposed to return NMExportedConnections now and handle the
3507         updated(), removed(), and GetSecrets().
3508         Store the internal list of connections in hash table to make it easier
3509         to find duplicates.
3510
3511 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3512
3513         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
3514         for multiple IP addresses.
3515
3516 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3517
3518         Patch from André Lemos.
3519
3520         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
3521         corruption.
3522
3523 2008-05-06  Dan Williams  <dcbw@redhat.com>
3524
3525         * src/dhcp-manager/nm-dhcp-manager.c
3526                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
3527                         NMIP4Config to support multiple IP addresses
3528
3529         * src/NetworkManagerUtils.c
3530                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
3531
3532         * src/nm-ip4-config.c
3533           src/nm-ip4-config.h
3534                 - Store a list of IPv4 address/netmask/gateway tuples
3535                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
3536                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
3537                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
3538                    nm_ip4_config_set_address): remove
3539                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
3540                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
3541                         new functions; handle multiple IPv4 addresses
3542
3543         * src/nm-device.c
3544           src/ppp-manager/nm-ppp-manager.c
3545           src/vpn-manager/nm-vpn-connection.c
3546           src/NetworkManagerPolicy.c
3547           test/nm-tool.c
3548           libnm-glib/libnm-glib-test.c
3549                 - update for changes to NMIP4Config for multiple IPv4 addresses
3550
3551         * src/NetworkManagerSystem.c
3552                 - (nm_system_device_set_ip4_route): don't add the route if any address
3553                         is on the same subnet as the destination
3554                 - (check_one_address): ignore the exact match, just match family and
3555                         interface index
3556                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
3557                         an interface
3558                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
3559                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
3560
3561         * introspection/nm-ip4-config.xml
3562                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
3563                 - Add 'addresses' property which is an array of (uuu) tuples of
3564                         address/netmask/gateway
3565
3566         * libnm-util/nm-setting-ip4-config.c
3567                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
3568
3569         * libnm-glib/nm-ip4-config.c
3570           libnm-glib/nm-ip4-config.h
3571                 - Handle D-Bus interface changes to support multiple IP addresses
3572
3573 2008-05-06  Dan Williams  <dcbw@redhat.com>
3574
3575         * libnm-util/nm-utils.c
3576           libnm-util/nm-utils.h
3577                 - (nm_utils_ip4_addresses_from_gvalue,
3578                    nm_utils_ip4_addresses_to_gvalue): new functions
3579
3580 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3581
3582         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3583         the returned connection paths.
3584
3585 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3586
3587         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3588         "PropertiesChanged" signal signature.
3589
3590         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3591         defined in nm-dbus-glib-types.h.
3592         Don't register the connection on dbus, we're a proxy class to 
3593         communicate with an already registered connection over dbus.
3594
3595 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3596
3597         Implement new subclasses of NMSettings and NMExportedConnection to make
3598         it easier for the applet to access and modify system settings.
3599
3600         * libnm-glib/nm-dbus-connection.[ch]:
3601         * libnm-glib/nm-dbus-settings.[ch]:
3602         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3603
3604         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3605         bindings and glue.
3606
3607         * include/NetworkManager.h: Define the system settings DBus interface.
3608
3609 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3610
3611         Implement additional C API for exported connections to make them identical
3612         with the DBus API. Change the (list_connections) virtual function to be
3613         more usable from C - instead of requiring implementers to return a GPtrArray
3614         of dbus paths, return a list of connections.
3615
3616         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3617         (nm_settings_list_connections):
3618         (nm_exported_connection_new):
3619         (nm_exported_connection_update):
3620         (nm_exported_connection_delete): Implement.
3621
3622         (impl_settings_list_connections):
3623         (impl_exported_connection_update):
3624         (impl_exported_connection_delete): Use the new public functions to make 
3625         sure the C and dbus interfaces stay in sync.
3626
3627         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3628         connections.
3629
3630 2008-05-02  Dan Williams  <dcbw@redhat.com>
3631
3632         * system-settings/plugins/ifcfg-fedora/plugin.c
3633                 - (dispose): use right unref call on the DBusGConnection
3634
3635 2008-05-02  Dan Williams  <dcbw@redhat.com>
3636
3637         * src/nm-serial-device.c
3638                 - (find_terminator): don't compare the whole line, just the size of the
3639                         terminator, since some modems put stuff after the terminator, like
3640                         "CONNECT 9600"
3641
3642 2008-05-01  Dan Williams  <dcbw@redhat.com>
3643
3644         Patch from Michael Biebl <biebl@debian.org>
3645
3646         * callouts/Makefile.am
3647           callouts/org.freedesktop.nm_dispatcher.service.in
3648           system-settings/src/Makefile.am
3649           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3650                 - use the right install location for dbus-activated stuff
3651
3652 2008-04-30  Dan Williams  <dcbw@redhat.com>
3653
3654         * src/nm-gsm-device.c
3655                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3656                         PIN or PUK
3657
3658 2008-04-30  Dan Williams  <dcbw@redhat.com>
3659
3660         * src/nm-manager.c
3661                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3662
3663 2008-04-30  Dan Williams  <dcbw@redhat.com>
3664
3665         * src/nm-device-802-3-ethernet.c
3666           src/nm-device-802-11-wireless.c
3667                 - (real_is_up): return true instead of chaining up to unimplemented
3668                         parent method
3669
3670 2008-04-30  Dan Williams  <dcbw@redhat.com>
3671
3672         * src/NetworkManagerSystem.c
3673           src/NetworkManagerSystem.h
3674                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3675                         functions to check device flags for IFF_UP
3676
3677         * src/nm-serial-device.c
3678                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3679                         implement is_up
3680
3681         * src/nm-device-802-3-ethernet.c
3682           src/nm-device-802-11-wireless.c
3683                 - (real_hw_is_up): call nm_system_device_is_up()
3684
3685         * src/nm-device.c
3686                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3687                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3688                         does not implement
3689
3690 2008-04-29  Dan Williams  <dcbw@redhat.com>
3691
3692         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3693
3694         * marshallers/nm-marshal.list
3695                 - Add marshaller
3696
3697         * src/NetworkManager.c
3698                 - (main): let the NMManager handle the NMHalManager
3699
3700         * src/nm-hal-manager.c
3701           src/nm-hal-manager.h
3702                 - convert to a GObject, and emit singals when stuff changes.  Let the
3703                         NMManager handle the signals, instead of the NMHalManager calling
3704                         into the NMManager.  
3705
3706         * src/nm-manager.c
3707           src/nm-manager.h
3708                 - (remove_one_device): consolidate device removals here
3709                 - (dispose): use remove_one_device()
3710                 - (nm_manager_get_device_by_udi): make static
3711                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3712                         manager for devices at startup or wakeup time
3713                 - (nm_manager_new): create and monitor the HAL manager
3714                 - (hal_manager_udi_added_cb): new function; do what
3715                         nm_manager_add_device() used to do when signalled by the hal manager
3716                 - (hal_manager_udi_removed_cb): new function; do what
3717                         nm_manager_remove_device() used to do when signalled by the hal
3718                         manager
3719                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3720                         hal manager
3721                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3722                         in our device list that aren't known to HAL
3723                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3724                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3725                         commits ago
3726                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3727                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3728                    nm_manager_wireless_hardware_enabled,
3729                    nm_manager_set_wireless_hardware_enabled): remove, unused
3730
3731 2008-04-28  Dan Williams  <dcbw@redhat.com>
3732
3733         Fix the device up/down ambiguities.  Up/down state used to be a
3734         conglomeration of hardware state (IFF_UP) and any device-specific things
3735         (supplicant, periodic timers, etc) that the device used to indicate
3736         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3737         reason, then the device specific stuff wouldn't get run, and the device
3738         would be stuck.
3739
3740         * src/nm-device.c
3741           src/nm-device.h
3742                 - Create hw_is_up, hw_bring_up, and hw_take_down
3743                 - Rename bring_down -> take_down
3744                 - (real_hw_is_up): check interface flags for IFF_UP
3745                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3746                 - (nm_device_is_up): make static; only used locally
3747                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3748                         if the device is already up; if the device isn't up, bring it up
3749                 - (nm_device_hw_take_down): just take down hardware
3750                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3751                 - (nm_device_take_down): always deactivate device when called; always
3752                         try to take hardware down too
3753                 - (nm_device_state_changed): take device down when entering unmanaged
3754                         state from a higher state
3755
3756         * src/nm-device-802-11-wireless.c
3757                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3758                         check IFF_UP really
3759                 - (real_take_down, supplicant_iface_state_cb_handler, 
3760                    supplicant_iface_connection_state_cb_handler,
3761                    supplicant_mgr_state_cb_handler): fix some messages
3762
3763         * src/nm-device-802-3-ethernet.c
3764                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3765                         check IFF_UP really
3766
3767 2008-04-28  Dan Williams  <dcbw@redhat.com>
3768
3769         * src/nm-manager.c
3770           src/nm-manager.h
3771                 - (nm_manager_error_get_type): add new error
3772                 - (nm_manager_remove_device): don't bother taking down the device here,
3773                         the state change from unmanaging the device will do it
3774                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
3775                         uses it; when going to sleep, just unmanage the device instead of
3776                         taking it down, because stuff will cleaned up correctly when the
3777                         device gets unmanaged
3778
3779 2008-04-28  Dan Williams  <dcbw@redhat.com>
3780
3781         * src/nm-hal-manager.c
3782                 - (add_initial_devices): convert to a GSourceFunc prototype
3783                 - (nm_manager_state_changed): when coming out of sleep, punt the
3784                         device re-addition to an idle handler to let D-Bus events go out
3785                         first, fixing a potential dbus-glib assert if the old device was
3786                         not yet disposed (due to references held while emitting the D-Bus
3787                         signals) but the new device was found, because the mainloop didn't
3788                         run between signal emission and add_initial_devices()
3789
3790 2008-04-27  Dan Williams  <dcbw@redhat.com>
3791
3792         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3793
3794         * initscript/paldo/NetworkManager.in
3795           initscript/SUSE/networkmanager.in
3796                 - Remove last bits of dhcdbd
3797
3798 2008-04-27  Dan Williams  <dcbw@redhat.com>
3799
3800         * src/nm-device-802-11-wireless.c
3801                 - (link_timeout_cb): don't ask for secrets when disconnected during
3802                         association/authentication phase, drivers are still just too crappy
3803
3804 2008-04-27  Dan Williams  <dcbw@redhat.com>
3805
3806         * Makefile.am
3807           configure.in
3808           dispatcher-daemon/Makefile.am
3809           dispatcher-daemon/NetworkManagerDispatcher.c
3810           initscript/Arch/Makefile.am
3811           initscript/Arch/networkmanager-dispatcher.in
3812           initscript/Gentoo/Makefile.am
3813           initscript/Gentoo/NetworkManagerDispatcher.in
3814           initscript/Mandriva/Makefile.am
3815           initscript/Mandriva/networkmanagerdispatcher.in
3816           initscript/RedHat/Makefile.am
3817           initscript/RedHat/NetworkManagerDispatcher.in
3818           initscript/SUSE/Makefile.am
3819           initscript/SUSE/networkmanager-dispatcher.in
3820           initscript/Slackware/Makefile.am
3821           initscript/Slackware/rc.networkmanager-dispatcher.in
3822           initscript/paldo/Makefile.am
3823           initscript/paldo/NetworkManagerDispatcher.in
3824           man/Makefile.am
3825           man/NetworkManagerDispatcher.8.in
3826                 - Remove the dispatcher daemon
3827
3828 2008-04-27  Dan Williams  <dcbw@redhat.com>
3829
3830         * callouts/Makefile.am
3831           callouts/nm-dispatcher-action.c
3832           callouts/nm-dispatcher-action.h
3833           callouts/nm-dispatcher.conf
3834           callouts/nm-dispatcher.xml
3835           callouts/org.freedesktop.nm_dispatcher.service
3836                 - Re-implement the dispatcher as a system-bus activated service that
3837                         NM calls on-demand, rather than an always running daemon
3838
3839         * src/Makefile.am
3840                 - Add callouts dir to includes to pick up dispatcher defines
3841
3842         * src/nm-device.c
3843                 - (nm_device_state_changed): call dispatcher on device activated/
3844                         deactivated
3845
3846         * src/vpn-manager/nm-vpn-connection.c
3847                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
3848                         go up and down
3849
3850         * src/NetworkManagerUtils.c
3851           src/NetworkManagerUtils.h
3852                 - (nm_utils_call_dispatcher): helper to call dispatcher
3853
3854 2008-04-27  Dan Williams  <dcbw@redhat.com>
3855
3856         * src/NetworkManagerUtils.c
3857           src/NetworkManagerUtils.h
3858                 - remove unneeded includes
3859                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
3860                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
3861                    nm_timeval_cmp, nm_timeval_add): remove, unused
3862                 - clean up formatting
3863                 - (nm_spawn_process): de-uglify
3864
3865         * src/nm-device-802-11-wireless.c
3866                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
3867
3868 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
3869
3870         * initscript/Gentoo/NetworkManager.in:
3871                 Fix for starting the daemon.
3872
3873 2008-04-25  Dan Williams  <dcbw@redhat.com>
3874
3875         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3876
3877         * src/NetworkManagerSystem.c
3878                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
3879
3880 2008-04-25  Dan Williams  <dcbw@redhat.com>
3881
3882         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3883
3884         * src/NetworkManagerSystem.c
3885                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
3886                         implementation of nm_system_device_replace_default_route()
3887
3888         * src/NetworkManagerPolicy.c
3889                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
3890
3891         * src/backends/NetworkManagerArch.c
3892           src/backends/NetworkManagerDebian.c
3893           src/backends/NetworkManagerFrugalware.c
3894           src/backends/NetworkManagerGeneric.c
3895           src/backends/NetworkManagerGeneric.h
3896           src/backends/NetworkManagerGentoo.c
3897           src/backends/NetworkManagerMandriva.c
3898           src/backends/NetworkManagerPaldo.c
3899           src/backends/NetworkManagerRedHat.c
3900           src/backends/NetworkManagerSlackware.c
3901           src/backends/NetworkManagerSuSE.c
3902                 - (nm_system_device_replace_default_route): remove
3903
3904 2008-04-25  Dan Williams  <dcbw@redhat.com>
3905
3906         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3907
3908         * src/NetworkManagerSystem.c
3909                 - (validate_ip4_route): remove; use nl_addr_parse() instead
3910                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
3911                         replace nm_system_device_add_route_via_device_with_iface() in the
3912                         backends
3913
3914         * src/backends/NetworkManagerArch.c
3915           src/backends/NetworkManagerDebian.c
3916           src/backends/NetworkManagerFrugalware.c
3917           src/backends/NetworkManagerGeneric.c
3918           src/backends/NetworkManagerGeneric.h
3919           src/backends/NetworkManagerGentoo.c
3920           src/backends/NetworkManagerMandriva.c
3921           src/backends/NetworkManagerPaldo.c
3922           src/backends/NetworkManagerRedHat.c
3923           src/backends/NetworkManagerSlackware.c
3924           src/backends/NetworkManagerSuSE.c
3925                 - Remove nm_system_device_add_route_via_device_with_iface()
3926
3927 2008-04-25  Dan Williams  <dcbw@redhat.com>
3928
3929         * system-settings/plugins/ifcfg-fedora/parser.c
3930                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
3931
3932 2008-04-24  Dan Williams  <dcbw@redhat.com>
3933
3934         * dispatcher-daemon/NetworkManagerDispatcher.c
3935                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
3936
3937 2008-04-24  Dan Williams  <dcbw@redhat.com>
3938
3939         * initscript/RedHat/NetworkManager.in
3940           initscript/RedHat/NetworkManagerDispatcher.in
3941                 - Be active at runlevel 2
3942                 - Adjust priorities earlier
3943
3944 2008-04-22  Dan Williams  <dcbw@redhat.com>
3945
3946         * src/NetworkManagerPolicy.c
3947                 - (update_routing_and_dns): when checking for a gateway, look at the
3948                         composite IP4 config, not the connection's ip4-config setting, which
3949                         doesn't include DHCP-returned information
3950
3951 2008-04-22  Tambet Ingo  <tambet@gmail.com>
3952
3953         Implement GKeyFile system settings plugin.
3954         Implement writing system settings (currently supported only by GKeyFile plugin).
3955
3956         * system-settings/src/main.c: 
3957         * system-settings/src/dbus-settings.c: Move the communication with plugins
3958         from main.c to dbus-settings.c. Makes it possible to talk to all registered
3959         plugins for adding/updating/removing connections.
3960
3961         * system-settings/src/nm-system-config-interface.c
3962         (nm_system_config_interface_add_connection): Implement
3963         (nm_system_config_interface_update_connection): Implement.
3964         (nm_system_config_interface_remove_connection): Implement.
3965
3966         * system-settings/plugins/keyfile/Makefile.am:
3967         * system-settings/plugins/keyfile/plugin.[ch]:
3968         * system-settings/plugins/keyfile/writer.[ch]:
3969         * system-settings/plugins/keyfile/reader.[ch]: Implement.
3970
3971         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
3972
3973         * configure.in: Generate GKeyFile Makefile.
3974
3975         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
3976         corruption, need to duplicate the returned string.
3977         (impl_exported_connection_update): Implement.
3978         (impl_exported_connection_delete): Implement.
3979
3980         * introspection/nm-settings-system.xml: Add "AddConnection" method.
3981
3982         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
3983
3984 2008-04-22  Dan Williams  <dcbw@redhat.com>
3985
3986         Patch from Charles R. Anderson (cra@wpi.edu)
3987
3988         * src/NetworkManagerPolicy.c
3989                 - (update_routing_and_dns): don't select devices without a gateway
3990                         as having the default route (rh #437338)
3991
3992 2008-04-21  Dan Williams  <dcbw@redhat.com>
3993
3994         * src/nm-activation-request.c
3995           src/nm-activation-request.h
3996                 - (dispose): ensure to disconnect from the device's state-changed signal
3997                         when appropriate so the signal doesn't get handled by an already
3998                         disposed NMActRequest
3999                 - (device_state_changed): update is_default here too just to make sure
4000                         default is only True when the child device is activated
4001                 - (nm_act_request_set_default): new function
4002
4003         * src/NetworkManagerPolicy.c
4004                 - (update_routing_and_dns): set 'default' on the active connection which
4005                         has the default route and DNS
4006
4007 2008-04-21  Dan Williams  <dcbw@redhat.com>
4008
4009         * src/NetworkManagerPolicy.c
4010                 - (device_state_changed): update routing and DNS when a device goes
4011                         into unmanaged or unavailable states too (like rfkill or carrier loss)
4012
4013 2008-04-21  Dan Williams  <dcbw@redhat.com>
4014
4015         * include/NetworkManager.h
4016                 - Add NMActiveConnectionState enum
4017
4018         * introspection/nm-active-connection.xml
4019           introspection/nm-vpn-connection.xml
4020                 - Add 'State' property for overall active connection state
4021                 - Add 'Default' property, when True means this active connection
4022                         has the default route
4023                 - Add PropertyChanged signals so changes actually go out over the bus
4024
4025         * src/nm-active-connection.h
4026                 - Add defines for State & Default properties
4027
4028         * src/nm-activation-request.c
4029                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
4030                         signal to determine active connection state
4031
4032         * src/vpn-manager/nm-vpn-connection.c
4033           src/vpn-manager/nm-vpn-connection.h
4034           src/vpn-manager/nm-vpn-manager.c
4035           src/vpn-manager/nm-vpn-service.c
4036                 - Rename old 'state' to 'vpn-state'
4037                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
4038                 - Add 'state' and 'default' properties, hook up to the vpn connection's
4039                         'vpn-state-changed' signal
4040
4041         * libnm-glib/nm-active-connection.c
4042           libnm-glib/nm-active-connection.h
4043                 - Add new 'state' and 'default' properties and accessors
4044
4045         * libnm-glib/nm-vpn-connection.c
4046           libnm-glib/nm-vpn-connection.h
4047                 - Rename old 'state' property to 'vpn-state'
4048                 - Add new 'state' and 'default' properties and accessors
4049
4050 2008-04-21  Dan Williams  <dcbw@redhat.com>
4051
4052         * src/nm-ip4-config.c
4053                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
4054                         not specified (rh #443474)
4055
4056 2008-04-20  Dan Williams  <dcbw@redhat.com>
4057
4058         * src/NetworkManagerUtils.c
4059           src/NetworkManagerUtils.h
4060                 - (nm_utils_merge_ip4_config): new function; merge settings from an
4061                         NMSettingIP4Config to an NMIP4Config object
4062
4063         * src/nm-device.c
4064                 - (merge_ip4_config): move to NetworkManagerUtils.c
4065
4066         * src/vpn-manager/nm-vpn-connection.c
4067                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
4068                         too
4069
4070 2008-04-18  Dan Williams  <dcbw@redhat.com>
4071
4072         * libnm-util/nm-setting-ppp.c
4073           libnm-util/nm-setting-ppp.h
4074                 - Add 'no-vj-comp' option for TCP header compression
4075                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
4076                         uint32
4077
4078 2008-04-18  Dan Williams  <dcbw@redhat.com>
4079
4080         * libnm-util/nm-setting-ppp.c
4081           libnm-util/nm-setting-ppp.h
4082           src/ppp-manager/nm-ppp-manager.c
4083                 - Add 'refuse-pap' and 'refuse-mschapv2' options
4084
4085 2008-04-18  Dan Williams  <dcbw@redhat.com>
4086
4087         * libnm-util/nm-setting-ppp.c
4088           libnm-util/nm-setting-ppp.h
4089           src/ppp-manager/nm-ppp-manager.c
4090                 - Remove the 'usepeerdns' option and always request DNS servers from
4091                         the PPP server; the connection chooses to use/override/ignore the
4092                         DNS servers returned from the PPP server
4093
4094 2008-04-18  Dan Williams  <dcbw@redhat.com>
4095
4096         * libnm-util/nm-setting-ppp.c
4097           libnm-util/nm-setting-ppp.h
4098           src/ppp-manager/nm-ppp-manager.c
4099                 - Remove the 'require-mppc' option, because pppd doesn't support it and
4100                         it seems to have been an erroneous addition to the PPTP plugin in
4101                         the first place (from which the ppp-manager is derived)
4102
4103 2008-04-17  Dan Williams  <dcbw@redhat.com>
4104
4105         * libnm-util/nm-setting-pppoe.c
4106                 - (verify): require a PPP setting too
4107
4108         * src/ppp-manager/nm-ppp-manager.c
4109                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
4110                         segfaulting
4111
4112 2008-04-17  Dan Williams  <dcbw@redhat.com>
4113
4114         * src/nm-device.c
4115                 - (nm_device_state_changed): do deactivation and and promotion to
4116                         unavailable here, so that the device gets cleaned up before the
4117                         manager runs and starts emitting signals; do the
4118                         FAILED->DISCONNECTED transition from an idle handler rather than
4119                         immediately to guard against recursion
4120                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
4121                         FAILED->DISCONNECTED handler if it's scheduled
4122
4123 2008-04-17  Dan Williams  <dcbw@redhat.com>
4124
4125         * src/nm-device-802-11-wireless.c
4126                 - (state_changed_cb): clear AP list when device transitions to
4127                         unavailable or unmanaged
4128                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
4129                         since this is already done in device_cleanup()
4130                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
4131                         isn't available or managed
4132                 - (device_cleanup): use remove_all_aps()
4133                 - (remove_all_aps): consolidate code removing all APs
4134
4135 2008-04-17  Dan Williams  <dcbw@redhat.com>
4136
4137         * src/nm-serial-device.c
4138           src/nm-serial-device.h
4139                 - (wait_for_reply_got_data): break input into lines, and search each
4140                         line for responses _and_ terminator strings; also make sure that
4141                         the read loop doesn't continue after the timeout is supposed to fire
4142                 - (nm_serial_device_wait_for_reply): take an array of terminators too
4143
4144         * src/nm-gsm-device.c
4145           src/nm-cdma-device.c
4146                 - Send terminators to nm_serial_device_wait_for_reply()
4147
4148 2008-04-16  Dan Williams  <dcbw@redhat.com>
4149
4150         Patch from 陈鑫 <znscnchen@gmail.com>
4151
4152         * src/ppp-manager/nm-pppd-plugin.c
4153                 - (get_credentials): return correct value for success; handle case where
4154                         pppd just does some checking but doesn't want a password
4155                 - (plugin_init): make CHAP work too
4156
4157 2008-04-16  Dan Williams  <dcbw@redhat.com>
4158
4159         Patch from 陈鑫 <znscnchen@gmail.com>
4160
4161         * src/ppp-manager/nm-ppp-manager.c
4162                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
4163
4164 2008-04-16  Dan Williams  <dcbw@redhat.com>
4165
4166         Patch from 陈鑫 <znscnchen@gmail.com>
4167
4168         * src/nm-device-802-3-ethernet.c
4169                 - (real_deactivate_quickly): clear the IP interface name on
4170                         deactivation, otherwise the wrong interface might get used later
4171                         for routing and IP management
4172
4173 2008-04-15  Dan Williams  <dcbw@redhat.com>
4174
4175         * libnm-glib/nm-device.c
4176                 - (get_product_and_vendor): handle serial devices correctly
4177                 - (nm_device_update_description): pass device to get_product_and_vendor()
4178
4179 2008-04-15  Dan Williams  <dcbw@redhat.com>
4180
4181         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4182
4183         * src/NetworkManagerSystem.h
4184           src/backends/NetworkManagerArch.c
4185           src/backends/NetworkManagerDebian.c
4186           src/backends/NetworkManagerFrugalware.c
4187           src/backends/NetworkManagerGeneric.c
4188           src/backends/NetworkManagerGeneric.h
4189           src/backends/NetworkManagerGentoo.c
4190           src/backends/NetworkManagerMandriva.c
4191           src/backends/NetworkManagerPaldo.c
4192           src/backends/NetworkManagerRedHat.c
4193           src/backends/NetworkManagerSlackware.c
4194           src/backends/NetworkManagerSuSE.c
4195           src/nm-device.c
4196                 - (nm_generic_device_add_ip6_link_address,
4197                    nm_system_device_add_ip6_link_address): remove
4198
4199 2008-04-15  Dan Williams  <dcbw@redhat.com>
4200
4201         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4202
4203         * src/backends/NetworkManagerArch.c
4204           src/backends/NetworkManagerDebian.c
4205           src/backends/NetworkManagerFrugalware.c
4206           src/backends/NetworkManagerGeneric.c
4207           src/backends/NetworkManagerGeneric.h
4208           src/backends/NetworkManagerGentoo.c
4209           src/backends/NetworkManagerMandriva.c
4210           src/backends/NetworkManagerPaldo.c
4211           src/backends/NetworkManagerRedHat.c
4212           src/backends/NetworkManagerSlackware.c
4213           src/backends/NetworkManagerSuSE.c
4214           src/NetworkManagerSystem.h
4215                 - flush_routes -> flush_ip4_routes
4216                 - flush_addresses -> flush_ip4_addresses
4217
4218         * src/NetworkManagerSystem.c
4219           src/nm-device.c
4220           src/vpn-manager/nm-vpn-connection.c
4221                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
4222
4223 2008-04-15  Dan Williams  <dcbw@redhat.com>
4224
4225         Remove exposure of wireless-tools mode types in the API.
4226
4227         * include/NetworkManager.h
4228                 - Define NM80211Mode enum
4229
4230         * introspection/generic-types.xml
4231                 - Describe NM_802_11_MODE enum
4232                 - Remove IW_MODE_* enum
4233
4234         * introspection/nm-access-point.xml
4235           libnm-glib/nm-access-point.c
4236           libnm-glib/nm-access-point.h
4237                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4238
4239         * introspection/nm-device-802-11-wireless.xml
4240           libnm-glib/nm-device-802-11-wireless.c
4241           libnm-glib/nm-device-802-11-wireless.h
4242                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4243
4244         * libnm-util/nm-setting-wireless.c
4245           src/NetworkManagerAP.c
4246           src/NetworkManagerAP.h
4247           src/nm-device-802-11-wireless.c
4248           src/nm-device-802-11-wireless.h
4249           test/nm-tool.c
4250                 - Use NM80211Mode not IW_MODE_*
4251
4252 2008-04-15  Dan Williams  <dcbw@redhat.com>
4253
4254         Enhance nm-online based on a patch from Bill Nottingham.
4255
4256         * test/nm-online.c
4257                 - Add a '-q' option
4258                 - Add help messages and option summary
4259                 - Add long-format options
4260                 - Add a '-x' option to exit if NM isn't running or isn't connecting
4261
4262 2008-04-15  Tambet Ingo  <tambet@gmail.com>
4263
4264         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
4265
4266         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
4267
4268 2008-04-15  Dan Williams  <dcbw@redhat.com>
4269
4270         * nm-setting-ip4-config.c
4271                 - (ip4_addresses_from_gvalue): handle NULL address array
4272
4273         * nm-setting-8021x.c
4274                 - (verify_tls, verify_ttls): warn on failed verification
4275
4276 2008-04-10  Dan Williams  <dcbw@redhat.com>
4277
4278         * src/nm-gsm-device.c
4279                 - (automatic_registration): accept "+CREG: 0,0"
4280                 - (automatic_registration_response): fail on "+CREG: 0,0"
4281
4282 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4283
4284         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
4285
4286 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4287
4288         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
4289         Make it compile again by commenting out broken code that at first didn't work and
4290         now didn't compile either.
4291
4292 2008-04-08  Dan Williams  <dcbw@redhat.com>
4293
4294         * libnm-glib/nm-object-cache.c
4295           libnm-glib/nm-settings.c
4296           src/dhcp-manager/nm-dhcp-manager.c
4297           system-settings/plugins/ifcfg-fedora/plugin.c
4298           system-settings/plugins/ifcfg-suse/plugin.c
4299           system-settings/src/nm-system-config-hal-manager.c
4300           libnm-util/nm-utils.c
4301                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
4302                         not threadsafe anyway
4303
4304 2008-04-08  Dan Williams  <dcbw@redhat.com>
4305
4306         * system-settings/src/main.c
4307                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
4308                         callbacks take a device type too
4309
4310 2008-04-08  Dan Williams  <dcbw@redhat.com>
4311
4312         The system settings service will now create a new default DHCP connection
4313         for wired devices that have no existing applicable connection.
4314
4315         * system-settings/src/nm-system-config-hal-manager.c
4316           system-settings/src/nm-system-config-hal-manager.h
4317                 - (nm_system_config_hal_manager_get_type_for_udi): new function
4318
4319         * system-settings/src/dbus-settings.c
4320           system-settings/src/dbus-settings.h
4321                 - (nm_sysconfig_settings_get_connections): new function
4322                 - (nm_sysconfig_settings_is_device_managed): new function
4323
4324         * system-settings/src/main.c
4325                 - (load_stuff): check for wired devices that need a default connection
4326                 - (get_details_for_udi): get interface and MAC address from HAL
4327                 - (add_default_dhcp_connection): add a default connection for a wired
4328                         device if needed
4329                 - (device_added_cb, device_removed_cb): do the right thing with
4330                         wired devices and their default connections on HAL device events
4331
4332 2008-04-07  Dan Williams  <dcbw@redhat.com>
4333
4334         * libnm-glib/nm-device.c
4335           libnm-glib/nm-device.h
4336                 - Proxy the 'managed' property
4337
4338 2008-04-07  Dan Williams  <dcbw@redhat.com>
4339
4340         * src/nm-gsm-device.c
4341           src/nm-cdma-device.c
4342                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4343                         handler to transition to DISCONNECTED
4344
4345 2008-04-07  Dan Williams  <dcbw@redhat.com>
4346
4347         Patch from Bill Nottingham
4348
4349         * dispatcher-daemon/NetworkManagerDispatcher.c
4350                 - ignore backup/packaging crufy (rh #440143)
4351
4352 2008-04-07  Dan Williams  <dcbw@redhat.com>
4353
4354         * include/NetworkManager.h
4355                 - Remove the DOWN and CANCELLED device states
4356                 - Add UNMANAGED and UNAVAILABLE device states
4357                 - Document the device states
4358
4359         * introspection/nm-device.xml
4360           src/nm-device-interface.c
4361           src/nm-device-interface.h
4362                 - Add the 'managed' property
4363
4364         * test/nm-tool.c
4365                 - (detail_device): print out device state
4366
4367         * src/NetworkManagerSystem.h
4368           src/backends/NetworkManagerArch.c
4369           src/backends/NetworkManagerDebian.c
4370           src/backends/NetworkManagerFrugalware.c
4371           src/backends/NetworkManagerGentoo.c
4372           src/backends/NetworkManagerMandriva.c
4373           src/backends/NetworkManagerPaldo.c
4374           src/backends/NetworkManagerRedHat.c
4375           src/backends/NetworkManagerSlackware.c
4376           src/backends/NetworkManagerSuSE.c
4377                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
4378                    nm_system_device_free_system_config): remove; they were unused and
4379                         their functionality should be re-implemented in each distro's
4380                         system settings service plugin 
4381
4382         * src/nm-gsm-device.c
4383           src/nm-gsm-device.h
4384           src/nm-cdma-device.c
4385           src/nm-cdma-device.h
4386                 - (*_new): take the 'managed' argument
4387
4388         * src/nm-device.c
4389                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
4390                 - (nm_device_init): start in unmanaged state, not disconnected
4391                 - (constructor): don't start device until the system settings service
4392                         has had a chance to figure out if the device is managed or not
4393                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
4394                         don't set device state here, let callers handle that as appropriate
4395                 - (nm_device_dispose): don't touch the device if it's not managed
4396                 - (set_property, get_property, nm_device_class_init): implement the
4397                         'managed' property
4398                 - (nm_device_state_changed): bring the device up if its now managed,
4399                         and deactivate it if it used to be active
4400                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
4401                         with the managed state
4402
4403         * src/nm-hal-manager.c
4404                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
4405                         take initial managed state and pass it along to device constructors
4406                 - (create_device_and_add_to_list): get managed state and pass to
4407                         type creators
4408
4409         * src/nm-device-802-11-wireless.c
4410                 - (real_can_activate): fold in most of
4411                         nm_device_802_11_wireless_can_activate()
4412                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
4413                 - (link_timeout_cb): instead of deactivating, change device state and
4414                         let the device state handler to it
4415                 - (real_update_hw_address): clean up
4416                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4417                         handler to transition to DISCONNECTED if the device isn't rfkilled
4418
4419         * src/nm-device-802-3-ethernet.c
4420                 - (set_carrier): move above callers and get rid of prototype
4421                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
4422                         idle handler to transition to DISCONNECTED if the device has a
4423                         carrier
4424                 - (real_update_hw_address): clean up
4425                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
4426                         deactivation directly as deactivation doesn't change state anymore
4427
4428         * src/NetworkManagerPolicy.c
4429                 - (schedule_activate_check): yay, remove wireless_enabled hack since
4430                         the NMManager and wireless devices work that out themselves now
4431                 - (device_state_changed): change to a switch and update for new device
4432                         states
4433                 - (device_carrier_changed): remove; device handles this now through
4434                         state changes
4435                 - (device_added): don't care about carrier any more; the initial
4436                         activation check will happen when the device transitions to
4437                         DISCONNECTED
4438
4439         * src/nm-manager.c
4440                 - (dispose): clear unmanaged devices
4441                 - (handle_unmanaged_devices): update unmanaged device list and toggle
4442                         the managed property on each device when needed
4443                 - (system_settings_properties_changed_cb): handle signals from the
4444                         system settings service
4445                 - (system_settings_get_unmanaged_devices_cb): handle callback from
4446                         getting the unmanaged device list method call
4447                 - (query_unmanaged_devices): ask the system settings service for its
4448                         list of unmanaged devices
4449                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
4450                         devices
4451                 - (manager_set_wireless_enabled): push rfkill state down to wireless
4452                         devices directly and let them handle the necessary state transitions
4453                 - (manager_device_state_changed): update for new device states
4454                 - (nm_manager_add_device): set initial rfkill state on wireless devices
4455                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
4456                 - (nm_manager_activate_connection): return error if the device is
4457                         unmanaged
4458                 - (nm_manager_sleep): handle new device states correctly; don't change
4459                         the state of unavailable/unmanaged devices
4460
4461         * libnm-glib/nm-device-802-11-wireless.c
4462                 - (state_changed_cb): update for new device states
4463
4464 2008-04-07  Dan Williams  <dcbw@redhat.com>
4465
4466         * marshallers/nm-marshal.list
4467                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
4468
4469 2008-04-07  Dan Williams  <dcbw@redhat.com>
4470
4471         * system-settings/src/main.c
4472                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
4473                         plugins to the dbus settings object
4474                 - (load_stuff): start the dbus service after grabbing unmanaged devices
4475                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
4476                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
4477                 - (main): switch default logging to syslog with a 'debug' option to
4478                         output to console; start up the HAL manager
4479
4480 2008-04-07  Dan Williams  <dcbw@redhat.com>
4481
4482         * introspection/nm-settings-system.xml
4483           introspection/Makefile.am
4484                 - Define the unmanaged devices interface for the system settings service
4485
4486         * system-settings/src/nm-system-config-hal-manager.c
4487           system-settings/src/nm-system-config-hal-manager.h
4488           system-settings/src/nm-system-config-hal-manager-private.h
4489           system-settings/src/Makefile.am
4490                 - Add a lightweight HAL manager object for tracking network devices for
4491                         the purpose of determining unmanaged devices and which devices need
4492                         the default DHCP connections
4493
4494         * system-settings/src/nm-system-config-interface.c
4495           system-settings/src/nm-system-config-interface.h
4496                 - (nm_system_config_interface_init): add the HAL manager as an argument
4497                 - (nm_system_config_interface_get_unmanaged_devices): implement
4498                 - Define 'unmanaged-devices-changed' signal
4499
4500         * system-settings/src/dbus-settings.c
4501           system-settings/src/dbus-settings.h
4502                 - Implement the unmanaged devices interface; some cleanups
4503
4504         * system-settings/plugins/ifcfg-suse/plugin.c
4505                 - Fixup for plugin interface changes
4506
4507         * system-settings/plugins/ifcfg-fedora/plugin.c
4508                 - (get_ether_device_udi): new function; find the device that has
4509                         a specified MAC address and return its UDI
4510                 - (get_udi_for_connection): new function; try to find the specific
4511                         device a connection is locked to, if any
4512                 - (device_added_cb, device_removed_cb): update unmanaged device list in
4513                         response to HAL events
4514                 - (get_unmanaged_devices): new function; return unmanaged device list
4515                 - (build_one_connection): set the connection's locked device, if any
4516                 - (write_auto_wired_connection): remove
4517                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
4518                 - (handle_connection_changed): alert listeners that the unmanaged device
4519                         list has changed
4520                 - (init): fixup for plugin interface changes, implement unmanaged devices
4521
4522         * system-settings/plugins/ifcfg-fedora/parser.c
4523           system-settings/plugins/ifcfg-fedora/parser.h
4524                 - (connection_data_free): clean up connection UDI
4525
4526 2008-04-07  Dan Williams  <dcbw@redhat.com>
4527
4528         * system-settings/plugins/ifcfg-fedora/parser.c
4529                 - (make_ip4_setting): fix parsing of DNS servers
4530
4531 2008-04-05  Dan Williams  <dcbw@redhat.com>
4532
4533         * Makefile.am
4534           configure.in
4535           marshallers/Makefile.am
4536           marshallers/nm-marshal-main.c
4537           marshallers/nm-marshal.list
4538                 - Consolidate marshallers
4539
4540         * libnm-glib/nm-marshal-main.c
4541           libnm-glib/nm-marshal.list
4542           src/marshallers/Makefile.am
4543           src/marshallers/nm-marshal-main.c
4544           src/marshallers/nm-marshal.list
4545                 - Remove
4546
4547         * libnm-glib/Makefile.am
4548           src/Makefile.am
4549           src/dhcp-manager/Makefile.am
4550           src/ppp-manager/Makefile.am
4551           src/supplicant-manager/Makefile.am
4552           src/vpn-manager/Makefile.am
4553                 - Use consolidated marshallers
4554
4555 2008-04-04  Dan Williams  <dcbw@redhat.com>
4556
4557         * src/nm-hal-manager.c
4558           src/nm-hal-manager.h
4559                 - (hal_init): don't look for hardware here
4560                 - (nm_hal_manager_start): new function; look for hardware here instead,
4561                         which can be done at a later time than hal_init()
4562
4563         * src/NetworkManager.c
4564                 - (main): start HAL manager after entering the main loop
4565
4566 2008-04-03  Dan Williams  <dcbw@redhat.com>
4567
4568         * libnm-glib/nm-settings.c
4569           libnm-glib/nm-settings.h
4570             - (nm_exported_connection_get_id): new function
4571                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
4572
4573 2008-04-02  Dan Williams  <dcbw@redhat.com>
4574
4575         * src/nm-device-interface.c
4576           src/nm-device-interface.h
4577           src/nm-device.c
4578           src/nm-device.h
4579                 - Rename check_connection_conflicts() to check_connection_compatible()
4580
4581         * src/nm-device-802-11-wireless.c
4582                 - (real_check_connection_conflicts): remove
4583                 - (real_check_connection_compatible): implement; match MAC address
4584
4585         * src/nm-device-802-3-ethernet.c
4586                 - (real_check_connection_conflicts): remove
4587                 - (real_check_connection_compatible): implement; match MAC address
4588                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4589
4590         * src/nm-manager.c
4591                 - (check_connection_allowed): remove; unused until PolicyKit integration
4592                 - (internal_activate_device): check whether the connection is compatible
4593                         with the device before trying to activate it
4594
4595 2008-04-02  Dan Williams  <dcbw@redhat.com>
4596
4597         * system-settings/plugins/ifcfg-fedora/parser.c
4598                 - (read_mac_address): new function; read in MAC address and stuff it
4599                         into the connection
4600                 - (add_one_wep_key): remove debug spew
4601                 - (make_wireless_security_setting): validate the default TX key; don't
4602                         add the wireless-security setting if the connection doesn't need
4603                         security; don't leak the keys shvarFile on error cases
4604                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4605                         address
4606
4607 2008-04-02  Dan Williams  <dcbw@redhat.com>
4608
4609         * libnm-util/nm-setting-connection.c
4610           libnm-util/nm-setting-connection.h
4611                 - (set_property, get_property, nm_setting_connection_class_init): remove
4612                         the 'lockdown' property; it's functionality will be replaced by
4613                         PolicyKit instead
4614
4615 2008-04-01  Dan Williams  <dcbw@redhat.com>
4616
4617         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4618
4619         * configure.in
4620           initscript/Makefile.am
4621           initscript/Mandriva/Makefile.am
4622           initscript/Mandriva/networkmanager.in
4623           initscript/Mandriva/networkmanagerdispatcher.in
4624           src/backends/Makefile.am
4625           src/backends/NetworkManagerMandriva.c
4626           system-settings/plugins/Makefile.am
4627                 - Add Mandriva support
4628
4629 2008-03-31  Dan Williams  <dcbw@redhat.com>
4630
4631         * src/vpn-manager/nm-vpn-service.c
4632                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4633                         errors can be passed back to the caller; also no longer scheduled
4634                         as an idle handler, but called directly; and bump up VPN service
4635                         spawn timeout, 2s is really short
4636                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4637                         but call it directly so that errors are reported on return from
4638                         ActivateConnection() and don't get lost.  If scheduled as an idle
4639                         handler, clients don't have the time to query NM for the new VPN
4640                         connection's properties before the VPN connection is torn down again
4641                         if the service couldn't be launched, and therefore launch errors
4642                         get lost.
4643
4644 2008-03-31  Dan Williams  <dcbw@redhat.com>
4645
4646         * src/vpn-manager/nm-vpn-connection.c
4647                 - (device_state_changed): send correct state on device failure too
4648                 - (plugin_state_changed): failed state means unexpected disconnection,
4649                         thus if the service goes away while the VPN connection is activated
4650                         that's a failure too
4651
4652 2008-03-31  Dan Williams  <dcbw@redhat.com>
4653
4654         * src/vpn-manager/nm-vpn-manager.c
4655           src/vpn-manager/nm-vpn-manager.h
4656                 - Make VPNManager errors more available; add a service-start-failed error
4657
4658 2008-03-31  Dan Williams  <dcbw@redhat.com>
4659
4660         * libnm-glib/nm-client.c
4661           libnm-glib/nm-client.h
4662                 - (activate_cb): pass the new active connection to callback; fix
4663                         message when no callback is specified
4664
4665 2008-03-30  Dan Williams  <dcbw@redhat.com>
4666
4667         * libnm-util/nm-setting-wireless-security.c
4668                 - (need_secrets): only require key0 if the transmit key index is also
4669                         0
4670                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4671
4672 2008-03-29  Dan Williams  <dcbw@redhat.com>
4673
4674         * libnm-util/nm-setting-8021x.c
4675           libnm-util/nm-setting-ip4-config.c
4676           libnm-util/nm-setting-vpn-properties.c
4677           libnm-util/nm-setting-vpn.c
4678           libnm-util/nm-setting-wireless-security.c
4679           libnm-util/nm-setting-wireless.c
4680           libnm-util/nm-utils.c
4681           src/dhcp-manager/nm-dhcp-manager.c
4682           src/nm-activation-request.c
4683           src/nm-ip4-config.c
4684           src/nm-manager.c
4685           src/nm-properties-changed-signal.c
4686           src/ppp-manager/nm-pppd-plugin.c
4687           src/supplicant-manager/nm-supplicant-interface.c
4688           src/vpn-manager/nm-vpn-connection.c
4689                 - consistently use nm-dbus-glib-types.h
4690
4691 2008-03-29  Dan Williams  <dcbw@redhat.com>
4692
4693         * src/vpn-manager/nm-vpn-connection.c
4694                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4695                         not string
4696
4697         * src/nm-activation-request.c
4698                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4699                         not string
4700
4701 2008-03-29  Dan Williams  <dcbw@redhat.com>
4702
4703         * libnm-glib/nm-device-802-11-wireless.c
4704                 - (access_point_added_proxy): create new APs if not found
4705
4706 2008-03-29  Dan Williams  <dcbw@redhat.com>
4707
4708         * libnm-glib/nm-client.c
4709                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4710                         before freeing them
4711
4712 2008-03-29  Dan Williams  <dcbw@redhat.com>
4713
4714         * system-settings/plugins/ifcfg-fedora/parser.c
4715                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4716                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4717
4718 2008-03-29  Dan Williams  <dcbw@redhat.com>
4719
4720         * system-settings/plugins/ifcfg-fedora/parser.c
4721                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4722
4723 2008-03-27  Dan Williams  <dcbw@redhat.com>
4724
4725         * nm-object.c
4726                 - (nm_object_queue_notify): don't notify multiple times for the same
4727                         property
4728
4729         * nm-object-private.h
4730                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4731                         if it has zero elements
4732
4733         * nm-ip4-config.c
4734                 - (finalize): use g_ptr_array_foreach() when freeing domains
4735                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4736
4737         * nm-active-connection.c
4738                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4739
4740         * nm-device-802-11-wireless.c
4741           nm-device-802-11-wireless.h
4742                 - (nm_device_802_11_wireless_get_access_points): return const; use
4743                         handle_ptr_array_return()
4744
4745         * nm-types.c
4746                 - (nm_object_array_demarshal): always create an array, even of length
4747                         zero, to distinguish between "NM returned no items" and "haven't
4748                         asked NM yet"
4749
4750         * nm-client.c
4751                 - (dispose): free active connections too
4752                 - (proxy_name_owner_changed): free active connections too when NM goes
4753                         away
4754                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4755                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4756
4757 2008-03-26  Dan Williams  <dcbw@redhat.com>
4758
4759         Rework VPN connection handling for a more consistent D-Bus API.  The
4760         VPNManager object has been removed, and active VPN connections are now the
4761         same as any other active connection.  The Manager object's ActivateConnection
4762         and DeactivateConnection methods are used to start and stop a VPN connection,
4763         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4764         When activating a VPN connection, pass the path of the active connection
4765         to which the VPN connection is tied in the 'specific_object' argument.
4766
4767         Consequently, the libnm-glib API has been reworked to match this arrangement,
4768         with the VPNManager object removed, and the NMVPNConnection objects now
4769         being subclasses of NMActiveConnection.
4770
4771 2008-03-25  Dan Williams  <dcbw@redhat.com>
4772
4773         Patch from Björn Martensen <bjoern.martensen@gmail.com>
4774
4775         * initscript/Arch/networkmanager.in
4776           initscript/Arch/networkmanager-dispatcher.in
4777                 - Updates for Arch Linux (gnome.org #523701)
4778
4779 2008-03-25  Dan Williams  <dcbw@redhat.com>
4780
4781         * libnm-glib/nm-ip4-config.c
4782           libnm-glib/nm-active-connection.c
4783           libnm-glib/nm-access-point.c
4784                 - Use nm_object_queue_notify() instead of g_object_notify()
4785
4786         * libnm-glib/nm-device.c
4787                 - (demarshal_ip4_config): distinguish between successful but missing
4788                         ip4-config request, and unsuccessful and missing ip4-config request
4789                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
4790                         path
4791                 - Use nm_object_queue_notify() instead of g_object_notify()
4792
4793         * libnm-glib/nm-device-802-11-wireless.c
4794                 - (demarshal_active_ap): distinguish between successfull but missing
4795                         active-ap request, and unsuccessful and missing active-ap request
4796                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
4797                         code
4798                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
4799                         for the NMClient to notify the device that wireless is disabled,
4800                         and therefore to clear the AP list and active AP
4801                 - Use nm_object_queue_notify() instead of g_object_notify()
4802
4803         * libnm-glib/nm-client.c
4804                 - (poke_wireless_devices_with_rf_status): new function
4805                 - (update_wireless_status): notify wireless devices of the rfkill status
4806                         so they can clean up if needed
4807                 - Use nm_object_queue_notify() instead of g_object_notify()
4808
4809 2008-03-25  Dan Williams  <dcbw@redhat.com>
4810
4811         * libnm-glib/nm-object.c
4812           libnm-glib/nm-object-private.h
4813                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
4814                         signals to an idle handler
4815                 - (nm_object_get_property): add a timeout to the D-Bus method call
4816
4817 2008-03-25  Dan Williams  <dcbw@redhat.com>
4818
4819         * introspection/nm-device-cdma.xml
4820           introspection/nm-device-gsm.xml
4821           introspection/Makefile.am
4822           introspection/all.xml
4823                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
4824
4825         * src/nm-gsm-device.h
4826           src/nm-gsm-device.c
4827           src/nm-cdma-device.h
4828           src/nm-cdma-device.c
4829           src/Makefile.am
4830                 - Implement PropertiesChanged signals
4831
4832         * libnm-glib/nm-cdma-device.c
4833           libnm-glib/nm-cdma-device.c
4834                 - Attach to PropertiesChanged signals
4835
4836 2008-03-24  Dan Williams  <dcbw@redhat.com>
4837
4838         * libnm-glib/nm-client.c
4839                 - (client_device_added_proxy): add new devices to the internal device
4840                         list so they appear to clients
4841
4842 2008-03-24  Dan Williams  <dcbw@redhat.com>
4843
4844         Massive fixup of libnm-glib to:
4845         a) have all objects (with the exception of VPN) cache their properties and
4846                 update them asynchronously on PropertiesChanged signals from NM
4847         b) return internal const data for most attributes/properties instead of
4848                 allocated values that the caller must free
4849         c) cache wrapped objects such that a given D-Bus path will always map to the
4850                 same GObject returned by libnm-glib
4851         d) remove a few signals and move them to GObject property notifications
4852         e) match recent NM D-Bus API changes for activation/deactivation
4853         f) remove some private functions from libnm-glib headers
4854
4855 2008-03-20  Dan Williams  <dcbw@redhat.com>
4856
4857         * src/nm-manager.c
4858                 - (nm_manager_update_state, manager_device_state_changed,
4859                    nm_manager_activate_device, connection_added_default_handler,
4860                    impl_manager_activate_connection, impl_manager_deactivate_connection):
4861                         queue PropertyChanged singals when the active connections change
4862
4863 2008-03-20  Dan Williams  <dcbw@redhat.com>
4864
4865         * introspection/nm-manager.xml
4866           introspection/nm-manager-client.xml
4867                 - (ActivateConnection): return the object path of the active connection
4868                         on success
4869                 - (GetActiveConnections): remove
4870                 - (DeactivateConnection): new function; deactivate a currently active
4871                         connection
4872                 - Add an ActiveConnections property which returns an array of
4873                         active connection object paths
4874
4875         * introspection/nm-device.xml
4876                 - (Deactivate): remove
4877
4878         * introspection/all.xml
4879                 - Add ActiveConnection introspection
4880
4881         * introspection/nm-active-connection.xml
4882                 - Add the ActiveConnection object
4883
4884         * include/NetworkManager.h
4885                 - Add the Connection.Active D-Bus interface
4886
4887         * src/nm-device-interface.c
4888                 - (impl_device_deactivate): remove
4889
4890         * src/nm-activation-request.c
4891           src/nm-activation-request.c
4892           src/Makefile.am
4893                 - Implement the Connection.Active D-Bus interface
4894
4895         * src/nm-manager.c
4896                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
4897                 - (nm_manager_activate_device): return the active connection path
4898                 - (connection_added_default_handler, impl_manager_activate_connection):
4899                         return the active connection to the caller
4900                 - (add_one_connection_element, impl_manager_get_active_connections):
4901                         remove
4902                 - (impl_manager_deactivate_connection): new function; deactivate an
4903                         active connection
4904
4905         * libnm-glib/nm-device.c
4906           libnm-glib/nm-device.h
4907                 - Remove Deactivate() function
4908
4909 2008-03-19  Dan Williams  <dcbw@redhat.com>
4910
4911         * introspection/nm-manager.xml
4912           introspection/nm-manager-client.xml
4913                 - Rename the ActivateDevice method to ActivateConnection to better
4914                         reflect it's usage; it's arguments get reordered a bit too
4915                 - Convert GetActiveConnections method return from a struct to a dict
4916
4917         * include/NetworkManager.h
4918                 - Define the dict keys for return value of GetActiveConnections
4919
4920         * src/nm-manager.c
4921                 - impl_manager_activate_device -> impl_manager_activate_connection
4922                 - (add_one_connection_element): return a populated hash table, not
4923                         a structure
4924
4925         * libnm-glib/nm-client.c
4926           libnm-glib/nm-client.h
4927                 - nm_client_activate_device -> nm_client_activate_connection
4928                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
4929                 - (nm_client_get_active_connections): return a GSList of GHashTables,
4930                         instead of the custom structures.  Each element of the returned list
4931                         must be freed with nm_client_free_active_connections_element()
4932
4933 2008-03-18  Dan Williams  <dcbw@redhat.com>
4934
4935         * system-settings/plugins/ifcfg-fedora/parser.c
4936           system-settings/plugins/ifcfg-fedora/parser.h
4937           system-settings/plugins/ifcfg-fedora/plugin.c
4938                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
4939                         profiles.  DNS servers and searches must now be stored in the ifcfg
4940                         files themselves
4941
4942 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4943
4944         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
4945         print out username and password, it's supposed to be a secret.
4946
4947         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
4948         request and set the device state accordingly.
4949
4950 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4951
4952         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
4953
4954         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
4955
4956 2008-03-18  Dan Williams  <dcbw@redhat.com>
4957
4958         * src/vpn-manager/nm-vpn-connection.c
4959                 - (get_secrets_cb): handle new GetSecrets return format
4960
4961 2008-03-18  Dan Williams  <dcbw@redhat.com>
4962
4963         Adapt system settings service for split 802.1x.
4964
4965         * system-settings/src/nm-system-config-interface.h
4966                 - clarify return value of get_secrets()
4967
4968         * system-settings/src/dbus-settings.c
4969                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
4970                 - (check_for_secrets): check if there actually secrets returned by a
4971                         plugin
4972                 - (exported_connection_get_secrets): just return the plugin-returned
4973                         hash of settings' secrets if it looks valid
4974
4975         * system-settings/plugins/ifcfg-fedora/plugin.c
4976                 - (get_secrets): add split secrets with correct format to reply hash
4977
4978         * system-settings/plugins/ifcfg-fedora/parser.c
4979           system-settings/plugins/ifcfg-fedora/parser.h
4980                 - (copy_one_cdata_secret, connection_data_copy_secrets,
4981                    connection_data_free, connection_data_add): keep secrets for
4982                         different settings in different hashes
4983
4984 2008-03-17  Tambet Ingo  <tambet@gmail.com>
4985
4986         Clean up activating device deactivation.
4987
4988         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
4989         should be done whether the device activation gets cancelled or the device
4990         is just getting deactivated.
4991         (nm_device_activation_cancel): Remove.
4992         (nm_device_deactivate_quickly): Handle the case where device is activating.
4993
4994         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
4995         It does the exact same thing as real_deactivate_quickly().
4996
4997 2008-03-17  Dan Williams  <dcbw@redhat.com>
4998
4999         Split the 802.1x bits out of the wireless-security setting so they are
5000         generalized enough for wired 802.1x to use too.
5001
5002         * introspection/nm-exported-connection.xml
5003                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
5004                         of just a hash of the secrets for one setting
5005
5006         * libnm-util/nm-setting-wireless-security.c
5007           libnm-util/nm-setting-wireless-security.h
5008                 - Remove 802.1x-specific stuff
5009                 - Added leap-username and leap-password properties for old-school LEAP
5010
5011         * src/nm-device.c
5012           src/nm-device.h
5013                 - (connection_secrets_updated_cb): take a list of updated settings names,
5014                         not just one
5015
5016         * src/supplicant-manager/nm-supplicant-config.c
5017           src/supplicant-manager/nm-supplicant-config.h
5018                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
5019                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
5020                         to nm_supplicant_config_add_setting_8021x()
5021                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
5022                         the supplicant config
5023
5024         * src/nm-device-802-11-wireless.c
5025                 - (build_supplicant_config): pass in the 802.1x setting too, if any
5026                 - (real_connection_secrets_updated): take a list of updated settings
5027                         names, not just one
5028
5029         * src/nm-device-802-3-ethernet.c
5030           src/nm-cdma-device.c
5031           src/nm-gsm-device.c
5032                 - (real_connection_secrets_updated_cb): take a list of updated settings
5033                         names, not just one
5034
5035         * src/nm-activation-request.c
5036           src/nm-activation-request.h
5037                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
5038                         now passes a list of updated settings names, not just one
5039                 - (update_one_setting): new function; handle one updated setting
5040                 - (get_secrets_cb): handle multiple settings returned from the
5041                         settings service; have to be careful of ordering here as there are
5042                         some dependencies between settings (ex. wireless-security and 802.1x
5043                         in some cases)
5044
5045         * src/marshallers/nm-marshal.list
5046                 - new marshaller for connection-secrets-updated signal
5047
5048         * libnm-util/nm-setting-8021x.c
5049                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
5050                         methods
5051                 - (verify): a valid 'eap' property is now required
5052
5053         * libnm-util/nm-connection.c
5054                 - (register_default_settings): add priorities to settings; there are
5055                         some dependencies between settings, and during the need_secrets
5056                         calls this priority needs to be respected.  For example, only the
5057                         wireless-security setting knows whether or not the connection is
5058                         going to use 802.1x or now, so it must be asked for secrets before
5059                         any existing 802.1x setting is
5060                 - (nm_connection_lookup_setting_type): expose
5061
5062         * libnm-util/nm-setting-wireless.c
5063                 - (verify): should verify even if all_settings is NULL; otherwise won't
5064                         catch the case where there is missing security
5065
5066         * libnm-util/nm-setting-wireless-security.c
5067                 - Remove everything to do with 802.1x
5068                 - Add old-school LEAP specific properties for username and password
5069                 - (need_secrets): rework LEAP secrets checking
5070                 - (verify): rework for LEAP and 802.1x verification
5071
5072 2008-03-17  Dan Williams  <dcbw@redhat.com>
5073
5074         * src/NetworkManagerPolicy.c
5075                 - (auto_activate_device): always remove the current activation check
5076                         from the pending activation list, otherwise when the policy gets
5077                         destroyed on NM exit it will attempt to free the already freed
5078                         activation check
5079
5080 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5081
5082         * src/backends/NetworkManagerSlackware.c 
5083         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
5084
5085         * src/backends/NetworkManagerSuSE.c: Add missing includes.
5086
5087 2008-03-14  Dan Williams  <dcbw@redhat.com>
5088
5089         * src/nm-manager.c
5090                 - (nm_device_interface_get_iface): g_object_get() will return an
5091                         allocated value, so this function must not return const
5092                 - (nm_device_interface_activate): free returned iface
5093
5094 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5095
5096         * libnm-util/Makefile.am: Add new files to build.
5097
5098         * libnm-util/nm-connection.c: Register NMSetting8021x.
5099
5100         * libnm-util/nm-setting-8021x.c
5101         * libnm-util/nm-setting-8021x.h: Implement.
5102
5103 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5104
5105         * libnm-util/Makefile.am: Add new files to build.
5106
5107         * libnm-util/nm-connection.c: Register NMSetting8021x.
5108
5109         * libnm-util/nm-setting-8021x.c
5110         * libnm-util/nm-setting-8021x.h: Implement.
5111
5112 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5113
5114         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
5115         data.
5116
5117 2008-03-14  Dan Williams  <dcbw@redhat.com>
5118
5119         * include/wireless-helper.h
5120           include/Makefile.am
5121                 - One place for all the junk needed for #including wireless.h
5122
5123         * test/nm-tool.c
5124           src/NetworkManagerAP.c
5125           src/wpa.c
5126           src/Makefile.am
5127           libnm-util/nm-utils.c
5128           libnm-util/nm-setting-wireless.c
5129           libnm-glib/nm-device-802-11-wireless.c
5130           libnm-glib/nm-access-point.c
5131           libnm-glib/libnm-glib-test.c
5132                 - include wireless-helper.h, not iwlib.h
5133
5134         * configure.in
5135                 - Don't need libiw really, just need to check for wireless.h
5136
5137         * src/kernel-types.h
5138                 - Remove; used types moved into wpa.c
5139
5140         * src/nm-device-802-11-wireless.c
5141                 - (nm_device_802_11_wireless_update_signal_strength,
5142                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
5143                    nm_device_802_11_wireless_set_mode,
5144                    nm_device_802_11_wireless_get_frequency,
5145                    nm_device_802_11_wireless_get_ssid,
5146                    nm_device_802_11_wireless_set_ssid,
5147                    nm_device_802_11_wireless_get_bitrate,
5148                    nm_device_802_11_wireless_get_bssid,
5149                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
5150                         instead of iwlib functions
5151
5152 2008-03-14  Dan Williams  <dcbw@redhat.com>
5153
5154         * src/ppp-manager/nm-ppp-manager.c
5155                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
5156                         should only take the DBusGMethodInvocation argument, not user/pass
5157                         too.  With dbus-glib, async functions only take 2 C arguments since
5158                         the real dbus method arguments get passed back with
5159                         dbus_g_method_return()
5160
5161 2008-03-13  Tambet Ingo  <tambet@gmail.com>
5162
5163         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
5164         Adapt the changes of NMSettingIP4Config.
5165
5166 2008-03-13  Dan Williams  <dcbw@redhat.com>
5167
5168         * src/NetworkManagerUtils.c
5169           src/NetworkManagerUtils.h
5170                 - (nm_ether_ntop): replacement for iw_ether_ntop()
5171
5172         * src/NetworkManagerAP.c
5173           src/nm-device-802-11-wireless.c
5174           src/nm-device-802-3-ethernet.c
5175                 - s/iw_ether_ntop/nm_ether_ntop/g
5176
5177 2008-03-13  Dan Williams  <dcbw@redhat.com>
5178
5179         * src/NetworkManagerPolicy.c
5180                 - (update_routing_and_dns): never set the default route through an
5181                         IPv4LL addressed device
5182
5183 2008-03-13  Dan Williams  <dcbw@redhat.com>
5184
5185         * NetworkManagerUtils.c
5186           NetworkManagerUtils.h
5187                 - Remove NMSock stuff
5188                 - Remove the completion stuff
5189
5190         * nm-device.c
5191           nm-device.h
5192           NetworkManager.c
5193           NetworkManagerSystem.c
5194           autoip.c
5195           nm-device-802-11-wireless.c
5196           nm-device-802-3-ethernet.c
5197                 - Remove NMSock and completion stuff
5198                 - Remove nm_ioctl_info()
5199
5200 2008-03-12  Dan Williams  <dcbw@redhat.com>
5201
5202         * src/nm-device.c
5203                 - (merge_ip4_config): avoid duplicates
5204
5205 2008-03-12  Dan Williams  <dcbw@redhat.com>
5206
5207         * libnm-util/nm-setting-ip4-config.c
5208           libnm-util/nm-setting-ip4-config.h
5209                 - Remove 'manual' and 'autoip' properties
5210                 - Add 'method' property
5211                 - (verify): fix verification with 'method'
5212                 - (finalize): free 'method'
5213                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
5214                         up for 'method'
5215
5216         * src/nm-device.c
5217                 - (real_act_stage3_ip_config_start): check IP4Config method
5218                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
5219                         the future
5220                 - (merge_ip4_config): IP settings are valid with DHCP too
5221                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
5222                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
5223
5224         * src/nm-device-802-11-wireless.c
5225                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
5226                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
5227                         only on demand
5228
5229         * system-settings/plugins/ifcfg-fedora/parser.c
5230           system-settings/plugins/ifcfg-suse/parser.c
5231                 - (make_ip4_setting): fix up for 'method'
5232
5233 2008-03-12  Dan Williams  <dcbw@redhat.com>
5234
5235         * system-settings/plugins/ifcfg-fedora/parser.c
5236           system-settings/plugins/ifcfg-fedora/parser.h
5237                 - (get_ifcfg_name): ignore more file suffixes
5238                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
5239
5240 2008-03-12  Dan Williams  <dcbw@redhat.com>
5241
5242         * configure.in
5243                 - Bring in the bits of gnome-common we actually use (all 15 lines)
5244
5245 2008-03-12  Dan Williams  <dcbw@redhat.com>
5246
5247         * system-settings/plugins/ifcfg-fedora/plugin.c
5248                 - (write_auto_wired_connection): new function; write out an auto
5249                         wired connection file since the applet isn't doing it any more
5250                 - (reload_all_connections): write out the auto wired connection file
5251                         if there aren't any wired connections already
5252                 - (init): don't leak a GError
5253
5254 2008-03-12  Dan Williams  <dcbw@redhat.com>
5255
5256         * src/nm-device-interface.c
5257                 - (nm_device_interface_activate): print the ID of the connection
5258                         that's about to be activated
5259
5260 2008-03-12  Dan Williams  <dcbw@redhat.com>
5261
5262         Harmonize the 802.11 bitrate API
5263
5264         * introspection/nm-access-point.xml
5265                 - 'Rate' -> 'MaxBitrate'; clarify units
5266
5267         * introspection/nm-device-802-11-wireless.xml
5268                 - Clarify units of 'Bitrate'
5269
5270         * src/NetworkManagerAP.c
5271           src/NetworkManagerAP.h
5272                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
5273                         property to 'max-bitrate'
5274                 - (foreach_property_cb): convert rate to Kb/s
5275
5276         * src/nm-device-802-11-wireless.c
5277                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
5278
5279         * libnm-glib/nm-access-point.c
5280           libnm-glib/nm-access-point.h
5281                 - 'rate' -> 'max-bitrate'
5282
5283         * test/nm-tool.c
5284           libnm-glib/libnm-glib-test.c
5285                 - Fix up for these changes
5286
5287 2008-03-12  Dan Williams  <dcbw@redhat.com>
5288
5289         * src/nm-device.c
5290                 - (nm_device_set_ip4_config): don't send property notifications when
5291                         the ip4 config is set to NULL; it causes a PropertyChanged signal
5292                         which dbus-glib can't parse because the value is NULL, which isn't
5293                         a legal object path.  Setting the IP4 config to NULL is only
5294                         valid when deactivating a device anyway, so the device state change
5295                         will alert listeners that the ip4 config is invalid.
5296
5297 2008-03-12  Dan Williams  <dcbw@redhat.com>
5298
5299         * src/nm-properties-changed-signal.c
5300                 - (add_to_string): better handling of NULL objects
5301
5302 2008-03-12  Dan Williams  <dcbw@redhat.com>
5303
5304         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
5305         convert the libnm-glib NMDevice8023Ethernet to cached properties
5306
5307         * introspection/nm-device-802-3-ethernet.xml
5308                 - New 'Carrier' property
5309                 - New 'PropertiesChanged' signal
5310
5311         * introspection/nm-device.xml
5312                 - Remove 'Carrier' property
5313                 - Remove 'CarrierChanged' signal
5314
5315         * src/nm-device-interface.c
5316           src/nm-device-interface.h
5317                 - (nm_device_interface_init): remove 'carrier' property and
5318                         'carrier-changed' signal
5319
5320         * src/nm-device.c
5321           src/nm-device.h
5322                 - (nm_device_get_carrier, nm_device_set_carrier): remove
5323                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
5324                         the link here; wired device will handle that
5325                 - (handle_dhcp_lease_change): don't bother updating link here
5326                 - (get_property, nm_device_class_init): remove carrier property
5327
5328         * src/nm-device-802-11-wireless.c
5329                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
5330                         real_update_link(); wireless devices don't use carrier at all
5331                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
5332                    supplicant_iface_connection_state_cb_handler,
5333                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
5334
5335         * src/nm-device-802-3-ethernet.c
5336           src/nm-device-802-3-ethernet.h
5337                 - (nm_device_802_3_ethernet_carrier_on,
5338                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
5339                         instead of nm_device_set_carrier()
5340                 - (device_state_changed): update link from sysfs on activation;
5341                         replaces real_update_link()
5342                 - (real_update_link): remove, replaced by device_state_changed()
5343                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
5344                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
5345                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
5346                         new get_carrier function
5347                 - (get_property): add 'carrier' property
5348                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
5349                         hook into property-changed signal helper
5350
5351         * src/NetworkManagerPolicy.c
5352                 - (device_carrier_changed): will only ever be called with a wired device
5353                 - (device_added): only hook up to carrier-changed for wired devices
5354
5355         * libnm-glib/nm-device.c
5356           libnm-glib/nm-device.h
5357                 - (constructor, nm_device_class_init): remove carrier-changed signal
5358                 - (device_carrier_changed_proxy): remove; unused
5359                 - (nm_device_get_carrier): remove; carrier a property of wired devices
5360
5361         * libnm-glib/nm-device-802-3-ethernet.c
5362           libnm-glib/nm-device-802-3-ethernet.h
5363                 - Convert to cached properties like AP and Wireless objects
5364                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
5365                         instead of a 'char *', return value should not be freed
5366                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
5367                 - (constructor): hook into properties-changed helper
5368                 - (set_property, get_property): new functions
5369                 - (nm_device_802_3_ethernet_class_init): export GObject properties
5370
5371         * test/nm-tool.c
5372                 - (detail_device): strdup the wired hardware address too since it's
5373                         cached now
5374
5375         * libnm-glib/libnm-glib-test.c
5376                 - (dump_wired): strdup the wired hardware address too since it's
5377                         cached now
5378
5379 2008-03-12  Dan Williams  <dcbw@redhat.com>
5380
5381         * libnm-util/nm-setting-ip4-config.c
5382           libnm-util/nm-setting-ip4-config.h
5383                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
5384                         the 'autoip' property from the spec
5385
5386 2008-03-11  Dan Williams  <dcbw@redhat.com>
5387
5388         * src/backends/NetworkManagerGeneric.c
5389           src/backends/NetworkManagerGeneric.h
5390                 - (nm_generic_device_get_use_dhcp): remove
5391
5392 2008-03-11  Dan Williams  <dcbw@redhat.com>
5393
5394         * src/nm-device.c
5395                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
5396                         already in nm_device_set_ip4_config()
5397                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
5398                         due to a DHCP rebind fails
5399                 - (nm_device_set_ip4_config): send property notifications when the
5400                         ip4 config changes
5401                 - (get_property): only report IP4Config property during valid states
5402
5403         * src/NetworkManagerPolicy.c
5404                 - (update_routing_and_dns): ignore devices that don't have an ip4
5405                         config; add parameter 'force_update' to allow callers to specify
5406                         that changes should be made even if the default device doesn't change
5407                 - (device_ip4_config_changed): update DNS and routing when the device's
5408                         IP4Config changes, like for DHCP updates
5409                 - (device_added): listen for ip4-config property changes
5410
5411 2008-03-11  Dan Williams  <dcbw@redhat.com>
5412
5413         Fix address handling as a result of DHCP rebind/renew/reboot.
5414
5415         * src/NetworkManagerSystem.c
5416                 - (check_one_address): delete an address if it doesn't match a given
5417                         one for the same interface
5418                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
5419                         be smarter about flushing addresses (only flush ones that don't
5420                         match the one we're about to apply)
5421
5422         * src/backends/NetworkManagerDebian.c
5423           src/backends/NetworkManagerSuSE.c
5424           src/backends/NetworkManagerArch.c
5425           src/backends/NetworkManagerSlackware.c
5426           src/backends/NetworkManagerRedHat.c
5427           src/backends/NetworkManagerPaldo.c
5428           src/backends/NetworkManagerFrugalware.c
5429           src/backends/NetworkManagerGentoo.c
5430                 - (nm_system_delete_default_route): remove
5431
5432         * src/backends/NetworkManagerGeneric.c
5433           src/backends/NetworkManagerGeneric.h
5434                 - (nm_generic_enable_loopback): fix the loopback device label
5435                 - (nm_generic_delete_default_route): remove; no longer used
5436
5437 2008-03-11  Dan Williams  <dcbw@redhat.com>
5438
5439         * src/nm-device-interface.h
5440                 - Delimit property name words with '-', otherwise g_object_notify()
5441                         doesn't work the way we expect
5442
5443 2008-03-11  Tambet Ingo  <tambet@gmail.com>
5444
5445         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
5446
5447 2008-03-11  Dan Williams  <dcbw@redhat.com>
5448
5449         * src/NetworkManagerPolicy.c
5450                 - (update_routing_and_dns): don't change anything if the default device
5451                         hasn't changed; print something out when switching the default route
5452                         and DNS
5453
5454 2008-03-10  Tambet Ingo  <tambet@gmail.com>
5455
5456         Implement PPPoE.
5457
5458         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
5459         setting. Use "nic-$eth".
5460
5461         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
5462         the device is activating here to fix a race condition.
5463
5464         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
5465
5466         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
5467         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
5468         (nm_ppp_manager_start): Take activation request instead of connection, we might
5469         need it for asking secrets.
5470         (nm_ppp_manager_update_secrets): Implement.
5471
5472         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
5473         ppp manager start. It might be needed for asking secrets.
5474
5475         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
5476         (ppp_state_changed): Handle pppd daemon disappearing.
5477         (pppoe_stage2_config): Send activation request to ppp manager start.
5478
5479         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
5480
5481         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
5482         username and password.
5483         
5484 2008-03-10  Dan Williams  <dcbw@redhat.com>
5485
5486         * src/nm-device.c
5487                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
5488                         response to a DHCP lease change
5489                 - (dhcp_state_changed): handle DHCP lease changes while activated
5490                 - (nm_device_set_ip4_config): remove a previously set named config
5491                         when setting an ip4 config
5492
5493 2008-03-10  Dan Williams  <dcbw@redhat.com>
5494
5495         * src/nm-serial-device.c
5496                 - (nm_serial_device_send_command): report errno on error
5497                 - (get_reply_got_data): limit the size of the overall buffer
5498                 - (wait_for_reply_info_destroy): destroy result string
5499                 - (wait_for_reply_got_data): append received data to an overall buffer
5500                         until timeout, filled buffer, or error instead of keeping a per-call
5501                         buffer.  Some devices send data slowly enough that this function
5502                         gets called multiple times for the same command stream.
5503                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
5504                         wait_for_reply_got_data() here
5505
5506 2008-03-10  Dan Williams  <dcbw@redhat.com>
5507
5508         * src/nm-cdma-device.c
5509                 - (do_dial, init_modem): handle errors from
5510                         nm_serial_device_send_command_string()
5511
5512         * src/nm-gsm-device.c
5513                 - (do_dial, manual_registration, automatic_registration_get_network,
5514                    automatic_registration, enter_pin, check_pin, init_modem): handle
5515                         errors from nm_serial_device_send_command_string()
5516
5517 2008-03-10  Dan Williams  <dcbw@redhat.com>
5518
5519         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
5520
5521         * src/named-manager/nm-named-manager.c
5522                 - (compute_searches): prefer searches before domains
5523                 - (compute_domain): new function
5524                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
5525                 - (merge_one_ip4_config): if there are no searches in the source config,
5526                         merge domains of the source config into the target config
5527                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
5528
5529 2008-03-10  Dan Williams  <dcbw@redhat.com>
5530
5531         * src/nm-serial-device.c
5532                 - (get_reply_got_data): clean up indentation, shrink serial buffer
5533                 - (wait_for_reply_got_data): try to handle slower serial devices where
5534                         the reply is broken up into multiple reads by concatenating replies
5535                         together until either an error is received or the search string is
5536                         found
5537
5538 2008-03-10  Dan Williams  <dcbw@redhat.com>
5539
5540         * src/nm-device.c
5541                 - (nm_device_bring_down): deactivate the device if it's activating too,
5542                         not just if it's already activated.  This makes sure that everything
5543                         from an association attempt is cleaned up (like DHCP for example)
5544
5545 2008-03-10  Dan Williams  <dcbw@redhat.com>
5546
5547         * src/nm-serial-device.c
5548                 - (config_fd): report error from TCSETA
5549                 - (nm_serial_device_open): fail when config_fd() fails
5550
5551 2008-03-10  Dan Williams  <dcbw@redhat.com>
5552
5553         * src/nm-ip4-config.c
5554                 - (nm_ip4_config_init): allocate searches list
5555                 - (finalize): free searches list
5556
5557 2008-03-09  Dan Williams  <dcbw@redhat.com>
5558
5559         Patch from Bas Zoetekouw <bas@debian.org>
5560
5561         * src/dhcp-manager/nm-dhcp-manager.c
5562                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
5563
5564 2008-03-09  Dan Williams  <dcbw@redhat.com>
5565
5566         Patch from Bas Zoetekouw <bas@debian.org>
5567
5568         * src/nm-ip4-config.c
5569           src/nm-ip4-config.h
5570                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
5571                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
5572                         domains.  'searches' is the correct way to store multiple search
5573                         domains, whereas 'domains' is really just supposed to store one
5574                         domain.  Some sites abuse the DHCP 'domain-name' option to push
5575                         search domains to the client.
5576                 - (nm_ip4_config_add_domain): group with related functions (my patch)
5577
5578 2008-03-09  Dan Williams  <dcbw@redhat.com>
5579
5580         * src/dhcp-manager/nm-dhcp-manager.c
5581                 - (dhclient_run): send interface-specific config files to dhclient
5582
5583 2008-03-07  Dan Williams  <dcbw@redhat.com>
5584
5585         * system-settings/plugins/ifcfg-fedora/parser.c
5586                 - (is_wireless_device): new function; test a device for wireless
5587                         extensions
5588                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5589                         test the device for wireless extensions to determine the type
5590
5591 2008-03-07  Dan Williams  <dcbw@redhat.com>
5592
5593         Change manager's StateChange signal to StateChanged for consistency.
5594
5595         * introspection/nm-manager.xml
5596                 - Add 'StateChanged' signal
5597                 - Move 'StateChange' down to the deprecated section
5598
5599         * src/nm-hal-manager.c
5600                 - (nm_hal_manager_new): connect to 'state-changed' instead
5601
5602         * src/NetworkManagerPolicy.c
5603                 - (nm_policy_new): connect to 'state-changed' instead
5604
5605         * src/nm-manager.c
5606           src/nm-manager.h
5607                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5608                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5609                         of 'state-change'
5610
5611         * libnm-glib/nm-client.c
5612           libnm-glib/nm-client.h
5613                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5614                         track and proxy 'state-changed' instead of 'state-change'
5615
5616 2008-03-07  Dan Williams  <dcbw@redhat.com>
5617
5618         First pass of multiple active device support.  Expect bugs.
5619
5620         * src/nm-ip4-config.c
5621           src/nm-ip4-config.h
5622                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5623                         there are better ways to do this in the named manager
5624
5625         * src/nm-device.c
5626           src/nm-device.h
5627                 - (nm_device_can_activate): return whether the device can activate a
5628                         connection right now; taking into account things like carrier state
5629                         and rfkill state
5630                 - (nm_device_get_best_auto_connection): renamed from
5631                         nm_device_get_best_connection
5632                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5633                         device subclasses themselves, so that each device can override the
5634                         MTU from it's NMSetting subclass if needed
5635                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5636                         in NetworkManagerSystem.c, not here
5637
5638         * src/named-manager/nm-named-manager.c
5639           src/named-manager/nm-named-manager.h
5640                 - (nm_named_manager_name_owner_changed,
5641                    nm_named_manager_dbus_connection_changed): fix for changes to
5642                         rewrite_resolv_conf()
5643                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5644                         from parameter list
5645                 - (merge_one_ip4_config): new function; merge ip4 configs together
5646                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5647                         ip4 configs; the VPN config takes precedence, then the best
5648                         device config, then the rest of the configs
5649                 - (get_domain_for_config): take the NMNamedManager as an argument
5650                         to check whether the config is the VPN config
5651                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5652                         attribute from ip4 configs
5653                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5654                 - (remove_ip4_config_from_named): fix for changes to
5655                         get_domain_for_config()
5656                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5657                         based on its type; callers must pass in the type now
5658                 - (get_last_default_domain): remove, unused
5659                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5660
5661         * src/nm-device-802-11-wireless.c
5662                 - (real_can_activate): new function
5663                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5664                 - (real_act_stage4_get_ip4_config): handle MTU override
5665
5666         * src/nm-device-802-3-ethernet.c
5667                 - (real_can_activate): new function
5668                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5669                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5670
5671         * src/vpn-manager/nm-vpn-connection.c
5672                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5673                         attribute on the ip4 config
5674
5675         * src/NetworkManagerPolicy.c
5676                 - (nm_policy_auto_get_best_device): remove
5677                 - (nm_policy_device_change_check): remove
5678                 - (update_default_route): new function; set the default route via
5679                         the specified device
5680                 - (get_device_priority): new function; return the priority number of
5681                         a device type WRT which one should have the default route.  Order is
5682                         (highest to lowest)  wired, wireless, GSM, CDMA.
5683                 - (update_routing_and_dns): new function; determine which device should
5684                         have the default route, then update the routing table and DNS
5685                 - (maybe_auto_activate_device): new function; if a device is now
5686                         available for activation, find out what connection it would like to
5687                         activate and do it
5688                 - (schedule_activate_check): new function; if a device can be activated
5689                         now, schedule the activation.  Each device may have only one
5690                         pending activation at a given time.
5691                 - (device_state_changed): if activation was canceled, try again,
5692                         possibly with another connection; if the device was activated,
5693                         update routing and DNS; if the device was deactivated, try again
5694                         with another connection
5695                 - (device_carrier_changed): if there is no carrier, deactivate the
5696                         device; otherwise schedule an activation check for the device
5697                 - (wireless_networks_changed): schedule an activation check for the
5698                         device
5699                 - (device_added): keep track of the signal handler IDs so they can
5700                         be removed when the device goes away
5701                 - (device_removed): remove any signal handlers that might be attached
5702                         to the device; update routing and DNS
5703                 - (schedule_activate_all): new function
5704                 - (connections_added, connection_added, connection_updated): when
5705                         connections change, schedule all devices for an activation check
5706                 - (connection_removed): when a device is deactivated because its
5707                         connection was removed, schedule another activation check for it
5708                 - (nm_policy_destroy): destroy pending activations and disconnect
5709                         all device signal handlers
5710
5711         * src/nm-manager.c
5712                 - (nm_manager_activate_device): if the device was already actived,
5713                         deactivate it
5714                 - (deactivate_old_device): remove
5715                 - (connection_added_default_handler, impl_manager_activate_device):
5716                         don't deactivate other devices when activating this one
5717
5718         * src/backends/NetworkManagerGentoo.c
5719           src/backends/NetworkManagerFrugalware.c
5720           src/backends/NetworkManagerPaldo.c
5721           src/backends/NetworkManagerRedHat.c
5722           src/backends/NetworkManagerSlackware.c
5723           src/backends/NetworkManagerArch.c
5724           src/backends/NetworkManagerSuSE.c
5725           src/backends/NetworkManagerDebian.c
5726                 - (nm_system_get_mtu): remove; MTU should be provided through the
5727                         distro's system settings service plugin instead
5728                 - (nm_system_device_add_default_route_via_device): remove
5729                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5730                 - (nm_system_device_replace_default_route): new function; call
5731                         generic implementation
5732
5733         * src/backends/NetworkManagerGeneric.c
5734           src/backends/NetworkManagerGeneric.h
5735                 - (nm_generic_device_add_default_route_via_device,
5736                    nm_generic_device_add_default_route_via_device_with_iface): remove
5737                 - (nm_generic_device_replace_default_route): replace the default route
5738                         with the given route via some gateway
5739
5740         * src/NetworkManagerSystem.c
5741           src/NetworkManagerSystem.h
5742                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5743                         to routing and DNS; but set the MTU here
5744                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5745                         ip_iface of the active device; use the standard MTU setting function
5746                 - (nm_system_set_mtu): remove
5747                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5748
5749 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5750
5751         Rework the interaction between ppp manager and pppd plugin. Register a well
5752         known DBUS service in manager and let the plugin call it's methods instead
5753         of listening plugin's signals.
5754
5755         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5756         of emitting signals.
5757
5758         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5759
5760         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5761
5762         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5763         nm_ppp_manager_start().
5764
5765         * introspection/nm-ppp-manager.xml: New file.
5766
5767         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5768         the case correctly where driver is trying to send -1 for the speed, which gets
5769         casted to u16 and thus is always > 0.
5770
5771 2008-03-07  Dan Williams  <dcbw@redhat.com>
5772
5773         * src/nm-hal-manager.c
5774                 - (nm_get_device_driver_name): use net.originating_device first, fall
5775                         back to physical device.  HAL has deprecated physical_device.
5776
5777         * libnm-glib/nm-device.c
5778                 - (get_product_and_vendor): use net.originating_device first, fall
5779                         back to physical device.  HAL has deprecated physical_device.
5780                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
5781
5782 2008-03-07  Dan Williams  <dcbw@redhat.com>
5783
5784         * src/nm-netlink.c
5785                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
5786                         last commit; fix that
5787                 - (get_link_cache): print error string
5788
5789 2008-03-07  Dan Williams  <dcbw@redhat.com>
5790
5791         * src/nm-netlink.c
5792                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
5793                         don't need this hack any more (Benoit Boissinot)
5794
5795 2008-03-06  Dan Williams  <dcbw@redhat.com>
5796
5797         * autogen.sh
5798                 - Die gnome-common, die
5799
5800 2008-03-04  Dan Williams  <dcbw@redhat.com>
5801
5802         Patch from Michael Biebl <biebl@debian.org>
5803
5804         * NetworkManager.pc.in
5805                 - doesn't actually depend on dbus-1
5806
5807         * libnm-util/nm-utils.h
5808                 - remove unused #include <dbus/dbus.h>
5809
5810         * libnm-glib/libnm_glib.pc.in
5811                 - depends on glib and dbus-glib
5812
5813 2008-03-02  Dan Williams  <dcbw@redhat.com>
5814
5815         * src/NetworkManagerPolicy.c
5816                 - s/device_state_changed_idle_id/update_state_id/
5817
5818 2008-03-02  Dan Williams  <dcbw@redhat.com>
5819
5820         * src/nm-device.c
5821           src/nm-device.h
5822           src/nm-device-802-11-wireless.c
5823           src/nm-device-802-3-ethernet.c
5824           src/NetworkManagerPolicy.c
5825                 - s/link_active/carrier
5826                 - nm_device_set_active_link() -> nm_device_set_carrier()
5827                 - nm_device_has_active_link() -> nm_device_get_carrier()
5828
5829 2008-03-02  Dan Williams  <dcbw@redhat.com>
5830
5831         * system-settings/plugins/ifcfg-fedora/parser.c
5832                 - (make_wireless_setting): fail connection creation on missing SSID
5833
5834 2008-02-29  Dan Williams  <dcbw@redhat.com>
5835
5836         * src/NetworkManagerPolicy.c
5837                 - (nm_policy_device_change_check): ensure that a previously active
5838                         device with a system connection has a link before denying a switch
5839                         to a user connection
5840
5841 2008-02-29  Dan Williams  <dcbw@redhat.com>
5842
5843         * src/nm-device-802-11-wireless.c
5844                 - (link_timeout_cb): try again if scanning; deactivate the device when
5845                         activated if the link dies
5846                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
5847                         15 seconds
5848
5849 2008-02-29  Dan Williams  <dcbw@redhat.com>
5850
5851         * src/nm-device-802-11-wireless.c
5852           src/nm-device-802-11-wireless.h
5853                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
5854                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
5855                 - (device_cleanup): reset the scan interval lower when the device
5856                         deactivates
5857                 - (can_scan): base decision mostly off device state, not supplicant
5858                         interface state since the supplicant interface state isn't a
5859                         great indicator of whether the device is active or not
5860                 - (request_wireless_scan): clean up; schedule the next scan here
5861                 - (schedule_scan): only back the scan interval off if a new scan
5862                         actually gets scheduled; and make scan intervals tighter when the
5863                         device is disconnected
5864                 - (supplicant_iface_state_cb_handler): fold in the bits of
5865                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
5866                         interval to minimum
5867                 - (activation_success_handler): reset scan interval to something
5868                         reasonable 
5869
5870 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
5871
5872         reviewed by: Steev <steev@steev.net>
5873
5874         * configure.in:
5875         * src/backends/NetworkManagerGentoo.c:
5876         (nm_system_restart_mdns_responder):
5877                 Howl is no longer a supported mDNS provider
5878
5879 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5880
5881         Get rid of a bunch of unused distro specific functions.
5882
5883 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5884
5885         Implement suse plugin for system settings daemon.
5886
5887         * system-settings/plugins/ifcfg-suse/*: Implement.
5888
5889         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
5890         suse.
5891
5892         * configure.in: Check (without failing) for gio.
5893         Create ifcfg-suse plugin's Makefile.
5894
5895 2008-02-20  Dan Williams  <dcbw@redhat.com>
5896
5897         * libnm-util/nm-connection.c
5898           libnm-util/nm-connection.h
5899                 - (nm_connection_compare): accept compare flags and pass them to the
5900                         setting compare function
5901
5902         * libnm-util/nm-setting.c
5903           libnm-util/nm-setting.h
5904                 - (nm_setting_compare): accept compare flags; ignore properties that are
5905                         marked fuzzy
5906
5907         * libnm-util/nm-setting-connection.c
5908           libnm-util/nm-setting-wireless.c
5909           libnm-util/nm-setting-ppp.c
5910           libnm-util/nm-setting-wired.c
5911                 - Mark some setting properties as ignorable when doing a fuzzy compare
5912
5913         * src/nm-device.c
5914                 - (device_activation_precheck): use exact compare
5915
5916 2008-02-20  Dan Williams  <dcbw@redhat.com>
5917
5918         * src/NetworkManagerPolicy.c
5919                 - (nm_policy_device_change_check): get scope off the connection, not
5920                         using the manager helper
5921
5922         * src/nm-manager.c
5923           src/nm-manager.h
5924                 - (get_scope_for_proxy): rename from get_type_for_proxy()
5925                 - (connection_get_settings_cb): set scope and path on connection, not
5926                         using GObject data items
5927                 - (get_connection_for_proxy): don't need to return path, since that
5928                         can be gotten from the connection
5929                 - (get_connection_for_proxy): get path off the connection, not from
5930                         parameters
5931                 - (connection_removed_cb, connection_updated_cb): don't need to get
5932                         path from get_connection_for_proxy(); get scope off the connection
5933                         instead of using GObject data items
5934                 - (connection_added_default_handler, add_one_connection_element): use
5935                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
5936                 - (nm_manager_get_connection_dbus_path): remove
5937                 - (nm_manager_get_connection_scope): remove
5938
5939 2008-02-20  Dan Williams  <dcbw@redhat.com>
5940
5941         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
5942                 on confusing names
5943
5944         * Add 'path' and 'scope' properties to NMConnection since both NM and the
5945                 applet were having to hack this in anyway.  Remove the 'path' stuff from
5946                 NMExportedConnection
5947
5948         * Internally rename NMConnectionType -> NMConnectionScope
5949
5950         * Provide default implementations of the 'get_id' and 'get_settings' methods
5951                 of NMExportedConnection
5952
5953 2008-02-15  Dan Williams  <dcbw@redhat.com>
5954
5955         * src/nm-device-802-11-wireless.c
5956                 - (device_cleanup): release the AP list here too so that the AP list
5957                         doesn't survive across suspend/resume and up/down.  There is some
5958                         room for optimization, for example blow the list away when the card
5959                         brought back up, but only if the device has only been down for a
5960                         minute or more.
5961
5962 2008-02-15  Dan Williams  <dcbw@redhat.com>
5963
5964         * src/nm-hal-manager.c
5965                 - (modem_device_creator): recognize new HAL modem capabilities
5966
5967 2008-02-12  Dan Williams  <dcbw@redhat.com>
5968
5969         * system-settings/plugins/ifcfg-fedora/plugin.c
5970                 - (watch_path): handle IN_DELETE_SELF too
5971                 - (handle_connection_changed): notify when removing a connection
5972                 - (stuff_changed): don't warn on unknown inotify watches; handle the
5973                         case of a file moving out of the profile directory
5974
5975 2008-02-12  Dan Williams  <dcbw@redhat.com>
5976
5977         * system-settings/plugins/ifcfg-fedora/parser.c
5978                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
5979
5980 2008-02-12  Dan Williams  <dcbw@redhat.com>
5981
5982         * libnm-util/nm-utils.c
5983                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
5984                         just any empty array
5985
5986 2008-02-12  Dan Williams  <dcbw@redhat.com>
5987
5988         * system-settings/src/nm-system-config-interface.c
5989           system-settings/src/nm-system-config-interface.h
5990                 - (load_connections): get_connections() should now return an allocated
5991                         GSList that the system settings service will free
5992
5993         * system-settings/plugins/ifcfg-fedora/plugin.c
5994           system-settings/plugins/ifcfg-fedora/parser.h
5995           system-settings/plugins/ifcfg-fedora/parser.c
5996                 - Fix up inotify issues; handle keys-* files, handle new files appearing
5997                         in the profile directory, handle resolv.conf file changes
5998
5999 2008-02-10  Dan Williams  <dcbw@redhat.com>
6000
6001         * src/nm-device-802-3-ethernet.c
6002                 - (real_bring_up): save the supplicant interface state signal id
6003                 - (real_bring_down): disconnect from the supplicant interface state
6004                         signal
6005
6006 2008-02-07  Dan Williams  <dcbw@redhat.com>
6007
6008         * initscript/RedHat/NetworkManager.in
6009           initscript/RedHat/NetworkManagerDispatcher.in
6010                 - Add new-style LSB init headers
6011
6012 2008-02-07  Dan Williams  <dcbw@redhat.com>
6013
6014         * system-settings/src/dbus-settings.c
6015           system-settings/src/dbus-settings.h
6016                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
6017                         table of secrets
6018                 - (connection_settings_get_secrets): consolidate error returns into
6019                         one place; use the new get_secrets() plugin interface function to
6020                         get secrets from the plugin itself rather than using GObject data
6021                         magic
6022
6023         * system-settings/src/main.c
6024                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
6025                    load_connections): keep a private list of the plugin-returned
6026                         connections, don't use the plugin's GSList
6027
6028         * system-settings/plugins/ifcfg-fedora/plugin.c
6029                 - (watch_path): watch the path, not the filename (duh)
6030                 - (reload_all_connections): use the direct hash/equal functions; the
6031                         ones for int aren't appropriate here
6032                 - (get_secrets, system_config_interface_init): implement the
6033                         get_secrets() function
6034                 - (build_one_connection, find_connection_by_path): ifcfg file path is
6035                         now in the connection's ConnectionData instead of being a GObject
6036                         data property
6037                 - (handle_profile_item_changed): ifcfg file path is now in the
6038                         connection's ConnectionData instead of being a GObject data property;
6039                         be sure to copy secrets over from the new connection to the existing
6040                         connection when updating the connection's settings
6041                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
6042                         file descriptor
6043
6044         * system-settings/plugins/ifcfg-fedora/parser.c
6045           system-settings/plugins/ifcfg-fedora/parser.h
6046                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
6047                    connection_data_copy_secrets, connection_data_free,
6048                    connection_data_add): new functions; connection data manipulation
6049                 - (make_wireless_security_setting): stuff secrets into the
6050                         connection data, not as GObject data items; make sure to close
6051                         the keys ifcfg file
6052                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
6053                         connection data to the connection
6054
6055 2008-02-07  Dan Williams  <dcbw@redhat.com>
6056
6057         * system-settings/src/nm-system-config-interface.c
6058           system-settings/src/nm-system-config-interface.h
6059                 - Add a get_secrets() interface function to retrieve secrets for a
6060                         specific setting of a specific connection.  Document the interface
6061                         a bit more too.
6062
6063 2008-02-07  Dan Williams  <dcbw@redhat.com>
6064
6065         * src/nm-device-802-11-wireless.c
6066                 - (handle_auth_or_fail): new function; consolidate device activation
6067                         failure check after a certain number of failures getting secrets
6068                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
6069                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
6070                         the connection if secrets were requested more than a few times
6071                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
6072                         tries here; otherwise they are cleared before the IP configure
6073                         timeout, which happens with open system WEP when key is wrong
6074                 - (activation_success_handler): clear wireless secrets tries here too
6075
6076 2008-02-07  Dan Williams  <dcbw@redhat.com>
6077
6078         * src/NetworkManagerPolicy.c
6079                 - (connection_updated): clear invalid tag when connection gets updated
6080                         to allow that connection to be tried again
6081                 - (nm_policy_new): save signal ids so they can be disconnected when
6082                         the policy is destroyed
6083                 - (nm_policy_destroy): stop any in-progress state change idle handler,
6084                         and disconnect all signals from the manager object so that none
6085                         of the policy functions gets called after the policy is destroyed
6086
6087 2008-02-06  Dan Williams  <dcbw@redhat.com>
6088
6089         * src/nm-manager.c
6090                 - (finalize): remove devices a bit earlier; clean up system settings
6091                         poke
6092                 - (nm_manager_name_owner_changed): clean up system settings poke when
6093                         the service appears, and try to restart it if it fails
6094                 - (poke_system_settings_daemon_cb): try to get the system settings
6095                         service started through D-Bus service activation
6096                 - (initial_get_connections): start the system settings daemon if it's
6097                         not already running
6098
6099 2008-02-05  Dan Williams  <dcbw@redhat.com>
6100
6101         * src/supplicant-manager/nm-supplicant-config.c
6102                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
6103                         broadcast networks too
6104
6105 2008-02-04  Dan Williams  <dcbw@redhat.com>
6106
6107         * system-settings/plugins/ifcfg-fedora/parser.c
6108                 - (make_wireless_security_setting): fix spelling; unencrypted networks
6109                         need key_mgmt set too
6110                 - (parser_parse_file): validate ifcfg file name and don't try to parse
6111                         .bak files; ensure that an error is set whenever NULL gets returned
6112
6113 2008-02-04  Dan Williams  <dcbw@redhat.com>
6114
6115         * system-settings/src/Makefile.am
6116                 - Install D-Bus service activation file for the system settings
6117                         service
6118
6119         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
6120                 - D-Bus service activation file for system settings service
6121
6122 2008-02-04  Dan Williams  <dcbw@redhat.com>
6123
6124         * system-settings/src/main.c
6125                 - (parse_config_file): parse a config file
6126                 - (main): accept --config option and read plugins from config file
6127
6128 2008-02-04  Dan Williams  <dcbw@redhat.com>
6129
6130         * system-settings/plugins/ifcfg-fedora/plugin.c
6131                 - Change reported name to 'ifcfg-fedora'
6132                 - Use IFCFG_PLUGIN_NAME
6133
6134         * system-settings/plugins/ifcfg-fedora/plugin.c
6135                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
6136
6137 2008-02-04  Dan Williams  <dcbw@redhat.com>
6138
6139         * system-settings/plugins/ifcfg-fedora/parser.c
6140                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
6141                 - (make_connection_setting): use get_ifcfg_name()
6142                 - (make_wireless_security_setting): handle shadow key files
6143                 - (get_one_wep_key): treat empty string as NULL
6144
6145 2008-02-04  Dan Williams  <dcbw@redhat.com>
6146
6147         * src/supplicant-manager/nm-supplicant-manager.c
6148                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
6149                         glib automatically reschedule
6150                 - (nm_supplicant_manager_init): immediately try to start the supplicant
6151                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
6152                         the supplicant
6153
6154 2008-02-01  Dan Williams  <dcbw@redhat.com>
6155
6156         * src/NetworkManagerPolicy.c
6157                 - (device_state_changed): schedule a change check when a device gets
6158                         deactivated so something happens if you disconnect GSM/CDMA
6159
6160 2008-01-31  Dan Williams  <dcbw@redhat.com>
6161
6162         * src/nm-device-802-11-wireless.h
6163           src/nm-device-802-11-wireless.c
6164                 - (ap_list_get_ap_by_ssid, is_associated,
6165                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
6166                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
6167                 - (nm_device_802_11_wireless_get_activation_ap): collapse
6168                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
6169                         function
6170
6171 2008-01-30  Dan Williams  <dcbw@redhat.com>
6172
6173         * system-settings/plugins/ifcfg
6174         * system-settings/plugins/ifcfg-fedora
6175                 - Move the ifcfg plugin to ifcfg-fedora
6176
6177 2008-01-24  Dan Williams  <dcbw@redhat.com>
6178
6179         * libnm-glib/nm-device-802-11-wireless.c
6180                 - (get_access_point): move the "/" check here; check for invalid path
6181                         too
6182                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
6183                         to get_access_point()
6184                 - (access_point_added_proxy, access_point_removed_proxy): don't try
6185                         to send signals for non-existent access points
6186
6187 2008-01-24  Dan Williams  <dcbw@redhat.com>
6188
6189         * libnm-glib/nm-device-802-11-wireless.c
6190                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
6191
6192 2008-01-23  Dan Williams  <dcbw@redhat.com>
6193
6194         * libnm-glib/libnm_glib.c
6195                 - (libnm_glib_init): make thread joinable
6196                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
6197
6198 2008-01-23  Dan Williams  <dcbw@redhat.com>
6199
6200         * test/libnm_glib_test.c
6201                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
6202                 - (main): set up signal handlers; call libnm_glib_shutdown
6203
6204 2008-01-21  Dan Williams  <dcbw@redhat.com>
6205
6206         * include/NetworkManager.h
6207                 - Add CDMA mobile broadband card device type
6208
6209         * src/nm-hal-manager.c
6210                 - (modem_device_creator): handle both CDMA and GSM modems; the device
6211                         must now be tagged with 'cdma' or 'gsm' capability
6212
6213         * src/nm-cdma-device.c
6214           src/nm-cdma-device.h
6215           src/Makefile.am
6216                 - Add the CDMA mobile broadband card device class
6217
6218         * libnm-util/nm-connection.c
6219                 - (register_default_settings): add NMSettingCdma
6220
6221         * libnm-util/nm-setting-cdma.c
6222           libnm-util/nm-setting-cdma.h
6223           libnm-util/Makefile.am
6224                 - Add the CDMA mobile broadband card setting class
6225
6226         * libnm-glib/nm-cdma-device.c
6227           libnm-glib/nm-cdma-device.h
6228           libnm-glib/Makefile.am
6229                 - Add the CDMA mobile broadband card GLib proxy class
6230
6231         * libnm-glib/nm-client.c
6232                 - (get_device): handle CDMA devices too
6233
6234 2008-01-21  Dan Williams  <dcbw@redhat.com>
6235
6236         * src/ppp-manager/nm-ppp-manager.c
6237                 - (ip4_config_get): set peer address too
6238
6239         * src/ppp-manager/nm-pppd-plugin.c
6240                 - (nm_ip_up): try harder to get the peer's address
6241
6242         * src/NetworkManagerSystem.c
6243                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
6244                         address, use that too.  Otherwise, some PPP connections won't work.
6245
6246 2008-01-19  Dan Williams  <dcbw@redhat.com>
6247
6248         * src/NetworkManagerPolicy.c
6249                 - (nm_policy_device_change_check): system connections override user
6250                         connections; don't activate a user connection if there's a currently
6251                         active system connection, and new, better system connections always
6252                         interrupt user connections
6253
6254 2008-01-19  Dan Williams  <dcbw@redhat.com>
6255
6256         * src/nm-manager.h
6257                 - (nm_manager_get_connection_type): new function
6258
6259 2008-01-19  Dan Williams  <dcbw@redhat.com>
6260
6261         * src/nm-device-802-11-wireless.c
6262                 - (real_get_best_connection): collapse find_best_connection() into this
6263                         function
6264
6265 2008-01-19  Dan Williams  <dcbw@redhat.com>
6266
6267         * src/nm-device-802-3-ethernet.c
6268                 - (real_get_best_connection): collapse find_best_connection() into this
6269                         function
6270
6271 2008-01-18  Dan Williams  <dcbw@redhat.com>
6272
6273         * src/nm-device-802-3-ethernet.c
6274                 - (find_best_connection): check MAC address too
6275                 - (real_get_best_connection): let autoconnect=True connections activate
6276                         for devices that don't have carrier detection
6277
6278         * src/nm-device-802-11-wireless.c
6279                 - (find_best_connection): check MAC address too
6280
6281 2008-01-18  Dan Williams  <dcbw@redhat.com>
6282
6283         * system-settings/plugins/ifcfg/parser.c
6284                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
6285
6286 2008-01-17  Dan Williams  <dcbw@redhat.com>
6287
6288         * src/nm-device-802-3-ethernet.c
6289                 - (nm_device_802_3_ethernet_carrier_on,
6290                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
6291                         carrier events that might come in for devices that don't support
6292                         carrier detect
6293
6294 2008-01-17  Dan Williams  <dcbw@redhat.com>
6295
6296         * src/nm-device-interface.c
6297                 - (nm_device_interface_check_connection_conflicts): need to actually
6298                         get the interface, not cast to the object
6299
6300         * src/nm-device.c
6301                 - (nm_device_check_connection_conflicts): need to get the device class,
6302                         not cast the device to the device class
6303
6304 2008-01-17  Dan Williams  <dcbw@redhat.com>
6305
6306         * src/nm-device-802-11-wireless.c
6307                 - (real_check_connection_conflicts): ignore connections that aren't
6308                         wireless connections
6309
6310 2008-01-17  Dan Williams  <dcbw@redhat.com>
6311
6312         * src/NetworkManagerPolicy.c
6313                 - (nm_policy_device_change_check): clear change check idle here
6314                 - (device_change_check_done): remove
6315                 - (schedule_change_check): simplify
6316
6317 2008-01-17  Dan Williams  <dcbw@redhat.com>
6318
6319         * src/nm-manager.c
6320                 - (check_connection_allowed): take an NMDeviceInterface instead of
6321                         an NMDevice object as an argument
6322                 - (nm_manager_activate_device): pass an NMDeviceInterface to
6323                         check_connection_allowed()
6324
6325 2008-01-13  Dan Williams  <dcbw@redhat.com>
6326
6327         * libnm-glib/nm-device-802-11-wireless.c
6328                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
6329
6330 2008-01-12  Dan Williams  <dcbw@redhat.com>
6331
6332         * src/nm-device-802-11-wireless.c
6333                 - (activation_success_handler): if a match was found in the scan list
6334                         and that match is a hidden AP, update that AP's SSID
6335
6336 2008-01-11  Dan Williams  <dcbw@redhat.com>
6337
6338         * src/NetworkManagerAP.c
6339                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
6340
6341         * src/nm-device-802-11-wireless.c
6342                 - (get_active_ap): do two passes over the scan list if the caller
6343                         requests that hidden APs get matched too; during the second pass
6344                         when matching hidden APs, ignore the SSID since hidden APs in the
6345                         scan list don't have an SSID yet
6346                 - (periodic_update): move some checks to
6347                         nm_device_802_11_periodic_update() because not all callers need them
6348                 - (nm_device_802_11_periodic_update): move some checks here from
6349                         perodic_update()
6350                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
6351                         matching on incoming scan results, because the fake AP's flags
6352                         might be slightly different (yet still compatible) with the incoming
6353                         scan result's flags and they might actually be the same AP; update
6354                         the rate on merged APs too
6355                 - (activation_success_handler): update the frequency of the fake AP
6356                         on successful connection; match hidden APs too since if the
6357                         current AP is fake, there might already be a scan result in the
6358                         scan list for the desired AP, just without it's SSID filled in yet
6359
6360 2008-01-10  Dan Williams  <dcbw@redhat.com>
6361
6362         * src/NetworkManagerAP.c
6363                 - (foreach_property_cb): catch more hidden SSID formats
6364
6365 2008-01-10  Dan Williams  <dcbw@redhat.com>
6366
6367         Fix gnome.org #464215.  Requires the kernel patch titled
6368         "Introduce WEXT scan capabilities" but will handle the patch not being
6369         present, you'll just continue to have problems with hidden SSIDs when
6370         using mac80211-based drivers.
6371
6372         * src/supplicant-manager/nm-supplicant-config.h
6373           src/supplicant-manager/nm-supplicant-config.c
6374                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
6375                         whether the driver supports SSID scans or not.  If it does, and if
6376                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
6377
6378         * src/nm-device-802-11-wireless.c
6379                 - (constructor): check whether or not the driver supports SSID scans
6380                 - (build_supplicant_config): pass driver SSID scan capability when
6381                         building the wireless bits of the supplicant config
6382
6383 2008-01-09  Dan Williams  <dcbw@redhat.com>
6384
6385         * src/nm-device.c
6386           src/nm-device.h
6387                 - (device_activation_precheck, check_connection_complete): remove this
6388                         virtual function; incomplete connections should be invalid by
6389                         definition, complete-ness should be checked in the setting's
6390                         verify function
6391
6392         * src/nm-serial-device.c
6393           src/nm-gsm-device.c
6394                 - (real_check_connection_complete): remove
6395
6396         * libnm-util/nm-setting-serial.c
6397                 - (verify): new function; ensure there is a PPP setting too
6398
6399         * libnm-util/nm-setting-gsm.c
6400                 - (verify): ensure there is a serial setting too
6401
6402 2008-01-06  Dan Williams  <dcbw@redhat.com>
6403
6404         * src/dhcp-manager/nm-dhcp-manager.c
6405                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
6406                         (gnome.org #332953)
6407
6408 2008-01-04  Dan Williams  <dcbw@redhat.com>
6409
6410         * src/named-manager/nm-named-manager.c
6411                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
6412                         nameservers if the secondary config doesn't have any
6413                         (gnome.org #346833)
6414
6415 2008-01-02  Tambet Ingo  <tambet@gmail.com>
6416
6417         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
6418         with G_PARAM_CONSTRUCT so that they get the default values.
6419
6420         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
6421         the monitoring device and prints out the output for now. Or more precicely, doesn't
6422         do absolutely anything right now since the montoring device argument is never set.
6423
6424         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
6425         requires it's own knob to turn it on.
6426         (config_fd): Add NMSettingSerial to the arguments list.
6427         (nm_serial_device_open): Ditto.
6428         (get_reply_got_data): Ignore the terminators at the beginning of the output.
6429         (nm_serial_device_get_io_channel): Implement.
6430
6431         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
6432         a new reference every time (and forgetting to release it sometimes) is a pain and
6433         it's not like NMManager could work without dbus.
6434         (nm_manager_add_device): Register the added device on dbus here.
6435
6436         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
6437         device.
6438
6439         * src/nm-device.c (constructor): Don't export the device here, instead export
6440         it when it's added to the NMManager's device list.
6441
6442 2007-12-31  Dan Williams  <dcbw@redhat.com>
6443
6444         * src/nm-device-interface.c
6445           src/nm-device-interface.h
6446                 - (nm_device_interface_check_connection_conflicts): new function
6447
6448         * src/nm-device.c
6449           src/nm-device.h
6450                 - (nm_device_check_connection_conflicts): new function
6451                 - (device_activation_precheck): don't require subclasses to implement
6452                         check_connection_complete()
6453                 - check_connection() -> check_connection_complete()
6454
6455         * src/nm-device-802-11-wireless.c
6456                 - (real_check_connection): remove; unused
6457                 - (real_check_connection_conflicts): implement, handle lockdown for
6458                         system connections
6459
6460         * src/nm-device-802-3-ethernet.c
6461                 - (real_check_connection): remove; unused
6462
6463         * src/nm-manager.c
6464                 - (check_connection_allowed): new function
6465                 - (nm_manager_activate_device): ensure the connection being requested
6466                         is allowed to be activated
6467
6468         * src/nm-serial-device.c
6469           src/nm-gsm-device.c
6470                 - real_check_connection() -> real_check_connection_complete()
6471
6472 2007-12-27  Dan Williams  <dcbw@redhat.com>
6473
6474         * src/nm-device-interface.c
6475           src/nm-device-interface.h
6476                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
6477                         normalize and expand errors
6478                 - (nm_device_interface_init): register errors so they can be marshalled
6479                         through dbus-glib
6480                 - (nm_device_interface_activate): ensure that failure of activation
6481                         returns an error
6482
6483         * src/nm-device.c
6484           src/nm-device.h
6485                 - (device_activation_precheck): implementations of check_connection()
6486                         now take a GError and must fill it in if the check fails.  Return
6487                         more descriptive error if the requested connection is already
6488                         activating
6489                 - (nm_device_activate): actually try to return descriptive errors on
6490                         failures
6491
6492         * src/nm-device-802-11-wireless.c
6493           src/nm-device-802-3-ethernet.c
6494           src/nm-serial-device.c
6495           src/nm-gsm-device.c
6496                 - (real_check_connection): return more descriptive errors on failure
6497
6498         * src/NetworkManagerPolicy.c
6499                 - (nm_policy_device_change_check): print activation errors in the logs
6500
6501         * src/nm-manager.c
6502                 - (nm_manager_error_quark, nm_manager_error_get_type,
6503                    nm_manager_class_init): new errors
6504                 - (nm_manager_activate_device): handle errors
6505                 - (nm_manager_error_new): removed
6506                 - (wait_for_connection_expired, connection_added_default_handler,
6507                    impl_manager_activate_device): better error handling
6508
6509 2007-12-27  Dan Williams  <dcbw@redhat.com>
6510
6511         Fixes gnome.org #466954
6512
6513         * src/supplicant-manager/nm-supplicant-settings-verify.c
6514                 - Allow 'frequency' network property
6515
6516         * src/supplicant-manager/nm-supplicant-config.c
6517           src/supplicant-manager/nm-supplicant-config.h
6518                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
6519                         for callers to specify the frequency an Ad-Hoc network should operate
6520                         on.  Some drivers require this to successfully create an Ad-Hoc
6521                         network.
6522
6523         * src/nm-device-802-11-wireless.c
6524                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
6525                         guint32 value in MHz
6526                 - (constructor, nm_device_802_11_wireless_get_frequency): use
6527                         iw_freq_to_uint32()
6528                 - (find_supported_frequency): new function; find a free supported
6529                         frequency for a user-created Ad-Hoc network
6530                 - (build_supplicant_config): if no frequency was specified for a user-
6531                         created Ad-Hoc network, find a free one to use
6532                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
6533                         a specific object as user-created
6534
6535 2007-12-27  Dan Williams  <dcbw@redhat.com>
6536
6537         * libnm-util/nm-utils.c
6538           libnm-util/nm-utils.h
6539                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
6540                         for adhoc networks
6541
6542 2007-12-24  Dan Williams  <dcbw@redhat.com>
6543
6544         * libnm-util/nm-setting-wireless.c
6545                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
6546                         185, 187, 188, 192, and 196
6547
6548 2007-12-24  Dan Williams  <dcbw@redhat.com>
6549
6550         * src/nm-device-802-11-wireless.c
6551                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
6552                         a channel # instead of a frequency
6553
6554 2007-12-24  Dan Williams  <dcbw@redhat.com>
6555
6556         * src/NetworkManagerAP.c
6557           src/NetworkManagerAP.h
6558                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
6559                 - (freq_to_channel): handle split band tables
6560                 - (channel_to_freq): handle split band tables, take a band argument
6561
6562 2007-12-24  Dan Williams  <dcbw@redhat.com>
6563
6564         * libnm-util/nm-setting-connection.h
6565           libnm-util/nm-setting-connection.c
6566                 - Add 'lockdown' member
6567
6568 2007-12-22  Dan Williams  <dcbw@redhat.com>
6569
6570         * libnm-util/nm-setting-wireless.c
6571                 - (nm_setting_wireless_class_init): add missing 'rate' property
6572                         specification
6573
6574 2007-12-18  Dan Williams  <dcbw@redhat.com>
6575
6576         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
6577
6578         * src/nm-netlink-monitor.c
6579           src/nm-netlink-monitor.h
6580                 - Remove handrolled netlink, use libnl instead
6581
6582         * src/nm-device-802-3-ethernet.c
6583                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6584                    nm_device_802_3_ethernet_carrier_on): use new names
6585
6586 2007-12-17  Dan Williams  <dcbw@redhat.com>
6587
6588         * configure.in
6589                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6590                         and fixes memory leaks)
6591
6592         * src/nm-netlink.c
6593                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6594                         automatically handle the netlink PID
6595
6596 2007-12-17  Dan Williams  <dcbw@redhat.com>
6597
6598         Patch from Michael Biebl <biebl@debian.org>
6599
6600         * configure.in
6601           src/ppp-manager/Makefile.am
6602                 - fix up install dir of pppd plugin
6603                 - clean up configure.in a bit
6604
6605 2007-12-12  Dan Williams  <dcbw@redhat.com>
6606
6607         * system-settings/src/nm-system-settings.conf
6608                 - Allow non-root clients (like the applet) to read settings
6609
6610 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6611
6612         * Replace all occurences of 'UMTS' with 'GSM'.
6613
6614 2007-12-07  Dan Williams  <dcbw@redhat.com>
6615
6616         * src/nm-serial-device.c
6617                 - (real_is_up): serial devices are always "up"
6618
6619 2007-12-07  Dan Williams  <dcbw@redhat.com>
6620
6621         * src/nm-netlink.c
6622           src/NetworkManagerSystem.c
6623                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6624                         twice (gnome.org #491047)
6625                 - Make more robust against allocation-related failures should they occur
6626
6627 2007-12-07  Dan Williams  <dcbw@redhat.com>
6628
6629         Noticed by Christian Persch <chpe@gnome.org>
6630
6631         Always chain up to parent object in dispose and finalize handlers.
6632                 (gnome.org #433112)
6633
6634 2007-12-07  Dan Williams  <dcbw@redhat.com>
6635
6636         * src/nm-device-802-11-wireless.c
6637                 - Wrap #include of linux/mii.h to fix redefined structures due to
6638                         incorrect kernel headers (gnome.org #350061)
6639
6640 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6641
6642         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6643         before doing anything else.
6644         (init_modem): Move modem initialization here.
6645
6646         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6647         (nm_serial_device_flash): Implement.
6648
6649         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6650         changes signal is "StateChanged" and not "Status".
6651         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6652
6653 2007-12-06  Dan Williams  <dcbw@redhat.com>
6654
6655         * src/supplicant-manager/nm-supplicant-config.c
6656                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6657                         to only send some options when they make sense; also send phase2
6658                         option to the supplicant (possible fix for rh #399631)
6659
6660 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6661
6662         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6663         arguments: This whole file shouldn't really know anything about NMDevices, it
6664         should deal only with device interfaces. Devices might have different ifaces for
6665         different stuff and this place shouldn't know anything about it.
6666
6667         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6668         (global_state_changed): Implement. In the current NM it's not really important,
6669         but will be required in the case of multiple active devices. (Or even better,
6670         if stuff like that gets moved out from NM).
6671
6672         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6673         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6674         instead.
6675
6676         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6677         devices like serial devices (ttyS0 and ppp0 for example).
6678         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6679         set.
6680         (nm_device_set_ip_iface): Implement.
6681         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6682         after setting ip4_config from here ...
6683         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6684         than this function should call nm_system_device_set_from_ip4_config() because no
6685         other code has enough information on which arguments to use. So instead, other code
6686         could just set the new ip4 config using this function and everyone is happy.
6687
6688         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6689         if we happen to get deactivated while something is pending.
6690         (automatic_registration): Handle the response that indicates pending network
6691         registration and wait until the pending registration is done.
6692         (real_deactivate_quickly): If there's a pending operation, cancel it.
6693
6694         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6695         (real_deactivate_quickly): ... and remove it when it's down.
6696         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6697         it if needed.
6698         (nm_serial_device_wait_for_reply): Ditto.
6699
6700 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6701
6702         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6703         (get_network_done): Remove newline, nm_info() does it already.
6704         (real_act_stage1_prepare): Turn the modem echo off.
6705
6706         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6707         device, set the route to the device interface. This is a hack.
6708
6709         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6710         return, no need for a new-line.
6711         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6712         Change the device iface here (ugh).
6713         (real_act_stage4_get_ip4_config): Implement.
6714         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6715         Restore the device iface.
6716
6717         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6718         device is not wired or wireless (eg, automatically upped) device.
6719
6720         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6721         it isn't.
6722         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6723
6724         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6725         before calling it's is_device_fn().
6726
6727 2007-12-05  Dan Williams  <dcbw@redhat.com>
6728
6729         * libnm-util/nm-utils.c
6730                 - (nm_utils_register_value_transformations,
6731                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6732                         GHashTables of GValues too
6733
6734 2007-12-04  Dan Williams  <dcbw@redhat.com>
6735
6736         * initscript/RedHat/NetworkManager.in
6737                 - No longer start named; it's D-Bus interface is going away
6738
6739 2007-12-04  Dan Williams  <dcbw@redhat.com>
6740
6741         Patch from Michael Biebl <biebl@debian.org>
6742
6743         * system-settings/plugins/ifcfg/Makefile.am
6744           system-settings/src/main.c
6745           system-settings/src/Makefile.am
6746                 - Put system settings plugins in NM plugins dir
6747
6748         * src/ppp-manager/Makefile.am
6749           src/ppp-manager/nm-ppp-manager.c
6750                 - Move pppd plugin to NM plugins dir
6751
6752 2007-12-04  Dan Williams  <dcbw@redhat.com>
6753
6754         * libnm-util/nm-setting-vpn-properties.h
6755                 - Clarify usage of the 'data' member of the setting
6756
6757         * libnm-util/nm-setting-vpn-properties.c
6758                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6759                 - (set_property): just remove all the settings; don't recreate the has
6760                 - (update_one_secret): don't need to create the hash table here since
6761                         it should always be present
6762
6763 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6764
6765         Implement PIN and PUK requesting.
6766
6767         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6768         (enter_pin): Handle PIN and PUK requests.
6769         (real_act_stage1_prepare): Clear the secret type.
6770         (real_connection_secrets_updated): Implement this class method to get
6771         notified when new secrets arrive.
6772         (nm_umts_device_class_init): Add private data back to the umts device class
6773         to store the required secret type.
6774
6775 2007-12-01  Dan Williams  <dcbw@redhat.com>
6776
6777         * system-settings/plugins/ifcfg/parser.c
6778                 - (parser_parse_file): don't try to verify NULL connections
6779
6780 2007-12-01  Dan Williams  <dcbw@redhat.com>
6781
6782         * system-settings/src/main.c
6783                 - (load_connections, add_connection_to_settings): actually export
6784                         plugin-provided connections over D-Bus so NM can get them
6785
6786 2007-12-01  Dan Williams  <dcbw@redhat.com>
6787
6788         * system-settings/plugins/ifcfg/parser.c
6789           system-settings/plugins/ifcfg/parser.h
6790           system-settings/plugins/ifcfg/plugin.c
6791                 - Hook up more inotify bits (untested)
6792
6793 2007-11-29  Dan Williams  <dcbw@redhat.com>
6794
6795         * system-settings/src/nm-system-config-interface.h
6796           system-settings/src/nm-system-config-interface.c
6797                 - (nm_system_config_interface_init,
6798                    nm_system_config_interface_get_connections): add
6799
6800         * system-settings/src/main.c
6801                 - (load_plugins, load_connections, main): use a GSList for plugins
6802                         to ensure priority ordering
6803
6804         * system-settings/plugins/ifcfg/parser.c
6805                 - (ifcfg_error_quark): move to plugin.c, and rename
6806
6807         * system-settings/plugins/ifcfg/plugin.h
6808           system-settings/plugins/ifcfg/plugin.c
6809                 - (ifcfg_plugin_error_quark): move here from parser.c
6810                 - rework connection loading and initialization
6811                 - Add preliminary inotify support for network profile config file
6812
6813 2007-11-28  Tambet Ingo  <tambet@gmail.com>
6814
6815         Merge the beginnings of the new GSM card support.
6816
6817         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
6818         ppp watch source before killing pppd - If this happens from g_object_unref()
6819         then the ppp manager is already destroyed by the time the watch callback runs.
6820
6821         * src/nm-hal-manager.c: Add a device_type_name string to the device
6822         creators, so that we can print a nice human readable string when a
6823         device is added.
6824
6825         * src/nm-umts-device.c (automatic_registration_get_network): Query
6826         for the activated network, not much is done with the result thought.
6827
6828         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
6829         (ppp_ip4_config): Change the device state to activated here for now.
6830         (real_check_connection): Make sure the connection includes ppp setting.
6831
6832         * libnm-glib/nm-client.c (get_device): Handle umts devices.
6833
6834         * libnm-glib/Makefile.am: Add the new files to build.
6835
6836         * libnm-glib/nm-umts-device.c: 
6837         * libnm-glib/nm-umts-device.h: Implement.
6838
6839 2007-11-26  Tambet Ingo  <tambet@gmail.com>
6840
6841         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
6842         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
6843
6844         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
6845         the timeout source - this function is only called when the timeout source has
6846         been removed.
6847         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
6848         to be big enough to contain the terminating zero element as well.
6849         The timeout argument is meant to be in seconds now.
6850         (real_deactivate_quickly): Implement.
6851
6852         * src/NetworkManager.conf: Allow root to own 
6853         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
6854
6855         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
6856         (not unsigned ints).
6857
6858         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
6859         small issue with parity bounds - capital letters have lower ascii codes
6860         than lower case letters.
6861
6862         * libnm-util/nm-connection.c (register_default_settings): Register serial
6863         and umts settings.
6864
6865 2007-11-22  Tambet Ingo  <tambet@gmail.com>
6866
6867         Remove the "index" property from devices as not all device types have this.
6868
6869         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
6870
6871         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
6872         (wired_device_creator): Get the device interface from hal to create the device.
6873         (wireless_device_creator): Ditto.
6874
6875         * src/nm-device.c (nm_device_init): Remove the index member.
6876         (constructor): Remove the checks for index property, make interface property
6877         a require constructor property.
6878         Use the HAL udi for DBus path for devices.
6879         (nm_device_get_index): Remove.
6880         (set_property): Remove index handling.
6881         (get_property): Ditto.
6882         (nm_device_get_dbus_path): Remove.
6883
6884         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
6885         property.
6886
6887         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
6888         Access the device index through it's interface.
6889         (nm_device_802_3_ethernet_link_deactivated): Ditto.
6890         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
6891         index argument. Add interface argument.
6892
6893         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
6894         the useless test_dev argument. Remove index argument. Add interface arugment.
6895
6896         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
6897         device index through interface.
6898         (nm_system_set_mtu): Ditto.
6899
6900         * introspection/nm-device.xml: Remove the "Index" property.
6901
6902 2007-11-21  Tambet Ingo  <tambet@gmail.com>
6903
6904         * src/nm-serial-device.c: 
6905         * src/nm-serial-device.c: 
6906         * src/nm-umts-device.c:
6907         * src/nm-umts-device.h: Implement.
6908
6909         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
6910         allocated by libhal.
6911         (modem_device_creator): Implement.
6912         (register_built_in_creators): Register the modem creator.
6913
6914         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
6915         Remove the unused test_dev argument.
6916
6917         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
6918
6919         * src/Makefile.am: Add new files to build.
6920         Link in ppp-manager.
6921
6922         * libnm-util/nm-setting-umts.c: 
6923         * libnm-util/nm-setting-umts.h: 
6924         * libnm-util/nm-setting-serial.c: 
6925         * libnm-util/nm-setting-serial.h: Implement.
6926
6927         * libnm-util/Makefile.am: Add new files to build.
6928
6929 2007-11-28  Dan Williams  <dcbw@redhat.com>
6930
6931         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
6932
6933         Support DHCP-provided static routes.
6934
6935         * src/nm-ip4-config.h
6936           src/nm-ip4-config.c
6937                 - Add get/set functions for static routes
6938
6939         * src/dhcp-manager/nm-dhcp-manager.c
6940                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
6941                         DHCP response
6942
6943         * src/NetworkManagerSystem.c
6944                 - (nm_system_device_set_from_ip4_config): set any static routes on the
6945                         interface when applying the IP4Config
6946
6947 2007-11-28  Dan Williams  <dcbw@redhat.com>
6948
6949         * src/nm-device-802-11-wireless.c
6950                 - (real_act_stage1_prepare): mark APs created for hidden networks
6951                         as non-broadcasting
6952
6953 2007-11-27  Dan Williams  <dcbw@redhat.com>
6954
6955         * system-settings/src/nm-system-config-interface.h
6956                 - Note how to store secrets on NMSetting objects
6957
6958         * system-settings/src/dbus-settings.c
6959                 - (connection_settings_get_secrets): implement
6960
6961 2007-11-27  Dan Williams  <dcbw@redhat.com>
6962
6963         * system-settings/plugins/ifcfg/Makefile.am
6964           system-settings/plugins/ifcfg/parser.c
6965           system-settings/plugins/ifcfg/parser.h
6966           system-settings/plugins/ifcfg/plugin.c
6967                 - Parse wireless connections too
6968
6969         * system-settings/src/dbus-settings.c
6970           system-settings/src/dbus-settings.h
6971           system-settings/src/main.c
6972                 - Handle connection update/removal if the plugin supports it
6973
6974 2007-11-27  Dan Williams  <dcbw@redhat.com>
6975
6976         * src/nm-dbus-manager.h
6977           src/nm-hal-manager.c
6978                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
6979                         do it for them
6980
6981         * src/Makefile.am
6982           src/NetworkManagerDbusUtils.c
6983           src/NetworkManagerDbusUtils.h
6984                 - Remove these two source files; they are unused
6985
6986 2007-11-27  Dan Williams  <dcbw@redhat.com>
6987
6988         * src/vpn-manager/nm-vpn-manager.c
6989                 - (impl_vpn_manager_connect): fix system settings check (found by
6990                         James M. Leddy)
6991
6992 2007-11-26  Dan Williams  <dcbw@redhat.com>
6993
6994         * Fix warnings so everything compiles with --enable-more-warnings
6995
6996 2007-11-25  Dan Williams  <dcbw@redhat.com>
6997
6998         * system-settings/*
6999                 - Rework structure and code to use GModule-loaded plugins and a plugin
7000                         interface that plugins export to the system settings service
7001
7002 2007-11-21  Dan Williams  <dcbw@redhat.com>
7003
7004         * system-settings/*
7005                 - Add Soren's system settings service.  Needs work for distros other
7006                         than Fedora; the backends from NM should mostly migrate to here
7007                         and be converted to GObjects
7008
7009 2007-11-21  Dan Williams  <dcbw@redhat.com>
7010
7011         * libnm-util/nm-setting-vpn-properties.c
7012                 - (set_property): must deep-copy the given settings hash, otherwise
7013                         double-free errors occur when the setting is disposed of
7014
7015 2007-11-21  Dan Williams  <dcbw@redhat.com>
7016
7017         * src/vpn-manager/nm-vpn-act-request.h
7018           src/vpn-manager/nm-vpn-act-request.c
7019                 - Remove; unused
7020
7021 2007-11-20  Dan Williams  <dcbw@redhat.com>
7022
7023         * libnm-util/nm-utils.c
7024                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
7025                    nm_utils_convert_ip4_addr_struct_array_to_string,
7026                    nm_utils_register_value_transformations): print out the readable
7027                         values of more types of properties of NMSettings subclasses
7028
7029 2007-11-20  Dan Williams  <dcbw@redhat.com>
7030
7031         * libnm-util/nm-setting-ip4-config.c
7032                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
7033                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
7034                         marshal GValueArrays inside collections, so switch to types that it
7035                         can actually marshal/demarshal
7036
7037 2007-11-16  Dan Williams  <dcbw@redhat.com>
7038
7039         * libnm-util/nm-setting-wireless-security.c
7040                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
7041                         minimal verification of EAP methods too
7042                 - (verify): verify phase1 eap methods too
7043
7044 2007-11-15  Dan Williams  <dcbw@redhat.com>
7045
7046         * libnm-glib/nm-device.h
7047           libnm-glib/nm-device.c
7048                 - (nm_device_get_product, nm_device_get_vendor): should be returning
7049                         const char *
7050
7051 2007-11-15  Dan Williams  <dcbw@redhat.com>
7052
7053         * libnm-glib/nm-device.c
7054                 - (get_product_and_vendor): don't try to free things that should be
7055                         freed
7056
7057 2007-11-15  Dan Williams  <dcbw@redhat.com>
7058
7059         * src/NetworkManagerUtils.c
7060                 - (nm_ethernet_address_is_valid): unbreak previous fix
7061
7062 2007-11-15  Dan Williams  <dcbw@redhat.com>
7063
7064         * src/supplicant-manager/nm-supplicant-config.c
7065                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
7066                         options
7067
7068 2007-11-15  Dan Williams  <dcbw@redhat.com>
7069
7070         * src/NetworkManagerUtils.c
7071                 - (nm_ethernet_address_is_valid): fix style, clarify
7072                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
7073
7074         * src/nm-device-802-11-wireless.c
7075                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
7076                 - (nm_device_802_11_wireless_get_ssid,
7077                    nm_device_802_11_wireless_get_bssid,
7078                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
7079                         before calling the ioctl; fixes valgrind-reported jump depends on
7080                         uninitialized value errors
7081
7082 2007-11-15  Dan Williams  <dcbw@redhat.com>
7083
7084         * libnm-util/nm-setting.c
7085                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
7086                         unecessary to serialize 'name'
7087
7088         * src/nm-activation-request.c
7089                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
7090                         the GetSecrets call
7091
7092 2007-11-15  Dan Williams  <dcbw@redhat.com>
7093
7094         * libnm-util/nm-setting-connection.h
7095           libnm-util/nm-setting-connection.c
7096                 - Rename the 'name' property to 'id', because it conflicted with the
7097                         NMSetting superclass' 'name' property.
7098
7099         * libnm-util/nm-setting.c
7100                 - (nm_setting_to_hash): serialize the 'name' property
7101                 - (one_property_cb): ignore 'name' on deserialization of a connection
7102
7103         * src/nm-device-802-11-wireless.c
7104           src/vpn-manager/nm-vpn-connection.c
7105           src/NetworkManagerPolicy.c
7106                 - Fix up for NMSettingConnection 'name'->'id' changes
7107
7108 2007-11-13  Dan Williams  <dcbw@redhat.com>
7109
7110         * libnm-glib/nm-device-802-11-wireless.h
7111           libnm-glib/nm-device-802-11-wireless.c
7112                 - (nm_device_802_11_wireless_get_hw_address): return should be const
7113
7114         * test/nm-tool.c
7115           libnm-glib/libnm-glib-test.c
7116                 - Fixes for above change
7117
7118 2007-11-12  Dan Williams  <dcbw@redhat.com>
7119
7120         * src/supplicant-manager/nm-supplicant-settings-verify.c
7121                 - Allow fragment_size option
7122
7123         * src/supplicant-manager/nm-supplicant-settings-verify.c
7124                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
7125                         EAP fragment size than the default to help some TLS connections
7126
7127 2007-11-12  Dan Williams  <dcbw@redhat.com>
7128
7129         Make certs actually work.  The private key is now a secret, and should be
7130         decrypted when requested by NM.  The private key and phase2 private key
7131         passwords are no longer interesting to NM because they should be used by
7132         the settings service to decrypt the private key itself before passing it
7133         to NM, and hence have been removed as fields.
7134
7135         * libnm-util/nm-setting-wireless-security.h
7136           libnm-util/nm-setting-wireless-security.c
7137                 - Remove private-key-passwd and phase2-private-key-passwd from
7138                         properties
7139                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
7140                    need_secrets): use property #defines instead strings to keep things
7141                         consistent
7142                 - (need_secrets_tls): if a client certificate is present but no
7143                         private key, request the private key
7144                 - (set_property, get_property, nm_setting_wireless_security_class_init):
7145                         remove private key password stuff, mark private keys as secret
7146
7147         * src/supplicant-manager/nm-supplicant-settings-verify.c
7148                 - Remove private_key_passwd and private_key2_passwd from opt_table
7149
7150 2007-11-09  Dan Williams  <dcbw@redhat.com>
7151
7152         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
7153         Since the vpn-properties are managed and known by the VPN daemons themselves,
7154         libnm-util doesn't know what's secret and what's in the setting's 'data'
7155         member.
7156
7157         * libnm-util/nm-setting.h
7158           libnm-util/nm-setting.c
7159                 - Add the ability for subclasses to override update_one_secret
7160
7161         * libnm-util/nm-setting-vpn-properties.c
7162                 - Override update_one_secret and just copy the values into the
7163                         internal table
7164
7165 2007-11-09  Dan Williams  <dcbw@redhat.com>
7166
7167         * libnm-glib/nm-settings.h
7168           libnm-glib/nm-settings.c
7169                 - (nm_settings_new_error): remove
7170                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
7171                         clients should use g_set_error() with NM_SETTINGS_ERROR
7172
7173 2007-11-09  Dan Williams  <dcbw@redhat.com>
7174
7175         * src/supplicant-manager/nm-supplicant-config.c
7176                 - (nm_supplicant_config_add_setting_wireless_security): private key
7177                         passwords are never sent to wpa_supplicant, because the supplicant
7178                         should never be reading random files from the disk.  Clients like
7179                         the applet are required to decrypt the private keys and send NM
7180                         the decrypted blobs.
7181
7182 2007-11-08  Dan Williams  <dcbw@redhat.com>
7183
7184         * libnm-util/nm-setting-wireless-security.h
7185           libnm-util/nm-setting-wireless-security.c
7186                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
7187                         members to 802-11-wireless-security structure.  This should be used
7188                         to indicate that the values in private-key and phase2-private-key
7189                         are already decrypted by the user agent, and that no
7190                         private-key-passwd or phase2-private-key-passwd should be expected.
7191                         It is not meant to be a stored configuration value, but meant to
7192                         be set when the conneciton is sent to NM over dbus.
7193
7194 2007-11-08  Dan Williams  <dcbw@redhat.com>
7195
7196         * libnm-util/nm-connection.h
7197           libnm-util/nm-connection.c
7198                 - (nm_connection_need_secrets): add argument to return hints
7199
7200         * src/nm-device-802-11-wireless.c
7201                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7202                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
7203                         nm_connection_need_secrets() change
7204
7205 2007-11-07  Tambet Ingo  <tambet@gmail.com>
7206
7207         Rework NMSetting structures: Move each setting to it's own file.
7208         Convert to GObject. Remove home grown setting types and use GTypes.
7209         Use GObject property introspection for hash conversion, enumerating
7210         properties, etc.
7211
7212         * libnm-util/nm-setting-connection.[ch]
7213         * libnm-util/nm-setting-ip4-config.[ch]
7214         * libnm-util/nm-setting-ppp.[ch]
7215         * libnm-util/nm-setting-vpn.[ch]
7216         * libnm-util/nm-setting-vpn-properties.[ch]
7217         * libnm-util/nm-setting-wired.[ch]
7218         * libnm-util/nm-setting-wireless.[ch]
7219         * libnm-util/nm-setting-wireless-security.[ch]
7220
7221         New files, each containing a setting.
7222
7223         * libnm-util/nm-setting-template.[ch]: A template for creating new
7224         settings. To use it, just replace 'template' with the new setting
7225         name, and you're half-way done.
7226
7227         * libnm-util/nm-setting.c: Convert to GObject and use GObject
7228         introspection instead of internal types and tables.
7229
7230         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
7231
7232         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
7233         GValue types defined by dbus-glib for composed types like collections,
7234         structures and maps.
7235
7236         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
7237         a setting from connection takes the setting type now. Also, since
7238         the settings are in multiple files, include relevant settings.
7239
7240 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
7241
7242         * configure.in:
7243         * src/backends/NetworkManagerGentoo.c:
7244         (nm_system_restart_mdns_responder): Implement restarts for other mdns
7245         providers in Gentoo.
7246
7247 2007-10-31  Dan Williams  <dcbw@redhat.com>
7248
7249         * libnm-util/nm-connection.c
7250                 - (gvalue_to_string): handle UINT32 arrays
7251
7252 2007-10-31  Dan Williams  <dcbw@redhat.com>
7253
7254         * libnm-glib/nm-device.h
7255           libnm-glib/nm-device.c
7256                 - (nm_device_get_description): remove
7257                 - (nm_device_get_product, nm_device_get_vendor): add
7258                 - (nm_device_update_description): new function (private); walk HAL
7259                         devices to get product and vendor IDs for a specific device
7260
7261 2007-10-31  Dan Williams  <dcbw@redhat.com>
7262
7263         * src/nm-device-802-11-wireless.c
7264                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
7265
7266 2007-10-29  Dan Williams  <dcbw@redhat.com>
7267
7268         * src/nm-hal-manager.c
7269                 - (device_added, device_new_capability): ignore device additions while
7270                         asleep.  Fixes crash caused when NM goes to sleep, a network device
7271                         kernel module is unloaded and reloaded and recognized by NM again.
7272
7273 2007-10-26  Dan Williams  <dcbw@redhat.com>
7274
7275         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
7276
7277         * src/NetworkManagerAP.c
7278           src/NetworkManagerAP.h
7279           libnm-glib/nm-access-point.c
7280           libnm-glib/nm-access-point.h
7281                 - Make 'rate' property a guint32 to better match with WEXT and
7282                         wpa_supplicant and to allow representation of higher bitrates
7283
7284         * src/nm-device-802-11-wireless.c
7285           introspection/nm-device-802-11-wireless.xml
7286           libnm-glib/nm-device-802-11-wireless.c
7287           libnm-glib/nm-device-802-11-wireless.h
7288                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
7289
7290         * src/nm-device-802-3-ethernet.c
7291           src/nm-device-802-3-ethernet.h
7292           introspection/nm-device-802-3-ethernet.xml
7293           libnm-glib/nm-device-802-3-ethernet.c
7294           libnm-glib/nm-device-802-3-ethernet.h
7295                 - Make 'speed' property a guint32 to match other speed/rate types
7296                 - Make nm_device_802_3_ethernet_get_speed() static
7297
7298         * test/nm-tool.c
7299                 - Update for the changes above
7300
7301 2007-10-26  Dan Williams  <dcbw@redhat.com>
7302
7303         * src/named-manager/nm-named-manager.c
7304                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
7305                     not calling fclose() twice on some error conditions
7306
7307 2007-10-26  Dan Williams  <dcbw@redhat.com>
7308
7309         * src/nm-activation-request.c
7310                 - (dispose): clean up indentation; get the right DBusGProxy object to
7311                         cancel the GetSecrets pending call on.  Need to use the Secrets
7312                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
7313                         pending call doesn't get canceled, and pressing Cancel in the
7314                         applet's password dialog could cause get_secrets_cb() to be called
7315                         after the activation request has already been destroyed
7316
7317 2007-10-24  Dan Williams  <dcbw@redhat.com>
7318
7319         * src/supplicant-manager/nm-supplicant-config.c
7320                 - (nm_supplicant_config_add_blob): pass blob data and length for
7321                         verification
7322                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
7323
7324 2007-10-24  Dan Williams  <dcbw@redhat.com>
7325
7326         * src/supplicant-manager/nm-supplicant-settings-verify.c
7327                 - (opt_table): max length for certificates should be 65536
7328
7329 2007-10-24  Dan Williams  <dcbw@redhat.com>
7330
7331         * src/supplicant-manager/nm-supplicant-interface.c
7332                 - (blob_free): correctly free blob data after use
7333                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
7334
7335 2007-10-24  Dan Williams  <dcbw@redhat.com>
7336
7337         * libnm-util/nm-setting.c
7338                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
7339                         EAP method need secrets
7340
7341 2007-10-24  Dan Williams  <dcbw@redhat.com>
7342
7343         * src/backends/NetworkManagerRedHat.c
7344                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
7345
7346 2007-10-23  Dan Williams  <dcbw@redhat.com>
7347
7348         * libnm-util/nm-setting.c
7349           libnm-util/nm-setting.c
7350                 - (nm_setting_compare): implement
7351                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
7352                    compare_one_hash_gvalue): compare the contents of a setting
7353
7354         * libnm-util/nm-connection.c
7355                 - (nm_connection_compare): implement
7356
7357 2007-10-23  Dan Williams  <dcbw@redhat.com>
7358
7359         * src/nm-activation-request.c
7360                 - (get_secrets_cb): handle getting a setting back that is more than
7361                         just secrets (ie, user changed auth or EAP method or something)
7362
7363 2007-10-23  Dan Williams  <dcbw@redhat.com>
7364
7365         * libnm-util/nm-setting.c
7366           libnm-util/nm-setting.h
7367                 - (nm_setting_verify): new function; verify one setting
7368                 - (nm_settings_verify_all): rename from nm_settings_verify()
7369                 - (setting_connection_verify, setting_wireless_verify): allow NULL
7370                         all_settings
7371
7372         * libnm-util/nm-connection.c
7373                 - (nm_connection_replace_settings, nm_connection_verify,
7374                    nm_connection_new_from_hash): handle nm_settings_verify() rename
7375
7376 2007-10-23  Dan Williams  <dcbw@redhat.com>
7377
7378         * src/nm-device-802-11-wireless.c
7379                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
7380                         desired behavior
7381
7382 2007-10-23  Dan Williams  <dcbw@redhat.com>
7383
7384         * src/supplicant-manager/nm-supplicant-settings-verify.c
7385                 - eap_allowed, phase2_allowed: harmonize with allowed values from
7386                         nm-settings.c
7387
7388 2007-10-23  Dan Williams  <dcbw@redhat.com>
7389
7390         * src/nm-device-802-11-wireless.c
7391                 - (real_act_stage2_config): after the first association failure,
7392                         if the connection still needs secrets ask the user for them
7393                         explicitly.  After the fourth association failure due to bad
7394                         secrets, fail the connection entirely.  Handles the GetSecrets
7395                         loop that NM gets into when the provided secrets don't match up
7396                         with the connection details.
7397
7398 2007-10-23  Dan Williams  <dcbw@redhat.com>
7399
7400         * src/supplicant-manager/nm-supplicant-config.c
7401                 - (nm_supplicant_config_add_setting_wireless_security): only add
7402                         WPA-specific options when WPA is in use
7403
7404 2007-10-23  Dan Williams  <dcbw@redhat.com>
7405
7406         * src/supplicant-manager/nm-supplicant-config.c
7407                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
7408                         secret doesn't need to be unhexified
7409
7410 2007-10-23  Dan Williams  <dcbw@redhat.com>
7411
7412         * libnm-util/nm-setting.c
7413                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
7414                         before trying to do something with it
7415
7416 2007-10-23  Dan Williams  <dcbw@redhat.com>
7417
7418         * src/nm-device-802-11-wireless.c
7419                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
7420
7421 2007-10-23  Dan Williams  <dcbw@redhat.com>
7422
7423         * src/nm-device-802-11-wireless.c
7424                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
7425                         non-SSID-broadcasting APs
7426
7427 2007-10-23  Dan Williams  <dcbw@redhat.com>
7428
7429         * src/NetworkManagerAP.c
7430                 - (match_cipher, security_compatible): remove
7431                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
7432                         libnm-util instead
7433
7434 2007-10-23  Dan Williams  <dcbw@redhat.com>
7435
7436         * libnm-util/nm-utils.c
7437           libnm-util/nm-utils.h
7438                 - (nm_utils_ap_security_compatible): common function for checking
7439                         whether a specific AP is compatible with an NMConnection
7440
7441 2007-10-23  Dan Williams  <dcbw@redhat.com>
7442
7443         * libnm-util/nm-setting.c
7444                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
7445                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
7446                    need_secrets_password, setting_wireless_security_verify): fix
7447                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
7448                         secrets logic for each supported EAP method
7449
7450 2007-10-23  Dan Williams  <dcbw@redhat.com>
7451
7452         * src/supplicant-manager/nm-supplicant-config.c
7453                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
7454                         config option name, should be "private_key2_passwd"
7455
7456 2007-10-22  Tambet Ingo  <tambet@gmail.com>
7457
7458         Implement support for static IP addresses, additional/overridden DNS and
7459         DNS domain search lists.
7460
7461         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
7462         (ip4_addresses_to_gvalue): Implement.
7463         (convert_array_to_byte_array): Implement.
7464         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
7465         NM_S_TYPE_IP4_ADDRESSES.
7466         (nm_setting_hash): Ditto.
7467         (default_setting_clear_secrets): Add a default case for the switch: IP address
7468         shouldn't be secret, ever.
7469         (setting_ip4_config_verify): Update, requires addresses in case of manual
7470         configurations.
7471         (setting_ip4_config_destroy): Free stuff.
7472
7473         * src/nm-device.c (merge_ip4_config): Implement.
7474         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
7475
7476 2007-10-22  Dan Williams  <dcbw@redhat.com>
7477
7478         * libnm-util/nm-setting.c
7479                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
7480                         pairwise cipher options for Dynamic WEP
7481
7482 2007-10-21  Dan Williams  <dcbw@redhat.com>
7483
7484         * src/NetworkManagerAP.c
7485           src/NetworkManagerAP.h
7486                 - Rename 'articifical' -> 'fake' since that's what they are until
7487                         noticed in scans
7488                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
7489                         from the attributes in an NMConnection object
7490                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
7491                         WPA Enterprise
7492                 - (nm_ap_match_in_list): find a matching AP in a scan list
7493
7494         * src/nm-device-802-11-wireless.c
7495                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
7496                         AP when searching the scan list; match on frequency and mode too
7497                 - (nm_device_802_11_wireless_get_frequency): implement
7498                 - (merge_scanned_ap): replace duplicate matching logic with
7499                         nm_ap_match_in_list()
7500                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
7501                         the user is trying to connect to a hidden network that is not yet
7502                         known from the scan list
7503                 - (activation_success_handler): now that the card knows the AP's BSSID,
7504                         there may already be a scanned AP in the scan list that is what
7505                         we really wanted to connect to, but didn't know at the time.  Use
7506                         that instead of the 'fake' AP created at activation start and get
7507                         rid of the 'fake' AP 
7508                 - (cull_scan_list): don't remove fake APs
7509
7510 2007-10-21  Dan Williams  <dcbw@redhat.com>
7511
7512         * src/nm-activation-request.h
7513           src/nm-activation-request.c
7514                 - (nm_act_request_set_specific_object): new function; allow setting the
7515                         specific object if one isn't set yet
7516
7517 2007-10-20  Dan Williams  <dcbw@redhat.com>
7518
7519         * src/supplicant-manager/nm-supplicant-config.h
7520           src/supplicant-manager/nm-supplicant-config.c
7521                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
7522                         table to store blobs
7523                 - (nm_supplicant_config_add_blob): new function; add blob to internal
7524                         blob hash table
7525                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
7526                 - (nm_supplicant_config_add_setting_wireless_security): handle
7527                         options that use certificates (ie, blobs)
7528
7529         * src/nm-device-802-11-wireless.c
7530                 - (build_supplicant_config): pass a UID (just use the connection path)
7531                         to the supplicant config as now required
7532
7533         * src/supplicant-manager/nm-supplicant-interface.c
7534                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
7535                         there are any blobs to send to wpa_supplicant, send those first
7536                         before sending the network configuration
7537
7538 2007-10-19  Dan Williams  <dcbw@redhat.com>
7539
7540         Split the GetSecrets() call off to a separate D-Bus interface so that it
7541         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
7542         should be able to call GetSecrets().
7543
7544         * include/NetworkManager.h
7545                 - Define the connection secrets D-Bus interface
7546
7547         * src/vpn-manager/nm-vpn-connection.c
7548                 - (clear_need_auth): get the right proxy object for the connection
7549                         secrets interface
7550                 - (get_connection_secrets): use the connection secrets proxy; send
7551                         empty hints in get secrets request
7552
7553         * src/nm-activation-request.c
7554                 - (nm_act_request_request_connection_secrets): use the connection
7555                         secrets proxy; send empty hints in get secrets request
7556
7557         * src/nm-manager.c
7558           src/nm-manager.h
7559                 - (connection_get_settings_cb): set the connection secrets proxy on
7560                         the connection object too
7561                 - (internal_new_connection_cb): create the connection secrets proxy
7562
7563         * introspection/nm-settings-connection.xml
7564                 - Define Connection.Secrets interface and move GetSecrets there
7565                 - Add a 'hints' argument to GetSecrets
7566
7567         * libnm-glib/nm-settings.c
7568           libnm-glib/nm-settings.h
7569                 - (impl_connection_settings_get_secrets): add 'hints' argument
7570
7571 2007-10-19  Dan Williams  <dcbw@redhat.com>
7572
7573         * src/nm-device.c
7574                 - (constructor): add message about what path a device is exported as
7575                         to help in debugging rh #339011
7576
7577 2007-10-17  Dan Williams  <dcbw@redhat.com>
7578
7579         * libnm-util/nm-utils.h
7580           libnm-util/nm-utils.c
7581                 - (nm_utils_security_valid): common function to help find the intersection
7582                         of capabilities of devices and (optionally) access points
7583
7584 2007-10-17  Dan Williams  <dcbw@redhat.com>
7585
7586         * src/nm-device-802-11-wireless.c
7587                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7588                         don't get erroneously cleared
7589
7590 2007-10-17  Dan Williams  <dcbw@redhat.com>
7591
7592         * src/nm-manager.h
7593           src/nm-manager.c
7594           src/nm-hal-manager.c
7595                 - (device_removed, finalize, nm_manager_remove_device,
7596                    nm_manager_sleep): add a 'deactivate' argument to 
7597                    nm_manager_remove_device() to fully deactivate devices when necessary
7598                    (ie, always except when waking up)
7599
7600 2007-10-16  Dan Williams  <dcbw@redhat.com>
7601
7602         * libnm-util/nm-setting.c
7603                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7604                         also isn't valid phase2 autheap method
7605
7606 2007-10-16  Dan Williams  <dcbw@redhat.com>
7607
7608         * libnm-glib/nm-client.c
7609                 - (update_wireless_status): consolidate updates of wireless status
7610                 - (constructor): use update_wireless_status()
7611                 - (manager_running): set wireless status off when NM goes away; requery
7612                         the wireless status when NM comes back
7613
7614 2007-10-16  Dan Williams  <dcbw@redhat.com>
7615
7616         * libnm-glib/nm-client.c
7617                 - (nm_client_activate_device): actually use the fixed-up specific
7618                         object path
7619
7620 2007-10-16  Dan Williams  <dcbw@redhat.com>
7621
7622         * src/nm-hal-manager.c
7623                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7624                         killswitch error messages once
7625
7626 2007-10-16  Dan Williams  <dcbw@redhat.com>
7627
7628         * src/nm-manager.c
7629                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7630                         if it's disabled in hardware; don't touch network devices while
7631                         NM is asleep
7632
7633 2007-10-16  Dan Williams  <dcbw@redhat.com>
7634
7635         * libnm-util/nm-client.c
7636                 - (nm_client_activate_device): convert NULL specific_object to "/",
7637                         which is used in place of NULL
7638
7639         * src/nm-manager.c
7640                 - (impl_manager_activate_device): convert "/" specific_object back into
7641                         NULL
7642
7643 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7644
7645         Implement a generic NMSetting creator from setting name.
7646         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7647         add a virtual function 'populate_fn'.
7648
7649         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7650         (register_default_creators): Register setting creators instead of functions
7651         that create and then populate.
7652         (parse_one_setting): Use the common setting creator and then setting specific
7653         poplulation function.
7654
7655         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7656         they all looked exactly the same.
7657         Add a 'populate_fn' virtual function to NMSetting.
7658         Use default virtual functions in case they are not overriden.
7659         (nm_setting_populate_from_hash): Implement.
7660
7661         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7662         name, use a defined string.
7663         (real_act_stage4_get_ip4_config): Ditto.
7664
7665 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7666
7667         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7668         HAL is int, not uint.
7669
7670 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7671
7672         Implement killswitch polling through HAL.
7673
7674         * src/nm-manager.c: Add wireless hardware status property. Add 
7675         'properties-changed' signal for changes in wireless and wireless hardware
7676         state changes.
7677
7678         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7679         and update NMManager's wireless hardware state when it has changed.
7680         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7681         already does that.
7682
7683         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7684         values of wireless state and wireless hardware state. Listen for the
7685         'properties-changed' signals, update the cached values and emit notify.
7686
7687         * include/NetworkManager.h: Fix a typo in a comment.
7688
7689 2007-10-14  Dan Williams  <dcbw@redhat.com>
7690
7691         * libnm-util/nm-setting.c
7692                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7693
7694 2007-10-13  Dan Williams  <dcbw@redhat.com>
7695
7696         * libnm-util/nm-setting.h
7697           libnm-util/nm-setting.c
7698           src/supplicant-manager/nm-supplicant-config.c
7699                 - Make the 'proto' field of the 802-11-wireless-security field a
7700                         string list
7701
7702 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7703
7704         Rework the "properties-changed" signal listening implementation.
7705         Add a generic implementation to NMObject class that listens for
7706         the signal and calls property setters of the target NMObject.
7707
7708         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7709
7710         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7711         code to the end of file so that all the static functions are available
7712         without extra declarations.
7713         Remove the "properties-changed" signal handling and use the framework from
7714         NMObject.
7715         Implement property setters for properties that change with 
7716         "properties-changed" signal.
7717
7718         * libnm-glib/nm-access-point.c: Ditto.
7719
7720 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7721
7722         Rework the "properties-changed" signal implementation.
7723         In classes that need to use it, just emit "GObject::notify" and the new
7724         framework takes care of the rest to make the signal available on dbus.
7725         The framework queues the notifications and tries to send as many together
7726         in one signal as possible.
7727
7728         * src/nm-properties-changed-signal.c:
7729         * src/nm-properties-changed-signal.h: Implement.
7730
7731         * src/Makefile.am: Add new files to build.
7732
7733         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7734         signal.
7735
7736         * src/nm-device-802-11-wireless.c: Ditto.
7737
7738 2007-10-10  Dan Williams  <dcbw@redhat.com>
7739
7740         * src/nm-manager.c
7741                 - (wait_for_connection_expired): ensure info is valid
7742                 - (connection_added_default_handler): Should only remove pending
7743                         connection info when the manager has the connection that it's
7744                         waiting for.  Fixes segfault in wait_for_connection_info().  
7745
7746 2007-10-10  Dan Williams  <dcbw@redhat.com>
7747
7748         * libnm-util/nm-setting.c
7749           libnm-util/nm-setting.h
7750                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7751                         can use if they choose.  Should be filled in by the settings service
7752                         on-the-fly with the currently logged in user's username
7753
7754 2007-10-10  Dan Williams  <dcbw@redhat.com>
7755
7756         * src/nm-device-802-11-wireless.c
7757                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7758                         as such, because even if the manager fills in the SSID, NM still
7759                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7760                         its SSID
7761
7762 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7763
7764         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7765         code that used NM's own version of dbus signal handling and custom dictionary
7766         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7767         and we get to maintain over 2000 lines less code.
7768
7769         * libnm-util/dbus-dict-helpers.c:
7770         * libnm-util/dbus-dict-helpers.h: Remove.
7771
7772         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
7773
7774         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
7775
7776         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
7777         handlers.
7778
7779         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
7780
7781         * configure.in: Remove test/libnm-util/Makefile creation.
7782
7783         * test/Makefile.am: Remove libnm-util from SUBDIRS.
7784
7785         * test/libnm-util/: Remove the whole directory.
7786
7787 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7788
7789         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
7790         device_state_changed_idle_id variable or it would contain some random value and the
7791         schedule_change_check calls would not do anything.
7792
7793 2007-10-09  Dan Williams  <dcbw@redhat.com>
7794
7795         * src/nm-device-802-11-wireless.c
7796                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
7797                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
7798                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
7799                         merging of non-SSID-broadcasting APs
7800
7801 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7802
7803         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
7804         "guint8 *" since it's usually used with GByteArray->data.
7805         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
7806
7807 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7808
7809         * src/NetworkManagerUtils.c
7810         (nm_utils_is_empty_ssid):
7811         (nm_utils_escape_ssid):
7812         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
7813         lot of places, so they belong to libnm-utils instead.
7814
7815         Now with 100% less compiler warnings:
7816
7817         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
7818         (nm_dbus_unescape_object_path): Ditto.
7819         (nm_utils_ssid_to_utf8): Ditto.
7820         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
7821         (nm_utils_escape_ssid): Ditto.
7822         (nm_utils_same_ssid): Ditto.
7823
7824         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
7825         (add_one_connection_element): Remove an unused variable.
7826         (impl_manager_get_active_connections): Ditto.
7827
7828         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
7829         variable.
7830
7831         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
7832         from the previous commit.
7833
7834         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
7835         (real_act_stage1_prepare): Ditto.
7836         (activation_success_handler): Ditto.
7837         (get_property): Ditto.
7838
7839         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
7840         variable.
7841
7842         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
7843         it's always set.
7844
7845         * src/supplicant-manager/nm-supplicant-config.c 
7846         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
7847         to expected "char *".
7848         (nm_supplicant_config_add_setting_wireless): Ditto.
7849         (nm_supplicant_config_remove_option): Remove, not used.
7850
7851         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
7852         not double.
7853         (test_wireless_enabled): Ifdef out unused function.
7854         (device_deactivate): Ditto.
7855         (device_state_changed): Ditto.
7856         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
7857         (nm_utils_escape_ssid): Ditto.
7858
7859         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
7860         (nm_utils_is_empty_ssid): Ditto.
7861
7862         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
7863         unused variable.
7864
7865         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
7866         (setting_vpn_properties_update_secrets): Ditto.
7867         (int_to_gvalue): Ifdef out for now, not used.
7868         (byte_to_gvalue): Ditto.
7869
7870         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
7871         Unused, remove.
7872
7873 2007-10-08  Tambet Ingo  <tambet@gmail.com>
7874
7875         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
7876         about dbus manager, not named manager.
7877         Make sure hal_manager and dbus_mgr are created before trying to unreference.
7878
7879         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
7880         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
7881         However, the same signal is emitted when we destroy it and there's 
7882         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
7883
7884         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
7885         releasing the DBusGConnection, since proxy needs a conneciton.
7886         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
7887
7888 2007-10-08  Dan Williams  <dcbw@redhat.com>
7889
7890         * src/NetworkManager.c
7891                 - (main): error on unknown command-line options
7892
7893 2007-10-08  Dan Williams  <dcbw@redhat.com>
7894
7895         Reimplement the invalid connection list.  Don't try to re-activate a
7896         connection that just failed or was canceled.
7897
7898         * src/nm-device.c
7899                 - (connection_secrets_failed_cb): fail device activation, don't just
7900                         deactivate the device.  Listeners have to know about the failure.
7901
7902         * src/NetworkManagerPolicy.c
7903                 - (nm_policy_auto_get_best_device): exclude invalid connections from
7904                         the connection list given to a device's get_best_connection()
7905                         method
7906                 - (device_state_changed): tag failed connections as invalid; clear the
7907                         tag from successful connections
7908
7909 2007-10-08  Dan Williams  <dcbw@redhat.com>
7910
7911         Fix problems with interrupted activation.  Previously, choosing an AP
7912         from the menu, then choosing another one before the first connection was
7913         successful wouldn't deactivate the device before starting the new connection
7914         on that same device.
7915
7916         * src/NetworkManagerPolicy.c
7917                 - (deactivate_old_device, device_state_changed, state_changed,
7918                    nm_policy_new): wrong place to deactivate old devices
7919
7920         * src/nm-manager.c
7921                 - (pending_connection_info_destroy, finalize,
7922                    wait_for_connection_expired): decouple destruction of the pending
7923                         connection info from the manager device
7924                 - (connection_added_default_handler): deactivate any active or
7925                         activating device before starting a new activation
7926                 - (impl_manager_activate_device): deactivate any active or activating
7927                         device before starting a new activation; be sure not to leak
7928                         pending connection info if a new activation request arrives but
7929                         there's already a pending one in-process
7930
7931 2007-10-08  Dan Williams  <dcbw@redhat.com>
7932
7933         * src/NetworkManagerAP.h
7934           src/NetworkManagerAP.c
7935                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
7936                         should handle default SSIDs and whether or not to autoconnect
7937                         to them
7938
7939 2007-10-08  Dan Williams  <dcbw@redhat.com>
7940
7941         * src/NetworkManagerPolicy.c
7942                 - (nm_policy_device_change_check): print out connection name where
7943                         possible
7944
7945 2007-10-08  Dan Williams  <dcbw@redhat.com>
7946
7947         * src/nm-device-802-11-wireless.c
7948           src/nm-device-802-11-wireless.h
7949                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
7950                         'hidden-ap-found' signal (for internal use only) that allows the
7951                         NMManager to fill in the AP's SSID if a connection has that AP's
7952                         BSSID in its seen-bssids list
7953
7954         * src/nm-manager.c
7955                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
7956                         wireless device's hidden-ap-found signal and fill in the APs SSID
7957                         if possible
7958
7959 2007-10-07  Dan Williams  <dcbw@redhat.com>
7960
7961         * src/nm-manager.c
7962           src/nm-manager.h
7963                 - Add a 'connections-added' signal to batch together updates of large
7964                         numbers of connections, like when reading from a settings service
7965                         the first time.  Otherwise, the policy would just activate the first
7966                         suitable connection it saw rather than waiting for the full list
7967                         to arrive.
7968                 - (nm_manager_class_init): register new signal
7969                 - (get_type_for_proxy, connection_get_settings_cb,
7970                    get_connection_for_proxy): centralize places where a proxy's setting
7971                         service is determined
7972                 - (free_get_settings_info): if the call being freed is the last call
7973                         in a pending call group, fire off the connections-added signal
7974                 - (internal_new_connection_cb): add call to a pending call group if
7975                         requested
7976                 - (list_connections_cb): always create a call group here, because this
7977                         call results in a batch of new connections
7978                 - (initial_get_connections): start getting system connections first
7979                 - (nm_manager_connections_destroy, emit_removed): actually emit the
7980                         removed signal when destroying connections
7981
7982         * src/NetworkManagerPolicy.c
7983                 - (nm_policy_new, connections_added): handle connections-added signal
7984                         from the manager
7985
7986 2007-10-06  Dan Williams  <dcbw@redhat.com>
7987
7988         * src/nm-device-802-11-wireless.c
7989                 - (constructor): fix leaked socket
7990
7991 2007-10-06  Dan Williams  <dcbw@redhat.com>
7992
7993         * src/NetworkManagerPolicy.c
7994                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
7995                         connection in the list returned by nm_manager_get_connections() is
7996                         reffed, but they weren't getting unreffed before returning
7997
7998 2007-10-06  Dan Williams  <dcbw@redhat.com>
7999
8000         * src/nm-manager.c
8001                 - (connections_to_slist): sort connections first on autoconnect, then
8002                         on timestamp
8003
8004 2007-10-06  Dan Williams  <dcbw@redhat.com>
8005
8006         * libnm-util/nm-connection.c
8007                 - (gvalue_to_string): handle UINT64
8008
8009 2007-10-06  Dan Williams  <dcbw@redhat.com>
8010
8011         * src/NetworkManagerPolicy.c
8012                 - (connection_updated, nm_policy_new): recheck state when a connection
8013                         gets updated
8014
8015 2007-10-06  Dan Williams  <dcbw@redhat.com>
8016
8017         * src/nm-manager.c
8018           src/nm-manager.h
8019                 - (nm_manager_get_connection_dbus_path): make static
8020                 - (nm_manager_update_connections): remove; unused
8021                 - Add a connection-updated signal
8022                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
8023                         handle connection object updates
8024
8025 2007-10-06  Dan Williams  <dcbw@redhat.com>
8026
8027         * src/NetworkManagerPolicy.c
8028                 - (connection_removed): deactivate removed connections
8029
8030 2007-10-06  Dan Williams  <dcbw@redhat.com>
8031
8032         * libnm-util/nm-connection.c
8033           libnm-util/nm-connection.h
8034                 - (nm_connection_replace_settings): new function
8035
8036 2007-10-06  Dan Williams  <dcbw@redhat.com>
8037
8038         * libnm-glib/nm-device-802-11-wireless.c
8039                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
8040                         on error when getting the active access point over D-Bus from NM
8041
8042 2007-10-05  Dan Williams  <dcbw@redhat.com>
8043
8044         * libnm-util/nm-setting.c
8045                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
8046                         to the NMSettingWireless table; it's now a string array not an array
8047                         of byte arrays
8048
8049 2007-10-05  Dan Williams  <dcbw@redhat.com>
8050
8051         * libnm-glib/nm-device-802-11-wireless.c
8052                 - Cache properties and update cached properties on D-Bus signals from NM
8053
8054 2007-10-05  Dan Williams  <dcbw@redhat.com>
8055
8056         * src/nm-device-802-11-wireless.c
8057                 - (set_current_ap): consolidate current_ap handling code into one place
8058                         to ensure that PropertiesChanged signals are emitted in all cases
8059                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
8060                    nm_device_802_11_wireless_dispose): use set_current_ap()
8061
8062 2007-10-05  Dan Williams  <dcbw@redhat.com>
8063
8064         * libnm-glib/nm-access-point.c
8065           libnm-glib/nm-access-point.h
8066                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
8067                         because the value is cached internally now.  Callers should not
8068                         free the internal value.
8069                 - Make signal name defines private
8070
8071         * test/nm-tool.c
8072           libnm-glib/libnm-glib-test.c
8073                 - Don't free value returned from nm_access_point_get_hw_address()
8074
8075 2007-10-04  Dan Williams  <dcbw@redhat.com>
8076
8077         * introspection/nm-device-802-11-wireless.xml
8078           src/nm-device-802-11-wireless.h
8079           src/nm-device-802-11-wireless.c
8080                 - Add a PropertiesChanged signal for wireless device
8081                 - Store currently associated access point
8082                 - (periodic_update): generalize; update rate here too and emit the
8083                         correct PropertiesChanged signal when stuff changes
8084                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
8085                    real_activation_cancel_handler): clear current_ap when device is
8086                         deactivated
8087                 - (link_to_specific_ap, get_ap_blacklisted,
8088                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
8089                         code
8090                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
8091                         outside this file
8092                 - (real_set_hw_address): emit property changed signal if the card's
8093                         MAC address changes
8094                 - (real_act_stage1_prepare): set the initial current_ap to the AP
8095                         the card is supposed to be connecting to
8096                 - (activation_success_handler): send out property updates on successful
8097                         activation
8098                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
8099                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
8100                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
8101                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
8102                         is now boxed; add PropertiesChanged signal
8103
8104 2007-10-04  Dan Williams  <dcbw@redhat.com>
8105
8106         * libnm-util/nm-connection.c
8107           libnm-util/nm-connection.h
8108                 - (nm_connection_verify): new function
8109
8110 2007-10-04  Dan Williams  <dcbw@redhat.com>
8111
8112         * libnm-util/nm-setting.c
8113                 - (nm_settings_verify): use #defines when possible rather than strings
8114                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
8115                 - (setting_vpn_verify): tighter validity check on 'service_type'
8116
8117 2007-10-04  Dan Williams  <dcbw@redhat.com>
8118
8119         * libnm-glib/nm-settings.c
8120                 - (nm_connection_settings_class_init): provide correct type for argument
8121                         to the Updated signal so that dbus-glib knows how to marshal it
8122
8123 2007-10-03  Dan Williams  <dcbw@redhat.com>
8124
8125         * src/nm-device-802-3-ethernet.c
8126                 - (real_get_best_connection): don't create automatic connections
8127                         internally; clients should provide a setting that applies to
8128                         the device with 'autoconnect: True'.  Problem was that these
8129                         internally auto-created connections don't have a proxy or service
8130                         name becuase they weren't created by a settings daemon, and therefore
8131                         clients have no idea what to do with them.
8132
8133 2007-10-03  Dan Williams  <dcbw@redhat.com>
8134
8135         * src/nm-device-802-11-wireless.c
8136           src/nm-device-802-11-wireless.h
8137           introspection/nm-device-802-11-wireless.xml
8138                 - GetActiveNetworks -> GetAccessPoints
8139                 - ActiveNetwork -> ActiveAccessPoint
8140                 - NetworkAdded -> AccessPointAdded
8141                 - NetowrkRemoved -> AccessPointRemoved
8142
8143         * libnm-glib/nm-device-802-11-wireless.c
8144           libnm-glib/nm-device-802-11-wireless.h
8145                 - network-added signal -> access-point-added
8146                 - network-removed signal -> access-point-removed
8147                 - nm_device_802_11_wireless_get_active_network() ->
8148                         nm_device_802_11_wireless_get_active_access_point()
8149                 - nm_device_802_11_wireless_get_network_by_path() ->
8150                         nm_device_802_11_wireless_get_access_point_by_path()
8151                 - nm_device_802_11_wireless_get_networks() ->
8152                         nm_device_802_11_wireless_get_access_points()
8153
8154         * libnm-glib/libnm-glib-test.c
8155           test/nm-tool.c
8156           src/NetworkManagerPolicy.c
8157                 - Fixups for Network -> AccessPoint
8158
8159 2007-10-03  Dan Williams  <dcbw@redhat.com>
8160
8161         Add a GetActiveConnections() method on the Manager object.
8162
8163         * src/nm-manager.c
8164           src/nm-manager.h
8165           introspection/nm-manager.xml
8166                 - (connection_get_settings_cb): keep connection type around too
8167                 - (impl_manager_get_active_connections, add_one_connection_element):
8168                         implement; returns all active connections and what devices they
8169                         apply to
8170
8171         * libnm-glib/nm-client.c
8172           libnm-glib/nm-client.h
8173           introspection/nm-manager-client.xml
8174                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
8175                         by the caller; free here to avoid memory leak
8176                 - (nm_client_get_active_connections): implement; return the list of
8177                         active connections
8178                 - (nm_client_free_active_connection_element): implement; free an element
8179                         of the GSList returned by nm_client_get_active_connections()
8180
8181 2007-10-03  Dan Williams  <dcbw@redhat.com>
8182
8183         * src/nm-device-802-11-wireless.c
8184                 - (nm_device_802_11_wireless_update_bssid): remove
8185                 - (get_active_ap): new function; find the AP in the scan list which
8186                         matches the current BSSID and SSID of the wireless device
8187                 - (nm_device_802_11_periodic_update): get current AP using
8188                         get_active_ap() and print AP roam messages
8189
8190 2007-10-01  Dan Williams  <dcbw@redhat.com>
8191
8192         * libnm-util/nm-setting.h
8193                 - Add a 'timestamp' option to NMSettingConnection
8194                 - Add a UINT64 type
8195
8196         * libnm-util/nm-setting.c
8197                 - (uint64_to_gvalue): new function
8198                 - (nm_setting_populate_from_hash, nm_setting_hash,
8199                    default_setting_clear_secrets): handle UINT64 type
8200                 - con_table: add 'timestamp' member
8201
8202 2007-10-01  Dan Williams  <dcbw@redhat.com>
8203
8204         * src/nm-manager.c
8205                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
8206                         value when the connection can be activated immediately
8207
8208 2007-10-01  Dan Williams  <dcbw@redhat.com>
8209
8210         * libnm-glib/nm-device.c
8211                 - (nm_device_class_init): actually tell glib about the carrier-changed
8212                         signal
8213
8214 2007-10-01  Dan Williams  <dcbw@redhat.com>
8215
8216         * configure.in
8217           src/marshallers/Makefile.am
8218           src/marshallers/nm-marshal.list
8219           src/marshallers/nm-marshal-main.c
8220                 - Consolidate glib marshallers into one place
8221
8222         * src/dhcp-manager/Makefile.am
8223           src/dhcp-manager/nm-dhcp-manager.c
8224           src/supplicant-manager/Makefile.am
8225           src/supplicant-manager/nm-supplicant-manager.c
8226           src/supplicant-manager/nm-supplicant-interface.c
8227           src/ppp-manager/Makefile.am
8228           src/ppp-manager/nm-ppp-manager.c
8229           src/vpn-manager/Makefile.am
8230           src/vpn-manager/nm-vpn-connection.c
8231           src/Makefile.am
8232                 - Use consolidated marshallers
8233
8234         * src/dhcp-manager/nm-dhcp-marshal.list
8235           src/dhcp-manager/nm-dhcp-marshal-main.c
8236           src/supplicant-manager/nm-supplicant-marshal-main.c
8237           src/supplicant-manager/nm-supplicant-marshal.list
8238           src/nm-marshal-main.c
8239           src/nm-marshal.list
8240           src/ppp-manager/nm-ppp-marshal-main.c
8241           src/ppp-manager/nm-ppp-marshal.list
8242           src/vpn-manager/nm-vpn-marshal-main.c
8243           src/vpn-manager/nm-vpn-marshal.list
8244                 - Remove
8245
8246 2007-10-01  Dan Williams  <dcbw@redhat.com>
8247
8248         * include/NetworkManagerVPN.h
8249                 - define VPN connection state change reason codes
8250
8251         * src/vpn-manager/Makefile.am
8252           src/vpn-manager/nm-vpn-marshal.list
8253           src/vpn-manager/nm-vpn-marshal-main.c
8254                 - Add marshallers for StateChanged signal
8255
8256         * introspection/nm-vpn-connection.xml
8257                 - New Banner property
8258                 - StateChanged signal now includes a 'reason' argument
8259
8260         * src/vpn-manager/nm-vpn-connection.c
8261           src/vpn-manager/nm-vpn-connection.h
8262                 - Add a "Banner" property that contains the returned VPN server login
8263                         banner (if any); valid only in the ACTIVATED state
8264                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
8265                         a 'reason' argument and emits that reason along with the
8266                         state-changed signal
8267                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
8268                 - (nm_vpn_connection_ip4_config_get): save banner for later
8269                 - (nm_vpn_connection_get_banner, get_property,
8270                    nm_vpn_connection_class_init): implement Banner property
8271
8272         * src/vpn-manager/nm-vpn-service.c
8273                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
8274                         connection list because elements may get added/removed from it
8275                         while iterating over the list
8276                 - (connection_state_changed): signal now includes the 'reason' argument
8277
8278         * libnm-glib/nm-vpn-connection.c
8279           libnm-glib/nm-vpn-connection.h
8280                 - (nm_vpn_connection_get_banner): new function
8281                 - (state_changed_proxy): handle reason argument
8282
8283 2007-09-28  Tambet Ingo  <tambet@gmail.com>
8284
8285         * src/nm-manager.c:
8286         * src/nm-manager.h:
8287         Implement device activation through NMManager.
8288         Implement "pending device activation" here - If the connection isn't found,
8289         we try to wait for up to 5 seconds for the connection to be provided.
8290         Add NMConnectionType argument to "connection-added" and "connection-removed"
8291         signals.
8292         (nm_manager_get): Remove. Finally.
8293
8294         * src/nm-activation-request.c: 
8295         * src/nm-activation-request.h: 
8296         Remove all the deferred activation code.
8297
8298         * src/nm-device.c: Remove all the deferred activation code. Once the device
8299         activation is started, it's started. Update the activation virtual function
8300         signature.
8301
8302         * src/nm-device-interface.c:
8303         * src/nm-device-interface.h:
8304         Device activation now takes only NMActRequest argument.
8305         Don't expose device activation directly on dbus, it's supposed to go through
8306         NMManager now.
8307
8308         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
8309         a bit more compact.
8310         Use the new device activation methods through NMManager.
8311
8312         * introspection/nm-manager-client.xml: 
8313         * introspection/nm-manager.xml: 
8314         * libnm-glib/nm-client.c:
8315         * libnm-glib/nm-client.h:
8316         Add device activation method.
8317         
8318         * libnm-glib/nm-device.c: 
8319         * libnm-glib/nm-device.h: 
8320         * introspection/nm-device.xml: 
8321         Remove device activation method. It's done through NMManager now.
8322
8323         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
8324         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
8325
8326 2007-09-28  Dan Williams  <dcbw@redhat.com>
8327
8328         * libnm-glib/nm-vpn-connection.c
8329                 - (nm_vpn_connection_get_state): try to update state if the current
8330                         state is UNKNOWN
8331
8332 2007-09-27  Dan Williams  <dcbw@redhat.com>
8333
8334         Patch from Bill Nottingham
8335
8336         * src/supplicant-manager/nm-supplicant-config.c
8337                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
8338                         data to the supplicant
8339
8340 2007-09-27  Dan Williams  <dcbw@redhat.com>
8341
8342         * src/NetworkManagerSystem.c
8343                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
8344                         and all address manipulation here should be happening on the
8345                         _VPN_ device, not the active device
8346
8347 2007-09-26  Dan Williams  <dcbw@redhat.com>
8348
8349         * src/nm-manager.c
8350           src/nm-manager.h
8351           src/nm-activation-request.c
8352           src/nm-activation-request.h
8353                 - Move the GetSecrets stuff out of the NMManager instance because it
8354                         doesn't really need to be there and complicates things
8355
8356         * src/nm-device.c
8357                 - (connection_secrets_failed_cb, device_activation_go): connect to the
8358                         connection-secrets-failed signal and deactivate the device if
8359                         the GetSecrets call fails
8360
8361         * src/nm-device-802-11-wireless.c
8362                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8363                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
8364                         secrets and give correct hints about whether new secrets should be
8365                         asked for by the client or not
8366
8367 2007-09-26  Dan Williams  <dcbw@redhat.com>
8368
8369         * src/vpn-manager/nm-vpn-connection.c
8370                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
8371                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
8372                         to the secrets-updated signal of the NMConnection since updating
8373                         the secrets is done within the scope of the NMVPNConnection object
8374                         already
8375                 - (get_connection_secrets): fix an uninialized variable usage error
8376
8377 2007-09-26  Dan Williams  <dcbw@redhat.com>
8378
8379         * libnm-util/nm-setting.c
8380                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
8381                         actually get updated when the user enters them
8382
8383 2007-09-26  Dan Williams  <dcbw@redhat.com>
8384
8385         * libnm-glib/nm-vpn-plugin.c
8386                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
8387
8388 2007-09-26  Dan Williams  <dcbw@redhat.com>
8389
8390         * include/NetworkManagerVPN.h
8391                 - Add a NEED_AUTH state
8392
8393         * src/vpn-manager/nm-vpn-connection.c
8394                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
8395                         the connection needs secrets, and if so, then ask the settings
8396                         service to fill in the secrets.  Then start the connection.
8397
8398 2007-09-26  Dan Williams  <dcbw@redhat.com>
8399
8400         * src/vpn-manager/nm-vpn-manager.c
8401                 - (new_vpn_error, impl_vpn_manager_connect): set errors
8402
8403 2007-09-26  Dan Williams  <dcbw@redhat.com>
8404
8405         * introspection/nm-vpn-plugin.xml
8406           libnm-glib/nm-vpn-plugin.c
8407           libnm-glib/nm-vpn-plugin.h
8408                 - (impl_vpn_plugin_need_secrets): implement a call that should return
8409                         the name of the NMSetting in an NMConnection that may require
8410                         secrets specific to that VPN plugin
8411
8412 2007-09-26  Dan Williams  <dcbw@redhat.com>
8413
8414         * src/nm-manager.c
8415           src/nm-manager.h
8416                 - (nm_manager_get_connection_secrets): make static, unused outside
8417                         the file
8418                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
8419
8420 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8421
8422         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
8423         method.
8424         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
8425         unreference the connection.
8426
8427         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
8428         passing properties hash and routes string list, pass NMConnection (in hashed form).
8429
8430         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
8431         as GSList, no need to copy stuff around anymore.
8432         (nm_vpn_connection_activate): Update the plugin activation method.
8433
8434         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
8435         routes argument to GSList.
8436
8437 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8438
8439         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
8440         state and try to get the secrets.
8441
8442         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
8443         connections from NMManager and let the device to choose the best from the list.
8444         Since the connection list is sorted by system ones first and user ones later,
8445         the devices still prefer system connections like they did before.
8446         (deactivate_old_device): Implement. When a device starts activation, we have a
8447         policy (for now at least) to deactivate any other device that might be either
8448         active or still activating.
8449
8450         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
8451         It's set on construction, there will be no other way to access it.
8452
8453         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
8454         device events and drive the device, not the other way around.
8455
8456         * src/nm-device-802-3-ethernet.c: Ditto.
8457
8458         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
8459         sent along, pass it on to virtual functions.
8460
8461         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
8462         for now, but should really be public instead of nm_device_get_iface() since iface
8463         is a property of the DeviceInterface, not Device.
8464         (impl_device_activate): Don't touch NMManager!
8465
8466 2007-09-26  Jürg Billeter  <j@bitron.ch>
8467
8468         * initscript/paldo/NetworkManager.in:
8469         * initscript/paldo/NetworkManagerDispatcher.in:
8470         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
8471         (nm_system_flush_loopback_routes): update paldo backend
8472
8473 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8474
8475         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
8476         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
8477         which means none of the devices get brought down properly, which in turn leaves
8478         DHCP client running.
8479
8480         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
8481         (supplicant_connection_timeout_cb): Ditto.
8482
8483 2007-09-25  Dan Williams  <dcbw@redhat.com>
8484
8485         * src/nm-device.c
8486                 - (device_activation_go): small hack to work around race when
8487                         activating deferred connections; should solve this in a better way
8488
8489 2007-09-25  Dan Williams  <dcbw@redhat.com>
8490
8491         * introspection/nm-device.xml
8492           libnm-glib/nm-device.c
8493           libnm-glib/nm-device.h
8494                 - Add 'Carrier' property to exported NMDevice objects
8495
8496         * src/nm-device-interface.h
8497           src/nm-device-interface.c
8498           src/nm-device.c
8499                 - Add a 'carrier' property to internal NMDevice objects
8500
8501 2007-09-25  Dan Williams  <dcbw@redhat.com>
8502
8503         * src/nm-device-802-11-wireless.c
8504                 - (ap_auth_enforced): also return the encryption status of the AP so
8505                         that callers can differentiate easily between unencrypted APs
8506                         and encrypted ones, in addition to whether the AP has an
8507                         authenticator
8508                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8509                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
8510                         previously would request secrets from unencrypted APs at times
8511
8512 2007-09-25  Dan Williams  <dcbw@redhat.com>
8513
8514         * src/nm-manager.c
8515                 - (nm_manager_update_state): new function; updates state and emits
8516                         appropriate signals ensuring a state-change signal for the same state
8517                         never gets emitted twice in a row.
8518                 - (manager_device_state_changed): handle more device state to get a
8519                         better picture of the overall NM state
8520
8521 2007-09-25  Dan Williams  <dcbw@redhat.com>
8522
8523         * libnm-glib/nm-settings.c
8524           libnm-glib/nm-settings.h
8525                 - (new_error -> nm_settings_new_error): make public so that subclasses
8526                         can use the same error domain.  Also pass a valid error code to
8527                         g_error_new_literal() so that libdbus doesn't assert when converting
8528                         the GError into a DBusError
8529                 - (impl_settings_list_connections, impl_connection_settings_get_id,
8530                    impl_connection_settings_get_settings,
8531                    impl_connection_settings_get_secrets): use new error creator
8532                         function
8533
8534 2007-09-25  Dan Williams  <dcbw@redhat.com>
8535
8536         * src/NetworkManager.c
8537                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
8538
8539 2007-09-25  Dan Williams  <dcbw@redhat.com>
8540
8541         * src/supplicant-manager/nm-supplicant-manager.c
8542                 - (poke_supplicant_cb, nm_supplicant_manager_init,
8543                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
8544                    nm_supplicant_manager_startup): when the supplicant isn't running,
8545                         try to start it periodically via system bus activation.  Fixes
8546                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
8547                         for the supplicant to come back
8548
8549 2007-09-25  Dan Williams  <dcbw@redhat.com>
8550
8551         Ensure that old activation requests are forgotten about; previously
8552         hitting Cancel in the password dialog would deactivate whatever device
8553         that password was requested for, even if that wasn't the currently
8554         activating connection.
8555
8556         * src/nm-manager.c
8557           src/nm-manager.h
8558                 - (nm_manager_get_connection_secrets): track the pending call
8559                         object so it can be canceled later if needed
8560                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
8561                         GetSecrets call for a particular connection
8562
8563         * src/nm-activation-request.c
8564                 - (dispose): cancel any outstanding GetSecrets calls on the
8565                         connection
8566
8567 2007-09-25  Dan Williams  <dcbw@redhat.com>
8568
8569         * src/NetworkManagerPolicy.c
8570                 - (nm_policy_device_change_check): handle devices that have a
8571                         deferred activation.  These devices are not really active _yet_,
8572                         but need to be treated as such here.  Don't interrupt them
8573                         automatically.
8574
8575         * src/nm-device-interface.c
8576                 - (impl_device_activate): handle devices that have a deferred activation
8577                         like activating or active devices.  When multiple active devices
8578                         get committed, the device shouldn't be deactivated until the
8579                         connection details are available to avoid DoS and such.  Currently,
8580                         any active, activating, or deferred activation device is deactivated
8581                         here before starting the new activation request.
8582
8583 2007-09-25  Dan Williams  <dcbw@redhat.com>
8584
8585         Properly re-query secrets from the settings daemon when stuff fails.
8586
8587         * src/nm-device-802-11-wireless.c
8588                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8589                         between Shared Key and Open System auth modes
8590                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8591                    real_act_stage4_ip_config_timeout): clear existing secrets and
8592                         request new ones when something fails due to a suspected wrong key
8593                 - (real_act_stage2_config): fix for new request_new argument to
8594                         nm_manager_get_connection_secrets()
8595
8596         * src/nm-manager.c
8597           src/nm-manager.h
8598                 - (nm_manager_get_connection_secrets): return error status; pass
8599                         new request_new argument on to the settings daemon
8600
8601         * introspection/nm-settings-connection.xml
8602                 - New 'request_new' argument to the GetSecrets call that hints to the
8603                         settings daemon to ask the user for completely new secrets
8604
8605         * libnm-glib/nm-settings.c
8606           libnm-glib/nm-settings.h
8607                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8608                         argument
8609
8610 2007-09-25  Dan Williams  <dcbw@redhat.com>
8611
8612         * libnm-util/nm-connection.c
8613           libnm-util/nm-connection.h
8614                 - (nm_connection_clear_secrets): new function; clear secrets out of
8615                         each NMSetting in an NMConnection
8616
8617         * libnm-util/nm-setting.h
8618           libnm-util/nm-setting.c
8619                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8620                         secrets out of an NMSetting
8621                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8622                    nm_setting_wired_new, nm_setting_wireless_new,
8623                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8624                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8625                         to default handler default_setting_clear_secrets()
8626
8627 2007-09-25  Dan Williams  <dcbw@redhat.com>
8628
8629         * src/nm-activation-request.c
8630           src/nm-activation-request.h
8631                 - (nm_act_request_is_deferred): new function
8632
8633 2007-09-24  Dan Williams  <dcbw@redhat.com>
8634
8635         * src/nm-device-802-11-wireless.c
8636                 - (activation_success_handler): update signal strength immediately
8637                         after activation
8638
8639 2007-09-24  Dan Williams  <dcbw@redhat.com>
8640
8641         * libnm-util/nm-setting.c
8642                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8643
8644 2007-09-24  Dan Williams  <dcbw@redhat.com>
8645
8646         * src/NetworkManagerPolicy.c
8647                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8648                         device by deactivating it because it doesn't have a "best connection".
8649                         Since autoconnect=False connections aren't automatically chosen,
8650                         NM would interrupt activation of such a connection because it
8651                         would never be "best" due to autoconnect=False.
8652
8653 2007-09-24  Dan Williams  <dcbw@redhat.com>
8654
8655         * src/nm-manager.c
8656                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8657                         actually has some time to enter a key before the GetSecrets call
8658                         times out
8659
8660 2007-09-24  Dan Williams  <dcbw@redhat.com>
8661
8662         * introspection/nm-manager.xml
8663           src/nm-manager.c
8664                 - (impl_manager_legacy_state): fix 'state' method call return value
8665
8666 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8667
8668         * test/Makefile.am: Install nm-tool
8669
8670 2007-09-24  Dan Williams  <dcbw@redhat.com>
8671
8672         Patch from Ross Burton <ross@burtonini.com>
8673
8674         * test/nm-tool.c
8675           callouts/nm-dhcp-client-action.c
8676           src/nm-netlink.c
8677           src/vpn-manager/nm-vpn-connection.c
8678           libnm-glib/libnm-glib-test.c
8679                 - warning fixes
8680
8681 2007-09-24  Dan Williams  <dcbw@redhat.com>
8682
8683         * libnm-util/nm-utils.h
8684           libnm-util/nm-utils.c
8685                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8686                         remove, unused
8687
8688 2007-09-23  Dan Williams  <dcbw@redhat.com>
8689
8690         * vpn-daemons/vpnc/properties/nm-vpnc.c
8691                 - Update for new VPN properties API bits; instead of passing around
8692                         a lot of random things, everything goes into the NMConnection
8693                         object.
8694
8695 2007-09-23  Dan Williams  <dcbw@redhat.com>
8696
8697         * libnm-util/nm-setting.c
8698                 - Correctly dispose of settings objects if creating them from a hash
8699                         table fails
8700
8701 2007-09-23  Dan Williams  <dcbw@redhat.com>
8702
8703         * libnm-util/nm-setting.c
8704                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8705                         the hash table in a standard manner.  Clients of libnm-util should
8706                         only call g_hash_table_remove_all(), never destroy the hash table
8707                         and recreate it.
8708
8709 2007-09-22  Dan Williams  <dcbw@redhat.com>
8710
8711         * src/nm-device-802-11-wireless.c
8712                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8713                         real reason to do it so often, and reduces wakeups for clients.
8714
8715 2007-09-21  Dan Williams  <dcbw@redhat.com>
8716
8717         * src/nm-device-802-11-wireless.c
8718                 - (build_supplicant_config): wpa_supplicant requires the option
8719                         key_mgmt=NONE for unencrypted networks
8720                 - (real_act_stage2_config): clarify log message on activation
8721
8722 2007-09-21  Dan Williams  <dcbw@redhat.com>
8723
8724         * test/nm-supplicant-test.c
8725           test/Makefile.am
8726                 - Remove supplicant test binary; no longer applicable
8727
8728 2007-09-21  Dan Williams  <dcbw@redhat.com>
8729
8730         * src/supplicant-manager/nm-supplicant-manager.c
8731                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8732                         activate it on the system bus
8733
8734 2007-09-20  Dan Williams  <dcbw@redhat.com>
8735
8736         * initscript/RedHat/NetworkManager.in
8737                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8738
8739 2007-09-20  Dan Williams  <dcbw@redhat.com>
8740
8741         * src/nm-device.c
8742                 - (nm_device_is_activating): work around a race between auto-activation
8743                         and the user activating the same device that is being auto-activated
8744
8745 2007-09-20  Dan Williams  <dcbw@redhat.com>
8746
8747         * src/nm-device-interface.c
8748                 - (impl_device_activate): until multiple active device support lands,
8749                         ensure only one device can be active at a time
8750
8751 2007-09-20  Dan Williams  <dcbw@redhat.com>
8752
8753         * src/supplicant-manager/nm-supplicant-config.c
8754           src/supplicant-manager/nm-supplicant-config.h
8755                 - (nm_supplicant_config_add_option): hide secrets from system logs
8756
8757 2007-09-20  Dan Williams  <dcbw@redhat.com>
8758
8759         * src/NetworkManagerPolicy.c
8760                 - (nm_policy_device_change_check): re-enable the wireless device change
8761                         checking code; insted of checking for SSIDs, check for the same
8762                         connection instead
8763
8764 2007-09-20  Dan Williams  <dcbw@redhat.com>
8765
8766         * src/nm-device-802-11-wireless.c
8767                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8768                         composite link state when determining when to start the disconnection
8769                         timer; that link state is already based on the supplicant interface's
8770                         status which is exactly what's already being examined, plus the link
8771                         state is a conglomeration of various things that we don't want here
8772
8773 2007-09-20  Dan Williams  <dcbw@redhat.com>
8774
8775         * libnm-glib/nm-access-point.c
8776                 - (handle_property_changed): strength is a UCHAR
8777
8778 2007-09-20  Dan Williams  <dcbw@redhat.com>
8779
8780         * src/supplicant-manager/nm-supplicant-config.c
8781                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
8782                         string list keywords too since that's what wpa_supplicant wants
8783
8784 2007-09-20  Dan Williams  <dcbw@redhat.com>
8785
8786         * libnm-util/nm-setting.c
8787                 - (convert_strv_to_slist): dupe the values in the list because since
8788                         the list is a boxed value, it'll get destroyed when it's container
8789                         (like a hash table or whatever) gets destroyed
8790
8791 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8792
8793         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
8794         GSList.
8795
8796         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
8797
8798         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
8799         just use (g_object_set_data_full).
8800
8801         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
8802         that NMSettingVPN->routes is a GSList, convert it to char **.
8803         (nm_vpn_connection_ip4_config_get): Free routes when done.
8804         (nm_vpn_connection_activate): Ditto.
8805
8806         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
8807         (real_act_stage2_config): Use defined setting names.
8808
8809 2007-09-20  Dan Williams  <dcbw@redhat.com>
8810
8811         * src/nm-device-802-11-wireless.c
8812           src/nm-manager.c
8813           src/nm-manager.h
8814                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
8815                         so that the device can be deactivated if secrets are wrong
8816
8817 2007-09-20  Dan Williams  <dcbw@redhat.com>
8818
8819         * introspection/nm-settings-connection.xml
8820           libnm-glib/nm-settings.c
8821           libnm-glib/nm-settings.h
8822                 - Make GetSecrets asynchronous on the server side
8823
8824 2007-09-20  Dan Williams  <dcbw@redhat.com>
8825
8826         * src/nm-manager.h
8827           src/nm-device.c
8828                 - (nm_device_activate): actually check if a given connection
8829                         exists before assuming it doesn't
8830
8831 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8832
8833         * libnm-util/nm-connection.c (register_default_creators): Use defined
8834         setting names. Register NMSettingVPN and NMSettingVPNProperties.
8835
8836         * libnm-util/nm-setting.c: Define property name strings, use them.
8837         Implement NMSettingVPN and NMSettingVPNProperties settings.
8838         Implement NM_S_TYPE_GVALUE_HASH.
8839         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
8840         (setting_connection_verify): Rename 'devtype' property to 'type'.
8841
8842         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
8843         properties.
8844
8845         * src/vpn-manager/nm-vpn-service.c: Ditto.
8846
8847         * src/vpn-manager/nm-vpn-connection.c: Ditto.
8848
8849         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
8850         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
8851
8852         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
8853         names. NMSettingConnection->devtype got renamed to 'type'.
8854
8855         * src/nm-device-802-3-ethernet.c (find_best_connection):
8856         (real_get_best_connection): Ditto.
8857
8858         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
8859
8860         * libnm-glib/nm-vpn-manager.[ch]: Update.
8861
8862 2007-09-19  Dan Williams  <dcbw@redhat.com>
8863
8864         * src/NetworkManagerAP.c
8865           src/NetworkManagerAP.h
8866           introspection/nm-access-point.xml
8867                 - Change strength-changed signal into a properties-changed signal
8868                         for all properties, not just strength.  Export that signal over dbus
8869                         so listeners don't have to poll NM for changes.
8870                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
8871                         get exported over D-Bus, so break up the logic and let other bits
8872                         decided when to export the AP
8873                 - (nm_ap_new_from_ap): remove, unused
8874
8875         * src/nm-device-802-11-wireless.c
8876                 - (merge_scanned_ap): only export APs that are actually on the device
8877                         list, not every AP created internally
8878
8879         * libnm-glib/nm-access-point.c
8880           libnm-glib/nm-access-point.h
8881                 - Cache properties internally and only hit DBus when needed.  Get
8882                         property updates from NM signals
8883
8884 2007-09-16  Dan Williams  <dcbw@redhat.com>
8885
8886         * libnm-util/nm-connection.c
8887           libnm-util/nm-connection.h
8888                 - (nm_connection_for_each_setting_value): new function; iterate over
8889                         each setting's value and call a user-provided function with details
8890                         about that value
8891
8892         * libnm-util/nm-setting.c
8893           libnm-util/nm-setting.h
8894                 - (nm_setting_enumerate_values): new function; enumerate the values
8895                         of a specific NMSetting subclass for a user-provided function with
8896                         details about that value
8897                 - Change wep_tx_keyidx to a uint32
8898                 - Create settings value tables for each setting defining their type,
8899                         key name, offset into the NMSetting subclass' structure, and whether
8900                         they are required and/or a secret
8901                 - (nm_setting_populate_from_hash): generic function to populate an
8902                         NMSetting from a GHash table, make all settings use it
8903                 - (nm_setting_hash): generic function to derive a GHashTable from
8904                         an NMSetting object, make all settings use it
8905
8906 2007-09-14  Dan Williams  <dcbw@redhat.com>
8907
8908         Remove unused stuff in libnm-util
8909
8910         * configure.in
8911           libnm-util/Makefile.am
8912           libnm-util/cipher-private.h
8913           libnm-util/cipher-wep-ascii.c
8914           libnm-util/cipher-wep-ascii.h
8915           libnm-util/cipher-wep-hex.c
8916           libnm-util/cipher-wep-hex.h
8917           libnm-util/cipher-wep-passphrase.c
8918           libnm-util/cipher-wep-passphrase.h
8919           libnm-util/cipher-wpa-psk-hex.c
8920           libnm-util/cipher-wpa-psk-hex.h
8921           libnm-util/cipher-wpa-psk-passphrase.c
8922           libnm-util/cipher-wpa-psk-passphrase.h
8923           libnm-util/cipher.c
8924           libnm-util/cipher.h
8925           libnm-util/dbus-helpers.c
8926           libnm-util/dbus-helpers.h
8927           libnm-util/gnome-keyring-md5.c
8928           libnm-util/gnome-keyring-md5.h
8929           libnm-util/sha1.c
8930           libnm-util/sha1.h
8931           src/nm-device-802-11-wireless.c
8932           test/libnm-util/Makefile.am
8933           test/libnm-util/test-ciphers.c
8934           test/libnm-util/test-dbus-helpers.c
8935           test/libnm-util/test-inputs.h
8936                 - Removed
8937
8938 2007-09-14  Dan Williams  <dcbw@redhat.com>
8939
8940         * libnm-util/dbus-method-dispatcher.c
8941           libnm-util/dbus-method-dispatcher.h
8942                 - Remove, unused
8943
8944 2007-09-14  Dan Williams  <dcbw@redhat.com>
8945
8946         Implement deferred activation support in the device class.
8947
8948         * src/nm-device-interface.c
8949           src/nm-device-interface.h
8950                 - (nm_device_interface_activate): take more arguments to support
8951                         deferred activation; callers must pass one of (connection) OR
8952                         (service_name, connection_path)
8953                 - (impl_device_activate): connection validation is punted to the device
8954                         to be able to handle deferred activation.  Yes, this means errors
8955                         don't get returned from the Activate() dbus call, and yes, that
8956                         should be fixed somehow later.
8957
8958         * src/nm-device.c
8959           src/nm-device.h
8960                 - (clear_act_request): clear additional deferred activation stuff too
8961                 - (deferred_activation_timeout_cb): new function; clean up when
8962                         deferred activation times out.
8963                 - (deferred_activation_start_cb): new function; when the connection
8964                         finally becomes available, start device activation
8965                 - (nm_device_activate): attach to the right signals of the activation
8966                         request if we need to defer activation until the connection is valid
8967
8968         * src/NetworkManagerPolicy.c
8969                 - (nm_policy_device_change_check): update for additional arguments
8970                         required for nm_device_interface_activate().  Pass NULL for these
8971                         though because this function already knows exactly which
8972                         NMConnection to use
8973
8974 2007-09-14  Dan Williams  <dcbw@redhat.com>
8975
8976         Implement deferred activation handling in the NMActRequest class.  When a
8977         client wants to activate a device but must create the NMConnection details
8978         on the fly, there likely hasn't been enough time yet for NM to receive the
8979         new connection signal and grab all the connection details.  So the
8980         activation is deferred (and bounded by a timer) for a while, and if the
8981         connection appears within the window, it is activated.
8982
8983         * src/nm-activation-request.c
8984           src/nm-activation-request.h
8985                 - (nm_act_request_class_init): two new signals to support deferred
8986                         activation, to allow the listener to handle both timeout and success
8987                 - (nm_act_request_new_deferred): new function, starts the deferred
8988                         activation timeout handler and listens to the NMManager for
8989                         new-connection signals to notice when the connection comes in
8990
8991 2007-09-14  Dan Williams  <dcbw@redhat.com>
8992
8993         * src/nm-manager.h
8994           src/nm-manager.c
8995                 - (nm_manager_get_connection_service_name,
8996                    nm_manager_get_connection_dbus_path): get details about a connection
8997                         known internally by the NMManager
8998                 - (nm_manager_class_init): fix connection add/remove signal marshalers
8999                         because NMConnection is now a GObject subclass
9000                 - Use constant for the gobject data tag used on NMConnection objects for
9001                         storing the associated DBusGProxy
9002
9003 2007-09-14  Dan Williams  <dcbw@redhat.com>
9004
9005         * utils/Makefile.am
9006           utils/nm-utils.c
9007           utils/nm-utils.h
9008           src/supplicant-manager/Makefile.am
9009           src/dhcp-manager/Makefile.am
9010           src/backends/Makefile.am
9011           src/named-manager/Makefile.am
9012           src/ppp-manager/Makefile.am
9013           src/vpn-manager/Makefile.am
9014           test/libnm-util/Makefile.am
9015           test/test-common/Makefile.am
9016                 - Remove utils/; it was unused
9017
9018 2007-09-13  Dan Williams  <dcbw@redhat.com>
9019
9020         * libnm-glib/nm-vpn-manager.h
9021           libnm-glib/nm-vpn-manager.c
9022                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
9023
9024 2007-09-13  Dan Williams  <dcbw@redhat.com>
9025
9026         * src/nm-device-802-3-ethernet.c
9027                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
9028                         netlink monitor carrier signals on dispose, not bring down.  The
9029                         carrier signals should be handled over the entire lifetime of the
9030                         device anyway, not created/destroyed on up or down.
9031
9032 2007-09-13  Dan Williams  <dcbw@redhat.com>
9033
9034         * libnm-glib/nm-device.c
9035           libnm-glib/nm-device.h
9036                 - (nm_device_activate): take a connection object path rather than an
9037                         NMConnection because NMConnection isn't exported over D-Bus and
9038                         therefore it dbus-glib can't automatically get an object path from it
9039
9040 2007-09-13  Dan Williams  <dcbw@redhat.com>
9041
9042         * libnm-util/nm-setting.c
9043                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
9044
9045 2007-09-13  Tambet Ingo  <tambet@gmail.com>
9046
9047         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
9048
9049 2007-09-12  Tambet Ingo  <tambet@gmail.com>
9050
9051         * src/vpn-manager/nm-vpn-connection.[ch]: 
9052         * src/vpn-manager/nm-vpn-manager.[ch]:
9053         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
9054         dbus-glib, GObjects, signals etc.
9055
9056         * libnm-glib/nm-vpn-manager.[ch]: 
9057         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
9058         so much, rewrite these too.
9059
9060         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
9061         the new introspection files.
9062
9063         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
9064
9065         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
9066         the header with the same name from libnm-utils.
9067
9068         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
9069
9070         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
9071
9072         * introspection/nm-vpn-plugin.xml: Implement.
9073
9074         * introspection/nm-vpn-connection.xml: Implement.
9075
9076         * introspection/nm-vpn-manager.xml: Implement.
9077
9078         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
9079         the named manager argument, it can just as easily get it as the caller.
9080         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
9081
9082         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
9083
9084         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
9085
9086         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
9087         libnm-utils.
9088
9089         * libnm-util/nm-connection.c: Ditto.
9090
9091         * src/NetworkManagerMain.h: Remove, it's finally empty.
9092
9093         * configure.in: Remove utils/ from build.
9094
9095         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
9096         of hard-coded strings.
9097
9098         * utils/: Move it over to libnm-util.
9099
9100         * test/Makefile.am: Link against libnm-util now that util/ is gone.
9101
9102         * dispatcher-daemon/Makefile.am: Ditto.
9103
9104         * src/Makefile.am: Ditto.
9105
9106 2007-09-12  Dan Williams  <dcbw@redhat.com>
9107
9108         Wireless connections can be made with config data from the applet now.
9109         
9110         Yay.
9111
9112         * src/supplicant-manager/nm-supplicant-config.h
9113           src/supplicant-manager/nm-supplicant-config.c
9114                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
9115                 - (nm_supplicant_config_add_setting_wireless,
9116                    nm_supplicant_config_add_setting_wireless_security): new functions;
9117                         add key/value pairs from the settings objects to the supplicant
9118                         config
9119
9120         * src/nm-device-802-11-wireless.c
9121                 - (cull_scan_list): fix check to not prune currently associated AP
9122                 - (build_supplicant_config, real_act_stage2_config): call the functions
9123                         of the NMSupplicantConfig that parse settings objects rather than
9124                         doing it manually here
9125
9126 2007-09-12  Dan Williams  <dcbw@redhat.com>
9127
9128         * src/supplicant-manager/nm-supplicant-interface.c
9129           src/supplicant-manager/nm-supplicant-marshal.list
9130                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
9131                         "connection-error" signal arguments should be STRING not CHAR
9132
9133 2007-09-12  Dan Williams  <dcbw@redhat.com>
9134
9135         * src/NetworkManagerUtils.c
9136           src/NetworkManagerUtils.h
9137                 - (nm_utils_hexstr2bin): new function
9138
9139 2007-09-11  Dan Williams  <dcbw@redhat.com>
9140
9141         * src/nm-manager.c
9142                 - (connection_get_settings_cb): emit connection-added signal
9143                 - (connection_removed_cb): uncomment bits for system settings service,
9144                         send connection-removed when appropriate
9145                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
9146                         the stack by trying to g_object_set_data() on something that's
9147                         not a GObject; handle case where settings service returns
9148                         empty settings hash table
9149
9150 2007-09-11  Dan Williams  <dcbw@redhat.com>
9151
9152         * src/NetworkManagerPolicy.c
9153                 - (connection_added, connection_removed): trigger device change checks
9154                         on connection changes
9155
9156 2007-09-11  Dan Williams  <dcbw@redhat.com>
9157
9158         * src/nm-activation-request.c
9159                 - (connection_secrets_updated_cb): fix c&p error in signal emission
9160
9161 2007-09-11  Dan Williams  <dcbw@redhat.com>
9162
9163         * src/nm-device-802-11-wireless.c
9164                 - (real_connection_secrets_updated): fix erroneous check
9165
9166 2007-09-11  Dan Williams  <dcbw@redhat.com>
9167
9168         * introspection/nm-device.xml
9169           libnm-glib/nm-device.c
9170           libnm-glib/nm-device.c
9171                 - Fix Activate call argument borkage; Activate takes 3 arguments
9172
9173 2007-09-11  Dan Williams  <dcbw@redhat.com>
9174
9175         * libnm-glib/nm-access-point.c
9176           libnm-glib/nm-access-point.c
9177                 - (nm_access_point_get_frequency): now returns guint32 to match
9178                         property change on 2007-09-10
9179
9180 2007-09-11  Dan Williams  <dcbw@redhat.com>
9181
9182         * src/nm-device-802-11-wireless.c
9183                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
9184                         somewhere defines 'index' and I missed this one when I fixed the
9185                         shadow declaration errors earlier
9186
9187 2007-09-11  Dan Williams  <dcbw@redhat.com>
9188
9189         * libnm-util/nm-connection.c
9190                 - (nm_connection_update_secrets, need_secrets_check): move
9191                         802-11-wireless-security need_secrets checks to the setting object
9192                         itself, where it belongs
9193
9194         * libnm-util/nm-setting.c
9195           libnm-util/nm-setting.h
9196                 - (nm_setting_need_secrets): new function
9197                 - (setting_wireless_security_verify,
9198                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
9199                 - (setting_wireless_security_need_secrets): mostly copy code over
9200                         from nm-connection.c
9201
9202 2007-09-11  Dan Williams  <dcbw@redhat.com>
9203
9204         * libnm-util/nm-setting.c
9205           libnm-util/nm-setting.h
9206                 - (nm_setting_update_secrets): new function; add a virtual function that
9207                         subclasses can implement to update their secrets
9208                 - (setting_wireless_security_update_secrets): implement that function
9209                         for the 802-11-wireless-security subclass
9210
9211         * libnm-util/nm-connection.c
9212           libnm-util/nm-connection.h
9213                 - (nm_connection_update_secrets): update secrets for a Setting and
9214                         emit a signal on success
9215
9216         * src/nm-manager.c
9217           src/nm-manager.h
9218           src/nm-marshal.list
9219                 - (connection_get_settings_cb): enable system settings bits
9220                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
9221                         to request secrets from the settings dbus service and to
9222                         push those secrets to the NMConnection itself
9223
9224         * src/nm-activation-request.c
9225           src/nm-activation-request.h
9226                 - Attach to the 'secrets-updated' signal of the NMConnection that's
9227                         currently being activated, and proxy that signal to other listeners.
9228                         Goes through the activation request because the activation request
9229                         is the thing that manages the lifetime of the NMConnection that's
9230                         being activated.
9231
9232         * src/nm-device-802-11-wireless.c
9233                 - (real_connection_secrets_updated): implement the connection secrets
9234                         updated notification and restart activation when secrets are
9235                         received
9236                 - (real_act_stage2_config): request secrets from the settings dbus
9237                         service if secrets are needed
9238
9239         * src/nm-device.c
9240           src/nm-device.h
9241                 - (clear_act_request, nm_device_activation_cancel,
9242                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
9243                         where the activation request is cleared
9244                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
9245                         updated secrets signal of activation request and add a function
9246                         that subclasses can override to handle it easily
9247
9248 2007-09-11  Tambet Ingo  <tambet@gmail.com>
9249
9250         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
9251         removal of NetworkManagerAPList.
9252
9253 2007-09-10  Dan Williams  <dcbw@redhat.com>
9254
9255         * src/NetworkManagerAP.c
9256           src/NetworkManagerAP.h
9257           introspection/nm-access-point.xml
9258                 - Change 'freq' property to a guint32 instead of a double since we
9259                         weren't using the floating point bits anyway
9260
9261 2007-09-10  Dan Williams  <dcbw@redhat.com>
9262
9263         * NetworkManagerAP.c
9264           NetworkManagerAP.h
9265           NetworkManagerPolicy.c
9266           NetworkManagerSystem.c
9267           NetworkManagerUtils.c
9268           NetworkManagerUtils.h
9269           nm-device-802-11-wireless.c
9270           nm-device-802-3-ethernet.c
9271           nm-hal-manager.c
9272           nm-manager.c
9273           vpn-manager/nm-dbus-vpn.c
9274                 - Warning fixes; casts and removal of unused variables
9275
9276 2007-09-10  Dan Williams  <dcbw@redhat.com>
9277
9278         * include/NetworkManager.h
9279                 - Kill NMNetworkType; AP types don't matter any more
9280
9281         * src/NetworkManagerAPList.c
9282           src/NetworkManagerAPList.h
9283           src/Makefile.am
9284                 - Kill; NMAccessPointList has outlived it's usefulness
9285
9286         * src/NetworkManagerAP.c
9287           src/NetworkManagerAP.h
9288                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
9289                         functions; check if an NMConnection object is compatible with the
9290                         settings of this AP
9291                 - (freq_to_channel, channel_to_freq): utility functions for
9292                         channel <-> frequency conversion
9293
9294         * src/nm-device.c
9295           src/nm-device.h
9296                 - (nm_device_get_best_connection): pass the specific object around
9297                          (which might be the object path of a specific AP to connect to).
9298                          The get_best_connection() call should populate this on return
9299                          if needed (wireless does).
9300
9301         * src/nm-device-802-3-ethernet.c
9302                 - (real_get_best_connection): handle specific_object argument
9303
9304         * src/NetworkManager.c
9305           src/NetworkManagerMain.h
9306                 - Remove unused includes
9307
9308         * src/nm-device-802-11-wireless.c
9309           src/nm-device-802-11-wireless.h
9310                 - Convert the ap_list into a GSList from an NMAccessPointList
9311                 - No need for caching the 'activation_ap' since this is now determined
9312                         from the specific_object of the activation request, which is
9313                         populated from the get_best_connection() call or from a user request
9314                 - (nm_device_802_11_wireless_update_bssid): fix warning
9315                 - (get_wireless_capabilities): fix error message format arguments
9316                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
9317                 - (find_best_connection, real_get_best_connection): implement
9318                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
9319                         move here from NetworkManagerAPList
9320                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
9321                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
9322                         already verified earlier
9323                 - (real_act_stage2_config): use nm_connection_need_secrets()
9324
9325         * src/NetworkManagerPolicy.c
9326                 - (nm_policy_auto_get_best_device): handle specific objects
9327                 - (create_connection): remove; automatic connection creation functionality
9328                         is handled by the Connection objects
9329                 - (nm_policy_device_change_check): handle specific_object
9330
9331         * libnm-util/nm-connection.c
9332                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
9333
9334 2007-09-10  Dan Williams  <dcbw@redhat.com>
9335
9336         * src/nm-manager.c
9337                 - (query_connections): fix uninitialized variable problem that caused
9338                         segfault
9339                 - (nm_manager_add_device): take devices down on startup so that we can
9340                         be assured that nm_device_is_up() won't short-circuit the init
9341                         process.  Hack until the is_up check gets split into two pieces
9342                         that aren't behaviorally confusing.
9343
9344 2007-09-09  Dan Williams  <dcbw@redhat.com>
9345
9346         * introspection/nm-device.xml
9347                 - The 'Activate' method now takes 3 arguments, a service name for the
9348                 settings service (user or system), the object path of the connection
9349                 to activate, and the specific object to activate, if any
9350
9351         * src/nm-device-interface.c
9352                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
9353                 Add error bits
9354                 - (impl_device_activate): adapt to new Activate arguments; validate
9355                 the service name and get the Connection object from the NMManager
9356                 before starting to activate the device with the specified connection
9357
9358         * src/nm-device-802-3-ethernet.c
9359                 - (real_get_best_connection): find the best connection, or create a
9360                 default one if no existing connections can be used
9361
9362         * src/NetworkManagerPolicy.c
9363                 - (nm_policy_auto_get_best_device): Get the device's best connection
9364                 and only pick the device if it has one
9365                 - (nm_policy_device_change_check): disable wireless bits for now until
9366                 wireless get_best_connection() can be implemented (replacing "best_ap");
9367                 don't create a default connection here as the device subclass will do
9368                 that if needed
9369
9370         * src/nm-manager.h
9371           src/nm-manager.c
9372                 - (nm_manager_get): make NMManager a singleton and expose the getter
9373                 internally
9374                 - Rework internal NMManager connection handling to use the same
9375                 routines for both the system and user settings services.  Most calls
9376                 take a new NMConnectionType argument specifying either system or user
9377                 connections
9378                 - (nm_manager_get_connection_by_object_path): new function; get a
9379                 connection keyed on its object path
9380
9381         * src/NetworkManager.c
9382                 - (main): use nm_manager_get()
9383
9384 2007-09-09  Dan Williams  <dcbw@redhat.com>
9385
9386         * src/nm-device.h
9387           src/nm-device.c
9388                 - (nm_device_get_best_connection): new function; get best connection
9389                         for the device at that time
9390
9391 2007-09-09  Dan Williams  <dcbw@redhat.com>
9392
9393         * src/nm-device-interface.h
9394                 - Add NMDeviceInterfaceError with an UnknownConnection error
9395
9396 2007-09-09  Dan Williams  <dcbw@redhat.com>
9397
9398         Stupid mistake on my part; object path and interface for settings service
9399         and connection objects can be the same, only the service name must be
9400         different for the system and user settings services.
9401
9402         * include/NetworkManager.h
9403           src/nm-manager.c
9404           introspection/nm-settings-connection.xml
9405           introspection/nm-settings.xml
9406           libnm-glib/nm-settings.c
9407                 - (nm_connection_settings_init, query_user_connections,
9408                    new_connection_cb): Unify NetworkManagerSettings and Connection
9409                    interface name and object path
9410
9411 2007-09-06  Dan Williams  <dcbw@redhat.com>
9412
9413         * libnm-glib/nm-object.c
9414                 - (nm_object_get_string_property, nm_object_get_object_path_property,
9415                    nm_object_get_int_property, nm_object_get_uint_property,
9416                    nm_object_get_boolean_property, nm_object_get_byte_property,
9417                    nm_object_get_double_property, nm_object_get_byte_array_property):
9418                         clear GValues after copying their contents, fixes memory leaks
9419                         after every property access because dbus-glib copies the values
9420                         from the DBusMessage into the GValue already.
9421
9422 2007-09-06  Dan Williams  <dcbw@redhat.com>
9423
9424         * introspection/nm-access-point.xml
9425                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
9426                         them to be.  There's some magic property name parsing going on in
9427                         dbus-glib that breaks up property names based on studly-caps and
9428                         puts - between words.
9429
9430         * libnm-glib/nm-access-point.c
9431                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
9432                         Fix property names
9433
9434 2007-09-06  Dan Williams  <dcbw@redhat.com>
9435
9436         * src/nm-manager.c
9437                 - (nm_manager_user_connections_destroy): clear the user connections hash
9438                         table, don't destroy it
9439                 - (finalize): only destroy the hash table on NMManager finalization
9440
9441 2007-09-02  Dan Williams  <dcbw@redhat.com>
9442
9443         * include/NetworkManager.h
9444           libnm-glib/nm-settings.c
9445                 - defines for the user settings daemon D-Bus bits
9446
9447         * src/NetworkManager.c
9448                 - Remove stuff that referred to the old NetworkManagerInfo service
9449
9450         * src/vpn-manager/nm-dbus-vpn.h
9451                 - Move old NMI defines to the only place they are used still
9452
9453         * libnm-util/nm-connection.c
9454           libnm-util/nm-connection.h
9455           src/nm-activation-request.c
9456                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
9457
9458         * src/nm-manager.c
9459           src/nm-manager.h
9460                 - Get connections and their settings from the user settings daemon
9461                         at the appropriate times
9462
9463 2007-09-02  Dan Williams  <dcbw@redhat.com>
9464
9465         * libnm-util/nm-setting.c
9466                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
9467                 - (setting_wireless_hash): set the right value on the item
9468
9469 2007-09-02  Dan Williams  <dcbw@redhat.com>
9470
9471         * test/Makefile.am
9472           test/nminfotest.c
9473                 - Remove, no longer useful
9474
9475 2007-08-30  Dan Williams  <dcbw@redhat.com>
9476
9477         * src/Makefile.am
9478           src/NetworkManagerDbus.c
9479           src/NetworkManagerDbus.h
9480           src/vpn-manager/nm-dbus-vpn.c
9481                 - Remove, no longer necessary.  Move last bits to the only place its
9482                 used, in nm-dbus-vpn.c
9483
9484         * src/NetworkManagerAPList.c
9485           src/nm-device.c
9486           src/NetworkManager.c
9487           src/nm-device-802-11-wireless.c
9488           src/vpn-manager/nm-vpn-manager.c
9489           src/vpn-manager/nm-vpn-service.c
9490           src/NetworkManagerPolicy.c
9491           src/nm-manager.c
9492                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
9493                 that was message_is_error()
9494
9495 2007-08-30  Dan Williams  <dcbw@redhat.com>
9496
9497         * libnm-util/sha1.c
9498                 - Include config.h to get defines for endiannes (gnome.org #420216)
9499
9500 2007-08-30  Dan Williams  <dcbw@redhat.com>
9501
9502         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
9503
9504         * src/ppp-manager/Makefile.am
9505                 - use -fPIC (gnome.org #471825)
9506
9507 2007-08-29  Dan Williams  <dcbw@redhat.com>
9508
9509         * include/NetworkManager.h
9510                 - Keep NMConnection object path in sync
9511
9512         * libnm-glib/nm-settings.c
9513           libnm-glib/nm-settings.h
9514                 - Break D-Bus object registration out of the init function, because
9515                 every object that's exported over D-Bus needs to use the _same_
9516                 DBusConnection.  Otherwise, each object would get a different object
9517                 path tree and wouldn't be callable.
9518
9519 2007-08-29  Dan Williams  <dcbw@redhat.com>
9520
9521         * libnm-util/nm-setting.h
9522           libnm-util/nm-setting.c
9523           libnm-util/nm-connection.c
9524           src/NetworkManagerPolicy.c
9525                 - 'info' settings object should be 'connection' says the spec
9526                 at NetworkManagerConfigurationSpecification
9527
9528 2007-08-29  Dan Williams  <dcbw@redhat.com>
9529
9530         * libnm-glib/nm-settings.c
9531           libnm-glib/nm-settings.h
9532                 - make the dbus path a property of the object, and autogenerate it.
9533                 It can't be composed of the 'id' field becuase that's not available
9534                 yet during the GObject creation in nm_connection_settings_init()
9535
9536 2007-08-29  Dan Williams  <dcbw@redhat.com>
9537
9538         * introspection/nm-settings-connection.xml
9539           introspection/nm-settings.xml
9540                 - Service name -> NetworkManagerUserSettings because two services
9541                 can't share part of the same path.  I'm not really sure how we'll use
9542                 the same code with the system-settings daemon...
9543
9544 2007-08-28  Dan Williams  <dcbw@redhat.com>
9545
9546         * src/nm-device-interface.c
9547           src/nm-device-interface.h
9548                 - Kill one more bit of NMData
9549
9550 2007-08-28  Dan Williams  <dcbw@redhat.com>
9551
9552         * src/NetworkManagerSystem.h
9553           src/nm-device.c
9554           src/nm-device.h
9555           src/nm-hal-manager.c
9556           src/NetworkManager.c
9557           src/nm-device-802-11-wireless.c
9558           src/nm-hal-manager.h
9559           src/nm-device-802-3-ethernet.c
9560           src/vpn-manager/nm-vpn-service.h
9561           src/vpn-manager/nm-vpn-manager.c
9562           src/vpn-manager/nm-vpn-manager.h
9563           src/vpn-manager/nm-vpn-service.c
9564           src/nm-device-802-11-wireless.h
9565           src/NetworkManagerMain.h
9566           src/nm-device-802-3-ethernet.h
9567           src/backends/NetworkManagerGentoo.c
9568           src/backends/NetworkManagerPaldo.c
9569           src/backends/NetworkManagerFrugalware.c
9570           src/backends/NetworkManagerRedHat.c
9571           src/backends/NetworkManagerSlackware.c
9572           src/backends/NetworkManagerGeneric.c
9573           src/backends/NetworkManagerArch.c
9574           src/backends/NetworkManagerSuSE.c
9575           src/backends/NetworkManagerGeneric.h
9576           src/backends/NetworkManagerDebian.c
9577                 - Kill NMData
9578
9579 2007-08-28  Dan Williams  <dcbw@redhat.com>
9580
9581         * src/NetworkManagerMain.h
9582           src/nm-device-802-11-wireless.c
9583           src/NetworkManager.c
9584                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9585                 for now we should set the 'invalid' property on individual APs, and when
9586                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9587                 that ESS
9588
9589 2007-08-28  Dan Williams  <dcbw@redhat.com>
9590
9591         * src/NetworkManagerAP.c
9592           src/NetworkManagerAP.h
9593                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9594                         'autoconnect' property instead
9595
9596         * src/NetworkManager.c
9597           src/NetworkManagerMain.h
9598           src/NetworkManagerPolicy.c
9599           src/NetworkManagerPolicy.h
9600                 - Remove the 'allowed_ap_list', which should be replaced by 
9601                         NMConnection/NMSettings instead, since _those_ are the allowed
9602                         things that NM can connect to
9603
9604         * src/nm-device-802-11-wireless.c
9605                 - Remove both allowed_ap_list usage and 'fallback' checking
9606
9607 2007-08-28  Dan Williams  <dcbw@redhat.com>
9608
9609         * src/nm-device.c
9610           src/named-manager/nm-named-manager.c
9611           src/named-manager/nm-named-manager.h
9612           src/NetworkManager.c
9613           src/vpn-manager/nm-vpn-manager.c
9614           src/NetworkManagerMain.h
9615           src/NetworkManagerSystem.c
9616                 - Remove the named-manager object from NMData structure in preparation
9617                 for NMData's timely death.  Make the NMNamedManager the singleton that
9618                 it really is
9619
9620 2007-08-28  Dan Williams  <dcbw@redhat.com>
9621
9622         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9623         each AP's capabilities, and by NMConnection/NMSettings objects for user
9624         defined connections.
9625
9626         * include/NetworkManager.h
9627                 - Redefine 802.11 security properties.  There are now device capabilities
9628                         and AP flags and AP security flags.  It was way to unclear before.
9629
9630         * src/Makefile.am
9631           src/nm-ap-security-leap.h
9632           src/nm-ap-security-leap.c
9633           src/nm-ap-security-wpa-eap.c
9634           src/nm-ap-security-wpa-eap.h
9635           src/nm-ap-security-private.h
9636           src/nm-ap-security-wpa-psk.c
9637           src/nm-ap-security-wpa-psk.h
9638           src/nm-ap-security-wep.c
9639           src/nm-ap-security-wep.h
9640           src/nm-ap-security.c
9641           src/nm-ap-security.h
9642                 - Removed, to be replaced with NMConnection/NMSettings objects
9643
9644         * src/nm-dbus-nmi.c
9645           src/nm-dbus-nmi.h
9646                 - Removed, to be replaced by code that talks to the new info daemon
9647                         interface and gets NMConnection/NMSettings objects
9648
9649         * src/backends/NetworkManagerSuSE.c
9650                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9651                         info-daemon that does the same thing but talks the new info-daemon
9652                         D-Bus interface
9653
9654         * src/NetworkManagerAP.h
9655           src/NetworkManagerAP.c
9656           src/NetworkManagerAPList.c
9657           libnm-glib/libnm-glib-test.c
9658                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9659                         WPA/RSN
9660
9661         * libnm-glib/nm-access-point.c
9662           libnm-glib/nm-access-point.h
9663           introspection/nm-access-point.xml
9664           test/nm-tool.c
9665                 - Adjust to new flags for AP security
9666
9667         * utils/nm-utils.c
9668           utils/nm-utils.h
9669           src/vpn-manager/nm-dbus-vpn.c
9670                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9671                         stuff which is the only place it's used
9672
9673         * src/nm-device-interface.c
9674           src/nm-device-interface.h
9675           introspection/nm-device.xml
9676           src/nm-activation-request.c
9677           src/nm-activation-request.h
9678           src/nm-device.c
9679                 - Add a new 'specific_object' argument that hints to NM what actual
9680                         AP or other device-specific thing the connection should apply to.
9681                         NMConnection objects can apply to more than one actual device/AP.
9682
9683         * libnm-util/nm-connection.c
9684         * libnm-util/nm-connection.h
9685                 - Add 'have_secrets" call stubs
9686
9687         * libnm-util/cipher.h
9688                 - Move NM_AUTH_TYPE_* defines here for now
9689
9690         * src/nm-device-802-11-wireless.c
9691                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9692                         NMSettings objects
9693
9694         * src/NetworkManagerDbus.c
9695         * src/NetworkManagerPolicy.c
9696                 - Remove usage of update_allowed_networks, should be pushing data in
9697                         a different manner
9698
9699 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9700
9701         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9702         dbus-glib frees it when the call is done.
9703
9704 2007-08-26  Dan Williams  <dcbw@redhat.com>
9705
9706         * introspection/nm-device.xml
9707                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9708
9709 2007-08-26  Dan Williams  <dcbw@redhat.com>
9710
9711         * src/nm-device-802-3-ethernet.c
9712                 - (constructor): move connection of interface-connected/disconnected
9713                         signals here from real_bring_up().  Should be listening to netlink
9714                         for carrier events no matter what the initial state of the device
9715                         is.
9716
9717 2007-08-26  Dan Williams  <dcbw@redhat.com>
9718
9719         * src/nm-netlink-monitor.c
9720                 - (nm_netlink_monitor_class_init): fix marshalling types for
9721                         interface-connected/interface-disconnected
9722                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9723                         check
9724
9725 2007-08-26  Dan Williams  <dcbw@redhat.com>
9726
9727         Convert to using interface indexes as the primary method of identifying
9728         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9729         be renamed at any time.  Device object paths now refer to the device
9730         index rather than the name, and you can map those two manually if you like
9731         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9732         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9733         to use interface indexes rather than names.
9734
9735 2007-08-26  Dan Williams  <dcbw@redhat.com>
9736
9737         * src/nm-netlink-monitor.h
9738                 - Remove one last bit of wireless-event signal
9739
9740 2007-08-26  Dan Williams  <dcbw@redhat.com>
9741
9742         * src/nm-netlink-monitor.c
9743                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9744                         don't need the 'wireless-event' signal anymore since that's all
9745                         handled by wpa_supplicant
9746
9747 2007-08-25  Dan Williams  <dcbw@redhat.com>
9748
9749         It's 2007. Remove support for drivers that don't support wireless scanning.
9750
9751         * test/nm-tool.c
9752           include/NetworkManager.h
9753           src/NetworkManagerUtils.c
9754           src/NetworkManagerPolicy.c
9755           src/nm-device-802-11-wireless.c
9756                 - Remove special handling for non-scanning devices and mark them
9757                         as unsupported/unhandled
9758
9759 2007-08-20  Dan Williams  <dcbw@redhat.com>
9760
9761         * src/nm-device-802-11-wireless.c
9762           src/nm-device-802-3-ethernet.c
9763                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9764                         because when the card is pulled or the module removed, the device
9765                         is already !IFF_UP and then device-specific cleanup (removing
9766                         the supplicant interface, periodic checks, etc) never gets done
9767
9768 2007-08-20  Dan Williams  <dcbw@redhat.com>
9769
9770         * src/nm-manager.c
9771                 - (nm_manager_remove_device): bring device down before disconnecting
9772                         signal handlers, so that the 'state' signal will get broadcast when
9773                         the device enters the DOWN state
9774                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
9775                         of states that cause the NMManager to recheck its state
9776
9777 2007-08-20  Dan Williams  <dcbw@redhat.com>
9778
9779         * src/supplicant-manager/nm-supplicant-interface.c
9780                 - (interface_disconnect_done): don't try to dispose of the net proxy
9781                         when it may already have been disposed of
9782
9783 2007-08-20  Dan Williams  <dcbw@redhat.com>
9784
9785         * src/nm-device-802-11-wireless.c
9786                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
9787                         the SSID isn't available; this can happen when the card is pulled
9788                         or the module unloaded, during the post-removal deactivation
9789                         paths, when the ioctl returns ENODEV
9790
9791 2007-08-20  Dan Williams  <dcbw@redhat.com>
9792
9793         * src/nm-device-802-11-wireless.c
9794                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
9795                         frequency, and mode match.  Applets are now responsible for grouping
9796                         access points
9797
9798 2007-08-20  Dan Williams  <dcbw@redhat.com>
9799
9800         * src/NetworkManagerAP.c
9801         * src/NetworkManagerAP.h
9802                 - (nm_ap_print_self): new function
9803
9804         * src/NetworkManagerAPList.c
9805                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
9806                         to do it all here
9807         
9808 2007-08-17  Dan Williams  <dcbw@redhat.com>
9809
9810         * src/nm-device-802-3-ethernet.c
9811                 - (real_bring_down): don't try to dispose of stuff that might not
9812                         exist
9813
9814 2007-08-17  Dan Williams  <dcbw@redhat.com>
9815
9816         * src/NetworkManagerAP.c
9817                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
9818                         applet.  This ensures that the case between the seen-bssids and
9819                         the bssids reported by the driver match.
9820
9821 2007-08-17  Dan Williams  <dcbw@redhat.com>
9822
9823         * src/nm-device-802-11-wireless.c
9824                 - (device_cleanup): disconnect the interface in wpa_supplicant before
9825                         we dispose of the interface proxy in NM
9826
9827 2007-08-16  Dan Williams  <dcbw@redhat.com>
9828
9829         * libnm-glib/nm-client.c
9830                 - (nm_client_init): create VPN connections hash table with key free
9831                         function
9832                 - (proxy_vpn_connection_added): VPN connections hash table key should
9833                         be a duplicated value, not the same memory address as the VPN
9834                         connection name.  This is because the VPN connection name could
9835                         potentially be freed and set to something else during the lifetime
9836                         of the NMVPNConnection object.
9837
9838 2007-08-16  Tambet Ingo  <tambet@gmail.com>
9839
9840         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
9841         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
9842         with the file descriptors. Send a child setup function to change the pppd
9843         progress group.
9844
9845 2007-08-15  Dan Williams  <dcbw@redhat.com>
9846
9847         * src/supplicant-manager/nm-supplicant-interface.c
9848                 - (try_remove_iface): new function, ask wpa_supplicant to remove
9849                         an interface
9850                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
9851                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
9852                         happens on hotplug if wpa_supplicant doesn't tear down and readd
9853                         the interface internally
9854
9855 2007-08-15  Dan Williams  <dcbw@redhat.com>
9856
9857         * src/nm-device-802-11-wireless.c
9858                 - (real_bring_down): move most of this function into device_cleanup()
9859                         so that it can be called from elsewhere
9860                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
9861                         and stuff on dispose.  These would normally get cleaned up when
9862                         the device is marked down and deactivated, but when the device is
9863                         hot-unplugged, it's already down and real_down() never gets run
9864
9865 2007-08-15  Dan Williams  <dcbw@redhat.com>
9866
9867         * src/nm-dbus-nmi.c
9868                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
9869                         caused a reference leak on device for which NM requested a key
9870
9871 2007-08-15  Dan Williams  <dcbw@redhat.com>
9872
9873         * libnm-glib/nm-client.c
9874                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
9875
9876 2007-08-15  Tambet Ingo  <tambet@gmail.com>
9877
9878         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
9879         nothing is using it at the moment, but it'll be all useful and stuff later on.
9880
9881         * libnm-util/nm-setting.h: Define NMSettingPPP.
9882
9883         * libnm-util/nm-setting.c: Implement NMSettingPPP.
9884
9885         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
9886
9887         * src/Makefile.am: Add ppp-manager to SUBDIRS.
9888
9889         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
9890
9891         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
9892
9893 2007-08-14  Tambet Ingo  <tambet@gmail.com>
9894
9895         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
9896
9897         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
9898         an issue with dbus-glib bindings generator. The issue is, the generated C caller
9899         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
9900         name and different arguments and it won't compile anymore. To fix this, we now have
9901         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
9902         that is new API + compatibility API and used by the daemon. The other, 
9903         nm-manager-client.xml is only the new API without compatibility bits and is used
9904         by libnm-glib to make it compile.
9905
9906         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
9907
9908         * src/nm-manager.c (impl_manager_legacy_sleep)
9909         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
9910         interface functions for 0.6 branch.
9911
9912 2007-08-14  Dan Williams  <dcbw@redhat.com>
9913
9914         * src/NetworkManagerAP.c
9915                 - (nm_ap_new_from_properties): fix mistaken check of return value
9916                         from memcmp (should expect 0)
9917
9918 2007-08-14  Dan Williams  <dcbw@redhat.com>
9919
9920         (force-commit to fix wrong comment and partial commit of r2685; this
9921          commit actually applies to r2685)
9922
9923         * src/NetworkManagerUtils.c
9924                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
9925                         ignores trailing nulls in the SSID to work around mismatches in
9926                         expectations between WEXT and what the info-daemon passes back.  The
9927                         info-daemon would pass back the correct length, but due to the
9928                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
9929                         the device would always have an SSID + 1 depending on what versions
9930                         of wpa_supplicant, the kernel, and NM you have.  This was most often
9931                         visible by just quitting the applet and relaunching, which caused
9932                         NM to reassociated to the same network over again when reloading
9933                         the save networks.
9934
9935         * src/NetworkManagerPolicy.c
9936           src/NetworkManagerUtils.h
9937           src/nm-device-802-11-wireless.c
9938                 - Update for new parameter to nm_utils_same_ssid()
9939
9940 2007-08-14  Dan Williams  <dcbw@redhat.com>
9941
9942         * src/NetworkManagerAP.c
9943                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
9944                         I encountered a BSS that wasn't just hiding it's ESSID, it was
9945                         setting the BSSID to all 0s.  That confused the heck out of NM,
9946                         plus it's useless and probably out-of-spec.
9947
9948 2007-08-14  Dan Williams  <dcbw@redhat.com>
9949
9950         * callouts/Makefile.am
9951           src/dhcp-manager/nm-dhcp-manager.c
9952           src/dhcp-manager/nm-dhcp-manager.h
9953           src/dhcp-manager/Makefile.am
9954                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
9955
9956 2007-08-14  Dan Williams  <dcbw@redhat.com>
9957
9958         * src/dhcp-manager/nm-dhcp-manager.c
9959                 - (dhclient_run): don't pass -x to dhclient until we figure out if
9960                         it's really needed, get rid of unused xtra_args parameter
9961
9962 2007-08-14  Dan Williams  <dcbw@redhat.com>
9963
9964         * include/NetworkManagerVPN.h
9965           src/vpn-manager/nm-dbus-vpn.c
9966           src/vpn-manager/nm-dbus-vpn.h
9967           src/vpn-manager/nm-vpn-act-request.c
9968           src/vpn-manager/nm-vpn-act-request.h
9969           src/vpn-manager/nm-vpn-service.c
9970           src/vpn-manager/nm-vpn-service.h
9971           libnm-glib/nm-vpn-connection.c
9972           libnm-glib/nm-vpn-connection.h
9973           libnm-glib/nm-client.h
9974                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
9975                         NMVPNServiceState to clarify what they apply to
9976                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
9977                         NMVPNActStage -> NMVPNConnectionState for the same reason
9978
9979         * libnm-glib/nm-client.c
9980                 - Constant + type renames from above
9981                 - Properly handle NameOwnerChanged/manager_running signals
9982                         for NM service; only emit when state really changes
9983                 - Use hash tables correctly so that the key (which was previously owned
9984                         by the D-Bus message) now has the same lifetime as the value, since
9985                         the key is now taken from the the NMVPNConnection itself.  This
9986                         really fixes the double-VPN names in the applet
9987
9988 2007-08-13  Dan Williams  <dcbw@redhat.com>
9989
9990         Patch from Michael Biebl <biebl@debian.org>
9991
9992         * po/POTFILES.in
9993           po/POTFILES.skip
9994                 - Update for vpn-properties move
9995
9996 2007-08-13  Dan Williams  <dcbw@redhat.com>
9997
9998         * libnm-glib/nm-client.c
9999                 - Convert internal VPN connection tracking from a list to a hash table
10000                         to easily avoid duplicates
10001                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
10002                         must be freed by the caller, like nm_client_get_devices()
10003                 - (nm_client_remove_vpn_connection): don't let the removal signal
10004                         leak through for NMVPNConnection objects that aren't actually
10005                         tracked.
10006                 - (manager_running): throw away VPN connection list when NM goes away,
10007                         like with the device list
10008
10009 2007-08-13  Dan Williams  <dcbw@redhat.com>
10010
10011         * src/dhcp-manager/nm-dhcp-manager.c
10012                 - Stop any dhclient instance that might be already running for a
10013                         particular interface before starting an NM spawned dhclient.  Fixes
10014                         dhclient processes left over if NM crashes, stuff like that.
10015
10016 2007-08-13  Dan Williams  <dcbw@redhat.com>
10017
10018         * src/NetworkManagerAP.c
10019                 - (finalize): don't try to g_array_free (NULL, ...), which happened
10020                         when the AP wasn't broadcasting it's SSID
10021
10022 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
10023
10024         * include/NetworkManager.h: added DBus path for connection settings.
10025
10026         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
10027         nm_connection_settings_signal_updated,
10028         nm_connection_settings_signal_removed): new functions to wrap the
10029         objects' signals.
10030         (nm_connection_settings_init): register GObject with DBus.
10031         (nm_connection_settings_get_dbus_object_path): new function.
10032
10033         * libnm-glib/Makefile.am: added libnmutil to link flags.
10034
10035 2007-08-13  Tambet Ingo  <tambet@gmail.com>
10036
10037         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
10038
10039         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
10040         libnm_glib directory got merged with libnm-glib/.
10041
10042         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
10043
10044         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
10045         Rename the library from libnm-glib to libnm_glib to maintain the library API
10046         compatibility with 0.6 branch.
10047
10048         * Makefile.am: Remove gnome/ SUBDIR.
10049
10050         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
10051
10052         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
10053
10054         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
10055
10056         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
10057         anymore.
10058         Remove checks for wpa_supplicant binary, it's used over dbus.
10059         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
10060
10061         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
10062         Link the binaries with libnm_glib.la.
10063
10064 2007-08-12  Dan Williams  <dcbw@redhat.com>
10065
10066         * src/NetworkManagerPolicy.c
10067                 - (nm_policy_device_change_check): fix policy to deactivate old device
10068                         before activating new one, at least until the multiple active
10069                         device support lands
10070
10071 2007-08-12  Dan Williams  <dcbw@redhat.com>
10072
10073         * src/NetworkManagerPolicy.c
10074                 - (nm_policy_new): hook up to connection-added / connection-removed
10075                         signals instead of connections-changed
10076
10077 2007-08-12  Dan Williams  <dcbw@redhat.com>
10078
10079         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
10080         Robert Frank <rfrank@redhat.com>
10081
10082         * src/dhcp-manager/nm-dhcp-manager.c
10083           src/dhcp-manager/nm-dhcp-manager.c
10084           src/nm-device.c
10085                 - Spawn and communicate with dhclient directly, through means of a
10086                 custom dhclient callout script.  Process callout D-Bus signals
10087                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
10088                 sent via gobject signals rather than being driven by the dhcp manager
10089                 directly.
10090
10091 2007-08-12  Dan Williams  <dcbw@redhat.com>
10092
10093         * callouts/nm-dhcp-client-action.c
10094                 - (build_message): ignore non-DHCP-related environment variables
10095
10096 2007-08-12  Dan Williams  <dcbw@redhat.com>
10097
10098         * Makefile.am
10099           configure.in
10100           callouts/Makefile.am
10101           callouts/nm-dhcp-client-action.c
10102           callouts/nm-dhcp-client.conf
10103                 - Add dhclient-executed callout that takes the place of dhclient-script
10104                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
10105                 NM then listens for
10106
10107 2007-08-09  Tambet Ingo  <tambet@gmail.com>
10108
10109         [Based on patch by Helmut Schaa <hschaa@suse.de>]
10110
10111         * libnm-glib/nm-client.h:
10112         * libnm-glib/nm-object.h:
10113         * libnm-glib/nm-vpn-connection.h:
10114         * libnm-glib/nm-settings.h:
10115         * libnm-glib/nm-device.h:
10116         * libnm-glib/nm-ip4-config.h:
10117         * libnm-glib/nm-access-point.h:
10118         * libnm-glib/nm-device-802-3-ethernet.h:
10119         * libnm-util/nm-setting.h: 
10120         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
10121
10122         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
10123
10124         * libnm-glib/nm-access-point.c: Strength has type char.
10125
10126         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
10127         to fix build. GnomeDruid is deprecated in recent libgnomeui.
10128
10129         * introspection/nm-access-point.xml: Strength property is char, not int.
10130
10131         * src/NetworkManagerAP.c (set_property): Set strength from char.
10132         (get_property): Handle hidden APs (with empty SSID).
10133         Get strength value from char.
10134         (nm_ap_class_init): Strength property has char type.
10135
10136 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
10137
10138         * introspection/Makefile.am:
10139         * introspection/nm-settings.xml:
10140         * introspection/nm-settings-connection.xml: added Settings interfaces.
10141
10142         * libnm-glib/nm-settings.[ch]:
10143         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
10144         containing the DBus implementation.
10145
10146 2007-07-26  Dan Williams  <dcbw@redhat.com>
10147
10148         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
10149
10150         * src/NetworkManagerSystem.c
10151                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
10152                         same subnet (#437396)
10153
10154 2007-07-26  Dan Williams  <dcbw@redhat.com>
10155
10156         Patch from Kelemen Gábor <kelemeng@gnome.hu>
10157
10158         * gnome/vpn-properties/nm-vpn-properties.c
10159                 - Fix translatable strings (#445865)
10160
10161 2007-07-26  Dan Williams  <dcbw@redhat.com>
10162
10163         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
10164
10165         * configure.in
10166                 - Remove useless junk (#412530)
10167
10168 2007-07-10  Christopher Aillon  <caillon@redhat.com>
10169
10170         Patch from Robert Buchholz <rbu@gentoo.org>:
10171
10172         * configure.in:
10173         * Makefile.am:
10174         * introspection/Makefile.am:
10175         Make make distcheck work again.
10176
10177 2007-06-27  Dan Williams  <dcbw@redhat.com>
10178
10179         * Make SSIDs GByteArrays everywhere
10180         * Rename "essid" -> "ssid" everywhere that's appropriate
10181         * Refcount activation_ap member of the 802.11 wireless device class
10182
10183 2007-06-27  Tambet Ingo  <tambet@ximian.com>
10184
10185         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
10186
10187 2007-06-22  Tambet Ingo  <tambet@ximian.com>
10188
10189         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
10190         that we got a new AP when we just update existing AP properties.
10191
10192 2007-06-21  Tambet Ingo  <tambet@ximian.com>
10193
10194         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
10195
10196         * nm-utils.[ch]: Remove.
10197
10198         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
10199         objects for easy property access and dbus connection handling.
10200
10201         * libnm-glib/nm-client.c: Derive from NMObject.
10202
10203         * libnm-glib/nm-device.c: Ditto.
10204
10205         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
10206
10207         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
10208
10209         * libnm-glib/nm-ip4-config.c: Ditto.
10210
10211         * libnm-glib/nm-access-point.c: Ditto.
10212
10213         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
10214         comparision. Currently used by the device activation code to determine if the new
10215         activation is the same as the old one.
10216
10217         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
10218         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
10219         able to ask password for the AP.
10220
10221         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
10222         up if the device is already connected, tear down it's connection (if it isn't the
10223         same as new one) and start the activation.
10224
10225         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
10226
10227         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
10228         the issue where all APs are always listed as encrypted.
10229
10230         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
10231         their own registered paths.
10232
10233         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
10234         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
10235
10236 2007-06-13  Tambet Ingo  <tambet@ximian.com>
10237
10238         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
10239         (0 & 0 == 0, doh)
10240
10241         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
10242         because the handling code will cause the next state change and signal listeners
10243         get the signals in wrong order.
10244
10245         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
10246         correctly in case of pending activation.
10247
10248         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10249         Convert the essid byte array to string correctly, including the terminating NULL.
10250
10251         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
10252         mode with correct types.
10253
10254         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
10255         constructed info to dbus call instead of the activation request.
10256
10257 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10258
10259         Patch from Christian Persch <chpe@gnome.org>
10260
10261         * libnm-glib/Makefile.am:
10262         * dispatcher-daemon/Makefile.am:
10263         Use the correct variables, the correct paths, and correct ordering. (446315)
10264
10265 2007-06-11  Tambet Ingo  <tambet@ximian.com>
10266
10267         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
10268         argument. The activation request is easy to retrieve.
10269
10270         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
10271         just to be a convenient location for devices to store random stuff.
10272
10273 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10274
10275         Patch from Alex Smith <alex@alex-smith.me.uk>
10276
10277         * src/backends/NetworkManagerFrugalware.c:
10278         Update the FrugalWare backend to fix a few segfaults. (#392642)
10279
10280 2007-06-08  Tambet Ingo  <tambet@ximian.com>
10281
10282         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
10283
10284         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
10285         setting.
10286         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
10287
10288 2007-06-06  Tambet Ingo  <tambet@ximian.com>
10289
10290         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
10291         automagically.
10292         Implement NMSettingIP4Config.
10293         Finish NMSettingWired by adding all known members.
10294         (setting_wired_verify): Implement.
10295         Finish NMSettingWireless by adding all known members.
10296         (setting_wireless_verify): Implement.
10297
10298         * libnm-util/nm-connection.c: Register "ipv4" setting.
10299         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
10300         dump function, we can introspect the GHashTable which is used for sending connections
10301         over dbus.
10302
10303         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10304         Take GByteArray for essid, it's really not a string.
10305
10306         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
10307         Start DHCP request if setting is not passed or if it states that DHCP should be used.
10308         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
10309         means overriding the values we got from DHCP.
10310         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
10311         (nm_device_deactivate_quickly): Ditto.
10312
10313         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
10314         for debugging.
10315
10316 2007-05-07  Tambet Ingo  <tambet@ximian.com>
10317
10318         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
10319         NMConnection.
10320
10321         * libnm-glib/nm-device-802-11-wireless.c:
10322         (nm_device_802_3_ethernet_activate): Remove.
10323
10324         * libnm-glib/nm-device-802-3-ethernet.c
10325         (nm_device_802_3_ethernet_activate): Remove.
10326
10327         * libnm-glib/nm-device.c (nm_device_activate): Implement.
10328
10329         * src/nm-device-802-3-ethernet.c: Implement the new activation using
10330         NMConnection.
10331
10332         * src/nm-device-802-11-wireless.c: Store an activation AP once the
10333         activation has started.
10334         Implement the new activation using NMConnection.
10335
10336         * src/nm-activation-request.c: Store a generic connection object instead
10337         of a wireless-specific AP.
10338
10339         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
10340         on device type, create a device specific connection object suitable for
10341         device activation.
10342
10343         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
10344         specific check to validate the connection and on success start the
10345         activation.
10346
10347         * src/nm-device-interface.h: Add a activate virtual function to the
10348         interface definition.
10349
10350         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
10351         (impl_device_activate): Implement.
10352
10353         * introspection/nm-device.xml: Add a generic device activation interface
10354         that accepts an abstract NMConnection structure that has device-specific
10355         information in it.
10356
10357         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
10358         activation interface.
10359
10360         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
10361         activation interface.
10362
10363         * libnm-util/nm-connection.c: 
10364         * libnm-util/nm-connection.h: 
10365         * libnm-util/nm-setting.c:
10366         * libnm-util/nm-setting.h: Add.
10367
10368         * libnm-util/Makefile.am: Build the added files.
10369
10370         * src/nm-dbus-manager.c
10371         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
10372         DbusConnection argument from 'name-owner-changed' signal. The manager
10373         is already passed as a first argument to the signal and the connection
10374         is easy enough to get from it.
10375
10376         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
10377         Update the signature of the function.
10378
10379         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
10380         Ditto.
10381
10382         * src/NetworkManager.c: Ditto.
10383
10384         * src/named-manager/nm-named-manager.c
10385         (nm_named_manager_name_owner_changed): Ditto.
10386
10387         * src/supplicant-manager/nm-supplicant-manager.c
10388         (nm_supplicant_manager_name_owner_changed): Ditto.
10389
10390         * src/nm-hal-manager.c (name_owner_changed): Ditto.
10391
10392         * src/dhcp-manager/nm-dhcp-manager.c
10393         (nm_dhcp_manager_name_owner_changed): Ditto.
10394
10395         * src/nm-hal-manager.c: Add a list of device detectors and creators
10396         to make it easier to add new devices. Each device type has it's own
10397         entry in the table so adding new device types is only a matter of
10398         implementing a couple of functions, one for device detection and the
10399         other for device creation.
10400
10401 2007-04-25  Dan Williams  <dcbw@redhat.com>
10402
10403         * initscript/RedHat/NetworkManager.in: remove trailing backslash
10404                 (gnome.org #432401)
10405
10406 2007-03-30  Dan Williams  <dcbw@redhat.com>
10407
10408         * src/NetworkManagerSystem.c
10409                 - (nm_system_device_set_ip4_route): clean up and fix argument
10410                         to nm_dev_sock_open()
10411
10412 2007-03-28  Tambet Ingo  <tambet@ximian.com>
10413
10414         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
10415         data to correct types instead of always using string.
10416
10417         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
10418         _not_ have NM_802_11_CAP_PROTO_NONE.
10419         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
10420         is not set.
10421
10422 2007-03-27  Tambet Ingo  <tambet@ximian.com>
10423
10424         * libnm-glib/Makefile.am: Fix the build issue.
10425
10426 2007-03-26  Tambet Ingo  <tambet@ximian.com>
10427
10428         * libnm-glib/nm-vpn-connection.h: 
10429         * libnm-glib/nm-vpn-connection.c: Implement.
10430
10431         * libnm-glib/nm-client.c: Add VPN support.
10432
10433         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
10434         handler for VPN.
10435
10436         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
10437         on DBUS again.
10438
10439 2007-03-26  Dan Williams  <dcbw@redhat.com>
10440
10441         * src/NetworkManagerAPList.c
10442         * src/nm-device-802-11-wireless.c
10443         * src/NetworkManagerAP.c:
10444                 - Store last seen as glong instead of GTimeVal.
10445                 - Fix the upper bound of capabilities, it's a bitfield.
10446
10447 2007-03-16  Tambet Ingo  <tambet@ximian.com>
10448
10449         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
10450
10451         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
10452         "manager-running" signal that notifies the appearance/disappearance of NM.
10453         (nm_client_sleep): Implement.
10454
10455         * libnm-glib/nm-device.c:
10456         * libnm-glib/nm-device-802-11-wireless.c: 
10457         * libnm-glib/nm-device-802-3-ethernet.c: 
10458
10459         Don't inherit from DBusGProxy, add a proxy to private
10460         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
10461         for anything but their own dbus interface. DBusGProxy objects support only one
10462         interfaces and to work around this, NMDevice has spearate proxy for each dbus
10463         interface. The nice side effect of this change is that we do not create a new
10464         DBusGProxy object for each property access.
10465
10466 2007-03-15  Tambet Ingo  <tambet@ximian.com>
10467
10468         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
10469         with zeroes before passing them to functions - the functions never do that and
10470         reading the values back may produce wrong values.
10471         (real_bring_up): Store the signal handler id ...
10472         (real_bring_down): ... So that it can be removed here.
10473         Disconnect the supplicant interface here as well.
10474         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
10475         from the access point instead of old $device/Networks/$essid.
10476
10477         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
10478         device state is connected (instead of just having link/carrier).
10479
10480         * src/nm-activation-request.c: Don't store NMData in activation request, it's
10481         already easily accessible through the device.
10482
10483         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
10484         store it within the object.
10485         (nm_ap_get_dbus_path): Export it to public as well.
10486
10487         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
10488         of the singleton.
10489
10490 2007-03-12  Dan Williams  <dcbw@redhat.com>
10491
10492         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
10493         for non-carrier-detect capable devices, and useless for carrier-detect
10494         devices since we get notifications from netlink about carrier status anyway.
10495
10496         * src/nm-device-802-3-ethernet.c
10497                 - remove 'link_source_id' member from private data
10498                 - (probe_link): remove and collapse into real_update_link()
10499                 - (nm_device_802_3_periodic_update): remove
10500                 - (real_is_up): check for sup_iface rather than link_source_id
10501                 - (real_bring_up): return gboolean for success/fail; require that
10502                         sup_iface be valid for device bringup to succeed
10503                 - (real_bring_down): zero out link signal ids
10504
10505         * src/nm-device.c
10506                 - (nm_device_activate_stage2_device_config): fail activation if device
10507                         bringup fails
10508                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
10509                         fails
10510                 - (nm_device_bring_up): return success/fail
10511
10512         * src/nm-device.h
10513                 - bring_up now returns success/fail
10514
10515         * src/nm-device-802-11-wireless.c
10516                 - (real_bring_up): return success from bringup
10517
10518 2007-03-07  Dan Williams  <dcbw@redhat.com>
10519
10520         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
10521         * src/nm-ap-security-wpa-psk.c
10522                 - (real_write_supplicant_config): work with PSKs that may contain
10523                         zeros in the binary format rather than treating it as a string
10524
10525 2007-03-02  Tambet Ingo  <tambet@ximian.com>
10526
10527         * libnm-glib/nm-device-802-11-wireless.c
10528         (nm_device_802_11_wireless_get_capabilities): Implement.
10529
10530         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
10531
10532         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
10533
10534         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
10535         reply only if it's not NULL. Not sure why this started happening right now.
10536
10537         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
10538         code paths for when devices get removed on shutdown or when a device is just
10539         removed.
10540         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
10541         gets freed so any signal from a device (disconnected for instance) would invoke
10542         NMState update which would crash.
10543         (nm_manager_remove_device): Bring the device down when it gets removed.
10544
10545         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
10546         the unused dev_type.
10547
10548         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
10549         reference to the added device, NMManager will own it (if it wants).
10550
10551         * test/nm-tool.c: Rewrite using libnm-glib.
10552
10553         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
10554         We get signalled when it changes.
10555
10556         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
10557         when it changes.
10558
10559         * libnm-glib/nm-device.c: Cache the device state property.
10560
10561         * libnm-glib/nm-access-point.c: Cache the strength property.
10562
10563         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
10564         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
10565         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
10566         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
10567         the device is down, activating, or activated (in case of A/B/G cards).
10568         Remove some old dead ifdef'ed out code that used to configure wireless devices,
10569         it's all done through supplicant now.
10570
10571         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
10572         counting issues with pending calls which caused leaks and crashes when
10573         interface was removed (now that the interface actually gets removed).
10574
10575         * src/nm-call-store.c: Make a copy of data before running a foreach
10576         with user callback on it - The most common usage pattern is to cancel
10577         (and thus remove) all pending calls with foreach which would modify
10578         the hash table we're iterating over.
10579
10580         * src/nm-manager.c: When a device is added, make sure it is "up". When
10581         it's removed or disabled due to disabling wireless or networking, bring
10582         it down.
10583
10584         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10585
10586         * src/nm-device-802-11-wireless.c: 
10587         * src/nm-device-802-3-ethernet.c: 
10588         * src/nm-device.c:
10589                 - Remove "init" virtual function, all gobjects have a place for that
10590                   already (constructor).
10591                 - Replace "start" virtual function with "bring_up", devices can be
10592                   brought up and down more than just on startup now.
10593                 - Add "is_up" virtual function.
10594                 - Implement one way to bring a device down instead of previous 4 different
10595                   ways, each of witch did something different.
10596
10597         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10598         all it needs is the device interface.
10599
10600         Get rid of NMData.dev_list (3 members to go).
10601         Get rif of NMData in a lot of places.
10602
10603         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10604
10605 2007-02-23  Dan Williams  <dcbw@redhat.com>
10606
10607         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10608
10609         * src/NetworkManagerAP.c
10610                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10611                         OR-ing rather than AND-ing
10612
10613 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10614
10615         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10616         "network-removed" signals.
10617
10618         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10619
10620         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10621         when receiving the signal from dbus.
10622
10623         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10624         property.
10625
10626         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10627         deactivation of the previously activated device working again.
10628
10629         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10630         and setter.
10631
10632         * src/nm-device.c (nm_device_is_activated): Remove.
10633         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10634
10635         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10636         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10637         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10638         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10639         Remove NMNetworkStatus and NMActStage enums.
10640
10641 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10642
10643         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10644         Handle device state changes and disconnect VPN if it's device deactivates.
10645
10646         * src/nm-dbus-nm.c: 
10647         * src/nm-dbus-nm.h: 
10648         * src/nm-dbus-device.c: 
10649         * src/nm-dbus-device.c: 
10650         * src/nm-dbus-net.c: 
10651         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10652
10653         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10654
10655         * src/nm-device.c (nm_device_get_by_udi):
10656         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10657         implemented in the correct location (NMManager).
10658         Rip out all the test_device stuff.
10659
10660         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10661         failure handlers, it's all done by NMDevice already.
10662
10663         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10664         Remove the iochannel hack to route the unix signals to the main thread since
10665         we're not threaded anymore.
10666
10667         * src/NetworkManagerAP.c: Implement HWAddress property.
10668
10669         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10670         automatically with dbus-glib.
10671
10672         * src/nm-netlink-monitor.c: 
10673         * src/nm-netlink-monitor.h:
10674                 - Move it low in the class hierarchy, don't reference any NM types.
10675                 - Remove private data from the header.
10676                 - Use type safe checks in public API methods.
10677                 - Make it a singleton so we don't have to pass the single reference around.
10678
10679 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10680
10681         * introspection/nm-ip4-config.xml: Implement.
10682
10683         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10684
10685         * libnm-glib/nm-ip4-config.c:
10686         * libnm-glib/nm-ip4-config.c: Implement.
10687
10688         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10689         securities. APs reference security.
10690
10691         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10692         be exported over DBUS.
10693
10694         * src/nm-device-802-3-ethernet.c: Ditto.
10695
10696         * src/NetworkManagerAP.c:
10697         * src/NetworkManagerAP.h:
10698                 - Convert to GObject, export over DBUS.
10699
10700         * src/nm-ip4-config.h:
10701         * src/nm-ip4-config.h:
10702                 - Convert to GObject, export over DBUS.
10703
10704 2007-02-12  Dan Williams  <dcbw@redhat.com>
10705
10706         Patch from Helmut Schaa <hschaa@suse.de>
10707
10708         * vpn-daemons/pptp/configure.in
10709           vpn-daemons/pptp/Makefile.am
10710           vpn-daemons/openvpn/configure.in
10711           vpn-daemons/openvpn/Makefile.am
10712           vpn-daemons/vpnc/configure.in
10713           vpn-daemons/vpnc/Makefile.am
10714                 - Add --without-gnome switch which disables building gnome bits
10715
10716 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10717
10718         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10719
10720         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10721
10722         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10723         'HwAddress'.
10724
10725         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10726
10727         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10728
10729         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10730
10731         * src/:
10732                 - Remove old low-level dbus interface implementations and replace them
10733                   with dbus-glib one.
10734
10735         * configure.in:
10736                 - Require dbus-glib >= 0.72.
10737                 - Plug in new sources to build.
10738
10739         * libnm-glib/:
10740                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10741                   to make it more convenient to use from GObject based programs.
10742
10743         * introspection/:
10744                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10745
10746 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10747
10748         * src/nm-device-802-11-wireless.c:
10749                 - Add "network-added" and "network-removed" signals.
10750                 - Use gobject boilerplate macros to define the GObject.
10751                 - Implement wireless device activation.
10752                 - Remove activation_failure_handler and activation_success_handler
10753                   and instead listen on state-changed signals and run the same code
10754                   from there.
10755
10756         * src/nm-device.c:
10757                 - Implment NMDeviceInterface::deactivate.
10758                 - Remove activation_failure_handler and activation_success_handler
10759                   virtual methods. Each device which is interested in these events
10760                   can just listen on it's state changed signals.
10761
10762         * src/NetworkManagerPolicy.c:
10763                 - Move a bit more NMData usage to NMManager.
10764                 - Remove activation scheduling bits.
10765                 - Add listeners for wireless device's "network-added" and
10766                   "network-removed" signals.
10767                 - Listen device changed signals and deactivate currently activated
10768                   device when another device start activating (for now).
10769                 - Remove (nm_policy_schedule_device_change_check): There's never a need
10770                   for calling this, the policy code knows exactly when this should happen,
10771                   by listening on events from NMManager and NMDevices.
10772
10773         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
10774         Implement.
10775
10776         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
10777         method on the specific device instead of going to through policy code
10778         and determining the device type by passed in AP's existance.
10779
10780         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
10781         abstract NMDevice deactivation.
10782
10783 2007-02-08  Tambet Ingo  <tambet@ximian.com>
10784
10785         * src/NetworkManager.c:
10786                 - Set up all the shiny new managers.
10787
10788         * src/NetworkManagerPolicy.c:
10789                 - Add the beginnings of new NMPolicy code. Instead of requireing all
10790                   classes to call into policy code, make the policy code kind of like
10791                   a supervisor that monitors what's going on and drives the whole NM.
10792
10793         * src/nm-hal-manager.c: 
10794         * src/nm-hal-manager.h:
10795                 - Collect all libhal code scattered around NM to this one class.
10796                 - Listen libhal and NMManager events and add/remove devices to
10797                   NMManager.
10798
10799         * src/nm-manager.c:
10800         * src/nm-manager.h:
10801                 - Implment a replacement for NMData. NMData is now officially
10802                 deprecated.
10803
10804 2007-02-05  Tambet Ingo  <tambet@ximian.com>
10805
10806         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
10807         * src/supplicant-manager/nm-supplicant-interface.h
10808         * src/supplicant-manager/nm-supplicant-interface.c
10809         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
10810         argument to boolean from enum.
10811
10812         Make NMDevice abstract class, remove almost all references to it's
10813         subclasses (the last place gets removed with new policy manager). Add
10814         NMDeviceInterface (which NMDevice implements) so that when we have
10815         NMDevice exported over DBUS, there's a common NMDevice interface which
10816         all instances have, plus there's a device specific interface for each
10817         specific type.
10818         Remove functions (nm_device_is_802_3_ethernet) and
10819         (nm_device_is_802_11_wireless). There are already standard GObject macros
10820         for type safe checks.
10821         Use the updated supplican manager API.
10822
10823         * src/nm-device-interface.h: 
10824         * src/nm-device-interface.c: 
10825         * src/nm-call-store.h: 
10826         * src/nm-call-store.c: Implement.
10827
10828         * src/supplicant-manager/nm-supplicant-interface.c:
10829         * src/supplicant-manager/nm-supplicant-interface.h:
10830         * src/supplicant-manager/nm-supplicant-manager.c:
10831         * src/supplicant-manager/nm-supplicant-manager.h:
10832                 - Remove all private data type references from public header files.
10833                 - Remove all references to other NM classes, this class is just a
10834                   proxy between wpa_supplicant and NM so it doesn't have to know
10835                   any internals.
10836                 - Convert to dbus-glib bindings.
10837                 - Type safe checks for public methods' arguments.
10838                 - Store pending DBUS call ids to NMCallStore.
10839
10840         * src/supplicant-manager/nm-supplicant-config.c:
10841                 - Store config values in a GHashTable instead of GSList.
10842
10843         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
10844
10845         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
10846         singleton now.
10847
10848         * src/nm-device.c: Use the new DHCP manager API.
10849
10850         * src/nm-activation-request.c:
10851         * src/nm-activation-request.h:
10852                 - Remove all dhcp related properties and methods.
10853
10854         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
10855
10856         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
10857
10858         * src/dhcp-manager/nm-dhcp-manager.c:
10859         * src/dhcp-manager/nm-dhcp-manager.h:
10860                 - Convert it to GObject since we need to signal state changes.
10861                 - Remove all references to other NM classes, this class is one
10862                   of the lowest classes in our hierarchy.
10863                 - One less class to use NMActRequest.
10864                 - Make it singleton, one less user of NMData.
10865                 - Remove a couple of sleep() calls.
10866                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
10867                   One less class to use the NM's custom tailored signal handlig.
10868
10869         * Makefile.am: Generate marshallers, add them to build.
10870
10871 2007-02-02  Dan Williams  <dcbw@redhat.com>
10872
10873         * configure.in
10874           gnome/Makefile.am
10875           nm-applet.desktop
10876           Makefile.am
10877                 - Remove last bits referencing gnome applet
10878
10879 2007-02-02  Dan Williams  <dcbw@redhat.com>
10880
10881         * src/vpn-manager/nm-vpn-service.c
10882                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
10883                         and NBNS server addresses
10884
10885 2007-02-02  Tambet Ingo  <tambet@ximian.com>
10886
10887         * src/nm-dbus-manager.c:
10888         * src/nm-dbus-manager.h:
10889                 - Convert all internal DBUS code to use dbus-glib bindings.
10890                 - Remove GObject properties, we don't need them here.
10891                 - Don't explicitly set things to NULL after freeing, glib is
10892                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
10893                 - Make public API argument checks type safe.
10894                 - Remove unnecessary (and wrong) cast to GObject for the first
10895                   argument to g_signal_* calls - The first argument is a gpointer.
10896                 - Export DBusGConnection to other cool classes that (are going to)
10897                   use dbus-glib.
10898
10899 2007-01-26  Dan Williams  <dcbw@redhat.com>
10900
10901         * libnm-util/dbus-dict-helpers.c
10902           libnm-util/dbus-dict-helpers.h
10903                 - Coordinate style with wpa_supplicant version to minimize diff
10904                 - Add uint32 array support
10905                 - (nmu_dbus_dict_append_uint32_array): new function
10906                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
10907                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
10908                         version; allow adding string array elements individually
10909
10910         * test/libnm-util/test-dbus-dict-helpers.c
10911                 - Test uint32 arrays
10912
10913 2007-01-27  Jürg Billeter  <j@bitron.ch>
10914
10915         * src/backends/NetworkManagerPaldo.c
10916                 - (nm_system_update_dns): clear nscd hosts cache
10917
10918 2007-01-04  Dan Williams  <dcbw@redhat.com>
10919
10920         Threading removal related cleanups:
10921
10922         - Use the glib default main context.  Remove the device main context
10923                 member from NMDevice, and the main_context member from NMData.  Change
10924                 all the idle and timeout scheduler functions to use plain
10925                 g_idle_add() and g_timeout_add().
10926
10927         - As a side-effect of the first change, nm_dbus_manager_get() no longer
10928                 takes an argument; fix that up too.
10929
10930         - Remove all locking, which is useless since we no longer use threads.  For
10931                 example, nm_get_device_by_iface_locked() has been removed.  The global
10932                 device list lock, the AP List lock, and all static locks in
10933                 NetworkManagerPolicy.c have been removed.  The locking utility functions
10934                 in NetworkManagerUtils.c have also been removed.
10935
10936         - Other cleanups in spacing and code style
10937
10938 2007-01-01  Dan Williams  <dcbw@redhat.com>
10939
10940         Found by Bill Moss:
10941
10942         * src/supplicant-manager/nm-supplicant-interface.c
10943                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
10944                         the supplicant interface wasn't already disconnected.  Always
10945                         call removeNetwork and disconnect unless the supplicant interface
10946                         is in the DISCONNECTED or INACTIVE state.
10947
10948 2006-12-28  Dan Williams  <dcbw@redhat.com>
10949
10950         Use a single thread for everything.  With the move to wpa_supplicant
10951         and communication over D-Bus, there's no reason for multiple threads.
10952         Almost all of the blocking code has been removed, with one exception in
10953         the DHCP manager and a few in the VPN manager.  This commit removes the
10954         per-device worker thread and fixes activation cancellation in the absence
10955         of threads.  Further removal of thread-related code would be removing
10956         any locking code (like the device list lock) and simplification of logic
10957         around areas of code or data structures that are currently locked.
10958
10959         * autoip.c
10960           dhcp-manager/nm-dhcp-manager.c 
10961           nm-device-802-11-wireless.c
10962           nm-device-802-3-ethernet.c
10963           nm-device.c
10964           nm-device.h
10965                 - Remove usage of multiple threads
10966
10967 2006-12-19  Dan Williams  <dcbw@redhat.com>
10968
10969         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
10970         plus a few other patches from wpa_supplicant bugzilla.
10971
10972         * src/Makefile.am
10973           src/NetworkManagerPolicy.c
10974           src/NetworkManagerUtils.c
10975           src/NetworkManagerUtils.h
10976           src/nm-ap-security-leap.c
10977           src/nm-ap-security-wep.c
10978           src/nm-ap-security-wpa-eap.c
10979           src/nm-ap-security-wpa-psk.c
10980           src/nm-ap-security.c
10981           src/nm-ap-security.h
10982           src/nm-device-802-11-wireless.c
10983           src/nm-device-802-11-wireless.h
10984           src/supplicant-manager/nm-supplicant-config.c
10985           src/supplicant-manager/nm-supplicant-config.h
10986           src/supplicant-manager/nm-supplicant-interface.c
10987           src/supplicant-manager/nm-supplicant-interface.h
10988           src/supplicant-manager/nm-supplicant-marshal.list
10989           src/supplicant-manager/nm-supplicant-settings-verify.c
10990           src/supplicant-manager/nm-supplicant-settings-verify.h
10991                 - Move all connection management and association handling to
10992                         wpa_supplicant over dbus, rather than spawning a private copy
10993
10994 2006-12-19  Dan Williams  <dcbw@redhat.com>
10995
10996         * src/NetworkManagerPolicy.c
10997                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
10998                         better locking of the device change check handler ID.  Incorrect
10999                         locking was causing lost device change requests
11000
11001 2006-12-18  Dan Williams  <dcbw@redhat.com>
11002
11003         * libnm-util/dbus-dict-helpers.c
11004                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
11005                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
11006                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
11007
11008 2006-12-18  Dan Williams  <dcbw@redhat.com>
11009
11010         * gnome/libnm_glib/libnm_glib.c
11011                 - Change dbus_connection_close() -> dbus_connection_unref()
11012
11013 2006-12-11  Dan Williams  <dcbw@redhat.com>
11014
11015         * src/supplicant-manager/nm-supplicant-interface.c
11016                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
11017                         wpa_supplicant interface state
11018                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
11019                         state before transitioning to READY state
11020
11021 2006-12-04  Dan Williams  <dcbw@redhat.com>
11022
11023         * src/nm-device-802-11-wireless.c
11024                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
11025                         odd length of ESSID returned from ieee80211 stack-based drivers
11026
11027 2006-12-04  Dan Williams  <dcbw@redhat.com>
11028
11029         * src/nm-device-802-11-wireless.c
11030                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
11031                         IE handling blocks that cause mis-parsing of the IE
11032
11033 2006-12-04  Dan Williams  <dcbw@redhat.com>
11034
11035         * src/nm-device-802-11-wireless.c
11036                 - (init_supplicant_interface): new function; pull supplicant interface
11037                         setup code out into standalone function since it must be called from
11038                         two different places
11039                 - (real_init): sup_mgr is now in private object data; get and track
11040                         the supplicant manager object over the NMDevice subclass' lifetime
11041                         and register a signal handler for its state signals; only try to
11042                         initialize the supplicant interface if the supplicant manager is in
11043                         the IDLE state (and therefore is ready for requests)
11044                 - (request_wireless_scan): reschedule the scan request if (a) there is
11045                         no supplicant interface yet (meaning wpa_supplicant isn't running
11046                         or isn't ready yet), or (b) if the supplicant interface isn't ready
11047                         for requests yet
11048                 - (supplicant_iface_connection_state_cb): new function; stub for
11049                         handling supplicant interface connection state signals
11050                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
11051                         comes and goes
11052                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
11053                         supplicant manager object that's being tracked starting with this
11054                         commit
11055
11056 2006-12-04  Dan Williams  <dcbw@redhat.com>
11057
11058         * src/supplicant-manager/nm-supplicant-interface.c
11059                 - (nm_supplicant_interface_set_property): track signal handler ID
11060                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
11061
11062 2006-12-04  Dan Williams  <dcbw@redhat.com>
11063
11064         * src/supplicant-manager/nm-supplicant-interface.[ch]
11065                 - (nm_supplicant_interface_get_state): new function
11066
11067 2006-12-04  Dan Williams  <dcbw@redhat.com>
11068
11069         * src/supplicant-manager/nm-supplicant-interface.c
11070                 - (bssid_properties_cb): don't treat DBus errors as valid
11071                         scanned AP messages
11072
11073 2006-12-04  Dan Williams  <dcbw@redhat.com>
11074
11075         * src/supplicant-manager/nm-supplicant-interface.[ch]
11076                 - (nm_supplicant_interface_get_connection_state): new function
11077                 - define new supplicant connection states
11078                 - send a signal when the supplicant connection state changes
11079
11080 2006-12-03  Dan Williams  <dcbw@redhat.com>
11081
11082         * src/supplicant-manager/Makefile.am
11083           src/supplicant-manager/nm-supplicant-connection.h
11084           src/supplicant-manager/nm-supplicant-connection.c
11085           src/supplicant-manager/nm-supplicant-config.h
11086           src/supplicant-manager/nm-supplicant-config.c
11087           src/supplicant-manager/nm-supplicant-types.h
11088           src/supplicant-manager/nm-supplicant-interface.h
11089           src/supplicant-manager/nm-supplicant-interface.c
11090                 - Rename NMSupplicantConnection -> NMSupplicantConfig
11091
11092 2006-12-03  Dan Williams  <dcbw@redhat.com>
11093
11094         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
11095
11096         * po/POTFILES.in
11097           po/POTFILES.skip
11098                 - Move VPN-related translatables to .skip
11099
11100         * vpn-daemons/pptp/po/POTFILES.in
11101                 - Update with new translatables
11102
11103 2006-12-02  Dan Williams  <dcbw@redhat.com>
11104
11105         Patch from Christian Persch <chpe@gnome.org>
11106
11107         * gnome/applet/Makefile.am
11108           gnome/applet/applet-dbus-devices.c
11109           gnome/applet/applet-notifications.c
11110           gnome/applet/applet.c
11111           gnome/applet/applet.h
11112           gnome/applet/main.c
11113                 - Be a GtkStatusIcon on GTK+ >= 2.10
11114
11115 2006-12-02  Dan Williams  <dcbw@redhat.com>
11116
11117         * gnome/applet/applet.c
11118                 - (nma_update_info): fix two unecessary allocations
11119
11120 2006-12-02  Dan Williams  <dcbw@redhat.com>
11121
11122         Patch from Michael Biebl <biebl@teco.edu>
11123         * configure.in
11124           man/NetworkManager.1.in
11125           man/NetworkManagerDispatcher.1.in
11126           man/NetworkManager.8.in
11127           man/NetworkManagerDispatcher.8.in
11128                 - Add .SH NAME stanzas
11129                 - Move NM & NM Dispatcher manpages to section 8 (admin)
11130
11131 2006-12-02  Dan Williams  <dcbw@redhat.com>
11132
11133         Patch from Christian Persch <chpe@gnome.org>
11134
11135         * configure.in
11136                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
11137
11138 2006-11-29  Tambet Ingo  <tambet@ximian.com>
11139
11140         Patch by Timo Hoenig <thoenig@suse.de>:
11141         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
11142         DBUS-1.0.
11143
11144         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
11145         we can't use the one from the main source directory.
11146
11147 2006-11-27  Dan Williams  <dcbw@redhat.com>
11148
11149         Patch from Christian Persch <chpe@gnome.org>
11150
11151         * gnome/applet/applet-dbus-devices.c
11152                 - (hal_info_product_cb): fix memleak; free duped string.
11153                         Gnome.org #379908
11154
11155 2006-11-27  Dan Williams  <dcbw@redhat.com>
11156
11157         Patch from Christian Persch <chpe@gnome.org>
11158
11159         * gnome/applet/menu-items.c
11160                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
11161                         as gtk_progress_set_percentage is deprecated.  Should
11162                         work as far back as GTK+ 2.4.  Gnome.org #379780
11163
11164 2006-11-26  Dan Williams  <dcbw@redhat.com>
11165
11166         Scan using wpa_supplicant over DBus.
11167
11168         * src/nm-device-802-11-wireless.c
11169                 - remove wireless extensions netlink event handler bits
11170                         (wireless_event_helper, nm_device_802_11_wireless_event)
11171                 - remove wireless extensions scan event handler bits
11172                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
11173                         hex2byte, hex2num, request_and_convert_scan_results,
11174                         free_process_scan_cb_data, scan_results_timeout,
11175                         schedule_scan_results_timeout, cancel_scan_results_timeout)
11176                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
11177                         and request scans from the supplicant interface rather than directly
11178                 - Move functionality of convert_scan_results() to cull_scan_list() and
11179                         supplicant_iface_scanned_ap_cb()
11180                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
11181                         at the scan interval when the current scan has finished
11182                 - (supplicant_iface_state_cb): start scanning when the supplicant
11183                         interface enters the READY state, and stop scanning when it
11184                         enters the DOWN state
11185                 - (cull_scan_list): weed out old access points from the scan list
11186                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
11187                         point into an NMAccessPoint and merge it into the device's scan list
11188
11189         * src/supplicant-manager/nm-supplicant-interface.c
11190           src/supplicant-manager/nm-supplicant-interface.h
11191                 - Add a new signal "scan-result" which is issued when the supplicant
11192                         notifies NM that a scan has completed
11193                 - Add a new signal "scanned-ap" that notifies listeners of a new access
11194                         point found in the scan.  Called once for each access point that
11195                         the supplicant interface object receives from the supplicant as a
11196                         result of the "scanResults" method call
11197                 - (wpas_iface_query_scan_results): don't wait 4s before querying
11198                         for the initial scan results
11199                 - (scan_request_cb): new function; send listeners the result
11200                         (success, error) of a wireless scan request
11201                 - (nm_supplicant_interface_request_scan): new function; ask the
11202                         supplicant to perform an immediate wireless scan
11203
11204 2006-11-25  Dan Williams  <dcbw@redhat.com>
11205
11206         * src/supplicant-manager/Makefile.am
11207                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
11208                         add HAL cflags/includes and named-manager includes directory
11209
11210         * src/supplicant-manager/nm-supplicant-interface.h
11211                 - New state STARTING to handle transition from INIT to READY where
11212                         the addInterface pending call is still outstanding
11213
11214         * src/supplicant-manager/nm-supplicant-interface.c
11215                 - track pending calls differently since we may have more than one
11216                         going on at any given time
11217                 - request scan results from wpa_supplicant; but don't do it more often
11218                         than every 4 seconds.  Drivers that do background scanning
11219                         (like the 'ipw' drivers) send a continuous stream of scan completion
11220                         notifications, so we don't want to hammer the supplicant or dbus
11221                         with requests for all scan results every time we get a completion
11222                         notification.
11223
11224 2006-11-25  Dan Williams  <dcbw@redhat.com>
11225
11226         * src/supplicant-manager/nm-supplicant-types.h
11227                 - new file; move all supplicant manager object typedefs here for
11228                         #include sanity
11229
11230         * src/supplicant-manager/nm-supplicant-interface.c
11231           src/supplicant-manager/nm-supplicant-interface.h
11232                 - new file; an object that interfaces an NMDevice object to the
11233                         supplicant and handles signals from the supplicant.  This object
11234                         does all necessary DBus communication with wpa_supplicant.
11235
11236         * src/supplicant-manager/nm-supplicant-manager.c
11237           src/supplicant-manager/nm-supplicant-manager.h
11238                 - Actually do something.  Track the state of the wpa_supplicant service
11239                         and deal with its comings & goings.  Handle life events of
11240                         supplicant interfaces too.
11241                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
11242
11243         * src/supplicant-manager/nm-supplicant-connection.h
11244                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
11245
11246         * src/supplicant-manager/Makefile.am
11247                 - Add new files to build, and add libnm-util to includes
11248
11249         * src/nm-marshal.list
11250                 - New marshaler type: VOID:UINT,UINT
11251
11252         * src/nm-device-802-3-ethernet.c
11253                 - (real_init): grab a supplicant interface
11254                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
11255                 - (supplicant_iface_state_cb): new function, stub for handling
11256                         supplicant interface state changes
11257
11258         * src/nm-device-802-11-wireless.c
11259                 - (real_init): grab a supplicant interface
11260                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
11261                 - (supplicant_iface_state_cb): new function, stub for handling
11262                         supplicant interface state changes
11263
11264         * src/NetworkManager.c
11265                 - (main): create and keep the supplicant manager around for the lifetime
11266                         of NetworkManager
11267
11268         * src/Makefile.am
11269                 - Link to the supplicant manager sub-library and use the supplicant
11270                         manager includes
11271
11272 2006-11-25  Dan Williams  <dcbw@redhat.com>
11273
11274         Rework DBus manager signal handling to be more flexible.  Previously,
11275         only one signal handler could be registered for a particular interface.
11276         The DBus manager now reference counts DBus bus matches and allows multiple
11277         clients to register signal handlers for the same interface and sender.
11278
11279         * src/NetworkManager.c
11280                 - (main): track NMI signal handler ID and remove it when we quit
11281
11282         * src/NetworkManagerMain.h
11283                 - Keep track of NMI signal handler ID
11284
11285         * src/nm-dbus-manager.c
11286           src/nm-dbus-manager.h
11287                 - rework signal handling; each signal handler references one signal
11288                         match, but a signal match may be referenced by one or more
11289                         signal handlers.  Matches are refcounted and are destroyed when the
11290                         last signal handler that references the match is removed.  This is
11291                         necessary because two signal handlers may end up requiring the same
11292                         dbus bus match, so the match must live until the last signal handler
11293                         is destroyed (for example, with the wpa_supplicant network interface
11294                         dbus interface).
11295
11296         * src/dhcp-manager/nm-dhcp-manager.c
11297                 - (nm_dhcp_manager_new): track DHCP signal handler id
11298                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
11299
11300         * src/vpn-manager/nm-vpn-service.c
11301                 - (nm_vpn_service_add_watch): track VPN service signal handler id
11302                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
11303
11304 2006-11-25  Dan Williams  <dcbw@redhat.com>
11305
11306         Suggested by Helmut Schaa <hschaa@suse.de>
11307
11308         * src/vpn-daemons/nm-vpn-service.c
11309                 - (supplicant_child_setup): new function
11310                 - (supplicant_exec): make child process use a new process group id
11311
11312         * src/nm-device-802-11-wireless.c
11313                 - (nm_vpn_service_child_setup): new function
11314                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
11315                         process group id
11316
11317 2006-11-19  Dan Williams  <dcbw@redhat.com>
11318
11319         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
11320         * gnome/vpn-properties/nm-vpn-properties.c
11321                 - clean up after renamed VPN connection
11322
11323 2006-11-19  Dan Williams  <dcbw@redhat.com>
11324
11325         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
11326         * gnome/applet/applet-dbus-vpn.c
11327                 - (nma_dbus_vpn_properties_cb): sort VPN connections
11328
11329         * gnome/vpn-properties/nm-vpn-properties.c
11330                 - (init_app): sort VPN connections
11331
11332 2006-11-09  Dan Williams  <dcbw@redhat.com>
11333
11334         * src/NetworkManagerAPList.c
11335                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
11336                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
11337                 from the nm_ap_list_get_ap_by_address() call was incorrect and
11338                 broke hidden SSID matching.  Found by Bill Moss.
11339
11340 2006-10-25  Dan Williams  <dcbw@redhat.com>
11341
11342         * src/nm-dbus-nm.c
11343                 - (nm_dbus_nm_set_active_device): return an empty success message on
11344                         success, rather than falling through to the error case.
11345
11346 2006-10-25  Dan Williams  <dcbw@redhat.com>
11347
11348         * src/NetworkManagerUtils.c
11349                 - (nm_utils_supplicant_request_with_check): suppress messages for the
11350                         "SCAN" command
11351
11352 2006-10-24  Dan Williams  <dcbw@redhat.com>
11353
11354         Reduce the number of times the Gnome applet wakes up, especially when
11355         it's doing absolutely nothing and is hidden.  Initial patch by
11356         Chris Aillon.
11357
11358         * gnome/applet/applet-dbus.c
11359                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
11360                         kill the redraw timeout.  When NM starts up, start the redraw
11361                         timeout.  Also, if we get kicked off the bus for some reason,
11362                         start the reconnection timeout if one's not already running.
11363                 - (nma_dbus_init): better handling of error conditions, don't leak
11364                         a half-initialized dbus connection
11365                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
11366                         the applet's data, just call nm_dbus_init_helper()
11367                 - (nma_start_dbus_connection_watch): new function, starts a periodic
11368                         timeout that calls nma_dbus_connection_watcher()
11369                 - (nma_dbus_init_helper): if we get a successful connection, kill the
11370                         reconnection timeout, and don't start the reconnection timeout
11371                         unconditionally anymore
11372
11373         * gnome/applet/applet-dbus.h
11374                 - Expose nma_start_dbus_connection_watch()
11375
11376         * gnome/applet/applet.c
11377                 - (nma_update_state): no longer static, called from applet-dbus.c for
11378                         immediate UI updates on certain events
11379                 - (nma_set_running): new function; take over setting applet->running,
11380                         when not running (ie, NM is not active), don't activate the redraw
11381                         timeout because we're not showing the applet anyway.  When we are
11382                         running (ie, NM is active), and only when we're running, start the
11383                         redraw timeout.
11384                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
11385                         kill any reconnection timeout
11386                 - (nma_get_instance): move one-off dbus initialization code here since
11387                         nm_dbus_init_helper() gets called more than once, possibly by the
11388                         reconnection timeout function too.  And, when we start up, if we
11389                         can't get a connection to the bus, start the reconnection timeout.
11390                         But don't start the redraw timeout yet, only do that when we get
11391                         NM's state and find out if it's running or not.
11392
11393         * gnome/applet/applet.h
11394                 - Add the reconnection GSource ID
11395                 - Add prototypes for nma_set_running() and the no-longer-static
11396                         nma_update_state()
11397
11398 2006-10-24  Dan Williams  <dcbw@redhat.com>
11399
11400         * src/vpn-daemons/nm-dbus-vpnc.c
11401                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
11402                         pending call tracker
11403                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
11404                         pending call tracker; register one-vpn-connection update pending
11405                         call in pending call tracker
11406                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
11407                         update pending call in pending call tracker
11408                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
11409                         update pending call in pending call tracker; don't block waiting
11410                         for call to return
11411
11412 2006-10-19  Robert Love  <rml@novell.com>
11413
11414         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
11415           refresh the cache.
11416
11417 2006-10-14  Dan Williams  <dcbw@redhat.com>
11418
11419         * src/dhcp-manager/nm-dhcp-manager.c
11420                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
11421                 the dbus connection and the device object path rather than
11422                 constructing it inside both functions.  Saves a bit of memory
11423                 and clarifies a failure path.
11424                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
11425                 and allocate device path here rather than each of the two
11426                 functions above.
11427
11428 2006-10-13  Dan Williams  <dcbw@redhat.com>
11429
11430         * src/NetworkManager.c
11431                 - (nm_name_owner_changed_handler): handle NMI coming and going,
11432                 this somehow droppout in the refactor
11433
11434 2006-10-13  Dan Williams  <dcbw@redhat.com>
11435
11436         * Huge DBus refactor:
11437                 - Create a "DBus Manager" object which manages the connection and
11438                 sends signals on NameOwnerChanged and connection/disconnection events,
11439                 handles reconnection to the bus if NM gets kicked off, and abstracts
11440                 signal handling
11441                 - Remove DBusConnection members from places where they are no
11442                 longer needed due to the refactor, like the dbus-connection
11443                 property of the named manager, and from NMData
11444                 - Reformats a bunch of the code to gnome style
11445                 (8-space tabs, braces on same line as statement, 80-col width).
11446                 Consider it open season to reformat any bits to gnome style.
11447                 style that aren't already.
11448
11449 2006-10-13  Dan Williams  <dcbw@redhat.com>
11450
11451         * src/supplicant-manager/Makefile.am
11452                 - Add new files
11453
11454         * src/supplicant-manager/nm-supplicant-manager.[ch]:
11455                 - Make it a minimal GObject
11456
11457         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
11458                 - Verify settings destined for wpa_supplicant
11459
11460         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
11461                 - Minimal GObject to track wpa_supplicant controlled device
11462                 connections
11463
11464 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
11465
11466         * gnome/applet/applet.c: (nma_update_info),
11467         (nma_act_stage_to_pixbuf), (nma_update_state):
11468         Mark missing strings for translation. Fixes bug #343306.
11469
11470 2006-10-01  Dan Williams  <dcbw@redhat.com>
11471
11472         * src/vpn-manager/nm-vpn-manager.c
11473                 - (nm_vpn_manager_load_services): split and clean up
11474                 for readability and correctness.  Restrict VPN service
11475                 files to ending in ".name", as was meant from the
11476                 beginning (but not coded in).  Better error reporting.
11477
11478 2006-10-01  Dan Williams  <dcbw@redhat.com>
11479
11480         * utils/nm-utils.h
11481                 - Clean up formatting of debug/info/warning log messages
11482
11483 2006-09-27  Robert Love  <rml@novell.com>
11484
11485         Patch by Tambet Ingo <tambet@ximian.com>:
11486         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
11487           actually work.
11488
11489 2006-09-07  Dan Williams <dcbw@redhat.com>
11490
11491         * test/Makefile.am
11492           test/libnm-util/Makefile.am
11493           test/nm-supplicant-test.c
11494                 - Add test program emulating the way NM drives wpa_supplicant
11495                 to help debug supplicant issues
11496
11497 2006-08-24  Dan Williams <dcbw@redhat.com>
11498
11499         * configure.in
11500           src/Makefile.am
11501           src/supplicant-manager/Makefile.am
11502           src/supplicant-manager/nm-supplicant-manager.c
11503           src/supplicant-manager/nm-supplicant-manager.h
11504                 - Add skeleton bits of the wpa_supplicant manager
11505
11506 2006-08-24  Dan Williams <dcbw@redhat.com>
11507
11508         Patch from Ed Catmur:
11509         * src/NetworkManagerUtils.c
11510                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
11511                 if netmask is 0 (Gnome #352634)
11512
11513 2006-08-17  Robert Love  <rml@novell.com>
11514
11515         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
11516           package is now DBUS-enabled and listens for the NM signals.
11517
11518 2006-08-14  Dan Williams  <dcbw@redhat.com>
11519
11520         * Patch from Christian Persch <chpe gnome org>
11521         * configure.in
11522           po/LINGUAS
11523           vpn-daemons/openvpn/po/LINGUAS
11524           vpn-daemons/openvpn/configure.in
11525           vpn-daemons/pptp/po/LINGUAS
11526           vpn-daemons/pptp/configure.in
11527           vpn-daemons/vpnc/po/LINGUAS
11528           vpn-daemons/vpnc/configure.in
11529                 - Convert to LINGUAS method so translators don't have to modify
11530                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
11531                 0.35 or higher
11532
11533 2006-08-14  Dan Williams  <dcbw@redhat.com>
11534
11535         Patch from Alex Smith <alex.extreme2@gmail.com>
11536         * configure.in
11537           src/backends/Makefile.am
11538           src/backends/NetworkManagerFrugalware.c
11539                 - Add support for Frugalware
11540
11541 2006-08-13  Dan Williams  <dcbw@redhat.com>
11542
11543         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11544         * src/nm-device-802-11-wireless.c
11545                 - (supplicant_exec): spawn wpa_supplicant without debug spew
11546                 Gnome #346875
11547
11548 2006-08-13  Dan Williams  <dcbw@redhat.com>
11549
11550         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11551         * src/nm-ap-security.c
11552           src/nm-ap-security.h
11553                 - Add authentication_required bits for subclasses to specify whether
11554                 or not real authentication is required for connections, i.e. whether
11555                 the AP rejects us when an encryption key is wrong or not.
11556
11557         * src/nm-ap-security-wep.c
11558           src/nm-ap-security-wpa-eap.c
11559           src/nm-ap-security-wpa-psk.c
11560           src/nm-ap-security-leap.c
11561                 - Implement authentication_required appropriately for each method
11562
11563         * src/nm-device-802-11-wireless.c
11564                 - Be smarter about when to request a key; for example, using a wrong key
11565                 in WEP shared key mode previously just timed out and did not request
11566                 a new key
11567
11568 2006-08-13  Dan Williams  <dcbw@redhat.com>
11569
11570         * gnome/libnm_glib/libnm_glib.c
11571                 - dbus_connection_disconnect() -> dbus_connection_close() for
11572                 dbus >= 0.90
11573
11574 2006-08-07  Dan Williams  <dcbw@redhat.com>
11575
11576         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11577         * src/NetworkManagerSystem.c
11578                 - Respect specified MTU.  Gnome #344967
11579
11580 2006-08-07  Dan Williams  <dcbw@redhat.com>
11581
11582         * src/vpn-manager/nm-vpn-service.c
11583                 - Simplify print_vpn_config() arguments
11584
11585         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11586         * src/vpn-manager/Makefile.am
11587           src/vpn-manager/nm-vpn-service.c
11588                 - Add new API for passing VPN config options as a dict. Gnome #344967
11589
11590 2006-08-06  Dan Williams  <dcbw@redhat.com>
11591
11592         * gnome/applet/applet-dbus-devices.c
11593           gnome/applet/applet-dbus-vpn.c
11594           gnome/applet/applet-dbus.c
11595           gnome/applet/applet-dbus.h
11596           src/nm-dbus-nmi.c
11597           utils/nm-utils.c
11598           utils/nm-utils.h
11599                 - Make pending call tracking code generic,
11600                 so we can use it in NM as well as the applet
11601
11602 2006-08-06  Dan Williams  <dcbw@redhat.com>
11603
11604         * src/nm-activation-request.c
11605                 - Refcount pending call objects
11606
11607 2006-08-06  Dan Williams  <dcbw@redhat.com>
11608
11609         Patch from Christan Chiesa <christanc@gmail.com>
11610         * configure.in
11611                 - Tell sha1.c to use bigendian mode on PPC
11612
11613 2006-08-04  Robert Love  <rml@novell.com>
11614
11615         Glib Memory Slices!
11616         * configure.in: Require glib 2.10 or later.
11617         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11618           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11619           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11620           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11621           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11622           Memory Slices are the greatest thing since bread slices.
11623         * src/NetworkManagerAP.c: Also, fix memory leak.
11624
11625 2006-08-01  Robert Love  <rml@novell.com>
11626
11627         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11628
11629 2006-07-31  Robert Love  <rml@novell.com>
11630
11631         * src/backends/interface_parser.c: Declarations must begin the block.
11632
11633 2006-07-24  Dan Williams  <dcbw@redhat.com>
11634
11635         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11636         * src/backends/Makefile.am
11637           src/backends/NetworkManagerArch.c
11638           src/backends/NetworkManagerDebian.c
11639           src/backends/NetworkManagerGeneric.c
11640           src/backends/NetworkManagerGeneric.h
11641           src/backends/NetworkManagerGentoo.c
11642           src/backends/NetworkManagerPaldo.c
11643           src/backends/NetworkManagerRedHat.c
11644           src/backends/NetworkManagerSlackware.c
11645           src/backends/NetworkManagerSuSE.c
11646                 - Genericize common backend functions
11647
11648 2006-07-18  Robert Love  <rml@novell.com>
11649
11650         * configure.in: Add "--with-notify" option to allow disabling of
11651           libnotify support.
11652
11653 2006-07-13  Dan Williams  <dcbw@redhat.com>
11654
11655         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11656         * gnome/applet/applet.glade
11657           gnome/applet/Makefile.am
11658           gnome/applet/nm-gconf-wso.c
11659           gnome/applet/nm-gconf-wso-leap.c
11660           gnome/applet/nm-gconf-wso-leap.h
11661           gnome/applet/wireless-security-manager.c
11662           gnome/applet/wso-leap.c
11663           gnome/applet/wso-leap.h
11664           include/NetworkManager.h
11665           libnm-util/dbus-helpers.c
11666           libnm-util/dbus-helpers.h
11667           src/Makefile.am
11668           src/NetworkManagerAP.c
11669           src/nm-ap-security.c
11670           src/nm-ap-security-leap.c
11671           src/nm-ap-security-leap.h
11672                 - Add LEAP authentication support
11673
11674 2006-07-13  Dan Williams  <dcbw@redhat.com>
11675
11676         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11677         * configure.in
11678           src/backends/NetworkManagerArch.c
11679           src/backends/NetworkManagerDebian.c
11680           src/backends/NetworkManagerGentoo.c
11681           src/backends/NetworkManagerPaldo.c
11682           src/backends/NetworkManagerRedHat.c
11683           src/backends/NetworkManagerSlackware.c
11684           src/backends/NetworkManagerSuSE.c
11685                 - Convert hardcoding of 'ip' path to configure-time
11686                         detected one
11687
11688 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11689
11690         * configure.in: added ru to ALL_LINGUAS
11691
11692 2006-07-10  Dan Williams  <dcbw@redhat.com>
11693
11694         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11695         * src/nm-device.c
11696                 - (real_act_stage3_ip_config_start): don't infinite loop when
11697                         dhcdbd isn't running (Gnome #346845)
11698
11699 2006-07-09  Dan Williams  <dcbw@redhat.com>
11700
11701         * gnome/applet/applet.c
11702                 - (nma_destroy): don't pass NULL to notify_notification_close
11703                         (RH #197917)
11704
11705 2006-07-09  Dan Williams  <dcbw@redhat.com>
11706
11707         * gnome/applet/applet.c
11708                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11709
11710 2006-07-04  Tor Krill  <tor@krill.nu>
11711
11712         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11713         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11714         (nm_system_restart_mdns_responder), (ArchReadConfig),
11715         (nm_system_device_get_system_config):
11716                 - Explicitly check for DHCP configuration
11717                 - Check if daemons are running before starting them
11718
11719 2006-06-25  Dan Williams  <dcbw@redhat.com>
11720
11721         * libnm-util/dbus-dict-helpers.[ch]
11722           test/libnm-util/test-dbus-dict-helpers.c
11723                 - Add string array support
11724
11725 2006-06-24  Dan Williams  <dcbw@redhat.com>
11726
11727         * src/dhcp-manager/nm-dhcp-manager.c
11728                 - (nm_dhcp_manager_process_signal): clean up spacing
11729
11730 2006-06-21  Dan Williams  <dcbw@redhat.com>
11731
11732         * src/nm-dbus-device.c
11733                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11734                         through dbus
11735
11736 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11737
11738         * configure.in: Added 'lv' to ALL_LINGUAS
11739
11740 2006-06-19  Dan Williams  <dcbw@redhat.com>
11741
11742         * src/NetworkManagerAP.c
11743                 - Clarify usage of user_created
11744
11745         * src/nm-ap-security-wep.c
11746           src/nm-ap-security-wpa-eap.c
11747           src/nm-ap-security-wpa-psk.c
11748           src/nm-ap-security.c
11749           src/nm-ap-security.h
11750                 - s/user_created/adhoc, because we really do mean adhoc
11751
11752         Patch from Bernard Blackham <bernard@blackham.com.au>
11753         * src/nm-device-802-11-wireless.c         
11754                 - (supplicant_send_network_config): instead of user_created,
11755                         use adhoc, and do AP_SCAN 2 for adhoc networks
11756
11757 2006-06-18  Robert Love  <rml@novell.com>
11758
11759         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11760           we have a value to set.  Gconf generates a warning if `val' is NULL.
11761         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11762           unless we actually received a valid private key file passphrase or
11763           password.  Otherwise, we don't know to later ask the applet to pull
11764           the key from the keyring.
11765
11766 2006-06-17  Dan Williams  <dcbw@redhat.com>
11767
11768         * libnm-util/dbus-dict-helpers.[ch]
11769           test/libnm-util/test-dbus-dict-helpers.c
11770                 - Fixes for zero-length byte arrays
11771                 - Replace return values of 0 with FALSE for clarity
11772                 - Test zero-length byte arrays
11773
11774 2006-06-17  Dan Williams  <dcbw@redhat.com>
11775
11776         * libnm-util/dbus-dict-helpers.[ch]
11777           test/libnm-util/test-dbus-dict-helpers.c
11778                 - Add helpers for byte arrays
11779                 - Rework bits of the testcase
11780
11781 2006-06-16  Dan Williams  <dcbw@redhat.com>
11782
11783         * libnm-util/Makefile.am
11784         * libnm-util/dbus-dict-helpers.[ch]
11785                 - Add some helpers to take the pain out of using dict types in
11786                         dbus.
11787
11788         * test/libnm-util/Makefile.am
11789         * test/libnm-util/test-dbus-dict-helpers.c
11790                 - Test cases for the dict helper functions
11791
11792 2006-06-15  Robert Love  <rml@novell.com>
11793
11794         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
11795           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
11796           if there is no key to pass.
11797         * libnm-util/dbus-helpers.c: Given the above, we can trust always
11798           receiving a non-NULL key.
11799
11800 2006-06-14  Robert Love  <rml@novell.com>
11801
11802         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
11803           copy the strings.
11804
11805
11806 2006-06-14  Dan Williams  <dcbw@redhat.com>
11807
11808         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
11809         * src/nm-device-802-11-wireless.c
11810                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
11811                         or ones where the driver is unknown
11812                 - (supplicant_exec): don't wait for supplicant startup here
11813                 - (supplicant_interface_init): finer grained polling for supplicant
11814                         startup
11815
11816 2006-06-13  Robert Love  <rml@novell.com>
11817
11818         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
11819           if it is currently set to TRUE.  Otherwise, we will reset the value
11820           when we connect normally.
11821         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
11822           the old BSSID is valid, too.  The recently added ESSID check may not be
11823           sufficient (we can remove it?).  What we really want to catch is the
11824           case of going from all-zeros to the BSSID of some other network, which
11825           happens on failure.
11826
11827 2006-06-09  Dan Williams  <dcbw@redhat.com>
11828
11829         * src/NetworkManagerSystem.[ch]
11830                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
11831                         it was unused and pointless
11832                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
11833                         fix for set_up_down_with_iface change
11834
11835         * src/vpn-manager/nm-vpn-connection.c
11836                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
11837
11838         * src/backends/NetworkManagerPaldo.c
11839           src/backends/NetworkManagerRedHat.c
11840           src/backends/NetworkManagerSuSE.c
11841           src/backends/NetworkManagerArch.c
11842           src/backends/NetworkManagerDebian.c
11843           src/backends/NetworkManagerGentoo.c
11844                 - (nm_system_enable_loopback): use set_up_down_with_iface where
11845                         appropriate
11846                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
11847                         where appropriate
11848
11849 2006-06-09  Dan Williams  <dcbw@redhat.com>
11850
11851         Patch from Peter Jones:
11852         * src/nm-device-802-11-wireless.c
11853                 - (nm_device_802_11_wireless_update_bssid): make sure that the
11854                         SSID hasn't changed from what we expect before automatically
11855                         updating the saved BSSID from a new AP
11856
11857 2006-06-08  Robert Love  <rml@novell.com>
11858
11859         Add 'fallback' support.  NetworkManager will attempt to brute-force
11860         connect to networks marked as fallback if there are no better wireless
11861         connections available.  This is useful as a method of last resort, to
11862         work around driver problems, and for use with hidden networks.
11863         * gnome/applet/applet-dbus-devices.c,
11864           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
11865         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
11866           pass it on via DBUS.
11867         * gnome/applet/applet.c: No fallback by default.
11868         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
11869           Update other-network-dialog to add UI checkbox toggling fallback.
11870         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
11871           propery from AP object.  Add "fallback" property to AP object.
11872         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
11873         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
11874         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
11875           separate function.  Add get_best_fallback_ap() for returning an AP
11876           on which to attempt fallback.
11877         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
11878         * test/nm-set-fallback: New file.  Sets a given network as fallback.
11879
11880 2006-06-07  Robert Love  <rml@novell.com>
11881
11882         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
11883           checked that the return type was GCONF_VALUE_STRING, not the correct
11884           GCONF_VALUE_BOOL, and thus it never worked.
11885         * src/NetworkManagerAPList.c: Before concluding that two networks are
11886           identical based on their BSSID, make sure that the BSSID in question
11887           is actually valid.  Specifically, an empty or all zero BSSID does not
11888           cut it.
11889         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
11890           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
11891           similar invariant clean up.
11892
11893 2006-06-02  Robert Love  <rml@novell.com>
11894
11895         * gnome/applet/applet.c: Update copyright years.  Add Novell.
11896
11897 2006-05-28  Dan Williams  <dcbw@redhat.com>
11898
11899         * gnome/applet/applet.glade
11900           gnome/vpn-properties/nm-vpn-properties.glade
11901                 - Set window icons on dialogs  (Gnome.org #333420)
11902
11903 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
11904
11905         * gnome/vpn-properties/nm-vpn-properties.glade:
11906         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
11907         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
11908         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
11909                 - Make the VPN properties pages prettier and more HIG
11910                   compliant. Gnome Bug #336913.
11911
11912 2006-05-28  Dan Williams  <dcbw@redhat.com>
11913
11914         Patch from Christian Persch <chpe@gnome.org>
11915         * gnome/vpn-properties/nm-vpn-properties.c
11916         * gnome/vpn-properties/nm-vpn-properties.glade
11917                 - HIG-ification love  (Gnome.org #336846)
11918
11919 2006-05-28  Dan Williams  <dcbw@redhat.com>
11920
11921         Patch from Christian Persch <chpe@gnome.org>
11922         * configure.in
11923           gnome/vpn-properties/nm-vpn-properties.c
11924                 - (main): Fix option parsing.  Gnome.org #336847
11925
11926 2006-05-28  Dan Williams  <dcbw@redhat.com>
11927
11928         * gnome/vpn-properties/nm-vpn-properties.c
11929                 - (find_vpn_ui_by_service_name): protect against NULL service names
11930                 - (update_edit_del_sensitivity): protect against NULL service names
11931                         Gnome.org #341306
11932
11933 2006-05-28  Dan Williams  <dcbw@redhat.com>
11934
11935         Patch from Chris Fuller <crf@grandecom.net>:
11936         * src/nm-device-802-11-wireless.c
11937                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
11938                         don't dispose of wireless-specific stuff unless it is actually
11939                         initialized.  Gnome.org #341263
11940
11941 2006-05-28  Dan Williams  <dcbw@redhat.com>
11942
11943         * src/NetworkManagerPolicy.c
11944                 - (nm_policy_device_change_check): don't switch devices if the "best"
11945                         AP is essentially the same as the current activation request, but
11946                         the current activation request isn't done activating yet.  Fixes
11947                         multiple requests for keyring password on startup for Gnome applet.
11948                         Gnome.org #341297
11949
11950 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
11951
11952         * src/NetworkManager.c: use GOptions instead of getopt
11953         * configure.in: bump glib required version to >= 2.6 for GOption
11954           support
11955
11956 2006-05-25  Robert Love  <rml@novell.com>
11957
11958         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
11959           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
11960           instead of dumping ifdef's throughout the code.
11961         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
11962           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
11963           use nm_ioctl_info() in lieu.
11964
11965 2006-05-25  Robert Love  <rml@novell.com>
11966
11967         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
11968         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
11969           not using gcrypt.  Otherwise, we get a linker error.
11970
11971 2006-05-25  Robert Love  <rml@novell.com>
11972
11973         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
11974         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
11975           configure flag to disable building of the GNOME-based applet.
11976
11977 2006-05-25  Robert Love  <rml@novell.com>
11978
11979         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
11980           parameter from link, because it shadows a global variable with some
11981           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
11982           should never have exported to the entire system a common four letter
11983           word.  But we here at NetworkManager are team players.  Fixes
11984           GNOME bug #336532.
11985
11986 2006-05-25  Arangel Angov <ufo@linux.net.mk>
11987
11988         * configure.in: Added mk.po, Macedonian translation.
11989
11990 2006-05-24  Robert Love  <rml@novell.com>
11991
11992         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
11993           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
11994           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
11995
11996 2006-05-24  Robert Love  <rml@novell.com>
11997
11998         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
11999           libnm-util/Makefile.am, src/Makefile.am,
12000           vpn-daemons/openvpn/auth-dialog/Makefile.am,
12001           vpn-daemons/openvpn/properties/Makefile.am,
12002           vpn-daemons/pptp/auth-dialog/Makefile.am,
12003           vpn-daemons/pptp/properties/Makefile.am,
12004           vpn-daemons/vpnc/auth-dialog/Makefile.am,
12005           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
12006           user passed for --datadir, if anything, when setting the GNOME locale
12007           directory.  It should be a function of the specified datadir and not
12008           the prefix.
12009
12010 2006-05-24  Robert Love  <rml@novell.com>
12011
12012         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
12013           src/NetworkManager.c: Take care to call bindtextdomain with the
12014           location of msgid files.
12015         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
12016           files.
12017
12018 2006-05-22  Robert Love  <rml@novell.com>
12019
12020         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
12021           stage4_timeout on failure unless the wireless network is Ad-Hoc.
12022           99% of the time there is a real problem with wireless, and a
12023           seemingly successful connection via Zeroconf just confuses the user.
12024           And that 1% of the time the network is probably Ad-Hoc, anyhow.
12025
12026 2006-05-22  Robert Love  <rml@novell.com>
12027
12028         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
12029           autofs on interface up if NIS is configured.  On interface down, do
12030           nothing.
12031
12032 2006-05-22  Robert Love  <rml@novell.com>
12033
12034         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
12035           to avoid calling g_object_unref() on stale pointers on error in
12036           nma_icons_free().  This happens because we short-circuit loaded the
12037           icons on the first failure but then free all icons.  Normally we have
12038           no issue because the icons were zero'ed out malloc, but we have stale
12039           pointer data after nma_icon_theme_changed().
12040         * gnome/applet/main.c: Return error code if nma_new() failed.
12041
12042 2060-05-21  Dan Williams  <dcbw@redhat.com>
12043
12044         * initscript/NetworkManager.in
12045                 - Ensure both dhcdbd and named are started before NM
12046
12047 2006-05-21  Dan Williams  <dcbw@redhat.com>
12048
12049         * configure.in
12050                 - Bump version to 0.7 to signify we are in 0.7 development
12051
12052 2006-05-21  Dan Williams  <dcbw@redhat.com>
12053
12054         Patch from Adam Schreiber <sadam@clemson.edu>
12055         * gnome/vpn-properties/nm-vpn-properties.c
12056                 - (main): correct Gnome program name  (gnome.org #342498)
12057
12058 2006-05-21  Dan Williams  <dcbw@redhat.com>
12059
12060         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
12061
12062         * src/NetworkManagerDbus.[ch]
12063                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
12064                         clarify that function's argument should be an escaped dbus object
12065                         path, and look for path segment end before returning a match
12066         * src/nm-dbus-nm.c:
12067                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
12068
12069 2006-05-17  Robert Love  <rml@novell.com>
12070
12071         Functionality to differentiate Ad-Hoc networks from infrastructure
12072         networks in the applet, by displaying a special icon:
12073         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
12074         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
12075         * gnome/applet/menu-items.c: Set a special icon in the scan list for
12076           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
12077           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
12078           networks, encrypted or not.
12079         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
12080           accessor functions to get and set the mode of a given network,
12081           wireless_network_get_mode() and wireless_network_set_mode().
12082
12083 2006-05-17  Robert Love  <rml@novell.com>
12084
12085         Functionality to automatically add BSSIDs to the allowed-MAC list as
12086         one roams from access point to access point on a given network:
12087         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
12088           helper function to compare two ether_addr structures and return TRUE
12089           if they contain the same MAC address.
12090         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
12091           prototype.
12092         * src/nm-device-802-11-wireless.c: New function to update the BSSID
12093           stored with the current AP.  If the BSSID has indeed changed, we
12094           send it out to the applet, allowing the allowed-MAC list to grow
12095           automatically in response to roaming.
12096
12097 2006-05-16  Robert Love  <rml@novell.com>
12098
12099         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
12100           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
12101
12102 2006-05-13  Dan Williams  <dcbw@redhat.com>
12103
12104         * src/nm-device-802-3-ethernet.c
12105                 - (real_get_generic_capabilities): Don't ignore devices that can't do
12106                         carrier detect (Debian bug #366373)
12107
12108 2006-05-11  Dan Williams  <dcbw@redhat.com>
12109
12110         Patch from Michael Biebl <biebl@teco.edu>
12111         * src/backends/NetworkManagerDebian.c
12112                 - Debian backend fixups
12113
12114 2006-05-10  Robert Love  <rml@novell.com>
12115
12116         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
12117
12118 2006-05-09  Robert Love  <rml@novell.com>
12119
12120         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
12121           private certificate passphrase, if any, in the GNOME Keyring.
12122         * libnm-utils/dbus-helpers.c: Update.
12123
12124 2006-05-05  Dan Williams  <dcbw@redhat.com>
12125
12126         * src/nm-device-802-11-wireless.c
12127                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
12128                         nm_device_802_11_wireless_disable_encryption() since that's all
12129                         we use it for anymore; we don't ever set WEP keys ourselves.
12130                 - (real_deactivate_quickly): reset SSID and encryption keys
12131                 - (real_deactivate): move SSID and encryption key reset to
12132                         real_deactivate_quickly(), which gets run before us anyway
12133
12134 2006-05-05  Robert Love  <rml@novell.com>
12135
12136         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
12137           root has a wacky default of its own (or, more common, a user has a
12138           bad umask and uses su/sudo to restart NetworkManager).  Anything
12139           other than 0022 does not do what we want with, for example,
12140           resolv.conf.  This problem is amplified by our judicious use of
12141           fopen(), which uses mode 0666 -- implying that the only way to get
12142           the permissions we want is with a umask of 0022.
12143
12144 2006-05-05  Dan Williams  <dcbw@redhat.com>
12145
12146         * gnome/libnm_glib/libnm_glib.c
12147                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
12148                         to reconnect; instead wait a bit more with each reconnect attempt
12149                         up to a max of one minute.
12150
12151 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
12152
12153         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
12154           the WirelessNetwork structure using the proper function instead of
12155           just casting it directly to (const char *) (gnome.org #336991)
12156
12157 2006-05-03  Robert Love  <rml@novell.com>
12158
12159         * src/backends/NetworkManagerSuSE.c: Respect the variable
12160           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
12161           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
12162           to dynamically update /etc/resolv.conf.
12163
12164 2006-05-02  Peter Jones  <pjones@redhat.com>
12165
12166         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
12167
12168 2006-05-02  Robert Love  <rml@novell.com>
12169
12170         Patch by Timo Hoenig;
12171         * tests/nm-online.c: Print pretty status indicator as timeout winds
12172           down.  Also fix possible race between DBUS startup and failure
12173           return.
12174
12175 2006-05-01  Robert Love  <rml@novell.com>
12176
12177         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
12178           empty, too.
12179
12180 2006-04-27  Jeremy Katz  <katzj@redhat.com>
12181
12182         * src/nm-device.c (discover_device_type): Actually use the hal
12183         device type instead of ioctl poking
12184
12185 2006-04-26  Robert Love  <rml@novell.com>
12186
12187         * tests/nm-online.c: New file.  Simple utility that returns exit status
12188           noting whether the connection is offline or online.  If offline on
12189           start, it waits 30 seconds (or a command-line given value) for an
12190           online signal.  If it times out, it again returns offline.  This is
12191           useful for scripts that want to wait for network connections.
12192
12193 2006-04-25  Robert Love  <rml@novell.com>
12194
12195         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
12196           key mode (the authentication algorithm), e.g. open or shared, when we
12197           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
12198           only shared was broken.  If the user specified a shared key, set it
12199           explicitly, otherwise let wpa_supplicant go with the default.
12200
12201 2006-04-24  Dan Williams  <dcbw@redhat.com>
12202
12203         * src/nm-device-802-11-wireless.c
12204                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
12205
12206 2006-04-24  Dan Williams  <dcbw@redhat.com>
12207
12208         Commit the async scanning patch
12209
12210         * src/nm-device-802-11-wireless.c
12211                 - get rid of scan_mutex
12212                 - (wireless_event_helper): act on wireless scan events
12213                 - (real_start): schedule a pending scan
12214                 - (link_to_specific_ap): fake the link to the AP during a scan
12215                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
12216                         strength during scans
12217                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
12218                         nm_device_set_bitrate): unused with new scanning code, disable
12219                 - (nm_device_wireless_schedule_scan): removed
12220                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
12221                 - (request_and_convert_scan_results): new function; retrieve scan
12222                         results from the driver and schedule the processing function
12223                 - (scan_results_timeout): timeout triggered when card doesn't send
12224                         a scan results wireless event during a certain interval
12225                 - (schedule_scan_results_timeout): new function; schedule the scan
12226                         results timeout
12227                 - (cancel_scan_results_timeout): new function; cancel the scan
12228                         results timeout
12229                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
12230                         to do the scanning.  Otherwise, just request a scan but don't
12231                         grab results here; instead schedule a timeout for scan results and
12232                         let netlink notify us of scan completion events
12233                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
12234                 - (cancel_pending_scan): new function; cancel a pending wireless scan
12235                 - (supplicant_status_cb): ignore disconnect events while scanning
12236                 - (supplicant_exec): wait a bit longer for the supplicant to start up
12237                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
12238                         timeouts
12239                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
12240
12241 2006-04-24  Dan Williams  <dcbw@redhat.com>
12242
12243         * gnome/applet/applet-dbus.c
12244                 - Disable the pending call debug stuff, seems under control now
12245
12246 2006-04-20  Robert Love  <rml@novell.com>
12247
12248         Fix bug where hidden ESSID's would not show up in the applet, even
12249         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
12250         because nm_policy_device_list_update_from_allowed_list() would merge
12251         the data, putting a name to the hidden networks, but never notify NMI
12252         of the changes.  Simple fix is to invoke the function
12253         nm_dbus_signal_wireless_network_change() if we make a mapping.
12254         * src/NetworkManagerAPList.c: Call the function
12255           nm_dbus_signal_wireless_network_change() if we made a successful
12256           BSSID to ESSID mapping, notifying the applet of the "new" network.
12257         * src/NetworkManagerAPList.h: Update the prototypes for both
12258           nm_ap_list_copy_essids_by_address() and
12259           nm_ap_list_copy_one_essid_by_address().
12260
12261 2006-04-20  Robert Love  <rml@novell.com>
12262
12263         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
12264           not set.  Just return zero.
12265
12266 2006-04-20  Robert Love  <rml@novell.com>
12267
12268         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
12269           only one copy of nm-vpn-properties is running at a time via the 'ol
12270           X selection trick.  This prevents the user from opening two "VPN
12271           Connections" windows from within the applet, which leads to mass
12272           hysteria.
12273         * clipboard.c: New file, implementing simple X selection logic.
12274         * clipboard.h: New file.
12275         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
12276
12277 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
12278
12279         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
12280         * configure.in
12281           initscript/Gentoo/Makefile.am
12282           initscript/Gentoo/NetworkManagerDispatcher.in
12283                 - New script
12284         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
12285           Gentopia
12286
12287 2006-04-16  Dan Williams  <dcbw@redhat.com>
12288
12289         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
12290         * configure.in
12291           initscript/Slackware/Makefile.am
12292           initscript/Slackware/rc.networkmanager-dispatcher.in
12293           initscript/Slackware/rc.networkmanager.in
12294                 - Update slackware initscripts
12295
12296 2006-04-10  Robert Love  <rml@novell.com>
12297
12298         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
12299           the "delete_event" signal on the druid's parent window and handle it
12300           our way, lest using the WM to close the druid results in a series of
12301           bloody and ultimately lethal errors.
12302
12303 2006-04-10  Robert Love  <rml@novell.com>
12304
12305         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
12306           'Back' too or else the 'Forward' option is initially disabled despite
12307           valid input.
12308
12309 2006-04-06  Robert Love  <rml@novell.com>
12310
12311         Fix bad but simple bug where an active modem connection did not update
12312         NM's connection state, breaking any app that did online/offline:
12313         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
12314           represented whether a dial up connection is active, or not.
12315         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
12316           to modem activation and deactivation.
12317         * src/NetworkManagerDbus.c: When asked our state, do not return
12318           disconnected if the modem is active.
12319
12320 2006-04-04  Robert Love  <rml@novell.com>
12321
12322         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
12323           applet.  It just confuses the crap out of people and does not make a
12324           lot of sense, as the daemon still runs.
12325
12326 2006-04-02  Tor Krill  <tor@krill.nu>
12327
12328         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
12329           in start of service.
12330         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
12331           get Archlinux backend up to date.
12332
12333 2006-03-29  Robert Love  <rml@novell.com>
12334
12335         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
12336         to add support for per-route MSS and improve support for per-interface
12337         MTU:
12338         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
12339           optionally take an MSS parameter and set it for the given route.
12340           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
12341           NMIP4Config's stored MSS, if any.
12342         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
12343           the interface's MTU and the route's MSS, respectively.  Add functions
12344           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
12345           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
12346           MSS.
12347         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
12348           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
12349           nm_ip4_config_set_mss.
12350         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
12351           VPN daemon.
12352         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
12353           Change the retval of nm_system_get_mtu to guint32.
12354         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
12355           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
12356           servers can specify MTU's, we should set it here if the MTU was not
12357           provided.
12358
12359 2006-03-27  Jürg Billeter  <j@bitron.ch>
12360
12361         * configure.in:
12362         * initscript/Makefile.am:
12363         * initscript/paldo/Makefile.am:
12364         * initscript/paldo/NetworkManager.in:
12365         * initscript/paldo/NetworkManagerDispatcher.in:
12366         * src/backends/Makefile.am:
12367         * src/backends/NetworkManagerPaldo.c:
12368                 - Add paldo support
12369
12370 2006-03-27  Dan Williams  <dcbw@redhat.com>
12371
12372         Patch from Christian Persch <chpe@gnome.org>
12373         * gnome/applet/applet.glade
12374                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
12375
12376 2006-03-27  Dan Williams  <dcbw@redhat.com>
12377
12378         Patch from Diffe <diffie@blazebox.homeip.net>
12379         * src/backends/NetworkManagerSlackware.c
12380                 - Don't restart howl, since it's been replaced by Avahi
12381                         in most distributions
12382
12383 2006-03-27  Dan Williams  <dcbw@redhat.com>
12384
12385         Patch from Tor Krill <bugzilla@krill.nu>
12386         * configure.in
12387           initscript/Makefile.am
12388           src/backends/Makefile.am
12389           src/backends/NetworkManagerArch.c
12390           initscript/Arch/Makefile.am
12391           initscript/Arch/networkmanager-dispatcher.in
12392           initscript/Arch/networkmanager.in
12393                 - Add Arch Linux support, fixes gnome.org #335147
12394
12395 2006-03-27  Dan Williams  <dcbw@redhat.com>
12396
12397         Patch from Diffe <diffie@blazebox.homeip.net>
12398      * initscript/Slackware/rc.networkmanager
12399         - update, fixed gnome.org #333368
12400
12401 2006-03-27  Robert Love  <rml@novell.com>
12402
12403         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
12404           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
12405
12406 2006-03-27  Robert Love  <rml@novell.com>
12407
12408         Patch by Jürg Billeter <j@bitron.ch>:
12409         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
12410           systems.
12411         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
12412           as we prefer glibc over kernel headers, if possible.
12413
12414 2006-03-27  Robert Love  <rml@novell.com>
12415
12416         Patch by Jon Escombe <list@dresco.co.uk>:
12417         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
12418         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
12419           fail, don't bail out.  We don't expect all of the various WPA-EAP
12420           values to be present.
12421         * src/nm-ap-security.c: We need to match all capabilities for each
12422           encryption type, not any one of them.
12423
12424 2006-03-27  Robert Love  <rml@novell.com>
12425
12426         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
12427           restart, not reload, ypbind.  Unfortunately there is no superior
12428           solution.
12429
12430 2006-03-24  Christopher Aillon  <caillon@redhat.com>
12431
12432         * gnome/applet/applet-notifications.c:
12433         When displaying a notification, make sure to get rid of the
12434         previous notification so as to not have competing bubbles,
12435         and stop leaking the old one.
12436
12437         * gnome/applet/applet.c:
12438         * gnome/applet/applet.h:
12439         Add a new 'notification' member to the applet, and zero it out
12440         and free it appropriately.
12441
12442 2006-03-23  Robert Love  <rml@novell.com>
12443
12444         Patch by j <j@bootlab.org>:
12445         * gnome/applet/applet.glade: Don't set the invisible_char property,
12446           which simply overrides the GTK default.  By and by, this behavior
12447           ought to be fixed in Glade.
12448
12449 2006-03-22  Robert Love  <rml@novell.com>
12450
12451         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
12452
12453 2006-03-22  Robert Love  <rml@novell.com>
12454
12455         Bug fix by Timo Hoenig <thoenig@suse.de>:
12456         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
12457           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
12458           and the applet going AWOL.
12459
12460 2006-03-22  Robert Love  <rml@novell.com>
12461
12462         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
12463           preprocessor define and use it instead of open-coded the DHCP
12464           timeout, which is currently 25 seconds, everywhere.
12465
12466 2006-03-22  Robert Love  <rml@novell.com>
12467
12468         Implement "Dynamic WEP", which is basically WPA authentication and WEP
12469         key exchange via WPA, ostensibly providing good security without
12470         requiring hardware that supports full WPA.  Also, add UI elements to
12471         allow the user to select the pairwise & group cipher for WPA Enterprise
12472         networks, too:
12473         * gnome/applet/applet.glade: Update glade file.
12474         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
12475           key type, too, to and from gconf.
12476         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
12477           wso_wpa_create_key_type_model(), noting whether we are handling PSK
12478           or EAP configuration, and in the latter case add in "Dynamic WEP" if
12479           the capabilities match.
12480         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
12481           prototype.
12482         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
12483           serialize from UI to DBUS.
12484         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
12485           one element.
12486         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
12487           nmu_security_serialize_wpa_eap_with_cipher(), and
12488           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
12489           serialize/deserialize the key type via DBUS as the new third DBUS
12490           parameter.
12491         * libnm-util/dbus-helpers.h: Update prototypes.
12492         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
12493           too.  If the key type is WEP104, do Dynamic WEP, which means
12494           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
12495           pairwise and group ciphers (fixes a FIXME).
12496
12497 2006-03-21  Robert Love  <rml@novell.com>
12498
12499         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
12500           nm_system_get_mtu(), which returns a user-provided or system-mandated
12501           MTU value for a given device, if any, or zero if no such value
12502           exists.  Add nm_system_set_mtu() to set the MTU for a given device
12503           if we have a provided value.
12504         * src/nm-device.c: Set the MTU of devices.
12505         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
12506         * src/backends/NetworkManagerDebian.c,
12507           src/backends/NetworkManagerGentoo.c,
12508           src/backends/NetworkManagerRedHat.c,
12509           src/backends/NetworkManagerSlackware.c: Implement stub functions.
12510
12511 2006-03-21  Robert Love  <rml@novell.com>
12512
12513         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
12514           configuration file.
12515
12516 2006-03-17  Robert Love  <rml@novell.com>
12517
12518         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
12519           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
12520           it, in case it is not running in the first place.  We just want its
12521           configuration reloaded.  Also, do not "rcypbind stop" on device down.
12522
12523 2006-03-15  Robert Love  <rml@novell.com>
12524
12525         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
12526           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
12527           label "WEP 40/128-bit" is inconsistent because the physical key size
12528           is 40 or 104-bits, to which a 24-bit initialisation vector is
12529           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
12530           to read "40/104" or "64/128".  I do not care much which, but most
12531           users think of "silver" and "gold" encryption as 64 and 128-bits, so
12532           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
12533           WEP passphrase support only handles 128-bit keys, and any future
12534           64-bit passphrase support will require a new option (no way to auto-
12535           detect the target key size), explicitly label our passphrase support
12536           "WEP 128-bit Passphrase".
12537
12538 2006-03-15  Robert Love  <rml@novell.com>
12539
12540         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
12541           the system init scripts (or some other mechanism) starting it (or a
12542           compatible DBUS service) before NetworkManager runs.  This means that
12543           distributions might need to update their init scripts.  This fixes
12544           possible races and is quite a bit cleaner.
12545         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
12546           starting the NetworkManager daemon.
12547
12548
12549 2006-03-14  Robert Love  <rml@novell.com>
12550
12551         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
12552           before adding anything.
12553
12554 2006-03-13  Robert Love  <rml@novell.com>
12555
12556         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
12557           widgets, too, if they exist, in case the user hit the back button.
12558           Fixes a bug where the details page contains the widgets of multiple
12559           VPN modules (Novell bug #157048).
12560
12561 2006-03-13  Robert Love  <rml@novell.com>
12562
12563         Patch by Timo Hoenig <thoenig@suse.de>:
12564         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
12565           daemon survive DBUS restarts, too.
12566
12567 2006-03-10  Robert Love  <rml@novell.com>
12568
12569         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
12570           passphrase or key.
12571         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12572           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
12573           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
12574           in response to "toggled" signal on new toggle.
12575
12576 2006-03-10  Robert Love  <rml@novell.com>
12577
12578         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12579           serialization if strings are NULL, lest DBUS get angry.
12580
12581 2006-03-10  Robert Love  <rml@novell.com>
12582
12583         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12584
12585 2006-03-09  Robert Love  <rml@novell.com>
12586
12587         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12588           configurations.
12589
12590 2006-03-09  Dan Williams  <dcbw@redhat.com>
12591
12592         Track pending call requests in the applet, and report how many are
12593         outstanding, and how long each completed one takes.
12594         
12595         * gnome/applet/applet-dbus-devices.c
12596           gnome/applet/applet-dbus-vpn.c
12597                 - Track pending calls
12598
12599         * gnome/applet/applet-dbus.[ch]
12600                 - Remove some unused enums
12601                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12602                         new functions to track dbus pending calls and spit out some
12603                         statistics about them
12604
12605 2006-03-09  Robert Love  <rml@novell.com>
12606
12607         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12608           nm_ap_set_timestamp() take the second and micro-second parameters as
12609           direct arguments, which avoids both a dynamic memory allocation and a
12610           structure-to-structure copy!  Add a new interface, the aptly named
12611           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12612           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12613           the return from nm_ap_get_timestamp().  New users should use the new
12614           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12615           the extreme benefit to performance.
12616         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12617           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12618
12619 2006-03-08  Robert Love  <rml@novell.com>
12620
12621         * gnome/applet/applet.glade: Hide the password entry text with
12622           asterisks.
12623
12624 2006-03-08  Robert Love  <rml@novell.com>
12625
12626         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12627           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12628           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12629           a second argument, NMData.
12630         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12631         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12632           config files as trusted.
12633
12634 2006-03-06  Robert Love  <rml@novell.com>
12635
12636         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12637         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12638           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12639           Rivera, detect if the applet was auto-started.  If so, ask the user
12640           if he or she would like to stop automatically running the applet on
12641           login.  If so, disable autostart.
12642
12643 2006-03-06  Robert Love  <rml@novell.com>
12644
12645         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12646           directory in CFLAGS so developers can actually use NetworkManager.h.
12647
12648 2006-03-06  Robert Love  <rml@novell.com>
12649
12650         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12651           open-coded integer constants.  Add state_to_string() to map a given
12652           state to a textual description, and provide that when notifying of
12653           state change.
12654         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12655           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12656           this header directly, but it is currently not installed on most
12657           systems.
12658
12659 2006-03-05  Dan Williams  <dcbw@redhat.com>
12660
12661         Process netlink messages in device subclasses rather than in
12662         NetworkManager.c.  Also add support for recognizing Wireless Events.
12663         
12664         * configure.in
12665                 - Find GLIB_GENMARSHAL
12666
12667         * src/Makefile.am
12668                 - Since we're marshalling custom types for wireless event signals,
12669                         we get to create our own marshallers using GLIB_GENMARSHAL
12670
12671         * src/NetworkManager.c
12672                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12673                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12674                         cut down somewhat.  We no longer process signals here.
12675                 - (nm_data_new): create the netlink monitor here, and remove a
12676                         useless call to nm_policy_schedule_device_change_check()
12677                 - (nm_data_free): get rid of the netlink monitor here
12678                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12679                 - (main): don't create the netlink monitor here, let nm_data_new
12680                         do that.  Call nm_policy_schedule_device_change_check() right
12681                         before we jump to the mainloop to figure out which device
12682                         to use first
12683
12684         * src/NetworkManagerSystem.[ch]
12685                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12686                         convert back and forth from interface names to interface
12687                         indexes
12688
12689         * src/nm-device-802-11-wireless.c
12690                 - (real_init): connect to wireless-event signals from the netlink
12691                         monitor object
12692                 - (nm_device_802_11_wireless_event): new function, schedule handler
12693                         for wireless event signals from the netlink monitor object.  We
12694                         want the handler to run in the device's context
12695                 - (wireless_event_helper): handle wireless-event signals from netlink
12696                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12697                         signal handler
12698
12699         * src/nm-device-802-11-wireless.h
12700                 - remove unused prototype for nm_device_802_11_wireless_new
12701
12702         * src/nm-device-802-3-ethernet.c
12703                 - (real_init): new function; set up signal handlers for link events
12704                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12705                         handler for netlink link activated events on device's main loop
12706                 - (link_activated_helper): when we get a link activated event, set
12707                         the device's link to be active
12708                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12709                         handler for netlink link deactivated events on device's main loop
12710                 - (link_deactivated_helper): when we get a link deactivated event, set
12711                         the device's link to be inactive
12712                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12713                         dispose
12714
12715         * src/nm-device-802-3-ethernet.h
12716                 - remove unused prototype for nm_device_802_3_ethernet_new
12717
12718         * src/nm-device.[ch]
12719                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12720                         but locks the device list
12721                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12722
12723         * src/nm-netlink-monitor.[ch]
12724                 - (nm_netlink_monitor_class_install_signals): New signal
12725                         "wireless-event"
12726                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12727                         at the device list
12728                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12729
12730         * src/nm-marshal-main.c
12731                 - Include generated nm-marshal.c and nm-marshal.h
12732
12733         * src/nm-marshal.list
12734                 - List of custom marshal functions
12735
12736 2006-03-05  Dan Williams  <dcbw@redhat.com>
12737
12738         * gnome/applet/applet-notifications.h
12739                 - Protect prototype of nma_send_event_notification() because it
12740                         includes libnotify-specific types
12741                 - Include libnotify/libnotify.h too, since we technically need it
12742
12743         * gnome/applet/applet.c
12744                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12745                 - (nma_show_vpn_login_banner_dialog): add some error checking
12746
12747 2006-03-04  Dan Williams  <dcbw@redhat.com>
12748
12749         Clean up activation cancellation.  Should be a lot faster now.  Observed
12750         an issue with wireless devices between stage 2 and 3 of activation, where
12751         activation would be cancelled, but the device thread wouldn't notice until
12752         the supplicant association timed out.  Reorganize activation such that
12753         a cancellation handler gets immediately scheduled in the device's thread,
12754         and devices have a chance to perform any custom cleanup too.
12755
12756         * src/nm-device.[ch]
12757                 - (activation_cancel_handler): new device-type-specific function
12758                         for cleaning up device-type-specific stuff on cancellation
12759                 - (cancel_activation): removed
12760                 - (nm_device_activation_cancel): subsume functionality of
12761                         real_cancel_activation, but instead of doing anything, punt
12762                         operation to a handler that's run in device-thread context
12763                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12764                         a warning message
12765                 - (activation_handle_cancel_helper): cancellation handler run in
12766                         device-thread context, calls device-type-specific cancelation,
12767                         then tears down the activation request
12768                 - (real_activation_cancel_handler): generic cancellation handler,
12769                         deals with cancelling any in-process DHCP request
12770                 - (nm_device_activate_stage1_device_prepare,
12771                    nm_device_activate_stage2_device_config,
12772                    nm_device_activate_stage3_ip_config_start,
12773                    nm_device_activate_stage4_ip_config_get,
12774                    nm_device_activate_stage4_ip_config_timeout,
12775                    nm_device_activate_stage5_ip_commit): don't call
12776                         nm_device_schedule_activation_handle_cancel() any more, since
12777                         cancellation will have been already scheduled for us by
12778                         nm_device_activation_cancel().  Just exit the function and
12779                         assume that the cancel handler will be called next.
12780
12781         * src/nm-device-802-3-ethernet.c
12782                 - (real_act_stage2_config): remove; didn't do anything anyway
12783
12784         * src/nm-device-802-11-wireless.c
12785                 - (supplicant_status_cb): ensure we don't do anything if the activation
12786                         got cancelled
12787                 - (real_activation_cancel_handler): implement; cancel user key request
12788                         on activation cancellation
12789
12790 2006-03-04  Dan Williams  <dcbw@redhat.com>
12791
12792         * src/nm-device-802-11-wireless.c
12793                 - (supplicant_send_network_config): assume that drivers that don't
12794                         support WPA pretty much suck, and can't handle NM scanning
12795                         along with wpa_supplicant.
12796
12797 2006-03-03  Robert Love  <rml@novell.com>
12798
12799         * configure.in: Bump version to 0.6.0.
12800         * NEWS: Update.
12801
12802 2006-03-03  Robert Love  <rml@novell.com>
12803
12804         * configure.in: Require DBUS 0.60 or later.
12805
12806 2006-03-03  Dan Williams  <dcbw@redhat.com>
12807
12808         Fix a crash if an "Other wireless network" was chosen, failed, then
12809         chosen again from the applet's menu.  If the other network wasn't
12810         noticed in a scan, it wouldn't have any capabilities, but would still
12811         be listed because the user forced the network.  To fix this, we set
12812         sensible capabilities on the forced network, which will get overwritten
12813         with the correct ones if the network shows up later in a scan.
12814         
12815         * src/nm-ap-security.h
12816                 - Add a new "get_default_capabilities_func" member to the
12817                         NMAPSecurity class
12818
12819         * src/nm-ap-security.c
12820                 - (nm_ap_security_get_default_capabilities): new function
12821
12822         * src/nm-ap-security.c
12823           src/nm-ap-security-wep.c
12824           src/nm-ap-security-wpa-psk.c
12825           src/nm-ap-security-wpa-eap.c
12826                 - Implement get_default_capabilities_func() for all, which
12827                         uses the information contained in a specific NMAPSecurity
12828                         object to determine default AP capabilites necessary
12829                         to support that object
12830
12831         As a secondary measure, we now prune artificial access points that fail
12832         to be activated right away.  The thing failed, and we have no scan data for
12833         it, so it's pretty much useless since security information is only saved
12834         in the applets when a connection is successful.
12835
12836         * src/NetworkManagerAPList.c
12837                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
12838                         not artificial.  If we see it, it's no longer a figment of the
12839                         user's imagination :)
12840
12841         * src/NetworkManagerPolicy.c
12842                 - (nm_policy_activation_failed): send along the failed AP if we
12843                         have it
12844
12845         * src/nm-device-802-11-wireless.c
12846                 - (real_activation_failure_handler): remove artificial APs from
12847                         the device list, because activation failed
12848
12849 2006-03-02  Robert Love  <rml@novell.com>
12850
12851         Add support for retrieving both the per-device speed and the
12852         per-network maximum supported rate.  Then change the getProperties
12853         DBUS API for both networks and devices to report this informaiton.
12854         Finally, display the information via both nm-applet and nm-tool:
12855         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
12856           and set it.
12857         * gnome/applet/applet.c: Display the device's speed in the 'Connection
12858           Information' dialog.
12859         * gnome/applet/applet.glade: Update the UI to show per-device speed.
12860         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
12861           network_device_get_speed() and network_device_set_speed() for
12862           retrieving and setting, respectively, a network device's current
12863           speed.
12864         * src/nm-dbus-device.c: Send the device's speed on getProperties.
12865         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
12866           in the function nm_device_802_11_wireless_get_bitrate() -- it does
12867           not matter (yet) what the units are, because we only feed it its own
12868           output.  Implement SIOCGIRATE and set the per-network maximum
12869           supported rate during scanning.
12870         * src/nm-device-802-11-wireless.h: Export the function
12871           nm_device_802_11_wireless_get_bitrate().
12872         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
12873           function nm_device_802_3_ethernet_get_speed() for returning an
12874           802.3's current speed, in Mb/s.
12875         * test/nm-tool.c: Display the per-device current speed, if available,
12876           and the per-network maximum rate.
12877
12878 2006-03-02  Dan Williams  <dcbw@redhat.com>
12879
12880         * src/nm-device-802-11-wireless.c
12881                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
12882                         card when it gets initialized.  Since devices don't get added to
12883                         the scan list until they are initialized, this function wasn't
12884                         setting the intitial scan interval correctly, and was leaving
12885                         it at 0.  This caused cards to get many scan requests in a short
12886                         amount of time when they were initialized
12887
12888 2006-03-02  Robert Love  <rml@novell.com>
12889
12890         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
12891           active device.  But do not do what we used to do and override the
12892           state, which caused the dreaded icon race of '05.
12893
12894 2006-03-02  Robert Love  <rml@novell.com>
12895
12896         Commit Dan's update of my previous commit:
12897         * src/nm-device-802-11-wireless.c: Always set the mode, because the
12898           set_mode() function itself does the check.  But do only set the
12899           frequency if in Ad-Hoc mode.
12900
12901 2006-03-02  Robert Love  <rml@novell.com>
12902
12903         Patch by Brian Magnuson <magnuson@rcn.com>:
12904         * src/nm-device-802-11-wireless.c: During scanning, only set the
12905           wireless mode to infrastructure if it is not currently in
12906           infrastructure mode.  For some driver, setting the mode is a costly
12907           operation, apparently.
12908
12909 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
12910
12911         * Makefile.am: use the correct dir for autostart mechanism.
12912
12913 2006-02-28  Dan Williams  <dcbw@redhat.com>
12914
12915         Patch from Brian Magnuson <magnuson@rcn.com>
12916         * gnome/applet/applet.c
12917                 - (nma_show_vpn_failure_dialog): fix errors left over from
12918                         libnotify support changes
12919
12920 2006-02-28  Dan Williams  <dcbw@redhat.com>
12921
12922         * src/vpn-manager/nm-vpn-act-request.[ch]
12923                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
12924                         just one value
12925                 - (nm_vpn_act_request_is_failed): new function; return whether or
12926                         not the vpn activation request has failed
12927
12928         * src/vpn-manager/nm-vpn-manager.c 
12929                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
12930                         daemon to kill the connection when the activation request fails.
12931                         Fixes issue where NM would get confused if the VPN activation
12932                         request timed out, and would not allow further VPN connections
12933                         on that service.
12934
12935 2006-02-28  Dan Williams  <dcbw@redhat.com>
12936
12937         * gnome/applet/applet.c
12938                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
12939                         overlapping connection requests, disable all VPN menu items
12940                         but the active VPN connection
12941
12942 2006-02-28  Dan Williams  <dcbw@redhat.com>
12943
12944         * src/vpn-manager/nm-vpn-connection.c
12945                 - (nm_vpn_connection_set_parent_device): fix C&P error which
12946                         called g_object_unref() on the connection's parent device
12947                         when it should have been ref-ed instead.  Fixes crash with
12948                         repeated vpn connect requests
12949
12950 2006-02-28  Christopher Aillon  <caillon@redhat.com>
12951
12952         * gnome/applet/applet.glade:
12953         Mark a few strings non-translatable, since they shouldn't be.
12954
12955 2006-02-28  Dan Williams  <dcbw@redhat.com>
12956
12957         * src/vpn-manager/nm-vpn-service.c
12958                 - (nm_vpn_service_start_connection): if the vpn service daemon is
12959                         already running, don't blindly ask it to connect, but wait until
12960                         it's in the STOPPED state first.  Fixes an assertion when user
12961                         starts a second vpn connection without stopping the first.
12962                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
12963                         dbus service exists before continuing with the connection
12964                         process, and reduce latency while waiting for it to become
12965                         available
12966                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
12967                         waiting for the vpn service daemon to become available
12968                 - General log message cleanups; show progress via "Stage x of 4"
12969                         rather than not telling anyone how many stages there are
12970
12971 2006-02-28  Robert Love  <rml@novell.com>
12972
12973         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
12974         * src/backends/NetworkManagerSuSE.c: Implement the interface
12975           nm_system_should_modify_resolv_conf() for SUSE.
12976         * src/backends/NetworkManagerDebian.c,
12977           src/backends/NetworkManagerGentoo.c,
12978           src/backends/NetworkManagerRedHat.c,
12979           src/backends/NetworkManagerSlackware.c: Add stub.
12980         * src/named-manager/Makefile.am: Grab includes from src.
12981         * src/named-manager/nm-named-manager.c: Allow backends to disable the
12982           automatic updating of resolv.conf.  This is useful for testing,
12983           broken static configurations, and administrator lock-down.
12984
12985 2006-02-28  Dan Williams  <dcbw@redhat.com>
12986
12987         * src/nm-device-802-11-wireless.c
12988                 - Move all the wpa_supplicant-related management stuff into its
12989                         own struct, just for oranization's sake
12990                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
12991                         to a GIOChannel/GSource
12992                 - (supplicant_log_stdout): new function; grab output from the
12993                         wpa_supplicant stdout pipe and write it to our logs.
12994
12995 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12996
12997         * src/nm-device-802-11-wireless.c:
12998         Err, fix thinko in my previous commit.
12999
13000 2006-02-28  Robert Love  <rml@novell.com>
13001
13002         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
13003
13004 2006-02-28  Robert Love  <rml@novell.com>
13005
13006         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
13007           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
13008           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
13009           deserializers are responsible for freeing the returned DBUS strings.
13010
13011 2006-02-27  Christopher Aillon  <caillon@redhat.com>
13012
13013         * src/nm-device-802-11-wireless.c:
13014         The scan list is being pruned prematurely.  We should prune after
13015         the device has gone MIA for three scans, not one.  Split out the
13016         interval to realtime seconds function to better serve this.
13017
13018 2006-02-27  Robert Love  <rml@novell.com>
13019
13020         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
13021           Open the pid file O_TRUNC, so if it already exists we truncate it to
13022           zero length.  Also, be more verbose about warnings generated during
13023           writing out the pid file.  Finally, always write out the pid file if
13024           in daemon mode.  Use "--pid-file" to override the default.
13025
13026 2006-02-27  Robert Love  <rml@novell.com>
13027
13028         Patch by R. Vinay <rvinay@novell.com>:
13029         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
13030           'last_attempt_success' when removing a VPN connection, too.  (Fixes
13031           Novell bug #153628).
13032           
13033 2006-02-27  Robert Love  <rml@novell.com>
13034
13035         * gnome/applet/applet.glade: Set "activates_default" on passphrase
13036           entry so user can hit <ENTER> after entering passphrase (Novell bug
13037           #153738).
13038
13039 2006-02-27  Dan Williams  <dcbw@redhat.com>
13040
13041         * gnome/applet/*
13042                 - Mass search/replace of:
13043                         nmwa -> nma
13044                         NMWirelessApplet -> NMApplet
13045                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
13046                    (it ain't just for wireless anymore, ma!)
13047                 - Fix duplicate function name printing when using nm_warning
13048                 - wireless-applet.glade -> applet.glade
13049
13050 2006-02-27  Dan Williams  <dcbw@redhat.com>
13051
13052         * dispatcher-daemon/NetworkManagerDispatcher.c
13053                 - Accept --pid-file with a path to a pidfile, write it out on
13054                         startup, and delete it on shutdown
13055
13056         * src/NetworkManager.c
13057                 - Accept --pid-file with a path to a pidfile, write it out on
13058                         startup, and delete it on shutdown
13059                 - Move nm_print_usage() lower
13060
13061         * initscripts/RedHat/NetworkManager.in
13062                 - Use new --pid-file option
13063                 - Fix service stopping to wait a bit for NM to quit
13064
13065         * initscripts/RedHat/NetworkManagerDispatcher.in
13066                 - Use new --pid-file option
13067
13068 2006-02-26  Dan Williams  <dcbw@redhat.com>
13069
13070         * src/Makefile.am
13071                 - make and install nm-crash-logger
13072
13073         * src/nm-logging.[ch]
13074                 - New files; consolidate logging and crash handling
13075
13076         * src/nm-crash-logger.c
13077           src/gdb-cmd
13078                 - Standalong crashlogger for NM, grab a backtrace
13079                         using GDB
13080
13081         * src/NetworkManager.[ch]
13082                 - Remove signal handling and put it into nm-logging.c
13083
13084 2006-02-26  Dan Williams  <dcbw@redhat.com>
13085
13086         * configure.in
13087           gnome/applet/Makefile.am
13088                 - Conditionalize all the notify stuff
13089
13090         Merge most of Chris Aillon's notification patch:
13091         
13092         * gnome/applet/applet-notifications.[ch]
13093                 - New files; show a notification
13094         
13095         * gnome/applet/applet-dbus-devices.[ch]
13096                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
13097                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
13098                         new functions, do the right thing when a device change occurs
13099
13100         * gnome/applet/applet-dbus.c
13101                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
13102                         signals, so we can handle them specially
13103
13104         * gnome/applet/applet.[ch]
13105                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
13106                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
13107                 - (nmwa_notify_state): remove
13108                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
13109                         notification work is now done when the appropriate dbus signals
13110                         are received.
13111                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
13112                         defer execution of the notification/dialog stuff.  That was an
13113                         artifact of the previous multi-threaded nature of the applet
13114                         and is now pointless.
13115                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
13116                         no longer needed.  Function folded into applet-notifications.c
13117
13118         * src/NetworkManagerPolicy.c
13119                 - (nm_policy_activation_finish): send the AP along with the device
13120                         status change signal, if the connection is wireless.  Should
13121                         fix the race where applet would show a connection to "unknown"
13122
13123 2006-02-25  Robert Love  <rml@novell.com>
13124
13125         Add WPA Enterprise support:
13126         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
13127           nm-gconf-wso-wpa-eap.h.
13128         * gnome/applet/nm-gconf-wso-wpa-eap.c,
13129           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
13130           serialization and deserialization.
13131         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13132           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
13133           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
13134         * gnome/applet/wireless-applet.glade: Add UI for configurating security
13135           settings related to WPA Enterprise.
13136         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
13137           instantiate WPA Enterprise wireless-security-option.
13138         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
13139           Implement WPA Enterprise wireless-security-option object.
13140         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
13141           defines.  Cleanup.
13142         * libnm-util/cipher-wpa-psk-hex.c,
13143           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
13144         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
13145           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
13146           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
13147           including the cipher to DBUS method, and
13148           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
13149           to output.
13150         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
13151           nm-ap-security-wpa-eap.h
13152         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
13153           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
13154         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
13155           files.  Implement NMAPSecurityWPA_EAP object.
13156         * src/nm-ap-security-wpa-psk.c: Cleanup.
13157         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
13158           an NMAPSecurityWPA_EAP object via the method
13159           nm_ap_security_wpa_eap_new_deserialize().
13160         * src/nm-dbus-nm.c: Cleanup.
13161         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
13162           WPA Enterprise support.
13163
13164 2006-02-24  Robert Love  <rml@novell.com>
13165
13166         Patch from Timo Hoenig <thoenig@suse.de>:
13167         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
13168
13169 2006-02-24  Robert Love  <rml@novell.com>
13170
13171         Patch from Dan Winship <danw@novell.com>:
13172         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
13173           area to transparent.
13174
13175 2006-02-21  Dan Williams  <dcbw@redhat.com>
13176
13177         * gnome/applet/applet.[ch]
13178           gnome/applet/applet-dbus.c
13179                 - Implement notification support for VPN messages too
13180
13181 2006-02-21  Dan Williams  <dcbw@redhat.com>
13182
13183         * gnome/applet/applet-dbus-info.c
13184                 - Clean up warning messages to not double-print the function
13185
13186 2006-02-21  Dan Williams  <dcbw@redhat.com>
13187
13188         * gnome/applet/applet-compat.c
13189                 - (convert_one_entry): accept entries without a key_type and
13190                         convert them to unencrypted networks
13191
13192 2006-02-21  Dan Williams  <dcbw@redhat.com>
13193
13194         * gnome/libnm_glib/libnm_glib.c
13195                 - Use __func__ everywhere we can
13196                 - Code cleanups
13197                 - Use dbus pending calls rather than blocking
13198                 - Reduce busywaits for our thread to start and stop
13199                         (gnome.org #330562)
13200                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
13201                         stomp on others using the default shared dbus connection.
13202                         Fixes #rh177546# and gnome.org #326572
13203
13204 2006-02-21  Dan Williams  <dcbw@redhat.com>
13205
13206         Patch from Rodney Dawes <dobey@novell.com>
13207         * configure.in
13208           gnome/applet/Makefile.am
13209           gnome/applet/applet.c
13210                 - Add libnotify support if '--enable-notify=yes' is passed
13211                   at configure time
13212
13213 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
13214
13215         * configure.in (ALL_LINGUAS): ko added. (Korean)
13216
13217 2006-02-15  Robert Love  <rml@novell.com>
13218
13219         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
13220           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
13221           and WPA_SUPPLICANT_CONTROL_SOCKET.
13222         
13223 2006-02-15  Robert Love  <rml@novell.com>
13224
13225         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
13226           information about what connection stage we are at, provide the total
13227           number of stages, e.g. "Stage 2 of 5", so users know how far along
13228           they are if they experience problems.
13229
13230 2006-02-15  Robert Love  <rml@novell.com>
13231
13232         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
13233           define to $sysconfdir.
13234         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
13235           editing dialog, vpn_edit_widget, which fixes a bug where editing one
13236           type of VPN and then editing another results in a mangled dialog
13237           box containing the widgets from both VPNs (fixes Novell #150854).
13238           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
13239
13240 2006-02-14  Robert Love  <rml@novell.com>
13241
13242         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
13243           syslog's file descriptor.
13244
13245 2006-02-14  Robert Love  <rml@novell.com>
13246
13247         Fix bug around since the change to "deal with APs changing settings on
13248         us," checked in on the fifth of February in the year of the dog, 
13249         wherein connecting to non-broadcast encrypted networks always fails
13250         because nm_ap_get_encrypted() always returns FALSE, even when the user
13251         provided a key, because the newly-created fake AP does not have any
13252         capabilities set, which is a sypmtom of security settings not matching
13253         capabilities (Novell bug #150784):
13254         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
13255           nm_ap_add_capabilities_from_security(), which sets the given AP's
13256           capabilities off the given security settings.  Also improve our
13257           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
13258           NM_AUTH_CIPHER_AUTO.
13259         * src/nm-device-802-11-wireless.c: Call the function
13260           nm_ap_add_capabilities_from_security() to ensure that capabilities
13261           match newly updated security settings.
13262
13263 2006-02-14  Robert Love  <rml@novell.com>
13264
13265         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
13266           error as a string, not an integer, if possible; do not print the
13267           function name twice; always give the interface, if possible; misc.
13268           cleanup.
13269
13270 2006-02-12  Dan Williams  <dcbw@redhat.com>
13271
13272         Patch from Tom Parker <palfrey@tevp.net>
13273         * src/NetworkManagerSystem.h
13274                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
13275                         no longer used
13276
13277         * src/backends/NetworkManagerDebian.c
13278                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
13279                         unused variables
13280
13281 2006-02-12  Dan Williams  <dcbw@redhat.com>
13282
13283         * vpn-daemons/openvpn/intltool-extract.in
13284           vpn-daemons/openvpn/intltool-merge.in
13285           vpn-daemons/openvpn/intltool-update.in
13286           vpn-daemons/pptp/intltool-extract.in
13287           vpn-daemons/pptp/intltool-merge.in
13288           vpn-daemons/pptp/intltool-update.in
13289                 - Remove from CVS, they should get created by intltoolize,
13290                         shouldn't they?
13291
13292 2006-02-12  Dan Williams  <dcbw@redhat.com>
13293
13294         * vpn-daemons/pptp/src/pppd/patchlevel.h
13295         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13296                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
13297                         Makefile-defined VERSION
13298
13299 2006-02-09  Dan Williams  <dcbw@redhat.com>
13300
13301         Patch from: Vinay A R <rvinay@novell.com>
13302         * src/vpn-manager/nm-vpn-act-request.[ch]
13303                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
13304                         IPSec VPNs require them for std gateway.
13305                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
13306                         and 'user_routes_count'
13307                 - (nm_vpn_act_request_get_user_routes): new function; gets user
13308                         defined routes  from NMVPNActRequest object, returns the string
13309                         array of routes.
13310
13311         * src/vpn-manager/nm-vpn-manager.[ch]
13312                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
13313                         for 'user_routes' and 'user_routes_count'
13314         
13315         * src/vpn-manager/nm-dbus-vpn.c
13316                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
13317                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
13318         
13319         * src/vpn-manager/nm-vpn-service.c
13320                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
13321                         the vpn daemon
13322
13323         Modifications by Dan:
13324         * src/vpn-manager/nm-vpn-service.c
13325                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
13326                         arrays into dbus
13327
13328         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13329         * vpn-daemons/pptp/src/nm-pptp-service.c
13330         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13331                 - Grab user routes from dbus message
13332                 - Free all string arrays we got from dbus
13333
13334 2006-02-07  Robert Love  <rml@novell.com>
13335
13336         Patch by Stefan Seyfried <seife@suse.de>:
13337         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
13338
13339 2006-02-06  Robert Love  <rml@novell.com>
13340
13341         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
13342
13343 2006-02-06  Robert Love  <rml@novell.com>
13344
13345         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
13346           test ">=" is never false.  If no newline is found, we loop forever.
13347           We can just check for ">" because the following if() will see the
13348           zero-th argument if the while() gets that far.
13349
13350 2006-02-05  Dan Williams  <dcbw@redhat.com>
13351
13352         Refine handling of non-broadcast networks.
13353
13354         * src/NetworkManagerAPList.c
13355                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
13356                         property from scanned AP to the AP from the device list
13357
13358         * src/nm-device-802-11-wireless.c
13359                 - (supplicant_send_network_config): use ap_scan=1 for all networks
13360                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
13361                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
13362                         networks since those don't have APs.
13363                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
13364                         AP as non-SSID-broadcasting
13365                 - (process_scan_results): don't handle non-SSID-broadcasting here
13366
13367 2006-02-05  Dan Williams  <dcbw@redhat.com>
13368
13369         * src/nm-device-802-11-wireless.c
13370                 - (get_supplicant_timeout): new function; return
13371                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
13372                         14 channels.  These are likely a/b/g cards, like Atheros, and
13373                         slow as hell to scan.
13374                 - (supplicant_timeout_cb, supplicant_monitor_start): use
13375                         get_supplicant_timeout()
13376
13377 2006-02-05  Dan Williams  <dcbw@redhat.com>
13378
13379         * src/dhcp-manager/nm-dhcp-manager.c
13380                 - Loose a commit race with Robert; make sure size check
13381                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
13382
13383 2006-02-05  Robert Love  <rml@novell.com>
13384
13385         Patch by Christoph Brill <chrisbrill@gmx.net>:
13386         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
13387           with DHCP_SERVICE_NAME.
13388
13389 2006-02-05  Dan Williams  <dcbw@redhat.com>
13390
13391         Remove anything having to do with device_setup_func from the
13392         AP security objects, since it's no longer used.
13393
13394         * src/nm-ap-security.h
13395                 - Kill device_setup_func and nm_ap_security_device_setup()
13396
13397         * src/nm-ap-security-wep.c
13398           src/nm-ap-security-wpa-psk.c
13399                 - (real_device_setup): remove
13400
13401         * src/nm-ap-security.c
13402                 - (real_device_setup): remove
13403                 - (nm_ap_security_device_setup): remove
13404
13405         * src/nm-device-802-11-wireless.[ch]
13406                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
13407                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
13408                         and done by wpa_supplicant now anyway
13409
13410 2006-02-05  Dan Williams  <dcbw@redhat.com>
13411
13412         * src/nm-device-802-11-wireless.c
13413                 - (ap_need_key, real_act_stage2_config): deal with APs changing
13414                         settings on us.  Previously NM would loop asking for the
13415                         key but getting the same one back.  Now, if the NMI-supplied
13416                         cipher doesn't overlap with the scanned AP capabilities,
13417                         we request a completely new key from the user.
13418
13419 2006-02-05  Dan Williams  <dcbw@redhat.com>
13420
13421         * src/NetworkManagerUtils.c
13422                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
13423                         Handle newline killing better
13424
13425 2006-02-05  Dan Williams  <dcbw@redhat.com>
13426
13427         * gnome/applet/nm-gconf-wso.c
13428                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
13429                         of unencrypted access point security info.
13430
13431 2006-02-03  Robert Love  <rml@novell.com>
13432
13433         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
13434           user's encryption key, so we print the err_msg_cmd not the command,
13435           if available.  So long as SUPPLICANT_DEBUG is default, this makes
13436           sense.
13437
13438 2006-02-03  Christopher Aillon  <caillon@redhat.com>
13439
13440         * initscript/RedHat/NetworkManagerDispatcher.in:
13441         * initscript/RedHat/NetworkManager.in: modify the pidfile location
13442         Patch from Dan Walsh <dwalsh@redhat.com>
13443
13444 2006-02-03  Robert Love  <rml@novell.com>
13445
13446         * dispatcher-daemon/NetworkManagerDispatcher.c,
13447           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
13448           but use the sysconfdir.
13449
13450 2006-02-03  Robert Love  <rml@novell.com>
13451
13452         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
13453           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
13454           'char *'.
13455         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
13456           nm_ip4_config_get_hostname() and
13457           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
13458         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
13459           leak g_strdup() result.
13460
13461 2006-02-03  Robert Love  <rml@novell.com>
13462
13463         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
13464           broadcast == TRUE.  Also, copy broadcast and artificial properties
13465           from source network to destination in nm_ap_copy().
13466         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
13467           since we now default new networks to non-hidden.
13468
13469 2006-02-03  Dan Williams  <dcbw@redhat.com>
13470
13471         * gnome/applet/main.c
13472                 - (main): change the NEVER->ALWAYS so we start at the
13473                         beginning of the session, if being session-managed
13474
13475 2006-02-03  Dan Williams  <dcbw@redhat.com>
13476
13477         * gnome/applet/main.c
13478                 - (main): in a variation on Robert's patch, change
13479                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
13480                         he wants.
13481
13482 2006-02-02  Robert Love  <rml@novell.com>
13483
13484         * src/Makefile.am: If we aren't going to create the run directory at,
13485           uh, run-time, create it during install.  Then users just doing
13486           'make install' are cool, too.  While we are here, create the
13487           dispatcher.d directory, too.
13488         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
13489           the exact run directory.
13490         * Makefile.am: Install nm-applet.desktop.
13491
13492 2006-02-02  Robert Love  <rml@novell.com>
13493
13494         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
13495           structure, which denotes whether or not the AP is hidden.  This is a
13496           superset of 'artificial' -- we need 'broadcast' because a hidden AP
13497           can show up in the scan list.  Add nm_ap_get_broadcast() and
13498           nm_ap_set_broadcast() accessor interfaces.
13499         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
13500           nm_ap_set_broadcast().
13501         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
13502           "getProperties" method, which denotes whether or not the given
13503           network is hidden.
13504         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
13505           an artificial network.  Set broadcast to TRUE when scanning returns
13506           an ESSID and FALSE when not.
13507         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
13508           from "getProperties" method on a network.  Possible TODO is to
13509           somehow display this.
13510         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
13511
13512 2006-02-02  Dan Williams  <dcbw@redhat.com>
13513
13514         * src/nm-device-802-11-wireless.c
13515                 - (supplicant_interface_init): don't try to create
13516                         /var/run/NetworkManager, since that should be done by
13517                         the distro package.  Causes problems for stuff like SELinux
13518
13519 2006-02-02  Robert Love  <rml@novell.com>
13520
13521         Patch by Sureshkumar T <tsureshkumar@novell.com>:
13522         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
13523           Check for and handle empty string for iface.
13524
13525 2006-02-01  Robert Love  <rml@novell.com>
13526
13527         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
13528           manpage.
13529
13530 2006-01-31  Dan Williams  <dcbw@redhat.com>
13531
13532         * nm-applet.desktop
13533                 - Add --sm-disable to Exec arguments, presuming that when
13534                         using autostart, we don't want session management
13535
13536 2006-01-31  Robert Love  <rml@novell.com>
13537
13538         * src/NetworkManagerAP.c: Add two new manufacturer default network
13539           names: linksys-a and linksys-g.  These are found (at least) on the
13540           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
13541           own ESSID.
13542
13543 2006-01-31  Robert Love  <rml@novell.com>
13544
13545         * src/NetworkManagerAP.c: Optimize the function
13546           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
13547           machine code.  This is the first in a series of code tweaks aiming to
13548           generate better machine code and make NetworkManager all the better.
13549           Just kidding.  Who has time to go through the assembly generated for
13550           every function?  I certainly don't.  I have a wife, a kid, a job,
13551           a mortgage, a mistress.  But this function was so bad, I was called
13552           to arms.  Like the book.
13553
13554 2006-01-31  Robert Love  <rml@novell.com>
13555
13556         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
13557           AP is not broadcasting, to scan with probe request frames.  Required
13558           for non-broadcast networks.
13559
13560 2006-01-31  Robert Love  <rml@novell.com>
13561
13562         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
13563           preprocessor define (still 20s).  Fix message text in nm_info()
13564           s/too too/took too/.
13565
13566 2006-01-30  Dan Williams  <dcbw@redhat.com>
13567
13568         * src/nm-device-802-11-wireless.c
13569                 - (supplicant_monitor_start): increase connect/auth timeout to
13570                         20 seconds from 10 seconds
13571
13572 2006-01-30  Dan Williams  <dcbw@redhat.com>
13573
13574         * src/Makefile.am
13575                 - Define LOCALSTATEDIR
13576
13577         * src/nm-device-802-11-wireless.c
13578                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13579                         socket where we want it to
13580
13581         * src/wpa_ctrl.[ch]
13582                 - (wpa_ctrl_open): accept location to put local control socket
13583
13584 2006-01-30  Robert Love  <rml@novell.com>
13585
13586         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13587           get_ip4_string() for "domain_name".
13588
13589 2006-01-30  Robert Love  <rml@novell.com>
13590
13591         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13592           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13593           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13594           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13595           support for "Automatic" pairwise and group cipher configuration by
13596           letting wpa_supplicant handle the details.  Add UI elements, new
13597           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13598           charm.  Note this does more than add a nice feature, it fixes a bug.
13599           Apparently, some people have AP's where the pairwise cipher does not
13600           match the group cipher.  Insane, but true.
13601
13602 2006-01-30  Dan Williams  <dcbw@redhat.com>
13603
13604         * gnome/applet/applet-dbus-devices.c
13605                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13606                         functions, grab device driver name from NetworkManager
13607                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13608
13609         * gnome/applet/applet.c
13610                 - (nmwa_update_info): show driver name in Connection Information
13611                         dialog
13612
13613         * gnome/applet/nm-device.[ch]
13614                 - (network_device_get_driver, network_device_set_driver): add
13615                         accessors for driver name
13616
13617         * gnome/applet/wireless-applet.glade
13618                 - Add line for driver name to Connection Information dialog
13619
13620         * src/nm-dbus-device.c
13621                 - (nm_dbus_device_get_driver): new function to return driver name
13622                 - (nm_dbus_device_methods): hook up driver name function to dbus
13623
13624         * test/nm-tool.c
13625                 - (get_driver_name): new function
13626                 - (detail_device): grab and show driver name
13627
13628 2006-01-30  Robert Love  <rml@novell.com>
13629
13630         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13631           does not parse the markup if it is not part of the format.
13632
13633 2006-01-30  Robert Love  <rml@novell.com>
13634
13635         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13636           FALSE, we have no security options for this dialog, so we throw up
13637           an error dialog instead of a broken passphrase dialog.  Fixes
13638           Novell #138404.
13639         * gnome/applet/wireless-security-manager.c,
13640           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13641           does not add any security options, not even NONE, print a warning
13642           and return FALSE.  This let's functions constructing a dialog bail
13643           out if the device's capabilities and the network's requirements have
13644           zero overlap.
13645
13646 2006-01-27  Robert Love  <rml@novell.com>
13647
13648         * configure.in: Require wpa_supplicant.  Detect location of binary and
13649           use it.  Override with "--with-wpa_supplicant=foo".
13650         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13651           path to wpa_supplicant but use the auto-detected or user-provided
13652           value from configure.
13653
13654 2006-01-27  Robert Love  <rml@novell.com>
13655
13656         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13657           but the DHCP server did not return a hostname, try to look up our
13658           name via DNS and set the system hostname to that.
13659
13660 2006-01-27  Dan Williams  <dcbw@redhat.com>
13661
13662         * src/backends/NetworkManagerRedHat.c
13663                 - Add NM_CONTROLLED system network script support for RH/Fedora
13664
13665 2006-01-27  Dan Williams  <dcbw@redhat.com>
13666
13667         * src/backends/NetworkManagerGentoo.c
13668                 - (nm_system_device_get_disabled): add missing function.
13669                         Gnome BZ #328780
13670
13671 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13672
13673         * configure.in: Added vi in ALL_LINGUAS line.
13674         
13675 2006-01-26  Robert Love  <rml@novell.com>
13676
13677         * src/Makefile.am, src/kernel-types.h: Now that two different source
13678           files are feeling the crack-addled leakage of kernel types such as
13679           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13680           types in user-space -- define a header and include it as needed.
13681         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13682         * src/nm-device-802-3-ethernet.h: Remove defines.
13683         * src/wpa.c: Remove defines and include kernel-types.h.
13684
13685 2006-01-26  Robert Love  <rml@novell.com>
13686
13687         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13688           work.
13689
13690 2006-01-26  Robert Love  <rml@novell.com>
13691
13692         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13693         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13694           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13695           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13696           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13697           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13698           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13699           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13700           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13701           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13702           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13703           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13704           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13705           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13706           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13707           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13708           Kill unused variables, labels, and static functions.  Don't pass
13709           string literals as the format string for printf-like functions.
13710
13711 2006-01-25  Dan Williams  <dcbw@redhat.com>
13712
13713         * gnome/applet/wireless-applet.glade
13714                 - Remove WPA2 Checkbox
13715
13716         * gnome/applet/wireless-security-manager.c
13717                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13718                         This means the Wireless Security menu now has two WPA options,
13719                         one for "WPA Personal" and one for "WPA2 Personal"
13720
13721         * gnome/applet/wso-wpa-psk.[ch]
13722                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13723                         'wpa2' argument to determine WPA version to use
13724                 - (append_dbus_params_func): pass stored WPA version to cipher
13725                         rather than using the (removed) checkbox
13726
13727 2006-01-24  Robert Love  <rml@novell.com>
13728
13729         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13730           before we g_strdup(), not the ultimate string.
13731
13732 2006-01-23  Dan Williams  <dcbw@redhat.com>
13733
13734         * src/NetworkManagerAP.[ch]
13735                 - (nm_ap_new_from_ap): copy original essid too
13736                 - (nm_ap_unref): free original essid
13737                 - (nm_ap_get_orig_essid): new function
13738                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13739                         but keep original essid around too
13740
13741         * src/nm-device-802-11-wireless.c
13742                 - (supplicant_send_network_config): send wpa_supplicant the
13743                         _original_ essid, and not as a string, but in hex.  Should
13744                         allow us to connect to more APs that use wierd character
13745                         encodings for their essids
13746
13747         * utils/nm-utils.[ch]
13748                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13749                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13750                         use the current locale as a hint for what encoding the essid
13751                         might be in.  Obviously not 100% accurate, but the idea here is
13752                         that if a user's locale is ex. ja_JP, they are more likely than
13753                         not to be in Japan, where access points will likely be in some
13754                         Japanese encoding.
13755
13756 2006-01-23  Dan Williams  <dcbw@redhat.com>
13757
13758         * libnm-util/cipher-private.h
13759           libnm-util/cipher.c
13760           libnm-util/cipher.h
13761                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13762
13763 2006-01-23  Robert Love  <rml@novell.com>
13764
13765         Patch by Timo Hoenig <thoenig@suse.de>:
13766         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13767           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13768           by DHCP and pass it to the backends, allowing distribution-specific
13769           behavior with respect to the DHCP-supplied hostname (if nothing else,
13770           some distributions might not want to set the hostname).
13771         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
13772           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
13773           Also update our NIS behavior.
13774         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
13775           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
13776           Add stub functions.
13777
13778 2006-01-23  Robert Love  <rml@novell.com>
13779
13780         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
13781           gnome-session does autostart.  TODO: We need to install this to
13782           $prefix/share/autostart/.
13783
13784 2006-01-22  Dan Williams  <dcbw@redhat.com>
13785
13786         * src/NetworkManagerAP.[ch]
13787           src/nm-dbus-nmi.c
13788           src/nm-device-802-11-wireless.c         
13789                 - Make nm_ap_get_essid return "const char *"
13790
13791 2006-01-22  Dan Williams  <dcbw@redhat.com>
13792
13793         * src/NetworkManagerAP.[ch]
13794                 - (nm_ap_get_matched, nm_ap_set_matched): remove
13795
13796         * src/NetworkManagerAPList.[ch]
13797                 - (nm_ap_list_diff): removed
13798                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
13799                         deal with access points changing essids on us
13800
13801         * src/nm-device-802-11-wireless.c
13802                 - (add_new_ap_to_device_list): move AP dbus signal logic to
13803                         src/NetworkManagerAPList.c
13804                 - (real_can_interrupt_activation): new function; allow interruption
13805                         of device activation if we are waiting for a network key
13806
13807         * src/NetworkManagerPolicy.c
13808                 - (nm_policy_device_change_check): allow interruption of currently
13809                         activating devices if the device allows it.  Previous behavior
13810                         would refuse to activate a just-plugged wired device if a
13811                         wireless device was waiting for a key.
13812
13813         * src/nm-device.[ch]
13814                 - (nm_device_can_interrupt_activation): new function; ask devices
13815                         whether their activation can be interrupted
13816
13817 2006-01-20  Robert Love  <rml@novell.com>
13818
13819         * Makefile.am, configure.in: Add new man subdirectory.
13820         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
13821           man/Makefile.am: Add man pages for NetworkManager and its
13822           crime-solving bumbling buddy, NetworkManagerDispatcher.
13823         * man/.cvsignore: Add.
13824         * initscript/Debian/NetworkManager,
13825           initscript/Gentoo/NetworkManager.in,
13826           initscript/RedHat/NetworkManager.in,
13827           initscript/RedHat/NetworkManagerDispatcher.in,
13828           initscript/SUSE/networkmanager-dispatcher.in,
13829           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
13830
13831 2006-01-20  Robert Love  <rml@novell.com>
13832
13833         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
13834           instead of queuing.  This prevents the running of multiple NM
13835           daemons concurrently, which does not work whatsoever and results in
13836           neither daemon working correctly.  Also, we don't handle queuing and
13837           name-owner-changes, anyhow.
13838
13839 2006-01-20  Robert Love  <rml@novell.com>
13840
13841         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
13842         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
13843           to sbin, not bin.
13844
13845 2006-01-19  Robert Love  <rml@novell.com>
13846
13847         * configure.in: Require hal 0.5.0 or later.
13848
13849 2006-01-18  Robert Love  <rml@novell.com>
13850
13851         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
13852           Allow backends to flag a device (in whatever distro-dependent way
13853           they so desire) as disabled.  NM will ignore any such device.
13854         * src/backends/NetworkManagerDebian.c,
13855           src/backends/NetworkManagerRedHat.c,
13856           src/backends/NetworkManagerSlackware.c: Add stub function
13857           nm_system_device_get_disabled() that always returns FALSE (enabled).
13858         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
13859           SUSE-specific configuration structure.  Fill it in from the
13860           NM_CONTROLLED variable in the system networking scripts.  If this var
13861           exists and is "no", we ignore the device.
13862
13863 2006-01-17  Robert Love  <rml@novell.com>
13864
13865         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
13866           identical for NM.  For a full discussion, see the thread at
13867           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
13868
13869 2006-01-17  Dan Williams  <dcbw@redhat.com>
13870
13871         * src/nm-device.c
13872                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
13873                         function.  Fixes crash when wired DHCP fails.
13874
13875 2006-01-16  Robert Love  <rml@novell.com>
13876
13877         * src/Makefile.am: Don't install NMLoadModules
13878         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
13879           from src/ to test/ as no one uses it anymore.  Note that I would be
13880           fine with removing it altogether.
13881
13882 2006-01-16  Robert Love  <rml@novell.com>
13883
13884         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
13885           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13886           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
13887           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
13888           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
13889           src/nm-netlink-monitor.c: Don't miss any initializers on structure
13890           declarations, ever.
13891         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
13892           NM_STATE_DISCONNECTED is zero).
13893
13894 2006-01-16  Robert Love  <rml@novell.com>
13895
13896         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
13897           uninitialized parameter and buffer overflow.  Novell #143496.
13898
13899 2006-01-16  Dan Williams  <dcbw@redhat.com>
13900
13901         Apply the PtP Address bits of a patch from Tim Niemueller
13902
13903         * src/nm-ip4-config.[ch]
13904                 - Add ip4_ptp_address member to object
13905                 - (nm_ip4_config_copy): copy ptp address too
13906                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
13907                         new functions
13908                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
13909                         rather than local tunnel ip address
13910
13911         * src/vpn-manager/nm-vpn-service.c
13912                 - (print_vpn_config): update for PtP address
13913                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
13914                         DBusMessageIters in preparation for getting routes from the VPN
13915                         service daemons too
13916
13917         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
13918                 - (send_config_info): update for PtP address, clean up code
13919                 - (main): update for PtP address, clean up code, fix typo
13920
13921         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13922                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
13923
13924         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13925                 - (pptp_ip_up): update for PtP address
13926
13927         * vpn-daemons/pptp/src/nm-pptp-service.c
13928                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
13929
13930         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13931                 - (print_vpn_config): update for PtP address
13932                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
13933
13934 2006-01-16  Dan Williams  <dcbw@redhat.com>
13935
13936         * gnome/applet/applet.c
13937                 - (nmwa_add_networks_helper): don't indicate an active network
13938                         if NM is disconnected or asleep
13939
13940 2006-01-16  Dan Williams  <dcbw@redhat.com>
13941
13942         * src/NetworkManagerPolicy.c
13943                 - (nm_policy_device_change_check): switch devices if we lose the link
13944                         on an ethernet device. 
13945
13946 2006-01-16  Dan Williams  <dcbw@redhat.com>
13947
13948         * gnome/applet/wso-wpa-psk-hex.[ch]
13949                 - Renamed -> wso-wpa-psk.[ch]
13950
13951         * gnome/applet/wso-wpa-psk.[ch]
13952                 - New files
13953
13954         * gnome/applet/wso-wpa-psk-passphrase.[ch]
13955                 - Removed, rolled into wso-wpa-psk.[ch]
13956
13957         * gnome/applet/Makefile.am
13958                 - Updated for above changes
13959
13960         * gnome/applet/wireless-applet.glade
13961                 - Consolidate WPA-PSK options into one notebook
13962                         widget, and make dialogs invisible by default
13963                         to fix screen oddities
13964
13965         * gnome/applet/wireless-security-manager.c
13966                 - (wsm_set_capabilities): create the new wpa-psk widget rather
13967                         than both the old hex & passphrase ones
13968
13969 2006-01-16  Dan Williams  <dcbw@redhat.com>
13970
13971         * gnome/applet/other-network-dialog.c
13972                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
13973
13974 2006-01-16  Dan Williams  <dcbw@redhat.com>
13975
13976         * gnome/applet/applet.c
13977                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
13978                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
13979                         prevention to realize window before trying to get server
13980                         time
13981
13982         * gnome/applet/other-network-dialog.c
13983                 - (nmwa_other_network_dialog_run): fix up focus-stealing
13984                         prevention to realize window before trying to get server
13985                         time
13986
13987         * gnome/applet/passphrase-dialog.c
13988                 - (nmi_passphrase_dialog_new): fix up focus-stealing
13989                         prevention to realize window before trying to get server
13990                         time
13991
13992 2006-01-16  Robert Love  <rml@novell.com>
13993
13994         Patch from Timo Hoenig  <thoenig@suse.de:
13995         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
13996           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
13997           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
13998           libnm-util/dbus-helpers.h: add checks whether headers are used
13999           within a C++ build.
14000
14001 2006-01-16  Dan Williams  <dcbw@redhat.com>
14002
14003         * gnome/applet/wireless-security-option.c
14004                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
14005
14006 2006-01-16  Dan Williams  <dcbw@redhat.com>
14007
14008         * libnm-util/cipher-wpa-psk-passphrase.c
14009                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
14010                         be 8 - 63 characters inclusive
14011
14012 2006-01-16  Dan Williams  <dcbw@redhat.com>
14013
14014         * src/nm-dbus-nm.c
14015                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
14016
14017 2006-01-13  Robert Love  <rml@novell.com>
14018
14019         Patch by T Sureshkumar <tsureshkuman@novell.com>:
14020         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
14021           modules that do not use an interface.
14022
14023 2006-01-13  Dan Williams  <dcbw@redhat.com>
14024
14025         * src/nm-device.c
14026           src/nm-device.h
14027                 - Allow subclasses to implement deactivate_quickly()
14028                 - (nm_device_deactivate_quickly): call subclass
14029                         deactivate_quickly() methods
14030                 - (nm_device_set_active_link): small cleanups, and don't
14031                         deactivate the device right away because we risk a deadlock
14032                         when called from device thread, waiting for the device
14033                         thread to cancel activation
14034
14035         * src/nm-device-802-11-wireless.c
14036                 - (real_deactivate_quickly): new function
14037                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
14038                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
14039                         so that we kill the supplicant when we sleep too
14040                 - (supplicant_interface_init): work around naive naming attempts of
14041                         wpa_ctrl when naming sockets
14042
14043 2006-01-13  Dan Williams  <dcbw@redhat.com>
14044
14045         * src/nm-device-802-11-wireless.c
14046                 - (supplicant_cleanup): delete old device control sockets too
14047                 - (supplicant_get_device_socket_path): new function to consolidate
14048                         locations that need a path to a device's control socket
14049
14050 2006-01-12  Robert Love  <rml@novell.com>
14051
14052         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
14053           description so that the description is unique for each
14054           pair (device,provider).  Fixes Novell #142773.
14055
14056 2006-01-12  Dan Williams  <dcbw@redhat.com>
14057
14058         * src/nm-device-802-11-wireless.c
14059                 - (supplicant_exec): ensure GError is correctly initialized
14060                         Reported by Diego González (gnome.org #326708)
14061
14062 2006-01-11  Robert Love  <rml@novell.com>
14063
14064         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
14065           define if_mii(), open code the same results, and do so without any
14066           type punning.
14067
14068 2006-01-11  Robert Love  <rml@novell.com>
14069
14070         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
14071           that wso_foo_new() returned non-NULL.  Instead, only append the new
14072           wso to wsm->options if the wso is non-NULL.  The crux is that we
14073           assume that the relevant key types are implied by WEP and WPA as
14074           appropriate.  To be sure, they should be, but we should not expect
14075           drivers to not be oozing piles of wolf fecal matter.
14076
14077 2006-01-11  Robert Love  <rml@novell.com>
14078
14079         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
14080         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
14081           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14082           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
14083           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
14084           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
14085           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
14086         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
14087           comparing values within DBL_EPSILON.  Also fix shadowed variable
14088           usage.
14089
14090 2006-01-11  Dan Williams  <dcbw@redhat.com>
14091
14092         Add options for WPA2 and WPA1+CCMP (AES).
14093
14094         * gnome/applet/wireless-applet.glade
14095                 - Add UI bits for WPA+CCMP
14096
14097         * gnome/applet/other-network-dialog.c
14098                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
14099                         and don't allow creation of WPA2 Ad-Hoc networks since
14100                         wpa_supplicant doesn't support them
14101
14102         * gnome/applet/wireless-security-manager.c
14103                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
14104                         on to the specific wireless security option being created
14105
14106         * gnome/applet/wireless-security-option.[ch]
14107                 - (wso_wpa_create_key_type_model): new utility function to create
14108                         the model required for WPA Key Type combo box
14109
14110         * gnome/applet/wso-private.h
14111           gnome/applet/wireless-security-option.h
14112                 - Move private function prototypes into wso-private.h
14113
14114         * gnome/applet/wso-wpa-psk-hex.[ch]
14115           gnome/applet/wso-wpa-psk-passphrase.[ch]
14116                 - (append_dbus_params_func): get WPA version from checkbox and pass
14117                         it to the dbus serialization helper
14118                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
14119                         key type combo changes
14120                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
14121                         model and options
14122
14123         * libnm-util/cipher-wpa-psk-hex.c
14124           libnm-util/cipher-wpa-psk-passphrase.c
14125                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
14126                         new function; allow the cipher to be changed after object creation
14127
14128         * src/nm-ap-security-wpa-psk.c
14129                 - (set_description): Do WPA2 descriptions too
14130
14131         * src/nm-ap-security.c
14132                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
14133
14134 2006-01-11  Robert Love  <rml@novell.com>
14135
14136         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
14137           is defined in <linux/mii.h> to return the mii_ioctl_data structure
14138           from the ifreq structure in lieu of an open coded solution.  Removes
14139           a life-threatening type-punning.
14140         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
14141           types, ever, whatsoever, baby.
14142
14143 2006-01-11  Robert Love  <rml@novell.com>
14144
14145         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
14146           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
14147           assignments to applet->nm_state into a new nmwa_set_state() function
14148           for both cleanliness and to help debugging.
14149
14150 2006-01-10  Robert Love  <rml@novell.com>
14151
14152         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
14153           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
14154           seconds, exclusive.  That is, we want to sleep x seconds such that
14155           1 < x < 2.
14156
14157 2006-01-10  Robert Love  <rml@novell.com>
14158
14159         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
14160           the attr fields according to the example in the email available at
14161           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
14162           Conversely, we do have to free 'name', so we do so, fixing a leak.
14163
14164 2006-01-10  Robert Love  <rml@novell.com>
14165
14166         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
14167           sure that we close the socket!
14168
14169 2006-01-10  Robert Love  <rml@novell.com>
14170
14171         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
14172           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
14173           src/nm-device.c: Fix a FIXME!  Reimplement the function
14174           nm_device_update_hw_address() in device subclass variants,
14175           nm_device_802_3_ethernet_set_address() and
14176           nm_device_802_11_wireless_set_address(), hook them up, and use them.
14177           This fixes the existing bug where MAC addresses are all zeros.
14178
14179 2006-01-10  Robert Love  <rml@novell.com>
14180
14181         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
14182           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
14183           option to give users ability to globally disconnect and put NM to
14184           sleep.  This is useful as a 'lockdown mode' for flying, security, and
14185           clean disconnect.
14186
14187 2006-01-09  Robert Love  <rml@novell.com>
14188
14189         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
14190           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
14191           User-space does not supply these types, so we have to define them
14192           ourselves.  The relevant kernel maintainer refused to accept a patch
14193           switching these headers to the proper C99 types.
14194
14195 2006-01-09  Dan Williams  <dcbw@redhat.com>
14196
14197         Apply Robert's 'tray icon redo' patch with fixes
14198         * gnome/applet/applet.c
14199           gnome/applet/applet.h
14200                 - Instead of using a menu bar + menu item, simulate menu
14201                         behavior using a popup menu.  Highlight the area around
14202                         the icon more like a menu too, by playing with the
14203                         applet's size requisition
14204
14205 2006-01-09  Timo Hoenig   <thoenig@suse.de>
14206         * libnm-util/dbus-helpers.c
14207           libnm-util/dbus-helpers.h
14208                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
14209                         to 'exception_namespace' (:namespace is a keyword in
14210                         C++)
14211
14212 2006-01-09  Dan Williams  <dcbw@redhat.com>
14213
14214         * src/NetworkManagerPolicy.c
14215                 - (nm_policy_device_change_check): don't autoswitch away from
14216                         Ad-Hoc networks, since there's really no concept of
14217                         "link"
14218
14219         * src/nm-dbus-nm.c
14220                 - (nm_dbus_nm_create_wireless_network): mark created networks
14221                         as Ad-Hoc networks
14222
14223         * src/nm-device-802-11-wireless.c
14224                 - (real_activation_success_handler): add user-created Ad-Hoc
14225                         networks to the device's scan list
14226
14227 2006-01-08  Dan Williams  <dcbw@redhat.com>
14228
14229         We now require a patch for wpa_supplicant to support Ad-Hoc
14230         networks:
14231           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
14232
14233         * src/nm-device-802-11-wireless.c
14234                 - (supplicant_send_network_config): turn off wpa_supplicant's
14235                         scanning.  Fixes Ad-Hoc networks.
14236
14237 2006-01-08  Dan Williams  <dcbw@redhat.com>
14238
14239         * src/nm-ap-security.c
14240           src/nm-ap-security.h
14241                 - Add a user_created argument to the write_supplicant_config
14242                         functions
14243
14244         * src/nm-ap-security-wep.c
14245           src/nm-ap-security-wpa-psk.c
14246           src/nm-device-802-11-wireless.c
14247                 - Make Ad-Hoc mode somewhat work, at least write the
14248                         correct options to wpa_supplicant
14249
14250 2006-01-08  Dan Williams  <dcbw@redhat.com>
14251
14252         * src/nm-device-802-11-wireless.c
14253                 - Remove unused code from the old device activation path
14254
14255 2006-01-08  Dan Williams  <dcbw@redhat.com>
14256
14257         * libnm-util/dbus-helpers.c
14258                 - (nmu_security_serialize_wpa_psk): pass a blank key through
14259                         dbus when key == NULL
14260
14261 2006-01-08  Dan Williams  <dcbw@redhat.com>
14262
14263         * gnome/applet/nm-gconf-wso-wpa-psk.c
14264                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
14265                         correct arguments to nmu_security_deserialize_wpa_psk()
14266
14267         * src/nm-ap-security-wpa-psk.c
14268                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
14269                         arguments to nmu_security_deserialize_wpa_psk()
14270
14271 2006-01-08  Dan Williams  <dcbw@redhat.com>
14272
14273         * gnome/applet/wso-wpa-psk-hex.c
14274           gnome/applet/wso-wpa-psk-passphrase.c
14275                 - Hook up the append_dbus_params_func() function
14276
14277 2006-01-08  Dan Williams  <dcbw@redhat.com>
14278
14279         * src/nm-device-802-11-wireless.c
14280                 - (get_wireless_capabilities): correctly detect driver WPA
14281                         capabilities
14282
14283 2006-01-08  Dan Williams  <dcbw@redhat.com>
14284
14285         * gnome/applet/Makefile.am
14286           gnome/applet/wso-wpa-psk-hex.c
14287           gnome/applet/wso-wpa-psk-hex.h
14288                 - New files, implement WPA-PSK Hex key input
14289
14290         * gnome/applet/wireless-applet.glade
14291                 - Change existing wpa-psk stuff to wpa-psk-hex
14292                 - Add new widgets for wpa-psk-passphrase
14293
14294         * gnome/applet/wireless-security-manager.c
14295                 - (wsm_set_capabilities): enable WPA options
14296
14297         * gnome/applet/wso-wpa-psk-passphrase.c
14298                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
14299                         for WPA-PSK passphrase
14300
14301 2006-01-08  Dan Williams  <dcbw@redhat.com>
14302
14303         * include/NetworkManager.h
14304                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
14305                         applet/info-daemons
14306
14307         * gnome/applet/passphrase-dialog.c
14308                 - Use the constant.  Fixes a bug where the arguments to
14309                         dbus_message_new_error() were incorrect
14310
14311         * src/nm-dbus-nmi.c
14312                 - Use the constant
14313
14314 2006-01-07  Dan Williams  <dcbw@redhat.com>
14315
14316         * src/nm-device-802-11-wireless.c
14317                 - Add a link timeout so we allow the supplicant time to
14318                         reassociate if it can, before we deactivate the card
14319                 - Fix up link status and link updating so things work better
14320
14321 2006-01-07  Dan Williams  <dcbw@redhat.com>
14322
14323         * src/nm-device-802-11-wireless.c
14324                 - Switch over to using wpa_supplicant
14325                 - Add a timeout of 10s for association of the supplicant
14326                 - Start the monitor callback of the supplicant
14327
14328 2006-01-07  Dan Williams  <dcbw@redhat.com>
14329
14330         * src/NetworkManagerUtils.c
14331                 - (nm_utils_supplicant_request,
14332                   nm_utils_supplicant_request_with_check):
14333                         pass correct buffer length to wpa_ctrl_request()
14334
14335 2006-01-07  Dan Williams  <dcbw@redhat.com>
14336
14337         * src/nm-device-private.h
14338           src/nm-device.c
14339                 - (nm_device_activate_schedule_stage3_ip_config_start): make
14340                         this function available to subclasses
14341
14342 2006-01-06  Robert Love  <rml@novell.com>
14343
14344         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
14345           user plugging in a network cable signals their preference for to
14346           switch, unless the user explicitly selected a wireless network and
14347           therefore signaled their preference for said wireless network over
14348           wired.  In other words, do exactly what makes sense.
14349
14350 2006-01-06  Robert Love  <rml@novell.com>
14351
14352         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14353           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
14354           src/NetworkManagerWireless.h: Remove, no longer used and they keep
14355           showing up in my greps.
14356
14357 2006-01-06  Robert Love  <rml@novell.com>
14358
14359         * gnome/applet/applet-dbus-devices.c,
14360           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
14361           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
14362           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
14363           New Network' both failed in the non-encrypted case because we were
14364           not appending the security options to the DBUS message.  And
14365           'Connect to Other' was also failing in the encrypted case because
14366           we were not incrementing to the next DBUS parameter.  All fixed.
14367           Thanks to dcdw for some debugging help.
14368
14369 2006-01-06  Robert Love  <rml@novell.com>
14370
14371         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
14372           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
14373           hangup code and add per-device hangup.  Tie last commit into the
14374           GNOME applet.  TODO:  Save, understand, and respond to the state of
14375           each dialup device.
14376
14377 2006-01-06  Robert Love  <rml@novell.com>
14378
14379         Patch by Timo Hoenig <thoenig@suse.de>:
14380         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
14381           hangup specific dialup devices.
14382         * src/backends/NetworkManagerDebian.c,
14383           src/backends/NetworkManagerGentoo.c,
14384           src/backends/NetworkManagerRedHat.c,
14385           src/backends/NetworkManagerSlackware.c: Add stub backend.
14386         * src/backends/NetworkManagerRedHat.c,
14387           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
14388           hangup specific dialup devices.
14389
14390 2006-01-04  Robert Love  <rml@novell.com>
14391
14392         * gnome/applet/applet-dbus-devices.c,
14393           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
14394           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
14395           connections.
14396
14397 2006-01-04  Dan Williams  <dcbw@redhat.com>
14398
14399         First dump of wpa_supplicant-related code.  It's not hooked up to
14400         anything yet though.  Thanks to Kay Sievers for
14401         wpa_supplicant_wrapper.c, which formed the basis for this work,
14402         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
14403
14404         * src/Makefile.am
14405           src/wpa_ctrl.[ch]
14406                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
14407
14408         * src/NetworkManagerUtils.[ch]
14409                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
14410                         Add convenience functions for talking to wpa_supplicant
14411
14412         * src/nm-ap-security.[ch]
14413           src/nm-ap-security-wep.c
14414           src/nm-ap-security-wpa-psk.[ch]
14415                 - Update and implement real_write_supplicant_config functions
14416                         in all security types
14417                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
14418                         nm-ap-security-wpa-psk.c
14419
14420         * src/nm-device-802-11-wireless.c
14421                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
14422                    wpa_supplicant_start, wpa_supplicant_interface_init,
14423                    wpa_supplicant_send_network_config): add functions to talk to
14424                         wpa_supplicant and write network config to it
14425
14426 2006-01-04  Robert Love  <rml@novell.com>
14427
14428         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
14429           values so that distribution-backends can differentiate between the
14430           various types (modem, ISDN, et cetera) of dialup device that they
14431           support.
14432         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
14433           needed.
14434
14435 2006-01-03  Dan Williams  <dcbw@redhat.com>
14436
14437         * src/NetworkManagerPolicy.c
14438           src/nm-device.[ch]
14439           src/nm-device-802-11-wireless.c
14440                 - Move wireless-specific activation failure and success code
14441                         into wireless device class
14442
14443 2006-01-03  Robert Love  <rml@novell.com>
14444
14445         Patch by Preggna S:
14446         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
14447           IPsec does not require that a VPN client be bound to an interface,
14448           due to the use of the in-kernel IPSec bits.  So make the tunnel
14449           device optional.
14450
14451 2006-01-03  Dan Williams  <dcbw@redhat.com>
14452
14453         * src/NetworkManagerAP.c
14454                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
14455                         the WPA IE specifies that WEP is supported
14456
14457         * src/nm-device-802-11-wireless.c
14458                 - (process_scan_results): don't mark an AP as supporting WEP
14459                         if there's already other encryption capability info
14460
14461 2006-01-03  Dan Williams  <dcbw@redhat.com>
14462
14463         * src/dhcp-manager/nm-dhcp-manager.c
14464                 - Recognize activation cancellation when waiting for DHCP
14465                         configuration from dhcdbd
14466                 - Ignore non-dhcdbd messages
14467
14468         * src/nm-device.c
14469                 - (real_act_stage3_ip_config_start): return to correct behavior
14470                         of letting the dhcp-manager notify us of failure or
14471                         success rather than incorrectly doing that ourselves
14472                 - (nm_device_activate_stage4_ip_config_get): deal with
14473                         activation cancellation a bit earlier
14474
14475 2006-01-03  Dan Williams  <dcbw@redhat.com>
14476
14477         * src/nm-device-802-11-wireless.c
14478           src/nm-device.[ch]
14479                 - Add hooks to subclasses for stage3_ip_config_start and
14480                         stage4_ip_config_timeout
14481
14482         * src/nm-device-802-3-ethernet.c
14483                 - (real_get_generic_capabilities): make devices NM-supported
14484                         by default
14485
14486 2006-01-03  Robert Love  <rml@novell.com>
14487
14488         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
14489           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
14490           latter cannot differentiate between error and the address -1; misc.
14491           clean up.
14492
14493 2006-01-03  Dan Williams  <dcbw@redhat.com>
14494
14495         * src/NetworkManager.c
14496                 - Move link-checking/probing into the device subclasses
14497                         themselves
14498
14499         * src/nm-device.[ch]
14500           src/nm-device-802-11-wireless.c
14501           src/nm-device-802-3-ethernet.c
14502                 - Do periodic link checking in device subclasses rather
14503                         than being triggered from NetworkManager.c
14504                 - discover_wireless_capabilities -> get_wireless_capabilities
14505                 - discover_generic_capabilities -> get_generic_capabilities
14506                 - Device subclass activation routines now return a value of type
14507                         NMActStageReturn to indicate what step to perform next
14508                 - Devices now override stage4_get_ip4_config if they choose
14509
14510 2006-01-01  Dan Williams  <dcbw@redhat.com>
14511
14512         * src/nm-device-802-11-wireless.c
14513                 - (real_init): don't chain up to parent init because we don't
14514                         need to do that anymore
14515
14516         * src/nm-device.c
14517                 - (discover_device_type): fix arguments to ioctl() to correctly
14518                         pass interface name
14519                 - (nm_device_new): consolidate generic device initialization into
14520                         nm_device_new()
14521                 - (real_init): remove, consolidated to nm_device_new()
14522                 - (nm_device_deactivate, real_deactivate): consolidate
14523
14524 2006-01-01  Dan Williams  <dcbw@redhat.com>
14525
14526         * src/nm-activation-request.c
14527                 - Change dhcp_state member of the NMActRequest structure
14528                         from guint8 to guint32
14529
14530         * src/dhcp-manager/nm-dhcp-manager.[ch]
14531                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
14532                         than guint8 to match the dbus argument.  Turns out we were
14533                         overwriting memory since we were passing in only a guint8
14534
14535 2005-12-31  Dan Williams  <dcbw@redhat.com>
14536
14537         * refactor NMDevice into a GObject-based framework with separate
14538                 objects for wired and wireless.  The following files are no
14539                 longer used but should stick around for a bit so we don't
14540                 loose code through the cracks:
14541                         NetworkManagerDevice.c
14542                         NetworkManagerDevice.h
14543                         NetworkManagerWireless.c
14544                         NetworkManagerWireless.h
14545
14546         The intent here is to allow each device type to manage its own
14547         connection & activation life-cycle, ie to allow wireless devices
14548         to interface with wpa_supplicant, etc.  There's a fair bit of
14549         encapsulation breakage right now that should gradually get pulled
14550         back into each device, along with things like periodic property
14551         updates and link probing.
14552
14553 2005-12-29  Dan Williams  <dcbw@redhat.com>
14554
14555         * include/NetworkManager.h
14556                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
14557                         between networks that don't have any encryption at all
14558
14559 2005-12-29  Dan Williams  <dcbw@redhat.com>
14560
14561         * test/test-common.c
14562           test/test-common.h
14563           test/Makefile.am
14564                 - Move to a test-common subdirectory
14565
14566         * test/libnm-util/test-ciphers.c
14567                 - Move test data to test-inputs.h
14568                 - Test WPA ciphers too
14569
14570         * test/libnm-util/test-dbus-helpers.c
14571                 - Test serialization/deserialization of ciphers
14572
14573 2005-12-29  Dan Williams  <dcbw@redhat.com>
14574
14575         * gnome/applet/applet-dbus-devices.c
14576                 - Replace 'enc' parameter with 'capabilities' for wireless networks
14577                         in dbus calls to NM
14578                 - Set capabilities on WirelessNetwork objects
14579                 - Receive and save type-specific device capabilities too
14580
14581         * gnome/applet/applet-dbus-info.c
14582           gnome/applet/applet-dbus.c
14583                 - Passphrase dialog no longer a singleton; new instance gets created
14584                         on each request.  Updates to deal with that.
14585
14586         * gnome/applet/applet.c
14587                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14588                         than single 'encrypted' flag
14589                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14590                         menu items
14591                 - Passphrase dialog updates per above
14592
14593         * gnome/applet/menu-items.c
14594                 - (network_menu_item_update): use AP capabilities to determine
14595                         encryption
14596
14597         * gnome/applet/nm-device.[ch]
14598                 - Add accessors for type-specific device capabilities
14599
14600         * gnome/applet/other-network-dialog.c
14601                 - Rework to respect device capabilities.  i.e., if the device doesn't
14602                         support WPA, remove that option from the security dropdown
14603
14604         * gnome/applet/passphrase-dialog.c
14605                 - Massive rework so that a new instance is created each time
14606                         it's used, to support wireless network capabilities
14607
14608         * gnome/applet/wireless-network.[ch]
14609                 - Add accessors and members for wireless network capabilities
14610
14611         * gnome/applet/wireless-security-manager.[ch]
14612                 - (wsm_set_capabilities): called after creation to set which
14613                         security options get shown to the user
14614
14615 2005-12-29  Dan Williams  <dcbw@redhat.com>
14616
14617         * libnm-util/cipher-wpa-psk-passphrase.c
14618                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14619                         like other ciphers
14620
14621 2005-12-23  Dan Williams  <dcbw@redhat.com>
14622
14623         * gnome/applet/applet-dbus-info.c
14624                 - (nmi_dbus_get_key_for_network): if there's no entry in
14625                         GConf for a network, assume we want a new key
14626                 - (nmi_save_network_info): serialize wireless security info
14627                         into GConf so its saved
14628
14629         * src/nm-dbus-nm.c
14630                 - Fix warning as we may not be passed security info when
14631                         connecting to a wireless network
14632
14633 2005-12-23  Dan Williams  <dcbw@redhat.com>
14634
14635         * gnome/applet/applet-compat.c
14636                 - Fix bugs in GConf entry conversion
14637
14638         * gnome/applet/applet-dbus-info.c
14639                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14640                         list being zero-length
14641
14642         * libnm-util/cipher-*
14643           libnm-util/dbus-helpers.c
14644                 - All ciphers must now return hashed keys as UTF-8 valid
14645                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14646                         through dbus as strings too.
14647                 - Consolidate various functions that do bin->hex and hex->bin
14648                         conversion into cipher.c
14649
14650         * src/nm-ap-security-wep.c
14651           src/nm-ap-security-wpa-psk.c
14652                 - Handle NULL keys since we may not know keys right away
14653
14654         * src/nm-dbus-nmi.c
14655                 - (nm_dbus_get_network_data_cb): actually advance to the start
14656                         of the wireless security info before we try to deserialize it
14657
14658         * libnm-util/test-ciphers.c
14659                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14660
14661 2005-12-22  Dan Williams  <dcbw@redhat.com>
14662
14663         * gnome/applet/applet-compat.[ch]
14664                 - Convert old-format GConf and keyring entries
14665                         when the applet starts up.
14666
14667         * gnome/applet/applet.c
14668                 - (nmwa_get_instance): Call the conversion function
14669                         on startup before dbus is initialized
14670
14671 2005-12-22  Dan Williams  <dcbw@redhat.com>
14672
14673         * gnome/applet/applet-dbus-info.c
14674                 - Remove nmi_dbus_create_error_message() in favor of
14675                         nmu_create_dbus_error_message()
14676                 - (nmi_dbus_get_network_properties): Error message cleanups
14677                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14678                         gconf key rather than 'addresses', since they really are BSSIDs
14679                 - (nmi_dbus_get_network_properties): Dispose of the security
14680                         object when we're done with it
14681
14682 2005-12-21  Dan Williams  <dcbw@redhat.com>
14683
14684         * Consolidate the info-daemon's "updateNetworkInfo" and
14685                 "addNetworkAddress" calls into just "updateNetworkInfo"
14686
14687 2005-12-21  Dan Williams  <dcbw@redhat.com>
14688
14689         * Make connection after key retrieval work again
14690
14691 2005-12-21  Dan Williams  <dcbw@redhat.com>
14692
14693         * gnome/applet/nm-gconf-wso*
14694                 - Make the serialize functions return gboolean
14695                         rather than int
14696
14697         * gnome/applet/nm-gconf-wso.c
14698                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14699                         parent class handling so we don't segfault
14700
14701         * src/NetworkManagerAP.[ch]
14702                 - (nm_ap_get_capabilities): new function, return capabilities
14703                         now that something can use them
14704                 - (nm_ap_set_encrypted): assume that an access point supports
14705                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14706                         we even tell whether it just supports WEP40?
14707
14708         * src/NetworkManagerDevice.c
14709                 - (ap_need_key): resurrect and update for the New World Order
14710                 - (nm_device_wireless_get_activation_ap): if we're not given
14711                         security info to use, create some based on access point
14712                         capabilities
14713
14714         * src/nm-ap-security-wep.c
14715                 - (nm_ap_security_wep_new_from_ap): create a new object
14716                         based on a certain access point's capabilities
14717
14718         * src/nm-ap-security.c
14719                 - (nm_ap_security_new_from_ap): delegate creation of a new
14720                         object based on access point capabilities to a subclass
14721                 - (nm_ap_security_copy_properties): don't segfault if we
14722                         don't have a key yet
14723
14724         * src/nm-dbus-nm.c
14725                 - (nm_dbus_nm_set_active_device): provide more informative
14726                         output when errors occur.  Also construct security info
14727                         for a given access point if we weren't given any
14728
14729 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14730
14731         * configure.in: Added Lithuanian to ALL_LINGUAS.
14732
14733 2005-12-21  Dan Williams  <dcbw@redhat.com>
14734
14735         * test/libnm-util
14736                 - Add some testcases for WEP ciphers
14737
14738 2005-12-17  Dan Williams  <dcbw@redhat.com>
14739
14740         * Fix bugs
14741
14742 2005-12-17  Dan Williams  <dcbw@redhat.com>
14743
14744         * include/NetworkManager.h
14745                 - Finally kill NMEncKeyType
14746
14747         * gnome/applet/applet-dbus-info.c
14748                 - (nmi_save_network_info): convert to NMGConfWSO
14749
14750         * gnome/applet/nm-gconf-wso-*.c
14751                 - Implement gconf serialization functions
14752
14753         * src/NetworkManagerPolicy.c
14754                 - (nm_policy_activation_finish): fix up meaning of
14755                         automatic/user_requested
14756
14757 2005-12-17  Dan Williams  <dcbw@redhat.com>
14758
14759         * gnome/applet/*
14760                 - More applet cleanups
14761                 - Use the dbus-method-dispatcher
14762
14763         * libnm-util/dbus-method-dispatcher.[ch]
14764                 - Generalize the implementation from NM in
14765                         NetworkManagerUtils.c
14766
14767 2005-12-16  Dan Williams  <dcbw@redhat.com>
14768
14769         * gnome/applet/*
14770                 - Fix up the passphrase dialog to use all the
14771                         WirelessSecurityOption stuff (untested)
14772
14773 2005-12-16  Dan Williams  <dcbw@redhat.com>
14774
14775         * Move nm_gconf_get_*_helper() functions to separate files,
14776                 gconf-helpers.c & gconf-helpers.h
14777
14778         * New NMGConfWSO objects for managing the gconf side of things.
14779                 Eventually these should be merged with the
14780                 WirelessSecurityOption objects and a common base (that can
14781                 serialize/deserialize from dbus & gconf) should be
14782                 refactored out, but for now they are separate.
14783
14784 2005-12-16  Robert Love  <rml@novell.com>
14785
14786         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
14787           binaries unless they exist (nm_spawn_process() emits a warning if
14788           asked to spawn a non-existant process).
14789
14790 2005-12-16  Dan Williams  <dcbw@redhat.com>
14791
14792         * gnome/applet/applet-dbus-info.c
14793                 - Clean up lots of gconf-related code
14794
14795 2005-12-16  Robert Love  <rml@novell.com>
14796
14797         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
14798
14799 2005-12-16  Dan Williams  <dcbw@redhat.com>
14800
14801         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
14802
14803         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
14804                 bits still to be done)
14805
14806 2005-12-16  Dan Williams  <dcbw@redhat.com>
14807
14808         * Finally move info-daemon related stuff out of
14809                 NetworkManagerDbus.c to nm-dbus-nmi.c
14810
14811 2005-12-16  Dan Williams  <dcbw@redhat.com>
14812
14813         * Kill auth_method for access points, since that's now done
14814                 by NMAPSecurity objects
14815
14816         * Add a copy-constructor of sorts to NMAPSecurity
14817                 (how do you do this properly in glib???)
14818
14819 2005-12-15  Dan Williams  <dcbw@redhat.com>
14820
14821         * Exorcise encryption key hashing on APs
14822         * Use libnm-util's serialization/deserialization in both the
14823                 applet and NM
14824         * Random other stuff
14825
14826 2005-12-15  Robert Love  <rml@novell.com>
14827
14828         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
14829           is being added to the icon naming spec, so let's use that (Tango CVS
14830           has the icon).  Because it is new, however, we fall back to the
14831           current "gnome-lockscreen" if the new icon is not around, thus
14832           behavior is the same.
14833         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
14834           factory junk.
14835
14836 2005-12-15  Robert Love  <rml@novell.com>
14837
14838         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
14839           well, help to give.  Couple other misc. bits.
14840
14841 2005-12-15  Dan Williams  <dcbw@redhat.com>
14842
14843         * libnm-util/dbus-helpers.[ch]
14844                 - Make this the one-stop-shop for serializing/deserializing
14845                         AP & connection security settings over dbus.  Both NM
14846                         and applets should use this to ensure consistent dbus
14847                         API going forwared.
14848
14849 2005-12-15  Robert Love  <rml@novell.com>
14850
14851         Patch by Timo Hoenig  <thoenig@suse.de>:
14852         * src/NetworkManagerDbus.c
14853                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
14854                         if HAL jumps off the system bus.  Otherwise libdbus
14855                         (dbus_connection_dispatch) will try to run the filter
14856                         function of our libhal context which is already freed.
14857
14858 2005-12-15  Alexander Shopov  <ash@contact.bg>
14859
14860         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
14861
14862 2005-12-14  Dan Williams  <dcbw@redhat.com>
14863
14864         * include/NetworkManager.h
14865           src/NetworkManagerWireless.c
14866                 - Rearrange 802.11 wireless-specific capabilities again
14867
14868         * src/Makefile.am
14869                 - Forgot to add wpa.c/wpa.h to the makefiles
14870
14871         * src/NetworkManagerAP.[ch]
14872                 - Implement access point capabilities and parse the
14873                         WPA/RSN IEs into the capability bitfield
14874                 - Switch the "encrypted" attribute to utilize the bitfield
14875                         and capabilities rather than being independent
14876
14877         * src/NetworkManagerDevice.c
14878                 - (nm_device_wireless_get_activation_ap): break it horribly
14879                         until we can push NMAPSecurity objects into access point
14880                         objects and through the activation chain
14881                 - Stuff WPA & RSN IEs into AP capabilities
14882
14883         * src/nm-dbus-nm.c
14884                 - Take a shot at actually making setActiveDevice work
14885
14886         * src/wpa.[ch]
14887                 - Make the API a bit saner
14888
14889 2005-12-14  Dan Williams  <dcbw@redhat.com>
14890
14891         * include/NetworkManager.h
14892                 - Add 802.11-specific capability for 802.1x key
14893                         management
14894
14895         * src/wpa.[ch]
14896                 - Pull in WPA IE and RSN IE parsing code from
14897                         wpa_supplicant so we can determine access point
14898                         capabilities
14899                 - Move WPA-related constants here from NetworkManagerAP.h
14900                         and NetworkManagerDevice.c
14901
14902         * src/NetworkManagerDevice.c
14903           src/NetworkManagerAP.[ch]
14904                 - Use WPA-related constants from wpa.h
14905
14906 2005-12-14  Dan Williams  <dcbw@redhat.com>
14907
14908         * include/NetworkManager.h
14909                 - Update and split 802.11 wireless-specific capabilities from
14910                         generic device capabilities
14911
14912         * src/NetworkManagerDevice.c
14913           src/NetworkManagerDevicePrivate.h
14914                 - (nm_device_wireless_discover_capabilities): Move 802.11
14915                         wireless-specific capability checks to
14916                         NetworkManagerWireless.c
14917                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
14918                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
14919
14920         * src/NetworkManagerWireless.[ch]
14921                 - (nm_802_11_wireless_discover_capabilities): Check extended
14922                         802.11 wireless-specific capabilities of the driver
14923
14924 2005-12-14  Robert Love  <rml@novell.com>
14925
14926         Patch from Stefan Scheler <sscheler@suse.de>:
14927         * src/NetworkManagerDevice.c: call backend code to activate and
14928           deactivate NIS.
14929         * src/NetworkManagerSystem.h: add new NIS interfaces.
14930         * src/backends/NetworkManagerDebian.c,
14931           src/backends/NetworkManagerGentoo.c,
14932           src/backends/NetworkManagerRedHat.c,
14933           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
14934           support.
14935         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
14936
14937 2005-12-14  Dan Williams  <dcbw@redhat.com>
14938
14939         * src/nm-ap-security*.[ch]
14940                 - Add AP security abstractions to NetworkManager
14941
14942         * src/nm-dbus-device.c
14943                 - Begin to parse new format dbus messages from the applet
14944                         and construct an AP security object from the message
14945
14946         * libnm-util/dbus-helpers.c
14947                 - Use message iters so we can append the key as a fixed
14948                         array of bytes, which actually works rather than
14949                         using dbus_message_append_args() as we were before
14950
14951 2005-12-14  Dan Williams  <dcbw@redhat.com>
14952
14953         * src/NetworkManagerDbus.c
14954           gnome/applet/applet-dbus.c
14955                 - Fix up dbus service replacement options.  The applet
14956                         should allow replacement, NM itself should not.
14957
14958 2005-12-13  Robert Love  <rml@novell.com>
14959
14960         * src/named-manager/nm-named-manager.c: Revert earlier commit.
14961           Instead, fail silently if config is NULL by not asserting and not
14962           returning FALSE.  Also, make sure we always fclose() the file.
14963
14964 2005-12-13  Robert Love  <rml@novell.com>
14965
14966         Patch by Stefan Scheler <sscheler@suse.de>:
14967         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
14968            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
14969            via DHCP.  Still need the backends to commit the NIS domain name and
14970            and servers to yp.conf as needed.
14971
14972 2005-12-13  Robert Love  <rml@novell.com>
14973
14974         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
14975           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
14976
14977 2005-12-13  Robert Love  <rml@novell.com>
14978
14979         * src/named-manager/nm-named-manager.c: Don't unref the config until
14980           after we call rewrite_resolv_conf(), because get_last_default_domain()
14981           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
14982           `config != NULL' failed" assertion failures and "Could not commit DNS
14983           changes" warnings.
14984
14985 2005-12-12  Dan Williams  <dcbw@redhat.com>
14986
14987         * libnm-util/dbus-helpers.[ch]
14988           libnm-util/Makefile.am
14989                 - new helper calls to consolidate locations where
14990                         NM's setDevice method is called
14991
14992         * gnome/applet/applet-dbus-devices.c
14993           gnome/applet/wireless-security-option.c
14994           gnome/applet/wso-*
14995                 - Implement dbus message param append function for
14996                         all wireless security options
14997
14998 2005-12-12  Robert Love  <rml@novell.com>
14999
15000         * libnm-util/cipher-wep-passphrase.c,
15001           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
15002           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
15003           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
15004           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
15005           When handling keys, we don't care what the sign is.  The compiler
15006           guarantees us that we get our 8-bits, which is all we care about.
15007         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
15008
15009 2005-12-12  Dan Williams  <dcbw@redhat.com>
15010
15011         * gnome/applet/applet-dbus-devices.[ch]
15012           gnome/applet/applet.c
15013           gnome/applet/other-network-dialog.c
15014           gnome/applet/wireless-security-manager.[ch]
15015           gnome/applet/wireless-security-option.[ch]
15016           gnome/applet/wso-*
15017                 - Push the wireless security options further into the applet
15018
15019 2005-12-12  Robert Love  <rml@novell.com>
15020
15021         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
15022           return any name servers.  That is perfectly valid.  (Novell #134369).
15023
15024 2005-12-11  Dan Williams  <dcbw@redhat.com>
15025
15026         * gnome/applet/wso-*
15027           gnome/applet/wireless-security-option.*
15028           gnome/applet/Makefile.am
15029                 - split each security option out so we can eventually
15030                         have each one build up their own dbus message
15031                         arguments to send to NM
15032
15033 2005-12-11  Dan Williams  <dcbw@redhat.com>
15034
15035         * Make validation of the key work correctly
15036
15037 2005-12-11  Dan Williams  <dcbw@redhat.com>
15038
15039         * Hook more bits of the Other Network Dialog up to the
15040                 wireless security manager stuff, and restructure
15041                 bits of the dialog so there's less code.
15042
15043 2005-12-10  Dan Williams  <dcbw@redhat.com>
15044
15045         * gnome/applet/Makefile.am
15046                 - Add libnm-util to includes
15047                 - Add libnm-util to link list
15048                 - Add wireless-security-common.* to compile list
15049
15050         * gnome/applet/other-network-dialog.c
15051                 - Convert to using the WirelessSecurityManager code and
15052                         widgets
15053
15054         * gnome/applet/passphrase-dialog.c
15055                 - Comment out references to stuff in the glade file that
15056                         cause runtime errors until it can be fixed up
15057                         to use the WirelessSecurityManager code
15058
15059         * gnome/applet/wireless-applet.glade
15060                 - Rename some widgets
15061                 - Add widgets for the WirelessSecurityManager code
15062                 - Remove passphrase-related stuff since that's now
15063                         handled by the WirelessSecurityManager code
15064
15065 2005-12-10  Dan Williams  <dcbw@redhat.com>
15066
15067         * gnome/applet/applet-dbus-devices.c
15068                 - Print out error message details for dbus pending call callbacks
15069                 - Move nmwa_dbus_update_devices() up
15070
15071         * gnome/applet/applet-dbus-vpn.c
15072                 - Print out error message details for dbus pending call callbacks
15073
15074 2005-12-10  Dan Williams  <dcbw@redhat.com>
15075
15076         * libnm-util/*
15077                 - More fixups
15078                 - Remove cipher-manager.* because we don't need it
15079                 - Forgot to add gnome-keyring-md5 files to compile list
15080
15081 2005-12-09  Dan Williams  <dcbw@redhat.com>
15082
15083         * libnm-util/*
15084           configure.in
15085           Makefile.am
15086                 - Add a utility library for clients of NetworkManager.  It's
15087                         only targetted at applets for the moment, and contains
15088                         a generalized 802.11 cipher framework for different
15089                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
15090
15091 2005-12-09  Robert Love  <rml@novell.com>
15092
15093         * src/NetworkManagerDevice.c: handle error better in
15094           nm_device_set_mode().
15095
15096 2005-12-08  Robert Love  <rml@novell.com>
15097
15098         * include/NetworkManager.h: add WPA capabilities constants
15099         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
15100           or WPA2 and add the capabilities bits as appropriate.
15101
15102 2005-12-08  Robert Love  <rml@novell.com>
15103
15104         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
15105           NetworkManagerDispatcher.
15106         * configure.in, initscript/SUSE/.cvsignore,
15107           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
15108           initscript.
15109
15110 2005-12-08  Robert Love  <rml@novell.com>
15111
15112         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
15113
15114 2005-12-08  Robert Love  <rml@novell.com>
15115
15116         * src/NetworkManagerDevice.c: We want to fall back on and default to
15117           IW_MODE_AUTO, not -1, which is more in line with our previous
15118           behavior.  Otherwise, we try to set the wireless mode to -1 in
15119           nm_device_set_mode().
15120
15121 2005-12-07  Robert Love  <rml@novell.com>
15122
15123         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
15124           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
15125           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
15126           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
15127           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
15128           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
15129           zero.
15130
15131 2005-12-07  Robert Love  <rml@novell.com>
15132
15133         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
15134           supplied IP is invalid, fall back to DHCP.
15135
15136 2005-12-07  Dan Williams  <dcbw@redhat.com>
15137
15138         * Convert NETWORK_MODE_* constants to IW_MODE_*
15139         * Make all the get_mode/set_mode functions take and return 'int'
15140         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
15141
15142 2005-12-07  Robert Love  <rml@novell.com>
15143
15144         * src/NetworkManagerDevice.c: strncpy() buffer check.
15145         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
15146
15147 2005-12-06  Dan Williams  <dcbw@redhat.com>
15148
15149         * gnome/applet/applet-dbus.c
15150                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
15151
15152         * gnome/applet/applet-dbus-vpn.c
15153                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
15154                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
15155                         to TRUE here if stage was ACTIVATED
15156
15157 2005-12-06  Dan Williams  <dcbw@redhat.com>
15158
15159         * Change nm_device_is_* functions to better names:
15160                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
15161                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
15162
15163 2005-12-06  Dan Williams  <dcbw@redhat.com>
15164
15165         * Change naming of NMDeviceType to something more sensible:
15166                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
15167                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
15168                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
15169
15170 2005-12-06  Dan Williams  <dcbw@redhat.com>
15171
15172         * Move NetworkManager.h -> include/NetworkManager.h
15173         * Split out VPN stuff into include/NetworkManagerVPN.h
15174         * Fix up makefiles to include new location
15175         * Fix up sources to include NetworkManagerVPN.h
15176
15177 2005-12-06  Dan Williams  <dcbw@redhat.com>
15178
15179         Various changes in the applet to move VPN connection "state" -> "stage",
15180         which it actually is.  I'd like to change the signal as well when we
15181         break compat in the near future.
15182
15183 2005-12-06  Dan Williams  <dcbw@redhat.com>
15184
15185         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
15186         * initscript/Slackware/rc.networkmanager
15187                 - Cosmetic fix
15188
15189         * src/backends/NetworkManagerSlackware.c
15190                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
15191                         interfaces
15192
15193 2005-12-05  Robert Love  <rml@novell.com>
15194
15195         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
15196           to free, particularly here as it just barfs.
15197
15198 2005-12-05  Dan Williams  <dcbw@redhat.com>
15199
15200         * gnome/applet/applet-dbus.c
15201                 - Work with dbus 0.6 too
15202
15203 2005-12-03  Dan Williams  <dcbw@redhat.com>
15204
15205         * src/NetworkManagerUtils.[ch]
15206           src/nm-ip4-config.c
15207                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
15208                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
15209
15210 2005-12-01  Robert Love  <rml@novell.com>
15211
15212         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
15213           need a NULL for the '...' parameter, too, to fill the so-called
15214           sentinel.
15215
15216 2005-12-01  Robert Love  <rml@novell.com>
15217
15218         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
15219           interface is already gone, so don't call rtnl_link_change() to down
15220           it (which will segfault, anyhow).
15221
15222 2005-11-22  Robert Love  <rml@novell.com>
15223
15224         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
15225           gateway is not set, just print a little note.  Configurations without
15226           gateways are valid.
15227
15228 2005-11-22  Robert Love  <rml@novell.com>
15229
15230         * README: update
15231
15232 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
15233
15234         * configure.in: Added Finnish translation to ALL_LINGUAS
15235
15236 2005-11-14  Robert Love  <rml@novell.com>
15237
15238         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
15239           Niemueller <tim@niemueller.de>.
15240
15241 2005-11-08  Dan Williams  <dcbw@redhat.com>
15242
15243         Patch from Bill Moss <bmoss@clemson.edu>
15244         * src/NetworkManagerDevice.c
15245                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
15246                         of nm_policy_schedule_activation_finish() to prevent a
15247                         race condition that causes the link to be dropped
15248
15249 2005-11-08  Dan Williams  <dcbw@redhat.com>
15250
15251         Patch from Bill Moss <bmoss@clemson.edu>
15252         * src/NetworkManagerAPList.c
15253           src/NetworkManagerDevice.c
15254           src/NetworkManagerDbus.c
15255                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
15256                         we get more readable ether/mac addresses
15257
15258 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15259
15260         * gnome/applet/main.c: Don't set the restart command.  This fixes
15261         the issue where the restart command was getting copies of all its
15262         arguments for each time the applet was restarted.
15263
15264 2005-11-02  Robert Love  <rml@novell.com>
15265
15266         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
15267           if the widget state differs from our saved state.  This ensures we
15268           do not enter an endless loop of death and destruction.  Also, this
15269           guarantees us that we enforce the widget state.
15270
15271 2005-11-02  Robert Love  <rml@novell.com>
15272
15273         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
15274         * gnome/applet/applet-dbus-devices.c: invoke the new function
15275           nmwa_enable_wireless_set_active() to ensure that the state of the
15276           'Enable Wireless' checkbox matches the daemon's state.  This is a
15277           concern because the daemon remembers the state.
15278
15279 2005-11-02  Robert Love  <rml@novell.com>
15280
15281         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
15282           Enabled", as checkboxes should be actions/commands not positive
15283           statements, otherwise they are confusing in the unselected case.  See
15284           examples in GNOME HIG, Chapter 6.
15285
15286 2005-11-02  Robert Love  <rml@novell.com>
15287
15288         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
15289           show a list of wireless networks or the wireless devices or the
15290           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
15291           a bad bug: If wireless is disabled and the user picks a wireless
15292           network, NM will switch to the network, only to immediately switch
15293           back, as wireless is disabled.  This also reassures people that NM
15294           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
15295
15296 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15297
15298         * gnome/applet/applet.c:
15299         * gnome/applet/applet.h:
15300         Partial backout of Dan's timeout animation patch.
15301         Timeout IDs cannot legally be 0, so revert the code in place to handle
15302         a timeout ID of 0 to denote the timeout isn't running.
15303
15304 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15305
15306         * src/NetworkManagerPolicy.c:
15307         (nm_policy_device_change_check) Clarify wireless switch nm_info text
15308
15309 2005-10-28  Robert Love  <rml@novell.com>
15310
15311         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
15312           "Import Saved Configuration..." to make it clear that importing is
15313           not the next step, but an option.  As an aside, a nice TODO would be
15314           to move Importing out of the vpn-specific dialog and into the main
15315           property editor, as Importing goes with Adding, but that will require
15316           some rearchitecting of the VPN stuff I suspect.
15317
15318 2005-10-27  Dan Williams  <dcbw@redhat.com>
15319
15320         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
15321         we should replace most of the distro-specific backend code
15322         with libnl stuff.
15323
15324         Get it here:  http://people.suug.ch/~tgr/libnl/
15325
15326         * configure.in
15327           src/Makefile.am
15328                 - Add checks for libnl pkgconfig file
15329                 - Use LIBNL_LIBS & LIBNL_CFLAGS
15330
15331         * src/NetworkManagerSystem.c
15332           src/nm-ip4-config.[ch]
15333                 - Use libnl rather than ioctl() for most things
15334                 - Remove unused functions
15335
15336 2005-10-27  Robert Love  <rml@novell.com>
15337
15338         * src/backends/NetworkManagerSuSE.c: fix warning message text
15339
15340 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15341
15342         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
15343
15344 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15345
15346         * gnome/applet/applet.c: The applet's about dialog can advertise our 
15347         project page <http://www.gnome.org/projects/NetworkManager/>
15348
15349 2005-10-26  Christopher Aillon  <caillon@redhat.com>
15350
15351         * gnome/applet.c: Also use translator credits if we don't have
15352         the new GtkAboutDialog (older versions of GTK+)
15353
15354 2005-10-26  Robert Love  <rml@novell.com>
15355
15356         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
15357           failure; correct usage text for "--no-daemon"
15358
15359 2005-10-25  Dan Williams  <dcbw@redhat.com>
15360
15361         * src/NetworkManagerDevice.c
15362                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
15363                         no scan results
15364                 - (free_process_scan_cb_data): unref the device when freeing results
15365                 - (nm_device_wireless_process_scan_results): free scan results a bit later
15366                         so we don't unref the device underneath ourselves
15367
15368 2005-10-25  Dan Williams  <dcbw@redhat.com>
15369
15370         * Back out 2005-10-24 commit from Tor Krill.  Patch
15371                 causes nameservers never to be removed from named.
15372
15373 2005-10-24  Dan Williams  <dcbw@redhat.com>
15374
15375         Clean up wireless scanning and wireless link probing.
15376
15377         * src/NetworkManagerDevice.c
15378                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
15379                         just see if there's an activation request on the device, and check the
15380                         current link against the activation request access point's ESSID.
15381                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
15382                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
15383                         don't call process_scan_results() on zero-length data
15384                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
15385                         15 seconds (from 10)
15386
15387 2005-10-24  Dan Williams  <dcbw@redhat.com>
15388
15389         Cleanup some applet stuff:
15390
15391         - Animation timeouts.  If NM died while the applet was animating,
15392                 the applet would not hide itself.  This is now fixed.
15393
15394         - Remove some dead code
15395
15396         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
15397                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
15398
15399         - Track animation timeout using a gboolean rather than the timeout's
15400                 ID, since timeout IDs can legally be 0.
15401
15402 2005-10-24  Dan Williams  <dcbw@redhat.com>
15403
15404         * src/backends/interface_parser.c
15405                 - Add void to function declarations that need it
15406                         to match patch from Engin AYDOGAN
15407
15408         * src/backends/interface_parser.h
15409                 - Remove unused prototype for ifparser_interfaces()
15410
15411         Patch from Engin AYDOGAN <engin@bzzzt.biz>
15412         * src/backends/interface_parser.h:
15413                 - Compile fixes for gcc 4.0.2 (add void)
15414
15415 2005-10-24  Dan Williams  <dcbw@redhat.com>
15416
15417         Patch from Tor Krill <tor@krill.nu>
15418         * src/named-manager/nm-named-manager.c
15419                 - Write more than just the first nameserver to /etc/resolv.conf
15420                 - Write out valid /etc/resolv.conf on exit
15421
15422 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15423
15424         * gnome/applet/applet-dbus-vpn.c:
15425         Get rid of spurious newlines in debug console output
15426
15427 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15428
15429         * src/backends/NetworkManagerGentoo.c:
15430         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
15431
15432 2005-10-20  Robert Love  <rml@novell.com>
15433
15434         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
15435           direct comparison of floating point values, which is never correct.
15436           Also some misc. cleanup.
15437
15438 2005-10-19  Robert Love  <rml@novell.com>
15439
15440         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
15441
15442 2005-10-19  Robert Love  <rml@novell.com>
15443
15444         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
15445           sensitivity of the buttons.  Specificaly, do the right thing if
15446           there are no entries.
15447
15448 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15449
15450         * configure.in: Update check for adequate wireless-tools
15451         with an AC_TRY_COMPILE for the new symbols we use.
15452
15453 2005-10-19  Dan Williams  <dcbw@redhat.com>
15454
15455         * src/NetworkManagerDevice.c
15456                 - (process_scan_results): don't drop the last (or only)
15457                         access point we see
15458
15459 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15460
15461         * src/backends/NetworkManagerSlackware.c:
15462         Patch from Nico <lordllucifer@gmail.com>
15463                 - Update the Slackware backend.
15464
15465 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15466
15467         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
15468         if we've got GLib 2.8.0
15469
15470 2005-10-18  Robert Love  <rml@novell.com>
15471
15472         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
15473           function nm_schedule_state_change_signal_broadcast() when we
15474           deactivate a device, too.
15475
15476 2005-10-18  Robert Love  <rml@novell.com>
15477
15478         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
15479           be used uninitialized.
15480
15481 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15482
15483         * test/libnm_glib_test.c: Test unregistering, too.
15484
15485 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15486
15487         * configure.in: Bump to 0.5.0
15488
15489 2005-10-17  Dan Williams  <dcbw@redhat.com>
15490
15491         * NetworkManager.h
15492                 - Remove WPA-related constants so they aren't part of the
15493                         upcoming release.
15494
15495 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15496
15497         * gnome/applet/applet.c:
15498         * gnome/applet/applet.h:
15499         Desensitize the 'Connection Information' menu item when there is
15500         no active connection.
15501
15502 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15503
15504         * gnome/libnm_glib/libnm_glib.c:
15505         Make libnm_glib_unregister_callback () actually unregister the callback
15506
15507 2005-10-17  Robert Love  <rml@novell.com>
15508
15509         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
15510           two seconds -- tries is updated every 1/10 of a second, not every
15511           second..
15512
15513 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15514
15515         * gnome/applet/applet-dbus-info.c:
15516         Let D-BUS know that we haven't handled a message when we haven't.
15517
15518 2005-10-17  Robert Love  <rml@novell.com>
15519
15520         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
15521           in order to remain 64-bit clean.
15522
15523 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15524
15525         * gnome/applet/applet-dbus-info.c:
15526         Find network encryption keys asynchronously
15527
15528 2005-10-17  Robert Love  <rml@novell.com>
15529
15530         * src/backends/NetworkManagerDebian.c,
15531           src/backends/NetworkManagerRedHat,
15532           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
15533           comment delimiter.
15534
15535 2005-10-17  Robert Love  <rml@novell.com>
15536
15537         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
15538           "/etc"
15539
15540 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15541
15542         * src/NetworkManagerDevice.c: (process_scan_results)
15543         Fix logic that checks to see whether we have an ESSID.
15544
15545 2005-10-15  Dan Williams  <dcbw@redhat.com>
15546
15547         Move scanning code into NetworkManager rather than use iwlib's
15548         iw_scan() function, so that we can figure out AP capabilities.
15549
15550         * NetworkManager.h
15551                 - Add AP capability bits
15552
15553         * src/NetworkManagerAP.[ch]
15554                 - Add capability field to NMAccessPoint structure
15555                 - Add WPA & RSN Information Element fields and accessor
15556                         functions to NMAccessPoint
15557
15558         * src/NetworkManagerDevice.c
15559                 - Remove usage of iw_scan
15560                 - Add scanning code to NetworkManager rather than use
15561                         iw_scan() from iwlib
15562
15563         * src/NetworkManagerUtils.[ch]
15564                 - (nm_dispose_scan_results): remove, unused
15565
15566 2005-10-14  Christopher Aillon  <caillon@redhat.com>
15567
15568         * gnome/libnm_glib/libnm_glib.c:
15569         * gnome/libnm_glib/libnm_glib.h:
15570         Use guint instead of gint for callback IDs.
15571
15572 2005-10-12  Christopher Aillon  <caillon@redhat.com>
15573
15574         * gnome/applet/applet.c:
15575         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
15576         every 1000ms.  It will unconditionally call nmwa_update_state which
15577         kills the existing animation timeout and registers a new one with a
15578         callback to draw a new frame every 100ms.  There are 11 connecting
15579         icon frames, so the last 2 frames kept getting dropped.  Only reset
15580         the animation timeout if we aren't animating.
15581
15582 2005-10-11  Dan Williams  <dcbw@redhat.com>
15583
15584         * gnome/applet/applet-dbus-devices.c
15585                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15586                         We want to grab the product & vendor from net.physical_dev
15587                         rather than info.parent.
15588
15589 2005-10-11  Dan Williams  <dcbw@redhat.com>
15590
15591         * src/NetworkManagerDevice.c
15592                 - Use the driver's WE version for scanning rather than
15593                         the WE version NM was compiled with.  Fixes random
15594                         crashes in iw_scan () in iwlib.
15595
15596 2005-10-10  Dan Williams  <dcbw@redhat.com>
15597
15598         * Remove nm_system_load_device_modules() from backend files
15599                 and from NetworkManager.c
15600
15601 2005-10-10  Dan Williams  <dcbw@redhat.com>
15602
15603         * src/NetworkManagerPolicy.c
15604                 - Fix some bugs introduced by the capabilities patch
15605
15606 2005-10-10  Dan Williams  <dcbw@redhat.com>
15607
15608         * gnome/applet/applet-dbus-info.c
15609                 - (nmi_dbus_get_network_key): hide the menu when putting up
15610                         the keyring dialog.  (not sure if the code is right...)
15611
15612 2005-10-09  Dan Williams  <dcbw@redhat.com>
15613
15614         Patch from Bill Moss <bmoss@clemson.edu>
15615         * src/NetworkManagerDevice.c
15616                 - (nm_device_set_user_key_for_network): don't try to set auth
15617                         mode on the AP from the allowed list if it's NULL
15618
15619 2005-10-09  Dan Williams  <dcbw@redhat.com>
15620
15621         * Replace the "driver support level" stuff with capabilities.  The
15622                 capability field is a bitfield that is more flexible than the
15623                 old driver support level thing.  It's mostly so we can easily
15624                 figure out what supports WPA and what doesn't, but should be
15625                 quite useful later.
15626
15627 2005-10-09  Dan Williams  <dcbw@redhat.com>
15628
15629         * test/nmtest.c
15630                 - Removed
15631
15632         * test/nm-tool.c
15633           test/Makefile.am
15634                 - Added new "nm-tool" tool that gives quite a bit more
15635                         information
15636
15637 2005-10-07  Robert Love  <rml@novell.com>
15638
15639         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15640           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15641           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15642           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15643           appropriate
15644
15645 2005-10-07  Robert Love  <rml@novell.com>
15646
15647         * configure.in: Change our compile flags for the betterment of mankind.
15648           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15649           prototype is very bad on 64-bit platforms as types default to int but
15650           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15651           "-Wmissing-declarations" to warn if we define an exported function
15652           but fail to put it in a header.
15653
15654 2005-10-07  Robert Love  <rml@novell.com>
15655
15656         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15657           by the name nm_update_device_wireless_timeouts() and once tried,
15658           without success, to steal my pet turtle.
15659
15660 2005-10-07  Robert Love  <rml@novell.com>
15661
15662         * Cleanup prototypes: put some functions in header files and mark
15663           others as 'static' -- feel free to invert
15664         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15665           nm_vpn_manager_vpn_connection_list_copy()
15666         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15667           nm_vpn_service_get_dbus_connection()
15668         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15669           nm_vpn_manager_vpn_connection_list_copy()
15670         * src/vpn-manager/nm-vpn-service.c: make
15671           nm_vpn_service_act_request_failed() and
15672           nm_vpn_service_stage2_daemon_wait() static
15673         * src/vpn-manager/nm-vpn-service.h: add prototype for
15674           nm_vpn_service_get_dbus_connection()
15675
15676 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15677
15678         * gnome/applet/applet.c:
15679         * gnome/applet/applet.h:
15680         * gnome/applet/icons/Makefile.am:
15681         Convey information about the current connection stage in the
15682         icons themselves instead of creating a separate progress bar.
15683
15684 2005-10-04  Robert Love  <rml@novell.com>
15685
15686         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15687           convert an ether_addr structure's MAC into a string, because the
15688           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15689           versus 07:3B:04, while the former will not.
15690
15691 2005-10-04  Robert Love  <rml@novell.com>
15692
15693         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15694           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15695           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15696           default route in the 'Connection Information' dialog, send primary
15697           and secondary name servers in in "getProperties" DBUS method, add
15698           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15699           secondary domain name servers are crucial pieces of information
15700           that a user might need in debugging a network problem.
15701
15702 2005-10-04  Robert Love  <rml@novell.com>
15703
15704         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15705           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15706           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15707           default route in the 'Connection Information' dialog, send default
15708           route in "getProperties" DBUS method, add network_device_set_route(),
15709           and network_device_get_route().  The Gateway is a crucial piece of
15710           connection-related information that a user might need in debugging a
15711           network problem.
15712
15713 2005-10-03  Robert Love  <rml@novell.com>
15714
15715         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15716           NULL.
15717
15718 2005-10-02  Dan Williams  <dcbw@redhat.com>
15719
15720         * Shorten time taken to sleep by fastpathing bits of device deactivation
15721                 necessary for sleep.
15722
15723         * Fix issue where deactivating a device might deactivate the active
15724                 VPN connection, even if the VPN was not using the device.
15725
15726 2005-10-02  Dan Williams  <dcbw@redhat.com>
15727
15728         * gnome/applet/applet.c
15729                 - Adjust signal strength -> icon mapping values slightly
15730                         (so that 51% signal doesn't show a 75% icon) by adding
15731                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15732                         shows 50% icon, etc.
15733
15734 2005-09-29  Robert Love  <rml@novell.com>
15735
15736         * src/NetworkManager.c: removed unused variable.
15737
15738 2005-09-28  Dan Williams  <dcbw@redhat.com>
15739
15740         Support for named + DBus, using Red Hat DBus patches for named.  You
15741         can find those patches here, with "dbus" in the patch's filename:
15742
15743                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15744
15745         Don't forget the named dbus service file either.
15746
15747         Instead of writing a config file and spawing a named process, NM will
15748         use an already-running dbus-enabled named if it finds one.  NM will
15749         update named's forwarder configuration on the fly using dbus.
15750
15751         If there is no dbus-enabled named running, NM will automatically fall
15752         back to writing the most-recent DNS server information to /etc/resolv.conf
15753         and calling nm_system_update_dns() to kick the system's resolver.
15754
15755         Accordingly, all named-related configure-time options have been removed.
15756
15757 2005-09-26  Robert Love  <rml@novell.com>
15758
15759         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15760           ISDN support!
15761         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15762           bug in error path if "ASKPASSWORD" is "no".
15763
15764 2005-09-26  Robert Love  <rml@novell.com>
15765
15766         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15767           comment in /etc/resolv.conf -- ';' is not.
15768
15769 2005-09-19  Dan Williams  <dcbw@redhat.com>
15770
15771         * src/backends/NetworkManagerRedHat.c:
15772         * src/backends/NetworkManagerDebian.c:
15773         * src/backends/NetworkManagerSlackware.c:
15774         * src/backends/NetworkManagerGentoo.c:
15775         * src/backends/NetworkManagerSUSE.c:
15776         Fix invocations of "/sbin/ip address" to use short form instead
15777
15778 2005-09-19  Christopher Aillon  <caillon@redhat.com>
15779
15780         * src/nm-dbus-device.c: Don't assert when getting
15781         addresses of a not yet connected interface.
15782
15783         * gnome/applet/applet.c: Free icons if loading fails.
15784         Use translator-credits so translators can make themselves known.
15785
15786 2005-09-15  Christopher Aillon  <caillon@redhat.com>
15787
15788         * src/NetworkManagerAP.c:
15789         * src/NetworkManagerAP.h:
15790         * src/NetworkManagerDevice.c:
15791         Set a blacklist for certain common manufacturer default ESSIDs:
15792         APs with these ESSIDs are extremely likely to be completely
15793         different networks: connecting to one should not make NM
15794         auto-connect to every other AP with the same default ESSID.
15795
15796 2005-09-12  Christopher Aillon  <caillon@redhat.com>
15797
15798         * gnome/applet/wireless-applet.glade:
15799         The passphrase entry should also activate the default
15800
15801         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
15802
15803         * gnome/applet/applet-dbus-devices.c:
15804         * gnome/applet/applet.c:
15805         * gnome/applet/nm-device.c:
15806         * gnome/applet/nm-device.h:
15807         * src/NetworkManagerUtils.c:
15808         * src/NetworkManagerUtils.h:
15809         * src/nm-dbus-device.c:
15810         I've got a fever, and the only cure for it is less ioctl.
15811         Make NM push IP data rather than make the applet open a socket
15812         to the device.
15813
15814 2005-09-10  Christopher Aillon  <caillon@redhat.com>
15815
15816         * gnome/applet/applet.c:
15817         * gnome/applet/applet-dbus-devices.c:
15818         * gnome/applet/applet-dbus-info.c:
15819         * gnome/applet/passphrase-dialog.c:
15820         * gnome/libnm_glib/libnm_glib.c:
15821         * gnome/vpn-properties/nm-vpn-properties.c:
15822         * src/autoip.c:
15823         * src/backends/NetworkManagerRedHat.c:
15824         * src/named-manager/nm-named-manager.c:
15825         * src/NetworkManagerAPList.c:
15826         * src/NetworkManager.c:
15827         * src/NetworkManagerDbus.c:
15828         * src/NetworkManagerDevice.c:
15829         * src/NetworkManagerPolicy.c:
15830         * src/NetworkManagerSystem.c:
15831         * src/nm-dbus-device.c:
15832         * src/nm-dbus-nm.c:
15833         * src/vpn-manager/nm-vpn-manager.c:
15834         * src/vpn-manager/nm-vpn-service.c:
15835         * test/libnm_glib_test.c:
15836         * test/nminfotest.c:
15837         * test/nmtestdevices.c:
15838         Fix a bunch of 'unused variable' compiler warnings
15839
15840         * NetworkManager.h:
15841         * gnome/applet/applet-dbus-info.c:
15842         * gnome/applet/applet-dbus-info.h:
15843         * gnome/applet/applet.c:
15844         * gnome/applet/applet.h:
15845         * src/NetworkManager.c:
15846         * src/NetworkManagerDbus.c:
15847         * src/NetworkManagerDbus.h:
15848         * src/NetworkManagerDevice.c:
15849         * src/NetworkManagerDevice.h:
15850         * src/NetworkManagerMain.h:
15851         * src/NetworkManagerWireless.c:
15852         * src/NetworkManagerWireless.h:
15853         * src/nm-dbus-nm.c:
15854         Make NetworkManager be smart about how frequently to scan
15855         based on its current state.  Remove the UI for choosing when
15856         to scan.  Scanning still may disabled completely by the user
15857         via the "Wireless Enabled" menu item.
15858
15859 2005-09-09  Christopher Aillon  <caillon@redhat.com>
15860
15861         * gnome/applet/applet.c:
15862         Also overlay the vpn connecting icons onto the wired icon,
15863         when appropriate.
15864
15865         * gnome/vpn-properties/nm-vpn-properties.glade:
15866         Clean up a few strings to use better grammar and proper casing.
15867
15868 2005-09-08  Christopher Aillon  <caillon@redhat.com>
15869
15870         * gnome/applet/vpn-connection.c:
15871         * gnome/applet/vpn-connection.h:
15872         Add nmwa_vpn_connection_is_activating ()
15873
15874         * gnome/applet/applet.c:
15875         * gnome/applet/applet.h:
15876         * gnome/applet/icons/nm-vpn-connecting*.png:
15877         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
15878         the user know something's happening between clicking the VPN item and it
15879         actually being connected.
15880
15881 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15882
15883         * gnome/applet/applet-dbus-info.c: need to free attributes in the
15884         failure case as well.
15885
15886 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
15887
15888         * gnome/panel/eggtrayicon.[ch]:
15889         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
15890
15891 2005-09-07  Dan Williams  <dcbw@redhat.com>
15892
15893         Patch from Bill Moss <bmoss@clemson.edu>
15894         * src/applet-dbus.c
15895                 - (nmwa_dbus_filter): strip whitespace from beginning
15896                         and end of VPN login banner
15897
15898 2005-09-07  Dan Williams  <dcbw@redhat.com>
15899
15900         * The great VPN Manager rewrite of 2005
15901
15902 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15903
15904         * gnome/applet/menu-items.c:
15905         * gnome/applet/nm-device.c:
15906         * gnome/applet/wireless-network.c:
15907         * gnome/libnm_glib/libnm_glib.c:
15908         * src/NetworkManagerDbusUtils.c:
15909         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
15910         g_malloc0 doesn't return NULL
15911
15912 2005-09-06  Dan Williams  <dcbw@redhat.com>
15913
15914         Patch from Tomislav Vujec <tvujec@redhat.com>
15915         * src/NetworkManagerDevice.c
15916                 - (nm_get_device_by_udi): don't return a device when we
15917                         actually didn't find what we were looking for
15918
15919 2005-09-06  Christopher Aillon  <caillon@redhat.com>
15920
15921         * gnome/applet/applet-dbus-devices.c:
15922         * gnome/applet/applet-dbus-devices.h:
15923         * gnome/applet/applet-dbus.c:
15924         * src/NetworkManagerDbus.c:
15925         * src/NetworkManagerDbus.h:
15926         * src/NetworkManagerDevice.c:
15927         * src/nm-dbus-device.c:
15928         Make NM push updates about active device strength when it changes,
15929         rather than having the applet poll every 2s.
15930
15931 2005-09-05  Christopher Aillon  <caillon@redhat.com>
15932
15933         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
15934         network_device_set_strength
15935
15936 2005-09-04  Dan Williams  <dcbw@redhat.com>
15937
15938         Patch from Bill Nottingham <notting@redhat.com>
15939         * src/NetworkManagerDevice.c
15940                 - (nm_device_activation_cancel): reset the quit_activation flag
15941
15942 2005-09-04  Dan Williams  <dcbw@redhat.com>
15943
15944         * src/nm-activation-request.c
15945                 - (nm_act_request_unref): actually free the structure,
15946                         which we didn't seem to be doing before
15947
15948 2005-09-04  Dan Williams  <dcbw@redhat.com>
15949
15950         Patch from John Palmieri <johnp@redhat.com>
15951         * gnome/applet/applet-dbus-devices.c
15952                 - Fix up unreffing of DBusMessage objects
15953
15954 2005-09-04  Dan Williams  <dcbw@redhat.com>
15955
15956         Patch from John Palmieri <johnp@redhat.com>
15957         * gnome/applet/nm-device.c
15958                 - (nm_device_unref): clear network_device's memory _before_ freeing it
15959
15960 2005-09-02  Christopher Aillon  <caillon@redhat.com>
15961
15962         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
15963
15964 2005-09-02  Bill Nottingham  <notting@redhat.com>
15965
15966         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
15967
15968 2005-09-01  Dan Williams  <dcbw@redhat.com>
15969
15970         * src/NetworkManager.c
15971                 - (nm_remove_device_from_list): rename to nm_remove_device
15972                 - (nm_hal_device_removed): call nm_remove_device()
15973
15974         * src/NetworkManagerDevice.c
15975                 - Change the NMWirelessScanCB member 'reschedule' which
15976                         wasn't used to 'force' to indicate that we need to
15977                         force a scan when adding a device
15978
15979         * src/nm-dbus-nm.c
15980                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
15981                         from the device list
15982                 - (nm_dbus_nm_wake): Re-add all devices to the device list
15983
15984 2005-09-01  Robert Love  <rml@novell.com>
15985
15986         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
15987           and the check "!iface" in the error case is probably never true.
15988
15989 2005-09-01  Dan Williams  <dcbw@redhat.com>
15990
15991         Patch from Bill Nottingham <notting@redhat.com>
15992         * src/backends/NetworkManagerRedHat.c
15993                 - Add initial dialup support to Red Hat/Fedora backend
15994
15995 2005-09-01  Dan Williams  <dcbw@redhat.com>
15996
15997         * gnome/applet/applet-dbus-devices.c
15998                 - Sort both wireless networks and devices again, which got
15999                         broken when removing threading
16000
16001 2005-09-01  Christopher Aillon  <caillon@redhat.com>
16002
16003         * gnome/applet/applet.c:
16004         Only show the "Stop/Start All Wireless Devices" menuitem
16005         if we actually have wireless devices.
16006
16007         * gnome/applet/applet-dbus-info.c:
16008         * gnome/applet/applet.c:
16009         * gnome/applet/other-network-dialog.c:
16010         * gnome/applet/vpn-password-dialog.c:
16011         Drop the gtk_dialog_run () calls in favor of connecting to
16012         "response" signals, needed now that the applet is not threaded.
16013
16014 2005-08-31  Dan Williams  <dcbw@redhat.com>
16015
16016         Patch from Bill Moss <bmoss@clemson.edu>
16017         * src/NetworkManagerDevice.c
16018                 - (nm_device_wireless_scan): fix scan timeout values
16019
16020 2005-08-30  Dan Williams  <dcbw@redhat.com>
16021
16022         * gnome/applet/wireless-applet.glade
16023                 - HIG-ify the Other Wireless Networks dialog a bit more
16024                 - Fix some potential segfaults in the info dialog
16025
16026 2005-08-30  Dan Williams  <dcbw@redhat.com>
16027
16028         * gnome/applet/applet-dbus-devices.c
16029                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
16030
16031 2005-08-30  Dan Williams  <dcbw@redhat.com>
16032
16033         * gnome/applet/applet-dbus.[ch]
16034                 - Remove all the nmwa_dbus_call_method_xxxx functions since
16035                         they weren't being used anyway
16036
16037 2005-08-30  Bastien Nocera  <hadess@hadess.net>
16038
16039         * test/nmtestdevices.c: (print_usage), (main):
16040         Check the number of arguments, and fix a typo
16041
16042 2005-08-29  Dan Williams  <dcbw@redhat.com>
16043
16044         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
16045         * gnome/applet/applet.c
16046                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
16047
16048 2005-08-29  Dan Williams  <dcbw@redhat.com>
16049
16050         * gnome/applet/*
16051                 - Don't use threads any more.  Anything that blocks
16052                         (like gtk_dialog_run()) will  have to get fixed up which
16053                         should happen quickly.  We really only had threads to make
16054                         the animation smooth, and when everything got converted over
16055                         to DBus Pending Calls, the need for threads kind of went away
16056
16057 2005-08-29  Christopher Aillon  <caillon@redhat.com>
16058
16059         * gnome/applet/applet.c: Draw VPN connections as radio items
16060         since we don't yet support multiple VPNs.
16061         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
16062         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
16063
16064 2005-08-29  Dan Williams  <dcbw@redhat.com>
16065
16066         Patch from j@bootlab.org
16067         - Make --without-named work
16068         - Make --with-dhcdbd work correctly
16069
16070 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
16071
16072         * configure.in: Added "ca" to ALL_LINGUAS.
16073
16074 2005-08-26  Christopher Aillon  <caillon@redhat.com>
16075
16076         * Fix up VPN state handling between the applet and NetworkManager,
16077                 so that the applet doesn't show a VPN as connected when one
16078                 really is not
16079                         - The applet no longer has a pointer to the active VPN's
16080                                 name, but tracks each VPNs state individually
16081                         - NM no longer has a "getActiveVPNConnection" method
16082                         - NM no longer broadcasts the "VPNConnectionChange" signal
16083                         - NM now broadcasts a "VPNConnectionStateChange" signal
16084                                 whenever the state of a VPN changes
16085
16086 2005-08-26  Dan Williams <dcbw@redhat.com>
16087
16088         * gnome/applet/applet-dbus-devices.c
16089           gnome/applet/applet-dbus-vpn.c
16090                 - Remove calls to dbus_pending_call_ref() because we already
16091                         "own" the pending call
16092                 - Remove calls to dbus_pending_call_get_completed() because
16093                         when we are in the callback, the pending call is completed
16094                         by definition
16095
16096 2005-08-22  Dan Williams <dcbw@redhat.com>
16097
16098         Patch by Bill Moss <bmoss@clemson.edu>
16099         * src/dhcp-manager/nm-dhcp-manager.c
16100                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
16101                         some time to send out a RELEASE if they like
16102
16103 2005-08-22  Dan Williams <dcbw@redhat.com>
16104
16105         Noticed by Bill Moss <bmoss@clemson.edu>
16106         * src/NetworkManagerDbus.c
16107                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
16108                         instead of just cancelling its activation
16109
16110         * src/NetworkManagerDevice.c
16111                 - (nm_device_deactivate): some small cleanups
16112                 - (nm_device_set_user_key_for_network): deactivate the device
16113                         instead of just cancelling its activation
16114
16115 2005-08-22  Dan Williams <dcbw@redhat.com>
16116
16117         Noticed by Bill Moss <bmoss@clemson.edu>
16118         * src/NetworkManagerDevice.c
16119                 - (nm_device_wireless_scan): fix scan timeout, we were
16120                         waiting way too long for scans to complete
16121
16122 2005-08-22  Dan Williams <dcbw@redhat.com>
16123
16124         Patch from j@bootlab.org:
16125         * src/backends/NetworkManagerDebian.c
16126                 - Make the Debian backend work for static IP again
16127
16128 2005-08-20  Christopher Aillon  <caillon@redhat.com>
16129
16130         * gnome/applet/other-network-dialog.c:
16131         The "Create New Network" and "Connect to Other Network"
16132         dialogs share alot of code, but shouldn't share a window
16133         title.  Give them different ones.
16134
16135         * gnome/applet/wireless-applet.glade:
16136         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
16137         Some more minor UI tweaks.
16138
16139 2005-08-19  Christopher Aillon  <caillon@redhat.com>
16140
16141         * gnome/applet/other-network-dialog.c:
16142         * gnome/applet/wireless-applet.glade:
16143         Also need mnemonic widgets, and underline enabled.
16144
16145 2005-08-19  Dan Williams <dcbw@redhat.com>
16146
16147         * vpn-daemons/vpnc/nm-vpnc-service.c
16148                 - (vpnc_watch_cb): remove no-longer-relevant comment
16149                 - (write_config_option): new function, helper to write
16150                         config options to vpnc's stdin
16151                 - (nm_vpnc_config_write): use the new helper, make the
16152                         code shorter
16153
16154 2005-08-19  Christopher Aillon <caillon@redhat.com>
16155
16156         * gnome/applet/passphrase-dialog.c:
16157         * gnome/applet/wireless-applet.glade:
16158         Make the passphrase dialog response based, and treat
16159         responses other than OK (such as Esc, [X]) as a cancel.
16160
16161 2005-08-18  Christopher Aillon <caillon@redhat.com>
16162
16163         * initscript/Gentoo/NetworkManager:
16164         * initscript/RedHat/NetworkManager:
16165         * initscript/RedHat/NetworkManagerDispatcher:
16166         * initscript/SUSE/networkmanager:
16167         CVS remove these in place of .in replacements
16168
16169         * configure.in:
16170         * initscript/Gentoo/NetworkManager.in:
16171         * initscript/RedHat/NetworkManager.in:
16172         * initscript/RedHat/NetworkManagerDispatcher.in:
16173         * initscript/SUSE/networkmanager.in:
16174         These scripts now are generated so they work still when
16175         NM is built using a bindir other than /usr/bin
16176
16177 2005-08-18  Dan Williams <dcbw@redhat.com>
16178
16179         * gnome/applet/main.c
16180                 - Revert previous change for --no-session since
16181                         --sm-disable does the same thing
16182
16183 2005-08-18  Dan Williams <dcbw@redhat.com>
16184
16185         * gnome/applet/applet-dbus-info.c
16186                 - (nmi_dbus_create_error_message): new function
16187                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
16188                         functions.  Also don't check for both device _and_ network before
16189                         asking for a user's key, because we may not have gotten all our
16190                         networks back from NM quite yet (due to the dbus pending calls
16191                         coming in later).  Fixes a hang in NM/nm-applet.
16192
16193         * src/NetworkManagerDbus.c
16194                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
16195                         slightly more sane manner, even though we are still broken for
16196                         certain other error conditions.
16197                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
16198                         to the info-daemon too
16199
16200         * src/NetworkManagerDevice.c
16201                 - Fix some debug messages to be info messages instead
16202
16203 2005-08-18  Dan Williams <dcbw@redhat.com>
16204
16205         * gnome/applet/main.c
16206                 - Add new "--no-session" parameter that disables applet
16207                         session management, ie for testing
16208
16209 2005-08-18  Christopher Aillon <caillon@redhat.com>
16210
16211         * gnome/applet/other-network-dialog.c:
16212         * gnome/applet/wireless-applet.glade: More mnemonics
16213
16214 2005-08-17  Robert Love  <rml@novell.com>
16215
16216         * initscript/SUSE/networkmanager: update
16217
16218 2005-08-17  Dan Williams  <dcbw@redhat.com>
16219
16220         * Tag NM_0_4_1_RELEASE
16221
16222 2005-08-17  Christopher Aillon  <caillon@redhat.com>
16223
16224         * gnome/applet/applet.c: More translatable string cleanup
16225
16226
16227 2005-08-17  Dan Williams  <dcbw@redhat.com>
16228
16229         * gnome/applet/applet-dbus-info.c
16230                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
16231                         from the dbus message, which tells us to unconditionally
16232                         ask the user for a new key.  Otherwise, we pull the key from
16233                         the keyring and return it.  If we fail to get the key from the
16234                         keyring, we ask the user for a new key.
16235                 - (nmi_dbus_get_network_key): new function to grab the key for
16236                         an essid from the keyring.
16237                 - (nmi_dbus_get_network_properties): don't access the keyring here.
16238                         Also, don't return any key in the dbus message.
16239
16240         * src/NetworkManagerDbus.[ch]
16241                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
16242                         indicate that we unconditionally want a new key.  This function
16243                         is now also used to get keys from the info-daemon which are
16244                         pre-stored, not just for asking the user for a new key.  The
16245                         "new_key" parameter indicates whether or not we wish to ask the
16246                         user for a new key.
16247                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
16248                         info-daemon in the return message, so use NULL instead.  The
16249                         key will be filled in at connect time by calling
16250                         nm_dbus_get_user_key_for_network()
16251
16252         * src/NetworkManagerDevice.c
16253                 - (nm_device_wireless_configure): update for "new_key" param to
16254                         nm_dbus_get_user_key_for_network().  We initially set new_key
16255                         to FALSE to see if we have a stored key in the info-daemon, but
16256                         if the connection is unsuccessful at this stage we request a
16257                         new one
16258
16259 2005-08-17  Dan Williams  <dcbw@redhat.com>
16260
16261         * gnome/applet/icons/nm-no-connection.png
16262           gnome/applet/icons/nm-device-wired.png
16263                 - Use Diana's new RJ45 connector icons
16264
16265 2005-08-17  Dan Williams  <dcbw@redhat.com>
16266
16267         * src/NetworkManagerPolicy.c
16268                 - (nm_policy_device_change_check): clarify switching rules if
16269                         both new and old devices are valid; mainly, don't switch
16270                         away from user-requested wireless connection back to a wired
16271                         one
16272
16273 2005-08-17  Dan Williams  <dcbw@redhat.com>
16274
16275         * gnome/applet/Makefile.am
16276                 - Relocate the applet to /usr/bin since it is no longer
16277                         executed by anything, but directly by the user
16278
16279 2005-08-17  Dan Williams  <dcbw@redhat.com>
16280
16281         Patch from Bill Moss <bmoss@clemson.edu>
16282
16283         * gnome/applet/applet-dbus-info.[ch]
16284                 - (nmi_save_network_info): save timestamp for network if it
16285                         was a change requested by the user
16286                 - (nmi_dbus_update_network_info): get user_requested from dbus
16287                         message and pass to nmi_save_network_info()
16288
16289         * gnome/applet/applet.c
16290                 - (nmwa_update_network_timestamp): remove
16291                 - (nmwa_menu_item_activate): don't set timestamp on networks
16292                         here, only after a successful connect in nmi_save_network_info()
16293
16294         * src/NetworkManagerDbus.[ch]
16295                 - (nm_dbus_update_network_info): pass user_requested into the 
16296                         dbus message
16297
16298         * src/NetworkManagerPolicy.c
16299                 - (nm_policy_activation_finish): pass user_requested to
16300                         nm_dbus_update_network_info()
16301
16302 2005-08-16  Robert Love  <rml@novell.com>
16303
16304         * gnome/applet/applet.c: Better "Dial Up" menu item.
16305
16306 2005-08-16  Robert Love  <rml@novell.com>
16307
16308         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
16309           "Connection Information" menu item.
16310
16311 2005-08-16  Dan Williams  <dcbw@redhat.com>
16312
16313         Patch from j@bootlab.org
16314         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
16315
16316         * configure.in: allow specifying the path to dhcdbd
16317
16318 2005-08-16  Robert Love  <rml@novell.com>
16319
16320         Patch from j@bootlab.org
16321         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
16322           src/backends/interface_parser.h: Debian dialup support.
16323
16324 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16325
16326         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
16327         * gnome/applet/applet.c: Add some mnemonics for VPNC
16328
16329         * vpn-daemons/.cvsignore: fix this up a little bit
16330
16331 2005-08-16  Robert Love  <rml@novell.com>
16332
16333         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
16334           support.
16335
16336 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16337
16338         * gnome/applet/applet.c: Split markup out of translatable strings
16339         and clean up logic a little bit.  (fixes #309012)
16340
16341 2005-08-15  Christopher Aillon  <caillon@redhat.com>
16342
16343         * gnome/vpn-properties/nm-vpn-properties.c:
16344         * gnome/vpn-properties/nm-vpn-ui-interface.h:
16345         * vpn-daemons/vpnc/properties/nm-vpnc.c:
16346         Makeshift fix to remove newlines from translatable strings.
16347         Note that we now return an allocated string, so callers of
16348         get_confirmation_details () must now call g_free () on the
16349         result. (fixes #309033).
16350
16351 2005-08-12  Robert Love  <rml@novell.com>
16352
16353         * gnome/applet/applet-dbus.c: remove newlines from translatable
16354           strings--not needed here anyway. (fix b.g.o #309011)
16355         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
16356
16357 2005-08-11  Robert Love  <rml@novell.com>
16358
16359         * gnome/applet/applet.c: mark string as translatable.
16360
16361 2005-08-11  Robert Love  <rml@novell.com>
16362
16363         * initscript/SUSE/networkmanager: update.
16364
16365 2005-08-11  Dan Williams  <dcbw@redhat.com>
16366
16367         * src/nm-dhcp-manager.c
16368                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
16369                         an gateway returned from DHCP, try to use the address of the DHCP
16370                         server as the gateway instead.  Found by Ralf Ertzinger.
16371
16372 2005-08-10  Robert Love  <rml@novell.com>
16373
16374         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
16375           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
16376
16377 2005-08-10  Dan Williams  <dcbw@redhat.com>
16378
16379         Patch from Bill Moss <bmoss@clemson.edu>
16380         * Consolidate writes of access point information updates to the info daemon
16381                 so that we only do it when the connection to the access point was
16382                 successful.  Also consolidates updates to GConf in the Gnome applet.
16383
16384         * src/nm-netlink-monitor.c
16385                 - Silence compile warning when calling g_object_new()
16386
16387 2005-08-08  Dan Williams  <dcbw@redhat.com>
16388
16389         Patch from Steev <steev@steev.net>:
16390         * src/backends/NetworkManagerGentoo.c
16391                 - Stub new dialup backend functions
16392
16393 2005-08-08  Dan Williams  <dcbw@redhat.com>
16394
16395         Patch from Colin Slater:
16396         * src/backends/NetworkManagerGentoo.c
16397                 - (nm_system_update_dns): Fix exit status check for restarting
16398                         nscd
16399
16400 2005-08-05  Robert Love  <rml@novell.com>
16401
16402         * NetworkManager.h,
16403           gnome/applet/applet-dbus-devices.c,
16404           gnome/applet/applet-dbus-devices.h,
16405           gnome/applet/applet-dbus.c,
16406           gnome/applet/applet.c,
16407           gnome/applet/applet.h,
16408           src/NetworkManager.c,
16409           src/NetworkManagerMain.h,
16410           src/NetworkManagerSystem.h,
16411           src/backends/NetworkManagerRedHat.c,
16412           src/backends/NetworkManagerSuSE.c,
16413           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
16414
16415 2005-08-05  Robert Love  <rml@novell.com>
16416
16417         * gnome/applet/other-network-dialog.c: default the adhoc network to the
16418           machine's hostname to make adhoc creation idiot-proof.
16419
16420 2005-08-04  Robert Love  <rml@novell.com>
16421
16422         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
16423           freed.
16424
16425 2005-08-04  Dan Williams  <dcbw@redhat.com>
16426
16427         * gnome/applet/applet-dbus-info.c
16428           gnome/applet/applet-dbus-info.h
16429                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
16430                         to store key, key type, and auth method rather than just auth method
16431                 - (nmi_dbus_update_network_info): new function
16432                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
16433
16434         * gnome/applet/passphrase-dialog.c
16435                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
16436                         of saving the info ourselves
16437
16438         * gnome/libnm_glib/libnm_glib.c
16439                 - Remove the stupid version check for dbus
16440
16441         * src/NetworkManagerAP.c
16442           src/NetworkManagerAP.h
16443                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
16444
16445         * src/NetworkManagerDbus.c
16446           src/NetworkManagerDbus.h
16447                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
16448                         more than just the auth method
16449
16450         * src/NetworkManagerDevice.c
16451                 - Update network info at the appropriate times
16452
16453 2005-07-29  Ray Strode  <rstrode@redhat.com>
16454
16455         * src/NetworkManager.c (nm_info_handler): don't use input as format
16456         string (Spotted by Ian Jackson).
16457
16458 2005-07-27  Dan Williams  <dcbw@redhat.com>
16459
16460         * src/nm-dbus-nm.c
16461           src/nm-dbus-net.c
16462                 - Random cleanups of spacing
16463
16464         * gnome/applet/applet.h
16465           gnome/applet/other-network-dialog.c
16466           gnome/applet/passphrase-dialog.c
16467                 - Conslidate usage of NMWAEncryptionKeyTypes enum
16468
16469         Patch from Bill Moss:
16470                 - Make Other Wireless Networks work again with encryption keys
16471
16472 2005-07-26  Dan Williams  <dcbw@redhat.com>
16473
16474         Patch from Steev <steev@steev.net>:
16475         * src/backends/NetworkManagerGentoo.c
16476           src/backends/Makefile.am
16477                 - Fix up Gentoo backend
16478
16479 2005-07-26  Robert Love  <rml@novell.com>
16480
16481         * src/backends/NetworkManagerSuSE.c: misc. cleanup
16482
16483 2005-07-25  Robert Love  <rml@novell.com>
16484
16485         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
16486           in the same group as the wireless networks, since they are all
16487           mutually exclusive.
16488
16489 2005-07-24  Ray Strode  <rstrode@redhat.com>
16490
16491         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
16492         remove unneeded NULL arg from g_object_new().  Any
16493         warnings caused by not having the extra NULL are just a
16494         result of a bug in glib 2.7.0 - 2.7.2.
16495
16496 2005-07-22  Robert Love  <rml@novell.com>
16497
16498         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
16499
16500 2005-07-22  Robert Love  <rml@novell.com>
16501
16502         * src/nm-netlink-monitor.c: g_object_new() needs at least three
16503           parameters (gcc 4.0.2 warning fix).
16504
16505 2005-07-18  Robert Love  <rml@novell.com>
16506
16507         Suggested by Aaron Bockover (abockover@novell.com)
16508         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
16509           s/Ascii/ASCII
16510         * gnome/applet/passphrase-dialog.c: ditto
16511         * gnome/applet/wireless-applet.glade: ditto
16512
16513 2005-07-13  Dan Williams  <dcbw@redhat.com>
16514
16515         Patch from Ray Strode <halfline@gmail.com>
16516         * vpn-daemons/vpnc/nm-vpnc-service.c
16517                 - Don't let vpnc daemonize, fixes some races with PID file reading
16518
16519 2005-07-13  Dan Williams  <dcbw@redhat.com>
16520
16521         Patch from Ray Strode <halfline@gmail.com>
16522         * Random cleanups for strict CFLAGS
16523
16524 2005-07-07  Dan Williams  <dcbw@redhat.com>
16525
16526         Patch from Derek Atkins <warlord@MIT.EDU>
16527         * src/nm-dbus-net.c:
16528                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
16529
16530 2005-07-07  Dan Williams  <dcbw@redhat.com>
16531
16532         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
16533         * src/backends/NetworkManagerGentoo.c
16534                 - Gentoo backend Static IP nameserver fixes
16535                 - General Gentoo backend goodness
16536
16537 2005-07-07  Dan Williams  <dcbw@redhat.com>
16538
16539         Patch from Bastien Nocera:
16540         * gnome/applet/applet.c
16541                 - Fix up error reporting when icons or glade files are missing
16542
16543 2005-07-07  Robert Love  <rml@novell.com>
16544
16545         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
16546           are not any VPN connections above it.
16547
16548 2005-07-07  Robert Love  <rml@novell.com>
16549
16550         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
16551
16552 2005-07-05  Robert Love  <rml@novell.com>
16553
16554         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
16555           zero.
16556
16557 2005-07-05  Robert Love  <rml@novell.com>
16558
16559         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
16560           on wired or unencrypted wireless.
16561
16562 2005-07-01  Robert Love  <rml@novell.com>
16563
16564         * src/NetworkManagerSystem.c: Print the error via strerror().
16565
16566 2005-06-30  Robert Love  <rml@novell.com>
16567
16568         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
16569           then exit if the glade file is not found.  currently the application
16570           just hangs.
16571
16572 2005-06-30  Robert Love  <rml@novell.com>
16573
16574         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
16575           explicitly up all interfaces on wake from sleep.
16576
16577 2005-06-30  Robert Love  <rml@novell.com>
16578
16579         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16580           with information about the currently active connection.
16581         * gnome/applet/applet.h: (ditto)
16582         * gnome/applet/wireless-applet.glade: (ditto), new file
16583
16584 2005-06-30  Robert Love  <rml@novell.com>
16585
16586         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16587         * src/nm-dbus-nm.c: print when we sleep and wake up.
16588         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16589         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16590           in /sbin unless D-BUS is, folks).
16591         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16592
16593 2005-06-27  Robert Love  <rml@novell.com>
16594
16595         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16596           case.
16597
16598 2005-06-27  Robert Love  <rml@novell.com>
16599
16600         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16601           items radios.
16602
16603 2005-06-26  Robert Love  <rml@novell.com>
16604
16605         * src/NetworkManagerDevice.c: be specific about which device in
16606           nm_info() message.
16607
16608 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16609
16610         * src/nm-netlink-monitor.c: correct spelling error.
16611
16612 2005-06-23  Robert Love  <rml@novell.com>
16613
16614         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16615         * gnome/applet/passphrase-dialog.c: more of that keyring!
16616
16617 2005-06-23  Robert Love  <rml@novell.com>
16618
16619         * configure.in: remove extraneous GNOMEKEYRING directives.
16620         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16621         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16622         * gnome/applet/passphrase-dialog.c: whitespace.
16623
16624 2005-06-23  Robert Love  <rml@novell.com>
16625
16626         * src/NetworkManagerDevice.c: division in assignment was flipped.
16627
16628 2005-06-23  David Zeuthen  <david@fubar.dk>
16629
16630         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16631         signal to the child to indicate that we got what we wanted when we
16632         see two new-lines right after each other.
16633         (nmwa_vpn_request_password): Pass a structure with several members
16634         instead of just the passwords
16635
16636 2005-06-23  Dan Williams <dcbw@redhat.com>
16637
16638         * src/NetworkManager.c
16639           src/NetworkManagerMain.h
16640                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16641                 - (nm_hal_init): new function, init libhal context then add devices
16642                 - (nm_hal_deinit): new function, clean up libhal context
16643                 - (nm_data_free): Move Hal cleanup here
16644                 - (main): check whether Hal is running, and if so, get a list of
16645                         network devices from it
16646
16647         * src/NetworkManagerDbus.c
16648                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16649                         and when it appears, get a list of network devices from it.  If
16650                         Hal goes away, clean up the libhal context
16651
16652 2005-06-22  Robert Love  <rml@novell.com>
16653
16654         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16655           permissions of scripts before executing.
16656
16657 2005-06-21  Robert Love  <rml@novell.com>
16658
16659         * initscript/SUSE/networkmanager: update.
16660         * src/backends/NetworkManagerSuSE.c: cleanup.
16661
16662 2005-06-21  Robert Love <rml@novell.com>
16663
16664         * gnome/applet/applet.c: use menu mnemonics.
16665         * gnome/applet/menu-items.c: (ditto)
16666
16667 2005-06-21  Robert Love  <rml@novell.com>
16668
16669         * applet/applet-dbus-devices.c: mark non-static functions static.
16670         * applet/applet-dbus-vpn.c: (ditto)
16671         * applet/applet.c: (ditto)
16672         * applet/nm-device.h: (ditto)
16673         * applet/other-network-dialog.c: (ditto)
16674         * applet/passphrase-dialog.c: (ditto)
16675         * NetworkManager.c: (ditto)
16676         * NetworkManagerDbus.c: (ditto)
16677         * NetworkManagerDevice.c: (ditto)
16678         * NetworkManagerPolicy.c: (ditto)
16679         * NetworkManagerUtils.c: (ditto)
16680         * NetworkManagerWireless.c: (ditto)
16681         * NetworkManagerWireless.h: (ditto)
16682         * nm-netlink-monitor.c: (ditto)
16683         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16684         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16685         * autoip.c: include autoip.h.
16686         * autoip.h: new file.  define get_autoip().
16687         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16688         * NetworkManagerDbus.h: remove duplicate definitions.
16689
16690 2005-06-20  Robert Love  <rml@novell.com>
16691
16692         * Makefile.am: Add missing intltool-foo.in generated files to
16693           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16694           with the start of stuff to cleanup on 'distclea'.
16695         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16696           stuff right and 'distcheck' works.
16697         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16698           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16699           Makefile.am for each.  And systray/Makefile needs to be redone.
16700
16701 2005-06-19  Dan Williams <dcbw@redhat.com>
16702
16703         * src/NetworkManagerDevice.c
16704         - (nm_device_wireless_process_scan_results): scan every 20s when
16705           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16706
16707 2005-06-19  Dan Williams <dcbw@redhat.com>
16708
16709         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16710
16711 2005-06-18  Ray Strode <rstrode@redhat.com>
16712
16713         * src/nm-netlink-monitor.c 
16714         (nm_netlink_monitor_event_handler): check for the presence
16715         of either error condition not both. 
16716         
16717         (nm_netlink_monitor_error_handler): emit error signal if
16718         error occurs.
16719
16720         (nm_netlink_monitor_event_handler),
16721         (nm_netlink_monitor_error_handler),
16722         (nm_netlink_monitor_disconnect_handler): if an 
16723         assertion fails disconnect the event handler to prevent 
16724         infinite loops.
16725
16726         * src/nm-netlink-monitor.h: add new error condition
16727         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16728
16729 2005-06-18  Ray Strode <rstrode@redhat.com>
16730
16731         * src/nm-netlink-monitor.c 
16732         (nm_netlink_monitor_event_handler): remove bogus < 0
16733         check on unsigned value and return early if the kernel
16734         didn't send any bytes.
16735
16736 2005-06-17  Robert Love  <rml@novell.com>
16737
16738         * initscript/SUSE/networkmanager: Change the Provides and default
16739         run levels
16740
16741 2005-06-16  Dan Williams <dcbw@redhat.com>
16742
16743         Patch from Robert Love:
16744         * gnome/applet/applet.c
16745                 - Beautify some applet menu item names
16746
16747 2005-06-17  David Zeuthen  <davidz@redhat.com>
16748
16749         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16750         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16751         Also add new methods can_export, import_file and export.
16752
16753         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16754         to the main UI
16755
16756         * gnome/vpn-properties/nm-vpn-properties.c:
16757         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16758         nm-vpn-ui-interface.h.
16759         (update_edit_del_sensitivity): Also update "Export" sensitivity
16760         (add_vpn_connection): Also add new SVC_NAME column
16761         (import_settings): New function
16762         (retrieve_data_from_selected_connection): New function
16763         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16764         this function
16765         (export_cb): New function
16766         (init_app): Also setup the "export" widget
16767         (main): Support the --import-service and --import-file commandline
16768         arguments
16769
16770         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
16771         D-BUS 0.34
16772
16773 2005-06-16  Dan Williams <dcbw@redhat.com>
16774
16775         Patch from Robert Love:
16776         * gnome/applet/menu-items.c
16777                 - (network_menu_item_new): pass -1 as wireless network
16778                         menu items height size request rather than ascent / 2
16779
16780 2005-06-16  Dan Williams <dcbw@redhat.com>
16781
16782         * Clean up wording in Wireless Scan Methods menu items and constants
16783
16784 2005-06-16  Robert Love  <rml@novell.com>
16785
16786         * po/POTFILES.in
16787                 - remove gtkcell* files
16788
16789 2005-06-15  Dan Williams <dcbw@redhat.com>
16790
16791         Patch from Robert Love: make the applet stetic
16792
16793         * gnome/applet/Makefile.am
16794                 - Don't compile the gtkcellview and gtkcellrendererprogress files
16795
16796         * gnome/applet/gtkcellview.h
16797           gnome/applet/gtkcellview.c
16798           gnome/applet/gtkcellrendererprogress.h
16799           gnome/applet/gtkcellrendererprogress.c
16800                 - Removed
16801
16802         * gnome/applet/menu-items.c
16803                 - Progress bars are 5:1 size ratio
16804                 - Use GTK progress bars rather than internal ones
16805
16806 2005-06-15  Dan Williams <dcbw@redhat.com>
16807
16808         Patch from Robert Love:
16809         * initscript/SUSE/networkmanager
16810                 - Fix typo
16811
16812 2005-06-15  Dan Williams <dcbw@redhat.com>
16813
16814         * src/backends/NetworkManagerSuSE.c
16815           src/backends/NetworkManagerRedHat.c
16816           src/backends/NetworkManagerDebian.c
16817                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
16818
16819 2005-06-15  Dan Williams <dcbw@redhat.com>
16820
16821         * src/backends/NetworkManagerDebian.c
16822                 - Add nm_system_device_get_use_dhcp() to debian backend
16823
16824         Patch from Kay Sievers:
16825         * src/backends/NetworkManagerSuSE.c
16826                 - Update debian backend for static IP nameservers
16827
16828         * src/NetworkManagerDevice.c
16829                 - Actually set the device to use static IP or DHCP rather
16830                         than always DHCP
16831
16832 2005-06-15  Dan Williams <dcbw@redhat.com>
16833
16834         Patch from Thom May:
16835         * src/backends/NetworkManagerDebian.c
16836                 - Update debian backend for static IP nameservers
16837
16838 2005-06-15  Dan Williams <dcbw@redhat.com>
16839
16840         Patches from Robert Love:
16841         * gnome/applet/wireless-applet.glade
16842                 - Tighten up wording
16843
16844         * src/NetworkManagerDevice.c
16845                 - Remove misplaced ';'
16846
16847         * configure.in
16848           initscript/Makefile.am
16849           initscript/SUSE/Makefile.am
16850           initscript/SUSE/networkmanager
16851                 - Add SUSE initscript
16852
16853 2005-06-12  David Zeuthen  <davidz@redhat.com>
16854
16855         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
16856
16857         * gnome/vpn-properties/nm-vpn-properties.glade: New file
16858
16859         * gnome/vpn-properties/nm-vpn-properties.c: New file
16860
16861         * gnome/vpn-properties/Makefile.am: New file
16862
16863         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
16864         array of passwords
16865
16866         * src/vpn-manager/nm-vpn-manager.c
16867         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
16868         instead of just a single one
16869
16870         * src/vpn-manager/nm-dbus-vpn.c:
16871         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
16872         here
16873         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
16874
16875         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
16876         Change the interface here to give a list of passwords. Also, don't
16877         require username, but do require service
16878
16879         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
16880         the binary for the auth-dialog and use that instead of putting up a
16881         dialog asking for a single password
16882
16883         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
16884         however do remember the service
16885
16886         * gnome/applet/main.c (main): Setup i18n
16887
16888         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
16889         connection to '%s'" to the tooltip if we are connected using VPN
16890         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
16891         key to determine whether we the auth-dialog needs to
16892         reprompt. Also cope with the fact that the auth-dialog now returns
16893         an array of passwords.
16894         (nmwa_menu_configure_vpn_item_activate): New handler for
16895         "Configure VPN..." menu item
16896         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
16897         (is_vpn_available): New function to determine if we got any
16898         NM-compatible VPN software installed
16899         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
16900         items only if we have NM-compatible VPN software installed
16901         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
16902         logic for detecting when VPN connections are removed
16903
16904         * gnome/applet/applet-dbus.h: Removed the prototypes for 
16905         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
16906         since these are defined elsewhere
16907
16908         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
16909         function used to keep track of whether the last attempt succeded
16910         (nmwa_dbus_filter): Update last_attempt according to whether the
16911         VPN connection could be established or not
16912
16913         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
16914         Change prototype to take an array of passwords, not just a single
16915         password
16916
16917         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
16918         update service, not user
16919         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
16920         dbus_active_vpn_name is not NULL before using it
16921         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
16922         string array instead of assuming a single password
16923
16924         * gnome/applet/applet-dbus-info.c:
16925         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
16926         user name; don't read from gconf
16927
16928         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
16929         VPN_NAME_FILES_DIR
16930
16931         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
16932
16933         * configure.in: Add checks for gmodule-2.0.
16934         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
16935         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
16936         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
16937         for details
16938
16939         * vpn-daemons/Makefile.am: Removed
16940
16941         * vpn-daemons/README: New file to describe extensions points for VPN
16942         software
16943
16944 2005-06-10  Dan Williams <dcbw@redhat.com>
16945
16946         * src/backends/NetworkManagerRedHat.c
16947                 - (get_current_profile_name): new function, grab current network profile name from
16948                         /etc/sysconfig/network
16949                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
16950                         update an IP4 Config structure's settings from it
16951                 - (nm_system_device_get_system_config): if we're using static IP on this device,
16952                         get DNS info from current network profile
16953
16954 2005-06-09  Dan Williams <dcbw@redhat.com>
16955
16956         Patch from Robert Love:
16957         * src/NetworkManagerDevice.c
16958           src/NetworkManagerUtils.c
16959                 - 64-bit build fixes
16960
16961 2005-06-09  Dan Williams <dcbw@redhat.com>
16962
16963         Patch from Kay Sievers and Robert Love:
16964         * configure.in
16965           src/backends/Makefile.am
16966           src/backends/NetworkManagerSuSE.c
16967                 - Add SuSE support
16968
16969 2005-06-09  Dan Williams <dcbw@redhat.com>
16970
16971         * NetworkManager.h
16972                 - Add NMWirelessScanMethod enum for scan methods
16973
16974         * gnome/applet/applet-dbus-devices.c
16975                 - (nmwa_dbus_update_scanning_enabled_cb): remove
16976                 - (nmwa_dbus_update_scanning_enabled): remove
16977                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
16978                         since it got removed
16979                 - (nmwa_dbus_enable_scanning): remove
16980
16981         * gnome/applet/applet-dbus-info.c
16982                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
16983                         update the wireless scanning method from NMI
16984                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
16985                         method value to NetworkManager
16986                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
16987
16988         * gnome/applet/applet-dbus-info.h
16989                 - Add prototype for nmi_dbus_signal_update_scan_method
16990
16991         * gnome/applet/applet.c
16992                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
16993                         Wireless Scanning menu based on current wireless scan method
16994                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
16995                         signal for Wireless Scanning menu items, tell NetworkManager the new method
16996                         and update our menu items to make sure the right one is checked
16997                 - (nmwa_set_scanning_enabled_cb): remove
16998                 - (nmwa_context_menu_update): remove references to pause_scanning_item
16999                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
17000                         Scanning menu item
17001                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
17002                         from GConf
17003                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
17004                         so we get notified of preference values too
17005                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
17006
17007         * gnome/applet/applet.h
17008                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
17009                 - Add wireless scan method member to applet data
17010                 - Remove pause_scanning_item, add Wireless Scanning submenu
17011
17012         * src/NetworkManager.c
17013                 - (nm_data_new): default to NM_SCAN_METHOD_ON
17014                 - (main): grab scanning method from NMI if we can
17015
17016         * src/NetworkManagerDbus.c
17017                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
17018                         nm_dbus_update_wireless_scan_method()
17019                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
17020                         from NMI
17021                 - (nm_dbus_nmi_is_running): redundant function, removed
17022                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
17023                         when NMI comes back
17024
17025         * src/NetworkManagerDevice.c
17026                 - (nm_device_is_activated): return TRUE if the device is activated
17027                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
17028                         and we are activated
17029
17030         * src/nm-dbus-nm.c
17031                 - (nm_dbus_nm_set_scanning_enabled): removed
17032                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
17033                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
17034
17035 2005-06-09  Dan Williams <dcbw@redhat.com>
17036
17037         * NetworkManager.h
17038           src/vpn-manager/nm-vpn-service.c
17039                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
17040
17041 2005-05-27  Dan Williams <dcbw@redhat.com>
17042
17043         * vpn-daemons/vpnc/nm-vpnc-service.c
17044                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
17045                         Should fix the bug where the VPN connection terminates the first time.
17046
17047 2005-05-20  Dan Williams <dcbw@redhat.com>
17048
17049         * NetworkManager.h
17050                 - Differentiate VPN config signals between bad VPN config options
17051                         and bad IP config
17052
17053         * gnome/applet/applet-dbus-info.h
17054                 - Add prototypes for wireless network and vpn connection update functions
17055
17056         * gnome/applet/applet-dbus.c
17057                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
17058
17059         * gnome/applet/applet.c
17060                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
17061                         error signals
17062                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
17063                         propogation to NetworkManager
17064                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
17065                         notify propogation to NetworkManager
17066
17067         * src/NetworkManagerDbus.c
17068                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
17069                         are updating so a network can be removed from it if necessary
17070
17071         * src/vpn-manager/nm-vpn-manager.c
17072                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
17073
17074         * vpn-daemons/vpnc/nm-vpnc-service.c
17075                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
17076                 - (nm_vpnc_dbus_signal_launch_failed): remove
17077                 - (nm_vpnc_dbus_signal_connect_failed): remove
17078                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
17079                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
17080                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
17081                         for new generalized error signal function, remove config file stuff
17082                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
17083                         we can write configuration options to it
17084                 - (nm_vpnc_config_file_generate): removed
17085                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
17086                 - (nm_vpnc_config_options_validate): validate the config options we receive
17087                         from NetworkManager to block potential exploits
17088                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
17089                         starting vpnc
17090                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
17091                         to NetworkManager
17092
17093 2005-05-16  Dan Williams  <dcbw@redhat.com>
17094
17095         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
17096                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
17097                         is not "connect"
17098
17099 2005-05-16  Dan Williams  <dcbw@redhat.com>
17100
17101         Patch from Tomislav Vujec <tvujec@redhat.com>
17102         * gnome/applet/applet-dbus-info.c
17103                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
17104                         GConf and pass them to NetworkManager.  New key is 'routes' under
17105                         the VPN connection, and should be a string list
17106
17107         * src/NetworkManagerSystem.c
17108                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
17109                         set them on the device when we set the rest of the VPN config.  Ensure
17110                         they are in the correct format since they are passed directly to the
17111                         command line.
17112
17113         * src/backends/NetworkManagerRedHat.c
17114           src/backends/NetworkManagerDebian.c
17115                 - (nm_system_device_add_route_via_device_with_iface): new function
17116
17117         * src/vpn-manager/nm-dbus-vpn.c
17118                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
17119
17120         * src/vpn-manager/nm-vpn-manager.c
17121                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
17122                         them into the IP4 config functions
17123
17124 2005-05-15  Dan Williams  <dcbw@redhat.com>
17125
17126         From Filip Miletic:
17127         * po/sr.po
17128           po/sr@Latn.po
17129           configure.in
17130                 - Serbian translation added
17131
17132 2005-05-15  Dan Williams  <dcbw@redhat.com>
17133
17134         * dispatcher-daemon/NetworkManagerDispatcher.c
17135                 - (main): sync arguments with NetworkManager and the applet, now use
17136                         "--no-daemon" rather than "daemon=no"
17137                 - (nmd_print_usage): Fix script path in usage message
17138
17139 2005-05-15  Dan Williams  <dcbw@redhat.com>
17140
17141         * src/NetworkManagerDevice.[ch]
17142           src/NetworkManagerPolicy.c
17143           src/NetworkManager.c
17144           src/nm-dbus-nm.c
17145                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
17146                         longer send the DeviceNoLongerActive signal unconditionally, but only
17147                         when the device is actually active.
17148
17149         * dispatcher-daemon/NetworkManagerDispatcher.c
17150                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
17151                         and simplify the logic
17152                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
17153                         we free it later on
17154
17155         * initscript/RedHat/Makefile.am
17156           initscript/RedHat/NetworkManagerDispatcher
17157                 - Add initscript for NetworkManagerDispatcher
17158
17159
17160         Patch from Bill Moss:
17161         * dispatcher-daemon/NetworkManagerDispatcher.c
17162                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
17163
17164         * src/NetworkManagerDbus.c
17165                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
17166                         and DeviceNowActive gets signaled, then the device has a new IP address
17167                         anyway.  There's no need for a separate signal.
17168
17169         * src/NetworkManagerDevice.c
17170                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
17171
17172         * src/NetworkManagerPolicy.c
17173                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
17174                         activates successfully.  This kind of went missing when I reworked the
17175                         activation code.
17176
17177 2005-05-15  Dan Williams  <dcbw@redhat.com>
17178
17179         * configure.in
17180                 - Check for dhcdbd and error if its not found
17181
17182         * src/dhcp-manager/Makefile.am
17183           src/dhcp-manager/nm-dhcp-manager.c
17184                 - Use path to dhcdbd that configure found
17185
17186 2005-05-14  Dan Williams  <dcbw@redhat.com>
17187
17188         * gnome/applet/nm-device.c
17189                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
17190                         sort wireless networks alphabetically
17191
17192         * gnome/applet/applet-dbus-devices.c
17193                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
17194                         before copying them over to the GUI
17195
17196 2005-05-14  Dan Williams  <dcbw@redhat.com>
17197
17198         * src/NetworkManager.c
17199                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
17200                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
17201                         the device list, as does nm_get_active_device() which is called from
17202                         nm_vpn_manager_deactivate_vpn_connection().
17203
17204 2005-05-14  Dan Williams  <dcbw@redhat.com>
17205
17206         * NetworkManager.h
17207                 - Add signals for VPN Launch and Connect failures
17208
17209         * gnome/applet/applet-dbus.c
17210                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
17211
17212         * gnome/applet/applet.c
17213                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
17214                         function to handle all VPN failure messages
17215                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
17216                         function to hanlde all VPN failure  messages
17217                 - (show_warning_dialog): work around focus-stealing prevention
17218
17219         * gnome/applet/other-network-dialog.c
17220           gnome/applet/passphrase-dialog.c
17221                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
17222                         problem where it never enabled for ASCII Key and Hex Key types
17223
17224         * gnome/applet/wireless-applet.glade
17225                 - Add window title to Other Wireless Network Dialog
17226
17227         * src/vpn-manager/nm-dbus-vpn.c
17228                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
17229                         function to handle all VPN failure messages
17230
17231         * src/vpn-manager/nm-vpn-manager.c
17232                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
17233
17234         * vpn-daemons/vpnc/nm-vpnc-service.c
17235                 - (nm_vpnc_dbus_signal_launch_failed): new function
17236                 - (nm_vpnc_dbus_signal_connect_failed): new function
17237                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
17238                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
17239                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
17240                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
17241
17242 2005-05-11  Dan Williams  <dcbw@redhat.com>
17243
17244         * vpn-daemons/vpnc/nm-vpnc-service.c
17245                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
17246                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
17247                         file exists before trying to write it out.
17248
17249 2005-05-10  Dan Williams  <dcbw@redhat.com>
17250
17251     * gnome/applet/applet-dbus-device.c
17252         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
17253             prevented just entering ESSID and leaving key and key type up to
17254             NetworkManager (which should have them already cached)
17255
17256 2005-05-08  Dan Williams  <dcbw@redhat.com>
17257
17258         * src/NetworkManagerPolicy.c
17259                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
17260                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
17261                         fix a situation where NM is told to terminate and the device stops activation,
17262                         but the main thread isn't aware of that because it would never have run
17263                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
17264                         had already quit.
17265
17266         * src/NetworkManagerDevice.c
17267                 - (nm_device_probe_wired_link_state): cosmetic fixes
17268                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
17269                         we've failed to activate or been canceled.
17270                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
17271
17272 2005-05-08  Dan Williams  <dcbw@redhat.com>
17273
17274         * src/NetworkManagerWireless.c
17275                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
17276                         value of WEXT quality structures, and add a debug message when we cannot
17277                         determine any quality % at all
17278
17279 2005-05-08  Dan Williams  <dcbw@redhat.com>
17280
17281         * src/dhcp-manager/nm-dhcp-manager.c
17282                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
17283                         it goes down.
17284
17285 2005-05-06  Dan Williams  <dcbw@redhat.com>
17286
17287         * gnome/applet/applet-dbus-device.c
17288           gnome/applet/applet-dbus-info.c
17289           gnome/applet/applet-dbus.c
17290           gnome/applet/applet.c
17291           gnome/applet/applet.h
17292                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
17293
17294         * gnome/applet/applet-dbus.c
17295                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
17296                         so we notice when wired device's carriers come back on.  Should
17297                         fix issue with wired devices being grayed out even if the cable
17298                         is in, for devices that support carrier detection.
17299
17300         * gnome/applet/applet.c
17301                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
17302                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
17303                         tooltip message
17304                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
17305                         Fix situation where applet wouldn't respond to menu selections
17306
17307         * src/NetworkManager.c
17308           src/NetworkManagerDevice.c
17309           src/NetworkManagerDbus.c
17310           src/NetworkManagerDbus.h
17311                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
17312
17313         * src/NetworkManagerDbus.c
17314                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
17315                         Remove, no longer used or relevant
17316                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
17317                 - (nm_dbus_schedule_device_status_change_signal): add
17318
17319         * src/NetworkManagerDevice.c
17320                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
17321                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
17322                         ie don't deactivate them unless explicitly told to by the user.  Also send
17323                         CARRIER_OFF / CARRIER_ON signals when link changes
17324                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
17325                         Don't print error message when device is no longer around
17326                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
17327                         not just during activation
17328
17329         * src/NetworkManagerPolicy.c
17330                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
17331                         auto-device-selection.
17332                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
17333
17334         * src/NetworkManagerSystem.c
17335                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
17336                         is no longer present (Bill Moss)
17337
17338         * src/backends/shvar.c
17339                 - (svOpenFile): Open read-only to make SELinux happy
17340
17341         * src/backends/NetworkManagerRedHat.c
17342                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
17343                         the path to the ifcfg-* files
17344
17345 2005-05-05  Dan Williams  <dcbw@redhat.com>
17346
17347         * Expose activation stages to NetworkManager clients, like the applet
17348         * Add Diana's progress icons to the applet, cued off NM activation stage
17349         * Use more descriptive tooltips, cued off NM activation stage
17350
17351 2005-05-05  Ray Strode  <rstrode@redhat.com>
17352
17353         * src/nm-netlink-monitor.c:
17354                 - Use clear_event_source instead of g_nullify_pointer() again.
17355
17356 2005-05-05  Dan Williams  <dcbw@redhat.com>
17357
17358         * gnome/applet/main.c
17359                 - Fix session management so the applet is actually managed now
17360
17361         * gnome/applet/passphrase-dialog.c
17362                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
17363
17364 2005-05-05  Dan Williams  <dcbw@redhat.com>
17365
17366         Patch from Bill Moss:
17367         * gnome/libnm_glib/libnm_glib.c
17368                 - Fix for dbus-0.33
17369
17370 2005-05-05  Dan Williams  <dcbw@redhat.com>
17371
17372         Suggestion from Bill Moss:
17373         * src/NetworkManagerSystem.c
17374                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
17375
17376
17377         * src/NetworkManager.c
17378                 - (nm_data_free): move destruction of the various managers after
17379                         release of device list, because deactivating and freeing a device
17380                         requires at least the named manager
17381                 - (nm_poll_and_update_wireless_link_state):
17382                   (nm_device_link_activated):
17383                   (nm_device_link_deactivated):
17384                         don't grab the device list lock when actually updating device
17385                         link status or strength, since nm_device_set_link_active()
17386                         needs to call nm_get_active_device(), which also locks the device list.
17387
17388         * src/NetworkManagerDevice.c
17389                 - (nm_device_set_link_active): if a device's link switches from off->on,
17390                         and it's wired, and the active device is wireless (or there is no
17391                         active device), activate the new device whose link just came on
17392                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
17393                         my only calling the link to the current ap "failed" when more than 2
17394                         consecutive link checks have failed
17395
17396 2005-05-04  Dan Williams  <dcbw@redhat.com>
17397
17398         * src/NetworkManagerDevice.c
17399                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
17400                         but let link_to_specific_ap() do the locking where it needs
17401
17402         Patch from Bill Moss:
17403         * src/NetworkManagerSystem.c
17404                 - Set MTU of VPN devices to 1412
17405
17406 2005-05-04  Dan Williams  <dcbw@redhat.com>
17407
17408         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
17409
17410         * Fix some holes in device activation and retaining the currently connected
17411                 access point
17412
17413 2005-05-03  Dan Williams  <dcbw@redhat.com>
17414
17415         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
17416           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
17417           means you need dhcdbd, which you can get here (get the latest one):
17418
17419                 http://people.redhat.com/jvdias/dhcdbd/
17420
17421           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
17422           interface as dhcdbd.
17423
17424         * Rewrite device activation to facilitate the new DHCP infrastructure and
17425           future improvements.  Its now "activation request" based, ie there is a single
17426           activation request composed of the device, access point, and other info which
17427           follows the entire activation process.  There are 5 stages of the activation
17428           process which correspond to:
17429
17430                 1) Device preparation
17431                 2) Device configuration (bring it up, set ESSID/Key/etc)
17432                 3) IP Config Start (fire off DHCP if we're using it)
17433                 4) IP Config Get (grab config from DHCP or static config files)
17434                 5) IP Config Commit (set device's IP address, DNS, etc)
17435
17436           Note that there is no longer a "scanning" step, since the access point must
17437           be known _before_ activation starts.  If the access point drops out or does
17438           not exist for some reason, the entire activation process fails and must be
17439           restarted for a different access point or device.
17440
17441         Patch from Bill Moss:
17442         * gnome/applet/applet.c
17443                 - Fix type of vpn_failure dialog -> vpn_banner dialog
17444
17445 2005-04-27  Dan Williams  <dcbw@redhat.com>
17446
17447         * gnome/applet/applet-dbus-vpn.c
17448           gnome/applet/applet.c
17449           gnome/applet/applet.h
17450                 - Fix up active VPN handling so that we reliably know when a VPN
17451                         connection has been deactivated
17452
17453         * src/vpn-manager/nm-vpn-manager.c
17454                 - Remove duplicate VPNConnectionChange signal
17455
17456 2005-04-27  Dan Williams  <dcbw@redhat.com>
17457
17458         Patch from Peter Jones:
17459         * Remove usage of varargs to fix crashes on PPC (RH #154336)
17460
17461         Patch from Bill Moss:
17462         * src/NetworkManagerSystem.c
17463                 - Fix checking of return value from ioctl()
17464
17465 2005-04-27  Dan Williams  <dcbw@redhat.com>
17466
17467         * Fix choosing of wireless networks and "Other wireless network..." from the applet
17468         * Warn and exit if icons cannot be found
17469
17470 2005-04-27  Dan Williams  <dcbw@redhat.com>
17471
17472         Patch from Tom Parker:
17473         * Update debian backend
17474
17475 2005-04-27  Dan Williams  <dcbw@redhat.com>
17476
17477         * Merge the applet and the info-daemon, and move the converged
17478                 applet under gnome/applet
17479         * Move libnm_glib to gnome/libnm_glib
17480         * Convert most dbus calls between the applet, info-daemon, and NM
17481                 into async calls
17482         * Fix a few things valgrind noticed
17483         * Make NM broadcast state more reliably
17484
17485 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
17486
17487         * configure.in: Added ne in ALL_LINGUAS
17488
17489 2005-04-15  Dan Williams  <dcbw@redhat.com>
17490
17491         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
17492                 code for dbus 0.2x versions
17493
17494 2005-04-15  Dan Williams  <dcbw@redhat.com>
17495
17496         Patches from Tom Parker:
17497         - Fix memleaks
17498         - Join with worker thread rather than polling for its exit
17499
17500         Patch from Bill Moss:
17501         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
17502
17503 2005-04-15  Dan Williams  <dcbw@redhat.com>
17504
17505         - Fixes to pass 'make distcheck'
17506
17507 2005-04-15  Dan Williams  <dcbw@redhat.com>
17508
17509         Initial VPN Support
17510                 - supports 'vpnc'
17511                 - reworks device IP configuration, backend files have changed and will need
17512                         to be updated for all distributions.  I will try to do what I can for
17513                         them, but I cannot test them.
17514
17515         - Move named directory to src/named-manager
17516         - Make backends directory self-contained
17517
17518 2005-04-06  Dan Williams  <dcbw@redhat.com>
17519
17520         Add debug code for socket/file descriptor leaks.  We register every socket
17521         that we open (except for stuff in dhcpcd/) for tracking, and print out the
17522         list of sockets that we forgot to close on shutdown.  This also consolidates
17523         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
17524
17525 2005-04-06  Dan Williams  <dcbw@redhat.com>
17526
17527         * dhcpcd/dhcpcd.c
17528                 - (dhcp_interface_free): fix a file descriptor leak that may have
17529                         caused network drivers to not unload due to refcounts > 0
17530
17531 2005-04-04  Dan Williams  <dcbw@redhat.com>
17532
17533         * panel-applet/NMWirelessAppletDbus.c
17534                 - (nmwa_dbus_call_nm_method): remove some commented code
17535
17536         * src/NetworkManagerAPList.[ch]
17537                 - (nm_ap_list_remove_ap_by_essid): new function
17538
17539         * src/NetworkManagerDevice.c
17540                 - (nm_device_wireless_force_use): remove access points from the ignore list
17541                         when the user forces them
17542
17543         * src/nm-dbus-device.c
17544                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
17545
17546 2005-04-04  Dan Williams  <dcbw@redhat.com>
17547
17548         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
17549
17550 2005-04-04  Dan Williams  <dcbw@redhat.com>
17551
17552         * src/NetworkManagerDevice.c:
17553                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
17554                         of only erroring after the second consecutive scan times out.  Also
17555                         don't exit when the card requires more time than we can give it, just
17556                         log the event and continue.
17557
17558 2005-04-01  Steve Murphy  <murf@e-tools.com>
17559
17560         * configure.in: Added "rw" to ALL_LINGUAS.
17561
17562 2005-04-01  Dan Williams <dcbw@redhat.com>
17563
17564         Perform scans during device activation, if needed.  Both activation 
17565         and scans run in the same GMainContext.  Therefore, if an access point
17566         is not found by the time the device starts activation, it will not
17567         be available until after activation.  We now try to scan during
17568         activation (in nm_wa_test) every 15s so that all available access
17569         points are more likely to be found and available for the activation
17570         procedure.
17571
17572         Also change nm_wireless_link_state_handle() to only update the "best"
17573         AP if we are not forcing a device and if we are not about to change
17574         state.  This attempts to work around a race when forcing a device,
17575         where the forced AP would get cleared out too soon by the link state
17576         checking timeout in the main thread, and the activation attempt with
17577         that AP would fail.
17578
17579 2005-04-01  Dan Williams <dcbw@redhat.com>
17580
17581         * po/POTFILES.in
17582                 - Update with new translatables
17583
17584 2005-03-31  Dan Williams <dcbw@redhat.com>
17585
17586         * panel-applet/NMWirelessAppletDbus.c
17587                 - Fix device names now that hal has changed device parenting for
17588                         network devices.
17589
17590 2005-03-31  Dan Williams <dcbw@redhat.com>
17591
17592         Tighten up handling of wireless devices that don't support wireless
17593         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17594         hadn't been doing pseudo-scanning for a while either and would just
17595         spin waiting for an access point.  They are now manual devices where
17596         the user must choose the access point from the menu every time.  All
17597         "allowed" access points are listed in the applet's menu regardless
17598         of whether or not they can be seen by the card, since it can't scan
17599         anyway.
17600
17601         * src/NetworkManager.c
17602                 - (nm_wireless_link_state_handle): new function, but only update
17603                         the "best" ap for non-scanning devices when its not activating,
17604                         and when no device is being forced on the card
17605                 - (nm_link_state_monitor): split wireless link state handling out
17606                         into separate function
17607
17608         * src/NetworkManagerDevice.c
17609                 - (nm_device_copy_allowed_to_dev_list): new function
17610                 - (nm_device_new): populate non-scanning cards' AP lists with
17611                         access points from the "allowed" list
17612                 - (nm_device_new): don't start a scanning timeout for devices that
17613                         can't scan
17614                 - (nm_device_activation_schedule_finish): new parameter, should be
17615                         the AP that failed to be connected to, pass it on to the
17616                         activation finish function in NetworkManagerPolicy.c
17617                 - (nm_device_activate_wireless): don't ever try to get a new AP
17618                         for non-scanning devices, just fail.  The user must choose
17619                         a new access point manually.
17620                 - (nm_device_activate): grab the AP that failed connection and
17621                         pass it on
17622                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17623                         a link to it, user must manually choose a new one
17624                 - (nm_device_do_pseudo_scan): remove function
17625                 - (nm_device_wireless_process_scan_results): remove bits for non-
17626                         scanning cards since they never get here
17627                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17628                         and fake the scan list for test devices a bit earlier
17629
17630         * src/NetworkManagerPolicy.c
17631                 - (nm_policy_activation_finish): use the failed_ap that we get
17632                         passed rather than getting the best_ap from the card, which
17633                         may have changed since we were scheduled
17634                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17635                         update their scan list directly from the allowed list when
17636                         we get updates to the allowed list from NetworkManagerInfo
17637
17638         * src/NetworkManagerPolicy.h
17639                 - New member for failed access point in NMActivationResult
17640
17641   -------------------------------------
17642
17643         Driver Notification patch: notifies the user when their driver
17644                 sucks.  Gives them the option to ignore further insertions
17645                 of the card that has the sucky driver.
17646
17647         * NetworkManager.h
17648                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17649                         enum and replace it with NO_CARRIER_DETECT and
17650                         NO_WIRELESS_SCAN
17651
17652         * panel-applet/NMWirelessApplet.[ch]
17653                 - Merge essid.glade -> wireless-applet.glade
17654                 - Implement the "Your driver sucks" notification dialog
17655
17656         * panel-applet/NMWirelessAppletDbus.c
17657                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17658                 - Grab hardware address for each device from NM too
17659                 - Check whether the driver for each device sucks or not whenever
17660                         a new device is noticed
17661
17662         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17663                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17664
17665         * src/NetworkManager.c
17666                 - Fix a double-unref on device removal
17667
17668         * src/NetworkManagerUtils.c
17669                 - Set appropriate driver support level on a device that doesn't
17670                         support scanning or carrier detection
17671
17672         * src/nm-dbus-device.c
17673                 - New "getHWAddress" dbus method on devices
17674                 - getSupportsCarrierDetect -> getDriverSupportLevel
17675
17676 2005-03-31  Dan Williams <dcbw@redhat.com>
17677
17678         * src/NetworkManagerDevice.c
17679                 - (nm_device_wireless_scan): Fix leak of scan results in some
17680                         instances
17681
17682 2005-03-29  Dan Williams <dcbw@redhat.com>
17683
17684         * src/NetworkManager.c
17685                 - (nm_poll_and_update_wireless_link_state): make code less indented
17686
17687         Patch from Bill Moss:
17688         * src/NetworkManager.c
17689                 - (nm_device_update_link_state): Update signal strength on wireless
17690                         devices every time we update link state too.
17691
17692 2005-03-29  Dan Williams <dcbw@redhat.com>
17693
17694         * src/NetworkManagerDevice.c
17695                 - (nm_device_set_essid): Work around Orinoco cards which need
17696                         extra time after setting the ESSID
17697
17698 2005-03-29  Dan Williams <dcbw@redhat.com>
17699
17700         * src/NetworkManagerDevice.c
17701                 - Merge one more bit of Peter Jones' completion patch
17702
17703 2005-03-29  Dan Williams <dcbw@redhat.com>
17704
17705         * src/NetworkManagerDevice.c
17706                 - (nm_device_force_use): Fix possible segfault
17707
17708 2005-03-29  Dan Williams <dcbw@redhat.com>
17709
17710         * src/NetworkManagerDevice.c
17711                 - Use iw_get_ext() where we should rather than iw_set_ext()
17712
17713 2005-03-29  Dan Williams <dcbw@redhat.com>
17714
17715         * src/NetworkManagerDevice.c
17716                 - (nm_device_set_up_down): remove check for unsupported devices
17717                         that caused NM to not bring devices up when they were
17718                         added to the device list.
17719
17720 2005-03-28  Dan Williams <dcbw@redhat.com>
17721
17722         * src/NetworkManagerDevice.c
17723                 - (mdio_read): Fix two bugs that caused all devices to fail
17724                         the MII carrier detection support checks
17725
17726 2005-03-26  Dan Williams <dcbw@redhat.com>
17727
17728         * src/NetworkManagerDevice.c
17729                 - (nm_device_wireless_scan): Remove duplicated scanning code
17730
17731 2005-03-25  Dan Williams <dcbw@redhat.com>
17732
17733         * panel-applet/NMWirelessApplet.c
17734                 - (nmwa_about_cb): Add some more contributors
17735                 - (nmwa_update_state): show the applet when there's no connection
17736                 - Enable the "Stop/Resume all wireless devices" option in the
17737                         context menu
17738                 - New "no connection" icon
17739
17740         * src/NetworkManager.c
17741                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17742                         wireless is disabled or we're asleep
17743
17744         * src/NetworkManagerDHCP.c
17745                 - Remove trailing "\n" on debug messages
17746
17747         * src/NetworkManagerDbus.c
17748                 - (nm_dbus_network_status_from_data): new state "asleep"
17749
17750         * src/NetworkManagerDevice.c
17751                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17752                         latency and wait times for most operations
17753                 - (nm_device_wireless_scan): Don't scan when asleep
17754
17755         * src/NetworkManagerPolicy.c
17756                 - (nm_policy_get_best_device): return no device when asleep
17757                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17758                         for all wireless devices on update, not just active device
17759
17760         * src/NetworkManagerUtils.c
17761                 - Merge Peter Jones' "completion" patch
17762
17763         * src/nm-dbus-nm.c
17764                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17765                         we're told to disable them
17766                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17767
17768         * utils/nm-utils.h
17769                 - New variants of the warn/info/error/debug print functions that can take
17770                         variables rather than static strings
17771
17772 2005-03-24  Dan Williams <dcbw@redhat.com>
17773
17774         * src/NetworkManagerUtils.c
17775                 - (nm_get_device_driver_name): driver names are now on the parents of
17776                         "Network Interface" objects, so look for them there
17777
17778 2005-03-24  Dan Williams <dcbw@redhat.com>
17779
17780         * test/nmtest.c
17781                 - Escape some forgotten object paths before we shove them through dbus
17782
17783 2005-03-24  Dan Williams <dcbw@redhat.com>
17784
17785         * dhcpcd/dhcpcd.[ch]
17786           src/NetworkManagerDHCP.c
17787                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
17788                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
17789
17790         * src/NetworkManagerDbus.c
17791                 - spacing cleanups
17792
17793         * src/nm-dbus-dhcp.c
17794                 - Make the API suck less.  There is now only 1 type of each function,
17795                         ie only "getInteger" and no longer also "getIntegerv".  All types
17796                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
17797                         that will never have more than 1 element.  This should simplify
17798                         things greatly.
17799
17800         * test/nm-dhcp-opt-test.c
17801                 - Make the tool not segfault
17802                 - adapt to new DHCP Options API
17803
17804 2005-03-22  Dan Williams <dcbw@redhat.com>
17805
17806         * src/NetworkManager.c
17807                 - (nm_wired_link_deactivated): actually ignore netlink events from
17808                         wireless devices.
17809
17810 2005-03-22  Dan Williams <dcbw@redhat.com>
17811
17812         * src/NetworkManager.c
17813                 - (nm_wired_link_activated): actually ignore netlink events from
17814                         wireless devices.
17815
17816 2005-03-17  Dan Williams <dcbw@redhat.com>
17817
17818         Patch from Tom Parker:
17819         * src/nm-netlink-monitor.c
17820                 - Include unistd.h
17821         * info-daemon/NetworkManagerInfoDbus.c
17822                 - (nmi_dbus_update_network_auth_method): free GConf values
17823
17824         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
17825         * src/NetworkManagerDevice.c
17826                 - (nm_device_set_wireless_config): wait for successful
17827                         association longer for some cards (Atheros a/b/g)
17828
17829 2005-03-15  Ray Strode  <rstrode@redhat.com>
17830
17831         * src/NetworkManager.c:
17832         (sigterm_pipe_handler):
17833         remove bogus FIXME
17834
17835 2005-03-15  Ray Strode  <rstrode@redhat.com>
17836
17837         * src/NetworkManagerDbus.c:
17838         Fix some sign weirdness that gcc4 doesn't like,
17839         and add a header file so PPC can hopefully find
17840         SIGTRAP
17841
17842 2005-03-14  Ray Strode  <rstrode@redhat.com>
17843         
17844         Fourth (probably working) cut at porting to
17845         dbus 0.30 api and new hal. This cut adds
17846         some new logging macros to make debugging
17847         easier.
17848
17849         * dispatcher-daemon/NetworkManagerDispatcher.c:
17850         * info-daemon/NetworkmanagerInfo.c:
17851         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
17852         * info-daemon/NetworkManagerInfoVPN.c:
17853         * src/NetworkManager.c:
17854         * src/NetworkManagerAP.c:
17855         * src/NetworkManagerAPList.c:
17856         * src/NetworkManagerDHCP.c:
17857         * src/NetworkManagerDbus.c:
17858         * src/NetworkManagerDevice.c:
17859         * src/NetworkManagerPolicy.c:
17860         * src/NetworkManagerSystem.c:
17861         * src/NetworkManagerUtils.c:
17862         * src/NetworkManagerWireless.c:
17863         * src/autoip.c:
17864         * src/nm-dbus-nm.c:
17865         * src/backends/NetworkManagerDebian.c:
17866         * src/backends/NetworkManagerGentoo.c:
17867         * src/backends/NetworkManagerRedHat.c:
17868         * src/backends/NetworkManagerSlackware.c:
17869         use new logging macros.
17870
17871         * dispatcher-daemon/NetworkManagerDispatcher.c:
17872         (nmd_dbus_filter): s/dbus_free/g_free/
17873
17874         * info-daemon/Makefile.am: link in utils library.
17875         * info-daemon/NetworkmanagerInfo.c: use new logging 
17876         macros.
17877         (nmi_dbus_get_network): don't assume enumerations
17878         are 32-bit.
17879         (nmi_dbus_nmi_message_handler): don't free what 
17880         doesn't belong to us.
17881
17882         * libnm_glib/libnm_glib.c:
17883         (libnm_glib_get_nm_status): 
17884         (libnm_glib_init): don't free what doesn't
17885         belong to us.
17886         (libnm_glib_dbus): strdup result, so it doesn't get
17887         lost when message is unref'd.
17888
17889         * panel-applet/NMWirelessAppletDbus.c:
17890         (nmwa_dbus_update_devices): s/dbus_free/g_free/
17891
17892         * src/NetworkManager.c:
17893         (nm_monitor_wired_link_state): request initial status 
17894         dump of all cards when we start up, instead of relying
17895         on /sys/.../carrier.
17896         (nm_info_handler), (nm_set_up_log_handlers): 
17897         log handlers to specify what syslog priorites 
17898         the logging macros default to.
17899
17900         * src/NetworkManagerAPList.c: 
17901         (nm_ap_list_populate_from_nmi):
17902         s/dbus_free_string_array/g_strfreev/
17903
17904         * src/NetworkManagerDbus.c:
17905         (nm_dbus_get_network_object):
17906         validate d-bus message argument types.
17907         Advance message iterator after reading argument,
17908         prepend instead of append to GSList.
17909
17910         * src/NetworkManagerDevice.c:
17911         (nm_device_probe_wired_link_status):
17912         remove redundant /sys in /sys path. remove wrong
17913         contents == NULL means has carrier assumption.
17914
17915         * src/nm-netlink-monitor.c 
17916         (nm_netlink_monitor_request_status): implement
17917         function to ask kernel to dump interface link
17918         status over netlink socket.
17919
17920         * test/*.c: s/dbus_free/g_free/
17921
17922         * utils/nm-utils.h:
17923         (nm_print_backtrace): new macro to print backtrace.
17924         (nm_get_timestamp): new macro to get sub-second precise
17925         unix timestamp.
17926         (nm_info), (nm_debug), (nm_warning), (nm_error):
17927         new logging functions. nm_info just prints,
17928         nm_debug includes timestamp and function,
17929         nm_warning includes function, nm_error includes
17930         backtrace and sigtrap.
17931
17932 2005-03-11  Ray Strode  <rstrode@redhat.com>
17933
17934         Third (unfinished, partially working) cut at porting to 
17935         dbus 0.30 api and new hal.
17936
17937         * info-daemon/NetworkManagerInfoDbus.c:
17938                 don't free null arrays.
17939
17940         * panel-applet/NMWirelessAppletDbus.c: 
17941         * src/nm-dbus-device.c:
17942         * src/nm-dbus-net.c: 
17943         * src/NetworkManagerDbus.c: more 
17944         STRING -> OBJECT_PATH fun
17945         * src/NetworkManagerDevice.c:
17946         * src/NetworkManagerDevice.h:
17947         (rename nm_device_get_link_active): rename to 
17948         nm_device_has_active_link
17949         (nm_device_wireless_link_active): rename to
17950         nm_device_probe_wireless_link_state
17951         (nm_device_wired_link_active): rename to
17952         nm_device_probe_wired_link_state.  Rewrite to
17953         use carrier file since hal doesn't maintain
17954         link state anymore.
17955         (nm_device_update_link_active): rename to
17956         nm_device_update_link_state
17957         * src/NetworkManagerPolicy.c 
17958           (nm_policy_activation_finish): check for NULL
17959           MAC address.
17960
17961         * src/Makefile.am:
17962         * src/NetworkManagerMain.h: 
17963         * src/NetworkManager.c:
17964         * src/nm-netlink-monitor.c:
17965         * src/nm-netlink-monitor.h: New class to support
17966         monitoring wired ethernet link status, since HAL
17967         doesn't export that information anymore.
17968
17969 2005-03-09  Ray Strode  <rstrode@redhat.com>
17970
17971         Second (unfinished, unworking) cut at porting to 
17972         dbus 0.30 api.
17973
17974         * dispatcher-daemon/NetworkManagerDispatcher.c:
17975         * info-daemon/NetworkManagerInfoDbus.c:
17976         * panel-applet/NMWirelessAppletDbus.c:
17977         * src/NetworkManagerDbusUtils.c:
17978         * src/NetworkManagerDbusUtils.h:
17979         * src/nm-dbus-device.c:
17980         * src/nm-dbus-nm.c:
17981         * test/nmtest.c: support dbus "object path" type
17982
17983         * configure.in: 
17984         * Makefile.am:
17985         * info-daemon/Makefile.am:
17986         * libnm_glib/Makefile.am:
17987         * panel-applet/Makefile.am:
17988         * dispatcher-daemon/Makefile.am
17989         * src/Makefile.am:
17990         * test/Makefile.am:
17991         * utils/Makefile.am: 
17992         * utils/nm-utils.c: 
17993         * utils/nm-utils.h: new utils static lib
17994
17995 2005-03-07  Ray Strode  <rstrode@redhat.com>
17996
17997         * info-daemon/NetworkManagerInfoDbus.c:
17998         * libnm_glib/libnm_glib.c:
17999         * panel-applet/NMWirelessAppletDbus.c:
18000         * src/NetworkManager.c:
18001         * src/NetworkManagerDbus.c:
18002         * src/NetworkManagerDevice.c:
18003         * src/NetworkManagerUtils.c:
18004         * src/nm-dbus-device.c:
18005         * src/nm-dbus-dhcp.c:
18006         * src/nm-dbus-net.c:
18007         * src/nm-dbus-nm.c:
18008         * test/nminfotest.c:
18009         First (unfinished, unworking) cut at porting to dbus 0.30 api.
18010
18011 2005-03-04  Dan Williams  <dcbw@redhat.com>
18012
18013         * configure.in
18014                 - Mark HEAD as 0.4
18015
18016 2005-03-04  Dan Williams  <dcbw@redhat.com>
18017
18018         Patch from Peter Jones:
18019         - Make stuff work with gcc 4.0
18020
18021 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
18022
18023         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
18024
18025 2005-02-27  Jim Huang  <jserv@kaffe.org>
18026
18027         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
18028
18029 2005-02-27  Dan Williams  <dcbw@redhat.com>
18030
18031         Patch from Bill Moss:
18032         * panel-applet/NMWirelessAppletDbus.c
18033                 - Make sure strength for current access point is up-to-date when we
18034                         update the gui data model
18035
18036 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
18037
18038         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
18039
18040 2005-02-27  Dan Williams  <dcbw@redhat.com>
18041
18042         * src/backends/NetworkManagerRedHat.c
18043                 - (nm_system_init): Kill any dhclient processes lying around as well
18044                         as stopping 'nifd' if its already been started.  NetworkManager
18045                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
18046
18047 2005-02-27  Dan Williams  <dcbw@redhat.com>
18048
18049         * panel-applet/NMWirelessApplet.c
18050                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
18051                         dbus data model, not the GUI data model twice.
18052
18053 2005-02-27  Dan Williams  <dcbw@redhat.com>
18054
18055         * panel-applet/NMWirelessApplet.[ch]
18056           panel-applet/NMWirelessAppletDbus.[ch]
18057                 - Move to incremental network updates.  Instead of blowing away our list
18058                         of devices every time we get a signal from NetworkManager, we now
18059                         incrementally add/remove networks when NetworkManager notifies us that
18060                         a new network has appeared or disappered.  Strength updates now happen
18061                         on-the-fly for each access point as well.  There are now two copies of
18062                         data from NetworkManager: one for the dbus side, and one for the gui side.
18063                         When the dbus side data is modified, it is copied over to the gui side
18064                         so we don't have to hold the data_mutex for long periods of time (and
18065                         therefore block animation of the applet's icon).
18066                 - Clean up some memleaks too
18067
18068         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18069                 - Minor code beautification
18070
18071         * src/NetworkManagerAPList.c
18072                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
18073                         completely new and whether or not an existing one's strength was updated.
18074                         Try to fix multiple access points and signal strength by using the highest
18075                         signal strength in each scan for any given ESSID.
18076
18077         * src/NetworkManagerDbus.[ch]
18078                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
18079                         wireless networks; now we have only WirelessNetworkUpdate which includes
18080                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
18081                 - Kill usage of DbusMessageIter
18082
18083         * src/NetworkManagerDevice.c
18084                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
18085                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
18086                         AP rather than all-at-once.  Also don't ever remove the AP a card is
18087                         currently associated with from the network list.
18088                 - Update for new signals during scan, send out Appeared, Disappeared, or
18089                         StrengthChanged when necessary.
18090
18091 2005-02-25  Dan Williams  <dcbw@redhat.com>
18092
18093         * README
18094                 - Line break the README
18095
18096 2005-02-25  Dan Williams  <dcbw@redhat.com>
18097
18098         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18099                 - Remove usage of gtk_window_set_default_size()
18100
18101         * panel-applet/essid.glade
18102                 - Stick default size here
18103                 - Add in random crap that current glade wants to add in now
18104
18105 2005-02-25  Dan Williams  <dcbw@redhat.com>
18106
18107         * src/backends/NetworkManagerRedHat.c
18108                 - For non-caching-nameserver/non-named case, ensure that nscd is running
18109                         and that we actually tell nscd to reload the hosts cache when it changes
18110
18111 2005-02-25  Dan Williams  <dcbw@redhat.com>
18112
18113         * info-daemon/NetworkManagerInfoDbus.c
18114                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
18115
18116         * test/nminfotest.c
18117                 - Whack usage of DbusMessageIter
18118                 - Clean up DbusError and DbusMessage handling and freeing
18119                 - Remove unused unregister handler
18120
18121         * test/nmtest.c
18122                 - Whack usage of DbusMessageIter
18123
18124         * test/nmtestdevices.c
18125                 - Whack usage of DbusMessageIter
18126
18127 2005-02-25  Dan Williams  <dcbw@redhat.com>
18128
18129         * NetworkManager.h
18130                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
18131                         signal
18132
18133 2005-02-25  Dan Williams  <dcbw@redhat.com>
18134
18135         * named/nm-named-manager.c
18136                 - Ensure that pid and watch variables for child named process get cleared out
18137                         when the child goes away.
18138
18139 2005-02-22  Dan Williams  <dcbw@redhat.com>
18140
18141         * src/NetworkManagerPolicy.c
18142                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
18143                         and NULL out data->active_device so that we have to choose another one.
18144                         This may make NetworkManager keep attempting to connect to a wired network
18145                         if it fails, but if it keeps failing the wired network has more problems than
18146                         just NetworkManager.
18147
18148         * src/backends/NetworkManagerRedHat.c
18149                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
18150                         is already running
18151
18152         * named/nm-named-manager.c
18153                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
18154                         named so that the distro can flush whatever name service caching
18155                         daemon it uses
18156
18157 2005-02-21  Dan Williams  <dcbw@redhat.com>
18158
18159         * src/NetworkManagerDHCP.[ch]
18160                 - (nm_device_dhcp_remove_timeouts): new function
18161
18162         * src/NetworkManagerDevice.c
18163                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
18164                         remove the DHCP timeouts.
18165
18166 2005-02-21  Dan Williams  <dcbw@redhat.com>
18167
18168         * panel-applet/NMWirelessApplet.[ch]
18169           panel-applet/menu-info.[ch]
18170                 - Give the panel applet some major love: menu items are no longer
18171                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
18172                         This allows the applet to actually reflect theme changes correctly,
18173                         since themeing of subclassed items in GTK _sucks_.
18174
18175 2005-02-18  Dan Williams  <dcbw@redhat.com>
18176
18177         * libnm_glib/libnm_glib.[ch]
18178           test/libnm_glib_test.c
18179                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
18180                         and its data, and doesn't have to free the callback data anymore
18181
18182 2005-02-18  Dan Williams  <dcbw@redhat.com>
18183
18184         * panel-applet/NMWirelessApplet.c
18185                 - Revert 2005-02-18 William Jon McCann fix for standard
18186                         copyright string until it passes 'make distcheck'.
18187                         With standard copyright string, xgettext complains
18188                         about "Non-ASCII string at ...".
18189
18190 2005-02-18  Dan Williams  <dcbw@redhat.com>
18191
18192         * panel-applet/essid.glade
18193           panel-applet/NMWirelessAppletOtherNetworksDialog.c
18194                 - Correct spelling of "adaptor"->"adapter"
18195
18196 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18197
18198         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
18199         (nmwa_about_cb): Use standard copyright string.  Update comment
18200         text to reflect that it is a notification area applet.  Remove
18201         leading newline in authors list.
18202         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
18203         instead of on parent menu item activation.  Fixes #167550.
18204
18205 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18206
18207         * panel-applet/essid.glade: Capitalize items as per HIG.
18208           Fixes #167632
18209
18210 2005-02-16  William Jon McCann  <mccann@jhu.edu>
18211
18212         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
18213         files for GTK 2.4 or lower, since now public in GTK 2.6.
18214
18215         * panel-applet/essid.glade: Don't specify window size.
18216         
18217 2005-02-17  Dan Williams  <dcbw@redhat.com>
18218
18219         Caught by Bill Moss:
18220         * dhcpcd/client.c
18221                 - Time remaining for DHCP transaction calculation was incorrectly
18222                         inside a #ifdef DEBUG
18223
18224 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
18225
18226         * configure.in: Added fr (French) to ALL_LINGUAS.
18227
18228 2005-02-14  Dan Williams  <dcbw@redhat.com>
18229
18230         * src/NetworkManagerDHCP.c
18231                 - (set_domain_searches): Fix free of invalid pointer
18232
18233 2005-02-14  Dan Williams  <dcbw@redhat.com>
18234
18235         Patch from Peter Jones:
18236         * dhcpcd/client.c
18237                 - Ensure we return RET_DHCP_CEASED everywhere we should
18238         * dhcpcd/udpipgen.c
18239                 - Use faster TOS for IP packets
18240                 - Don't set ip_id since we're UDP
18241
18242         Patch from Tomislav Vujec:
18243         * src/nm-dbus-dhcp.c
18244           test/nm-dhcp-opt-test.c
18245                 - Clean up warnings to enable cvs tree compilation.
18246
18247 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
18248
18249         * configure.in
18250           po/hr.po
18251                 - Add the Croatian locale.
18252
18253 2005-02-14  Colin Walters  <walters@verbum.org>
18254
18255         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
18256         list of domains to search.
18257         
18258         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
18259
18260 2005-02-13  Dan Williams  <dcbw@redhat.com>
18261
18262         * dhcpcd/client.c
18263                 - Debug output cleanups of DHCP option printing and parsing.
18264
18265 2005-02-13  Dan Williams  <dcbw@redhat.com>
18266
18267         Patch from Dan Reed:  DHCP options D-BUS API
18268                 Exposes the DHCP options that a device receives to clients over D-BUS.
18269
18270         * configure.in
18271                 - A few cleanups
18272
18273         * dhcpcd/client.h
18274                 - Correct names, option length, and types for DHCP options
18275
18276         * dhcpcd/dhcpcd.[ch]
18277                 - Clarify function names that access DHCP options & data
18278
18279         * src/NetworkManagerDHCP.c
18280                 - Use new DHCP data access functions
18281
18282         * src/NetworkManagerDbus.c
18283                 - Message handler for DHCP functions
18284
18285         * src/nm-dbus-dhcp.[ch] (new)
18286                 - DHCP dbus methods
18287
18288         * test/nm-dhcp-opt-test.c
18289                 - Test DHCP D-BUS API and return all present DHCP options
18290
18291 2005-02-12  Dan Williams  <dcbw@redhat.com>
18292
18293         * test/Makefile.am
18294           test/nmclienttest.c
18295           test/nmtest.c
18296                 - Move nmclienttest.c -> nmtest.c
18297
18298 2005-02-12  Dan Williams  <dcbw@redhat.com>
18299
18300         * dhcpcd/buildmsg.c
18301                 - Pad DHCP packets until they are at least 300 bytes in size.
18302
18303 2005-02-11  Dan Williams  <dcbw@redhat.com>
18304
18305         * dhcpcd/client.c
18306                 - (dhcp_init): only print out client ID and class ID if they are specified
18307
18308         * src/NetworkManagerDbus.[ch]
18309           src/nm-dbus-nm.[ch]
18310           src/nm-dbus-device.[ch]
18311           src/nm-dbus-net.[ch]
18312                 - Move NM, Device, and Net functions to separate files and use the
18313                         dbus method list stuff in NetworkManagerDbusUtils.c to do
18314                         method dispatching
18315
18316         * src/NetworkManagerDbusUtils.c
18317                 - Add new validate_method called before each dispatch (if present)
18318                         that can validate the method call
18319
18320         * src/NetworkManagerWireless.c
18321                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
18322                         levels never to be evaluated
18323
18324         Patch from j@bootlab.org
18325         * src/NetworkManagerDevice.c
18326                 - Add typedef for "u64"
18327
18328         * src/backends/NetworkManagerDebian.c
18329                 - Copy in Dave Woodhouse's fixes for IPv6
18330
18331 2005-02-11  Dan Williams  <dcbw@redhat.com>
18332
18333         Patch from Dave Woodhouse for IPv6:
18334         * src/NetworkManagerUtils.c
18335                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
18336                         and multicast addresses
18337
18338         * src/NetworkManagerDevice.c
18339                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
18340                         after bringing up a card.
18341
18342 2005-02-10  Dan Williams  <dcbw@redhat.com>
18343
18344         Patch from Dave Woodhouse:
18345         * src/NetworkManagerSystem.h
18346           src/backends/NetworkManagerDebian.c
18347           src/backends/NetworkManagerGentoo.c
18348           src/backends/NetworkManagerSlackware.c
18349                 - New nm_system_device_add_ip6_link_address() function to add link-local
18350                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
18351
18352         * src/backends/NetworkManagerRedHat.c
18353                 - (nm_system_device_add_ip6_link_address): implement
18354                 - (nm_system_device_flush_addresses): revert to previous behavior of
18355                         flushing all addresses
18356
18357 2005-02-10  Dan Williams  <dcbw@redhat.com>
18358
18359         Patch from Tom Parker:
18360         * src/NetworkManagerDevice.c
18361                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
18362                         mii.h headers are broken, and instead use our own typedefs
18363
18364 2005-02-10  Dan Williams  <dcbw@redhat.com>
18365
18366         * dhcpcd/buildmsg.c
18367                 - (fill_host_and_class_id): only fill in client and class IDs if
18368                         they are set by callers.
18369
18370         * dhcpcd/client.c
18371                 - (class_id_setup): don't autogenerate a class ID, only use one
18372                         we're given, if any.
18373                 - (client_id_setup): don't autogenerate a client ID, only use one
18374                         we're given, if any.
18375
18376         * dhcpcd/dhcpcd.c
18377                 - (dhcp_interface_init): ensure that client options are correctly
18378                         NULL terminated
18379
18380         * src/NetworkManagerDHCP.c
18381                 - (nm_device_dhcp_request): pass hostname to dhcp library
18382
18383 2005-02-10  Dan Williams  <dcbw@redhat.com>
18384
18385         * dhcpcd/client.c
18386                 - #rh147661# Don't send kernel version in DHCP requests
18387
18388         * src/NetworkManagerSystem.h
18389           src/backends/NetworkManagerDebian.c
18390           src/backends/NetworkManagerGentoo.c
18391           src/backends/NetworkManagerRedHat.c
18392           src/backends/NetworkManagerSlackware.c
18393                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
18394                         functions, they are no longer used anyway
18395
18396         * src/backends/NetworkManagerRedHat.c
18397                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
18398                         addresses in an attempt to keep IPv6 local-scope addresses around
18399
18400 2005-02-10  Dan Williams  <dcbw@redhat.com>
18401
18402         * src/NetworkManager.c
18403                 - (nm_create_device_and_add_to_list): change the add message slightly
18404
18405         * src/NetworkManagerUtils.c
18406                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
18407                         Return driver name to calling function
18408                 - (nm_get_driver_support_level): print out the driver a device is using
18409                         during the support check
18410
18411         Patch from Dave Woodhouse:
18412         * dhcpcd/udpipgen.c
18413                 - (in_cksum): copy last byte of odd-sized packets into a
18414                         'u_short' rather than a 'u_char', should fix wrong checksums
18415                         on big-endian platforms
18416
18417 2005-02-09  Dan Williams  <dcbw@redhat.com>
18418
18419         * Clean up usage of GSList objects and looping through their members
18420         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
18421                 now.
18422         * Fix problem where even if scanning was turned off, card would still
18423                 cycle through frequencies.
18424
18425 2005-02-08  Dan Williams  <dcbw@redhat.com>
18426
18427         * panel-applet/NMWirelessApplet.c
18428                 - Fix for gtk 2.4
18429
18430 2005-02-08  Dan Williams  <dcbw@redhat.com>
18431
18432         Patch from Bill Moss
18433         * panel-applet/NMWirelessApplet.c
18434                 - Restore correct ESSID in tooltips
18435
18436 2005-02-07  Dan Williams  <dcbw@redhat.com>
18437
18438         * panel-applet/NMWirelessApplet.[ch]
18439                 - Add a context menu that contains:
18440                         Pause/Resume Wireless Scanning
18441                         Stop/Start All Wireless Devices
18442                         About...
18443                 - Grab active device strength off active device,
18444                         not its network
18445
18446         * panel-applet/NMWirelessAppletDbus.[ch]
18447                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
18448                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
18449                 - Update active device strength every 2 seconds, not every 1 second
18450
18451         * panel-applet/menu-info.c
18452                 - Only disable wired devices in the menu when they support carrier detection,
18453                         and don't currently have a link.  Non-carrier-detect devices will always
18454                         remain choosable
18455
18456         * src/Makefile.am
18457           src/NetworkManagerDbusUtils.[ch]
18458                 - Add new new dbus utils sources
18459
18460         * src/NetworkManager.c
18461                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
18462                         with the boolean parameter
18463                 - Set scanning_enabled & wireless_enabled to TRUE
18464
18465         * src/NetworkManagerDbus.c
18466                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
18467                 - Implement scanning & wireless enable/disable calls
18468                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
18469
18470         * src/NetworkManagerDevice.c
18471                 - New link detection stuff again...
18472                         o  Create device's mainloop earlier (but don't run it earlier)
18473                         o  Hook up new carrier-detect support stuff
18474                         o  Add in the ethtool & mii support detection code
18475                 - Don't scan if scanning is disabled
18476
18477         * src/NetworkManagerPolicy.c
18478                 - Never automatically choose a device that doesn't support carrier detection
18479                 - Don't automatically choose a wireless device if wireless is disabled
18480
18481 2005-02-07  Dan Williams  <dcbw@redhat.com>
18482
18483         * libnm_glib/libnm_glib.c
18484                 - Small cleanup in element list iteration
18485
18486 2005-02-07  Dan Williams  <dcbw@redhat.com>
18487
18488         * src/NetworkManagerWireless.c
18489                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
18490                         to be in line with the WEXT quality specification
18491
18492 2005-02-02  Dan Williams  <dcbw@redhat.com>
18493
18494         Patch from Nathan Fredrickson <nathan@silverorange.com>
18495         * Fix up compile for deprecation of libgnomeui
18496                 - Switch to <glib/gi18n.h> from <libintl.h>
18497                 - Remove <libgnomeui/libgnomeui.h> includes
18498                 - Use gtk_window_set_default_icon_from_file() rather than
18499                         gnome_window_set_default_icon_from_file()
18500
18501         * named/nm-named-manager.c
18502                 - (generate_named_conf): Fix return-nothing in non-void
18503                         function
18504
18505 2005-02-02  Dan Williams  <dcbw@redhat.com>
18506
18507         * Clean up unused variables and the like
18508
18509 2005-02-02  Dan Williams  <dcbw@redhat.com>
18510
18511         * src/NetworkManagerAPList.c
18512                 - (nm_ap_list_merge_scanned_ap): merge strength too
18513
18514         * src/NetworkManagerUtils.c
18515                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
18516                         of locking issues by printing out prettier information than g_mutex_lock
18517                 - Print out names of mutexes registered with nm_register_mutex_desc()
18518                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
18519                         us to seemingly block here for too long
18520
18521         * src/NetworkManager.c
18522           src/NetworkManagerAPList.c
18523           src/NetworkManagerDevice.c
18524                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
18525                         so we get better debug information printed
18526
18527         * src/NetworkManagerDbus.c
18528                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
18529                         since it sometimes has locking side effects
18530                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
18531                         from 10s
18532                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
18533                         we don't need a switch.  This gets called often enough that we can't block
18534                         until the scan mutex is acquired, because we'll block on device activation
18535                         and a few other things, which hangs main thread for too long.
18536
18537         * src/NetworkManagerPolicy.c
18538                 - (nm_policy_auto_get_best_device): reduce the possiblity that
18539                         nm_device_need_ap_switch() will be called               
18540
18541 2005-02-02  Dan Williams  <dcbw@redhat.com>
18542
18543         * panel-applet/NMWirelessApplet.c
18544                 - Display name of wireless network we are connecting to or connected to
18545                         in the tooltip of the applet
18546
18547 2005-02-02  Dan Williams  <dcbw@redhat.com>
18548
18549         * src/NetworkManagerDHCP.c
18550                 - Hopefully fix double-default-route problem by cleaning up the default
18551                         route added by DHCP code right before the DHCP transaction begins
18552
18553 2005-02-02  Dan Williams  <dcbw@redhat.com>
18554
18555         * named/nm-named-manager.c
18556                 - Write out valid resolv.conf when we exit
18557
18558 2005-02-01  Dan Williams  <dcbw@redhat.com>
18559
18560         Patch from Colin Walters:
18561         * named/nm-named-manager.c
18562                 - Make multi-domain search options work
18563
18564 2005-01-31  Dan Williams  <dcbw@redhat.com>
18565
18566         * info-daemon/NetworkManagerInfoDbus.c
18567                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
18568
18569         * src/NetworkManagerDevice.c
18570                 - (nm_device_new): Don't store the entire range struct, use only what we need
18571                         (which is currently avg_quality, max_quality, and frequencies).  Also
18572                         zero device structure when we've free'd it to maybe expose errors down
18573                         the line.
18574                 - (nm_device_update_signal_strength): grab the scan mutex before getting
18575                         quality data from the card since quality will be useless during a scan.
18576                         Call updated wireless qual-to-percent function with values stored in
18577                         nm_device_new() earlier.
18578                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18579                         nm_device_get_bad_crypt_packets())
18580                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18581                         nm_device_new()
18582                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18583                         list if available.  Problem was this: when the WEP key is wrong, NM will
18584                         try OS then SK modes, and then get stuck in SK mode after that.  This
18585                         should reset it.
18586                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18587                         function
18588
18589         * src/NetworkManagerWireless.c
18590                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18591                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18592                         if that's all present, otherwise fall back to signal-to-noise ratios.
18593
18594 2005-01-29  Dan Williams  <dcbw@redhat.com>
18595
18596         * initscript/RedHat/NetworkManager
18597                 - Don't spit out sysctl stuff to console
18598
18599         * libnm_glib/libnm_glib.c
18600                 - (libnm_glib_init): call dbus_g_thread_init()
18601
18602         * panel-applet/NMWirelessAppletDbus.c
18603                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18604
18605         * src/NetworkManager.c
18606                 - (main): call dbus_g_thread_init()
18607
18608         * src/NetworkManagerAPList.c
18609                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18610                         so we can actually see what's there in a normal syslog
18611
18612         * src/NetworkManagerDevice.c
18613                 - (nm_device_activate_wireless): print out the "waiting for access point"
18614                         message only once, then say what access point we actually got after
18615                         the wait.
18616                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18617                         function, wait until the scan is done.  Scans may change the ESSID of
18618                         the card, making this function think we need to switch access points
18619                 - (nm_device_wireless_process_scan_results): for artificial access points
18620                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18621                         prevents collisions with the scanning code, which may change the card's
18622                         ESSID and cause the access point to get dropped from the device's AP
18623                         list.  Also increase the keep-around time to 2m from 60s since the max
18624                         scan interval could be 60s in some cases.
18625
18626         * src/NetworkManagerPolicy.c
18627                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18628                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18629                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18630                         between NM and NMI.
18631
18632 2005-01-27  Dan Williams  <dcbw@redhat.com>
18633
18634         * info-daemon/NetworkManagerInfoDbus.c
18635                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18636                         GConf, make a minimal entry for it (essid & timestamp)
18637
18638         * src/NetworkManagerAPList.c
18639                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18640                         NetworkManagerInfo isn't running
18641
18642         * src/NetworkManagerDbus.[ch]
18643                 - (nm_dbus_nmi_is_running): new function
18644
18645         * src/NetworkManagerDevice.c
18646                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18647                         address to garbage.
18648
18649         * src/NetworkManagerPolicy.c
18650                 - (nm_policy_activation_finish): On successful activation, make sure
18651                         the "best" AP has a MAC address, and don't tell NMI to add the
18652                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18653                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18654                         access point after refreshing our allowed list if it doesn't already
18655                         have a "best" access point.
18656
18657 2005-01-25  Dan Williams  <dcbw@redhat.com>
18658
18659         * panel-applet/NMWirelessAppletDbus.c
18660                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18661                         so we check for NM_DBUS_SERVICE rather than not for it
18662
18663         * libnm_glib/libnm_glib.c
18664                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18665                         ServiceOwnerChanged signal
18666
18667 2005-01-25  Dan Williams  <dcbw@redhat.com>
18668
18669         * configure.in
18670                 - Check DBUS version in configure, and set the C macros
18671                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18672
18673         * info-daemon/NetworkManagerInfoDbus.c
18674                 - Remove #if 0-d section of code that quit NMI if NM went away.
18675
18676         * panel-applet/NMWirelessAppletDbus.c
18677                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18678
18679         * src/NetworkManager.c
18680           src/NetworkManagerMain.h
18681           src/NetworkManagerDbus.c
18682                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18683                 - Make updating of our Allowed Wireless Network lists from NMI
18684                         an idle function in the main thread now, with a high priority.
18685
18686 2005-01-24  Dan Williams  <dcbw@redhat.com>
18687
18688         * panel-applet/gtkcellview.[ch]
18689           panel-applet/menu-info.c
18690                 - Fix GTK version checks to be <= rather than <
18691
18692         * test/Makefile.am
18693                 - Include the libtool archive of libnm_glib rather than
18694                         trying to pull in the .so
18695
18696 2005-01-24  Dan Williams  <dcbw@redhat.com>
18697
18698         * src/NetworkManagerDevice.c
18699           src/NetworkManagerDevicePrivate.h
18700                 - Block nm_device_new() until our device's worker thread has had a
18701                         chance to start up.  Fixes a race between main thread and worker
18702                         thread starting that caused activation requests to get lost.
18703
18704 2005-01-24  Dan Williams  <dcbw@redhat.com>
18705
18706         * initscript/RedHat/NetworkManager
18707                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18708                         to add the NM startup script at priority 50, which was
18709                         way too early
18710
18711 2005-01-24  Colin Walters  <walters@redhat.com>
18712
18713         * named/named.conf: Use any port for query source instead of
18714         restricting to port 53.
18715
18716 2005-01-24  Dan Williams  <dcbw@redhat.com>
18717
18718         * initscript/RedHat/NetworkManager
18719                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18720                         to add the NM startup script at priority 50, which was
18721                         way too early
18722
18723 2005-01-24  Dan Williams  <dcbw@redhat.com>
18724
18725         Patch from Tom Parker <palfrey@tevp.net>
18726         * Fix up compile warnings & errors in the wireless applet
18727
18728 2005-01-24  Dan Williams  <dcbw@redhat.com>
18729
18730         * panel-applet/NMWirelessApplet.c
18731                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18732
18733 2005-01-24  Dan Williams  <dcbw@redhat.com>
18734
18735         * panel-applet/gtkcellview.[ch]
18736                 - Only compile these files for GTK 2.4 or lower, since 
18737                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18738                         when choosing "Other Wireless Networks" from the panel
18739                         applet menu
18740
18741 2005-01-21  Dan Williams  <dcbw@redhat.com>
18742
18743         * src/NetworkManager.c
18744                 - Daemonize earlier so that glib doesn't get confused (?)
18745
18746 2005-01-21  Dan Williams  <dcbw@redhat.com>
18747
18748         * panel-applet/NMWirelessApplet.[ch]
18749           panel-applet/NMWirelessAppletDbus.c
18750           panel-applet/menu-info.c
18751           src/NetworkManagerDevice.c
18752                 - Disable wired devices in the menu when they have no link.
18753
18754 2005-01-21  Dan Williams  <dcbw@redhat.com>
18755
18756         * Cache last-known-good wireless authentication method in
18757                 NetworkManagerInfo, and use that method first during
18758                 wireless device activation.  Should speed up devices that
18759                 need Shared Key authentication method since Open System is
18760                 now the default.
18761
18762         * Remove the hack to not do full activation on wired connections
18763                 that are active when we launch, it causes too many problems
18764                 with name resolution and was a hack in the first place.
18765
18766         * Re-work wireless device activation again somewhat to have a
18767                 clearer chain of events and to use last-known-good
18768                 authentication method of the access point.  Also provide
18769                 better status throughout activation to ensure the applet
18770                 can tell the user exactly what's going on.
18771
18772         * Remove the "find wireless network" code and now simply attempt
18773                 to activate with that access point.  This reduces the delay
18774                 between selecting "Other wireless Network" and actually
18775                 connecting to that network.
18776
18777         * Correctly stop the device's worker thread when its removed.
18778
18779 2005-01-21  Dan Williams  <dcbw@redhat.com>
18780
18781         * dhcpcd/client.c
18782                 - Clean up some of the debug messages
18783
18784 2005-01-21  Dan Williams  <dcbw@redhat.com>
18785
18786         * Add new icons, more frames of animation
18787         * Remove some hacks to get the panel applet to display correct
18788                 status, an NM update will soon follow that will fix the
18789                 real issue.
18790
18791 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
18792
18793         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
18794         the first include for working i18n. Also, don't include it in .h files
18795         * panel-applet/NMWirelessApplet.h: Same
18796         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
18797         * panel-applet/menu-info.c: Same
18798
18799 2005-01-18  Dan Williams <dcbw@redhat.com>
18800
18801         * dhcpcd/client.c
18802                 - Remove some debug messages
18803                 - Wrap others in #ifdef DEBUG/#endif
18804
18805         * src/NetworkManager.c
18806                 - Remove some debug messages
18807                 - Clarify some debug messages
18808                 - Remove code related to old single-thread wireless scanning
18809
18810         * src/NetworkManagerAP.[ch]
18811                 - New AP property "last_seen" to track how recently an AP was
18812                         found in a scan
18813                 - Start using 'const' more in function arguments
18814
18815         * src/NetworkManagerAPList.[ch]
18816                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
18817                         of an AP found in an AP list from a source AP, or if not found
18818                         in the list add the source AP
18819                 - (nm_ap_list_combine): remove, no longer needed
18820
18821         * src/NetworkManagerDevice.c
18822                 - Each device now has a "worker" thread from start to end of its life.
18823                         Scanning for wireless devices now happens in that thread,
18824                         not in a single "wireless scanning thread" for all devices as
18825                         previously.  Activation consists of adding an idle handler to the
18826                         thread's main loop/context, which gets run at the next available
18827                         opportunity.
18828                 - Wireless scanning is also simplified, there is now only one list of
18829                         access points per wireless device, and APs older than 60s are
18830                         removed from the list.  Previously, we kept results for the last
18831                         3 scans and merged whole lists, which was complicated.
18832                 - Cleaned up activation debug messages.
18833                 - Wireless activation and access-point search routines now use Open System
18834                         authentication before trying Shared Key.
18835                 - Removed some code in nm_device_update_best_ap() that could cause cards
18836                         to loose their link to the access point.
18837                 - Scanning now uses a backoff algorithm, where the inverval becomes
18838                         progressively longer between scans when the list of scanned access
18839                         points doesn't change.  A change will revert to the shortest scan
18840                         interval (20s).
18841
18842         * src/NetworkManagerWireless.[ch]
18843                 - Remove code related to old single-thread wireless scanning
18844
18845 2005-01-18  Colin Walters  <walters@redhat.com>
18846
18847         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
18848         of older nameservers.
18849
18850 2005-01-18  Colin Walters  <walters@redhat.com>
18851
18852         * named/nm-named-manager.c (generate_named_conf): Many fixes
18853         to config file generation.
18854         (safer_kill): Remove, was too much trouble for little gain.
18855         (nm_named_manager_start): Run named as NM_NAMED_USER.
18856
18857         * configure.in: Add option --with-named-user.
18858
18859 2005-01-14  Colin Walters  <walters@redhat.com>
18860
18861         Patch from ed@catmur.co.uk (Ed Catmur)
18862
18863         * named/nm-named-manager.c: Add "context" property.
18864         Use it to add child watch source in specific GMainContext.
18865
18866         * src/NetworkManager.c (nm_data_new): Initialize
18867         named with correct main context.  Start named only
18868         after forking.
18869
18870 2005-01-14  Colin Walters  <walters@redhat.com>
18871
18872         * named/nm-named-manager.c (generate_named_conf): Write config
18873         and pid files into NM_NAMED_DATA_DIR; this allows things to
18874         work better with FC3 named SELinux policy.  Also fix up silly
18875         format error.
18876
18877         * configure.in: Add --with-named-dir option.
18878
18879 2005-01-14  Colin Walters  <walters@redhat.com>
18880
18881         * configure.in: Make named support require passing --with-named.
18882
18883         * named/nm-named-manager.c: Support writing resolv.conf directly
18884         without running named.
18885
18886 2005-01-13  Dan Williams <dcbw@redhat.com>
18887
18888         * named/nm-named-manager.c
18889                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
18890
18891         * src/NetworkManagerDevice.c
18892                 - Rework wireless link detection code to be more reliable
18893
18894 2005-01-12  Dan Williams <dcbw@redhat.com>
18895
18896         * initscripts/RedHat/NetworkManager
18897                 - Change initial level to "-" rather than "345" so that
18898                         we don't activate ourselves by default on install
18899
18900 2005-01-12  Dan Williams <dcbw@redhat.com>
18901
18902         * libnm_glib/
18903                 - Client library for applications using glib
18904
18905         * configure.in
18906           various Makefiles
18907                 - Split NM_CFLAGS and NM_LIBS into separate variables
18908                         like DBUS_*, HAL_* and GLIB_*
18909
18910         * src/NetworkManager.c
18911           src/NetworkManagerMain.h
18912                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
18913                         broadcast a status changed signal over DBUS from the main thread.
18914                         Still unused anywhere for the moment.
18915
18916         Patch from j@bootlab.org
18917         * panel_applet/NMWirelessAppletDbus.c
18918           src/NetworkManagerDbus.c
18919                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
18920                         for the "getMode" method call
18921
18922 2005-01-10  Dan Williams <dcbw@redhat.com>
18923
18924         * src/NetworkManagerDevice.c
18925                 - Minor fixups & corrections to "auto" frequency mode, make it
18926                         less chatty with syslog
18927
18928 2005-01-10  Dan Williams <dcbw@redhat.com>
18929
18930         * src/NetworkManagerDevice.c
18931                 - Implement "auto" frequency/channel support, since cards like Atheros
18932                         can't use other frequencies at all when you've told it to use a
18933                         specific one, even for scanning.
18934                 - Grab the scan mutex around places where we can't tolerate wireless
18935                         settings changing underneath us, like nm_device_wireless_network_exists()
18936                         and nm_device_activate_wireless()
18937
18938         * src/NetworkManagerWireless.c
18939                 - Back scan interval off to 20s instead of 14s
18940
18941 2005-01-09  Dan Williams <dcbw@redhat.com>
18942
18943         * src/NetworkManagerDevice.c
18944                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
18945                         already set.  Stops some drivers like Atmel from continually
18946                         reloading the firmware, which they do upon every configuration
18947                         change.
18948
18949 2005-01-09  Dan Williams <dcbw@redhat.com>
18950
18951         * dhcpcd/client.c
18952                 - Use correct timeout value
18953
18954         * info-daemon/NetworkManagerInfoDbus.c
18955           src/NetworkManagerDbus.c
18956                 - Consolidate communication between NM and NMI by doing only 1 dbus
18957                         method call to get Wireless Network info from NMI instead of 6
18958
18959         * src/NetworkManager.c
18960                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
18961                         when we didn't have an AP to use, we'd wait for one forever without
18962                         quitting
18963
18964         * src/NetworkManagerDevice.c
18965                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
18966                         activation, dhcp might not have started yet but we don't quit activation
18967                         before starting it, so the quit signal gets lost
18968
18969 2005-01-07  Dan Williams <dcbw@redhat.com>
18970
18971         * dhcpcd/client.c
18972                 - Rework the DHCP client code to be much less chatty when
18973                         it receives non-DHCP UDP packets during the DHCP run
18974                         (reported by and preliminary patches from Bill Moss)
18975
18976         * Move wireless scanning to a separate thread.  This thread forwards the
18977                 results to the main thread when done where they are integrated into
18978                 the device's access point lists.  This keeps the main thread (which
18979                 does all the DBUS communication) from being blocked for long periods
18980                 of time by wireless scanning.
18981
18982         * Make state modification an idle routine in the main loop, and trigger
18983                 state changes rather than polling for them.
18984
18985         * src/backends/NetworkManagerGentoo.c
18986                 - Fix up invalid C90 code (reported by Christoph Ruessler)
18987
18988         * src/NetworkManagerDevice.c
18989                 - Revert IPv6 patch for wired devices from 2004-12-22 for
18990                         router advertisements, causing problems and infinite loop
18991                         during "best" device determination due to link going up/down
18992                         (reported by Bill Moss)
18993
18994         Apply patch from Peter Jones
18995         * src/NetworkManagerDevice.c
18996                 - Shortcut for link-checking for ipw2x00 cards
18997                 - Split out association check into separate routine
18998
18999 2004-01-05  Colin Walters  <walters@redhat.com>
19000
19001         * named/named.conf: Add PID_FILE.
19002
19003         * named/nm-named-manager.c: Always generate a pid
19004         file, since older BIND versions don't support
19005         "pid-file none".
19006
19007 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
19008
19009         * configure.in (ALL_LINGUAS): Added ja (Japanese).
19010
19011 2004-12-22  Dan Williams <dcbw@redhat.com>
19012
19013         * src/NetworkManagerDevice.c
19014                 - Silently fail when setting bitrate doesn't work
19015
19016
19017         Patches from j@bootlab.org:
19018         * src/backends/NetworkManagerDebian
19019                 - Update backend to match functionality in RedHat backend
19020         * src/NetworkManagerDevice.c
19021                 - Take down then bring up wired devices after connection so
19022                 they send out ipv6 router advertisements
19023
19024 2004-12-21  Colin Walters  <walters@verbum.org>
19025
19026         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
19027         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
19028
19029 2004-12-21  Colin Walters  <walters@redhat.com>
19030
19031         * configure.in: Correct named detection.
19032
19033 2004-12-21  Colin Walters  <walters@redhat.com>
19034
19035         * src/NetworkManager.c (nm_data_new): Initialize named.
19036         Also, set up a signal handler for SIGINT/SIGTERM, and exit
19037         the mainloop when these signals are received.
19038         (nm_data_free): Unref named.
19039         (sigterm_handler, sigterm_pipe_handler): New functions for
19040         exiting mainloop.
19041         
19042         * src/NetworkManagerMain.h (NMData): Add signal handling and
19043         nameserver bits.
19044
19045         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
19046         unref.
19047
19048         * src/NetworkManagerDHCP.c (set_nameservers): New function;
19049         set nameservers from DHCP response data.
19050         (set_domain_search): Set domain search from DHCP response.
19051         (nm_device_dhcp_configure): Invoke them.
19052
19053         * src/NetworkManagerSystem.c
19054         (nm_system_device_update_resolv_conf): Delete.  Deleting
19055         code is totally sweet.
19056
19057         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
19058
19059         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
19060         implements an object which controls a nameserver.  Currently
19061         uses bind 9.
19062
19063         * configure.in: Check for named.
19064
19065         * Makefile.am (SUBDIRS): Add named dir.
19066
19067         * named/named.conf: New template config file.
19068
19069 2004-12-20  Colin Walters  <walters@redhat.com>
19070
19071         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
19072         instead of '='.
19073
19074 2004-12-17  Dan Williams  <dcbw@redhat.com>
19075
19076         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
19077                 link-local addresses instead of doing DHCP.
19078
19079         * In the panel applet, there's a new "Create new Wireless Network..." item
19080
19081         * The panel applet also sticks around now even if NetworkManager dies, but
19082                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
19083                 a bug, I'll fix that later.
19084
19085         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
19086                 lookups after a switch rather than actually doing them.
19087
19088         * Clean up some of those warnings in nm_ap_list_* functions
19089
19090         * Delay between scans changed to 15s instead of 10s
19091
19092 2004-12-15  Dan Williams  <dcbw@redhat.com>
19093
19094         Patch from Tom Parker
19095         * Add autoip/Link Local Addressing support when we fail to get a DHCP
19096                 address
19097
19098         * Longer pause after setting ESSID on cards that support a larger number
19099                 of channels to give the card time to find the right channel
19100
19101         * Add system hook to restart mDNSResponder (or whatever the local implementation
19102                 of Multicast DNS is) when we activate interfaces
19103
19104 2004-12-15  Dan Williams  <dcbw@redhat.com>
19105
19106         * Rework the DHCP code again to revert to sending full ethernet frames
19107                 rather then relying on the kernel to do the right thing with our
19108                 packets.
19109
19110 2004-12-06  Dan Williams  <dcbw@redhat.com>
19111
19112         * dhcpcd/client.c
19113                 - Fix some minor errors in dhcp_handle_transaction() that caused
19114                         unexpected early timeouts of DHCP transactions
19115
19116         * dhcpcd/client.h
19117                 - DHCP retransmit time from 4s -> 5s
19118
19119 2004-12-05  Dan Williams  <dcbw@redhat.com>
19120
19121         * Major rework of the DHCP code, taking some cues from pump.  We don't
19122                 write raw Ethernet packets anymore, which simplifies the code quite
19123                 a bit.  The new code should be more robust, not hang in recvfrom()
19124                 as much, and generally work better.  This also means that we need
19125                 to force HAL/dbus to use a created GMainContext rather than the
19126                 default context, since having the DHCP renew/rebind thread using
19127                 its own GMainContext seemed to give dbus a fit.  There is also more
19128                 debugging information printed from the DHCP loop to help with future
19129                 problems.
19130
19131         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
19132                 assume that the default gateway should be the DHCP server.
19133
19134         Patch from Matthew Schick <matt oss-institute org>
19135         * src/backends/NetworkManagerGentoo.c
19136                 - Fix compilation error due to missing "ip4_broadcast"
19137
19138 2004-12-03  Dan Williams  <dcbw@redhat.com>
19139
19140         * initscript/Makefile.am
19141         * initscript/Debian/NetworkManager
19142         * initscript/Gentoo/NetworkManager
19143         * initscript/RedHat/NetworkManager
19144         * initscript/NMLaunchHelper.c
19145                 - Remove NMLaunchHelper, if you need to wait until the network
19146                         comes up, use the dead code from CVS.
19147
19148 2004-12-01  Colin Walters  <walters@redhat.com>
19149         
19150         * configure.in: Suck in gcc warnings code from Rhythmbox,
19151         but use fewer default flags, and in particular add -Wno-unused,
19152         since the codebase has a lot of unused variables.
19153
19154         * test/nmtestdevices.c (create_device): 
19155         * test/nminfotest.c (get_network_string_property) 
19156         (get_networks_of_type): 
19157         * test/nmclienttest.c (main): 
19158         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
19159         * initscript/NMLaunchHelper.c (get_nm_status): 
19160         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
19161         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
19162         Fix declarations after statements.
19163
19164 2004-12-01  Colin Walters  <walters@redhat.com>
19165
19166         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
19167         (nmi_dbus_get_vpn_userpass): New method.
19168         (nmi_dbus_nmi_message_handler): Invoke it.
19169
19170         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
19171
19172         * info-daemon/NetworkManagerInfoVPN.h,
19173         info-daemon/NetworkManagerInfoVPN.c: New files; responds
19174         to requests for VPN passwords.
19175
19176         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
19177
19178 2004-12-01  Colin Walters  <walters@redhat.com>
19179
19180         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
19181         includes.
19182
19183 2004-12-01  Colin Walters  <walters@redhat.com>
19184
19185         * panel-applet/NMWirelessAppletDbus.c
19186         (nmwa_dbus_update_active_device_strength): Fix missing
19187         return value.
19188
19189 2004-12-01  Colin Walters  <walters@redhat.com>
19190
19191         * panel-applet/NMWirelessApplet.c: Add missing include.
19192
19193 2004-12-01  Colin Walters  <walters@redhat.com>
19194
19195         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
19196         Remove useless CLAMP (); the value is unsigned, and the case tests
19197         qual->qual < 100, so the value must always be between 0 and 100.
19198
19199 2004-12-01  Colin Walters  <walters@redhat.com>
19200
19201         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
19202
19203 2004-11-22  Colin Walters  <walters@verbum.org>
19204
19205         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
19206         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
19207         which is essentially a noop since nscd caches hosts on disk too.
19208         
19209 2004-11-22  Colin Walters  <walters@redhat.com>
19210
19211         * src/Makefile.am (NetworkManager_SOURCES): Add
19212         NetworkManagerDevicePrivate.h.
19213
19214 2004-11-22  Dan Williams <dcbw@redhat.com>
19215
19216         * src/NetworkManagerDevicePrivate.h
19217                 - Split out the NMDevice struct to a different file so that stuff like
19218                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
19219
19220         * dhcpcd/client.c
19221                 - fprintf->syslog
19222                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
19223                         need to cancel the dhcp request during the send and recv
19224
19225         * dhcpcd/client.h
19226                 - Move the DHCP option enum to dhcpcd.h
19227
19228         * src/NetworkManagerDHCP.c
19229                 - Split out the actual IP/netmask/etc setting code
19230                 - New Renew/Rebind functions
19231                 - New timer setup function for renew/rebind operations
19232
19233         * src/NetworkManagerDevice.c
19234                 - For device activation, if we are using DHCP then keep the activation thread
19235                         alive until device deactivation.  We need to renew/rebind the DHCP address
19236                         after the T1 (renew) and T2 (rebind) times have expired.
19237                 - Increase some timeouts after bringing wireless cards up/down
19238
19239 2004-11-17  Dan Williams <dcbw@redhat.com>
19240
19241         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
19242                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
19243                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
19244                 show known access points that don't broadcast their ESSID in the menus without
19245                 any user intervention whatsoever.
19246
19247         * info-daemon/NetworkManagerInfoDbus.c
19248                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
19249                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
19250
19251         * src/NetworkManagerAP.[ch]
19252                 - Add a "user_addresses" data member to the NMAccessPoint structure
19253                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
19254                         the user_addresses data member
19255
19256         * src/NetworkManagerAPList.c
19257                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
19258                         the AP's reported address
19259                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
19260
19261         * src/NetworkManagerDHCP.c
19262                 - Increase DHCP timeout from 25s -> 30s
19263
19264         * src/NetworkManagerDbus.[ch]
19265                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
19266                         user addresses
19267
19268         * src/NetworkManagerDevice.c
19269                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
19270                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
19271                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
19272                         So, we take the card down to clear it out.
19273                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
19274                         too, since that's where the user_addresses are
19275
19276         * src/NetworkManagerPolicy.c
19277                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
19278                         that wireless networks' user_addresses list upon successful activation
19279
19280 2004-11-16  Dan Williams <dcbw@redhat.com>
19281
19282         * src/NetworkManagerDevice.[ch]
19283                 - (nm_device_clear_activation_fail): new function
19284
19285         * src/NetworkManagerPolicy.c
19286                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
19287                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
19288
19289 2004-11-16  Dan Williams <dcbw@redhat.com>
19290
19291         * src/NetworkManagerDevice.c
19292                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
19293                         leak the structure, better updating of now_scanning status
19294                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
19295
19296 2004-11-15  Dan Williams <dcbw@redhat.com>
19297
19298         Major rework of link detection code.  We now use DHCP
19299         as part of the link detection which proves to be much more robust,
19300         and also supports Open System authentication for wireless networks.
19301
19302         We no longer use external DHCP client programs.  Instead, we use 
19303         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
19304         which was written by:
19305                 Yoichi Hariguchi <yoichi@fore.com>
19306                 Sergei Viznyuk <sv@phystech.com>
19307                 http://www.phystech.com/download/
19308         It resides in the "dhcpcd" directory and was refactored into a general
19309         purpose DHCP client library by me.
19310
19311         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
19312         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
19313
19314 2004-11-15  Dan Williams <dcbw@redhat.com>
19315
19316         Patch from Tom Parker <palfrey@tevp.net>:
19317
19318         * src/NetworkManagerDevice.c
19319                 - Less output to console when no access
19320                         points are found during a scan
19321
19322 2004-11-15  Dan Williams <dcbw@redhat.com>
19323
19324         Patch from Tom Parker <palfrey@tevp.net>:
19325
19326         * src/backends/interface_parser.c
19327                 - Use g_strdup ()
19328                 - Check for inp == NULL
19329                 - use syslog ()
19330
19331 2004-11-13  Colin Walters  <walters@redhat.com>
19332
19333         Patch from Tom Parker <palfrey@tevp.net>:
19334
19335         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
19336         
19337         * src/backends/NetworkManagerRedHat.c: Switch to
19338         including shvar.h instead of shvar.c.
19339
19340         * src/backends/NetworkManagerDebian.c: Don't include
19341         interface_parser.c in source file.
19342
19343         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
19344         and interface_parser.[ch].
19345         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
19346         Include shvar.c and shvar.h here.
19347         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
19348         interface_parser.c and interface_parser.h here.
19349
19350 2004-11-12  Colin Walters  <walters@redhat.com>
19351
19352         * configure.in: Strip out TARGET_DISTRO and
19353         SYSTEM_BACKEND_FILE variables.  Switch to Automake
19354         conditionals.
19355
19356         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
19357         (libnmbackend_la_SOURCES): Use Automake conditionals
19358         to add distro-specific files.
19359
19360         * initscript/Makefile.am (SUBDIRS): Update to
19361         use conditionals.
19362
19363 2004-11-12  Colin Walters  <walters@redhat.com>
19364
19365         Patches from j bootlab org
19366
19367         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
19368         Add interface_parser.[ch].
19369
19370         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
19371         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
19372
19373 2004-11-12  Colin Walters  <walters@redhat.com>
19374
19375         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
19376         call to nmi_dbus_is_running too, not necessary anymore.
19377         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
19378         pick up exit().
19379
19380 2004-11-11  Colin Walters  <walters@verbum.org>
19381
19382         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
19383         Delete.
19384         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
19385         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
19386         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
19387         This avoids a race condition that made it pretty easily
19388         possible to get two NetworkManagerInfo daemons running.
19389
19390 2004-11-11  Colin Walters  <walters@verbum.org>
19391         
19392         * src/NetworkManager.c (main): Use daemon(3).
19393
19394         * info-daemon/NetworkManagerInfo.c (main): Ditto.
19395
19396         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
19397
19398 2004-11-10 Dan Williams <dcbw@redhat.com>
19399
19400         Patches from j bootlab org
19401         * src/NetworkManagerDevice.c
19402                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
19403                         whether the card has a link or not, some cards are slow
19404                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
19405
19406         * info-daemon/NetworkManagerInfoPassphraseDialog.c
19407                 - Disable the "Login" button on the passphrase dialog until the user
19408                         enters a valid passphrase or key
19409
19410         Patches from Tom Parker <palfrey tevp net>
19411         * src/backends/NetworkManagerDebian.c
19412                 - Add static IP support to the debian backend
19413
19414         * src/backends/interface_parser.[ch]
19415                 - Parse debian interface config files
19416
19417 2004-11-08 Dan Williams <dcbw@redhat.com>
19418
19419         * src/NetworkManagerDevice.c
19420                 - Some random fprintf->syslog conversions
19421                 - (nm_device_wireless_network_exists): double-check for network
19422                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
19423
19424         * src/NetworkManagerWireless.[ch]
19425                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
19426                         so that the binary->ascii conversion works (if unsigned, the bitshift
19427                         will fill with zeros, which is what's required).  Also mask bitshift
19428                         result with 0xF for futher assurance.
19429
19430 2004-11-06 Dan Williams <dcbw@redhat.com>
19431
19432         * src/NetworkManagerUtils.c
19433                 - (nm_get_wireless_driver_support_level): default to
19434                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
19435                         flip this when changing from whitelist->blacklist of
19436                         wireless drivers
19437
19438 2004-11-05 Dan Williams <dcbw@redhat.com>
19439
19440         Patch from Robert Paskowitz:
19441         * src/backends/NetworkManagerGentoo.c
19442                 - Update static IP config code
19443
19444 2004-11-05 Dan Williams <dcbw@redhat.com>
19445
19446         * info-daemon/NetworkManagerInfoDbus.c
19447           src/NetworkManagerDbus.[ch]
19448           src/NetworkManagerDevice.c
19449                 - Keep track of the # of attempts to get the WEP key
19450                         from the user and pass that along to the info daemon
19451
19452 2004-11-05 Dan Williams <dcbw@redhat.com>
19453
19454         * src/NetworkManagerUtils.c
19455                 - Blacklist wireless cards rather than whitelisting them.
19456                 - Grab driver name from HAL rather than trying to find it
19457                         ourselves.
19458
19459 2004-11-03 Dan Williams <dcbw@redhat.com>
19460
19461         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
19462                 - Disable OK button until valid data is entered
19463                         for encryption stuff too
19464
19465         * panel-applet/NMWirelessApplet.c
19466                 - Report card strength for current AP if the card
19467                         doesn't report strength data for scanned access
19468                         points
19469
19470         * src/NetworkManagerDevice.c
19471                 - Smooth out cards reported quality, Atmel card was
19472                         intermittently reporting no quality data but soon
19473                         recovers
19474
19475         * src/NetworkManagerWireless.c
19476                 - Better quality data percentage calculation.  Atmel
19477                         cards (mine at least) seem to report the quality
19478                         in percentage format already, so honor that
19479
19480         Patch from <j@bootlab.org>
19481         * NetworkManager.h
19482           info-daemon/NetworkManagerInfoPassphraseDialog.c
19483           info-daemon/passphrase.glade
19484           panel-applet/NMWirelessAppletOtherNetworkDialog.c
19485           panel-applet/essid.glade
19486           src/NetworkManagerAP.c
19487           src/NetworkManagerDevice.c
19488           src/NetworkManagerWireless.[ch]
19489                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
19490
19491 2004-11-03 Dan Williams <dcbw@redhat.com>
19492
19493         * src/NetworkManagerDevice.[ch]
19494                 - (nm_device_set_enc_key): Add parameter to set Authentication
19495                         Mode (Open System, Shared Key, or None).  We're still using
19496                         Shared Key for now though.
19497
19498 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
19499
19500         * panel-applet/menu-info.c: change from bold text to light
19501         colored, may cause problems with some themes, i've tested a lot
19502         and they seem fine. 
19503
19504         * panel-applet/NMWirelessApplet.c: fix strength tooltip
19505
19506 2004-11-01  Colin Walters  <walters@verbum.org>
19507
19508         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
19509         (nm_wireless_128bit_key_from_passphrase): Add const.
19510
19511         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
19512         (nm_ap_set_enc_key_source): Add const.
19513         
19514 2004-11-01  Colin Walters  <walters@verbum.org>
19515
19516         * .cvsignore: Update.
19517
19518 2004-10-29 Dan Williams <dcbw@redhat.com>
19519
19520         * src/NetworkManagerDevice.c
19521                 - (nm_device_wireless_network_exists): Actually use the encryption
19522                         key we got from the applet when attempting to find a wireless network
19523                 - Don't bring devices down so much since on some cards it triggers
19524                         firmware hotplugs each time
19525
19526         * src/NetworkManagerDbus.c
19527                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
19528                         from the caller
19529
19530 2004-10-29 Dan Williams <dcbw@redhat.com>
19531
19532         * src/NetworkManager.c
19533                 - (nm_hal_device_property_modified): unlock a locked active
19534                         wireless device when a wired connection gets a link.
19535                         (Means you'll switch to wired whenever you plug in no
19536                         matter what).
19537
19538 2004-10-29 Dan Williams <dcbw@redhat.com>
19539
19540         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
19541                 - New files, implement the "Other wireless network" dialog
19542
19543         * panel-applet/NMWirelessApplet.c
19544                 - Move "other wireless network" dialog to separate file
19545
19546         * panel-applet/NMWirelessAppletDbus.[ch]
19547                 - Take key and key_type paramaters for the set_device function
19548
19549         * panel-applet/essid.glade
19550                 - Add UI bits for encryption settings
19551
19552         * src/NetworkManagerDbus.c
19553                 - Retrieve key and key_type params for "setActiveDevice" method call
19554                         and pass them on
19555                 - unref AP returned from nm_device_get_best_ap() when needed
19556
19557         * src/NetworkManagerDevice.c
19558                 - (nm_device_get_best_ap): ref the ap before returning it
19559                 - unref AP returned from nm_device_get_best_ap() when needed
19560                 - (nm_device_activate_wireless): add "ap" parameter so we don't
19561                         need to call nm_device_get_best_ap() here, it was pretty much
19562                         redundant anyway
19563                 - (AP_NEED_KEY): break second link check condition out into separate
19564                         function, and fix segfault when ap->enc_key_source was NULL
19565                 - (nm_device_find_and_use_essid): take key and key_type parameters and
19566                         pass them along to nm_device_wireless_network_exists().  If the
19567                         network does exist, set the passed-in key+key_type on the AP
19568
19569         * src/NetworkManagerPolicy.c
19570                 - unref AP returned from nm_device_get_best_ap() when needed
19571
19572 2004-10-28 Dan Williams <dcbw@redhat.com>
19573
19574         * src/NetworkManagerUtils.c
19575                 - (nm_spawn_process): Fix a potential dereference of NULL
19576
19577         Patches from Peter Jones:
19578
19579         * src/NetworkManagerDevice.c
19580                 - (nm_device_test_wireless_extensions): Better check for
19581                         wireless devices
19582
19583         * src/NetworkManagerUtils.c
19584                 - (nm_spawn_process): Pass in valid stdout and stderr so
19585                         executed programs don't randomly SIGPIPE and fail
19586                 - (nm_get_wired_driver_support_level): quash hal warning
19587                         when checking for USB ethernet device
19588
19589 2004-10-27 Dan Williams <dcbw@redhat.com>
19590
19591         * info-daemon/NetworkManagerInfo.c
19592           info-daemon/NetworkManagerInfoDbus.c
19593           info-daemon/NetworkManagerInfoPassphraseDialog.c
19594           panel-applet/NMWirelessApplet.c
19595                 - Properly escape gconf keys
19596
19597         * src/NetworkManager.c
19598                 - remove unused variables
19599
19600         * src/NetworkManagerAP.c
19601                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19602                         refcount since it got set in nm_ap_new()
19603
19604         * src/NetworkManagerAPList.c
19605                 - (nm_ap_list_combine): Give up ownership of newly created
19606                         access points to the ap list, fixes memleak
19607
19608         * src/NetworkManagerDevice.c
19609                 - Remove cached_ap_list4 member since its not really needed
19610                 - (nm_device_wireless_network_exists): Try to get correct
19611                         encryption status of a found AP if its already in our
19612                         device list
19613                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19614                         memory allocs/deallocs a bit clearer and shorter-lived
19615
19616 2004-10-26 Ray Strode <rstrode@redhat.com>
19617
19618         * panel-applet/NMWirelessApplet.c:
19619           (custom_essid_item_selected):  kill some compiler
19620         warnings 
19621
19622 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19623
19624         * info-daemon/NetworkManagerInfoDbus.c
19625                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19626                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19627
19628 2004-10-23 Dan Williams <dcbw@redhat.com>
19629
19630         * info-daemon/NetworkManagerInfoDbus.c
19631                 - Trap the "DeviceActivationFailed" signal
19632
19633         * docs/NetworkManager DBUS API.txt
19634                 - Add "DeviceActivationFailed" signal
19635
19636         * panel-applet/NMWirelessAppletDbus.c
19637                 - Quash the "NetworkManager service not available" message
19638
19639         * src/NetworkManagerDbus.[ch]
19640                 - Add the "DeviceActivationFailed" signal
19641
19642         * src/NetworkManagerDevice.c
19643                 - Add support for activation_failed flag
19644                 - Fix deadlock where activation thread didn't clean itself up, making
19645                         main thread still believe it was alive forever (didn't reset activation
19646                         flags like activating, just_activated, etc when IP configuration
19647                         failed)
19648
19649         * src/NetworkManagerPolicy.c
19650                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19651                         for wireless networks, try to fall back to some other access point
19652
19653 2004-10-23 Dan Williams <dcbw@redhat.com>
19654
19655         * panel-applet/NMWirelessApplet.[ch]
19656                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19657                         to the applet object, so we can get tooltips
19658                 - Add tooltips (RH #136866)
19659
19660         * src/NetworkManagerDevice.c
19661                 - When trying to find a wireless network, try to connect with encryption
19662                         turned on first, so that we can more accurately detect whether or not
19663                         we need to use encryption for the actual association later on
19664
19665 2004-10-21 Dan Williams <dcbw@redhat.com>
19666
19667         * Add some support for telling NetworkManagerInfo to tell the user
19668                 that they are using a device that's not fully supported
19669
19670         * Fix some assertions in debug messages due to null access point args
19671
19672 2004-10-21 Dan Williams <dcbw@redhat.com>
19673
19674         * src/NetworkManagerDevice.c
19675                 - Don't try to activate/bring up/down unsupported
19676                         devices
19677
19678         * src/NetworkManagerUtils.c
19679                 - Fix case of PCI ID checks for driver support levels
19680
19681 2004-10-21 Dan Williams <dcbw@redhat.com>
19682
19683         * NetworkManager.h
19684                 - New file, now contains commonly used structures and bits
19685                         for the dbus API of NetworkManager
19686
19687         * Makefile.am
19688                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19689
19690         * src/NetworkManager.h
19691                 - Rename -> src/NetworkManagerMain.c
19692
19693         * Various fixups all around to use NetworkManager.h and new
19694                 src/NetworkManagerMain.h, remove redundant bits that got
19695                 moved into NetworkManager.h
19696
19697         * src/NetworkManagerDevice.[ch]
19698           src/NetworkManagerUtils.[ch]
19699           src/NetworkManagerPolicy.c
19700           src/NetworkManagerDbus.c
19701                 - Whitelist wireless drivers, and blacklist some wired
19702                         drivers.  Also blacklist cipsec and ethernet-over-usb
19703                         devices at this time (RH #135722, RH #135648)
19704                 - Don't leak unsupported devices out over dbus, or allow
19705                         them to be set as the active device.  Skip over them
19706                         during automatic device picking
19707
19708         * test/nmclienttest.c
19709                 - Clean up the dbus code a lot
19710
19711 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19712
19713         * configure.in: post release bump.
19714
19715 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19716
19717         * configure.in:
19718         * NEWS: Released NetworkManager-0.3.1
19719
19720 2004-10-18 Dan Williams <dcbw@redhat.com>
19721
19722         Patches from Thom May:
19723         * test/nmtestdevices.c
19724                 - Include <string.h>
19725         * src/backends/NetworkManagerDebian.c:
19726                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19727                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19728                         Move to using g_strdup_printf rather than arbitrary buffers
19729                 - (nm_system_device_setup_static_ip4_config) Implement function.
19730                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19731
19732 2004-10-17 Dan Williams <dcbw@redhat.com>
19733
19734         * info-daemon/NetworkManagerInfoDbus.c
19735                 - Display name of network in the "network not found" dialog
19736
19737         * panel-applet/NMWirelessAppletDbus.c
19738                 - (nmwa_dbus_call_nm_method): new function replaces all other
19739                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19740                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19741                         consolidated into nmwa_dbus_get_object_name()
19742
19743 2004-10-15 Dan Williams <dcbw@redhat.com>
19744
19745         * src/NetworkManagerDbus.c
19746           info-daemon/NetworkManagerInfoDbus.c
19747                 - Display an error dialog when the user tries to use an
19748                         "Other wireless network" that's not found.
19749
19750 2004-10-15 Dan Williams <dcbw@redhat.com>
19751
19752         * panel-applet/NMWirelessApplet.[ch]
19753                 - Fix up corner cases in applet state, making it
19754                         look more responsive.  Change state to "connecting" when
19755                         the user is forcing a device too.
19756
19757 2004-10-15 Dan Williams <dcbw@redhat.com>
19758
19759         * src/NetworkManagerAPList.c
19760                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19761
19762         * src/NetworkManagerDbus.c
19763                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19764
19765         * src/NetworkManagerDevice.c
19766                 - Disown APs after the device's AP list takes ownership
19767
19768 2004-10-15 Dan Williams <dcbw@redhat.com>
19769
19770         * panel-applet/NMWirelessApplet.c
19771                 - Update our applet state from the GUI thread
19772
19773         * panel-applet/NMWirelessAppletDbus.c
19774                 - Greatly simplify the locking to make the GUI thread
19775                         smoother.  Update a private copy of the device list
19776                         and active device and only when done talking to
19777                         NetworkManager turn it over to the GUI thread.
19778
19779 2004-10-15 Dan Williams <dcbw@redhat.com>
19780
19781         * src/NetworkManagerAP.[ch]
19782                 - Add "artificial" get/set functions, set for APs that
19783                         aren't discovered as part of a scan but instead
19784                         discovered by force-setting the ESSID
19785
19786         * src/NetworkManagerDevice.[ch]
19787                 - (nm_device_wireless_network_exists): pass back whether
19788                         or not the discovered AP was encrypted.  Also, try
19789                         falling back to encrypted mode on the card if unencrypted
19790                         association doesn't work
19791                 - (nm_device_find_and_use_essid): If the network requested
19792                         did in fact exists, but it wasn't in our scan list, add
19793                         an "artificial" entry for it.  Some Cisco cards don't
19794                         see non-ESSID-broadcasting APs in their scan but can still
19795                         associate with them if you know the ESSID, this works around
19796                         that behavior
19797                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
19798                         to scan if the card is currently associated with that AP
19799
19800 2004-10-15 Dan Williams <dcbw@redhat.com>
19801
19802         ---- We have a website ----
19803         http://people.redhat.com/dcbw/NetworkManager
19804
19805         Patch from Robert Paskowitz:
19806         * src/NetworkManager.c
19807                 - (main): Make sure we are run as root
19808         * src/NetworkManagerDevice.c
19809                 - Fix type in ad-hoc setting function
19810
19811         Patch from Thom May:
19812         * src/backends/NetworkManagerDebian.c
19813                 - Make Debian backend compile again
19814
19815 2004-10-14 Dan Williams <dcbw@redhat.com>
19816
19817         * Tagged NetworkManager-0_3
19818
19819 2004-10-14 Dan Williams <dcbw@redhat.com>
19820
19821         Patch from Robert Paskowitz:
19822         * NEWS
19823           src/NetworkManagerDevice.[ch]
19824           src/backends/NetworkManagerDebian.c
19825           src/backends/NetworkManagerGentoo.c
19826           src/backends/NetworkManagerRedHat.c
19827           src/backends/NetworkManagerSlackware.c
19828                 - Add support for grabbing and using a broadcast address
19829                         from system config files
19830                 - Some Gentoo backend fixes for grabbing network config
19831                 - Fix LOG_WARN->LOG_WARNING
19832
19833 2004-10-14 Dan Williams <dcbw@redhat.com>
19834
19835         * NEWS: a few small fixes in the credits
19836
19837 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
19838
19839         * NEWS: prep for release.
19840
19841 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
19842
19843         * panel-applet/NMWirelessAppletDbus.c
19844         (nmwa_dbus_update_device_wireless_networks): remove warnings.
19845
19846 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
19847
19848         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
19849         applet->state == APPLET_STATE_NO_NM animation.
19850
19851         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
19852         set the text correctly.
19853
19854 2004-10-14 Dan Williams <dcbw@redhat.com>
19855
19856         * src/NetworkManager.c
19857                 - Only accept and manager 802.3 and 802.11 devices
19858
19859         * src/NetworkManagerDbus.[ch]
19860                 - (nm_dbus_nm_set_active_device): move most of the actual activation
19861                         logic into NetworkManagerDevice.c
19862                 - (nm_dbus_network_status_from_data): new function
19863                 - (nm_dbus_signal_network_status_change): new function, unused for now
19864                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
19865
19866         * src/NetworkManagerDevice.[ch]
19867                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
19868                         a random ESSID.
19869
19870 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
19871
19872         * info-daemon/NetworkManagerInfo.c 
19873                 - (main): Added session management
19874
19875 2004-10-14 Dan Williams <dcbw@redhat.com>
19876
19877         * panel-applet/NMWirelessAppletDbus.[ch]
19878                 - Expose network_device_[un]ref()
19879                 - Expose wireless_network_[un]ref()
19880                 - (wireless_network_new_with_essid): new function, create and return
19881                         a wireless network with a particular essid
19882
19883         * panel-applet/NMWirelessApplet.c
19884                 - Hook up the "other network" dialog to do something
19885
19886 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
19887
19888         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
19889         doesn't work yet, but it looks okay.
19890
19891         * panel-applet/icons/*png: Resize to 22x22 and install in the
19892         right place.
19893
19894 2004-10-13 Dan Williams <dcbw@redhat.com>
19895
19896         * panel-applet/NMWirelessApplet.c
19897                 - Add function to print out applet_state in a readable
19898                         manner
19899
19900         * src/NetworkManager.c
19901                 - (main): Don't segfault when nm_dbus_init() fails, we had
19902                         a left-over call to hal_shutdown() into which we passed NULL
19903
19904         * src/NetworkManagerAP.c
19905                 - (nm_ap_set_essid): Allow NULL essids
19906
19907         * src/NetworkManagerAPList.[ch]
19908                 - More use of nm_ap_list_[un]lock ()
19909                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
19910                         network/essid, just return nothing.  Also skip over NULL
19911                         essid access points in the list when searching
19912                 - (nm_ap_list_get_ap_by_address): new function
19913                 - (nm_ap_list_update_network): set the access point's key source to
19914                         NULL when the key returned from NetworkManagerInfo is NULL or
19915                         of 0 length
19916                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
19917                         copy timestamp over too
19918                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
19919                         find the correct ESSID for a blank-essid access point by searching
19920                         through another list and matching access point MAC addresses
19921                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
19922
19923         * src/NetworkManagerDbus.c
19924                 - (nm_dbus_nm_set_active_device): deal with random networks the user
19925                         may specify.  This is mainly for access points that don't
19926                         broadcast their essid.  So if the user tells us to associate with
19927                         some random ESSID that's not in our access point list, we find
19928                         out if the access point does in fact exist (by attempting association
19929                         and then matching that access point's MAC address with the essid the
19930                         user gave us) and then we switch to it.
19931                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
19932                         to the returned list of networks for the "getNetworks" method
19933
19934         * src/NetworkManagerDevice.[ch]
19935                 - Extra debugging info for link detection
19936                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
19937                         based on MAC address
19938                 - (nm_device_get_path_for_ap): ignore blank-essid access points
19939                 - (nm_device_wireless_network_exists): new function, find out whether
19940                         a random ESSID exists by attempting to associate with it
19941                 - (nm_device_do_normal_scan): allow blank-essid access points in our
19942                         device list as long as they have an AP MAC address we can use.
19943                         Also send WirelessNetwork[Dis]Appeared signals for non-active
19944                         devices too.  Lets the applet update more frequently.
19945
19946         * src/backends/NetworkManagerGentoo.c
19947                 - Patch from: Robert Paskowitz
19948                         - Update backend code for Gentoo
19949                         - Implement nm_system_device_update_config_info ()
19950
19951         * test/nmclienttest.c
19952                 - (set_network_device): new function, takes a command-line argument
19953                         and tells NetworkManager to use that wireless network
19954
19955 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
19956
19957         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
19958         if the notification icon crashes 5 times within 5 seconds of each respawn 
19959
19960 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
19961
19962         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
19963         g_print.
19964
19965 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
19966
19967         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
19968
19969         * panel-applet/NMWirelessApplet.c: (animation_timeout),
19970         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
19971         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
19972         Change the name of the icons.
19973
19974         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
19975         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
19976         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
19977         (nm_menu_wireless_expose_event): Really bad hack to get the style
19978         to draw in the right color.
19979
19980 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
19981
19982         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
19983         Notification if it crashes
19984
19985 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
19986
19987         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
19988         (nmwa_dbus_get_string): remove unused functions
19989
19990         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
19991         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
19992         remove unused functions
19993
19994         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
19995
19996 2004-10-12 Dan Williams <dcbw@redhat.com>
19997
19998         * panel-applet/NMWirelessAppletDbus.c
19999                 - New functions:
20000                         wireless_network_new
20001                         wireless_network_copy
20002                         network_device_new
20003                         network_device_copy
20004
20005         * src/NetworkManagerDevice.[ch]
20006                 - New functions:
20007                         nm_device_set_mode_managed
20008                         nm_device_set_mode_adhoc
20009                 - Use these functions where appropriate
20010                 - When creating a new wireless device, force the card
20011                         to managed/Infrastructure mode as soon as possible
20012
20013 2004-10-12 Dan Williams <dcbw@redhat.com>
20014
20015         * src/NetworkManagerDevice.c
20016                 - Force wireless cards into Infrastructure mode before we use them
20017
20018 2004-10-12 Dan Williams <dcbw@redhat.com>
20019
20020         * TODO
20021                 - Remove bit about static IP address support
20022
20023         * src/NetworkManagerUtils.c
20024                 - (nm_spawn_process): Add some error reporting
20025
20026         * src/NetworkManagerDevice.c
20027                 - (nm_device_activation_configure_ip): hook up to the static config
20028                         routines in the backends
20029
20030         * src/backends/NetworkManagerRedHat.c
20031                 - (nm_system_device_update_config_info): use shvar.c routines to
20032                         parse the config file iformation, not our own
20033                 - (nm_system_device_setup_static_ip4_config): new function, based
20034                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
20035                         with a static IP address and gateway
20036
20037         * src/backends/shvar.[ch]
20038                 - Parser (filched from initscripts package) for ifcfg-* files
20039
20040         * src/backends/NetworkManagerSystem.h
20041           src/backends/NetworkManagerGentoo.c
20042           src/backends/NetworkManagerDebian.c
20043           src/backends/NetworkManagerSlackware.c
20044                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
20045
20046 2004-10-11 Dan Williams <dcbw@redhat.com>
20047
20048         * TODO
20049                 - Remove bit about more robust AP diffing since I just implemented it
20050
20051 2004-10-11 Dan Williams <dcbw@redhat.com>
20052
20053         * src/NetworkManagerAP.c
20054                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
20055                         enough RAM to allocate new AP structures, but return NULL instead
20056
20057         * src/NetworkManagerAPList.[ch]
20058                 - (nm_ap_list_is_empty): new function
20059                 - (nm_ap_list_combine): new function, combine two access point lists
20060                 - (nm_ap_list_copy_keys): new function, copy keys from one list
20061                         into another
20062
20063         * src/NetworkManagerDevice.[ch]
20064                 - Rename some functions to be clearer:
20065                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
20066                         nm_device_just_activated     -> nm_device_is_just_activated
20067                         nm_device_activating         -> nm_device_is_activating
20068                         nm_device_now_scanning       -> nm_device_is_scanning
20069                 - Cache the last 4 scans so that the access point list is more stable.
20070                         We combine the lastest two scans and use that as the AP list,
20071                         and diff that combined list against the combination of the earliest
20072                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
20073
20074 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20075
20076         * info-daemon/NWManagerInfo.h
20077                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
20078
20079         * info-daemon/NWManagerInfoDbus.c
20080                 - (shutdown_callback): new function
20081                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
20082                         if NetworkManager goes away.  Kill the timeout
20083                         if NetworkManager restarts before the 30 seconds
20084                         are up.
20085                 - (nmi_dbus_service_init): 
20086                         - call gtk_main_quit if NetworkManager is not running
20087                         - add filters to monitor dbus service creations and
20088                                 deletions
20089         
20090 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20091
20092         * panel-applet/NMWirelessApplet.c
20093                 - (nmwa_update_state): Hide notification icon if we are only
20094                         showing one wired card and no wireless interfaces 
20095                         (Red Hat Bug #134895)
20096
20097         * panel-applet/NMWirelessAppletDbus.c
20098                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
20099
20100         * info-daemon/NWManagerInfo.c
20101                 - (main): Terminated the notification_icon_cmd array with a NULL
20102
20103 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
20104
20105         * configure.in (ALL_LINGUAS): Added de (German).
20106
20107 2004-10-08 Dan Williams <dcbw@redaht.com>
20108
20109         * src/NetworkManagerDevice.c
20110                 - Be a bit more robust about link checking, ie make sure that
20111                         the WEP key we were given actually has some data in it
20112
20113 2004-10-08 Dan Williams <dcbw@redhat.com>
20114
20115         * info-daemon/NetworkManagerInfo.c (main):
20116                 - Initialize GError object to NULL
20117
20118 2004-10-08 Dan Williams <dcbw@redhat.com>
20119
20120         * panel-applet/NMWirelessAppletDbus.c
20121                 - Die if NetworkManagerInfo dies, since it manages our lifetime
20122
20123 2004-10-08 Dan Williams <dcbw@redhat.com>
20124
20125         * info-daemon/NetworkManagerInfo.[ch]
20126           info-dameon/NetworkManagerInfoDbus.[ch]
20127           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
20128                 - Preserve original label text in the passphrase dialog so that
20129                         it actually gets updated with the new network name the next
20130                         time around.  Previously, we were overwriting it so you'd get
20131                         the wrong network name to enter a key for
20132                 - Add a "Key Type" combo to the passphrase dialog, user selects
20133                         encryption key type now, type is stored in GConf too
20134                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
20135
20136         * src/NetworkManagerAP.[ch]
20137                 - Remove all the encyption method magic.  It's now set by the user
20138                         and NetworkManager retrieves the type of encryption key from
20139                         NetworkManagerInfo
20140
20141         * src/NetworkManagerAPList.[ch]
20142           src/NetworkManagerDbus.[ch]
20143                 - Adjust to new way of setting encryption key and method
20144                 - Pull encryption method down from NMI along with key
20145
20146         * src/NetworkManagerDevice.[ch]
20147                 - Removed encryption method fallback magic as the method is now
20148                         determined by the user.  This greatly simplifies the connection
20149                         logic.
20150                 - More robust connection/link logic.  Besides removing the encryption
20151                         method fallback magic, check whether or not the card is receiving
20152                         invalidly encrypted packets, which usually indicates that we have
20153                         a bad WEP key set.
20154                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
20155
20156         * test/nminfotest.c
20157                 - Test out new "Key Type" stuff in the NMI passphrase dialog
20158
20159 2004-10-07 Dan Williams <dcbw@redhat.com>
20160
20161         * info-daemon/NetworkManagerInfo.conf
20162                 - Allow root user to run NMI too
20163
20164 2004-10-06 Dan Williams <dcbw@redhat.com>
20165
20166         * src/NetworkManagerDevice.[ch]
20167           src/NetworkManagerDbus.c
20168           doc/NetworkManager DBUS API.txt
20169                 - Add a new status tag "scanning", which is set when there
20170                         is no active network connection, but NetworkManager is
20171                         looking for an access point to associate with
20172
20173         * panel-applet/main.c
20174                 - Cast the applet appropriately for gtk_widget_show_all ()
20175
20176 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
20177
20178         * panel-applet/eggtrayicon.[ch]:
20179         * panel-applet/main.c: Add missing file
20180
20181 2004-10-04 Dan Williams <dcbw@redhat.com>
20182
20183         * src/NetworkManagerDevice.[ch]
20184                 - Add a slightly more robust method of determining if the WEP key
20185                         is correct or not, by checking the WEP-discarded packet count
20186                         on the card
20187
20188         * info-daemon/NetworkManagerInfo.c
20189                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
20190                         un-escape values we pull out rather than escaping them
20191
20192 2004-10-03  Marcel Telka  <marcel@telka.sk>
20193
20194         * configure.in (ALL_LINGUAS): Added sk.
20195
20196 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
20197
20198         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
20199         and feel.  We should be back to working, and have a good, clean
20200         look.
20201
20202 2004-09-30 Dan Williams <dcbw@redhat.com>
20203
20204         * info-daemon/NetworkManagerInfo.c
20205           info-daemon/NetworkManagerInfoDbus.c
20206           test/nminfotest.c
20207                 - Escape ESSIDs in gconf
20208
20209         * src/NetworkManagerDevice.c
20210                 - Fix pseudo-scanning to use netowrk list from info daemon
20211
20212 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
20213
20214         * configure.in: Add a temporary --enable-notification-icon.  This
20215         will prolly go away.
20216
20217         * info-daemon/Makefile.am:
20218         * info-daemon/NetworkManagerInfo.c:
20219         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
20220
20221         * panel-applet/Makefile.am:
20222         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
20223         * panel-applet/NMWirelessApplet.h:
20224
20225 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
20226
20227         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
20228         before 'select custom ESSID'.
20229
20230         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
20231         fully complete, but syncing in prep for merge.
20232
20233         * panel-applet/icons/*png: New images
20234
20235 2004-09-28 Dan Williams <dcbw@redhat.com>
20236
20237         * src/NetworkManager.c
20238           src/NetworkManagerDevice.c
20239           src/NetworkManagerPolicy.c
20240                 - Don't blow away an active wired connection on startup
20241
20242 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
20243
20244         Changes from J5
20245         
20246         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
20247
20248         * info-daemon/NetworkManagerInfoDbus.c: added service name to
20249         syslog output
20250
20251 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
20252
20253         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
20254         have a wireless card.
20255
20256 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
20257
20258         * panel-applet/NMWirelessApplet.c: move the custom essid item.
20259         Also, get the right device strings.
20260
20261 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
20262
20263         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
20264         the logic to make this right.
20265
20266         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
20267         devices so that wired networks are always first.
20268
20269 2004-09-22    <clarkbw@cvs.gnome.org>
20270
20271         * initscript/Debian/.cvsignore:
20272         * initscript/Slackware/.cvsignore:
20273         Added new cvsignores for Makefile, Makefile.in
20274         
20275         * test/.cvsignore:
20276         Added nmtestdevices
20277         
20278         * src/NetworkManagerDevice.c: 
20279         * src/NetworkManager.c: 
20280         Updated the wireless/wired HAL device strings from net.ethernet to
20281         net.80203 or net.80211 depending on wired or wireless respectively
20282         
20283         * examples/python/NetworkManager.py: 
20284         s/Quality/Strength/
20285
20286         * examples/python/systray/network_tray.py:
20287         Lots of little changes and fixes.  been rotting for a while so I
20288         figured I'd finally sync them all with CVS
20289
20290 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
20291
20292         * configure.in: Add graphics
20293
20294         * panel-applet/Makefile.am: Add graphics
20295
20296         * panel-applet/icons/*: Add graphics
20297
20298         * panel-applet/NMWirelessApplet.c: Use new menu times to display
20299         the icons fully lined up.
20300
20301         * panel-applet/menu-info.c: 
20302         * panel-applet/menu-info.h: Add another menu type.
20303
20304 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
20305
20306         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
20307
20308         * panel-applet/menu-item.[ch]: Wireless menu item.
20309
20310 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
20311
20312         * info-daemon/NetworkManagerInfo.conf
20313                 - Created a more robust security policy for the DBus service
20314                         - everything is denied by default
20315                         - root can own and send to the service
20316                         - users logged in at the console can send to the service
20317
20318 2004-09-13  Dan Williams <dcbw@redhat.com>
20319
20320         * src/NetworkManagerDevice.c
20321                 - (nm_device_get_essid): use iw_get_basic_config() rather than
20322                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
20323                         the latter
20324
20325 2004-09-13  Dan Williams <dcbw@redhat.com>
20326
20327         * TODO: fix typo
20328
20329         * docs/NetworkManager DBUS API.txt
20330                 - Update for new signal strength changes
20331
20332         * panel-applet/NMWirelessApplet.c
20333                 - Make panel icon show strength of the current connection
20334                 - Cleanups and memleak fixes
20335
20336         * panel-applet/NMWirelessApplet.h
20337                 - Add data members for signal strength on devices and networks
20338
20339         * panel-applet/NMWirelessAppletDbus.c
20340                 - Free more DBusErrors
20341                 - Update for new signal strength changes
20342                 - Make devices and networks more like real objects, use ref/unref methods
20343                 - Actually unlock the mutex when updating the active device
20344
20345         * src/NetworkManagerAP.c
20346                 - Change AP functions and data members from "quality"->"strength"
20347
20348         * src/NetworkManagerDbus.c
20349                 - Kill "getMaxQuality" and "getQuality" methods
20350                 - Add "getStrength" methods for Networks and Devices
20351
20352         * src/NetworkManagerDevice.[ch]
20353                 - Add accessors for device strength
20354                 - Add functions to update strength for a device.  Note that not all drivers
20355                         actually support signal strength for scanned access points (Atmel drivers
20356                         being one)
20357                 - Calculate signal strength for each AP during scan
20358
20359         * src/NetworkManagerWireless.[ch]
20360                 - Add function to return signal strength % from a device and a raw quality struct
20361
20362         * test/nmclienttest.c
20363                 - Update for new signal strength changes
20364
20365 2004-09-11  Dan Williams <dcbw@redhat.com>
20366
20367         * src/NetworkManager.c
20368                 - Fix race condition between initscripts and NM on card insertion
20369                         which could cause a card to keep an IP address and routes around
20370                         even when it was not the active device
20371
20372         * src/NetworkManagerDbus.c
20373                 - Fix compile errors, free more DBusErrors
20374
20375 2004-09-11  Dan Williams <dcbw@redhat.com>
20376
20377         * docs/NetworkManager DBUS API.txt
20378                 - Add an explanation of NM's API
20379
20380         * src/NetworkManagerDbus.c
20381                 - Free some more DBusErrors if needed
20382
20383 2004-09-11  Dan Williams <dcbw@redhat.com>
20384
20385         * panel-applet/NMWirelessApplet.c
20386           panel-applet/NMWirelessAppletDbus.c
20387                 - Start using NetworkDevice/WirelessNetwork structures in more places
20388                 - Update for unified device/network forcing in NetworkManager
20389
20390         * src/NetworkManager.c
20391                 - some code consolidation
20392
20393         * src/NetworkManagerDbus.c
20394                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
20395                         or two arguments:  the first is the NM ID of the device to switch to,
20396                         and the second (optional) argument is the ESSID of a wireless network
20397                         to use as well.
20398                 - Get rid of "setNetwork" method due to above change
20399
20400         * src/NetworkManagerDevice.c
20401                 - (nm_device_new): perform scan and update best AP on device creation
20402                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
20403                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
20404                         spin waiting for cancellation to finish before returning
20405
20406         * src/NetworkManagerPolicy.c
20407                 - Changes here clarify the situations in which a device switch occurs, and 
20408                         make sure to keep using a forced device and network if the user gives
20409                         us one
20410                 - Remove old unused code
20411
20412 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
20413
20414         * configure.in: Added Danish (da) to ALL_LINGUAS.
20415
20416 2004-09-09  Dan Williams <dcbw@redhat.com>
20417
20418         * panel-applet/NMWirelessAppletDbus.c
20419                 - Pull fresh devices and networks from NM when wireless networks
20420                         change.  Provides faster feedback of a forced wireless network
20421
20422         * src/NetworkManagerDbus.c
20423                 - Return error when "getMaxQuality" is called on a wired device
20424                 - Make best_ap freezing actually work again, and signal cancellation
20425                         of activation if there's already a device activation when the user
20426                         freezes the best_ap
20427
20428         * src/NetworkManagerDevice.c
20429                 - Don't clear out the best_ap for wireless devices when the link goes
20430                         down, that's done elsewhere
20431                 - Kill any dhcp daemons when cancelling device activation since they
20432                         may be stuck waiting for a DHCP address, and since we're cancelling
20433                         activation we don't care about that anymore
20434
20435         * src/NetworkManagerPolicy.c
20436                 - Make sure to unref the device we ref earlier (we refed it to make sure
20437                         it stuck around during device activation and such)
20438                 - If we were going to change the best device, but its activating currently
20439                         (and therefore the change didn't occur due to the check earlier)
20440                         we mark the state changed to we come back to it later when device
20441                         activation has canceled and its no longer activating
20442
20443         * src/backends/NetworkManagerRedHat.c
20444                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
20445
20446 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
20447
20448         * info-daemon/passphrase.glade: 
20449         set passphrase input to activates_default : True
20450
20451         * examples/python/systray/network_tray.py
20452         (network_tray.sort_networks):
20453
20454         Added support for having wireless always scanning
20455
20456 2004-09-09  Dan Williams <dcbw@redhat.com>
20457
20458         NOTE: this commit changes the behavior of wireless devices in
20459         NetworkManager.  They are now up all the time, scanning all
20460         the time.  Only the active device has an IP address and routing
20461         information set up however.  Also, NetworkManager will no longer
20462         opportunistically switch wireless networks when a better one
20463         comes in range, it will remain associated with one wireless network
20464         until that one drops out.
20465
20466         * panel-applet/NMWirelessApplet.c
20467           panel-applet/NMWirelessAppletDbus.c
20468                 - List all wireless cards and their respective networks
20469
20470         * src/NMLoadModules
20471                 - Use full path to /sbin/ip
20472
20473         * src/NetworkManager.c
20474                 - Keep wireless devices up all the time so they can scan
20475
20476         * src/NetworkManagerDbus.c
20477                 - On a WirelessNetworkUpdate signal from NMI, don't update
20478                         the "best" AP
20479
20480         * src/NetworkManagerDevice.c
20481                 - (nm_device_set_link_active): clear out the best ap for
20482                         wireless devices when the link is set to FALSE
20483                 - Scan on all wireless cards, all the time
20484                 - (nm_device_activation_worker): split out the wireless card
20485                         link-waiting code to a separate function
20486                 - Keep wireless cards up even if device activation fails
20487                 - Don't update the "best" ap as much
20488
20489         * src/NetworkManagerPolicy.c
20490                 - Don't update the best ap when checking if its frozen,
20491                         let link checking clear out a frozen best ap for us
20492
20493         * src/NetworkManagerWireless.c
20494                 - Scan on all wireless cards, all the time
20495
20496 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
20497
20498         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
20499
20500 2004-09-09  Ankit Patel <ankit@redhat.com>
20501
20502         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
20503
20504 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
20505
20506         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
20507
20508 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
20509
20510         * examples/python/NetworkManager.py: 
20511         added CONNECTED, CONNECTING, and DISCONNECTED states
20512         added methods to return number of devices of a single type
20513
20514         * examples/python/systray/network_tray.py: 
20515         did some tweaks to get the menu looking near what it is supposed
20516         to look like.  Also did a Airo card hack to make it show the
20517         correct AP quality
20518
20519 2004-09-08  Dan Williams <dcbw@redhat.com>
20520
20521         * panel-applet/no-networkmanager.png
20522           panel-applet/Makefile.am
20523           panel-applet/NMWirelessApplet.c
20524                 - Add a "NetworkManager not running" icon and use it
20525                 - Use new consolidated GConf keys rather than Preferred/Trusted
20526
20527         * TODO: update
20528
20529         * info-daemon/NetworkManagerInfo.c
20530           info-daemon/NetworkManagerInfoDbus.[ch]
20531           info-daemon/NetworkManagerInfoPassphraseDialog.c
20532                 - There are now no longer two separate lists of wireless networks,
20533                         but one list where each network is "trusted" or not trusted
20534                 - Add a "getNetworkTrusted" dbus method
20535                 - "WirelessNetworkUpdate" signal now sent rather than
20536                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
20537                 - Start freeing some dbus errors (not completed yet)
20538
20539         * info-daemon/passphrase.glade
20540                 - Remove the "don't show" hints for pager and taskbar
20541                 - Add a title since its going to be in the taskbar
20542
20543         * src/NetworkManager.[ch]
20544           src/NetworkManagerAPList.[ch]
20545                 - There are now no longer two separate lists of wireless networks,
20546                         but one list where each network is "trusted" or not trusted
20547
20548         * src/NetworkManagerAP.[ch]
20549                 - Add get/set "trusted" accessors and data bit
20550
20551         * src/NetworkManagerDbus.[ch]
20552                 - Add function to get "trusted" status of a network from NetworkManagerInfo
20553                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
20554
20555         * src/NetworkManagerDevice.[ch]
20556                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
20557                 - (nm_device_new): Get device config from backend when initializing devices
20558                 - (nm_device_activation_worker): Split out device configuration on
20559                         activation to deal with static/dynamic IP differences, and try encryption
20560                         fallbacks on a device if the encryption method for the best AP is not good
20561                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
20562                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
20563
20564         * src/NetworkManagerWireless.c
20565                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
20566
20567         * src/backends/NetworkManagerRedHat.c
20568           src/backends/NetworkManagerSystem.h
20569                 - (nm_system_device_update_config_info): Add function to get device configuration
20570                         from system data in ifcfg-* files
20571
20572         * src/backends/NetworkManagerDebian.c
20573           src/backends/NetworkManagerGentoo.c
20574           src/backends/NetworkManagerSlackware.c
20575                 - Add stub functions for getting device configuration
20576
20577 2004-09-07  Dan Williams <dcbw@redhat.com>
20578
20579         * src/backends/NetworkManagerRedhat.c
20580           src/backends/NetworkManagerSlackware.c
20581                 - Use full path to /sbin/ip everywhere
20582
20583 2004-09-07  Dan Williams <dcbw@redhat.com>
20584
20585         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20586
20587         * configure.in
20588           initscript/Makefile.am
20589           initscript/Slackware/Makfile.am
20590           initscript/Slackware/rc.networkmanager
20591           src/Makefile.am
20592           src/backends/NetworkManagerSlackware.c
20593                 - Add Slackware support
20594
20595 2004-09-07  Dan Williams <dcbw@redhat.com>
20596
20597         Patches below from:
20598                 <j@bootlab.org>
20599                 Mark Roach <mrroach@okmaybe.com>
20600                 Thom May <thom@debian.org>
20601
20602         * configure.in
20603           initscript/Debian/NetworkManager
20604           initscript/Debian/Makefile.am
20605                 - Initscript for Debian
20606
20607         * src/backends/NetworkManagerDebian.c
20608                 - Add missing system init function to allow compilation
20609                         on Debian
20610
20611 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20612
20613         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20614
20615 2004-09-03  Akagic Amila <bono@linux.org.ba>
20616
20617         * configure.in: Added 'bs' to ALL_LINGUAS.
20618
20619 2004-09-02  Colin Walters  <walters@verbum.org>
20620
20621         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20622         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20623         g_strdup_printf instead of arbitrarily sized buffers.
20624
20625 2004-09-01  Colin Walters  <walters@verbum.org>
20626
20627         * NetworkManager.pc.in: New file.
20628
20629         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20630
20631 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20632         
20633         * configure.in: Punjabi(pa) is added to po/.
20634
20635 2004-08-31  Dan Williams <dcbw@redhat.com>
20636
20637         * Remove 'debug' extern global from all files since we now
20638                 use syslog()
20639
20640         * src/NetworkManager.[ch]
20641                 - Break out routine that get the net.interface property from HAL,
20642                         removing that logic from nm_create_device_and_add_to_list()
20643                 - (nm_create_device_and_add_to_list): make this a bit more general so
20644                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20645                         the create of test devices.
20646                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20647                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20648                         which makes NetworkManager listen for dbus commands to create test
20649                         devices, which have no backing hardware.  Use when you're on a plane
20650                         for example, and/or forgot your wireless card at home.  Test devices
20651                         _cannot_ be created unless NM is started with --enable-test-devices.
20652
20653         * src/NetworkManagerDbus.[ch]
20654                 - New "getLinkActive" method for devices
20655                 - New "setLinkActive" method for devices (only works on test devices)
20656                 - New "createTestDevice" method on NetworkManager object to create a test
20657                         device of a specified type (ie wired, wireless).  UDI is created from
20658                         scratch, as is the interface name.  Only works when NM is started with
20659                         --enable-test-devices switch.
20660                 - New "removeTestDevice" method on NetworkManager object which removes a
20661                         test device.  Only works when NM is started with --enable-test-devices
20662
20663         * src/NetworkManagerDevice.[ch]
20664                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20665                         whether a device is a test device or not, and what its link status is.
20666                 - Deal with test devices in most functions.  For those that work directly on hardware
20667                         special-case test devices.
20668                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20669                         command-line.
20670                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20671                         checking to separate functions to facilitate test device link checking.
20672                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20673                         don't make a distinction between System Authentication and Encryption
20674                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20675                         on the card.  We don't deal with Shared Key auth yet.
20676                 - (nm_device_activation_worker): split the activation cancel check logic out into
20677                         a separate routine nm_device_activation_cancel_if_needed()
20678                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20679                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20680                         a list of fake access points that they can "see"
20681                 - (nm_device_is_test_device): return whether or not a device is a test device
20682
20683         * src/NetworkManagerPolicy.c
20684                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20685                         previously if you "locked"/forced NM to use a wireless device but then
20686                         selected a wireless network for NM to use, it would switch to a wired device.
20687                         So, if the active device is wireless and it has a "forced" best AP, use it
20688                         if the "forced" best AP is still valid
20689                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20690                         there were no usable network devices, or the last one was removed
20691
20692         * src/backends/NetworkManager*.c
20693                 - Deal with test devices, mostly just return success for operations like getting
20694                         a DHCP address
20695
20696         * test/nmtestdevices.c
20697                 - Test tool to create/remove/link-switch test devices
20698
20699 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20700
20701         * examples/python/NetworkManager.py: 
20702         added convience functions has_wired_device and has_wireless_device
20703
20704         * examples/python/systray/network_tray.py: 
20705         cleaned up a bunch of cruft, added support for listing wireless
20706         networks just like the real applet.  This is probably all I'm
20707         going to work on this applet from now on.
20708         TODO: add support for actually changing networks and devices
20709
20710         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20711         changed "nm.networks" into a dict from a list so I can store all
20712         the cool information about networks in there
20713
20714         * examples/python/systray/network_tray.py: 
20715         Added nice message when you try to run without running make first
20716
20717         * examples/python/NetworkManager.py: 
20718         Bug fixes to the code so we get all the device information
20719         that we need in get_device()
20720         
20721         * examples/python/NMTester.py: 
20722         Fixed _print_device_list to print_device_list
20723
20724 2004-08-29  Seth Nickell  <seth@gnome.org>
20725
20726         * configure.in:
20727
20728         Actually properly setup the Debian backend in configure.
20729         
20730 2004-08-29  Colin Walters  <walters@verbum.org>
20731
20732         * test/nminfotest.c: Include string.h and stdlib.h.
20733         (get_network_string_property, get_networks_of_type): Return NULL.
20734
20735         * test/nmclienttest.c (get_device_name, get_active_device): Return
20736         NULL.
20737
20738         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20739         use strlen, fgets always NULL-terminates the string.
20740
20741         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20742         dbus_message_get_member): Remove /* in comment.
20743
20744         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20745
20746         * src/NetworkManager.c (quit): Unused, delete.
20747         (nm_data_free): Cast arg to GFunc.
20748
20749         * panel-applet/NMWirelessAppletDbus.c: Need to include
20750         string.h, and dbus-glib-lowlevel.h (the latter is needed
20751         for dbus_connection_setup_with_g_main at present).
20752         (nmwa_dbus_update_wireless_network_list): Parenthesize
20753         assignment in conditional.
20754         (nmwa_dbus_worker): Return NULL.
20755
20756         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20757         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20758         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20759         (nmwa_populate_menu): Return NULL on failure, instead of just
20760         return;
20761
20762         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20763
20764         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20765         variables.
20766
20767         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20768         delete.
20769         
20770 2004-08-29  Colin Walters  <walters@verbum.org>
20771
20772         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
20773         a GTimeVal instead of time_t.  This is easier to work with,
20774         since time_t may be a long or double, we don't know.
20775
20776         * src/NetworkManagerDbus.h: Update prototype.
20777         
20778         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
20779         instead of time_t.
20780         (nm_ap_get_timestamp): Update to return GTimeVal.
20781         (nm_ap_set_timestamp): Update to take GTimeVal.
20782         
20783         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
20784         to handle GTimeVal.
20785
20786         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
20787         GTimeVal change.
20788         (nm_ap_list_print_members): Fix warnings in printf format.
20789
20790 2004-08-29  Colin Walters  <walters@verbum.org>
20791         
20792         * panel-applet/NMWirelessApplet.c: Include config.h.
20793
20794 2004-08-29  Colin Walters  <walters@verbum.org>
20795
20796         * configure.in: Generate config.h.
20797
20798         * configure.in: Dump dependency on OpenSSL; we can't
20799         use it since this package is GPL:
20800         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
20801         Instead, check for libgcrypt, use it if available,
20802         otherwise use included MD5 code.
20803
20804         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
20805         Suck in from gnome-keyring, munge a bit.
20806         
20807         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
20808         gnome-keyring-md5.h gnome-keyring-md5.c.
20809         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
20810
20811         * src/NetworkManagerWireless.c (nm_md5): New function, uses
20812         libgcrypt or included gnome-keyring md5 bits.
20813         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
20814
20815 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
20816
20817         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
20818
20819 2004-08-27  Bryan Clark  <bclark@redhat.com>
20820
20821         * examples/python/systray/Makefile: 
20822
20823         Updated the clean section
20824         
20825         * examples/python/systray/trayiconmodule.c: 
20826         * examples/python/systray/trayicon.override: 
20827         * examples/python/systray/network_tray.py: 
20828         * examples/python/systray/eggtrayicon.h: 
20829         * examples/python/systray/eggtrayicon.c: 
20830         * examples/python/systray/Makefile: 
20831         * examples/python/README: 
20832         * examples/python/NetworkManager.py: 
20833         * examples/python/NMTester.py: 
20834
20835         Initial commit of these python example files
20836
20837 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
20838
20839         * panel-applet/NMWirelessApplet.c
20840                 - Make current device bold
20841                 - Show more user-friendly device name if we got one from hal
20842
20843         * panel-applet/NMWirelessAppletDbus.c
20844                 - Grab "info.product" key from hal for network devices
20845                 - Cache the current active device
20846
20847 2004-08-27  Adam Weinberger  <adamw@gnome.org>
20848
20849         * configure.in: Added en_CA to ALL_LINGUAS.
20850
20851 2004-08-27  Christian Rose  <menthos@menthos.com>
20852
20853         * configure.in: Added "sv" to ALL_LINGUAS.
20854
20855 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20856
20857         * Tag NetworkManager-0.2
20858
20859 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
20860
20861         * initscripts/Makefile.am
20862         * configure.in: Make pass distcheck
20863
20864         * po/ChangeLog: added
20865
20866 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20867
20868         * panel-applet/NMWirelessApplet.c
20869                 - Remove debugging code
20870                 - Enable device switching from menus
20871
20872         * panel-applet/NMWirelessAppletDbus.[ch]
20873                 - Method for asking NM to switch devices
20874
20875         * src/NetworkManagerDevice.c
20876                 - Set dev->activating earlier, avoids race between
20877                         the dbus signal of "DeviceActivating" and setting
20878                         dev->activating (which is what NM's "status" method call
20879                         looks at)
20880
20881 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20882
20883         * panel-applet/NMWirelessApplet.[ch]
20884                 - Rework menu code to add devices to menu, and to show
20885                         signal strength for each access point.  Code cleanups
20886                         too.
20887
20888         * panel-applet/NMWirelessAppletDbus.c
20889                 - Grab network devices from NetworkManager too
20890                 - Grab quality information from NM for wireless networks
20891
20892         * src/NetworkManagerDbus.[ch]
20893                 - Add dbus methods for getting the HAL UDI from a device and
20894                         for getting its base quality, if its wireless
20895                 - Consolidate some functions (wireless network notifications,
20896                         device notifications)
20897                 - Add method for requesting NM to use a particular device
20898
20899         * src/NetworkManager.c
20900                 - Change for function consolidations from NetworkManagerDbus.c
20901                 - Implement active device locking and user-requested devices
20902                         (ie, tell NM to use a particular device instead of the one
20903                         it autochose)
20904
20905         * src/NetworkManagerDevice.c
20906                 - Add method for getting the base quality of a device, if its
20907                         wireless
20908                 - Grab device base quailty info from iwlib during scans
20909
20910         * src/NetworkManagerPolicy.c
20911                 - Use a user-requested device rather than the auto-chosen device
20912                         if we are told to
20913
20914 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
20915
20916         * Makefile.am: add po as a supdir
20917
20918         * autogen.sh: use gnome-autogen.sh
20919
20920         * initscript/Gentoo/.cvsignore:
20921         * initscript/RedHat/.cvsignore: Shut up cvs
20922
20923         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
20924
20925         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
20926         (nmwa_fill): Use gettext.
20927
20928         * configure.in: add gettext support
20929         * po/.cvsignore:
20930         * po/NetworkManager.pot:
20931         * po/POTFILES.in:
20932
20933 2004-08-26  Seth Nickell  <seth@gnome.org>
20934
20935         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
20936         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
20937         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
20938         (nmwa_dispose_menu_items), (nmwa_populate_menu),
20939         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
20940         * panel-applet/NMWirelessApplet.h:
20941
20942         Use a menu bar instead of a button for the main clickable
20943         thingy.
20944         
20945 2004-08-25  Dan Williams <dcbw@redhat.com>
20946
20947         * src/NetworkManagerDevice.c
20948                 - (nm_device_set_enc_key): always set device to "open" mode instead of
20949                         turning encryption off, because the Cisco driver doesn't associate
20950                         with WEP-enabled access points unless we are in "open"
20951
20952 2004-08-25  Dan Williams <dcbw@redhat.com>
20953
20954         * src/NetworkManagerWireless.c
20955                 - Don't try to defererence blank passphrases
20956
20957 2004-08-25  Dan Williams <dcbw@redhat.com>
20958
20959         * panel-applet/NMWirelessApplet.c
20960                 - Rebuild the menu whenever a user clicks
20961
20962 2004-08-25  Dan Williams <dcbw@redhat.com>
20963
20964         * panel-applet/NMWirelessApplet.c
20965                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
20966                         when NM isn't around or when its not connected
20967
20968         * src/NetworkManagerDevice.c
20969                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
20970                         canceled.
20971
20972 2004-08-25  Dan Williams <dcbw@redhat.com>
20973
20974         * panel-applet/NMWirelessAppletDbus.c
20975                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
20976                         for getting encryption, and don't stop on "val" once we've gotten it
20977                         from NetworkManager.  Short form:  encryption should now show up.
20978
20979 2004-08-25  Dan Williams <dcbw@redhat.com>
20980
20981         * panel-applet/NMWirelessApplet.c
20982                 - Set ESSID on a gconf trusted network too when force-setting the wireless
20983                         network to associate with
20984
20985 2004-08-25  Dan Williams <dcbw@redhat.com>
20986
20987         * panel-applet/*
20988                 - Rework the panel applet to do all DBUS communication in a separate
20989                         thread
20990
20991 2004-08-25  Dan Williams <dcbw@redhat.com>
20992
20993         * info-daemon/NetworkManagerInfo.[ch]
20994                 - Remove "get_next_priority" function
20995
20996         * info-daemon/NetworkManagerInfoDbus.[ch]
20997                 - Convert "priority" functions to "timestamp"
20998
20999 2004-08-25  Dan Williams <dcbw@redhat.com>
21000
21001         * src/NetworkManagerAP.[ch]
21002                 - Add a "enc_method_good" member and accessors to an Access Point
21003                         to signal when we've found the correct encryption method
21004                         for an access point
21005                 - Add a "timestamp" member and accessors, remove "priority" member
21006                         and accessors (use timestamps instead)
21007                 - Rename "wep_key"->"enc_key"
21008                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
21009                         for a specified encryption method using the access points
21010                         source encryption key/passphrase
21011
21012         * src/NetworkManagerAPList.c
21013                 - When updating a network with dbus, grab timestamp now instead of
21014                         priority
21015
21016         * src/NetworkManagerDBus.[ch]
21017                 - Add signal for "DeviceActivating"
21018                 - Switch priority->timestamp
21019
21020         * src/NetworkManagerDevice.c
21021                 - Change references of "wep_key" -> "enc_key" or "key"
21022                 - Signal DeviceActivating when starting activation
21023                 - When activating a wireless device, if the access point we are connecting
21024                         to is encrypted, and we have a source key, try to generate a mangled
21025                         key and use that (ie, generate real WEP key from a passphrase)
21026                 - Rework device activation to fallback to other encryption methods if
21027                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
21028                         first, then if that doesn't work fall back to direct hex key).
21029                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
21030                         priority.  We now prefer the latest access point used, rather than using
21031                         a priority scheme
21032                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
21033                         points we've just discovered, and merge in correct info from the global
21034                         access point lists
21035
21036 2004-08-25  Seth Nickell  <seth@gnome.org>
21037
21038         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
21039         Debian support.
21040         
21041         * src/Makefile.am:
21042         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
21043         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
21044         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
21045         (nm_system_delete_default_route),
21046         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
21047         (nm_system_load_device_modules):
21048
21049 2004-08-24  Dan Willemsen <dan@willemsen.us>
21050
21051         * src/NetworkManager.c
21052           src/backends/NetworkManagerGentoo.c
21053           src/backends/NetworkManagerRedHat.c
21054           src/backends/NetworkManagerSystem.h
21055                 - Implement preliminary Gentoo support, adding a
21056                         nm_system_init function to the backend specification
21057
21058         * configure.in
21059                 - Distribution auto-detection, lowercase any user-fed
21060                         distribution names
21061
21062         * initscript/.cvsignore
21063           initscript/Makefile.am
21064           initscript/RedHat/Makefile.am
21065           initscript/RedHat/NetworkManager
21066           initscript/Gentoo/Makefile.am
21067           initscript/Gentoo/NetworkManager
21068                 - Refactored initscript code separately for each
21069                         distribution
21070
21071 2004-08-23  Dan Williams <dcbw@redhat.com>
21072
21073         * configure.in
21074           src/Makefile.am
21075           src/NetworkManagerDevice.c
21076           src/NetworkManager.c
21077           src/NetworkManagerUtils.[ch]
21078           src/backends/NetworkManagerSystem.h
21079           src/backends/NetworkManagerRedHat.c
21080           src/backends/NetworkManagerGentoo.c
21081                 - Refactor system-specific code into separate backends for
21082                         each distribution
21083
21084 2004-08-23  Dan Willemsen <dan@willemsen.us>
21085
21086         * dispatcher-daemon/NetworkManagerDispatcher.c
21087           info-daemon/NetworkManagerInfo.[ch]
21088           info-daemon/NetworkManagerInfoDbus.c
21089           info-daemon/NetworkManagerInfoPassphraseDialog.c
21090           src/NetworkManager.c
21091           src/NetworkManagerAP.c
21092           src/NetworkManagerAPList.c
21093           src/NetworkManagerDbus.c
21094           src/NetworkManagerDevice.c
21095           src/NetworkManagerPolicy.c
21096           src/NetworkManagerUtils.[ch]
21097           src/NetworkManagerWireless.c
21098                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
21099
21100         * src/NetworkManager.c
21101                 - Fixed usage wording for --no-daemon
21102
21103 2004-08-23  Dan Williams <dcbw@redhat.com>
21104
21105         * panel-applet/NMWirelessApplet.c
21106                 - Update our state every second to get more responsive panel icon
21107                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
21108                         was causing our marching ants status blips to never move when
21109                         looking for a wireless network
21110
21111         * src/NetworkManagerDevice.c
21112                 - (nm_device_activation_begin): return if activation has already begun
21113                 - (nm_device_do_normal_scan): merge WEP key and priority from the
21114                         trusted/preferred network into the device's access point when the
21115                         scan list is processed
21116
21117 2004-08-23  Dan Williams <dcbw@redhat.com>
21118
21119         * initscript/NetworkManager
21120                 - Use NMLaunchHelper rather than sleeping
21121
21122         * initscript/NMLaunchHelper.c
21123           Makefile.am
21124                 - Add helper program that exits only when NM activates a device,
21125                         or 10 seconds have passed, whichever happens first.  This
21126                         stops the boot processes until we have a network connection,
21127                         which NM can't do because it daemonizes and brings the connection
21128                         up in the background.  Allows stuff like NFS to not die.
21129
21130 2004-08-20  Dan Williams <dcbw@redhat.com>
21131
21132         * info-daemon/NetworkManagerInfoPassphraseDialog.c
21133                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
21134                         for a network, set the essid as well since it may not exist yet
21135                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
21136                         since WEP keys/passphrases are long and prone to entry-error
21137
21138         * panel-applet/Makefile.am
21139           panel-applet/wired.png
21140                 - Add (pulled from system-config-network temporarily)
21141
21142         * panel-applet/NMWirelessApplet.[ch]
21143                 - Show wired picture when a wired connection is used
21144                 - Rename wireless icon enums, adding WIRELESS
21145
21146         * src/NetworkManagerDevice.c
21147                 - (nm_device_activate_wireless): unset encryption before bringing
21148                         down the card and setting the essid
21149                 - (nm_device_activatin_worker): request a key from the user if the
21150                         AP we are connecting to is encrypted but we don't have a key
21151                         for it yet
21152                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
21153                         strcmp() that prevented a user-entered key from actually getting
21154                         used
21155
21156 2004-08-16  Dan Williams <dcbw@redhat.com>
21157
21158         * initscript/NetworkManager
21159                 - Check for /sbin/ip
21160                 - Do sysctl magic that network service does
21161                 - sleep 4s after start to allow network time to come up [hack]
21162
21163         * src/Makefile.am
21164           src/NMLoadModules
21165                 - Load all network device kernel modules (hal doesn't know devices
21166                         are ethernet until the module is loaded, and therefore we don't know)
21167
21168         * src/NetworkManager.c
21169                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
21170                         network devices, and bring up the loopback device explicitly
21171
21172         * src/NetworkManagerUtils.[ch]
21173                 - (nm_enable_loopback): new function
21174
21175 2004-08-13  Dan Williams <dcbw@redhat.com>
21176
21177         * configure.in
21178           panel-applet/Makefile.am
21179                 - Fix up cleanfiles and server_DATA/server_in_files
21180
21181         * README
21182                 - Update with some comments on theory of operation
21183
21184         * CONTRIBUTING
21185           Makefile.am
21186                 - Add CONTRIBUTING
21187
21188 2004-08-12  Dan Williams <dcbw@redhat.com>
21189
21190         * info-daemon/passphrase.glade
21191                 - Set window title to " "
21192
21193         * panel-applet/Makefile.am
21194           panel-applet/keyring.png
21195                 - Deliver to correct place
21196
21197         * panel-applet/NMWirelessApplet.[ch]
21198                 - Add comments
21199                 - Remove applet->have_active_device as its no longer used
21200                 - (nmwa_load_theme): load keyring.png too
21201                 - (error_dialog): remove
21202                 - (show_warning_dialog): subsume functionality of error dialog too
21203                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
21204                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
21205                         the networks menu
21206                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
21207                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
21208                         and when we get broadcasts of changed wireless access points only, not when the
21209                         user clicks on the button to display the menu (too long of a wait)
21210                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
21211                         networks that are encrypted
21212                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
21213                         menu item with g_object_set_data()
21214
21215         * panel-applet/NMWirelessAppletDbus.[ch]
21216                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
21217                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
21218                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
21219                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
21220                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
21221                         activation/deactivation signals and rebuild the menu when they happen
21222
21223         * src/NetworkManager.c
21224                 - (main): use new nm_spawn_process() rather than system()
21225
21226         * src/NetworkManagerDbus.c
21227                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
21228                         instead.  Since we can now force best_aps to stick around, the AP structure to which
21229                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
21230                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
21231                         to freeze the best_ap.
21232
21233         * src/NetworkManagerDevice.[ch]
21234                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
21235                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
21236                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
21237                         ap list
21238
21239         * src/NetworkManagerUtils.[ch]
21240                 - (nm_spawn_process): add replacement for system() usage
21241
21242 2004-08-11  Dan Williams <dcbw@redhat.com>
21243
21244         * panel-applet/NMWirelessApplet.[ch]
21245                 - Fix up copyright and credits to include Bastien and Eskil,
21246                         who created the gnome-applets wireless applet, from whose
21247                         skeleton this one was created
21248                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
21249                         pixmap to draw is computed during nmwa_update_state()
21250                 - Applet now shows itself all the time due to panel packing issues
21251                         which caused the applet to previously never come back after hiding.
21252                         When a wired device is the active device, the applet shows "not connected"
21253
21254         * panel-applet/NMWirelessAppletDbus.[ch]
21255                 - Clean up error messages and show what function they are from
21256                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
21257                 - Add new device type getters, and a status getter
21258
21259         * src/NetworkManagerDbus.c
21260                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
21261                         network is actually in the device's ap list
21262                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
21263
21264         * src/NetworkManagerDevice.c
21265                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
21266                         card
21267
21268         * test/nmclienttest.c
21269                 - Report status of NetworkManager too
21270
21271 2004-08-11  Dan Williams <dcbw@redhat.com>
21272
21273         * info-daemon/NetworkManagerInfo.c:
21274                 - (main): clean up Seth's code style
21275
21276         * info-daemon/NetworkManagerInfoDbus.c:
21277                 - Use the more aptly-named path/service/interface constants from NetworkManager
21278                 - Don't return empty strings ("") as object paths ever, instead return errors
21279
21280         * panel-applet/NMWirelessApplet.c:
21281                 - Clean up Seth's code style
21282
21283         * src/NetworkManager.[ch]
21284                 - (nm_remove_device_from_list): remove anything having to do with pending_device
21285                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
21286
21287         * src/NetworkManagerAPList.[ch]
21288                 - Move Iter struct right above the iter functions to preserve opacity
21289                 - (nm_ap_list_remove_ap): implement
21290                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
21291                         remove AP if NetworkManagerInfo doesn't know anything about it
21292                 - (nm_ap_list_diff): user NMAPList iterators
21293                 - (nm_ap_list_print_members): implement debugging function
21294
21295         * src/NetworkManagerDbus.[ch]
21296                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
21297                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
21298                         and move the actual key setting stuff into NetworkManagerDevice.c
21299                 - (nm_dbus_get_network_priority): return -1 now on errors
21300                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
21301                         get lost, and force the active device to update its "best" ap when AP lists change
21302                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
21303                         method call due to pending_device member removal
21304
21305         * src/NetworkManagerDevice.[ch]
21306                 - Move NMDevice structure to the top
21307                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
21308                 - Remove Pending Action stuff from everywhere
21309                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
21310                         activation for us.  This thread blocks until all conditions for activation have
21311                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
21312                         then setup up the interface and runs dhclient.  We have to do this because there
21313                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
21314                         run our main loop and respond to dbus method calls or HAL device removals/inserts
21315                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
21316                         can tell nm_device_activation_worker() that we've got a key
21317                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
21318                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
21319                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
21320                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
21321
21322         * src/NetworkManagerPolicy.c
21323                 - Remove anything to do with pending_device
21324                 - Adjust device activation to deal with activation-in-worker-thread
21325
21326         * src/NetworkManagerUtils.c
21327                 - Clean up locking debugging a bit
21328
21329         * src/NetworkManagerWireless.[ch]
21330                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
21331                         was badly named and is better as a device function
21332
21333         * panel-applet/.cvsignore: add
21334
21335 2004-08-09  Seth Nickell  <seth@gnome.org>
21336
21337         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
21338         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
21339         (nmwa_new):
21340         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
21341
21342         Don't load the menus until clicked on (also removes a call outside
21343         normal code paths at first load).
21344
21345         Hide applet when NM is not present.
21346         
21347         Improve printf debugging stuff.
21348         
21349 2004-08-09  Dan Williams <dcbw@redhat.com>
21350
21351         * dispatcher-daemon/NetworkManagerDispatcher.c:
21352                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
21353                 - Use constants for NetworkManager interface, service, and path
21354
21355 2004-08-09  Dan Williams <dcbw@redhat.com>
21356
21357         * src/NetworkManagerDbus.c:
21358                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
21359                         instead return an error message
21360                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
21361                         on a wired device.  Also never return an empty object path, instead return an error message
21362
21363 2004-08-06  Seth Nickell  <seth@gnome.org>
21364
21365         * panel-applet/NMWirelessApplet.c: (nmwa_new):
21366
21367         Check the error code when getting a connection.
21368         
21369         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
21370
21371         Check if the NM service exists when initializing (rather than
21372         assuming it does not).
21373         
21374         * src/NetworkManagerDbus.c: (nm_dbus_init):
21375
21376         Don't acquire the well-known service name until we have
21377         registered object/path handlers and can actually receive
21378         calls.
21379         
21380 2004-08-06  Dan Williams <dcbw@redhat.com>
21381
21382         * panel-applet/*
21383                 - Add panel applet
21384
21385         * src/NetworkManagerPolicy.c
21386           src/NetworkManager.c
21387                 - Get access point lists from NetworkManagerInfo on-demand,
21388                         and look for ServiceCreate/ServiceDeleted signals to see when
21389                         we should query NMI for lists
21390         * src/NetworkManagerAPList.c
21391                 - Make sure to init the list's mutex
21392                 - Convert traversals of the list over to the list iter functions
21393
21394         * src/NetworkManagerDbus.[ch]
21395                 - Use more aptly-named path/service/interface constants
21396                 - Treat both active and pending devices the same for "getActiveDevice"
21397                 - Add a "status" method returning "connected", "connecting", or "disconnected"
21398
21399         * src/NetworkManagerDevice.c
21400                 - Honor "ignored" network list when picking best ap to use
21401
21402 2004-08-06  Seth Nickell  <seth@gnome.org>
21403
21404         * aclocal.m4:
21405
21406         Autogenerated, remove from CVS.
21407         
21408         * autogen.sh:
21409
21410         Don't hardcode automake version.
21411         
21412         * configure.in:
21413         * info-daemon/Makefile.am:
21414         * info-daemon/NetworkManagerInfo.c: (main):
21415
21416         Use GnomeProgram et al. for doing session management.
21417         Use popt stuff for argument parsing rather than doing
21418         it manugally.
21419         
21420 2004-08-05  Dan Williams <dcbw@redhat.com>
21421
21422         * test/nminfotest.c
21423                 - Update to new NMI dbus API, check different network types
21424
21425         * info-daemon/NetworkManagerInfoDbus.c
21426                 - Update to new NM dbus API, ie network type sent in query message
21427
21428 2004-08-05  Dan Williams <dcbw@redhat.com>
21429
21430         * An assload of changes
21431
21432 2004-08-02  Dan Williams <dcbw@redhat.com>
21433
21434         * TODO
21435                 - new task: proper logging support
21436
21437         * info-daemon/NetworkManagerInfo.c
21438                 - Correct spelling of "canceled"
21439                 - Correct casting of objects for g_signal_connect()
21440
21441         * info-daemon/NetworkManagerInfoDbus.c
21442                 - Add defines for NetworkManager namespace and object path, and use them
21443                 - Add filter function to trap new signals from NetworkManager:
21444                         WirelessNetworkAppeared, WirelessNetworkDisappeared
21445
21446         * info-daemon/passphrase.glade
21447                 - Change name of "ok" button to "Login to Network..."
21448                 - Mark invisible
21449
21450         * src/NetworkManager.c
21451                 - Code and debug message cleanups
21452                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
21453                 - (nm_add_initial_devices) Check returned string array of devices
21454                         and don't try to add devices if array is NULL
21455                 - (main) Initialize libhal a bit later, make code a bit clearer
21456
21457         * src/NetworkManagerAP.[ch]
21458                 - New accessor and data member "matched": used to speed up AP list
21459                         diffing
21460                 - New accessor and data member "enc_method": will be used during key
21461                         fallback to cache which passphrase->key conversion actually works
21462                         so we don't have to do it every time
21463
21464         * src/NetworkManagerAPList.[ch]
21465                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
21466                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
21467                         between them, and send WirelessNetworkAppeared/Disappeared signals over
21468                         dbus in response to those differences
21469
21470         * src/NetworkManagerDbus.[ch]
21471                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
21472                         make an object path for that access point (NOTE that we don't yet check to
21473                         make sure that access point is actually in the device's AP list yet)
21474                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
21475                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
21476                         New: signal appearance/disappearance of wireless networks
21477                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
21478                         key entry
21479
21480         * src/NetworkManagerDevice.[ch]
21481                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
21482                 - (nm_device_ap_list_get) New: return the AP list (static function)
21483                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
21484                         new one resulting from the scan with the old one
21485
21486         * src/NetworkManagerWireless.c
21487                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
21488
21489         * test/nminfotest.c
21490                 - #define object paths and namespaces and use the #defines rather than static strings
21491                 - Test out user-key functionality of NetworkManagerInfo too
21492
21493 2004-07-29  Dan Williams <dcbw@redhat.com>
21494
21495         * info-daemon/NetworkManagerInfoDbus.c
21496           src/NetworkManagerDbus.c
21497                 - Update to current DBus (ie don't use decomposed paths when registering
21498                         object paths/fallbacks)
21499
21500 2004-07-27  Dan Williams <dcbw@redhat.com>
21501
21502         * Remove various Makefile.in files
21503
21504         * TODO
21505                 - Add some more items
21506
21507         * configure.in
21508                 - Add checks for OpenSSL/md5 headers and libs
21509
21510         * src/Makefile.am
21511                 - Use OpenSSL CFLAGS
21512
21513         * src/NetworkManagerAP.[ch]
21514                 - Remove 'stamp' functions, replace with 'invalid' functions
21515                         to support user cancelling WEP key entry
21516
21517         * src/NetworkManagerDbus.c
21518                 - Remove 'stamp' return functions
21519                 - Treat returned user key as a passphrase and convert to a WEP key,
21520                         but don't actually use the WEP key yet.  We use the returned user
21521                         key as a hexadecimal WEP key until we can figure out a UI for
21522                         passphrase-vs-hex key
21523
21524         * src/NetworkManagerWireless.[ch]
21525                 - Add passphrase-to-128bit-key function
21526
21527 2004-07-27  Dan Williams <dcbw@redhat.com>
21528
21529         * TODO
21530                 - Add a couple of items
21531
21532 2004-07-27  Dan Williams <dcbw@redhat.com>
21533
21534         * info-daemon/NetworkManagerInfo.c
21535                 - Update allowed network's GConf key when user enters a WEP key explicitly
21536
21537         * info-daemon/NetworkManagerDbus.c
21538                 - Fix some comments
21539                 - nmi_dbus_get_allowed_networks(): kill warning
21540
21541 2004-07-27  Dan Williams <dcbw@redhat.com>
21542
21543         * initscript/Makefile.in
21544                 - Remove
21545
21546         * initscript/Makefile.am
21547                 - Add correct rules to install the init.d initscript
21548
21549         * info-daemon/NetworkManagerInfoDbus.c
21550                 - Remove debug fprintf
21551
21552         * src/NetworkManagerDbus.[ch]
21553                 - Remove debug fprintfs
21554                 - Add macros for NetworkManagerInfo object path/namespace
21555                 - Use said macros instead of constant strings
21556
21557 2004-07-27  Dan Williams <dcbw@redhat.com>
21558
21559         * initscript/.cvsignore
21560                 - Add
21561
21562         * info-daemon/Makefile.am
21563                 - Install .glade files and keyring.png
21564                 - Fix stupid omission of a \ that caused half the flags not to be
21565                         passed to gcc
21566
21567         * info-daemon/NetworkManagerInfo.c
21568                 - gtk_signal_connect->g_signal_connect
21569                 - Alert NetworkManagerInfo to new glade file location
21570
21571 2004-07-27  Dan Williams <dcbw@redhat.com>
21572
21573         * test/nmclienttest.c
21574           test/nminfotest.c
21575                 - Add missing <dbus/dbus.h> headers
21576                 - Add GPL message at top
21577
21578 2004-07-27  Dan Williams <dcbw@redhat.com>
21579
21580         * src/NetworkManagerAPList.[ch]
21581           src/Makefile.am
21582                 - Add.  Deal with allowed network list additions, deletions, and updates
21583
21584         * dispatcher-daemon/NetworkManagerDispatcher.c
21585                 - Add missing <dbus/dbus.h> header
21586
21587         * info-daemon/NetworkManagerInfo.[ch]
21588                 - Add missing <dbus/dbus.h> header
21589                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21590                         network change
21591                 - Better error checking
21592
21593         * info-daemon/NetworkManagerInfoDbus.[ch]
21594                 - Add missing <dbus/dbus.h> header
21595                 - Convert to using dbus_message_append_args/dbus_message_get_args
21596                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21597                         that an allowed network changed.  We don't want to signal on individual
21598                         keys _inside_ an allowed network really, just want NM to query the info
21599                         daemon for updated info on all keys.
21600                 - Better error checking
21601
21602         * src/NetworkManager.[ch]
21603                 - Add missing <dbus/dbus.h> header
21604                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21605                 - Zero out NMData structure on free
21606                 - No longer use a thread for allowed_ap_list updating, instead its now done
21607                         through dbus queries against NetworkManagerInfo
21608                 - Populate allowed_ap_list initially before adding existing network devices
21609                         to the device list, so wireless devices can get their "best" AP
21610
21611         * src/NetworkManagerDbus.[ch]
21612                 - Convert to using dbus_message_append_args/dbus_message_get_args
21613                 - Better error checking
21614                 - Implement Allowed Network info functions to request allowed network
21615                         info from NetworkManagerInfo
21616                 - Implement the filter function to process signals from NetworkManagerInfo
21617                         about changing allowed networks
21618
21619         * src/NetworkManagerDevice.c
21620                 - Fix file descriptor leak in nm_device_update_ip4_address()
21621
21622 2004-07-27  Dan Williams <dcbw@redhat.com>
21623
21624         * .cvsignore
21625           src/.cvsignore
21626           test/.cvsignore
21627           dispatcher-daemon/.cvsignore
21628           info-daemon/.cvsignore
21629                 - Add .cvsignore files to reduce noise when diffing
21630
21631 2004-07-24  Dan Williams <dcbw@redhat.com>
21632
21633         * src/NetworkManager.[ch]
21634           src/NetworkManagerDbus.[ch]
21635           src/NetworkManagerDevice.[ch]
21636           src/NetworkManagerPolicy.c
21637           src/NetworkManagerWireless.[ch]
21638                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21639                 - Pass the NMData application data structure through all calls
21640                         that need it so we can get rid of nm_get_global_data()
21641                 - Change deallocation of the allowed_ap_list GSList in preparation
21642                         for not completely clearing it every time we get an update,
21643                         but instead getting incremental updates via GConf/dbus
21644
21645 2004-07-22  Dan Williams <dcbw@redhat.com>
21646
21647         * configure.in
21648                 - Add checks for GConf libs & headers & flags
21649
21650         * info-daemon/Makefile.am
21651                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21652
21653         * info-daemon/NetworkManagerInfo.[ch]
21654                 - Don't use gquarks for data storage, just use normal data storage
21655                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21656
21657         * info-daemon/NetworkManagerDbus.[ch]
21658                 - Add method call for getting allowed networks
21659                 - Add method calls for getting an allowed network's essid, priority, and key
21660                 - Hook the method calls up to GConf
21661                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21662                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21663                 
21664         * src/NetworkManagerDbus.[ch]
21665                 - Switch for enumeration of networks to using essid instead
21666
21667         * test/Makefile.am
21668           test/nminfotest.c
21669                 - Add test program for NetworkManagerInfo
21670
21671 2004-07-19  Dan Williams <dcbw@redhat.com>
21672
21673         * src/NetworkManagerDbus.c
21674                 - Switch from indexed device paths to names.  Less code, more efficient.
21675                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21676
21677 2004-07-19  Dan Williams <dcbw@redhat.com>
21678
21679         * dispatcher-daemon/NetworkManagerDispatcher.c
21680                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21681
21682 2004-07-19  Dan Williams <dcbw@redhat.com>
21683
21684         * Makefile.am
21685                 - Add info-daemon directory
21686
21687         * configure.in
21688                 - Check for glade libs and headers
21689                 - Add info-daemon directory
21690
21691         * src/NetworkManagerAP.c
21692                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21693                         copied over to the new AP.
21694
21695         * src/NetworkManagerDbus.c
21696           src/NetworkManagerDbus.h
21697                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21698                 - Remove nm_dbus_signal_need_key_for_network()
21699                 - Add disabled code for asynchronous user wep key callbacks
21700                 - Add functions for getting, setting, and cancelling user key operations
21701                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21702                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21703
21704         * src/NetworkManagerDevice.c
21705           src/NetworkManagerDevice.h
21706                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21707                         logic is in device activation now
21708                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21709                         key is wrong) trigger get-user-key pending action
21710                 - Implement get-user-key pending action stuff, tie to dbus messages
21711                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21712                 - Add nm_device_ap_list_get_ap_by_essid()
21713                 - Instead of copying "best" access points, ref them instead so that the key we set
21714                         sticks around
21715
21716         * src/NetworkManagerPolicy.c
21717                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21718                 - Don't cancel pending actions on a device if its the same device as last iteration
21719                 - Only promote pending_device->active_device if activation was successfull
21720
21721         * src/Makefile.am
21722                 - Rename nmclienttest->nmtest
21723
21724         * info-daemon/Makefile.am
21725           info-daemon/NetworkManagerInfo.c
21726           info-daemon/NetworkManagerInfo.h
21727           info-daemon/NetworkManagerInfoDbus.c
21728           info-daemon/NetworkManagerInfoDbus.h
21729           info-daemon/passphrase.glade
21730           info-daemon/NetworkManagerInfo.conf
21731           info-daemon/keyring.png
21732                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21733                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21734                         lists to NetworkManager by proxying user's GConf
21735           
21736
21737 2004-07-15  Dan Williams <dcbw@redhat.com>
21738
21739         * src/Makefile.am
21740                 - Turn on warnings
21741
21742         * src/NetworkManager.c
21743                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21744                         that doing the deactivation ourselves
21745                 - Cancel an pending actions on a device if its being removed
21746                 - Break up link state checking a bit, make non-active wireless cards
21747                         deactivated to save power
21748                 - Remove unused variables
21749
21750         * src/NetworkManager.h
21751                 - Add support for "pending" device
21752
21753         * src/NetworkManagerAP.h
21754           src/NetworkManagerAP.c
21755                 - Add support for determining whether and AP has encryption enabled or not
21756                 - AP address is now "struct ether_addr" rather than a string
21757
21758         * src/NetworkManagerDbus.h
21759           src/NetworkManagerDbus.c
21760                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21761                 - Changes for AP address from struct ether_addr->string
21762
21763         * src/NetworkManagerDevice.h
21764           src/NetworkManagerDevice.c
21765                 - Remove unused variables, fix warnings
21766                 - Add support for Pending Actions (things that block a device from being "active"
21767                         until they are completed).
21768                 - First pending action:  Get a WEP key from the user
21769                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
21770                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
21771                 - Update wireless link checking to try to determine if the AP we are associated
21772                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
21773                         trigger the GetUserKey pending action on the device
21774                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
21775                         up in that case, otherwise we can't scan or link-check on it
21776                 - Add IP address change notifications at appropriate points (still needs some work)
21777                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
21778
21779         * src/NetworkManagerPolicy.h
21780           src/NetworkManagerPolicy.c
21781                 - Split out "best" access point determiniation into separate function
21782                 - Make device activation 2-stage:  first the device is pending, then
21783                         in the next iteration through it becomes "active" unless it has
21784                         pending actions
21785
21786         * src/NetworkManagerUtils.h
21787           src/NetworkManagerUtils.c
21788                 - Clean up unused variables and warnings
21789                 - Wrap our debug macros in {} to prevent possible confusion
21790
21791         * src/NetworkManagerWireless.c
21792                 - Forgot to return current best priority, which lead to last available AP always
21793                         being chosen no matter what its priority was.  Corrected.
21794
21795 2004-07-15  Dan Williams <dcbw@redhat.com>
21796
21797         * dispatcher-daemon/Makefile.am
21798                 - Turn on warnings
21799
21800         * dispatcher-daemon/NetworkManagerDispatcher.c
21801                 - Remove unused variables due to warnings
21802                 - Fix some comments
21803                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
21804
21805 2004-07-06  Dan Williams <dcbw@redhat.com>
21806
21807         * src/NetworkManager.c
21808                 - Add IPv4 address update for active device during link state check
21809                 - Don't allow wireless cards to be powered up when they are not the
21810                         active device
21811
21812         * src/NetworkManagerDbus.c
21813           src/NetworkManagerDbus.h
21814                 - Add DBUS IPv4 address change signal
21815                 - Add DBUS IPv4 address get method for devices
21816
21817         * src/NetworkManagerDevice.c
21818                 - Make setting the WEP key actually work
21819                 - Move IP address get/set/update stuff here, per-device
21820                 - Power down/bring down wireless device when deactivated
21821                 - For scanning wireless devices, if first scan returned ENODATA, try again
21822
21823         * src/NetworkManagerPolicy.c
21824                 - Only set the WEP key for an allowed access point if there is one.
21825                         We were setting it to be blank if one wasn't specified.
21826
21827         * src/NetworkManagerUtils.h
21828           src/NetworkManagerUtils.c
21829                 - Move the IP address stuff to NetworkManagerDevice.c
21830
21831         * dispatcher-daemon/NetworkManagerDispatcher.c
21832                 - Add device IPv4 address change notification stuff
21833
21834 2004-07-05  Dan Williams <dcbw@redhat.com>
21835
21836         * dispatcher-daemon/NetworkManagerDispatcher.c
21837                 - A bit more descriptive state message
21838                 - Don't segfault when reading directory
21839
21840         * src/NetworkManager.h
21841                 - Remove NMData desired_ap member, its now
21842                         per-device rather than global
21843
21844         * src/NetworkManager.c
21845                 - Remove references to desired_ap
21846                 - Move the allowed AP list refresh stuff into a thread
21847
21848         * src/NetworkManagerDevice.c
21849           src/NetworkManagerDevice.h
21850                 - Each wireless device now has a "best ap"
21851                 - Make device activate/deactivate functions per-device
21852                 - Make wireless scanning per-device
21853                 - Add IPv4 address discover functions, stub IPv6 ones
21854                 - Move ethernet address validation functions to NetworkManagerUtils.c
21855                 - Add wireless access point accessor function
21856                 - Get/Set functions for "best ap"
21857
21858         * src/NetworkManagerPolicy.c
21859                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
21860                 - Deal with per-device "best ap" rather than data->desired_apa
21861                 - Implement allowed access point worker thread
21862                 - Add nm_policy_essid_is_allowed() function
21863
21864         * src/NetworkManagerUtils.c
21865           src/NetworkManagerUtils.h
21866                 - Add nm_ethernet_address_is_valid() function
21867                 - Add IPv4/IPv6 address get functions
21868
21869         * src/NetworkManagerWireless.c
21870           src/NetworkManagerWireless.h
21871                 - Move scanning stuff into NetworkManagerDevice.c, per-device
21872
21873 2004-06-29  Dan Williams <dcbw@redhat.com>
21874
21875         * dispatcher-daemon/NetworkManagerDispatcher.c
21876                 - Implement script callout functionality
21877
21878 2004-06-24  Dan Williams <dcbw@redhat.com>
21879
21880         * NetworkManager.c
21881             - Spacing cleanups
21882             - Flush device routes and ip addresses when added to the device list
21883
21884         * NetworkManagerDbus.c
21885             - Spacing cleanups
21886             - Add missing returns in the two signal functions
21887         
21888         * NetworkManagerPolicy.c
21889             - Spacing and variable cleanups
21890
21891 2004-06-24  Dan Williams <dcbw@redhat.com>
21892
21893         * Makefile.am
21894           Makefile.in
21895           configure.in
21896           dispatcher-daemon/Makefile.am
21897           dispatcher-daemon/Makefile.in
21898           dispatcher-daemon/NetworkManagerDispatcher.c
21899             - Add a daemon that receives signals from NetworkManager
21900                         and will (eventually) call scripts in /etc/somewhere
21901                         when devices go up or down.
21902         
21903         * NetworkManager.c
21904             - Spacing cleanups
21905             - Flush device routes and ip addresses when added to the device list
21906
21907         * NetworkManagerDbus.c
21908             - Spacing cleanups
21909             - Add missing returns in the two signal functions
21910         
21911         * NetworkManagerPolicy.c
21912             - Spacing and variable cleanups
21913             - Rename nm_policy_switch_interface->nm_policy_switch_device
21914             - nm_policy_switch_device():
21915                                 Use kill (pid) instead of system ("kill <pid>")
21916             - nm_state_modification_monitor():
21917                                 Add wireless essid to output of debug statements
21918                                 Correct typo in device compare to switch or not (should be !=)
21919                                 Don't sleep after sending "no longer active" signal, was useless
21920
21921 2004-06-24  Dan Williams <dcbw@redhat.com>
21922
21923         * Initial import