2008-11-20 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-11-20  Dan Williams  <dcbw@redhat.com>
2
3         * libnm-util/nm-setting.c
4           libnm-util/nm-setting.h
5           libnm-util/libnm-util.ver
6                 - (nm_setting_new_from_hash): rename from nm_setting_from_hash() to be
7                         consistent with nm_connection_new_from_hash()
8
9         * src/nm-activation-request.c
10           libnm-util/nm-connection.c
11                 - Handle rename
12
13 2008-11-19  Dan Williams  <dcbw@redhat.com>
14
15         * configure.in
16           Makefile.am
17           docs/libnm-util/Makefile.am
18           docs/libnm-util/libnm-util.types
19                 - Start to document libnm-util
20
21 2008-11-19  Dan Williams  <dcbw@redhat.com>
22
23         * libnm-util/nm-connection.h
24           libnm-util/nm-connection.c
25                 - Document public functions
26
27 2008-11-19  Dan Williams  <dcbw@redhat.com>
28
29         * libnm-util/nm-setting.h
30           libnm-util/nm-setting.c
31           src/nm-device.c
32           src/nm-manager.c
33           system-settings/plugins/ifcfg-fedora/plugin.c
34                 - Prefix compare flag defines with NM_SETTING_
35
36 2008-11-19  Dan Williams  <dcbw@redhat.com>
37
38         * libnm-util/nm-connection.c
39           libnm-util/nm-connection.h
40                 - (nm_connection_replace_settings): take a GError
41
42         * libnm-glib/nm-settings.c
43           libnm-glib/nm-dbus-connection.c
44           src/nm-manager.c
45           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
46           system-settings/plugins/keyfile/nm-keyfile-connection.c
47           system-settings/plugins/keyfile/plugin.c
48                 - Handle, or don't handle, errors from nm_connection_replace_settings()
49
50 2008-11-19  Dan Williams  <dcbw@redhat.com>
51
52         * libnm-util/libnm-util.ver
53           libnm-util/nm-connection.c
54                 - (nm_setting_register, nm_setting_unregister): unexport; they are
55                         private and don't have a use outside libnm-util
56
57 2008-11-17  Dan Williams  <dcbw@redhat.com>
58
59         * src/nm-hso-gsm-device.c
60                 - (real_connection_secrets_updated): handle PIN/PUK correctly for HSO
61                         devices
62
63 2008-11-17  Dan Williams  <dcbw@redhat.com>
64
65         * system-settings/plugins/ifcfg-fedora/reader.c
66                 - (read_mac_address): clean up
67                 - (make_wireless_setting): pass NULL array to read_mac_address() like it
68                         expects
69
70         * system-settings/plugins/ifcfg-fedora/plugin.c
71                 - (read_one_connection): don't segfault on NULL errors
72
73 2008-11-14  Dan Williams  <dcbw@redhat.com>
74
75         * Tag 0.7.0-rc2
76
77 2008-11-14  Dan Williams  <dcbw@redhat.com>
78
79         Handle gateways on different subnets
80
81         * src/NetworkManagerSystem.c
82                 - (add_ip4_route_to_gateway): gateway route should be link scope and
83                         a host route
84                 - (replace_default_ip4_route): use a destination address too; gateway
85                         address should be /0; don't leak the gateway route object
86
87 2008-11-14  Dan Williams  <dcbw@redhat.com>
88
89         * libnm-glib/libnm_glib.ver
90           libnm-glib/nm-dbus-settings-system.c
91           libnm-glib/nm-dbus-settings-system.h
92                 - Add libnm-glib bits for CanModify
93
94 2008-11-14  Dan Williams  <dcbw@redhat.com>
95
96         * introspection/nm-settings-system.xml
97           system-settings/src/dbus-settings.c
98           system-settings/src/dbus-settings.h
99                 - Add a "CanModify" property to indicate if any plugins support
100                         connection modification
101
102 2008-11-14  Dan Williams  <dcbw@redhat.com>
103
104         Relicense libnm-glib to LGPLv2+ with agreement from contributors
105
106 2008-11-14  Dan Williams  <dcbw@redhat.com>
107
108         * vpn-manager/nm-vpn-connection.c
109                 - (plugin_state_changed): clear VPN secrets on error to ensure they
110                         are always requested from the settings service (rh #429287)
111
112 2008-11-13  Dan Williams  <dcbw@redhat.com>
113
114         * libnm-util/crypto.c
115                 - (crypto_get_private_key_data): fix bad initial arg type checking
116                         from pkcs#12 patch
117
118 2008-11-13  Dan Williams  <dcbw@redhat.com>
119
120         Add support for PKCS#12 private keys (bgo #558982)
121
122         * libnm-util/crypto.c
123           libnm-util/crypto.h
124                 - (parse_old_openssl_key_file): rename from parse_key_file(); adapt to
125                         take a GByteArray instead of a filename
126                 - (file_to_g_byte_array): handle private key files too
127                 - (decrypt_key): take a GByteArray rather than data + len
128                 - (crypto_get_private_key_data): refactor crypto_get_private_key() into
129                         one function that takes a filename, and one that takes raw data;
130                         detect pkcs#12 files as well
131                 - (crypto_load_and_verify_certificate): detect file type
132                 - (crypto_is_pkcs12_data, crypto_is_pkcs12_file): add pkcs#12 detection
133                         functions
134
135         * libnm-util/crypto_gnutls.c
136                 - (crypto_decrypt): take GByteArray rather than data + len; fix a bug
137                         whereby tail padding was incorrectly handled, leading to erroneous
138                         successes when trying to decrypt the data
139                 - (crypto_verify_cert): rework somewhat
140                 - (crypto_verify_pkcs12): validate pkcs#12 keys
141
142         * libnm-util/crypto_nss.c
143                 - (crypto_init): enable various pkcs#12 ciphers
144                 - (crypto_decrypt): take a GByteArray rather than data + len
145                 - (crypto_verify_cert): clean up
146                 - (crypto_verify_pkcs12): validate pkcs#12 keys
147
148         * libnm-util/test-crypto.c
149                 - Handle pkcs#12 keys
150
151         * libnm-util/nm-setting-8021x.c
152           libnm-util/nm-setting-8021x.h
153           libnm-util/libnm-util.ver
154                 - Add two new properties, 'private-key-password' and
155                         'phase2-private-key-password', to be used in conjunction with
156                         pkcs#12 keys
157                 - (nm_setting_802_1x_set_ca_cert_from_file,
158                    nm_setting_802_1x_set_client_cert_from_file,
159                    nm_setting_802_1x_set_phase2_ca_cert_from_file,
160                    nm_setting_802_1x_set_phase2_client_from_file): return certificate
161                         type
162                 - (nm_setting_802_1x_get_private_key_password,
163                    nm_setting_802_1x_get_phase2_private_key_password): return private
164                         key passwords
165                 - (nm_setting_802_1x_set_private_key_from_file,
166                    nm_setting_802_1x_set_phase2_private_key_from_file): set the private
167                         key from a file, and update the private key password at the same time
168                 - (nm_setting_802_1x_get_private_key_type,
169                    nm_setting_802_1x_get_phase2_private_key_type): return the private
170                         key type
171
172         * src/supplicant-manager/nm-supplicant-settings-verify.c
173                 - Whitelist private key passwords
174
175         * src/supplicant-manager/nm-supplicant-config.c
176                 - (nm_supplicant_config_add_setting_8021x): for pkcs#12 private keys,
177                         add the private key password to the supplicant config, but do not
178                         add the client certificate (as required by wpa_supplicant)
179
180 2008-11-12  Tambet Ingo  <tambet@gmail.com>
181
182         * system-settings/plugins/keyfile/nm-keyfile-connection.c (copy_one_secret)
183         (add_secrets): Don't add empty secrets to the secrets hash table.
184
185 2008-11-07  Dan Williams  <dcbw@redhat.com>
186
187         * libnm-util/nm-setting-wireless.c
188                 - (nm_setting_wireless_get_seen_bssid): fix bug from accessor conversion
189                         that cased this function to return garbage, breaking hidden AP
190                         detection
191
192 2008-11-07  Dan Williams  <dcbw@redhat.com>
193
194         Fix deletion of VPN gateway route on DHCP renew (bgo #558133)
195
196         * src/NetworkManagerSystem.c
197           src/NetworkManagerSystem.h
198                 - (nm_system_device_set_ip4_route): return the route that was added
199                 - (nm_system_add_ip4_vpn_gateway_route): make add_vpn_gateway_route()
200                         public, clean up, and return the route that was added
201                 - (nm_system_apply_ip4_config): remove VPN related stuff to simplify,
202                         since nm_system_add_ip4_vpn_gateway_route() is now available; add
203                         flags to allow only certain attributes of the NMIP4Config to be
204                         applied
205
206         * src/nm-device.c
207                 - (handle_dhcp_lease_change): don't touch the DHCP4 config on failure
208                 - (nm_device_set_ip4_config): use nm_ip4_config_diff() to only apply
209                         what's really changed between the old and new configs; don't export
210                         the new IP4 config on failure; always send the DNS info to the
211                         named manager
212
213         * src/vpn-manager/nm-vpn-connection.c
214                 - (device_ip4_config_changed, nm_vpn_connection_new, dispose): track the
215                         parent device's IP4Config and re-add the VPN gateway route when it
216                         changes
217                 - (nm_vpn_connection_ip4_config_get): add the VPN gateway route (since
218                         nm_system_apply_ip4_config() no longer does) and cache it for later
219                 - (connection_state_changed): move cleanup code to its own function
220                 - (vpn_cleanup): delete any previously added VPN gateway route; and
221                         re-apply the parent device's addresses and routes using
222                         nm_system_apply_ip4_config(), not nm_device_set_ip4_config()
223
224 2008-11-07  Dan Williams  <dcbw@redhat.com>
225
226         * src/nm-ip4-config.c
227           src/nm-ip4-config.h
228                 - (nm_ip4_config_diff): new function; return the difference between two
229                         IP4 configs
230                 - (nm_ip4_config_compare): change into nm_ip4_config_diff
231
232 2008-11-05  Dan Williams  <dcbw@redhat.com>
233
234         * nm-ip4-config.c
235           nm-ip4-config.h
236                 - (nm_ip4_config_compare): compare two IP4 configs
237
238 2008-11-05  Dan Williams  <dcbw@redhat.com>
239
240         * src/NetworkManagerPolicy.c
241                 - (update_etc_hosts): only add newline if not the last line of the file
242                         (Jonathan Miner)
243
244 2008-11-05  Dan Williams  <dcbw@redhat.com>
245
246         * src/dhcp-manager/nm-dhcp-dhclient.c
247                 - (get_leasefile_for_iface): move lease files back to where dhclient
248                         puts them
249
250 2008-11-05  Michael Biebl  <mbiebl@gmail.com>
251
252         * initscripts/Debian/NetworkManager
253                 - Update to what Debian is actually using
254
255 2008-11-05  Tambet Ingo  <tambet@gmail.com>
256
257         * libnm-util/nm-setting-8021x.c: Verify PEAP settings as well.
258
259 2008-11-03  Dan Williams  <dcbw@redhat.com>
260
261         * system-settings/src/main.c
262                 - (add_default_dhcp_connection): make the fallback connection read-only
263
264         * libnm-glib/nm-settings.c
265           libnm-glib/nm-settings.h
266                 - Add detailed errors
267                 - (impl_exported_connection_update, impl_exported_connection_delete):
268                         return an error if the connection is read-only
269
270         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
271           system-settings/plugins/keyfile/nm-keyfile-connection.c
272           system-settings/src/main.c
273                 - Use more detailed errors
274
275         * system-settings/src/nm-system-config-error.c
276           system-settings/src/nm-system-config-error.h
277           system-settings/src/dbus-settings.c
278                 - Remove NM_SYSCONFIG_SETTINGS_ERROR_INVALID_CONNECTION, replaced by
279                         NM_SETTINGS_ERROR_INVALID_CONNECTION
280
281 2008-11-02  Dan Williams  <dcbw@redhat.com>
282
283         * Add license headers to everything in src/
284
285 2008-11-02  Dan Williams  <dcbw@redhat.com>
286
287         * Tag 0.7.0-rc1
288
289 2008-11-02  Dan Williams  <dcbw@redhat.com>
290
291         * src/NetworkManagerAP.c
292                 - (nm_ap_new_fake_from_connection): treat only lack of a wireless security
293                         setting as unencrypted; fixes a bug where NM wouldn't ask for new
294                         secrets when connecting to an encrypted network failed
295
296 2008-10-30  Dan Williams  <dcbw@redhat.com>
297
298         * libnm-util/libnm-util.ver
299           libnm-util/nm-setting-ip6-config.c
300           libnm-util/nm-setting-ip6-config.h
301           libnm-util/Makefile.am
302                 - Make properties private and add accessor functions
303                 - Hide IPv6 stuff from public API, it's incomplete and completely unused
304
305         * libnm-util/nm-connection.c
306           libnm-util/nm-utils.c
307           libnm-util/nm-utils.h
308                 - Ignore IPv6 stuff for now
309
310 2008-10-30  Dan Williams  <dcbw@redhat.com>
311
312         * libnm-util/libnm-util.ver
313           libnm-util/nm-setting-8021x.c
314           libnm-util/nm-setting-8021x.h
315                 - Make properties private and add accessor functions
316
317         * src/supplicant-manager/nm-supplicant-config.c
318           system-settings/plugins/ifcfg-suse/parser.c
319                 - Use 802.1x setting accessors
320
321 2008-10-30  Dan Williams  <dcbw@redhat.com>
322
323         * libnm-util/libnm-util.ver
324           libnm-util/nm-setting-wireless-security.c
325           libnm-util/nm-setting-wireless-security.h
326                 - Make properties private and add accessor functions
327
328         * libnm-util/nm-setting-wireless.c
329           src/NetworkManagerAP.c
330           src/nm-device-wifi.c
331           src/supplicant-manager/nm-supplicant-config.c
332           system-settings/plugins/ifcfg-fedora/reader.c
333           system-settings/plugins/ifcfg-suse/parser.c
334                 - Use wireless security accessors
335
336 2008-10-30  Dan Williams  <dcbw@redhat.com>
337
338         * src/nm-device-ethernet.c
339           src/nm-device-wifi.c
340           src/nm-device.c
341           src/ppp-manager/nm-ppp-manager.c
342                 - Harmonize return checking of ioctl
343
344         * system-settings/plugins/ifcfg-fedora/reader.c
345                 - (is_wireless_device): fall back to SIOCGIWNAME (rh #466340)
346
347 2008-10-30  Dan Williams  <dcbw@redhat.com>
348
349         * src/ppp-manager/nm-ppp-manager.c
350                 - (nm_ppp_manager_start): if /dev/ppp doesn't exist, load the
351                         ppp_generic module to create it (bgo #533064)
352
353 2008-10-30  Dan Williams  <dcbw@redhat.com>
354
355         Patch from Alexander Sack <asac@canonical.com>
356
357         Fix "ppp connections don't honour ip4 connection settings"
358
359         * src/nm-device-ethernet.c
360                 - (real_act_stage4_get_ip4_config): merge ip4config settings
361                         with results from ppp manager
362
363         * src/nm-serial-device.c
364                 - (real_act_stage4_get_ip4_config): merge ip4config settings
365                         with results from ppp manager
366
367 2008-10-29  Dan Williams  <dcbw@redhat.com>
368
369         * libnm-util/libnm-util.ver
370           libnm-util/nm-setting-ip4-config.c
371           libnm-util/nm-setting-ip4-config.h
372                 - Make properties private and add accessor functions
373
374         * callouts/nm-dispatcher-action.c
375           libnm-glib/libnm-glib-test.c
376           libnm-util/nm-utils.c
377           src/NetworkManagerPolicy.c
378           src/NetworkManagerSystem.c
379           src/NetworkManagerUtils.c
380           src/dhcp-manager/nm-dhcp-dhclient.c
381           src/dhcp-manager/nm-dhcp-manager.c
382           src/dnsmasq-manager/nm-dnsmasq-manager.c
383           src/nm-device-wifi.c
384           src/nm-device.c
385           src/nm-hso-gsm-device.c
386           src/nm-ip4-config.c
387           src/nm-ip4-config.h
388           src/ppp-manager/nm-ppp-manager.c
389           src/vpn-manager/nm-vpn-connection.c
390           system-settings/plugins/ifcfg-fedora/reader.c
391           system-settings/plugins/ifcfg-suse/parser.c
392           system-settings/plugins/ifcfg-suse/plugin.c
393           system-settings/plugins/ifupdown/parser.c
394           test/nm-tool.c
395           vpn-daemons/vpnc/properties/nm-vpnc.c
396                 - Use IP4 accessor functions
397
398 2008-10-29  Tambet Ingo  <tambet@gmail.com>
399
400         Half of it by Dan Williams <dcbw@redhat.com>
401
402         * libnm-util/libnm-util.ver
403         libnm-util/nm-setting-vpn.c
404         libnm-util/nm-setting-vpn.h
405                 - Make properties private and add accessor functions.
406
407         * src/vpn-manager/nm-vpn-connection.c
408         src/vpn-manager/nm-vpn-manager.c
409         system-settings/plugins/keyfile/reader.c
410         vpn-daemons/openvpn/properties/auth-helpers.c
411         vpn-daemons/openvpn/properties/import-export.c
412         vpn-daemons/openvpn/properties/nm-openvpn.c
413         vpn-daemons/openvpn/src/nm-openvpn-service.c
414         vpn-daemons/pptp/auth-dialog/main.c
415         vpn-daemons/pptp/properties/advanced-dialog.c
416         vpn-daemons/pptp/properties/nm-pptp.c
417         vpn-daemons/pptp/src/nm-pptp-service.c
418         vpn-daemons/vpnc/properties/nm-vpnc.c
419         vpn-daemons/vpnc/src/nm-vpnc-service.c
420                 - Use VPN setting accessors.
421
422 2008-10-28  Dan Williams  <dcbw@redhat.com>
423
424         Patch from Tambet Ingo <tambet@gmail.com>
425
426         * libnm-util/libnm-util.ver
427           libnm-util/nm-setting-wireless.c
428           libnm-util/nm-setting-wireless.h
429                 - Make properties private and add accessor functions
430
431         * src/NetworkManagerAP.c
432           src/nm-device-wifi.c
433           src/nm-manager.c
434           src/supplicant-manager/nm-supplicant-config.c
435           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
436           system-settings/plugins/ifcfg-fedora/reader.c
437           system-settings/plugins/ifcfg-suse/parser.c
438           system-settings/plugins/ifupdown/parser.c
439                 - Use wireless setting accessors
440
441 2008-10-27  Dan Williams  <dcbw@redhat.com>
442
443         Patch from Tambet Ingo <tambet@gmail.com>
444
445         * libnm-util/libnm-util.ver
446           libnm-util/nm-setting-ppp.c
447           libnm-util/nm-setting-ppp.h
448                 - Make properties private and add accessor functions
449
450         * src/ppp-manager/nm-ppp-manager.c
451                 - Use ppp setting accessors
452
453 2008-10-27  Dan Williams  <dcbw@redhat.com>
454
455         Patch from Tambet Ingo <tambet@gmail.com>
456
457         * libnm-util/nm-setting.h
458           libnm-util/nm-setting.c
459                 - Make properties private and add accessor functions
460
461         * libnm-util/nm-connection.c
462           libnm-util/nm-setting-8021x.c
463           libnm-util/nm-setting-cdma.c
464           libnm-util/nm-setting-connection.c
465           libnm-util/nm-setting-gsm.c
466           libnm-util/nm-setting-ip4-config.c
467           libnm-util/nm-setting-ip6-config.c
468           libnm-util/nm-setting-ppp.c
469           libnm-util/nm-setting-pppoe.c
470           libnm-util/nm-setting-serial.c
471           libnm-util/nm-setting-template.c
472           libnm-util/nm-setting-vpn.c
473           libnm-util/nm-setting-wired.c
474           libnm-util/nm-setting-wireless-security.c
475           libnm-util/nm-setting-wireless.c
476           system-settings/plugins/keyfile/reader.c
477           system-settings/plugins/keyfile/writer.c
478                 - Use setting accessors
479
480 2008-10-27  Dan Williams  <dcbw@redhat.com>
481
482         * libnm-util/libnm-util.ver
483           libnm-util/nm-setting-connection.c
484           libnm-util/nm-setting-connection.h
485                 - Add a 'read-only' property that indicates the connection cannot be
486                         modified
487
488         * system-settings/plugins/ifcfg-fedora/reader.c
489           system-settings/plugins/ifcfg-suse/parser.c
490           system-settings/plugins/ifupdown/parser.c
491                 - These plugins are read-only at the moment
492
493         * system-settings/plugins/keyfile/reader.c
494           system-settings/plugins/keyfile/writer.c
495                 - Read-only shouldn't get saved out to files or read in from them
496
497 2008-10-27  Tambet Ingo  <tambet@gmail.com>
498
499         * src/nm-device-ethernet.c (nm_device_ethernet_get_speed): Implement
500         correct speed reporting for fast devices (kernel >= 2.6.27).
501
502 2008-10-26  Dan Williams  <dcbw@redhat.com>
503
504         Attempt to compensate for modems that don't enable full AT parsing before
505         the PIN has been entered.
506
507         * src/nm-gsm-device.c
508                 - (init_modem): accept different init strings
509                 - (init_done): try different init strings on failure
510                 - (check_pin_done): on PIN success, do full modem init
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-connection.c
518           libnm-util/nm-setting-connection.h
519                 - Make properties private and add accessor functions
520
521         * src/NetworkManagerPolicy.c
522           src/nm-cdma-device.c
523           src/nm-device-ethernet.c
524           src/nm-device-interface.c
525           src/nm-device-wifi.c
526           src/nm-gsm-device.c
527           src/nm-manager.c
528           src/ppp-manager/nm-ppp-manager.c
529           src/vpn-manager/nm-vpn-connection.c
530           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
531           system-settings/plugins/ifcfg-fedora/plugin.c
532           system-settings/plugins/ifcfg-fedora/reader.c
533           system-settings/plugins/ifcfg-suse/parser.c
534           system-settings/plugins/ifupdown/parser.c
535           system-settings/plugins/keyfile/nm-keyfile-connection.c
536           system-settings/plugins/keyfile/plugin.c
537           system-settings/plugins/keyfile/writer.c
538           system-settings/src/main.c
539                 - Use those accessors
540
541 2008-10-26  Dan Williams  <dcbw@redhat.com>
542
543         Patch from Tambet Ingo <tambet@gmail.com>
544
545         * libnm-util/libnm-util.ver
546           libnm-util/nm-setting-gsm.c
547           libnm-util/nm-setting-gsm.h
548                 - Make properties private and add accessor functions
549
550         * src/nm-gsm-device.c
551           src/nm-hso-gsm-device.c
552           src/ppp-manager/nm-ppp-manager.c
553                 - Use those accessors
554
555 2008-10-26  Dan Williams  <dcbw@redhat.com>
556
557         Patch from Tambet Ingo <tambet@gmail.com>
558
559         * libnm-util/libnm-util.ver
560           libnm-util/nm-setting-cdma.c
561           libnm-util/nm-setting-cdma.h
562                 - Make properties private and add accessor functions
563
564         * src/nm-cdma-device.c
565           src/ppp-manager/nm-ppp-manager.c
566                 - Use those accessors
567
568 2008-10-26  Dan Williams  <dcbw@redhat.com>
569
570         Patch from Tambet Ingo <tambet@gmail.com>
571
572         * libnm-util/libnm-util.ver
573           libnm-util/nm-setting-pppoe.c
574           libnm-util/nm-setting-pppoe.h
575                 - Make properties private and add accessor functions
576
577         * src/nm-device-ethernet.c
578           src/ppp-manager/nm-ppp-manager.c
579                 - Use those accessors
580
581 2008-10-26  Dan Williams  <dcbw@redhat.com>
582
583         Patch from Tambet Ingo <tambet@gmail.com>
584
585         * libnm-util/libnm-util.ver
586           libnm-util/nm-setting-wired.c
587           libnm-util/nm-setting-wired.h
588                 - Make properties private and add accessor functions
589
590         * src/nm-device-ethernet.c
591           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
592           system-settings/plugins/ifcfg-suse/parser.c
593           system-settings/src/main.c
594                 - Use those accessors
595
596 2008-10-26  Dan Williams  <dcbw@redhat.com>
597
598         Patch from Tambet Ingo <tambet@gmail.com>
599
600         * libnm-util/libnm-util.ver
601           libnm-util/nm-setting-serial.c
602           libnm-util/nm-setting-serial.h
603           src/nm-serial-device.c
604                 - Make properties private and use accessors instead
605
606 2008-10-26  Dan Williams  <dcbw@redhat.com>
607
608         * src/supplicant-manager/nm-supplicant-interface.c
609           src/supplicant-manager/nm-supplicant-interface.h
610           src/supplicant-manager/nm-supplicant-manager.c
611           src/supplicant-manager/nm-supplicant-manager.h
612                 - Add state-to-string conversion functions
613
614         * src/nm-device-wifi.c
615           src/nm-device-ethernet.c
616                 - Normalize state info logging and use strings instead of numbers
617
618 2008-10-26  Dan Williams  <dcbw@redhat.com>
619
620         * src/NetworkManagerPolicy.c
621                 - (update_routing_and_dns): ignore host routes when determining whether
622                         a VPN connection should own the default route (bgo #552594)
623
624 2008-10-24  Dan Williams  <dcbw@redhat.com>
625
626         * src/nm-gsm-device.c
627                 - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
628
629 2008-10-23  Dan Williams  <dcbw@redhat.com>
630
631         * src/ppp-manager/nm-ppp-manager.c
632                 - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
633                         add really important stuff to the command line to ensure that NM
634                         overrides /etc/ppp/options (bgo #556781)
635
636 2008-10-22  Dan Williams  <dcbw@redhat.com>
637
638         * src/NetworkManagerSystem.c
639           src/nm-device.c
640                 - Use the device's IP interface where appropriate (Per Hallsmark)
641
642 2008-10-22  Dan Williams  <dcbw@redhat.com>
643
644         * src/nm-gsm-device.c
645                 - (schedule_automatic_registration_again): use a short timeout here
646                         instead of an idle handler to avoid using too much CPU polling for
647                         something we should be waiting a bit for anyway
648
649 2008-10-22  Dan Williams  <dcbw@redhat.com>
650
651         * include/NetworkManager.h
652           introspection/nm-device.xml
653                 - Add device state change reason for carrier changes
654
655         * src/nm-device-ethernet.c
656                 - (set_carrier): use the carrier change reason when changing device
657                         state in response to carrier changes
658
659 2008-10-21  Dan Williams  <dcbw@redhat.com>
660
661         * src/NetworkManagerPolicy.c
662                 - (update_etc_hosts): don't leak errors, and ensure that
663                         g_file_set_contents() gets a valid error placeholder (rh #461933)
664
665 2008-10-21  Dan Williams  <dcbw@redhat.com>
666
667         * src/nm-manager.c
668                 - (free_get_settings_info): don't use the DBusGProxy which could be
669                         disposed of by the time the function is called
670                 - (internal_new_connection_cb): save connection scope
671                 - (connection_get_settings_cb): don't replace a connection unless it's
672                         actually different from the existing one; fixes an issue where
673                         killing the settings service wouldn't deactivate an active connection
674                         provided by that settings service, because it was using a connection
675                         that had already been replaced in the system or user hash
676
677 2008-10-21  Dan Williams  <dcbw@redhat.com>
678
679         * src/NetworkManager.c
680                 - (main): keep the DHCP manager around since it's a singleton; fixes
681                         a use-after-free exposed by r4196 since the DHCP manager singleton
682                         variable isn't cleared when the DHCP manager object is finalized
683
684 2008-10-20  Dan Williams  <dcbw@redhat.com>
685
686         * libnm-util/nm-setting-wireless-security.c
687                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
688
689 2008-10-20  Dan Williams  <dcbw@redhat.com>
690
691         * src/supplicant-manager/nm-supplicant-config.c
692                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
693
694 2008-10-20  Dan Williams  <dcbw@redhat.com>
695
696         * src/dhcp-manager/nm-dhcp-manager.c
697                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
698                         manager object already refs it once
699                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
700                         also get cleaned up by nm_dhcp_device_destroy() to prevent
701                         double-frees
702
703 2008-10-20  Dan Williams  <dcbw@redhat.com>
704
705         * src/nm-manager.c
706                 - (initial_get_connections): use private dbus manager, don't keep
707                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
708                         manager object.
709
710 2008-10-18  Dan Williams  <dcbw@redhat.com>
711
712         * libnm-glib/nm-settings.c
713           libnm-glib/nm-settings.h
714                 - Rename the "get_secrets" virtual function "service_get_secrets" to
715                         clarify when it's used; NMExportedConnetion is a base-class for both
716                         the client and service side, which is sort of confusing, and
717                         get_secrets only makes sense on the service side.
718
719         * libnm-glib/nm-dbus-connection.c
720                 - (get_secrets): remove, unused, and clients need to do extra work to
721                         get secrets anyway since the call can block on the remote side
722
723         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
724           system-settings/plugins/keyfile/nm-keyfile-connection.c
725                 - Fix up for get_secrets -> service_get_secrets
726
727 2008-10-16  Dan Williams  <dcbw@redhat.com>
728
729         * src/nm-device-wifi.c
730                 - (constructor): correctly determine encryption capabilities
731
732 2008-10-15  Dan Williams  <dcbw@redhat.com>
733
734         * src/nm-device-wifi.c
735                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
736                         (Johannes Berg)
737
738 2008-10-15  Dan Williams  <dcbw@redhat.com>
739
740         * src/NetworkManagerSystem.c
741                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
742                         if the ip4_dest is in a smaller subnet contained within a subnet
743                         the machine is currently on, the destination is in the same subnet
744                 - (nm_system_device_set_ip4_route): move subnet checks to callers
745                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
746                         subnet as the parent device, and if so, don't add the direct
747                         host route via the parent device's gateway (bgo #481620)
748                 - (nm_system_apply_ip4_config): check whether the route to be added
749                         is contained within a subnet the device is already on
750
751 2008-10-11  Dan Williams  <dcbw@redhat.com>
752
753         * include/NetworkManager.h
754           introspection/nm-device.xml
755           include/NetworkManagerVPN.h
756                 - Add a few more state reasons for the device deactivated state
757
758         * src/nm-device-interface.c
759           src/nm-device-interface.h
760                 - (nm_device_interface_deactivate): add a 'reason' argument
761
762         * src/nm-device.c
763           src/nm-device.h
764                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
765                 - (nm_device_state_changed): pass the state change reason to
766                         nm_device_take_down()
767                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
768                         to the state change function
769
770         * src/nm-manager.c
771           src/nm-manager.h
772                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
773                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
774                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
775                         something reasonable along to VPN deactivation
776
777         * src/vpn-manager/nm-vpn-manager.c
778           src/vpn-manager/nm-vpn-manager.h
779                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
780                         pass that along to nm_vpn_connection_disconnect()
781
782 2008-10-11  Dan Williams  <dcbw@redhat.com>
783
784         * src/nm-device-wifi.c
785                 - (can_scan): remove old madwifi hack for not scanning while connected
786
787 2008-10-11  Dan Williams  <dcbw@redhat.com>
788
789         Add support for VPN subnet gateways (bgo #549196)
790
791         * include/NetworkManager.h
792                 - Add key for internal VPN subnet gateway
793
794         * src/vpn-manager/nm-vpn-connection.c
795                 - (ip_address_to_string): return a const from a static buffer so we
796                         don't leak a lot of strings
797                 - (print_vpn_config): print internal VPN gateway as well
798                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
799                         VPN service too
800                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
801
802         * src/NetworkManagerSystem.c
803           src/NetworkManagerSystem.h
804                 - (nm_system_device_replace_default_ip4_route): split into two, one for
805                         VPN connections and one for normal devices
806                 - (replace_default_ip4_route): break out route stuff into its own function
807                 - (nm_system_replace_default_ip4_route_vpn,
808                    nm_system_replace_default_ip4_route): simplify by having two cases,
809                         one for VPNs and one for normal devices
810
811         * src/NetworkManagerPolicy.c
812                 - (update_routing_and_dns): simplify, use split default route replacement
813                         functions
814
815 2008-10-10  Dan Williams  <dcbw@redhat.com>
816
817         Rework default route handling to consolidate decisions in the policy,
818         and to take active VPN connections into account when changing the default
819         route (bgo #545912)
820
821         * src/NetworkManager.c
822                 - (main): pass the vpn_manager to the policy so it knows about active
823                         VPN connections; clean up the named manager which wasn't done before
824
825         * src/NetworkManagerPolicy.c
826           src/NetworkManagerPolicy.h
827                 - (nm_policy_new): get a clue about the vpn_manager
828                 - (update_default_route): remove, fold into update_routing_and_dns()
829                 - (update_routing_and_dns): handle active VPN connections too; an
830                         active VPN connection becomes the default route if it does not have
831                         server-specified or user-specified custom routes.  Otherwise, the
832                         best active device gets the default route
833                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
834                    nm_policy_destroy): track VPN connection activation and deactivation
835                         and update the default route when appropriate
836
837         * src/NetworkManagerSystem.c
838           src/NetworkManagerSystem.h
839                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
840                         in the VPN connection itself
841                 - (nm_system_vpn_device_set_from_ip4_config,
842                    nm_system_device_set_from_ip4_config): merge together to make
843                         nm_system_apply_ip4_config()
844                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
845                         via the parent device
846                 - (nm_system_apply_ip4_config): simplify
847                 - (add_ip4_route_to_gateway): new function; add a direct route to the
848                         gateway if needed
849                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
850                         route stuff out into add_ip4_route_to_gateway() for clarity
851
852         * src/nm-device.c
853                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
854
855         * src/vpn-manager/nm-vpn-connection.c
856           src/vpn-manager/nm-vpn-connection.h
857                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
858                    nm_vpn_connection_get_parent_device): add
859                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
860                         device explicit
861                 - (connection_state_changed): update the named manager now that
862                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
863                         useful on errors
864
865         * src/vpn-manager/nm-vpn-manager.c
866           src/vpn-manager/nm-vpn-manager.h
867                 - Add a 'connection-activated' signal
868                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
869                         policy to find out about active VPN connections
870
871 2008-10-10  Tambet Ingo  <tambet@gmail.com>
872
873         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
874         a daemon to prevent NM logging spew on console on startup and shutdown (due
875         to dependency loop between NM and syslog).
876
877 2008-10-10  Alexander Sack  <asac@ubuntu.com>
878
879         Implement managed mode. We bind devices configured in /etc/network/interfaces
880         to their connections by updating wired/wireless setting with the
881         mac address of the device.
882
883         * system-settings/plugins/ifupdown/plugin.c
884                 - (get_net_address_for_udi): implement function to retrieve MAC
885                         address of udi from hal in GByteArray format
886                 - (bind_device_to_connection): bind mac address of device to
887                         wired/wireless system connection
888                 - (hal_device_added_cb): call bind_device_to_connection for
889                         system connections with a matching interface.name
890                 - (hal_device_added_cb): ensure that all code paths
891                         properly free the "iface" string.
892
893 2008-10-10  Alexander Sack  <asac@ubuntu.com>
894
895         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
896         mode of the ifupdown system config plugin.
897
898         * system-settings/plugins/ifupdown/plugin.c
899                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
900                         private unmanage_well_known state field accordingly
901
902 2008-10-10  Alexander Sack  <asac@ubuntu.com>
903
904         Implement unmanaged mode that will prevent all devices in the
905         well_known_udis set from being touched by NetworkManager
906
907         * system-settings/plugins/ifupdown/plugin.c
908                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
909                         unmanage_well_known field used to turn on/off unmanaged
910                         mode
911                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
912                         signal when well_known_udis get added/removed
913                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
914                         if we are in unmanaged mode
915
916 2008-10-10  Alexander Sack  <asac@ubuntu.com>
917
918         Add support to track network devices that have a configuration
919         with a matching interface.name in /etc/network/interfaces
920
921         * system-settings/plugins/ifupdown/plugin.c
922                 - (typedef struct SCPluginIfupdownPrivate): add hash table
923                         to track |well_known_udis|
924                 - (get_iface_for_udi): helper function to get interface.name
925                         for a udi
926                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
927                         that add and remove devices to and from the well_known_udis
928                         set depending on whether their |interface.name| matches
929                         any interface definition in /etc/network/interfaces
930                 - (SCPluginIfupdown_init): connect callbacks from above with
931                         hal_mgr and setup well_known_udis hashtable
932                 - (GObject__dispose): destroy well_known_udis hashtable
933                 - (hal_device_added_cb2): implement wrapper callback with GFunc
934                         signature. user_data is supposed to be a triple (hal_mgr,
935                         config and devtype)
936                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
937                         startup and call hal_device_added_cb2
938
939 2008-10-10  Alexander Sack  <asac@ubuntu.com>
940
941         Remove implementation for not used NMSystemConfigInterface callback functions
942         in ifupdown plugin
943
944         * system-settings/plugins/ifupdown/plugin.c
945                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
946                 - (SCPluginIfupdown_connection_added): removed
947
948 2008-10-08  Dan Williams  <dcbw@redhat.com>
949
950         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
951
952         * src/NetworkManagerUtils.c
953                 - (nm_utils_call_dispatcher): add a 'hostname' action
954
955         * src/NetworkManagerPolicy.c
956                 - (set_system_hostname): dispatch hostname changes
957
958         * callouts/nm-dispatcher-action.c
959                 - (nm_dispatcher_action): handle 'hostname' actions
960
961 2008-10-08  Dan Williams  <dcbw@redhat.com>
962
963         * src/NetworkManagerSystem.c
964                 - (find_route): ref the route so it doesn't get destroyed when the cache
965                         is cleared
966                 - (nm_system_device_set_priority): unref the route here after it's done
967                         being used
968
969 2008-10-08  Dan Williams  <dcbw@redhat.com>
970
971         * src/nm-serial-device.c
972                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
973
974 2008-10-08  Tambet Ingo  <tambet@gmail.com>
975
976         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
977         connection with new settings before saving it.
978
979 2008-10-06  Dan Williams  <dcbw@redhat.com>
980
981         * src/nm-ip4-config.c
982           src/nm-ip4-config.h
983                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
984
985         * src/nm-device-interface.c
986                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
987                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
988                         by using '/' for the object path
989
990         * src/nm-device.c
991                 - (src/nm-device.c): marshal missing/unexported ip4-config through
992                         dbus as '/' since dbus-glib can't handle NULL objects nor can
993                         dbus handle NULL object paths
994
995 2008-10-03  Alexander Sack  <asac@ubuntu.com>
996
997         Implement system hostname support for debian/ubuntu
998
999         * system-settings/plugins/ifupdown/plugin.c
1000                 - (GObject__get_property): extend announced capabilities; add
1001                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
1002                 - (GObject__set_property,write_system_hostname): implement
1003                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
1004                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
1005                    update_system_hostname, get_hostname):
1006                         implement hostname property that watches and
1007                         parses /etc/hostname
1008
1009 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1010
1011         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
1012           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
1013           system-settings/plugins/ifcfg-fedora/Makefile.am
1014           system-settings/src/nm-inotify-helper.c
1015           system-settings/src/nm-inotify-helper.h
1016           src/Makefile.am
1017                 - Move ifcfg-fedora inotify helpers to the system settings service so
1018                         they are available to all plugins
1019
1020 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1021
1022         Implement support for wep-tx-keyidx in ifupdown system
1023         config plugin.
1024
1025         * system-settings/plugins/ifupdown/parser.c
1026                 - (update_wireless_security_setting_from_if_block): introduce
1027                         free_type_mapping func table; rename a few local
1028                         variables to improve readability; add wpa security mapping
1029                         for wep-tx-keyidx property
1030                 - (string_to_gpointerint): new function used for the auto_type_mapping
1031                         of new wep-tx-keyidx property
1032                 - (slist_free_all): free func used for mapped slist types
1033
1034 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1035
1036         * system-settings/src/main.c:
1037                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
1038                         always used as the hash key; fixes a crash when removing wired
1039                         devices
1040
1041 2008-10-02  Dan Williams  <dcbw@redhat.com>
1042
1043         * src/nm-gsm-device.c
1044                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
1045                         pass the required GSM secret along via user_data rather than keeping
1046                         it around in the private data where it sometimes didn't get cleared
1047                 - (real_get_ppp_name): implement using the GSM username
1048
1049 2008-10-02  Dan Williams  <dcbw@redhat.com>
1050
1051         * src/ppp-manager/nm-ppp-manager.c
1052           src/ppp-manager/nm-ppp-manager.h
1053                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
1054                         the settings daemon for completely new ones
1055                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
1056                         local PPP peer name; allow PPP debuging by launching NM with
1057                         the environment variable NM_PPP_DEBUG defined
1058                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
1059                         create_pppd_cmd_line()
1060
1061         * src/nm-serial-device.c
1062           src/nm-serial-device.h
1063                 - New 'get_ppp_name' function for subclasses to implement to return the
1064                         local PPP peer name
1065                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
1066                         and pass that name to the PPP manager
1067
1068         * src/nm-device-ethernet.c
1069                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
1070                         the local peer name
1071
1072         * src/nm-cdma-device.c
1073                 - (real_get_ppp_name): implement using the CDMA username
1074
1075 2008-10-02  Dan Williams  <dcbw@redhat.com>
1076
1077         Patch from Alexander Sack <asac ubuntu com>
1078
1079         * system-settings/plugins/ifupdown/parser.c
1080                 - Implement more graceful ip4 config parsing for cases where
1081                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
1082                   by using default values
1083
1084 2008-10-02  Dan Williams  <dcbw@redhat.com>
1085
1086         * src/NetworkManagerPolicy.c
1087                 - (device_state_changed): when marking a connection invalid, clear its
1088                         secrets too so that fresh secrets get requested the next time
1089
1090 2008-10-01  Dan Williams  <dcbw@redhat.com>
1091
1092         * system-settings/src/dbus-settings.c
1093                 - (nm_sysconfig_settings_init): cache system hostname on startup as
1094                         a fallback if no plugin provides a hostname
1095                 - (get_property): fall back to cached hostname if no plugin provides
1096                         a hostname
1097
1098 2008-10-01  Dan Williams  <dcbw@redhat.com>
1099
1100         Fix setting value comparison issue that caused some settings to look the
1101         same when they were really different (rh #464417)
1102
1103         * libnm-util/nm-param-spec-specialized.c
1104                 - (type_is_fixed_size): return fundamental size of the fixed type too
1105                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
1106                         in the comparison so that the _entire_ fixed type collection gets
1107                         compared rather than just the first 'len1' bytes
1108
1109 2008-09-30  Dan Williams  <dcbw@redhat.com>
1110
1111         * src/NetworkManagerPolicy.c
1112                 - (lookup_thread_worker): don't store the idle handler ID becuase the
1113                         idle handler could have already run and freed the LookupThread
1114                         structure
1115
1116 2008-09-30  Tambet Ingo  <tambet@gmail.com>
1117
1118         * src/nm-device.c (nm_device_get_priority): Implement.
1119         (nm_device_set_ip4_config): Send the device priority to system ip4 
1120         config setter.
1121
1122         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
1123         Add priority argument and if it's >= 0, set the priority of the network
1124         route added automatically by netlink (or kernel?).
1125         (nm_system_device_set_priority): Implement.
1126
1127         * src/NetworkManagerPolicy.c (get_best_device): Use 
1128         nm_device_get_priority() instead of home-grown version. Revert the
1129         meaning, best priority is the lowest one.
1130
1131 2008-09-29  Dan Williams  <dcbw@redhat.com>
1132
1133         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
1134         when it returns EAGAIN (rh #362421)
1135
1136         * src/nm-device-wifi.c
1137                 - (wireless_get_range): try GIWRANGE a few times until the card responds
1138                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
1139
1140 2008-09-28  Dan Williams  <dcbw@redhat.com>
1141
1142         * src/nm-serial-device.c
1143           src/nm-serial-device.h
1144                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
1145                         cleaned at the right times when subclasses close the serial port too
1146                 - (nm_serial_device_send_command): use a default send delay; don't
1147                         spin forever on EAGAIN
1148                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
1149                         remove, no longer used
1150                 - (find_response): return the matched response if any
1151                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
1152                         while doing so
1153                 - (wait_for_reply_done): pass the matched response to the callback
1154                 - (wait_for_reply_got_data): save the matched response; simplify timeout
1155                         handling
1156                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
1157                         const since they never get modified
1158                 - (cleanup_device): split out common cleanup stuff to a new function
1159                 - (real_deactivate_quickly, finalize): use cleanup_device()
1160
1161         * src/nm-gsm-device.c
1162                 - (modem_get_reply): remove, unused
1163                 - (set_apn): give the card a bit more time to respond
1164                 - (manual_registration_again, schedule_manual_registration_again,
1165                    manual_registration_response, manual_registration): handle manual
1166                         registration timeouts better by retrying registration a few times
1167                         because cards are a bit slow after CFUN=1
1168                 - (automatic_registration_get_network, get_network_response): use
1169                         modem_wait_for_reply() because it interacts better with the serial
1170                         buffer and does more intelligent matching; need to wait for 'OK'
1171                         rather than just matching terminators
1172                 - (schedule_automatic_registration_again,
1173                    automatic_registration_response, automatic_registration): retry
1174                         registration a few times on timeout or "searching" because cards
1175                         take a bit to find a network after being powered up with CFUN=1
1176                 - (power_up_response, power_up, init_full_done, enter_pin,
1177                    check_pin_done): power up the card with CFUN=1 before trying to
1178                         register with the network
1179                 - (init_modem_full, init_modem): use more standard 3G init strings
1180
1181         * src/nm-hso-gsm-device.c
1182                 - (modem_get_reply): remove, unused
1183                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
1184                         modem_wait_for_reply() to match actual responses instead of single
1185                         termination characters; it doesn't leave stuff in the serial buffer
1186                         that might confuse later calls
1187                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
1188                         to ensure that the call is really disconnected and not leave extra
1189                         stuff in the serial buffer
1190
1191         * src/nm-cdma-device.c
1192                 - (power_up_response, power_up, init_done): try Sierra-style modem
1193                         power up before attempting to connect
1194
1195 2008-09-27  Dan Williams  <dcbw@redhat.com>
1196
1197         * libnm-util/nm-setting-gsm.c
1198                 - (verify): verify GSM network ID
1199
1200 2008-09-25  Dan Williams  <dcbw@redhat.com>
1201
1202         * libnm-util/nm-setting-gsm.c
1203           libnm-util/nm-setting-gsm.h
1204                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
1205                         technology terms (bgo #551361)
1206
1207 2008-09-25  Dan Williams  <dcbw@redhat.com>
1208
1209         Fix bgo #549401 (inspired by patch from Alexander Sack)
1210
1211         * src/nm-device-ethernet.c
1212                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1213                 - (remove_supplicant_interface_error_handler): remove the supplicant
1214                         error idle callback too
1215                 - (supplicant_interface_release): rename from supplicant_interface_clean
1216                         to match nm-device-wifi.c; clean up supplicant interface-related
1217                         state tasks when the supplicant interface is disposed of
1218                 - (schedule_state_handler): add scheduled tasks to a list so they can
1219                         be cleaned up later
1220                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1221                    supplicant_iface_connection_state_cb_handler): use
1222                         finish_supplicant_task() to clean up each completed task
1223                 - (supplicant_iface_connection_error_cb_handler,
1224                    supplicant_connection_timeout_cb): clear source id when the task is
1225                         complete
1226                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1227                         later cleanup
1228                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
1229                         tasks
1230
1231         * src/nm-device-wifi.c
1232                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1233                 - (remove_supplicant_interface_error_handler): remove the supplicant
1234                         error idle callback too
1235                 - (supplicant_interface_release): clean up supplicant interface-related
1236                         state tasks when the supplicant interface is disposed of
1237                 - (schedule_state_handler): add scheduled tasks to a list so they can
1238                         be cleaned up later
1239                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1240                    supplicant_iface_connection_state_cb_handler): use
1241                         finish_supplicant_task() to clean up each completed task
1242                 - (supplicant_iface_connection_error_cb_handler): clear source id when
1243                         the task is complete
1244                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1245                         later cleanup
1246                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
1247
1248 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1249
1250         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
1251         method and get/set hostname property.
1252
1253 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1254
1255         * src/supplicant-manager/nm-supplicant-interface.c
1256         (nm_supplicant_interface_disconnect): Don't increment the reference 
1257         count when disconnecting. The problem is on shutdown, when the replies
1258         to these commands do not arrive before NM exits, resulting on never
1259         calling supplicant interface's dispose(), which removes the interface
1260         from supplicant.
1261
1262 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1263
1264         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
1265         all the public function arguments.
1266
1267 2008-09-22  Tambet Ingo  <tambet@gmail.com>
1268
1269         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
1270         "Failure" signal from VPN plugins, store the failure reason, and
1271         use it when the state is changed to failure.
1272
1273         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
1274         description.
1275
1276         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
1277         reason to the end of the list to not break the API.
1278         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
1279         so it can be shared by plugins and daemon.
1280
1281 2008-09-18  Dan Williams  <dcbw@redhat.com>
1282
1283         Patch from Alexander Sack <asac@ubuntu.com>
1284
1285         * configure.in
1286           system-settings/plugins/Makefile.am
1287           system-settings/plugins/ifupdown/Makefile.am
1288           system-settings/plugins/ifupdown/interface_parser.c
1289           system-settings/plugins/ifupdown/interface_parser.h
1290           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
1291           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
1292           system-settings/plugins/ifupdown/parser.c
1293           system-settings/plugins/ifupdown/parser.h
1294           system-settings/plugins/ifupdown/plugin.c
1295           system-settings/plugins/ifupdown/plugin.h
1296                 - Implement a Debian/Ubuntu legacy network configuration plugin
1297                         (gnome.org #551941)
1298
1299 2008-09-18  Dan Williams  <dcbw@redhat.com>
1300
1301         Implement support for honoring configured and automatic hostnames, and for
1302         setting the configured hostname.
1303
1304         * introspection/nm-ip4-config.xml
1305           src/nm-ip4-config.c
1306           src/nm-ip4-config.h
1307           src/dhcp-manager/nm-dhcp-manager.c
1308                 - Remove useless hostname property; it's not really part of the IPv4
1309                         config
1310
1311         * introspection/nm-settings-system.xml
1312           libnm-glib/nm-dbus-settings-system.c
1313           libnm-glib/nm-dbus-settings-system.h
1314                 - Add SetHostname() call to system settings D-Bus interface
1315                 - Add Hostname property to system settings D-Bus interface
1316                 - (nm_dbus_settings_system_save_hostname,
1317                    nm_dbus_settings_system_get_hostname): implement
1318
1319         * src/nm-device.c
1320           src/nm-device.h
1321                 - (nm_device_get_dhcp4_config): implement
1322
1323         * src/nm-manager.c
1324           src/nm-manager.h
1325                 - Fetch and track system settings service hostname changes, and proxy
1326                         the changes via a GObject property of the manager
1327
1328         * system-settings/src/nm-system-config-interface.c
1329           system-settings/src/nm-system-config-interface.h
1330                 - Replace nm_system_config_interface_supports_add() with a capabilities
1331                         bitfield
1332
1333         * system-settings/src/nm-system-config-error.c
1334           system-settings/src/nm-system-config-error.h
1335                 - Add additional errors
1336
1337         * system-settings/src/dbus-settings.c
1338           system-settings/src/dbus-settings.h
1339                 - (get_property, nm_sysconfig_settings_class_init): add hostname
1340                         property; first plugin returning a hostname wins
1341                 - (impl_settings_add_connection): use plugin capabilities instead of
1342                         nm_system_config_interface_supports_add()
1343                 - (impl_settings_save_hostname): implement hostname saving
1344
1345         * src/NetworkManagerPolicy.c
1346                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
1347                    lookup_thread_die): implement an asynchronous hostname lookup thread
1348                         which given an IPv4 address tries to look up the hostname for that
1349                         address with reverse DNS
1350                 - (get_best_device): split out best device code from
1351                         update_routing_and_dns()
1352                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
1353                         to preserve the 127.0.0.1 reverse mapping that so many things require
1354                 - (set_system_hostname): set a given hostname
1355                 - (update_system_hostname): implement hostname policy; a configured
1356                         hostname (from the system settings service) is used if available,
1357                         otherwise an automatically determined hostname from DHCP, VPN, etc.
1358                         If there was no automatically determined hostname, reverse DNS of
1359                         the best device's IP address will be used, and as a last resort the
1360                         hostname 'localhost.localdomain' is set.
1361                 - (update_routing_and_dns): use get_best_device(); update the system
1362                         hostname when the network config changes
1363                 - (hostname_changed): update system hostname if the system settings
1364                         service signals a hostname change
1365                 - (nm_policy_new): list for system settings service hostname changes
1366                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
1367                         gets told to die
1368
1369         * system-settings/plugins/keyfile/plugin.c
1370           system-settings/plugins/ifcfg-suse/plugin.c
1371                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
1372                         capabilities properties
1373
1374         * system-settings/plugins/ifcfg-fedora/shvar.c
1375                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
1376                         writes out /etc/sysconfig/network now
1377
1378         * system-settings/plugins/ifcfg-fedora/plugin.c
1379                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
1380                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
1381                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
1382                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
1383                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
1384                         hostname get/set and capabilities get
1385
1386 2008-09-18  Dan Williams  <dcbw@redhat.com>
1387
1388         * libnm-util/nm-setting-wireless.c
1389                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
1390                         group ciphers if the wireless-security setting explicitly specified
1391                         them, effectively making the default be "all ciphers"  (idea from
1392                         Alexander Sack)
1393
1394 2008-09-15  Dan Williams  <dcbw@redhat.com>
1395
1396         Patch from Alexander Sack <asac@ubuntu.com>
1397
1398         * src/named-manager/nm-named-manager.c
1399                 - (dispatch_resolvconf): respect resolvconf exit code
1400
1401 2008-09-12  Tambet Ingo  <tambet@gmail.com>
1402
1403         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
1404         again. Add some debugging.
1405
1406 2008-09-11  Dan Williams  <dcbw@redhat.com>
1407
1408         * system-settings/plugins/keyfile/plugin.c
1409                 - (update_connection_settings): update connection manually, since
1410                         nm_exported_connection_update() does authentication
1411                 - (dir_changed): update_connection_settings() doesn't need to return
1412                         an error
1413
1414 2008-09-09  Dan Williams  <dcbw@redhat.com>
1415
1416         * libnm-glib/nm-vpn-plugin-ui-interface.c
1417           libnm-glib/nm-vpn-plugin-ui-interface.h
1418           libnm-glib/libnm_glib_vpn.ver
1419                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
1420                         should clean up resources related to the connection (like keyring
1421                         secrets)
1422                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
1423                         should save user-scope secrets (like to the keyring)
1424
1425 2008-09-08  Dan Williams  <dcbw@redhat.com>
1426
1427         Patch from Alexander Sack <asac@ubuntu.com>
1428
1429         * libnm-util/crypto_gnutls.c
1430           libnm-util/crypto_nss.c
1431                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
1432
1433         * libnm-util/nm-utils.c
1434           libnm-util/nm-utils.h
1435           libnm-util/libnm-util.ver
1436                 - (nm_utils_init): initialize libnm-util
1437                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
1438
1439         * libnm-util/nm-setting-8021x.c
1440                 - (nm_setting_802_1x_class_init): init libnm-util when needed
1441
1442 2008-09-05  Dan Williams  <dcbw@redhat.com>
1443
1444         Patch from Roy Marples <roy@marples.name> and others
1445
1446         * configure.in
1447           src/named-manager/nm-named-manager.c
1448                 - Add support for resolvconf; use --with-resolvconf at configure time
1449                         to enable it
1450
1451 2008-09-05  Dan Williams  <dcbw@redhat.com>
1452
1453         * libnm-util/crypto_nss.c
1454           libnm-util/crypto_gnutls.c
1455           libnm-util/crypto.h
1456                 - (crypto_init): return error when init fails
1457
1458 2008-09-05  Dan Williams  <dcbw@redhat.com>
1459
1460         * libnm-glib/nm-device-wifi.c
1461                 - (access_point_removed_proxy): clean up the active access point too
1462                         just in case the active ap changed signal didn't come through yet
1463                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
1464
1465 2008-09-05  Dan Williams  <dcbw@redhat.com>
1466
1467         * libnm-glib/nm-client.c
1468                 - (constructor): get initial state after we know whether NM is running
1469                         or not
1470
1471 2008-09-05  Dan Williams  <dcbw@redhat.com>
1472
1473         * libnm-glib/nm-ip4-config.c
1474           libnm-glib/nm-dhcp4-config.c
1475                 - (finalize): clean up the DBusGProxy
1476
1477 2008-09-04  Dan Williams  <dcbw@redhat.com>
1478
1479         * src/nm-ip4-config.c
1480           src/nm-ip4-config.h
1481                 - (nm_ip4_config_new): don't export over D-Bus here
1482                 - (nm_ip4_config_export): new function; export the config over D-Bus
1483                 - (nm_ip4_config_is_exported): new function
1484
1485         * src/nm-device.c
1486                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
1487                         objects by balancing the IP4Config constructor; the device holds
1488                         a reference to the IP4Config already
1489                 - (nm_device_set_ip4_config): export the IP4Config when needed
1490
1491 2008-09-04  Dan Williams  <dcbw@redhat.com>
1492
1493         * src/supplicant-manager/nm-supplicant-settings-verify.c
1494                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
1495
1496 2008-09-04  Dan Williams  <dcbw@redhat.com>
1497
1498         * libnm-util/nm-setting-vpn.c
1499           libnm-util/nm-setting-vpn.h
1500                 - Split VPN secrets from VPN data so that settings services can actually
1501                         figure out that they are secrets and store them accordingly
1502
1503         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1504           system-settings/plugins/keyfile/reader.c
1505           system-settings/plugins/keyfile/reader.h
1506           system-settings/plugins/keyfile/writer.c
1507                 - Store VPN secrets separately from VPN data so that they can be fetched
1508                         on demand
1509                 - Implement the get_secrets() call so that (a) secrets don't leak out
1510                         to unprivileged callers, and (b) secrets can be sent to privileged
1511                         callers when needed
1512
1513         * vpn-daemons/vpnc/src/nm-vpnc-service.c
1514                 - Handle split VPN secrets
1515
1516 2008-08-27  Dan Williams  <dcbw@redhat.com>
1517
1518         * system-settings/plugins/ifcfg-fedora/reader.c
1519                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
1520
1521 2008-08-27  Dan Williams  <dcbw@redhat.com>
1522
1523         Ensure zombie children get cleaned up.  To get notifications when children
1524         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
1525         that requires calling waitpid() yourself if you've removed the child watch
1526         handler before the process has actually died, which NM needs to do in a few
1527         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
1528         cleans up after the child when required.  Should fix problems trying to
1529         activate mobile broadband connections after a previous failure.
1530
1531         * src/dhcp-manager/nm-dhcp-dhclient.c
1532           src/dhcp-manager/nm-dhcp-dhcpcd.c
1533                 - Use G_SPAWN_DO_NOT_REAP_CHILD
1534
1535         * src/dhcp-manager/nm-dhcp-manager.c
1536                 - (nm_dhcp_device_destroy): ensure child is cleaned up
1537                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
1538                         block on child quitting, since the non-blocking functionality was
1539                         never actually used
1540
1541         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1542                 - (dm_watch_cb): child is already reaped here
1543                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
1544
1545         * src/nm-device.c
1546                 - (aipd_cleanup): block until child is dead
1547
1548         * src/named-manager/nm-named-manager.c
1549                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
1550                         event bothering to watch the child
1551
1552         * src/ppp-manager/nm-ppp-manager.c
1553                 - (ppp_watch_cb): child is already reaped here
1554                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
1555
1556         * src/vpn-manager/nm-vpn-service.c
1557                 - (vpn_service_watch_cb): child is already reaped here
1558                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
1559                         status of the child is actually tracked
1560                 - (ensure_killed, finalize): block until child is dead
1561
1562 2008-08-26  Dan Williams  <dcbw@redhat.com>
1563
1564         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1565                 - (update): Update filename of the connection if the connection id
1566                         was changed
1567
1568         * system-settings/plugins/keyfile/plugin.c
1569                 - (dir_changed): first pass at handling connection renames correctly
1570
1571         * system-settings/plugins/keyfile/writer.c
1572           system-settings/plugins/keyfile/writer.h
1573                 - (write_connection): replace '/' with '*' when writing out the filename
1574                         from the connection id
1575
1576 2008-08-26  Dan Williams  <dcbw@redhat.com>
1577
1578         Add connection UUIDs, since connection names can be changed, and since
1579         old-style connection IDs could change over the life of the connection.  The
1580         UUID should be assigned at connection creation time, be stable for a given
1581         connection, and should be unique among all connections for a given settings
1582         service.
1583
1584         * configure.in
1585           libnm-util/Makefile.am
1586                 - Require libuuid
1587
1588         * introspection/nm-exported-connection.xml
1589                 - Remove "GetID" method
1590
1591         * libnm-glib/nm-dbus-connection.c
1592           libnm-glib/nm-settings.c
1593           libnm-glib/nm-settings.h
1594                 - Remove id-related stuff
1595
1596         * libnm-util/nm-utils.c
1597           libnm-util/nm-utils.h
1598           libnm-util/libnm-util.ver
1599                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
1600                         utility functions to generate UUIDs
1601
1602         * libnm-util/nm-setting-connection.c
1603           libnm-util/nm-setting-connection.h
1604                 - Add 'uuid' member to the connection setting
1605                 - (verify): require valid 'uuid' for a valid connection
1606
1607         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
1608           system-settings/plugins/ifcfg-fedora/reader.c
1609           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
1610           system-settings/plugins/ifcfg-suse/parser.c
1611           system-settings/plugins/keyfile/nm-keyfile-connection.c
1612           system-settings/src/main.c
1613                 - Remove id-related stuff
1614                 - Give connections UUIDs where needed
1615
1616 2008-08-25  Dan Williams  <dcbw@redhat.com>
1617
1618         * libnm-util/crypto_gnutls.c
1619           libnm-util/crypto_nss.c
1620                 - (crypto_init, crypto_deinit): refcount init/deinit
1621                 - (crypto_md5_hash): allow NULL salt
1622
1623 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
1624
1625         * libnm-glib/Makefile.am
1626           libnm-util/Makefile.am
1627           libnm-glib/libnm_glib.ver
1628           libnm-glib/libnm_glib_vpn.ver
1629           libnm-util/libnm-util.ver
1630                 - Use linker version scripts to control the list of exported 
1631                 symbols. List each exported symbol explicitely.
1632         * libnm-util/Makefile.am
1633                 - Fix compilation of the test-crypto binary. The crypto
1634                 functions are no longer part of the libnm-util API. Add 
1635                 crypto_*.c to test_crypto_SOURCES and link against the correct
1636                 crypto libraries.
1637
1638 2008-08-19  Dan Williams  <dcbw@redhat.com>
1639
1640         * configure.in
1641           test/Makefile.am
1642                 - Don't build test/test-common
1643                 - Remove unused stuff
1644
1645         * test/nm-set-fallback
1646           test/nmtestdevices.c
1647           test/test-common/.cvsignore
1648           test/test-common/Makefile.am
1649           test/test-common/test-common.c
1650           test/test-common/test-common.h
1651                 - delete
1652
1653 2008-08-18  Dan Williams  <dcbw@redhat.com>
1654
1655         * libnm-util/nm-utils.c
1656           libnm-util/nm-utils.h
1657                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1658                         export anything that needs to be converted with this function
1659
1660         * src/dhcp-manager/nm-dhcp-manager.c
1661                 - (garray_to_string): convert a byte array to a UTF-8 string with
1662                         minimal validation; the DHCP client sends it in ASCII anyway
1663                 - (get_option, copy_option): use garray_to_string()
1664
1665 2008-08-18  Dan Williams  <dcbw@redhat.com>
1666
1667         * include/NetworkManager.h
1668           introspection/nm-device.xml
1669                 - Add a "missing firmware" device state reason
1670
1671         * src/NetworkManagerSystem.c
1672           src/NetworkManagerSystem.h
1673                 - (nm_system_device_set_up_down): add a no_firmware argument
1674                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1675                         IFF_UP is ENOENT, that almost always means missing firmware
1676
1677         * src/backends/NetworkManagerGeneric.c
1678           src/nm-device-ethernet.c
1679           src/nm-device-private.h
1680           src/nm-device-wifi.c
1681           src/nm-device.c
1682           src/nm-device.h
1683           src/nm-hso-gsm-device.c
1684           src/vpn-manager/nm-vpn-connection.c
1685                 - Pass no_firmware along; check it where appropriate
1686
1687 2008-08-18  Dan Williams  <dcbw@redhat.com>
1688
1689         Patch from Robert Buchholz <rbu@gentoo.org>
1690
1691         * autogen.sh
1692           configure.in
1693                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1694                         1003.1-1988, allowing for file names longer than 99 characters
1695
1696 2008-08-17  Dan Williams  <dcbw@redhat.com>
1697
1698         * include/NetworkManager.h
1699           introspection/nm-device.xml
1700           src/nm-gsm-device.c
1701                 - Finer-grained GSM registration failure error codes
1702
1703 2008-08-17  Dan Williams  <dcbw@redhat.com>
1704
1705         * callouts/Makefile.am
1706           src/Makefile.am
1707                 - Move dispatcher directory creation to callouts/Makefile.am
1708
1709         * system-settings/plugins/keyfile/Makefile.am
1710                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1711
1712 2008-08-15  Dan Williams  <dcbw@redhat.com>
1713
1714         Do connection sharing in a cleaner manner; all required iptables rules
1715         are now stored in the activation request and pertain only to the device
1716         which is being shared to other computers. (rh #458625)
1717
1718         * src/nm-activation-request.c
1719           src/nm-activation-request.h
1720                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1721                         the activation request which will get torn down automatically when
1722                         the activation request dies
1723                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1724                         is started, and tear them down when sharing is stopped
1725
1726         * src/nm-device.c
1727                 - (start_sharing): start up sharing by doing the required iptables magic
1728                 - (share_init): poke the right bits of the kernel and load the right
1729                         modules for NAT
1730                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1731                         connection if it's a 'shared' connection
1732
1733         * src/NetworkManagerPolicy.c
1734                 - Remove all sharing stuff; done in the device code itself
1735
1736 2008-08-15  Dan Williams  <dcbw@redhat.com>
1737
1738         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1739                 - (create_dm_cmd_line): send the right router address
1740
1741 2008-08-15  Dan Williams  <dcbw@redhat.com>
1742
1743         * src/ppp-manager/nm-ppp-manager.c
1744                 - (pppd_timed_out): ensure timeouts fail the connection
1745
1746 2008-08-14  Dan Williams  <dcbw@redhat.com>
1747
1748         * src/nm-properties-changed-signal.c
1749           src/nm-properties-changed-signal.h
1750                 - Add a property spec flag for "don't export this property" in
1751                         property changed signals
1752
1753         * src/nm-hso-gsm-device.c
1754           src/nm-gsm-device.c
1755           src/nm-cdma-device.c
1756                 - Don't export monitor interface or netdev interface properties
1757
1758 2008-08-14  Dan Williams  <dcbw@redhat.com>
1759
1760         * src/NetworkManagerPolicy.c
1761                 - (update_routing_and_dns): 'hso' devices can be default even if they
1762                         don't have a gateway
1763
1764 2008-08-14  Dan Williams  <dcbw@redhat.com>
1765
1766         * src/nm-device.c
1767                 - (nm_device_deactivate_quickly): tear down activation request after
1768                         calling device-specific deactivation
1769
1770         * src/nm-hso-gsm-device.c
1771                 - (real_deactivate_quickly): terminate connection when deactivating
1772
1773 2008-08-14  Dan Williams  <dcbw@redhat.com>
1774
1775         * src/nm-activation-request.h
1776                 - Add HSO secrets caller
1777
1778         * src/nm-gsm-device.c
1779           src/nm-gsm-device.h
1780                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1781                         something to the callback function
1782                 - (set_apn, set_apn_done): call class dial function, not a static one
1783                 - (nm_gsm_device_class_init): add a class 'dial' function
1784
1785         * src/nm-hal-manager.c
1786                 - (get_hso_netdev): find the hso-driven hardware's net device
1787                 - (modem_device_creator): recognize hso-driven hardware and create the
1788                         right type of device object for it
1789
1790         * src/Makefile.am
1791           src/nm-hso-gsm-device.c
1792           src/nm-hso-gsm-device.h
1793                 - Implement support for devices driven by the 'hso' driver as a subclass
1794                         of NMGsmDevice
1795
1796 2008-08-14  Dan Williams  <dcbw@redhat.com>
1797
1798         * src/NetworkManagerSystem.c
1799                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1800                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1801                         success if the operation really was successful
1802
1803 2008-08-14  Dan Williams  <dcbw@redhat.com>
1804
1805         * src/nm-netlink-monitor.c
1806           src/nm-netlink-monitor.h
1807           src/nm-device-ethernet.c
1808                 - (nm_netlink_monitor_request_status): return an error on failure
1809                 - (constructor): don't segfault on missing error
1810
1811 2008-08-13  Dan Williams  <dcbw@redhat.com>
1812
1813         * callouts/nm-dispatcher-action.c
1814                 - Add IP4 config info to script environment
1815
1816 2008-08-12  Dan Williams  <dcbw@redhat.com>
1817
1818         * src/nm-device.c
1819                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1820                         that want to use DHCP hostnames should use dispatcher scripts
1821                         for that
1822
1823         * src/NetworkManagerSystem.h
1824           src/backends/NetworkManagerArch.c
1825           src/backends/NetworkManagerDebian.c
1826           src/backends/NetworkManagerFrugalware.c
1827           src/backends/NetworkManagerGeneric.c
1828           src/backends/NetworkManagerGeneric.h
1829           src/backends/NetworkManagerGentoo.c
1830           src/backends/NetworkManagerMandriva.c
1831           src/backends/NetworkManagerPaldo.c
1832           src/backends/NetworkManagerRedHat.c
1833           src/backends/NetworkManagerSlackware.c
1834           src/backends/NetworkManagerSuSE.c
1835                 - Remove nm_system_set_hostname(), no longer used
1836           
1837         * src/backends/Makefile.am
1838           src/backends/shvar.c
1839           src/backends/shvar.h
1840                 - Remove shvar.*; no longer used
1841
1842 2008-08-12  Dan Williams  <dcbw@redhat.com>
1843
1844         Revert most of the 'hostname' patch.  Too much stuff still breaks when
1845         hostname is updated at runtime.  Distros or users who want hostname updates
1846         can use dispatcher scripts to update the hostname if they need it.
1847
1848 2008-08-12  Dan Williams  <dcbw@redhat.com>
1849
1850         * introspection/nm-settings-system.xml
1851           system-settings/src/dbus-settings.c
1852           system-settings/src/dbus-settings.h
1853                 - Add a 'Hostname' property (rw) which represents the configured
1854                         hostname and domain of the system, if any
1855
1856         * system-settings/src/nm-system-config-error.c
1857           system-settings/src/nm-system-config-error.h
1858           system-settings/src/nm-system-config-interface.c
1859           system-settings/src/nm-system-config-interface.h
1860                 - Add a 'hostname' property to the plugin interface
1861                 - Add a method to send updated hostname to plugins to save in their
1862                         backing configuration store
1863
1864         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1865           system-settings/plugins/keyfile/plugin.c
1866           system-settings/plugins/keyfile/writer.c
1867           system-settings/plugins/keyfile/writer.h
1868           system-settings/plugins/ifcfg-suse/plugin.c
1869                 - Add minimal hostname support
1870
1871         * system-settings/plugins/ifcfg-fedora/plugin.c
1872                 - Add support for updating system hostname in /etc/sysconfig/network
1873
1874 2008-08-12  Dan Williams  <dcbw@redhat.com>
1875
1876         * system-settings/plugins/ifcfg-fedora/shvar.c
1877           system-settings/plugins/ifcfg-fedora/shvar.c
1878                 - Fix double-free caused by svSetValue() followed by svCloseFile()
1879
1880 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1881
1882         * Makefile.am: Fix distcheck.
1883
1884 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1885
1886         * libnm-glib/*.c. Document some more.
1887
1888 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1889
1890         Start documenting libnm-glib public API using gtk-doc.
1891
1892         * libnm-glib/nm-serial-device.c: 
1893         * libnm-glib/nm-object.c: 
1894         * libnm-glib/nm-gsm-device.c: 
1895         * libnm-glib/nm-device.c: 
1896         * libnm-glib/nm-device-wifi.c: 
1897         * libnm-glib/nm-device-ethernet.c: 
1898         * libnm-glib/nm-client.c: 
1899         * libnm-glib/nm-cdma-device.c: Document the public API.
1900
1901         * docs/libnm-glib/libnm-glib.types: Implement.
1902
1903         * docs/libnm-glib/Makefile.am: Implement.
1904
1905         * autogen.sh: 
1906         * configure.in: 
1907         * Makefile.am: Add gtk-doc support.
1908
1909 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1910
1911         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
1912
1913         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
1914         the composite result of all the IP4 configurations and call a distro
1915         specific update_resolv_conf().
1916         (update_resolv_conf): Implement one for directly writing to 
1917         /etc/resolv.conf and one for opensuse to call netconfig.
1918
1919 2008-08-11  Dan Williams  <dcbw@redhat.com>
1920
1921         * src/ppp-manager/nm-ppp-manager.c
1922                 - (impl_ppp_manager_need_secrets): pass interface as required
1923
1924 2008-08-11  Dan Williams  <dcbw@redhat.com>
1925
1926         Merge the vpn-properties setting with the vpn setting since it was pointless
1927         to keep both of them around.  Convert the vpn 'data' hash table to a hash
1928         of string:string (instead of string:variant) so that system settings plugins
1929         can have an easier time dealing with the arbitrary key/value pairs.
1930
1931 2008-08-11  Dan Williams  <dcbw@redhat.com>
1932
1933         * libnm-util/nm-utils.c
1934                 - (nm_utils_register_value_transformations): add value transform for
1935                         a hash table of string:string
1936
1937 2008-08-10  Dan Williams  <dcbw@redhat.com>
1938
1939         * libnm-glib/nm-vpn-plugin.c
1940                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
1941                         an idle handler so the Connect reply gets delivered before the
1942                         stop StateChanged signal
1943
1944 2008-08-10  Dan Williams  <dcbw@redhat.com>
1945
1946         * src/nm-ip4-config.c
1947                 - (get_property): use common ip4 address/route conversion functions
1948                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
1949                         copy the new route here, not take ownership
1950
1951 2008-08-08  Tambet Ingo  <tambet@gmail.com>
1952
1953         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
1954         Update the IP4 setting's method name.
1955
1956 2008-08-07  Dan Williams  <dcbw@redhat.com>
1957
1958         * introspection/nm-ip4-config.xml
1959           libnm-glib/libnm-glib-test.c
1960           libnm-glib/nm-ip4-config.c
1961           libnm-glib/nm-ip4-config.h
1962           src/NetworkManagerSystem.h
1963           src/backends/NetworkManagerArch.c
1964           src/backends/NetworkManagerDebian.c
1965           src/backends/NetworkManagerFrugalware.c
1966           src/backends/NetworkManagerGeneric.c
1967           src/backends/NetworkManagerGeneric.h
1968           src/backends/NetworkManagerGentoo.c
1969           src/backends/NetworkManagerMandriva.c
1970           src/backends/NetworkManagerPaldo.c
1971           src/backends/NetworkManagerRedHat.c
1972           src/backends/NetworkManagerSlackware.c
1973           src/backends/NetworkManagerSuSE.c
1974           src/dhcp-manager/nm-dhcp-manager.c
1975           src/nm-device.c
1976           src/nm-ip4-config.c
1977           src/nm-ip4-config.h
1978                 - Remove NIS logic; should be done from dispatcher scripts instead
1979
1980 2008-08-07  Dan Williams  <dcbw@redhat.com>
1981
1982         * src/dhcp-manager/nm-dhcp-manager.c
1983                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
1984                         mis-handling of DHCP responses that returned more than one router
1985                         (found by Grant Williamson)
1986
1987 2008-08-07  Dan Williams  <dcbw@redhat.com>
1988
1989         * callouts/nm-dispatcher-action.c
1990                 - (nm_dispatcher_action): grab device path and create the device; pass
1991                         the device's DHCP4 config to script caller
1992                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
1993                         scripts
1994
1995         * libnm-glib/nm-dhcp4-config.c
1996           libnm-glib/nm-dhcp4-config.h
1997                 - (nm_dhcp4_config_get_options): expose
1998                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
1999
2000 2008-08-07  Dan Williams  <dcbw@redhat.com>
2001
2002         * include/NetworkManager.h
2003                 - Add the DHCP4Config D-Bus interface
2004
2005         * libnm-glib/Makefile.am
2006           libnm-glib/nm-dhcp4-config.c
2007           libnm-glib/nm-dhcp4-config.h
2008                 - Handle DHCP4 config objects exported by NM over D-Bus
2009
2010         * libnm-glib/nm-device.c
2011           libnm-glib/nm-device.h
2012                 - Add a 'dhcp4-config' property
2013
2014         * libnm-glib/libnm-glib-test.c
2015                 - Print out DHCP4 config for devices
2016                 - Fix some crashes when no connections are active
2017
2018         * src/nm-device-interface.c
2019           src/nm-device.c
2020           src/nm-dhcp4-config.c
2021           src/nm-dhcp4-config.h
2022                 - Treat dhcp4-config object as an object path at the D-Bus interface so
2023                         that when it doesn't exist we can proxy it as "/" which dbus-glib
2024                         doesn't let us do when the property type is G_TYPE_OBJECT
2025
2026 2008-08-07  Dan Williams  <dcbw@redhat.com>
2027
2028         * src/NetworkManager.c
2029           src/NetworkManagerSystem.h
2030           src/backends/NetworkManagerArch.c
2031           src/backends/NetworkManagerDebian.c
2032           src/backends/NetworkManagerFrugalware.c
2033           src/backends/NetworkManagerGeneric.c
2034           src/backends/NetworkManagerGeneric.h
2035           src/backends/NetworkManagerGentoo.c
2036           src/backends/NetworkManagerMandriva.c
2037           src/backends/NetworkManagerPaldo.c
2038           src/backends/NetworkManagerRedHat.c
2039           src/backends/NetworkManagerSlackware.c
2040           src/backends/NetworkManagerSuSE.c
2041                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
2042
2043 2008-08-06  Dan Williams  <dcbw@redhat.com>
2044
2045         * libnm-glib/nm-ip4-config.c
2046           libnm-glib/nm-ip4-config.h
2047                 - Add 'routes' property
2048
2049         * libnm-util/nm-setting-vpn.c
2050           libnm-util/nm-setting-vpn.h
2051                 - Remove 'routes' property
2052
2053         * libnm-util/nm-setting-ip4-config.c
2054           libnm-util/nm-setting-ip4-config.h
2055                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
2056                 - Add 'ignore-auto-routes' property
2057                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
2058                         accomodate route metrics
2059                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
2060
2061         * libnm-util/nm-utils.c
2062           libnm-util/nm-utils.h
2063                 - Add helpers for marshalling IP4 routes
2064
2065         * src/NetworkManagerUtils.c
2066                 - (nm_utils_merge_ip4_config): handle property renames and new route
2067                         structure
2068
2069         * src/NetworkManagerSystem.c
2070                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
2071                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
2072
2073         * src/dhcp-manager/nm-dhcp-manager.c
2074                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
2075
2076         * system-settings/plugins/ifcfg-fedora/reader.c
2077           system-settings/plugins/ifcfg-fedora/writer.c
2078                 - Handle routes separately from addresses now that routes have a different
2079                         format
2080
2081         * introspection/nm-ip4-config.xml
2082           src/nm-ip4-config.c
2083           src/nm-ip4-config.h
2084                 - Rename internal routing functions
2085                 - 'static-routes' renamed to 'routes'
2086
2087 2008-08-04  Dan Williams  <dcbw@redhat.com>
2088
2089         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
2090
2091         * src/NetworkManager.c
2092           src/nm-manager.c
2093           src/nm-manager.h
2094                 - More explicitly make the NMManager a singleton
2095
2096 2008-08-04  Dan Williams  <dcbw@redhat.com>
2097
2098         * libnm-util/nm-connection.c
2099           libnm-util/nm-connection.h
2100                 - (nm_connection_verify): return error on missing 'connection' setting
2101                         (found by Sjoerd Simons)
2102
2103 2008-08-04  Dan Williams  <dcbw@redhat.com>
2104
2105         Handle multiple concurrent PPP connections.
2106
2107         * src/ppp-manager/nm-ppp-manager.c
2108           src/ppp-manager/nm-ppp-manager.h
2109                 - (constructor): only PPP Manager request bus name once; each
2110                         NMPPPManager object gets a unique object path
2111                 - (nm_ppp_manager_class_init, get_property, set_property,
2112                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
2113                         at construct time
2114                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
2115                         remove timeout until PPP manager gets an IP4 config
2116                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
2117                         the plugin can call back to this specific PPP manager instance
2118
2119         * src/nm-device-ethernet.c
2120           src/nm-serial-device.c
2121                 - Pass parent device in nm_ppp_manager_new()
2122
2123         * src/nm-gsm-device.c
2124           src/nm-cdma-device.c
2125                 - (device_state_changed): don't close serial device on NEED_AUTH
2126                         state changed, that's not a failure case like the rest are
2127
2128         * src/ppp-manager/nm-pppd-plugin.c
2129                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
2130                         binds one interface to any pppd process, thus the correct index
2131                         is always 0; send PHASE_DEAD on error to alert NM immediately of
2132                         problems; try harder to get a peer address in spite of pppd
2133                 - (plugin_init): use 'ipparam' as the object path back to our specific
2134                         PPP manager instance
2135
2136 2008-08-04  Dan Williams  <dcbw@redhat.com>
2137
2138         * src/ppp-manager/nm-ppp-manager.c
2139                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
2140                         since the GSM and CDMA settings now implement need_secrets, we can
2141                         rely on them to do the right thing.  Where secrets are not required,
2142                         just pass empty strings back to the pppd plugin.
2143                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
2144                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
2145                         on successful IP4 config receipt
2146
2147 2008-08-04  Dan Williams  <dcbw@redhat.com>
2148
2149         * libnm-util/nm-setting-cdma.c
2150           libnm-util/nm-setting-gsm.c
2151                 - (verify): validate username & password if they exist
2152                 - (need_secrets): if username given, require a password too
2153
2154 2008-08-04  Dan Williams  <dcbw@redhat.com>
2155
2156         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2157                 - (create_dm_cmd_line): really don't listen on lo, despite what the
2158                         manpage says about --listen-address without --interface
2159                         (bgo #546033)
2160
2161 2008-08-01  Dan Williams  <dcbw@redhat.com>
2162
2163         * libnm-glib/nm-device.c
2164                 - (proxy_get_string): util function for querying a HAL property
2165                 - (get_ancestor_device): split out from get_product_and_vendor()
2166                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
2167                         from PCI devices by querying subsys properties
2168                 - (nm_device_update_description): simplify
2169
2170 2008-08-01  Dan Williams  <dcbw@redhat.com>
2171
2172         * libnm-util/nm-setting-ip4-config.c
2173           libnm-util/nm-setting-ip4-config.h
2174                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
2175                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
2176                         settings, and they don't necessarily use DHCP.
2177
2178         * src/NetworkManagerPolicy.c
2179           src/nm-device.c
2180           system-settings/plugins/ifcfg-fedora/reader.c
2181           system-settings/plugins/ifcfg-suse/parser.c
2182                 - Fixup for method changes
2183
2184 2008-07-31  Dan Williams  <dcbw@redhat.com>
2185
2186         * src/nm-activation-request.c
2187           src/vpn-manager/nm-vpn-connection.c
2188                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
2189                         itself should be attached to the activation request or the VPN
2190                         connection, not the NMConnection object, since the call is not
2191                         expected to live as long as the NMConnection itself
2192
2193 2008-07-31  Dan Williams  <dcbw@redhat.com>
2194
2195         * src/nm-device-wifi.c
2196                 - (real_act_stage2_config): fix issue where association would continue
2197                         even though secrets were needed; 'goto out' was in wrong scope and
2198                         result of handle_auth_or_fail() should have been dumped directly to
2199                         'ret' to ensure that the association was postponed until secrets
2200                         are available
2201
2202 2008-07-31  Dan Williams  <dcbw@redhat.com>
2203
2204         * system-settings/plugins/ifcfg-fedora/plugin.c
2205           system-settings/plugins/ifcfg-fedora/reader.c
2206                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
2207                         valid NM connection
2208
2209 2008-07-29  Dan Williams  <dcbw@redhat.com>
2210
2211         * src/nm-gsm-device.c
2212                 - (automatic_registration_response, automatic_registration): recognize
2213                         denied registration and reorder responses
2214
2215 2008-07-29  Dan Williams  <dcbw@redhat.com>
2216
2217         * src/nm-serial-device.c
2218                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
2219                         time(2) is used for current time, which returns seconds, we shouldn't
2220                         be multiplying by 1000.
2221
2222 2008-07-28  Dan Williams  <dcbw@redhat.com>
2223
2224         Patch from Fabrice Bellet <fabrice@bellet.info>
2225
2226         * src/NetworkManagerSystem.c
2227                 - (route_in_same_subnet): mask addresses and compare them so that the
2228                         function actually does what it says it's going to do (rh #456685)
2229
2230 2008-07-27  Dan Williams  <dcbw@redhat.com>
2231
2232         * libnm-util/nm-setting-ip6-config.c
2233                 - (set_property): add missing break that caused routes to be overwritten
2234                         with addresses
2235
2236         * libnm-util/nm-setting-ip6-config.c
2237                 - (verify): validate routes and return GError everywhere on invalid setting
2238                 - (finalize): don't leak routes
2239                 - (set_property): add missing break that caused routes to be overwritten
2240                         with addresses
2241
2242 2008-07-27  Dan Williams  <dcbw@redhat.com>
2243
2244         * libnm-util/*
2245                 - Relicense to LGPLv2+
2246
2247 2008-07-27  Dan Williams  <dcbw@redhat.com>
2248
2249         * system-settings/plugins/ifcfg-fedora/reader.c
2250                 - (make_ip4_setting): fix parsing automatic configs
2251
2252 2008-07-27  Dan Williams  <dcbw@redhat.com>
2253
2254         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2255           src/nm-device.c
2256           src/ppp-manager/nm-ppp-manager.c
2257                 - Ensure child process gets reaped.  The child watch function may be
2258                         removed from the mainloop before the child gets killed, so we have
2259                         to make sure the child is reaped when it's told to die intentionally
2260
2261 2008-07-27  Dan Williams  <dcbw@redhat.com>
2262
2263         Patch from Roy Marples <roy@marples.name>
2264
2265         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2266                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
2267
2268 2008-07-27  Dan Williams  <dcbw@redhat.com>
2269
2270         * src/nm-gsm-device.c
2271                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
2272                         Huawei devices turn echo back on after CPIN (rh #456770)
2273
2274 2008-07-24  Tambet Ingo  <tambet@gmail.com>
2275
2276         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
2277         format argument to g_set_error() call.
2278
2279         * src/backends/interface_parser.[ch]: Remove.
2280
2281         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
2282
2283 2008-07-21  Dan Williams  <dcbw@redhat.com>
2284
2285         * src/ppp-manager/nm-ppp-manager.c
2286                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
2287                         to prevent pppd from picking up some random local address from an
2288                         interface that doesn't have anything to do with the one we're
2289                         interested in (rh #455348)
2290
2291 2008-07-17  Dan Williams  <dcbw@redhat.com>
2292
2293         * libnm-util/nm-utils.c
2294                 - (string_to_utf8): general function for conversion to UTF-8 assisted
2295                         by locale
2296                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
2297                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
2298
2299 2008-07-17  Dan Williams  <dcbw@redhat.com>
2300
2301         * introspection/Makefile.am
2302           introspection/nm-device.xml
2303           introspection/nm-dhcp4-config.xml
2304                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
2305                         itself
2306         * src/nm-device-interface.c
2307           src/nm-device-interface.h
2308                 - Add the DHCP4Config property
2309
2310         * src/nm-device.c
2311                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
2312                         D-Bus clients when it changes
2313
2314         * src/nm-dhcp4-config.c
2315           src/nm-dhcp4-config.h
2316                 - Simple object to store DHCP4 options, export them over D-Bus, and
2317                         notify when they change
2318
2319         * src/dhcp-manager/nm-dhcp-manager.c
2320           src/dhcp-manager/nm-dhcp-manager.h
2321                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
2322                         filter server-returned DHCP options into an NMDHCP4Config object
2323
2324 2008-07-16  Dan Williams  <dcbw@redhat.com>
2325
2326         * introspection/nm-device.xml
2327                 - Add device state reasons
2328
2329 2008-07-16  Dan Williams  <dcbw@redhat.com>
2330
2331         Patch from Roy Marples <roy@marples.name>
2332
2333         * configure.in
2334                 - Add --with-dhcp-client option
2335
2336         * src/dhcp-manager/Makefile.am
2337                 - pass DHCP_CLIENT_PATH on compile line
2338
2339         * src/dhcp-manager/nm-dhcp-manager.c
2340           src/dhcp-manager/nm-dhcp-manager.h
2341                 - Genericize for both dhcpcd and dhclient
2342
2343         * src/dhcp-manager/nm-dhcp-dhclient.c
2344                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
2345
2346         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2347                 - Implement support for dhcpcd too
2348
2349 2008-07-16  Tambet Ingo  <tambet@gmail.com>
2350
2351         * system-settings/src/nm-system-config-interface.c 
2352         (nm_system_config_interface_supports_add): Implement.
2353         (nm_system_config_interface_add_connection): Return a boolean to notify
2354         of errors.
2355
2356         * system-settings/src/nm-polkit-helpers.c: 
2357         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
2358         a separate file.
2359
2360         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
2361         Return an error when none of the plugins support add or if addition
2362         failed for some reason.
2363
2364         * system-settings/src/nm-system-config-error.h: 
2365         * system-settings/src/nm-system-config-error.c: New files, mostly moved
2366         here from nm-polkit-helpers.[ch].
2367
2368         * system-settings/src/Makefile.am: Build new files.
2369
2370         * system-settings/plugins/keyfile/reader.c 
2371         (read_array_of_array_of_uint): Make it more general so that it would
2372         work for routes as well.
2373
2374         * system-settings/plugins/keyfile/writer.c
2375         (write_array_of_array_of_uint): Ditto.
2376         Fix the netmask/prefix writing.
2377
2378         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
2379         boolean to notify errors.
2380
2381         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
2382         Return more specific error.
2383         (delete): Ditto.
2384
2385 2008-07-11  Dan Williams  <dcbw@redhat.com>
2386
2387         Modify the NMDevice::state-changed signal to include the previous state
2388         and reason. Enables the applet to provide more information why device
2389         activation failed.
2390
2391 2008-07-09  Dan Williams  <dcbw@redhat.com>
2392
2393         * callouts/Makefile.am
2394           callouts/nm-avahi-autoipd-action.c
2395           callouts/nm-avahi-autoipd.conf
2396                 - avahi-autoipd callout to send options back to NM
2397
2398         * src/autoip.c
2399           src/autoip.h
2400                 - remove
2401
2402         * src/nm-device.c
2403           src/nm-device-private.h
2404           src/nm-manager.c
2405                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
2406                         old custom stuff
2407
2408 2008-07-07  Dan Williams  <dcbw@redhat.com>
2409
2410         * system-settings/plugins/ifcfg-fedora/reader.c
2411                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
2412                         handle PREFIX too; clean up
2413
2414 2008-07-07  Dan Williams  <dcbw@redhat.com>
2415
2416         Convert to using IPv4 prefixes instead of netmasks.
2417
2418 2008-07-03  Dan Williams  <dcbw@redhat.com>
2419
2420         * libnm-util/nm-setting-ip4-config.c
2421           libnm-util/nm-setting-ip4-config.h
2422                 - Add properties for DHCP Client Identifier and DHCP Hostname
2423
2424         * src/dhcp-manager/nm-dhcp-manager.c
2425           src/dhcp-manager/nm-dhcp-manager.h
2426                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
2427                         setting as an argument to pass on to the dhclient config file
2428                         creation function
2429                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
2430                         DHCP is torn down
2431                 - (dhclient_run): punt config file handling to create_dhclient_config()
2432                 - (create_dhclient_config): create an interface-specific dhclient
2433                         config file since there may need to be interface-specific options
2434                         passed to dhclient
2435                 - (merge_dhclient_config): merge normal distro dhclient config file and
2436                         add options from the connection
2437                 - (nm_dhcp_device_new): generate the interface specific dhclient
2438                         config file path once
2439                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
2440                         dhclient config file path
2441
2442         * src/nm-device.c
2443                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
2444                         DHCP manager when starting DHCP
2445
2446 2008-07-02  Dan Williams  <dcbw@redhat.com>
2447
2448         * libnm-util/nm-setting-8021x.c
2449                 - (verify): allow forcing the PEAP label to 0
2450
2451 2008-07-02  Dan Williams  <dcbw@redhat.com>
2452
2453         * introspection/nm-active-connection.xml
2454           introspection/nm-vpn-connection.xml
2455           libnm-glib/nm-active-connection.c
2456           src/nm-activation-request.c
2457           src/nm-active-connection.h
2458           src/vpn-manager/nm-vpn-connection.c
2459                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
2460                         and libnm-glib API since sharing didn't get implemented that way
2461
2462 2008-07-02  Dan Williams  <dcbw@redhat.com>
2463
2464         * src/nm-device-wifi.c
2465                 - (can_scan): don't scan when a shared connection is activated since
2466                         that makes drivers mad (causing disconnects); also NM doesn't need
2467                         to hedge against disconnects by keeping up-to-date network topology
2468                         because the connection originates from the local machine, and thus
2469                         there should be no disconnects
2470
2471 2008-07-01  Dan Williams  <dcbw@redhat.com>
2472
2473         Fix mobile broadband username/password issues.  NM was never requesting
2474         mobile broadband secrets, nor was it passing back the username and password
2475         if it had them.
2476
2477         * marshallers/nm-marshal.list
2478                 - Add some new types for activation request objects
2479
2480         * src/nm-activation-request.c
2481           src/nm-activation-request.h
2482                 - (get_secrets_cb): pass the caller type in the signal
2483                 - (nm_act_request_request_connection_secrets): take a caller type, so
2484                         that GetSecrets() reply handlers know who asked for the secrets in
2485                         the first place; use secret hints too so the settings service can
2486                         figure out exactly what NM wants (ie, PIN or the PPP password)
2487
2488         * src/ppp-manager/nm-ppp-manager.c
2489           src/ppp-manager/nm-ppp-manager.h
2490                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
2491                         detect needed secrets when the secret could be blank, like GSM/CDMA
2492                         passwords.  So always ask for secrets, and send a hint as to what
2493                         secret we really want.
2494                 - (nm_ppp_manager_update_secrets): make function more generic by making
2495                         the device specific class figure out the username and password, and
2496                         accept an error argument to return back over D-Bus
2497
2498         * src/nm-device-wifi.c
2499                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2500                         nm_act_request_request_connection_secrets()
2501                 - (real_connection_secrets_updated): update for 'caller' changes
2502
2503         * src/nm-device.c
2504           src/nm-device.h
2505                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
2506                         for 'caller' changes
2507
2508         * src/nm-device-ethernet.c
2509                 - (real_connection_secrets_updated): update for 'caller' changes and
2510                         move logic for getting PPPoE username and password here before
2511                         calling nm_ppp_manager_update_secrets()
2512                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2513                         nm_act_request_request_connection_secrets()
2514
2515         * src/nm-cdma-device.c
2516                 - (real_connection_secrets_updated): pass username and password back
2517                         to the PPP manager when required
2518
2519         * src/nm-gsm-device.c
2520                 - (enter_pin): send the required secret name to the settings service
2521                 - (real_connection_secrets_updated): pass username and password back
2522                         to the PPP manager when required
2523
2524 2008-06-30  Dan Williams  <dcbw@redhat.com>
2525
2526         * src/nm-device-wifi.c
2527                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
2528
2529 2008-06-30  Dan Williams  <dcbw@redhat.com>
2530
2531         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
2532         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
2533         priv->supplicant.iface.  When either condition is false, the device should
2534         transition back to UNAVAILABLE because it cannot be used.
2535
2536         * src/nm-device-wifi.c
2537                 - (constructor): cleanup; connect to supplicant manager here since the
2538                         supplicant manager is always around
2539                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
2540                         ensure the supplicant manager is in the IDLE state
2541                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
2542                         cancel any pending scans too
2543                 - (real_bring_up): don't set up the supplicnat interface here, because
2544                         we need the supplicant interface at times when the device may not
2545                         be "up"
2546                 - (real_take_down): just remove the periodic source
2547                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
2548                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
2549                         do anything if there's no supplicant interface
2550                 - (cleanup_association_attempt): cleanup
2551                 - (supplicant_iface_state_cb_handler): request an immediate scan when
2552                         the interface enters the READY state; transition to UNAVAILABLE
2553                         state when the interface goes down because the device can't be used
2554                         without a supplicant interface
2555                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
2556                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
2557                         acquire the supplicant interface and transition to DISCONNECTED
2558                         if the radio isn't killed
2559                 - (nm_device_wifi_dispose): move most of device_cleanup() here
2560                 - (state_changed_cb): release any existing supplicant interface; if the
2561                         radio is enabled then try to acquire a new supplicant interface;
2562                         if the radio is enabled and a supplicant interface has been acquired,
2563                         we can transition to DISCONNECTED
2564                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
2565                         don't enable the radio, because HAL probably lied to us about the
2566                         killswitch being off.  If bringing the hardware up worked, then
2567                         try to grab a supplicant interface, and if that was successful,
2568                         transition to DISCONNECTED
2569
2570 2008-06-30  Dan Williams  <dcbw@redhat.com>
2571
2572         * src/supplicant-manager/nm-supplicant-interface.c
2573                 - (request_scan_results, nm_supplicant_interface_dispose,
2574                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
2575                         the id of the timeout, not a GSource
2576
2577 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2578
2579         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
2580         bunch of typoes introduced by "Patch from David Cantrell 
2581         <dcantrell@redhat.com> and me".
2582
2583 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2584
2585         * src/nm-serial-device.c: 
2586         * src/nm-gsm-device.c: 
2587         * src/nm-cdma-device.c: Move the pending call handling to a common location
2588         in serial device. Handle setting device state to failed in one place as well.
2589
2590 2008-06-29  Dan Williams <dcbw@redhat.com>
2591
2592         * src/nm-hal-manager.c
2593                 - Rework killswitch handling to query killswitch status immediately
2594                         when the first killswitch is added, so that rfkill state is
2595                         known as early as possible
2596                 - Also treat failure of GetPower() as rfkill when the dbus method
2597                         call times out (but not when the HAL callout returns an error)
2598
2599 2008-06-26  Dan Williams <dcbw@redhat.com>
2600
2601         Patch from David Cantrell <dcantrell@redhat.com> and me
2602
2603         * include/nm-dbus-glib-types.h
2604                 - Add IP6 address types
2605
2606         * libnm-util/Makefile.am
2607           libnm-util/nm-setting-ip6-config.c
2608           libnm-util/nm-setting-ip6-config.h
2609                 - Add IP6 settings object
2610
2611         * libnm-util/nm-connection.c
2612                 - (register_default_settings): register ip6 settings object
2613
2614         * libnm-util/nm-utils.c
2615           libnm-util/nm-utils.h
2616                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
2617                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
2618                         ip6 address conversion functions
2619         
2620 2008-06-26  Dan Williams <dcbw@redhat.com>
2621
2622         Patch from David Cantrell <dcantrell@redhat.com>
2623         
2624         * Use inet_ntop() and inet_pton() everwhere and check for errors
2625
2626 2008-06-26  Dan Williams <dcbw@redhat.com>
2627
2628         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
2629
2630 2008-06-26  Dan Williams <dcbw@redhat.com>
2631
2632         Patch from Adel Gadllah <adel.gadllah@gmail.com>
2633
2634         * src/nm-device-wifi.c
2635                 - (link_timeout_cb): don't ignore disconnects due to scanning
2636                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2637                         a longer timeout when scanning; avoids case where supplicant can't
2638                         find the AP and just keeps scanning forever but isn't connected
2639
2640 2008-06-26  Dan Williams <dcbw@redhat.com>
2641
2642         Patch from Michael Biebl <biebl@debian.org>
2643
2644         * Clean up build system stuff
2645
2646 2008-06-23  Christian Persch  <chpe@gnome.org>
2647
2648         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2649         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2650         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2651         (impl_get_object):
2652         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2653         (impl_get_object):
2654         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2655         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2656         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2657         (impl_get_object):
2658         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2659         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2660         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2661         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2662         * vpn-daemons/pptp/properties/vpnui_opt.c:
2663         (vpnui_opt_connect_signals):
2664         * vpn-daemons/pptp/properties/vpnui_opt.h:
2665         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2666         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2667         deprecated gtk type macros. Bug #539325.
2668
2669 2008-06-20  Dan Williams  <dcbw@redhat.com>
2670
2671         * libnm-glib/nm-vpn-plugin-ui-interface.c
2672           libnm-glib/nm-vpn-plugin-ui-interface.h
2673                 - 'validity-changed' -> 'changed' to work better with the connection
2674                         editor.  Plugin UI widgets should emit 'changed' whenever their
2675                         UI values change in a meaningful way.
2676                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2677                         update_connection member now returns validity of the UI widget
2678
2679 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2680
2681         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2682
2683 2008-06-17  Dan Williams  <dcbw@redhat.com>
2684
2685         * libnm-glib/nm-vpn-plugin-ui-interface.c
2686           libnm-glib/nm-vpn-plugin-ui-interface.h
2687                 - Add "desc" property for longer descriptions of the VPN plugin
2688
2689 2008-06-16  Dan Williams  <dcbw@redhat.com>
2690
2691         * configure.in
2692           libnm-glib/libnm_glib_vpn.pc.in
2693                 - add a .pc file for libnm_glib_vpn
2694
2695         * libnm-glib/nm-vpn-plugin-ui-interface.c
2696           libnm-glib/nm-vpn-plugin-ui-interface.h
2697                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2698                         rework it substantially
2699
2700 2008-06-12  Dan Williams  <dcbw@redhat.com>
2701
2702         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2703         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2704         returns a descriptive GError when verification fails.
2705
2706 2008-06-11  Dan Williams  <dcbw@redhat.com>
2707
2708         Patch from Tambet Ingo <tambet@gmail.com>
2709
2710         * libnm-util/nm-setting-gsm.c
2711                 - (verify): validate APN
2712
2713         * src/nm-gsm-device.c
2714                 - (manual_registration_done): start setting APN if needed
2715                 - (set_apn, set_apn_done): set the APN
2716                 - (do_dial): use the APN when dialing
2717
2718 2008-06-11  Dan Williams  <dcbw@redhat.com>
2719
2720         * src/NetworkManagerSystem.c
2721                 - (nm_system_device_set_ip4_route,
2722                    nm_system_device_replace_default_ip4_route): check for the right
2723                         return value from rtnl_route_add() to know when to add a gateway
2724                         route (from Tambet)
2725
2726 2008-06-11  Dan Williams  <dcbw@redhat.com>
2727
2728         * src/NetworkManagerPolicy.c
2729                 - do_ipt_cmd -> do_cmd
2730                 - (sharing_init): use do_cmd() instead of system()
2731
2732 2008-06-10  Dan Williams  <dcbw@redhat.com>
2733
2734         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2735         and use "wifi" everwhere instead.
2736
2737 2008-06-10  Dan Williams  <dcbw@redhat.com>
2738
2739         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2740
2741 2008-06-10  Dan Williams  <dcbw@redhat.com>
2742
2743         Patch from Tambet Ingo <tambet@gmail.com>
2744
2745         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2746                 changes.
2747
2748         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2749                 a signal to emit these changes over dbus.
2750
2751         * src/Makefile.am: Genereate nm-serial-device-glue.
2752
2753         * libnm-glib/nm-serial-device.[ch]: Implement.
2754
2755         * libnm-glib/nm-cdma-device.[ch]
2756           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2757
2758         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2759
2760         * introspection/nm-device-serial.xml: Implement.
2761
2762         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2763
2764         * introspection/Makefile.am: Add nm-device-serial.xml.
2765
2766         * include/NetworkManager.h: Add a DBus interface for serial device.
2767
2768 2008-06-10  Dan Williams  <dcbw@redhat.com>
2769
2770         * configure.in
2771                 - Add TARGET_* define to config.h to distinguish distros
2772
2773         * src/dhcp-manager/nm-dhcp-manager.c
2774                 - (dhclient_run): use distro-specific path for dhclient config file
2775
2776 2008-06-09  Dan Williams  <dcbw@redhat.com>
2777
2778         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2779           src/dnsmasq-manager/nm-dnsmasq-manager.h
2780                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2781                         calculate the addresses passed to dnsmasq instead of hard-coding
2782                         them
2783
2784         * src/nm-device.c
2785                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2786                         IP addresses for shared connections to guard against shared
2787                         connection address collisions
2788                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2789                         error conditions
2790                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2791                         the dnsmasq manager
2792
2793 2008-06-09  Dan Williams  <dcbw@redhat.com>
2794
2795         * src/NetworkManagerPolicy.c
2796                 - (update_routing_and_dns): set the default connection _after_ unsetting
2797                         default on all non-default connections so that two connections can
2798                         never be default at the same time
2799                 - (device_state_changed): start and stop connection sharing when
2800                         needed
2801                 - (active_connection_default_changed): restart or stop sharing when
2802                         the default connection changes to keep shared connections always
2803                         NAT-ed through the default connection
2804                 - (check_sharing): handle activation/deactivation of shared connections
2805                 - (sharing_restart): atom-bomb approach to connection sharing until we
2806                         can use libnl; reinit all sharing when the default connection or
2807                         shared connections change
2808                 - (sharing_init, sharing_stop): evil functions that init and deinit
2809                         iptables
2810
2811 2008-06-09  Dan Williams  <dcbw@redhat.com>
2812
2813         * src/nm-activation-request.c
2814           src/nm-activation-request.h
2815                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2816                    nm_act_request_get_device): new functions to facilitate connection
2817                         sharing
2818
2819 2008-06-09  Dan Williams  <dcbw@redhat.com>
2820
2821         * src/nm-device.c
2822                 - (clear_act_request): unset the 'default' property of the activation
2823                         request when clearing it to ensure the property changed signal gets
2824                         delivered and handled
2825
2826 2008-06-09  Dan Williams  <dcbw@redhat.com>
2827
2828         * libnm-glib/nm-device-802-11-wireless.c
2829                 - (access_point_removed_proxy): actually unref the AP after removing
2830                         it from the device's AP list.  Fixes refcounting bug for APs that
2831                         caused them to get mixed up in the applet's menu.
2832
2833 2008-06-09  Tambet Ingo  <tambet@gmail.com>
2834
2835         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
2836         (nm_dhcp_device_destroy): Destroy the device options hash table.
2837
2838 2008-06-06  Dan Williams <dcbw@redhat.com>
2839
2840         * system-settings/src/nm-polkit-helpers.c
2841                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
2842                         unref the context if the initialization fails; also avoid spew when
2843                         the error isn't set
2844
2845 2008-06-06  Dan Williams <dcbw@redhat.com>
2846
2847         Patch from Tambet Ingo  <tambet@gmail.com>
2848
2849         * src/NetworkManagerSystem.c
2850           src/NetworkManagerSystem.h
2851                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
2852                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
2853                 - (nm_system_device_set_ip4_route): clean up
2854                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
2855
2856         * src/nm-device.c
2857                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
2858
2859         * src/vpn-manager/nm-vpn-connection.c
2860                 - (ip_address_to_string): new function
2861                 - (print_vpn_config): use ip_address_to_string
2862                 - (merge_vpn_routes): add user-defined routes to the ip4 config
2863                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
2864
2865         * include/NetworkManagerVPN.h
2866                 - Add 'routes' key
2867
2868 2008-06-05  Dan Williams <dcbw@redhat.com>
2869
2870         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2871
2872         * test/nm-tool.c
2873                 - Show which device is the default device
2874
2875 2008-06-05  Tambet Ingo  <tambet@gmail.com>
2876
2877         Fix memory leaks.
2878
2879         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
2880         Free data returned from dbus method call.
2881
2882         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
2883         dbus_g_method_get_sender() returns a duplicated string, free it 
2884         when done.
2885         (check_polkit_privileges): Looks like policykit sometimes returns
2886         error and non-null return value, don't leak errors in that case.
2887
2888         * system-settings/src/main.c (find_plugin): Don't leak existing 
2889         plugin names.
2890         (load_stuff): Don't leak device list and list items.
2891         (have_connection_for_device): Don't leak connection list.
2892
2893         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
2894         Free the data received from g_keyfile_get_*.
2895
2896         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
2897         the key when the security object is updated.
2898
2899         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
2900         Free data returned from dbus method call.
2901         (iface_state_cb): Ditto.
2902         (add_network_cb): Ditto.
2903         (nm_supplicant_interface_add_cb): Don't make another copy of already
2904         duplicated object path.
2905         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
2906         when done.
2907
2908         * src/supplicant-manager/nm-supplicant-config.c 
2909         (ADD_STRING_LIST_VAL): Fix a memory leak.
2910
2911         * src/nm-manager.c (free_get_settings_info): Free the allocated
2912         memory slice.
2913         (list_connections_cb): Free data returned from dbus method call.
2914         (system_settings_get_unmanaged_devices_cb): Ditto.
2915
2916         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
2917
2918         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
2919         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
2920         * src/backends/shvar.c (svCloseFile): Free the duplicated content
2921         of the GList.
2922
2923         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
2924         arguments after the object is created.
2925
2926 2008-06-04  Dan Williams <dcbw@redhat.com>
2927
2928         * libnm-util/Makefile.am
2929                 - Don't distribute nm-param-spec-specialized.h
2930
2931 2008-06-02  Tambet Ingo  <tambet@gmail.com>
2932
2933         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
2934
2935         * src/nm-ip4-config.[ch]: Store the static routes as a list of
2936         NMIP4Address, update the getters and setters.
2937
2938         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2939         Use the updated NMIP4Config routes api.
2940
2941         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
2942         static routes as well.
2943
2944         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
2945         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
2946         routes api.
2947
2948 2008-05-30  Dan Williams <dcbw@redhat.com>
2949
2950         * src/named-manager/nm-named-manager.c
2951           src/named-manager/nm-named-manager.h
2952                 - Remove stale/obsolete bits for controlling bind over DBus
2953
2954 2008-05-29  Dan Williams <dcbw@redhat.com>
2955
2956         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2957           src/dnsmasq-manager/nm-dnsmasq-manager.h
2958                 - (nm_dnsmasq_manager_new): move iface argument here
2959                 - (constructor): remove, not needed
2960                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
2961                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
2962
2963         * src/nm-device.c
2964                 - (real_act_stage4_get_ip4_config,
2965                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
2966                         changes
2967
2968 2008-05-29  Dan Williams <dcbw@redhat.com>
2969
2970         * src/nm-device.c
2971                 - (dnsmasq_state_changed_cb): new function; fail the connection if
2972                         something happens to dnsmasq
2973                 - (nm_device_new_ip4_shared_config): new function; create a new
2974                         ip4-config for shared connections.  Shared connections always use a
2975                         fixed static IP address.
2976                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
2977                         autoip connections by actually using the returned ip4-config and
2978                         not leaking it
2979                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
2980                         connections
2981                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
2982                         if its active
2983
2984 2008-05-29  Dan Williams <dcbw@redhat.com>
2985
2986         * src/nm-device-802-11-wireless.c
2987                 - (real_get_best_auto_connection): auto-activate 'shared' method
2988                         connections too
2989
2990 2008-05-29  Dan Williams <dcbw@redhat.com>
2991
2992         * libnm-util/nm-setting-ip4-config.c
2993           libnm-util/nm-setting-ip4-config.h
2994                 - Add a 'shared' method to indicate that this connection should be
2995                         brought up with a DHCP and proxy DNS server to facilitate
2996                         connection sharing.
2997                 - (verify): 'shared' method doesn't allow DNS or searches either
2998
2999 2008-05-29  Dan Williams <dcbw@redhat.com>
3000
3001         * configure.in
3002           src/Makefile.am
3003           src/dnsmasq-manager/Makefile.am
3004           src/dnsmasq-manager/nm-dnsmasq-manager.c
3005           src/dnsmasq-manager/nm-dnsmasq-manager.h
3006                 - Add a dnsmasq daemon manager to facilitate connection sharing
3007
3008 2008-05-29  Dan Williams <dcbw@redhat.com>
3009
3010         * src/nm-device-private.h
3011                 - Remove unused prototypes and clean up
3012
3013         * src/nm-device.c
3014                 - Remove anything related to system_config_data, which is no longer used
3015                 - (nm_device_new_ip4_autoip_config): make static
3016
3017 2008-05-29  Tambet Ingo  <tambet@gmail.com>
3018
3019         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
3020         (file_changed): Fix a bug where suse system settings plugin didn't
3021         update the connections automatically when the files changed.
3022
3023 2008-05-28  Dan Williams  <dcbw@redhat.com>
3024
3025         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
3026
3027 2008-05-28  Dan Williams  <dcbw@redhat.com>
3028
3029         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3030
3031         * src/NetworkManagerSystem.c
3032                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
3033                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
3034                         was causing -EINVAL errors since the libnl code actually does flush
3035                         the routes on VPN interfaces now
3036
3037         * src/backends/NetworkManagerArch.c
3038           src/backends/NetworkManagerDebian.c
3039           src/backends/NetworkManagerFrugalware.c
3040           src/backends/NetworkManagerGeneric.c
3041           src/backends/NetworkManagerGentoo.c
3042           src/backends/NetworkManagerMandriva.c
3043           src/backends/NetworkManagerPaldo.c
3044           src/backends/NetworkManagerRedHat.c
3045           src/backends/NetworkManagerSlackware.c
3046           src/backends/NetworkManagerSuSE.c
3047                 - (nm_system_device_flush_ip4_routes,
3048                    nm_system_device_flush_ip4_routes_with_iface): remove
3049
3050 2008-05-28  Dan Williams  <dcbw@redhat.com>
3051
3052         * libnm-util/nm-setting-wireless.c
3053           libnm-util/nm-setting-wireless.h
3054                 - (set_property, get_property, nm_setting_wireless_class_init): add the
3055                         'adhoc-create' property, which when TRUE indicates that NM should
3056                         create this connection as an adhoc wifi network if it's not found
3057                         as an adhoc network during scanning.  Can be used to auto-create
3058                         adhoc networks when used in combination with autoconnect.
3059
3060 2008-05-28  Tambet Ingo  <tambet@gmail.com>
3061
3062         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
3063
3064         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
3065         checked, it doesn't work on some devices.
3066
3067 2008-05-28  Tambet Ingo  <tambet@gmail.com>
3068
3069         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
3070         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
3071
3072         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
3073         Use inet_aton() everywhere to improve error detection.
3074         Don't fall back to 'dhcp_server_identifier' if the gateway is not
3075         provided.
3076
3077 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3078
3079         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
3080         Fix a typo.
3081
3082 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3083
3084         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
3085         reference counting issue.
3086
3087 2008-05-23  Dan Williams  <dcbw@redhat.com>
3088
3089         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3090
3091         * src/backends/NetworkManagerGeneric.c
3092                 - (nm_generic_enable_loopback): use libnl
3093
3094 2008-05-23  Dan Williams  <dcbw@redhat.com>
3095
3096         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3097
3098         * src/NetworkManagerSystem.h
3099           src/backends/NetworkManagerArch.c
3100           src/backends/NetworkManagerDebian.c
3101           src/backends/NetworkManagerFrugalware.c
3102           src/backends/NetworkManagerGentoo.c
3103           src/backends/NetworkManagerMandriva.c
3104           src/backends/NetworkManagerPaldo.c
3105           src/backends/NetworkManagerRedHat.c
3106           src/backends/NetworkManagerSlackware.c
3107           src/backends/NetworkManagerSuSE.c
3108                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
3109                    nm_system_flush_arp_cache): remove, unused
3110
3111         * src/backends/NetworkManagerGeneric.c
3112           src/backends/NetworkManagerGeneric.h
3113                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
3114                    nm_generic_flush_arp_cache): remove, unused
3115
3116 2008-05-23  Dan Williams  <dcbw@redhat.com>
3117
3118         * system-settings/plugins/ifcfg-fedora/reader.c
3119                 - (make_ip4_setting): honor PEERDNS setting
3120
3121 2008-05-23  Dan Williams  <dcbw@redhat.com>
3122
3123         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3124
3125         * src/NetworkManagerSystem.c
3126                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
3127                         libnl
3128
3129         * src/backends/NetworkManagerArch.c
3130           src/backends/NetworkManagerDebian.c
3131           src/backends/NetworkManagerFrugalware.c
3132           src/backends/NetworkManagerGentoo.c
3133           src/backends/NetworkManagerMandriva.c
3134           src/backends/NetworkManagerPaldo.c
3135           src/backends/NetworkManagerRedHat.c
3136           src/backends/NetworkManagerSlackware.c
3137           src/backends/NetworkManagerSuSE.c
3138                 - (nm_system_device_flush_ip4_addresses,
3139                    nm_system_device_flush_ip4_addresses_with_iface): remove
3140
3141         * src/backends/NetworkManagerGeneric.c
3142                 - (nm_generic_device_flush_ip4_addresses,
3143                    nm_generic_device_flush_ip4_addresses_with_iface): remove
3144
3145 2008-05-23  Dan Williams  <dcbw@redhat.com>
3146
3147         * src/supplicant-manager/nm-supplicant-settings-verify.c
3148                 - Switch 'bssid' from bytes to keyword type
3149                 - (validate_type_keyword): allow NULL keyword lists
3150
3151         * src/supplicant-manager/nm-supplicant-config.c
3152                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
3153                         a byte array to string form, which is what the supplicant expects
3154
3155 2008-05-23  Tambet Ingo  <tambet@gmail.com>
3156
3157         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
3158         information received from DHCP.
3159
3160         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
3161         to make it possible to ignore the DNS information (both servers and 
3162         searches) returned by DHCP server.
3163
3164         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
3165         name servers and searches if "ignore_dhcp_dns" is set.
3166
3167         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
3168         (nm_ip4_config_reset_searches): Implement.
3169
3170 2008-05-22  Dan Williams  <dcbw@redhat.com>
3171
3172         Remove anything mDNS related.  This is better done from a distro-specific
3173         dispatcher script.  Plus, any distro using avahi doesn't need to restart
3174         avahi, since avahi can handle interface changes just fine using netlink.
3175
3176         * configure.in
3177                 - Remove --with-mdns-provider
3178
3179         * src/NetworkManagerPolicy.c
3180                 - (global_state_changed): don't restart the mdns provider
3181
3182         * src/NetworkManagerSystem.h
3183           src/backends/NetworkManagerArch.c
3184           src/backends/NetworkManagerDebian.c
3185           src/backends/NetworkManagerFrugalware.c
3186           src/backends/NetworkManagerGentoo.c
3187           src/backends/NetworkManagerMandriva.c
3188           src/backends/NetworkManagerPaldo.c
3189           src/backends/NetworkManagerRedHat.c
3190           src/backends/NetworkManagerSlackware.c
3191           src/backends/NetworkManagerSuSE.c
3192                 - (nm_system_restart_mdns_responder): remove
3193
3194         * src/backends/NetworkManagerGeneric.c
3195           src/backends/NetworkManagerGeneric.h
3196                 - (nm_generic_restart_mdns_responder): remove
3197
3198 2008-05-22  Dan Williams  <dcbw@redhat.com>
3199
3200         * configure.in
3201                 - clean up crypto options; just use --with-crypto=nss or
3202                         --with-crypto=gnutls
3203
3204 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3205
3206         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
3207         anymore, do it right away.
3208
3209 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3210
3211         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
3212         serial device open when we're not connecting or connected.
3213
3214         * src/nm-cdma-device.c (device_state_changed): Ditto.
3215
3216 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3217
3218         Don't remove all devices on waking up, sync with HAL.
3219
3220         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
3221         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
3222         (hal_manager_hal_reappeared_cb): Just call sync_devices.
3223
3224 2008-05-21  Tambet Ingo  <tambet@gmail.com>
3225
3226         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
3227         If the default gateway is unreachable, add a route to gateway and try
3228         again.
3229
3230 2008-05-20  Dan Williams  <dcbw@redhat.com>
3231
3232         * system-settings/plugins/ifcfg-fedora/reader.c
3233                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
3234
3235 2008-05-19  Dan Williams  <dcbw@redhat.com>
3236
3237         * system-settings/plugins/ifcfg-fedora/reader.c
3238                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
3239                         if the ifcfg doesn't specify one (rh #446527)
3240
3241 2008-05-19  Dan Williams  <dcbw@redhat.com>
3242
3243         Make the system settings service exit when the bus goes away.  Since it's
3244         a bus-activated service, it's lifetime is limited to the bus that activated
3245         it (rh #444976).
3246
3247         * system-settings/src/Makefile.am
3248           system-settings/src/nm-system-config-hal-manager-private.h
3249                 - Remove nm-system-config-hal-manager-private.h
3250
3251         * system-settings/src/nm-system-config-hal-manager.c
3252                 - (nm_system_config_hal_manager_reinit_dbus,
3253                    nm_system_config_hal_manager_deinit_dbus): remove
3254
3255         * system-settings/src/main.c
3256                 - (dbus_reconnect): remove
3257                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
3258                 - (destroy_cb): just quit when the bus goes away
3259                 - (start_dbus_service, dbus_init): simplify
3260                 - (main): destroy the wired devices hash table after destroying
3261                         the HAL manager so we don't have to disconnect signals from the
3262                         HAL manager
3263
3264 2008-05-15  Tambet Ingo  <tambet@gmail.com>
3265
3266         Move crypto functions from nm-applet to libnm-util.
3267
3268         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
3269         (nm_setting_802_1x_set_client_cert)
3270         (nm_setting_802_1x_set_phase2_ca_cert)
3271         (nm_setting_802_1x_set_phase2_client_cert)
3272         (nm_setting_802_1x_set_private_key)
3273         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
3274         file (or private key and it's password), read the certificate data.
3275
3276         * libnm-util/crypto_nss.c: 
3277         * libnm-util/crypto_gnutls.c: 
3278         * libnm-util/crypto.[ch]: Move here from nm-applet.
3279
3280         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
3281
3282         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
3283         Imlement WPA-EAP configuration reading from sysconfig.
3284
3285 2008-05-16  Dan Williams  <dcbw@redhat.com>
3286
3287         * src/nm-device-802-11-wireless.c
3288                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
3289                         wireless
3290
3291 2008-05-14  Dan Williams  <dcbw@redhat.com>
3292
3293         Fix Linus' bug in rh #134886
3294
3295         * src/nm-device-802-3-ethernet.c
3296                 - (constructor): request initial carrier state
3297
3298         * src/nm-netlink-monitor.c
3299                 - (nm_netlink_monitor_request_status): schedule emission of carrier
3300                         signals after refilling the link cache.  Because the refill is a 
3301                         synchronous operation, the normal message hander won't get called
3302                         since libnl has already consumed the messages.
3303                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
3304
3305 2008-05-14  Dan Williams  <dcbw@redhat.com>
3306
3307         * src/NetworkManagerSystem.c
3308                 - (nm_system_device_is_up_with_iface): clean up
3309
3310 2008-05-13  Dan Williams  <dcbw@redhat.com>
3311
3312         Fix refcounting issues over sleep/wake when a VPN connection was active that
3313         caused NM to try registering an object path for a device upon wake that was
3314         the same as an already registered object path.
3315
3316         * src/nm-device.c
3317                 - (nm_device_take_down): properly handle cases where the device is
3318                         no longer active but was just active, and therefore must be
3319                         deactivated.  When a device moves to unmanaged mode, this function
3320                         previously would not deactivate the device, because the state was
3321                         already unmanaged by the time this function was called.
3322
3323         * src/vpn-manager/nm-vpn-connection.c
3324                 - (device_state_changed): properly handle multiple devices states in
3325                         which the device is now deactivated.  Code previously didn't handle
3326                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
3327                         UNMANAGED states.
3328
3329 2008-05-13  Dan Williams  <dcbw@redhat.com>
3330
3331         * src/nm-device-private.h
3332           src/nm-device.c
3333                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
3334
3335         * src/nm-device-802-11-wireless.c
3336                 - (nm_device_802_11_wireless_set_enabled): take devices up
3337                         and down as appropriate for the rfkill state
3338
3339 2008-05-13  Dan Williams  <dcbw@redhat.com>
3340
3341         * marshallers/nm-marshal.list
3342                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
3343
3344         * system-settings/plugins/ifcfg-fedora/Makefile.am
3345           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
3346           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
3347                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
3348                         events.  Solely for use watching ifcfg files to pick up changes
3349                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
3350
3351         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3352                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
3353                         file contents change
3354                 - (finalize): clean up inotify watches
3355                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
3356                         and the connection ifcfg for changes on their hardlinks
3357                 - (files_changed_cb): proxy the changed signal back out to listeners
3358
3359         * system-settings/plugins/ifcfg-fedora/plugin.c
3360                 - (dir_changed): 
3361                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
3362                         changes
3363                 - (read_one_connection): connect to change signals on the new connection
3364                 - (dir_changed, connection_changed_handler,
3365                    handle_connection_remove_or_new): break out connection change
3366                         handling and connection new/remove handling so it can be used from
3367                         both the GFileMonitor callback and the NMIfcfgConnection changed
3368                         signals
3369
3370         * system-settings/plugins/ifcfg-fedora/reader.c
3371           system-settings/plugins/ifcfg-fedora/reader.h
3372                 - (connection_from_file): return the keyfile path the connection would use
3373
3374 2008-05-13  Tambet Ingo  <tambet@gmail.com>
3375
3376         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
3377         single PolKitContext which is shared by all. PolKitContext::unref leaks
3378         just about everything, including all open file descriptiors and results
3379         in 99% cpu usage when data arrives to any of the fds that don't belong
3380         to any context anymore.
3381
3382 2008-05-12  Dan Williams  <dcbw@redhat.com>
3383
3384         * gfilemonitor/glocaldirectorymonitor.c
3385           gfilemonitor/glocaldirectorymonitor.h
3386                 - (g_local_directory_monitor_constructor): actually subscribe to the
3387                         watch
3388                 - (_g_local_directory_monitor_new): ensure that inotify is started up
3389
3390         * gfilemonitor/glocalfilemonitor.c
3391           gfilemonitor/glocalfilemonitor.h
3392                 - (g_local_file_monitor_constructor): actually subscribe to the watch
3393                 - (_g_local_file_monitor_new): ensure that inotify is started up
3394
3395 2008-05-11  Dan Williams  <dcbw@redhat.com>
3396
3397         * configure.in
3398                 - record PolicyKit version
3399
3400         * system-settings/src/nm-polkit-helpers.c
3401                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
3402                         with PolicyKit <= 0.6
3403
3404 2008-05-11  Dan Williams  <dcbw@redhat.com>
3405
3406         Update Fedora system-settings plugin to support latest API and use
3407         GFileMonitor rather than home-rolled inotify code.
3408
3409         * system-settings/plugins/ifcfg-fedora/Makefile.am
3410           system-settings/plugins/ifcfg-fedora/common.h
3411           system-settings/plugins/ifcfg-fedora/plugin.c
3412                 - Update to latest system settings plugin API; use GIO instead of
3413                         custom inotify code; use NMIfcfgConnection objects instead of
3414                         ConnectionData structures tacked onto NMConnection objects
3415
3416         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3417           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
3418                 - Implement an NMExportedConnection subclass mapping ifcfg files to
3419                         connections
3420
3421         * system-settings/plugins/ifcfg-fedora/reader.c
3422           system-settings/plugins/ifcfg-fedora/reader.h
3423                 - Move ifcfg parsing bits here from parser.c
3424
3425         * system-settings/plugins/ifcfg-fedora/parser.c
3426           system-settings/plugins/ifcfg-fedora/parser.h
3427                 - Remove; most code moved to reader.c
3428
3429 2008-05-11  Dan Williams  <dcbw@redhat.com>
3430
3431         * configure.in
3432           Makefile.am
3433           gfilemonitor/*
3434                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
3435                         implementation, so that the same change monitoring code can be used
3436                         on systems without glib-2.14 (like Fedora 8)
3437
3438         * system-settings/plugins/keyfile/Makefile.am
3439           system-settings/plugins/keyfile/plugin.c
3440           system-settings/plugins/ifcfg-suse/Makefile.am
3441           system-settings/plugins/ifcfg-suse/plugin.c
3442                 - Use private gfilemonitor code if GIO is not present
3443
3444 2008-05-09  Tambet Ingo  <tambet@gmail.com>
3445
3446         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
3447         NMExportedConnection's 'update' and 'delete' and return error with
3448         descriptive message.
3449
3450 2008-05-08  Dan Williams  <dcbw@redhat.com>
3451
3452         Patch from Markus Becker <mab@comnets.uni-bremen.de>
3453
3454         * src/nm-gsm-device.c
3455           src/nm-cdma-device.c
3456                 - (real_get_best_auto_connection): implement; allow autoconnection
3457                         to GSM & CDMA devices
3458
3459 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3460
3461         Use PolicyKit to authorize the system settings' AddConnection method
3462         and the system settings connections' Update and Delete methods.
3463         
3464         * libnm-glib/nm-settings.c (impl_exported_connection_update)
3465         (impl_exported_connection_delete, nm_exported_connection_update)
3466         (nm_exported_connection_delete): Return boolean and fill GError
3467         to notify the callers of the reasons why it might have failed.
3468
3469         * libnm-glib/nm-dbus-settings-system.c
3470         (nm_dbus_settings_system_add_connection): Return the error from dbus
3471         call so that the callers can see why it failed.
3472
3473         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
3474         signatures.
3475
3476         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
3477
3478         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
3479         abstract base class that checks PolicyKit permissions.
3480
3481         * system-settings/src/dbus-settings.c:
3482         (impl_settings_add_connection): Check the policy before carring out
3483         the request.
3484
3485         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
3486         Inherit from NMSysconfigConnection, check the policies before
3487         allowing updating or removing.
3488
3489         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
3490         Inherit from NMSysconfigConnection.
3491
3492         * introspection/nm-exported-connection.xml: Annotate "Update" and 
3493         "Delete" methods with async flag so that the implementations can get
3494         access to DBusGMethodInvocation.
3495
3496         * system-settings/src/dbus-settings.c 
3497         (settings_add_connection_check_privileges): Implement.
3498         (impl_settings_add_connection): Check the privileges before adding a new
3499         connection. Improve error reporting.
3500
3501         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
3502         async so that the implementation can access DBusGMethodInvocation.
3503
3504         * configure.in: Check for PolicyKit.
3505
3506         * policy/org.freedesktop.network-manager-settings.system.policy: 
3507         New file.
3508
3509         * policy/Makefile.am: Install the policy file.
3510
3511         * configure.in: Add 'policy' subdir.
3512
3513 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3514
3515         Rewrite the suse system settings plugin.
3516
3517         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
3518
3519         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
3520
3521         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
3522
3523         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
3524
3525         * system-settings/src/dbus-settings.c: Fix connection reference counting.
3526
3527         * system-settings/src/main.c (load_plugins): Improve error reporting.
3528
3529         * system-settings/src/sha1.[ch] Add.
3530
3531         * system-settings/src/Makefile.am: Add sha1[ch] to build.
3532
3533 2008-05-07  Dan Williams  <dcbw@redhat.com>
3534
3535         * system-settings/plugins/keyfile/reader.c
3536                 - (read_one_setting_value): handle IP address items separately
3537                 - (read_array_of_uint): read IPv4 DNS option as a string array
3538                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
3539                         array
3540
3541         * system-settings/plugins/keyfile/writer.c
3542                 - (write_setting_value): handle IP address items separately
3543                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
3544                         not an array of uint, so that it's user-editable
3545                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
3546                         arrays, so they are user-editable
3547
3548 2008-05-07  Dan Williams  <dcbw@redhat.com>
3549
3550         * system-settings/plugins/keyfile/Makefile.am
3551                 - Change location of the keyfile plugin settings to
3552                         /etc/NetworkManager/system-connections
3553
3554 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3555
3556         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
3557
3558         * system-settings/plugins/keyfile/plugin.c: Work with
3559         NMKeyfileConnections.
3560
3561         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
3562         Plugins are supposed to return NMExportedConnections now and handle the
3563         updated(), removed(), and GetSecrets().
3564         Store the internal list of connections in hash table to make it easier
3565         to find duplicates.
3566
3567 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3568
3569         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
3570         for multiple IP addresses.
3571
3572 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3573
3574         Patch from André Lemos.
3575
3576         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
3577         corruption.
3578
3579 2008-05-06  Dan Williams  <dcbw@redhat.com>
3580
3581         * src/dhcp-manager/nm-dhcp-manager.c
3582                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
3583                         NMIP4Config to support multiple IP addresses
3584
3585         * src/NetworkManagerUtils.c
3586                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
3587
3588         * src/nm-ip4-config.c
3589           src/nm-ip4-config.h
3590                 - Store a list of IPv4 address/netmask/gateway tuples
3591                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
3592                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
3593                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
3594                    nm_ip4_config_set_address): remove
3595                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
3596                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
3597                         new functions; handle multiple IPv4 addresses
3598
3599         * src/nm-device.c
3600           src/ppp-manager/nm-ppp-manager.c
3601           src/vpn-manager/nm-vpn-connection.c
3602           src/NetworkManagerPolicy.c
3603           test/nm-tool.c
3604           libnm-glib/libnm-glib-test.c
3605                 - update for changes to NMIP4Config for multiple IPv4 addresses
3606
3607         * src/NetworkManagerSystem.c
3608                 - (nm_system_device_set_ip4_route): don't add the route if any address
3609                         is on the same subnet as the destination
3610                 - (check_one_address): ignore the exact match, just match family and
3611                         interface index
3612                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
3613                         an interface
3614                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
3615                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
3616
3617         * introspection/nm-ip4-config.xml
3618                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
3619                 - Add 'addresses' property which is an array of (uuu) tuples of
3620                         address/netmask/gateway
3621
3622         * libnm-util/nm-setting-ip4-config.c
3623                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
3624
3625         * libnm-glib/nm-ip4-config.c
3626           libnm-glib/nm-ip4-config.h
3627                 - Handle D-Bus interface changes to support multiple IP addresses
3628
3629 2008-05-06  Dan Williams  <dcbw@redhat.com>
3630
3631         * libnm-util/nm-utils.c
3632           libnm-util/nm-utils.h
3633                 - (nm_utils_ip4_addresses_from_gvalue,
3634                    nm_utils_ip4_addresses_to_gvalue): new functions
3635
3636 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3637
3638         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3639         the returned connection paths.
3640
3641 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3642
3643         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3644         "PropertiesChanged" signal signature.
3645
3646         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3647         defined in nm-dbus-glib-types.h.
3648         Don't register the connection on dbus, we're a proxy class to 
3649         communicate with an already registered connection over dbus.
3650
3651 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3652
3653         Implement new subclasses of NMSettings and NMExportedConnection to make
3654         it easier for the applet to access and modify system settings.
3655
3656         * libnm-glib/nm-dbus-connection.[ch]:
3657         * libnm-glib/nm-dbus-settings.[ch]:
3658         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3659
3660         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3661         bindings and glue.
3662
3663         * include/NetworkManager.h: Define the system settings DBus interface.
3664
3665 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3666
3667         Implement additional C API for exported connections to make them identical
3668         with the DBus API. Change the (list_connections) virtual function to be
3669         more usable from C - instead of requiring implementers to return a GPtrArray
3670         of dbus paths, return a list of connections.
3671
3672         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3673         (nm_settings_list_connections):
3674         (nm_exported_connection_new):
3675         (nm_exported_connection_update):
3676         (nm_exported_connection_delete): Implement.
3677
3678         (impl_settings_list_connections):
3679         (impl_exported_connection_update):
3680         (impl_exported_connection_delete): Use the new public functions to make 
3681         sure the C and dbus interfaces stay in sync.
3682
3683         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3684         connections.
3685
3686 2008-05-02  Dan Williams  <dcbw@redhat.com>
3687
3688         * system-settings/plugins/ifcfg-fedora/plugin.c
3689                 - (dispose): use right unref call on the DBusGConnection
3690
3691 2008-05-02  Dan Williams  <dcbw@redhat.com>
3692
3693         * src/nm-serial-device.c
3694                 - (find_terminator): don't compare the whole line, just the size of the
3695                         terminator, since some modems put stuff after the terminator, like
3696                         "CONNECT 9600"
3697
3698 2008-05-01  Dan Williams  <dcbw@redhat.com>
3699
3700         Patch from Michael Biebl <biebl@debian.org>
3701
3702         * callouts/Makefile.am
3703           callouts/org.freedesktop.nm_dispatcher.service.in
3704           system-settings/src/Makefile.am
3705           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3706                 - use the right install location for dbus-activated stuff
3707
3708 2008-04-30  Dan Williams  <dcbw@redhat.com>
3709
3710         * src/nm-gsm-device.c
3711                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3712                         PIN or PUK
3713
3714 2008-04-30  Dan Williams  <dcbw@redhat.com>
3715
3716         * src/nm-manager.c
3717                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3718
3719 2008-04-30  Dan Williams  <dcbw@redhat.com>
3720
3721         * src/nm-device-802-3-ethernet.c
3722           src/nm-device-802-11-wireless.c
3723                 - (real_is_up): return true instead of chaining up to unimplemented
3724                         parent method
3725
3726 2008-04-30  Dan Williams  <dcbw@redhat.com>
3727
3728         * src/NetworkManagerSystem.c
3729           src/NetworkManagerSystem.h
3730                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3731                         functions to check device flags for IFF_UP
3732
3733         * src/nm-serial-device.c
3734                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3735                         implement is_up
3736
3737         * src/nm-device-802-3-ethernet.c
3738           src/nm-device-802-11-wireless.c
3739                 - (real_hw_is_up): call nm_system_device_is_up()
3740
3741         * src/nm-device.c
3742                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3743                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3744                         does not implement
3745
3746 2008-04-29  Dan Williams  <dcbw@redhat.com>
3747
3748         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3749
3750         * marshallers/nm-marshal.list
3751                 - Add marshaller
3752
3753         * src/NetworkManager.c
3754                 - (main): let the NMManager handle the NMHalManager
3755
3756         * src/nm-hal-manager.c
3757           src/nm-hal-manager.h
3758                 - convert to a GObject, and emit singals when stuff changes.  Let the
3759                         NMManager handle the signals, instead of the NMHalManager calling
3760                         into the NMManager.  
3761
3762         * src/nm-manager.c
3763           src/nm-manager.h
3764                 - (remove_one_device): consolidate device removals here
3765                 - (dispose): use remove_one_device()
3766                 - (nm_manager_get_device_by_udi): make static
3767                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3768                         manager for devices at startup or wakeup time
3769                 - (nm_manager_new): create and monitor the HAL manager
3770                 - (hal_manager_udi_added_cb): new function; do what
3771                         nm_manager_add_device() used to do when signalled by the hal manager
3772                 - (hal_manager_udi_removed_cb): new function; do what
3773                         nm_manager_remove_device() used to do when signalled by the hal
3774                         manager
3775                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3776                         hal manager
3777                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3778                         in our device list that aren't known to HAL
3779                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3780                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3781                         commits ago
3782                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3783                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3784                    nm_manager_wireless_hardware_enabled,
3785                    nm_manager_set_wireless_hardware_enabled): remove, unused
3786
3787 2008-04-28  Dan Williams  <dcbw@redhat.com>
3788
3789         Fix the device up/down ambiguities.  Up/down state used to be a
3790         conglomeration of hardware state (IFF_UP) and any device-specific things
3791         (supplicant, periodic timers, etc) that the device used to indicate
3792         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3793         reason, then the device specific stuff wouldn't get run, and the device
3794         would be stuck.
3795
3796         * src/nm-device.c
3797           src/nm-device.h
3798                 - Create hw_is_up, hw_bring_up, and hw_take_down
3799                 - Rename bring_down -> take_down
3800                 - (real_hw_is_up): check interface flags for IFF_UP
3801                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3802                 - (nm_device_is_up): make static; only used locally
3803                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3804                         if the device is already up; if the device isn't up, bring it up
3805                 - (nm_device_hw_take_down): just take down hardware
3806                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3807                 - (nm_device_take_down): always deactivate device when called; always
3808                         try to take hardware down too
3809                 - (nm_device_state_changed): take device down when entering unmanaged
3810                         state from a higher state
3811
3812         * src/nm-device-802-11-wireless.c
3813                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3814                         check IFF_UP really
3815                 - (real_take_down, supplicant_iface_state_cb_handler, 
3816                    supplicant_iface_connection_state_cb_handler,
3817                    supplicant_mgr_state_cb_handler): fix some messages
3818
3819         * src/nm-device-802-3-ethernet.c
3820                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3821                         check IFF_UP really
3822
3823 2008-04-28  Dan Williams  <dcbw@redhat.com>
3824
3825         * src/nm-manager.c
3826           src/nm-manager.h
3827                 - (nm_manager_error_get_type): add new error
3828                 - (nm_manager_remove_device): don't bother taking down the device here,
3829                         the state change from unmanaging the device will do it
3830                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
3831                         uses it; when going to sleep, just unmanage the device instead of
3832                         taking it down, because stuff will cleaned up correctly when the
3833                         device gets unmanaged
3834
3835 2008-04-28  Dan Williams  <dcbw@redhat.com>
3836
3837         * src/nm-hal-manager.c
3838                 - (add_initial_devices): convert to a GSourceFunc prototype
3839                 - (nm_manager_state_changed): when coming out of sleep, punt the
3840                         device re-addition to an idle handler to let D-Bus events go out
3841                         first, fixing a potential dbus-glib assert if the old device was
3842                         not yet disposed (due to references held while emitting the D-Bus
3843                         signals) but the new device was found, because the mainloop didn't
3844                         run between signal emission and add_initial_devices()
3845
3846 2008-04-27  Dan Williams  <dcbw@redhat.com>
3847
3848         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3849
3850         * initscript/paldo/NetworkManager.in
3851           initscript/SUSE/networkmanager.in
3852                 - Remove last bits of dhcdbd
3853
3854 2008-04-27  Dan Williams  <dcbw@redhat.com>
3855
3856         * src/nm-device-802-11-wireless.c
3857                 - (link_timeout_cb): don't ask for secrets when disconnected during
3858                         association/authentication phase, drivers are still just too crappy
3859
3860 2008-04-27  Dan Williams  <dcbw@redhat.com>
3861
3862         * Makefile.am
3863           configure.in
3864           dispatcher-daemon/Makefile.am
3865           dispatcher-daemon/NetworkManagerDispatcher.c
3866           initscript/Arch/Makefile.am
3867           initscript/Arch/networkmanager-dispatcher.in
3868           initscript/Gentoo/Makefile.am
3869           initscript/Gentoo/NetworkManagerDispatcher.in
3870           initscript/Mandriva/Makefile.am
3871           initscript/Mandriva/networkmanagerdispatcher.in
3872           initscript/RedHat/Makefile.am
3873           initscript/RedHat/NetworkManagerDispatcher.in
3874           initscript/SUSE/Makefile.am
3875           initscript/SUSE/networkmanager-dispatcher.in
3876           initscript/Slackware/Makefile.am
3877           initscript/Slackware/rc.networkmanager-dispatcher.in
3878           initscript/paldo/Makefile.am
3879           initscript/paldo/NetworkManagerDispatcher.in
3880           man/Makefile.am
3881           man/NetworkManagerDispatcher.8.in
3882                 - Remove the dispatcher daemon
3883
3884 2008-04-27  Dan Williams  <dcbw@redhat.com>
3885
3886         * callouts/Makefile.am
3887           callouts/nm-dispatcher-action.c
3888           callouts/nm-dispatcher-action.h
3889           callouts/nm-dispatcher.conf
3890           callouts/nm-dispatcher.xml
3891           callouts/org.freedesktop.nm_dispatcher.service
3892                 - Re-implement the dispatcher as a system-bus activated service that
3893                         NM calls on-demand, rather than an always running daemon
3894
3895         * src/Makefile.am
3896                 - Add callouts dir to includes to pick up dispatcher defines
3897
3898         * src/nm-device.c
3899                 - (nm_device_state_changed): call dispatcher on device activated/
3900                         deactivated
3901
3902         * src/vpn-manager/nm-vpn-connection.c
3903                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
3904                         go up and down
3905
3906         * src/NetworkManagerUtils.c
3907           src/NetworkManagerUtils.h
3908                 - (nm_utils_call_dispatcher): helper to call dispatcher
3909
3910 2008-04-27  Dan Williams  <dcbw@redhat.com>
3911
3912         * src/NetworkManagerUtils.c
3913           src/NetworkManagerUtils.h
3914                 - remove unneeded includes
3915                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
3916                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
3917                    nm_timeval_cmp, nm_timeval_add): remove, unused
3918                 - clean up formatting
3919                 - (nm_spawn_process): de-uglify
3920
3921         * src/nm-device-802-11-wireless.c
3922                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
3923
3924 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
3925
3926         * initscript/Gentoo/NetworkManager.in:
3927                 Fix for starting the daemon.
3928
3929 2008-04-25  Dan Williams  <dcbw@redhat.com>
3930
3931         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3932
3933         * src/NetworkManagerSystem.c
3934                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
3935
3936 2008-04-25  Dan Williams  <dcbw@redhat.com>
3937
3938         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3939
3940         * src/NetworkManagerSystem.c
3941                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
3942                         implementation of nm_system_device_replace_default_route()
3943
3944         * src/NetworkManagerPolicy.c
3945                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
3946
3947         * src/backends/NetworkManagerArch.c
3948           src/backends/NetworkManagerDebian.c
3949           src/backends/NetworkManagerFrugalware.c
3950           src/backends/NetworkManagerGeneric.c
3951           src/backends/NetworkManagerGeneric.h
3952           src/backends/NetworkManagerGentoo.c
3953           src/backends/NetworkManagerMandriva.c
3954           src/backends/NetworkManagerPaldo.c
3955           src/backends/NetworkManagerRedHat.c
3956           src/backends/NetworkManagerSlackware.c
3957           src/backends/NetworkManagerSuSE.c
3958                 - (nm_system_device_replace_default_route): remove
3959
3960 2008-04-25  Dan Williams  <dcbw@redhat.com>
3961
3962         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3963
3964         * src/NetworkManagerSystem.c
3965                 - (validate_ip4_route): remove; use nl_addr_parse() instead
3966                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
3967                         replace nm_system_device_add_route_via_device_with_iface() in the
3968                         backends
3969
3970         * src/backends/NetworkManagerArch.c
3971           src/backends/NetworkManagerDebian.c
3972           src/backends/NetworkManagerFrugalware.c
3973           src/backends/NetworkManagerGeneric.c
3974           src/backends/NetworkManagerGeneric.h
3975           src/backends/NetworkManagerGentoo.c
3976           src/backends/NetworkManagerMandriva.c
3977           src/backends/NetworkManagerPaldo.c
3978           src/backends/NetworkManagerRedHat.c
3979           src/backends/NetworkManagerSlackware.c
3980           src/backends/NetworkManagerSuSE.c
3981                 - Remove nm_system_device_add_route_via_device_with_iface()
3982
3983 2008-04-25  Dan Williams  <dcbw@redhat.com>
3984
3985         * system-settings/plugins/ifcfg-fedora/parser.c
3986                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
3987
3988 2008-04-24  Dan Williams  <dcbw@redhat.com>
3989
3990         * dispatcher-daemon/NetworkManagerDispatcher.c
3991                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
3992
3993 2008-04-24  Dan Williams  <dcbw@redhat.com>
3994
3995         * initscript/RedHat/NetworkManager.in
3996           initscript/RedHat/NetworkManagerDispatcher.in
3997                 - Be active at runlevel 2
3998                 - Adjust priorities earlier
3999
4000 2008-04-22  Dan Williams  <dcbw@redhat.com>
4001
4002         * src/NetworkManagerPolicy.c
4003                 - (update_routing_and_dns): when checking for a gateway, look at the
4004                         composite IP4 config, not the connection's ip4-config setting, which
4005                         doesn't include DHCP-returned information
4006
4007 2008-04-22  Tambet Ingo  <tambet@gmail.com>
4008
4009         Implement GKeyFile system settings plugin.
4010         Implement writing system settings (currently supported only by GKeyFile plugin).
4011
4012         * system-settings/src/main.c: 
4013         * system-settings/src/dbus-settings.c: Move the communication with plugins
4014         from main.c to dbus-settings.c. Makes it possible to talk to all registered
4015         plugins for adding/updating/removing connections.
4016
4017         * system-settings/src/nm-system-config-interface.c
4018         (nm_system_config_interface_add_connection): Implement
4019         (nm_system_config_interface_update_connection): Implement.
4020         (nm_system_config_interface_remove_connection): Implement.
4021
4022         * system-settings/plugins/keyfile/Makefile.am:
4023         * system-settings/plugins/keyfile/plugin.[ch]:
4024         * system-settings/plugins/keyfile/writer.[ch]:
4025         * system-settings/plugins/keyfile/reader.[ch]: Implement.
4026
4027         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
4028
4029         * configure.in: Generate GKeyFile Makefile.
4030
4031         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
4032         corruption, need to duplicate the returned string.
4033         (impl_exported_connection_update): Implement.
4034         (impl_exported_connection_delete): Implement.
4035
4036         * introspection/nm-settings-system.xml: Add "AddConnection" method.
4037
4038         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
4039
4040 2008-04-22  Dan Williams  <dcbw@redhat.com>
4041
4042         Patch from Charles R. Anderson (cra@wpi.edu)
4043
4044         * src/NetworkManagerPolicy.c
4045                 - (update_routing_and_dns): don't select devices without a gateway
4046                         as having the default route (rh #437338)
4047
4048 2008-04-21  Dan Williams  <dcbw@redhat.com>
4049
4050         * src/nm-activation-request.c
4051           src/nm-activation-request.h
4052                 - (dispose): ensure to disconnect from the device's state-changed signal
4053                         when appropriate so the signal doesn't get handled by an already
4054                         disposed NMActRequest
4055                 - (device_state_changed): update is_default here too just to make sure
4056                         default is only True when the child device is activated
4057                 - (nm_act_request_set_default): new function
4058
4059         * src/NetworkManagerPolicy.c
4060                 - (update_routing_and_dns): set 'default' on the active connection which
4061                         has the default route and DNS
4062
4063 2008-04-21  Dan Williams  <dcbw@redhat.com>
4064
4065         * src/NetworkManagerPolicy.c
4066                 - (device_state_changed): update routing and DNS when a device goes
4067                         into unmanaged or unavailable states too (like rfkill or carrier loss)
4068
4069 2008-04-21  Dan Williams  <dcbw@redhat.com>
4070
4071         * include/NetworkManager.h
4072                 - Add NMActiveConnectionState enum
4073
4074         * introspection/nm-active-connection.xml
4075           introspection/nm-vpn-connection.xml
4076                 - Add 'State' property for overall active connection state
4077                 - Add 'Default' property, when True means this active connection
4078                         has the default route
4079                 - Add PropertyChanged signals so changes actually go out over the bus
4080
4081         * src/nm-active-connection.h
4082                 - Add defines for State & Default properties
4083
4084         * src/nm-activation-request.c
4085                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
4086                         signal to determine active connection state
4087
4088         * src/vpn-manager/nm-vpn-connection.c
4089           src/vpn-manager/nm-vpn-connection.h
4090           src/vpn-manager/nm-vpn-manager.c
4091           src/vpn-manager/nm-vpn-service.c
4092                 - Rename old 'state' to 'vpn-state'
4093                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
4094                 - Add 'state' and 'default' properties, hook up to the vpn connection's
4095                         'vpn-state-changed' signal
4096
4097         * libnm-glib/nm-active-connection.c
4098           libnm-glib/nm-active-connection.h
4099                 - Add new 'state' and 'default' properties and accessors
4100
4101         * libnm-glib/nm-vpn-connection.c
4102           libnm-glib/nm-vpn-connection.h
4103                 - Rename old 'state' property to 'vpn-state'
4104                 - Add new 'state' and 'default' properties and accessors
4105
4106 2008-04-21  Dan Williams  <dcbw@redhat.com>
4107
4108         * src/nm-ip4-config.c
4109                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
4110                         not specified (rh #443474)
4111
4112 2008-04-20  Dan Williams  <dcbw@redhat.com>
4113
4114         * src/NetworkManagerUtils.c
4115           src/NetworkManagerUtils.h
4116                 - (nm_utils_merge_ip4_config): new function; merge settings from an
4117                         NMSettingIP4Config to an NMIP4Config object
4118
4119         * src/nm-device.c
4120                 - (merge_ip4_config): move to NetworkManagerUtils.c
4121
4122         * src/vpn-manager/nm-vpn-connection.c
4123                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
4124                         too
4125
4126 2008-04-18  Dan Williams  <dcbw@redhat.com>
4127
4128         * libnm-util/nm-setting-ppp.c
4129           libnm-util/nm-setting-ppp.h
4130                 - Add 'no-vj-comp' option for TCP header compression
4131                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
4132                         uint32
4133
4134 2008-04-18  Dan Williams  <dcbw@redhat.com>
4135
4136         * libnm-util/nm-setting-ppp.c
4137           libnm-util/nm-setting-ppp.h
4138           src/ppp-manager/nm-ppp-manager.c
4139                 - Add 'refuse-pap' and 'refuse-mschapv2' options
4140
4141 2008-04-18  Dan Williams  <dcbw@redhat.com>
4142
4143         * libnm-util/nm-setting-ppp.c
4144           libnm-util/nm-setting-ppp.h
4145           src/ppp-manager/nm-ppp-manager.c
4146                 - Remove the 'usepeerdns' option and always request DNS servers from
4147                         the PPP server; the connection chooses to use/override/ignore the
4148                         DNS servers returned from the PPP server
4149
4150 2008-04-18  Dan Williams  <dcbw@redhat.com>
4151
4152         * libnm-util/nm-setting-ppp.c
4153           libnm-util/nm-setting-ppp.h
4154           src/ppp-manager/nm-ppp-manager.c
4155                 - Remove the 'require-mppc' option, because pppd doesn't support it and
4156                         it seems to have been an erroneous addition to the PPTP plugin in
4157                         the first place (from which the ppp-manager is derived)
4158
4159 2008-04-17  Dan Williams  <dcbw@redhat.com>
4160
4161         * libnm-util/nm-setting-pppoe.c
4162                 - (verify): require a PPP setting too
4163
4164         * src/ppp-manager/nm-ppp-manager.c
4165                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
4166                         segfaulting
4167
4168 2008-04-17  Dan Williams  <dcbw@redhat.com>
4169
4170         * src/nm-device.c
4171                 - (nm_device_state_changed): do deactivation and and promotion to
4172                         unavailable here, so that the device gets cleaned up before the
4173                         manager runs and starts emitting signals; do the
4174                         FAILED->DISCONNECTED transition from an idle handler rather than
4175                         immediately to guard against recursion
4176                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
4177                         FAILED->DISCONNECTED handler if it's scheduled
4178
4179 2008-04-17  Dan Williams  <dcbw@redhat.com>
4180
4181         * src/nm-device-802-11-wireless.c
4182                 - (state_changed_cb): clear AP list when device transitions to
4183                         unavailable or unmanaged
4184                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
4185                         since this is already done in device_cleanup()
4186                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
4187                         isn't available or managed
4188                 - (device_cleanup): use remove_all_aps()
4189                 - (remove_all_aps): consolidate code removing all APs
4190
4191 2008-04-17  Dan Williams  <dcbw@redhat.com>
4192
4193         * src/nm-serial-device.c
4194           src/nm-serial-device.h
4195                 - (wait_for_reply_got_data): break input into lines, and search each
4196                         line for responses _and_ terminator strings; also make sure that
4197                         the read loop doesn't continue after the timeout is supposed to fire
4198                 - (nm_serial_device_wait_for_reply): take an array of terminators too
4199
4200         * src/nm-gsm-device.c
4201           src/nm-cdma-device.c
4202                 - Send terminators to nm_serial_device_wait_for_reply()
4203
4204 2008-04-16  Dan Williams  <dcbw@redhat.com>
4205
4206         Patch from 陈鑫 <znscnchen@gmail.com>
4207
4208         * src/ppp-manager/nm-pppd-plugin.c
4209                 - (get_credentials): return correct value for success; handle case where
4210                         pppd just does some checking but doesn't want a password
4211                 - (plugin_init): make CHAP work too
4212
4213 2008-04-16  Dan Williams  <dcbw@redhat.com>
4214
4215         Patch from 陈鑫 <znscnchen@gmail.com>
4216
4217         * src/ppp-manager/nm-ppp-manager.c
4218                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
4219
4220 2008-04-16  Dan Williams  <dcbw@redhat.com>
4221
4222         Patch from 陈鑫 <znscnchen@gmail.com>
4223
4224         * src/nm-device-802-3-ethernet.c
4225                 - (real_deactivate_quickly): clear the IP interface name on
4226                         deactivation, otherwise the wrong interface might get used later
4227                         for routing and IP management
4228
4229 2008-04-15  Dan Williams  <dcbw@redhat.com>
4230
4231         * libnm-glib/nm-device.c
4232                 - (get_product_and_vendor): handle serial devices correctly
4233                 - (nm_device_update_description): pass device to get_product_and_vendor()
4234
4235 2008-04-15  Dan Williams  <dcbw@redhat.com>
4236
4237         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4238
4239         * src/NetworkManagerSystem.h
4240           src/backends/NetworkManagerArch.c
4241           src/backends/NetworkManagerDebian.c
4242           src/backends/NetworkManagerFrugalware.c
4243           src/backends/NetworkManagerGeneric.c
4244           src/backends/NetworkManagerGeneric.h
4245           src/backends/NetworkManagerGentoo.c
4246           src/backends/NetworkManagerMandriva.c
4247           src/backends/NetworkManagerPaldo.c
4248           src/backends/NetworkManagerRedHat.c
4249           src/backends/NetworkManagerSlackware.c
4250           src/backends/NetworkManagerSuSE.c
4251           src/nm-device.c
4252                 - (nm_generic_device_add_ip6_link_address,
4253                    nm_system_device_add_ip6_link_address): remove
4254
4255 2008-04-15  Dan Williams  <dcbw@redhat.com>
4256
4257         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4258
4259         * src/backends/NetworkManagerArch.c
4260           src/backends/NetworkManagerDebian.c
4261           src/backends/NetworkManagerFrugalware.c
4262           src/backends/NetworkManagerGeneric.c
4263           src/backends/NetworkManagerGeneric.h
4264           src/backends/NetworkManagerGentoo.c
4265           src/backends/NetworkManagerMandriva.c
4266           src/backends/NetworkManagerPaldo.c
4267           src/backends/NetworkManagerRedHat.c
4268           src/backends/NetworkManagerSlackware.c
4269           src/backends/NetworkManagerSuSE.c
4270           src/NetworkManagerSystem.h
4271                 - flush_routes -> flush_ip4_routes
4272                 - flush_addresses -> flush_ip4_addresses
4273
4274         * src/NetworkManagerSystem.c
4275           src/nm-device.c
4276           src/vpn-manager/nm-vpn-connection.c
4277                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
4278
4279 2008-04-15  Dan Williams  <dcbw@redhat.com>
4280
4281         Remove exposure of wireless-tools mode types in the API.
4282
4283         * include/NetworkManager.h
4284                 - Define NM80211Mode enum
4285
4286         * introspection/generic-types.xml
4287                 - Describe NM_802_11_MODE enum
4288                 - Remove IW_MODE_* enum
4289
4290         * introspection/nm-access-point.xml
4291           libnm-glib/nm-access-point.c
4292           libnm-glib/nm-access-point.h
4293                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4294
4295         * introspection/nm-device-802-11-wireless.xml
4296           libnm-glib/nm-device-802-11-wireless.c
4297           libnm-glib/nm-device-802-11-wireless.h
4298                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4299
4300         * libnm-util/nm-setting-wireless.c
4301           src/NetworkManagerAP.c
4302           src/NetworkManagerAP.h
4303           src/nm-device-802-11-wireless.c
4304           src/nm-device-802-11-wireless.h
4305           test/nm-tool.c
4306                 - Use NM80211Mode not IW_MODE_*
4307
4308 2008-04-15  Dan Williams  <dcbw@redhat.com>
4309
4310         Enhance nm-online based on a patch from Bill Nottingham.
4311
4312         * test/nm-online.c
4313                 - Add a '-q' option
4314                 - Add help messages and option summary
4315                 - Add long-format options
4316                 - Add a '-x' option to exit if NM isn't running or isn't connecting
4317
4318 2008-04-15  Tambet Ingo  <tambet@gmail.com>
4319
4320         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
4321
4322         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
4323
4324 2008-04-15  Dan Williams  <dcbw@redhat.com>
4325
4326         * nm-setting-ip4-config.c
4327                 - (ip4_addresses_from_gvalue): handle NULL address array
4328
4329         * nm-setting-8021x.c
4330                 - (verify_tls, verify_ttls): warn on failed verification
4331
4332 2008-04-10  Dan Williams  <dcbw@redhat.com>
4333
4334         * src/nm-gsm-device.c
4335                 - (automatic_registration): accept "+CREG: 0,0"
4336                 - (automatic_registration_response): fail on "+CREG: 0,0"
4337
4338 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4339
4340         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
4341
4342 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4343
4344         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
4345         Make it compile again by commenting out broken code that at first didn't work and
4346         now didn't compile either.
4347
4348 2008-04-08  Dan Williams  <dcbw@redhat.com>
4349
4350         * libnm-glib/nm-object-cache.c
4351           libnm-glib/nm-settings.c
4352           src/dhcp-manager/nm-dhcp-manager.c
4353           system-settings/plugins/ifcfg-fedora/plugin.c
4354           system-settings/plugins/ifcfg-suse/plugin.c
4355           system-settings/src/nm-system-config-hal-manager.c
4356           libnm-util/nm-utils.c
4357                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
4358                         not threadsafe anyway
4359
4360 2008-04-08  Dan Williams  <dcbw@redhat.com>
4361
4362         * system-settings/src/main.c
4363                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
4364                         callbacks take a device type too
4365
4366 2008-04-08  Dan Williams  <dcbw@redhat.com>
4367
4368         The system settings service will now create a new default DHCP connection
4369         for wired devices that have no existing applicable connection.
4370
4371         * system-settings/src/nm-system-config-hal-manager.c
4372           system-settings/src/nm-system-config-hal-manager.h
4373                 - (nm_system_config_hal_manager_get_type_for_udi): new function
4374
4375         * system-settings/src/dbus-settings.c
4376           system-settings/src/dbus-settings.h
4377                 - (nm_sysconfig_settings_get_connections): new function
4378                 - (nm_sysconfig_settings_is_device_managed): new function
4379
4380         * system-settings/src/main.c
4381                 - (load_stuff): check for wired devices that need a default connection
4382                 - (get_details_for_udi): get interface and MAC address from HAL
4383                 - (add_default_dhcp_connection): add a default connection for a wired
4384                         device if needed
4385                 - (device_added_cb, device_removed_cb): do the right thing with
4386                         wired devices and their default connections on HAL device events
4387
4388 2008-04-07  Dan Williams  <dcbw@redhat.com>
4389
4390         * libnm-glib/nm-device.c
4391           libnm-glib/nm-device.h
4392                 - Proxy the 'managed' property
4393
4394 2008-04-07  Dan Williams  <dcbw@redhat.com>
4395
4396         * src/nm-gsm-device.c
4397           src/nm-cdma-device.c
4398                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4399                         handler to transition to DISCONNECTED
4400
4401 2008-04-07  Dan Williams  <dcbw@redhat.com>
4402
4403         Patch from Bill Nottingham
4404
4405         * dispatcher-daemon/NetworkManagerDispatcher.c
4406                 - ignore backup/packaging crufy (rh #440143)
4407
4408 2008-04-07  Dan Williams  <dcbw@redhat.com>
4409
4410         * include/NetworkManager.h
4411                 - Remove the DOWN and CANCELLED device states
4412                 - Add UNMANAGED and UNAVAILABLE device states
4413                 - Document the device states
4414
4415         * introspection/nm-device.xml
4416           src/nm-device-interface.c
4417           src/nm-device-interface.h
4418                 - Add the 'managed' property
4419
4420         * test/nm-tool.c
4421                 - (detail_device): print out device state
4422
4423         * src/NetworkManagerSystem.h
4424           src/backends/NetworkManagerArch.c
4425           src/backends/NetworkManagerDebian.c
4426           src/backends/NetworkManagerFrugalware.c
4427           src/backends/NetworkManagerGentoo.c
4428           src/backends/NetworkManagerMandriva.c
4429           src/backends/NetworkManagerPaldo.c
4430           src/backends/NetworkManagerRedHat.c
4431           src/backends/NetworkManagerSlackware.c
4432           src/backends/NetworkManagerSuSE.c
4433                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
4434                    nm_system_device_free_system_config): remove; they were unused and
4435                         their functionality should be re-implemented in each distro's
4436                         system settings service plugin 
4437
4438         * src/nm-gsm-device.c
4439           src/nm-gsm-device.h
4440           src/nm-cdma-device.c
4441           src/nm-cdma-device.h
4442                 - (*_new): take the 'managed' argument
4443
4444         * src/nm-device.c
4445                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
4446                 - (nm_device_init): start in unmanaged state, not disconnected
4447                 - (constructor): don't start device until the system settings service
4448                         has had a chance to figure out if the device is managed or not
4449                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
4450                         don't set device state here, let callers handle that as appropriate
4451                 - (nm_device_dispose): don't touch the device if it's not managed
4452                 - (set_property, get_property, nm_device_class_init): implement the
4453                         'managed' property
4454                 - (nm_device_state_changed): bring the device up if its now managed,
4455                         and deactivate it if it used to be active
4456                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
4457                         with the managed state
4458
4459         * src/nm-hal-manager.c
4460                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
4461                         take initial managed state and pass it along to device constructors
4462                 - (create_device_and_add_to_list): get managed state and pass to
4463                         type creators
4464
4465         * src/nm-device-802-11-wireless.c
4466                 - (real_can_activate): fold in most of
4467                         nm_device_802_11_wireless_can_activate()
4468                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
4469                 - (link_timeout_cb): instead of deactivating, change device state and
4470                         let the device state handler to it
4471                 - (real_update_hw_address): clean up
4472                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4473                         handler to transition to DISCONNECTED if the device isn't rfkilled
4474
4475         * src/nm-device-802-3-ethernet.c
4476                 - (set_carrier): move above callers and get rid of prototype
4477                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
4478                         idle handler to transition to DISCONNECTED if the device has a
4479                         carrier
4480                 - (real_update_hw_address): clean up
4481                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
4482                         deactivation directly as deactivation doesn't change state anymore
4483
4484         * src/NetworkManagerPolicy.c
4485                 - (schedule_activate_check): yay, remove wireless_enabled hack since
4486                         the NMManager and wireless devices work that out themselves now
4487                 - (device_state_changed): change to a switch and update for new device
4488                         states
4489                 - (device_carrier_changed): remove; device handles this now through
4490                         state changes
4491                 - (device_added): don't care about carrier any more; the initial
4492                         activation check will happen when the device transitions to
4493                         DISCONNECTED
4494
4495         * src/nm-manager.c
4496                 - (dispose): clear unmanaged devices
4497                 - (handle_unmanaged_devices): update unmanaged device list and toggle
4498                         the managed property on each device when needed
4499                 - (system_settings_properties_changed_cb): handle signals from the
4500                         system settings service
4501                 - (system_settings_get_unmanaged_devices_cb): handle callback from
4502                         getting the unmanaged device list method call
4503                 - (query_unmanaged_devices): ask the system settings service for its
4504                         list of unmanaged devices
4505                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
4506                         devices
4507                 - (manager_set_wireless_enabled): push rfkill state down to wireless
4508                         devices directly and let them handle the necessary state transitions
4509                 - (manager_device_state_changed): update for new device states
4510                 - (nm_manager_add_device): set initial rfkill state on wireless devices
4511                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
4512                 - (nm_manager_activate_connection): return error if the device is
4513                         unmanaged
4514                 - (nm_manager_sleep): handle new device states correctly; don't change
4515                         the state of unavailable/unmanaged devices
4516
4517         * libnm-glib/nm-device-802-11-wireless.c
4518                 - (state_changed_cb): update for new device states
4519
4520 2008-04-07  Dan Williams  <dcbw@redhat.com>
4521
4522         * marshallers/nm-marshal.list
4523                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
4524
4525 2008-04-07  Dan Williams  <dcbw@redhat.com>
4526
4527         * system-settings/src/main.c
4528                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
4529                         plugins to the dbus settings object
4530                 - (load_stuff): start the dbus service after grabbing unmanaged devices
4531                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
4532                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
4533                 - (main): switch default logging to syslog with a 'debug' option to
4534                         output to console; start up the HAL manager
4535
4536 2008-04-07  Dan Williams  <dcbw@redhat.com>
4537
4538         * introspection/nm-settings-system.xml
4539           introspection/Makefile.am
4540                 - Define the unmanaged devices interface for the system settings service
4541
4542         * system-settings/src/nm-system-config-hal-manager.c
4543           system-settings/src/nm-system-config-hal-manager.h
4544           system-settings/src/nm-system-config-hal-manager-private.h
4545           system-settings/src/Makefile.am
4546                 - Add a lightweight HAL manager object for tracking network devices for
4547                         the purpose of determining unmanaged devices and which devices need
4548                         the default DHCP connections
4549
4550         * system-settings/src/nm-system-config-interface.c
4551           system-settings/src/nm-system-config-interface.h
4552                 - (nm_system_config_interface_init): add the HAL manager as an argument
4553                 - (nm_system_config_interface_get_unmanaged_devices): implement
4554                 - Define 'unmanaged-devices-changed' signal
4555
4556         * system-settings/src/dbus-settings.c
4557           system-settings/src/dbus-settings.h
4558                 - Implement the unmanaged devices interface; some cleanups
4559
4560         * system-settings/plugins/ifcfg-suse/plugin.c
4561                 - Fixup for plugin interface changes
4562
4563         * system-settings/plugins/ifcfg-fedora/plugin.c
4564                 - (get_ether_device_udi): new function; find the device that has
4565                         a specified MAC address and return its UDI
4566                 - (get_udi_for_connection): new function; try to find the specific
4567                         device a connection is locked to, if any
4568                 - (device_added_cb, device_removed_cb): update unmanaged device list in
4569                         response to HAL events
4570                 - (get_unmanaged_devices): new function; return unmanaged device list
4571                 - (build_one_connection): set the connection's locked device, if any
4572                 - (write_auto_wired_connection): remove
4573                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
4574                 - (handle_connection_changed): alert listeners that the unmanaged device
4575                         list has changed
4576                 - (init): fixup for plugin interface changes, implement unmanaged devices
4577
4578         * system-settings/plugins/ifcfg-fedora/parser.c
4579           system-settings/plugins/ifcfg-fedora/parser.h
4580                 - (connection_data_free): clean up connection UDI
4581
4582 2008-04-07  Dan Williams  <dcbw@redhat.com>
4583
4584         * system-settings/plugins/ifcfg-fedora/parser.c
4585                 - (make_ip4_setting): fix parsing of DNS servers
4586
4587 2008-04-05  Dan Williams  <dcbw@redhat.com>
4588
4589         * Makefile.am
4590           configure.in
4591           marshallers/Makefile.am
4592           marshallers/nm-marshal-main.c
4593           marshallers/nm-marshal.list
4594                 - Consolidate marshallers
4595
4596         * libnm-glib/nm-marshal-main.c
4597           libnm-glib/nm-marshal.list
4598           src/marshallers/Makefile.am
4599           src/marshallers/nm-marshal-main.c
4600           src/marshallers/nm-marshal.list
4601                 - Remove
4602
4603         * libnm-glib/Makefile.am
4604           src/Makefile.am
4605           src/dhcp-manager/Makefile.am
4606           src/ppp-manager/Makefile.am
4607           src/supplicant-manager/Makefile.am
4608           src/vpn-manager/Makefile.am
4609                 - Use consolidated marshallers
4610
4611 2008-04-04  Dan Williams  <dcbw@redhat.com>
4612
4613         * src/nm-hal-manager.c
4614           src/nm-hal-manager.h
4615                 - (hal_init): don't look for hardware here
4616                 - (nm_hal_manager_start): new function; look for hardware here instead,
4617                         which can be done at a later time than hal_init()
4618
4619         * src/NetworkManager.c
4620                 - (main): start HAL manager after entering the main loop
4621
4622 2008-04-03  Dan Williams  <dcbw@redhat.com>
4623
4624         * libnm-glib/nm-settings.c
4625           libnm-glib/nm-settings.h
4626             - (nm_exported_connection_get_id): new function
4627                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
4628
4629 2008-04-02  Dan Williams  <dcbw@redhat.com>
4630
4631         * src/nm-device-interface.c
4632           src/nm-device-interface.h
4633           src/nm-device.c
4634           src/nm-device.h
4635                 - Rename check_connection_conflicts() to check_connection_compatible()
4636
4637         * src/nm-device-802-11-wireless.c
4638                 - (real_check_connection_conflicts): remove
4639                 - (real_check_connection_compatible): implement; match MAC address
4640
4641         * src/nm-device-802-3-ethernet.c
4642                 - (real_check_connection_conflicts): remove
4643                 - (real_check_connection_compatible): implement; match MAC address
4644                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4645
4646         * src/nm-manager.c
4647                 - (check_connection_allowed): remove; unused until PolicyKit integration
4648                 - (internal_activate_device): check whether the connection is compatible
4649                         with the device before trying to activate it
4650
4651 2008-04-02  Dan Williams  <dcbw@redhat.com>
4652
4653         * system-settings/plugins/ifcfg-fedora/parser.c
4654                 - (read_mac_address): new function; read in MAC address and stuff it
4655                         into the connection
4656                 - (add_one_wep_key): remove debug spew
4657                 - (make_wireless_security_setting): validate the default TX key; don't
4658                         add the wireless-security setting if the connection doesn't need
4659                         security; don't leak the keys shvarFile on error cases
4660                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4661                         address
4662
4663 2008-04-02  Dan Williams  <dcbw@redhat.com>
4664
4665         * libnm-util/nm-setting-connection.c
4666           libnm-util/nm-setting-connection.h
4667                 - (set_property, get_property, nm_setting_connection_class_init): remove
4668                         the 'lockdown' property; it's functionality will be replaced by
4669                         PolicyKit instead
4670
4671 2008-04-01  Dan Williams  <dcbw@redhat.com>
4672
4673         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4674
4675         * configure.in
4676           initscript/Makefile.am
4677           initscript/Mandriva/Makefile.am
4678           initscript/Mandriva/networkmanager.in
4679           initscript/Mandriva/networkmanagerdispatcher.in
4680           src/backends/Makefile.am
4681           src/backends/NetworkManagerMandriva.c
4682           system-settings/plugins/Makefile.am
4683                 - Add Mandriva support
4684
4685 2008-03-31  Dan Williams  <dcbw@redhat.com>
4686
4687         * src/vpn-manager/nm-vpn-service.c
4688                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4689                         errors can be passed back to the caller; also no longer scheduled
4690                         as an idle handler, but called directly; and bump up VPN service
4691                         spawn timeout, 2s is really short
4692                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4693                         but call it directly so that errors are reported on return from
4694                         ActivateConnection() and don't get lost.  If scheduled as an idle
4695                         handler, clients don't have the time to query NM for the new VPN
4696                         connection's properties before the VPN connection is torn down again
4697                         if the service couldn't be launched, and therefore launch errors
4698                         get lost.
4699
4700 2008-03-31  Dan Williams  <dcbw@redhat.com>
4701
4702         * src/vpn-manager/nm-vpn-connection.c
4703                 - (device_state_changed): send correct state on device failure too
4704                 - (plugin_state_changed): failed state means unexpected disconnection,
4705                         thus if the service goes away while the VPN connection is activated
4706                         that's a failure too
4707
4708 2008-03-31  Dan Williams  <dcbw@redhat.com>
4709
4710         * src/vpn-manager/nm-vpn-manager.c
4711           src/vpn-manager/nm-vpn-manager.h
4712                 - Make VPNManager errors more available; add a service-start-failed error
4713
4714 2008-03-31  Dan Williams  <dcbw@redhat.com>
4715
4716         * libnm-glib/nm-client.c
4717           libnm-glib/nm-client.h
4718                 - (activate_cb): pass the new active connection to callback; fix
4719                         message when no callback is specified
4720
4721 2008-03-30  Dan Williams  <dcbw@redhat.com>
4722
4723         * libnm-util/nm-setting-wireless-security.c
4724                 - (need_secrets): only require key0 if the transmit key index is also
4725                         0
4726                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4727
4728 2008-03-29  Dan Williams  <dcbw@redhat.com>
4729
4730         * libnm-util/nm-setting-8021x.c
4731           libnm-util/nm-setting-ip4-config.c
4732           libnm-util/nm-setting-vpn-properties.c
4733           libnm-util/nm-setting-vpn.c
4734           libnm-util/nm-setting-wireless-security.c
4735           libnm-util/nm-setting-wireless.c
4736           libnm-util/nm-utils.c
4737           src/dhcp-manager/nm-dhcp-manager.c
4738           src/nm-activation-request.c
4739           src/nm-ip4-config.c
4740           src/nm-manager.c
4741           src/nm-properties-changed-signal.c
4742           src/ppp-manager/nm-pppd-plugin.c
4743           src/supplicant-manager/nm-supplicant-interface.c
4744           src/vpn-manager/nm-vpn-connection.c
4745                 - consistently use nm-dbus-glib-types.h
4746
4747 2008-03-29  Dan Williams  <dcbw@redhat.com>
4748
4749         * src/vpn-manager/nm-vpn-connection.c
4750                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4751                         not string
4752
4753         * src/nm-activation-request.c
4754                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4755                         not string
4756
4757 2008-03-29  Dan Williams  <dcbw@redhat.com>
4758
4759         * libnm-glib/nm-device-802-11-wireless.c
4760                 - (access_point_added_proxy): create new APs if not found
4761
4762 2008-03-29  Dan Williams  <dcbw@redhat.com>
4763
4764         * libnm-glib/nm-client.c
4765                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4766                         before freeing them
4767
4768 2008-03-29  Dan Williams  <dcbw@redhat.com>
4769
4770         * system-settings/plugins/ifcfg-fedora/parser.c
4771                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4772                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4773
4774 2008-03-29  Dan Williams  <dcbw@redhat.com>
4775
4776         * system-settings/plugins/ifcfg-fedora/parser.c
4777                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4778
4779 2008-03-27  Dan Williams  <dcbw@redhat.com>
4780
4781         * nm-object.c
4782                 - (nm_object_queue_notify): don't notify multiple times for the same
4783                         property
4784
4785         * nm-object-private.h
4786                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4787                         if it has zero elements
4788
4789         * nm-ip4-config.c
4790                 - (finalize): use g_ptr_array_foreach() when freeing domains
4791                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4792
4793         * nm-active-connection.c
4794                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4795
4796         * nm-device-802-11-wireless.c
4797           nm-device-802-11-wireless.h
4798                 - (nm_device_802_11_wireless_get_access_points): return const; use
4799                         handle_ptr_array_return()
4800
4801         * nm-types.c
4802                 - (nm_object_array_demarshal): always create an array, even of length
4803                         zero, to distinguish between "NM returned no items" and "haven't
4804                         asked NM yet"
4805
4806         * nm-client.c
4807                 - (dispose): free active connections too
4808                 - (proxy_name_owner_changed): free active connections too when NM goes
4809                         away
4810                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4811                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4812
4813 2008-03-26  Dan Williams  <dcbw@redhat.com>
4814
4815         Rework VPN connection handling for a more consistent D-Bus API.  The
4816         VPNManager object has been removed, and active VPN connections are now the
4817         same as any other active connection.  The Manager object's ActivateConnection
4818         and DeactivateConnection methods are used to start and stop a VPN connection,
4819         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4820         When activating a VPN connection, pass the path of the active connection
4821         to which the VPN connection is tied in the 'specific_object' argument.
4822
4823         Consequently, the libnm-glib API has been reworked to match this arrangement,
4824         with the VPNManager object removed, and the NMVPNConnection objects now
4825         being subclasses of NMActiveConnection.
4826
4827 2008-03-25  Dan Williams  <dcbw@redhat.com>
4828
4829         Patch from Björn Martensen <bjoern.martensen@gmail.com>
4830
4831         * initscript/Arch/networkmanager.in
4832           initscript/Arch/networkmanager-dispatcher.in
4833                 - Updates for Arch Linux (gnome.org #523701)
4834
4835 2008-03-25  Dan Williams  <dcbw@redhat.com>
4836
4837         * libnm-glib/nm-ip4-config.c
4838           libnm-glib/nm-active-connection.c
4839           libnm-glib/nm-access-point.c
4840                 - Use nm_object_queue_notify() instead of g_object_notify()
4841
4842         * libnm-glib/nm-device.c
4843                 - (demarshal_ip4_config): distinguish between successful but missing
4844                         ip4-config request, and unsuccessful and missing ip4-config request
4845                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
4846                         path
4847                 - Use nm_object_queue_notify() instead of g_object_notify()
4848
4849         * libnm-glib/nm-device-802-11-wireless.c
4850                 - (demarshal_active_ap): distinguish between successfull but missing
4851                         active-ap request, and unsuccessful and missing active-ap request
4852                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
4853                         code
4854                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
4855                         for the NMClient to notify the device that wireless is disabled,
4856                         and therefore to clear the AP list and active AP
4857                 - Use nm_object_queue_notify() instead of g_object_notify()
4858
4859         * libnm-glib/nm-client.c
4860                 - (poke_wireless_devices_with_rf_status): new function
4861                 - (update_wireless_status): notify wireless devices of the rfkill status
4862                         so they can clean up if needed
4863                 - Use nm_object_queue_notify() instead of g_object_notify()
4864
4865 2008-03-25  Dan Williams  <dcbw@redhat.com>
4866
4867         * libnm-glib/nm-object.c
4868           libnm-glib/nm-object-private.h
4869                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
4870                         signals to an idle handler
4871                 - (nm_object_get_property): add a timeout to the D-Bus method call
4872
4873 2008-03-25  Dan Williams  <dcbw@redhat.com>
4874
4875         * introspection/nm-device-cdma.xml
4876           introspection/nm-device-gsm.xml
4877           introspection/Makefile.am
4878           introspection/all.xml
4879                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
4880
4881         * src/nm-gsm-device.h
4882           src/nm-gsm-device.c
4883           src/nm-cdma-device.h
4884           src/nm-cdma-device.c
4885           src/Makefile.am
4886                 - Implement PropertiesChanged signals
4887
4888         * libnm-glib/nm-cdma-device.c
4889           libnm-glib/nm-cdma-device.c
4890                 - Attach to PropertiesChanged signals
4891
4892 2008-03-24  Dan Williams  <dcbw@redhat.com>
4893
4894         * libnm-glib/nm-client.c
4895                 - (client_device_added_proxy): add new devices to the internal device
4896                         list so they appear to clients
4897
4898 2008-03-24  Dan Williams  <dcbw@redhat.com>
4899
4900         Massive fixup of libnm-glib to:
4901         a) have all objects (with the exception of VPN) cache their properties and
4902                 update them asynchronously on PropertiesChanged signals from NM
4903         b) return internal const data for most attributes/properties instead of
4904                 allocated values that the caller must free
4905         c) cache wrapped objects such that a given D-Bus path will always map to the
4906                 same GObject returned by libnm-glib
4907         d) remove a few signals and move them to GObject property notifications
4908         e) match recent NM D-Bus API changes for activation/deactivation
4909         f) remove some private functions from libnm-glib headers
4910
4911 2008-03-20  Dan Williams  <dcbw@redhat.com>
4912
4913         * src/nm-manager.c
4914                 - (nm_manager_update_state, manager_device_state_changed,
4915                    nm_manager_activate_device, connection_added_default_handler,
4916                    impl_manager_activate_connection, impl_manager_deactivate_connection):
4917                         queue PropertyChanged singals when the active connections change
4918
4919 2008-03-20  Dan Williams  <dcbw@redhat.com>
4920
4921         * introspection/nm-manager.xml
4922           introspection/nm-manager-client.xml
4923                 - (ActivateConnection): return the object path of the active connection
4924                         on success
4925                 - (GetActiveConnections): remove
4926                 - (DeactivateConnection): new function; deactivate a currently active
4927                         connection
4928                 - Add an ActiveConnections property which returns an array of
4929                         active connection object paths
4930
4931         * introspection/nm-device.xml
4932                 - (Deactivate): remove
4933
4934         * introspection/all.xml
4935                 - Add ActiveConnection introspection
4936
4937         * introspection/nm-active-connection.xml
4938                 - Add the ActiveConnection object
4939
4940         * include/NetworkManager.h
4941                 - Add the Connection.Active D-Bus interface
4942
4943         * src/nm-device-interface.c
4944                 - (impl_device_deactivate): remove
4945
4946         * src/nm-activation-request.c
4947           src/nm-activation-request.c
4948           src/Makefile.am
4949                 - Implement the Connection.Active D-Bus interface
4950
4951         * src/nm-manager.c
4952                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
4953                 - (nm_manager_activate_device): return the active connection path
4954                 - (connection_added_default_handler, impl_manager_activate_connection):
4955                         return the active connection to the caller
4956                 - (add_one_connection_element, impl_manager_get_active_connections):
4957                         remove
4958                 - (impl_manager_deactivate_connection): new function; deactivate an
4959                         active connection
4960
4961         * libnm-glib/nm-device.c
4962           libnm-glib/nm-device.h
4963                 - Remove Deactivate() function
4964
4965 2008-03-19  Dan Williams  <dcbw@redhat.com>
4966
4967         * introspection/nm-manager.xml
4968           introspection/nm-manager-client.xml
4969                 - Rename the ActivateDevice method to ActivateConnection to better
4970                         reflect it's usage; it's arguments get reordered a bit too
4971                 - Convert GetActiveConnections method return from a struct to a dict
4972
4973         * include/NetworkManager.h
4974                 - Define the dict keys for return value of GetActiveConnections
4975
4976         * src/nm-manager.c
4977                 - impl_manager_activate_device -> impl_manager_activate_connection
4978                 - (add_one_connection_element): return a populated hash table, not
4979                         a structure
4980
4981         * libnm-glib/nm-client.c
4982           libnm-glib/nm-client.h
4983                 - nm_client_activate_device -> nm_client_activate_connection
4984                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
4985                 - (nm_client_get_active_connections): return a GSList of GHashTables,
4986                         instead of the custom structures.  Each element of the returned list
4987                         must be freed with nm_client_free_active_connections_element()
4988
4989 2008-03-18  Dan Williams  <dcbw@redhat.com>
4990
4991         * system-settings/plugins/ifcfg-fedora/parser.c
4992           system-settings/plugins/ifcfg-fedora/parser.h
4993           system-settings/plugins/ifcfg-fedora/plugin.c
4994                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
4995                         profiles.  DNS servers and searches must now be stored in the ifcfg
4996                         files themselves
4997
4998 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4999
5000         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
5001         print out username and password, it's supposed to be a secret.
5002
5003         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
5004         request and set the device state accordingly.
5005
5006 2008-03-18  Tambet Ingo  <tambet@gmail.com>
5007
5008         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
5009
5010         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
5011
5012 2008-03-18  Dan Williams  <dcbw@redhat.com>
5013
5014         * src/vpn-manager/nm-vpn-connection.c
5015                 - (get_secrets_cb): handle new GetSecrets return format
5016
5017 2008-03-18  Dan Williams  <dcbw@redhat.com>
5018
5019         Adapt system settings service for split 802.1x.
5020
5021         * system-settings/src/nm-system-config-interface.h
5022                 - clarify return value of get_secrets()
5023
5024         * system-settings/src/dbus-settings.c
5025                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
5026                 - (check_for_secrets): check if there actually secrets returned by a
5027                         plugin
5028                 - (exported_connection_get_secrets): just return the plugin-returned
5029                         hash of settings' secrets if it looks valid
5030
5031         * system-settings/plugins/ifcfg-fedora/plugin.c
5032                 - (get_secrets): add split secrets with correct format to reply hash
5033
5034         * system-settings/plugins/ifcfg-fedora/parser.c
5035           system-settings/plugins/ifcfg-fedora/parser.h
5036                 - (copy_one_cdata_secret, connection_data_copy_secrets,
5037                    connection_data_free, connection_data_add): keep secrets for
5038                         different settings in different hashes
5039
5040 2008-03-17  Tambet Ingo  <tambet@gmail.com>
5041
5042         Clean up activating device deactivation.
5043
5044         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
5045         should be done whether the device activation gets cancelled or the device
5046         is just getting deactivated.
5047         (nm_device_activation_cancel): Remove.
5048         (nm_device_deactivate_quickly): Handle the case where device is activating.
5049
5050         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
5051         It does the exact same thing as real_deactivate_quickly().
5052
5053 2008-03-17  Dan Williams  <dcbw@redhat.com>
5054
5055         Split the 802.1x bits out of the wireless-security setting so they are
5056         generalized enough for wired 802.1x to use too.
5057
5058         * introspection/nm-exported-connection.xml
5059                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
5060                         of just a hash of the secrets for one setting
5061
5062         * libnm-util/nm-setting-wireless-security.c
5063           libnm-util/nm-setting-wireless-security.h
5064                 - Remove 802.1x-specific stuff
5065                 - Added leap-username and leap-password properties for old-school LEAP
5066
5067         * src/nm-device.c
5068           src/nm-device.h
5069                 - (connection_secrets_updated_cb): take a list of updated settings names,
5070                         not just one
5071
5072         * src/supplicant-manager/nm-supplicant-config.c
5073           src/supplicant-manager/nm-supplicant-config.h
5074                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
5075                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
5076                         to nm_supplicant_config_add_setting_8021x()
5077                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
5078                         the supplicant config
5079
5080         * src/nm-device-802-11-wireless.c
5081                 - (build_supplicant_config): pass in the 802.1x setting too, if any
5082                 - (real_connection_secrets_updated): take a list of updated settings
5083                         names, not just one
5084
5085         * src/nm-device-802-3-ethernet.c
5086           src/nm-cdma-device.c
5087           src/nm-gsm-device.c
5088                 - (real_connection_secrets_updated_cb): take a list of updated settings
5089                         names, not just one
5090
5091         * src/nm-activation-request.c
5092           src/nm-activation-request.h
5093                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
5094                         now passes a list of updated settings names, not just one
5095                 - (update_one_setting): new function; handle one updated setting
5096                 - (get_secrets_cb): handle multiple settings returned from the
5097                         settings service; have to be careful of ordering here as there are
5098                         some dependencies between settings (ex. wireless-security and 802.1x
5099                         in some cases)
5100
5101         * src/marshallers/nm-marshal.list
5102                 - new marshaller for connection-secrets-updated signal
5103
5104         * libnm-util/nm-setting-8021x.c
5105                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
5106                         methods
5107                 - (verify): a valid 'eap' property is now required
5108
5109         * libnm-util/nm-connection.c
5110                 - (register_default_settings): add priorities to settings; there are
5111                         some dependencies between settings, and during the need_secrets
5112                         calls this priority needs to be respected.  For example, only the
5113                         wireless-security setting knows whether or not the connection is
5114                         going to use 802.1x or now, so it must be asked for secrets before
5115                         any existing 802.1x setting is
5116                 - (nm_connection_lookup_setting_type): expose
5117
5118         * libnm-util/nm-setting-wireless.c
5119                 - (verify): should verify even if all_settings is NULL; otherwise won't
5120                         catch the case where there is missing security
5121
5122         * libnm-util/nm-setting-wireless-security.c
5123                 - Remove everything to do with 802.1x
5124                 - Add old-school LEAP specific properties for username and password
5125                 - (need_secrets): rework LEAP secrets checking
5126                 - (verify): rework for LEAP and 802.1x verification
5127
5128 2008-03-17  Dan Williams  <dcbw@redhat.com>
5129
5130         * src/NetworkManagerPolicy.c
5131                 - (auto_activate_device): always remove the current activation check
5132                         from the pending activation list, otherwise when the policy gets
5133                         destroyed on NM exit it will attempt to free the already freed
5134                         activation check
5135
5136 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5137
5138         * src/backends/NetworkManagerSlackware.c 
5139         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
5140
5141         * src/backends/NetworkManagerSuSE.c: Add missing includes.
5142
5143 2008-03-14  Dan Williams  <dcbw@redhat.com>
5144
5145         * src/nm-manager.c
5146                 - (nm_device_interface_get_iface): g_object_get() will return an
5147                         allocated value, so this function must not return const
5148                 - (nm_device_interface_activate): free returned iface
5149
5150 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5151
5152         * libnm-util/Makefile.am: Add new files to build.
5153
5154         * libnm-util/nm-connection.c: Register NMSetting8021x.
5155
5156         * libnm-util/nm-setting-8021x.c
5157         * libnm-util/nm-setting-8021x.h: Implement.
5158
5159 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5160
5161         * libnm-util/Makefile.am: Add new files to build.
5162
5163         * libnm-util/nm-connection.c: Register NMSetting8021x.
5164
5165         * libnm-util/nm-setting-8021x.c
5166         * libnm-util/nm-setting-8021x.h: Implement.
5167
5168 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5169
5170         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
5171         data.
5172
5173 2008-03-14  Dan Williams  <dcbw@redhat.com>
5174
5175         * include/wireless-helper.h
5176           include/Makefile.am
5177                 - One place for all the junk needed for #including wireless.h
5178
5179         * test/nm-tool.c
5180           src/NetworkManagerAP.c
5181           src/wpa.c
5182           src/Makefile.am
5183           libnm-util/nm-utils.c
5184           libnm-util/nm-setting-wireless.c
5185           libnm-glib/nm-device-802-11-wireless.c
5186           libnm-glib/nm-access-point.c
5187           libnm-glib/libnm-glib-test.c
5188                 - include wireless-helper.h, not iwlib.h
5189
5190         * configure.in
5191                 - Don't need libiw really, just need to check for wireless.h
5192
5193         * src/kernel-types.h
5194                 - Remove; used types moved into wpa.c
5195
5196         * src/nm-device-802-11-wireless.c
5197                 - (nm_device_802_11_wireless_update_signal_strength,
5198                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
5199                    nm_device_802_11_wireless_set_mode,
5200                    nm_device_802_11_wireless_get_frequency,
5201                    nm_device_802_11_wireless_get_ssid,
5202                    nm_device_802_11_wireless_set_ssid,
5203                    nm_device_802_11_wireless_get_bitrate,
5204                    nm_device_802_11_wireless_get_bssid,
5205                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
5206                         instead of iwlib functions
5207
5208 2008-03-14  Dan Williams  <dcbw@redhat.com>
5209
5210         * src/ppp-manager/nm-ppp-manager.c
5211                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
5212                         should only take the DBusGMethodInvocation argument, not user/pass
5213                         too.  With dbus-glib, async functions only take 2 C arguments since
5214                         the real dbus method arguments get passed back with
5215                         dbus_g_method_return()
5216
5217 2008-03-13  Tambet Ingo  <tambet@gmail.com>
5218
5219         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
5220         Adapt the changes of NMSettingIP4Config.
5221
5222 2008-03-13  Dan Williams  <dcbw@redhat.com>
5223
5224         * src/NetworkManagerUtils.c
5225           src/NetworkManagerUtils.h
5226                 - (nm_ether_ntop): replacement for iw_ether_ntop()
5227
5228         * src/NetworkManagerAP.c
5229           src/nm-device-802-11-wireless.c
5230           src/nm-device-802-3-ethernet.c
5231                 - s/iw_ether_ntop/nm_ether_ntop/g
5232
5233 2008-03-13  Dan Williams  <dcbw@redhat.com>
5234
5235         * src/NetworkManagerPolicy.c
5236                 - (update_routing_and_dns): never set the default route through an
5237                         IPv4LL addressed device
5238
5239 2008-03-13  Dan Williams  <dcbw@redhat.com>
5240
5241         * NetworkManagerUtils.c
5242           NetworkManagerUtils.h
5243                 - Remove NMSock stuff
5244                 - Remove the completion stuff
5245
5246         * nm-device.c
5247           nm-device.h
5248           NetworkManager.c
5249           NetworkManagerSystem.c
5250           autoip.c
5251           nm-device-802-11-wireless.c
5252           nm-device-802-3-ethernet.c
5253                 - Remove NMSock and completion stuff
5254                 - Remove nm_ioctl_info()
5255
5256 2008-03-12  Dan Williams  <dcbw@redhat.com>
5257
5258         * src/nm-device.c
5259                 - (merge_ip4_config): avoid duplicates
5260
5261 2008-03-12  Dan Williams  <dcbw@redhat.com>
5262
5263         * libnm-util/nm-setting-ip4-config.c
5264           libnm-util/nm-setting-ip4-config.h
5265                 - Remove 'manual' and 'autoip' properties
5266                 - Add 'method' property
5267                 - (verify): fix verification with 'method'
5268                 - (finalize): free 'method'
5269                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
5270                         up for 'method'
5271
5272         * src/nm-device.c
5273                 - (real_act_stage3_ip_config_start): check IP4Config method
5274                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
5275                         the future
5276                 - (merge_ip4_config): IP settings are valid with DHCP too
5277                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
5278                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
5279
5280         * src/nm-device-802-11-wireless.c
5281                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
5282                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
5283                         only on demand
5284
5285         * system-settings/plugins/ifcfg-fedora/parser.c
5286           system-settings/plugins/ifcfg-suse/parser.c
5287                 - (make_ip4_setting): fix up for 'method'
5288
5289 2008-03-12  Dan Williams  <dcbw@redhat.com>
5290
5291         * system-settings/plugins/ifcfg-fedora/parser.c
5292           system-settings/plugins/ifcfg-fedora/parser.h
5293                 - (get_ifcfg_name): ignore more file suffixes
5294                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
5295
5296 2008-03-12  Dan Williams  <dcbw@redhat.com>
5297
5298         * configure.in
5299                 - Bring in the bits of gnome-common we actually use (all 15 lines)
5300
5301 2008-03-12  Dan Williams  <dcbw@redhat.com>
5302
5303         * system-settings/plugins/ifcfg-fedora/plugin.c
5304                 - (write_auto_wired_connection): new function; write out an auto
5305                         wired connection file since the applet isn't doing it any more
5306                 - (reload_all_connections): write out the auto wired connection file
5307                         if there aren't any wired connections already
5308                 - (init): don't leak a GError
5309
5310 2008-03-12  Dan Williams  <dcbw@redhat.com>
5311
5312         * src/nm-device-interface.c
5313                 - (nm_device_interface_activate): print the ID of the connection
5314                         that's about to be activated
5315
5316 2008-03-12  Dan Williams  <dcbw@redhat.com>
5317
5318         Harmonize the 802.11 bitrate API
5319
5320         * introspection/nm-access-point.xml
5321                 - 'Rate' -> 'MaxBitrate'; clarify units
5322
5323         * introspection/nm-device-802-11-wireless.xml
5324                 - Clarify units of 'Bitrate'
5325
5326         * src/NetworkManagerAP.c
5327           src/NetworkManagerAP.h
5328                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
5329                         property to 'max-bitrate'
5330                 - (foreach_property_cb): convert rate to Kb/s
5331
5332         * src/nm-device-802-11-wireless.c
5333                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
5334
5335         * libnm-glib/nm-access-point.c
5336           libnm-glib/nm-access-point.h
5337                 - 'rate' -> 'max-bitrate'
5338
5339         * test/nm-tool.c
5340           libnm-glib/libnm-glib-test.c
5341                 - Fix up for these changes
5342
5343 2008-03-12  Dan Williams  <dcbw@redhat.com>
5344
5345         * src/nm-device.c
5346                 - (nm_device_set_ip4_config): don't send property notifications when
5347                         the ip4 config is set to NULL; it causes a PropertyChanged signal
5348                         which dbus-glib can't parse because the value is NULL, which isn't
5349                         a legal object path.  Setting the IP4 config to NULL is only
5350                         valid when deactivating a device anyway, so the device state change
5351                         will alert listeners that the ip4 config is invalid.
5352
5353 2008-03-12  Dan Williams  <dcbw@redhat.com>
5354
5355         * src/nm-properties-changed-signal.c
5356                 - (add_to_string): better handling of NULL objects
5357
5358 2008-03-12  Dan Williams  <dcbw@redhat.com>
5359
5360         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
5361         convert the libnm-glib NMDevice8023Ethernet to cached properties
5362
5363         * introspection/nm-device-802-3-ethernet.xml
5364                 - New 'Carrier' property
5365                 - New 'PropertiesChanged' signal
5366
5367         * introspection/nm-device.xml
5368                 - Remove 'Carrier' property
5369                 - Remove 'CarrierChanged' signal
5370
5371         * src/nm-device-interface.c
5372           src/nm-device-interface.h
5373                 - (nm_device_interface_init): remove 'carrier' property and
5374                         'carrier-changed' signal
5375
5376         * src/nm-device.c
5377           src/nm-device.h
5378                 - (nm_device_get_carrier, nm_device_set_carrier): remove
5379                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
5380                         the link here; wired device will handle that
5381                 - (handle_dhcp_lease_change): don't bother updating link here
5382                 - (get_property, nm_device_class_init): remove carrier property
5383
5384         * src/nm-device-802-11-wireless.c
5385                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
5386                         real_update_link(); wireless devices don't use carrier at all
5387                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
5388                    supplicant_iface_connection_state_cb_handler,
5389                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
5390
5391         * src/nm-device-802-3-ethernet.c
5392           src/nm-device-802-3-ethernet.h
5393                 - (nm_device_802_3_ethernet_carrier_on,
5394                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
5395                         instead of nm_device_set_carrier()
5396                 - (device_state_changed): update link from sysfs on activation;
5397                         replaces real_update_link()
5398                 - (real_update_link): remove, replaced by device_state_changed()
5399                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
5400                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
5401                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
5402                         new get_carrier function
5403                 - (get_property): add 'carrier' property
5404                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
5405                         hook into property-changed signal helper
5406
5407         * src/NetworkManagerPolicy.c
5408                 - (device_carrier_changed): will only ever be called with a wired device
5409                 - (device_added): only hook up to carrier-changed for wired devices
5410
5411         * libnm-glib/nm-device.c
5412           libnm-glib/nm-device.h
5413                 - (constructor, nm_device_class_init): remove carrier-changed signal
5414                 - (device_carrier_changed_proxy): remove; unused
5415                 - (nm_device_get_carrier): remove; carrier a property of wired devices
5416
5417         * libnm-glib/nm-device-802-3-ethernet.c
5418           libnm-glib/nm-device-802-3-ethernet.h
5419                 - Convert to cached properties like AP and Wireless objects
5420                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
5421                         instead of a 'char *', return value should not be freed
5422                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
5423                 - (constructor): hook into properties-changed helper
5424                 - (set_property, get_property): new functions
5425                 - (nm_device_802_3_ethernet_class_init): export GObject properties
5426
5427         * test/nm-tool.c
5428                 - (detail_device): strdup the wired hardware address too since it's
5429                         cached now
5430
5431         * libnm-glib/libnm-glib-test.c
5432                 - (dump_wired): strdup the wired hardware address too since it's
5433                         cached now
5434
5435 2008-03-12  Dan Williams  <dcbw@redhat.com>
5436
5437         * libnm-util/nm-setting-ip4-config.c
5438           libnm-util/nm-setting-ip4-config.h
5439                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
5440                         the 'autoip' property from the spec
5441
5442 2008-03-11  Dan Williams  <dcbw@redhat.com>
5443
5444         * src/backends/NetworkManagerGeneric.c
5445           src/backends/NetworkManagerGeneric.h
5446                 - (nm_generic_device_get_use_dhcp): remove
5447
5448 2008-03-11  Dan Williams  <dcbw@redhat.com>
5449
5450         * src/nm-device.c
5451                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
5452                         already in nm_device_set_ip4_config()
5453                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
5454                         due to a DHCP rebind fails
5455                 - (nm_device_set_ip4_config): send property notifications when the
5456                         ip4 config changes
5457                 - (get_property): only report IP4Config property during valid states
5458
5459         * src/NetworkManagerPolicy.c
5460                 - (update_routing_and_dns): ignore devices that don't have an ip4
5461                         config; add parameter 'force_update' to allow callers to specify
5462                         that changes should be made even if the default device doesn't change
5463                 - (device_ip4_config_changed): update DNS and routing when the device's
5464                         IP4Config changes, like for DHCP updates
5465                 - (device_added): listen for ip4-config property changes
5466
5467 2008-03-11  Dan Williams  <dcbw@redhat.com>
5468
5469         Fix address handling as a result of DHCP rebind/renew/reboot.
5470
5471         * src/NetworkManagerSystem.c
5472                 - (check_one_address): delete an address if it doesn't match a given
5473                         one for the same interface
5474                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
5475                         be smarter about flushing addresses (only flush ones that don't
5476                         match the one we're about to apply)
5477
5478         * src/backends/NetworkManagerDebian.c
5479           src/backends/NetworkManagerSuSE.c
5480           src/backends/NetworkManagerArch.c
5481           src/backends/NetworkManagerSlackware.c
5482           src/backends/NetworkManagerRedHat.c
5483           src/backends/NetworkManagerPaldo.c
5484           src/backends/NetworkManagerFrugalware.c
5485           src/backends/NetworkManagerGentoo.c
5486                 - (nm_system_delete_default_route): remove
5487
5488         * src/backends/NetworkManagerGeneric.c
5489           src/backends/NetworkManagerGeneric.h
5490                 - (nm_generic_enable_loopback): fix the loopback device label
5491                 - (nm_generic_delete_default_route): remove; no longer used
5492
5493 2008-03-11  Dan Williams  <dcbw@redhat.com>
5494
5495         * src/nm-device-interface.h
5496                 - Delimit property name words with '-', otherwise g_object_notify()
5497                         doesn't work the way we expect
5498
5499 2008-03-11  Tambet Ingo  <tambet@gmail.com>
5500
5501         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
5502
5503 2008-03-11  Dan Williams  <dcbw@redhat.com>
5504
5505         * src/NetworkManagerPolicy.c
5506                 - (update_routing_and_dns): don't change anything if the default device
5507                         hasn't changed; print something out when switching the default route
5508                         and DNS
5509
5510 2008-03-10  Tambet Ingo  <tambet@gmail.com>
5511
5512         Implement PPPoE.
5513
5514         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
5515         setting. Use "nic-$eth".
5516
5517         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
5518         the device is activating here to fix a race condition.
5519
5520         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
5521
5522         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
5523         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
5524         (nm_ppp_manager_start): Take activation request instead of connection, we might
5525         need it for asking secrets.
5526         (nm_ppp_manager_update_secrets): Implement.
5527
5528         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
5529         ppp manager start. It might be needed for asking secrets.
5530
5531         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
5532         (ppp_state_changed): Handle pppd daemon disappearing.
5533         (pppoe_stage2_config): Send activation request to ppp manager start.
5534
5535         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
5536
5537         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
5538         username and password.
5539         
5540 2008-03-10  Dan Williams  <dcbw@redhat.com>
5541
5542         * src/nm-device.c
5543                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
5544                         response to a DHCP lease change
5545                 - (dhcp_state_changed): handle DHCP lease changes while activated
5546                 - (nm_device_set_ip4_config): remove a previously set named config
5547                         when setting an ip4 config
5548
5549 2008-03-10  Dan Williams  <dcbw@redhat.com>
5550
5551         * src/nm-serial-device.c
5552                 - (nm_serial_device_send_command): report errno on error
5553                 - (get_reply_got_data): limit the size of the overall buffer
5554                 - (wait_for_reply_info_destroy): destroy result string
5555                 - (wait_for_reply_got_data): append received data to an overall buffer
5556                         until timeout, filled buffer, or error instead of keeping a per-call
5557                         buffer.  Some devices send data slowly enough that this function
5558                         gets called multiple times for the same command stream.
5559                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
5560                         wait_for_reply_got_data() here
5561
5562 2008-03-10  Dan Williams  <dcbw@redhat.com>
5563
5564         * src/nm-cdma-device.c
5565                 - (do_dial, init_modem): handle errors from
5566                         nm_serial_device_send_command_string()
5567
5568         * src/nm-gsm-device.c
5569                 - (do_dial, manual_registration, automatic_registration_get_network,
5570                    automatic_registration, enter_pin, check_pin, init_modem): handle
5571                         errors from nm_serial_device_send_command_string()
5572
5573 2008-03-10  Dan Williams  <dcbw@redhat.com>
5574
5575         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
5576
5577         * src/named-manager/nm-named-manager.c
5578                 - (compute_searches): prefer searches before domains
5579                 - (compute_domain): new function
5580                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
5581                 - (merge_one_ip4_config): if there are no searches in the source config,
5582                         merge domains of the source config into the target config
5583                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
5584
5585 2008-03-10  Dan Williams  <dcbw@redhat.com>
5586
5587         * src/nm-serial-device.c
5588                 - (get_reply_got_data): clean up indentation, shrink serial buffer
5589                 - (wait_for_reply_got_data): try to handle slower serial devices where
5590                         the reply is broken up into multiple reads by concatenating replies
5591                         together until either an error is received or the search string is
5592                         found
5593
5594 2008-03-10  Dan Williams  <dcbw@redhat.com>
5595
5596         * src/nm-device.c
5597                 - (nm_device_bring_down): deactivate the device if it's activating too,
5598                         not just if it's already activated.  This makes sure that everything
5599                         from an association attempt is cleaned up (like DHCP for example)
5600
5601 2008-03-10  Dan Williams  <dcbw@redhat.com>
5602
5603         * src/nm-serial-device.c
5604                 - (config_fd): report error from TCSETA
5605                 - (nm_serial_device_open): fail when config_fd() fails
5606
5607 2008-03-10  Dan Williams  <dcbw@redhat.com>
5608
5609         * src/nm-ip4-config.c
5610                 - (nm_ip4_config_init): allocate searches list
5611                 - (finalize): free searches list
5612
5613 2008-03-09  Dan Williams  <dcbw@redhat.com>
5614
5615         Patch from Bas Zoetekouw <bas@debian.org>
5616
5617         * src/dhcp-manager/nm-dhcp-manager.c
5618                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
5619
5620 2008-03-09  Dan Williams  <dcbw@redhat.com>
5621
5622         Patch from Bas Zoetekouw <bas@debian.org>
5623
5624         * src/nm-ip4-config.c
5625           src/nm-ip4-config.h
5626                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
5627                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
5628                         domains.  'searches' is the correct way to store multiple search
5629                         domains, whereas 'domains' is really just supposed to store one
5630                         domain.  Some sites abuse the DHCP 'domain-name' option to push
5631                         search domains to the client.
5632                 - (nm_ip4_config_add_domain): group with related functions (my patch)
5633
5634 2008-03-09  Dan Williams  <dcbw@redhat.com>
5635
5636         * src/dhcp-manager/nm-dhcp-manager.c
5637                 - (dhclient_run): send interface-specific config files to dhclient
5638
5639 2008-03-07  Dan Williams  <dcbw@redhat.com>
5640
5641         * system-settings/plugins/ifcfg-fedora/parser.c
5642                 - (is_wireless_device): new function; test a device for wireless
5643                         extensions
5644                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5645                         test the device for wireless extensions to determine the type
5646
5647 2008-03-07  Dan Williams  <dcbw@redhat.com>
5648
5649         Change manager's StateChange signal to StateChanged for consistency.
5650
5651         * introspection/nm-manager.xml
5652                 - Add 'StateChanged' signal
5653                 - Move 'StateChange' down to the deprecated section
5654
5655         * src/nm-hal-manager.c
5656                 - (nm_hal_manager_new): connect to 'state-changed' instead
5657
5658         * src/NetworkManagerPolicy.c
5659                 - (nm_policy_new): connect to 'state-changed' instead
5660
5661         * src/nm-manager.c
5662           src/nm-manager.h
5663                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5664                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5665                         of 'state-change'
5666
5667         * libnm-glib/nm-client.c
5668           libnm-glib/nm-client.h
5669                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5670                         track and proxy 'state-changed' instead of 'state-change'
5671
5672 2008-03-07  Dan Williams  <dcbw@redhat.com>
5673
5674         First pass of multiple active device support.  Expect bugs.
5675
5676         * src/nm-ip4-config.c
5677           src/nm-ip4-config.h
5678                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5679                         there are better ways to do this in the named manager
5680
5681         * src/nm-device.c
5682           src/nm-device.h
5683                 - (nm_device_can_activate): return whether the device can activate a
5684                         connection right now; taking into account things like carrier state
5685                         and rfkill state
5686                 - (nm_device_get_best_auto_connection): renamed from
5687                         nm_device_get_best_connection
5688                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5689                         device subclasses themselves, so that each device can override the
5690                         MTU from it's NMSetting subclass if needed
5691                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5692                         in NetworkManagerSystem.c, not here
5693
5694         * src/named-manager/nm-named-manager.c
5695           src/named-manager/nm-named-manager.h
5696                 - (nm_named_manager_name_owner_changed,
5697                    nm_named_manager_dbus_connection_changed): fix for changes to
5698                         rewrite_resolv_conf()
5699                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5700                         from parameter list
5701                 - (merge_one_ip4_config): new function; merge ip4 configs together
5702                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5703                         ip4 configs; the VPN config takes precedence, then the best
5704                         device config, then the rest of the configs
5705                 - (get_domain_for_config): take the NMNamedManager as an argument
5706                         to check whether the config is the VPN config
5707                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5708                         attribute from ip4 configs
5709                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5710                 - (remove_ip4_config_from_named): fix for changes to
5711                         get_domain_for_config()
5712                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5713                         based on its type; callers must pass in the type now
5714                 - (get_last_default_domain): remove, unused
5715                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5716
5717         * src/nm-device-802-11-wireless.c
5718                 - (real_can_activate): new function
5719                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5720                 - (real_act_stage4_get_ip4_config): handle MTU override
5721
5722         * src/nm-device-802-3-ethernet.c
5723                 - (real_can_activate): new function
5724                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5725                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5726
5727         * src/vpn-manager/nm-vpn-connection.c
5728                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5729                         attribute on the ip4 config
5730
5731         * src/NetworkManagerPolicy.c
5732                 - (nm_policy_auto_get_best_device): remove
5733                 - (nm_policy_device_change_check): remove
5734                 - (update_default_route): new function; set the default route via
5735                         the specified device
5736                 - (get_device_priority): new function; return the priority number of
5737                         a device type WRT which one should have the default route.  Order is
5738                         (highest to lowest)  wired, wireless, GSM, CDMA.
5739                 - (update_routing_and_dns): new function; determine which device should
5740                         have the default route, then update the routing table and DNS
5741                 - (maybe_auto_activate_device): new function; if a device is now
5742                         available for activation, find out what connection it would like to
5743                         activate and do it
5744                 - (schedule_activate_check): new function; if a device can be activated
5745                         now, schedule the activation.  Each device may have only one
5746                         pending activation at a given time.
5747                 - (device_state_changed): if activation was canceled, try again,
5748                         possibly with another connection; if the device was activated,
5749                         update routing and DNS; if the device was deactivated, try again
5750                         with another connection
5751                 - (device_carrier_changed): if there is no carrier, deactivate the
5752                         device; otherwise schedule an activation check for the device
5753                 - (wireless_networks_changed): schedule an activation check for the
5754                         device
5755                 - (device_added): keep track of the signal handler IDs so they can
5756                         be removed when the device goes away
5757                 - (device_removed): remove any signal handlers that might be attached
5758                         to the device; update routing and DNS
5759                 - (schedule_activate_all): new function
5760                 - (connections_added, connection_added, connection_updated): when
5761                         connections change, schedule all devices for an activation check
5762                 - (connection_removed): when a device is deactivated because its
5763                         connection was removed, schedule another activation check for it
5764                 - (nm_policy_destroy): destroy pending activations and disconnect
5765                         all device signal handlers
5766
5767         * src/nm-manager.c
5768                 - (nm_manager_activate_device): if the device was already actived,
5769                         deactivate it
5770                 - (deactivate_old_device): remove
5771                 - (connection_added_default_handler, impl_manager_activate_device):
5772                         don't deactivate other devices when activating this one
5773
5774         * src/backends/NetworkManagerGentoo.c
5775           src/backends/NetworkManagerFrugalware.c
5776           src/backends/NetworkManagerPaldo.c
5777           src/backends/NetworkManagerRedHat.c
5778           src/backends/NetworkManagerSlackware.c
5779           src/backends/NetworkManagerArch.c
5780           src/backends/NetworkManagerSuSE.c
5781           src/backends/NetworkManagerDebian.c
5782                 - (nm_system_get_mtu): remove; MTU should be provided through the
5783                         distro's system settings service plugin instead
5784                 - (nm_system_device_add_default_route_via_device): remove
5785                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5786                 - (nm_system_device_replace_default_route): new function; call
5787                         generic implementation
5788
5789         * src/backends/NetworkManagerGeneric.c
5790           src/backends/NetworkManagerGeneric.h
5791                 - (nm_generic_device_add_default_route_via_device,
5792                    nm_generic_device_add_default_route_via_device_with_iface): remove
5793                 - (nm_generic_device_replace_default_route): replace the default route
5794                         with the given route via some gateway
5795
5796         * src/NetworkManagerSystem.c
5797           src/NetworkManagerSystem.h
5798                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5799                         to routing and DNS; but set the MTU here
5800                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5801                         ip_iface of the active device; use the standard MTU setting function
5802                 - (nm_system_set_mtu): remove
5803                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5804
5805 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5806
5807         Rework the interaction between ppp manager and pppd plugin. Register a well
5808         known DBUS service in manager and let the plugin call it's methods instead
5809         of listening plugin's signals.
5810
5811         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5812         of emitting signals.
5813
5814         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5815
5816         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5817
5818         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5819         nm_ppp_manager_start().
5820
5821         * introspection/nm-ppp-manager.xml: New file.
5822
5823         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5824         the case correctly where driver is trying to send -1 for the speed, which gets
5825         casted to u16 and thus is always > 0.
5826
5827 2008-03-07  Dan Williams  <dcbw@redhat.com>
5828
5829         * src/nm-hal-manager.c
5830                 - (nm_get_device_driver_name): use net.originating_device first, fall
5831                         back to physical device.  HAL has deprecated physical_device.
5832
5833         * libnm-glib/nm-device.c
5834                 - (get_product_and_vendor): use net.originating_device first, fall
5835                         back to physical device.  HAL has deprecated physical_device.
5836                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
5837
5838 2008-03-07  Dan Williams  <dcbw@redhat.com>
5839
5840         * src/nm-netlink.c
5841                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
5842                         last commit; fix that
5843                 - (get_link_cache): print error string
5844
5845 2008-03-07  Dan Williams  <dcbw@redhat.com>
5846
5847         * src/nm-netlink.c
5848                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
5849                         don't need this hack any more (Benoit Boissinot)
5850
5851 2008-03-06  Dan Williams  <dcbw@redhat.com>
5852
5853         * autogen.sh
5854                 - Die gnome-common, die
5855
5856 2008-03-04  Dan Williams  <dcbw@redhat.com>
5857
5858         Patch from Michael Biebl <biebl@debian.org>
5859
5860         * NetworkManager.pc.in
5861                 - doesn't actually depend on dbus-1
5862
5863         * libnm-util/nm-utils.h
5864                 - remove unused #include <dbus/dbus.h>
5865
5866         * libnm-glib/libnm_glib.pc.in
5867                 - depends on glib and dbus-glib
5868
5869 2008-03-02  Dan Williams  <dcbw@redhat.com>
5870
5871         * src/NetworkManagerPolicy.c
5872                 - s/device_state_changed_idle_id/update_state_id/
5873
5874 2008-03-02  Dan Williams  <dcbw@redhat.com>
5875
5876         * src/nm-device.c
5877           src/nm-device.h
5878           src/nm-device-802-11-wireless.c
5879           src/nm-device-802-3-ethernet.c
5880           src/NetworkManagerPolicy.c
5881                 - s/link_active/carrier
5882                 - nm_device_set_active_link() -> nm_device_set_carrier()
5883                 - nm_device_has_active_link() -> nm_device_get_carrier()
5884
5885 2008-03-02  Dan Williams  <dcbw@redhat.com>
5886
5887         * system-settings/plugins/ifcfg-fedora/parser.c
5888                 - (make_wireless_setting): fail connection creation on missing SSID
5889
5890 2008-02-29  Dan Williams  <dcbw@redhat.com>
5891
5892         * src/NetworkManagerPolicy.c
5893                 - (nm_policy_device_change_check): ensure that a previously active
5894                         device with a system connection has a link before denying a switch
5895                         to a user connection
5896
5897 2008-02-29  Dan Williams  <dcbw@redhat.com>
5898
5899         * src/nm-device-802-11-wireless.c
5900                 - (link_timeout_cb): try again if scanning; deactivate the device when
5901                         activated if the link dies
5902                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
5903                         15 seconds
5904
5905 2008-02-29  Dan Williams  <dcbw@redhat.com>
5906
5907         * src/nm-device-802-11-wireless.c
5908           src/nm-device-802-11-wireless.h
5909                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
5910                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
5911                 - (device_cleanup): reset the scan interval lower when the device
5912                         deactivates
5913                 - (can_scan): base decision mostly off device state, not supplicant
5914                         interface state since the supplicant interface state isn't a
5915                         great indicator of whether the device is active or not
5916                 - (request_wireless_scan): clean up; schedule the next scan here
5917                 - (schedule_scan): only back the scan interval off if a new scan
5918                         actually gets scheduled; and make scan intervals tighter when the
5919                         device is disconnected
5920                 - (supplicant_iface_state_cb_handler): fold in the bits of
5921                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
5922                         interval to minimum
5923                 - (activation_success_handler): reset scan interval to something
5924                         reasonable 
5925
5926 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
5927
5928         reviewed by: Steev <steev@steev.net>
5929
5930         * configure.in:
5931         * src/backends/NetworkManagerGentoo.c:
5932         (nm_system_restart_mdns_responder):
5933                 Howl is no longer a supported mDNS provider
5934
5935 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5936
5937         Get rid of a bunch of unused distro specific functions.
5938
5939 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5940
5941         Implement suse plugin for system settings daemon.
5942
5943         * system-settings/plugins/ifcfg-suse/*: Implement.
5944
5945         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
5946         suse.
5947
5948         * configure.in: Check (without failing) for gio.
5949         Create ifcfg-suse plugin's Makefile.
5950
5951 2008-02-20  Dan Williams  <dcbw@redhat.com>
5952
5953         * libnm-util/nm-connection.c
5954           libnm-util/nm-connection.h
5955                 - (nm_connection_compare): accept compare flags and pass them to the
5956                         setting compare function
5957
5958         * libnm-util/nm-setting.c
5959           libnm-util/nm-setting.h
5960                 - (nm_setting_compare): accept compare flags; ignore properties that are
5961                         marked fuzzy
5962
5963         * libnm-util/nm-setting-connection.c
5964           libnm-util/nm-setting-wireless.c
5965           libnm-util/nm-setting-ppp.c
5966           libnm-util/nm-setting-wired.c
5967                 - Mark some setting properties as ignorable when doing a fuzzy compare
5968
5969         * src/nm-device.c
5970                 - (device_activation_precheck): use exact compare
5971
5972 2008-02-20  Dan Williams  <dcbw@redhat.com>
5973
5974         * src/NetworkManagerPolicy.c
5975                 - (nm_policy_device_change_check): get scope off the connection, not
5976                         using the manager helper
5977
5978         * src/nm-manager.c
5979           src/nm-manager.h
5980                 - (get_scope_for_proxy): rename from get_type_for_proxy()
5981                 - (connection_get_settings_cb): set scope and path on connection, not
5982                         using GObject data items
5983                 - (get_connection_for_proxy): don't need to return path, since that
5984                         can be gotten from the connection
5985                 - (get_connection_for_proxy): get path off the connection, not from
5986                         parameters
5987                 - (connection_removed_cb, connection_updated_cb): don't need to get
5988                         path from get_connection_for_proxy(); get scope off the connection
5989                         instead of using GObject data items
5990                 - (connection_added_default_handler, add_one_connection_element): use
5991                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
5992                 - (nm_manager_get_connection_dbus_path): remove
5993                 - (nm_manager_get_connection_scope): remove
5994
5995 2008-02-20  Dan Williams  <dcbw@redhat.com>
5996
5997         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
5998                 on confusing names
5999
6000         * Add 'path' and 'scope' properties to NMConnection since both NM and the
6001                 applet were having to hack this in anyway.  Remove the 'path' stuff from
6002                 NMExportedConnection
6003
6004         * Internally rename NMConnectionType -> NMConnectionScope
6005
6006         * Provide default implementations of the 'get_id' and 'get_settings' methods
6007                 of NMExportedConnection
6008
6009 2008-02-15  Dan Williams  <dcbw@redhat.com>
6010
6011         * src/nm-device-802-11-wireless.c
6012                 - (device_cleanup): release the AP list here too so that the AP list
6013                         doesn't survive across suspend/resume and up/down.  There is some
6014                         room for optimization, for example blow the list away when the card
6015                         brought back up, but only if the device has only been down for a
6016                         minute or more.
6017
6018 2008-02-15  Dan Williams  <dcbw@redhat.com>
6019
6020         * src/nm-hal-manager.c
6021                 - (modem_device_creator): recognize new HAL modem capabilities
6022
6023 2008-02-12  Dan Williams  <dcbw@redhat.com>
6024
6025         * system-settings/plugins/ifcfg-fedora/plugin.c
6026                 - (watch_path): handle IN_DELETE_SELF too
6027                 - (handle_connection_changed): notify when removing a connection
6028                 - (stuff_changed): don't warn on unknown inotify watches; handle the
6029                         case of a file moving out of the profile directory
6030
6031 2008-02-12  Dan Williams  <dcbw@redhat.com>
6032
6033         * system-settings/plugins/ifcfg-fedora/parser.c
6034                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
6035
6036 2008-02-12  Dan Williams  <dcbw@redhat.com>
6037
6038         * libnm-util/nm-utils.c
6039                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
6040                         just any empty array
6041
6042 2008-02-12  Dan Williams  <dcbw@redhat.com>
6043
6044         * system-settings/src/nm-system-config-interface.c
6045           system-settings/src/nm-system-config-interface.h
6046                 - (load_connections): get_connections() should now return an allocated
6047                         GSList that the system settings service will free
6048
6049         * system-settings/plugins/ifcfg-fedora/plugin.c
6050           system-settings/plugins/ifcfg-fedora/parser.h
6051           system-settings/plugins/ifcfg-fedora/parser.c
6052                 - Fix up inotify issues; handle keys-* files, handle new files appearing
6053                         in the profile directory, handle resolv.conf file changes
6054
6055 2008-02-10  Dan Williams  <dcbw@redhat.com>
6056
6057         * src/nm-device-802-3-ethernet.c
6058                 - (real_bring_up): save the supplicant interface state signal id
6059                 - (real_bring_down): disconnect from the supplicant interface state
6060                         signal
6061
6062 2008-02-07  Dan Williams  <dcbw@redhat.com>
6063
6064         * initscript/RedHat/NetworkManager.in
6065           initscript/RedHat/NetworkManagerDispatcher.in
6066                 - Add new-style LSB init headers
6067
6068 2008-02-07  Dan Williams  <dcbw@redhat.com>
6069
6070         * system-settings/src/dbus-settings.c
6071           system-settings/src/dbus-settings.h
6072                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
6073                         table of secrets
6074                 - (connection_settings_get_secrets): consolidate error returns into
6075                         one place; use the new get_secrets() plugin interface function to
6076                         get secrets from the plugin itself rather than using GObject data
6077                         magic
6078
6079         * system-settings/src/main.c
6080                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
6081                    load_connections): keep a private list of the plugin-returned
6082                         connections, don't use the plugin's GSList
6083
6084         * system-settings/plugins/ifcfg-fedora/plugin.c
6085                 - (watch_path): watch the path, not the filename (duh)
6086                 - (reload_all_connections): use the direct hash/equal functions; the
6087                         ones for int aren't appropriate here
6088                 - (get_secrets, system_config_interface_init): implement the
6089                         get_secrets() function
6090                 - (build_one_connection, find_connection_by_path): ifcfg file path is
6091                         now in the connection's ConnectionData instead of being a GObject
6092                         data property
6093                 - (handle_profile_item_changed): ifcfg file path is now in the
6094                         connection's ConnectionData instead of being a GObject data property;
6095                         be sure to copy secrets over from the new connection to the existing
6096                         connection when updating the connection's settings
6097                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
6098                         file descriptor
6099
6100         * system-settings/plugins/ifcfg-fedora/parser.c
6101           system-settings/plugins/ifcfg-fedora/parser.h
6102                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
6103                    connection_data_copy_secrets, connection_data_free,
6104                    connection_data_add): new functions; connection data manipulation
6105                 - (make_wireless_security_setting): stuff secrets into the
6106                         connection data, not as GObject data items; make sure to close
6107                         the keys ifcfg file
6108                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
6109                         connection data to the connection
6110
6111 2008-02-07  Dan Williams  <dcbw@redhat.com>
6112
6113         * system-settings/src/nm-system-config-interface.c
6114           system-settings/src/nm-system-config-interface.h
6115                 - Add a get_secrets() interface function to retrieve secrets for a
6116                         specific setting of a specific connection.  Document the interface
6117                         a bit more too.
6118
6119 2008-02-07  Dan Williams  <dcbw@redhat.com>
6120
6121         * src/nm-device-802-11-wireless.c
6122                 - (handle_auth_or_fail): new function; consolidate device activation
6123                         failure check after a certain number of failures getting secrets
6124                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
6125                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
6126                         the connection if secrets were requested more than a few times
6127                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
6128                         tries here; otherwise they are cleared before the IP configure
6129                         timeout, which happens with open system WEP when key is wrong
6130                 - (activation_success_handler): clear wireless secrets tries here too
6131
6132 2008-02-07  Dan Williams  <dcbw@redhat.com>
6133
6134         * src/NetworkManagerPolicy.c
6135                 - (connection_updated): clear invalid tag when connection gets updated
6136                         to allow that connection to be tried again
6137                 - (nm_policy_new): save signal ids so they can be disconnected when
6138                         the policy is destroyed
6139                 - (nm_policy_destroy): stop any in-progress state change idle handler,
6140                         and disconnect all signals from the manager object so that none
6141                         of the policy functions gets called after the policy is destroyed
6142
6143 2008-02-06  Dan Williams  <dcbw@redhat.com>
6144
6145         * src/nm-manager.c
6146                 - (finalize): remove devices a bit earlier; clean up system settings
6147                         poke
6148                 - (nm_manager_name_owner_changed): clean up system settings poke when
6149                         the service appears, and try to restart it if it fails
6150                 - (poke_system_settings_daemon_cb): try to get the system settings
6151                         service started through D-Bus service activation
6152                 - (initial_get_connections): start the system settings daemon if it's
6153                         not already running
6154
6155 2008-02-05  Dan Williams  <dcbw@redhat.com>
6156
6157         * src/supplicant-manager/nm-supplicant-config.c
6158                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
6159                         broadcast networks too
6160
6161 2008-02-04  Dan Williams  <dcbw@redhat.com>
6162
6163         * system-settings/plugins/ifcfg-fedora/parser.c
6164                 - (make_wireless_security_setting): fix spelling; unencrypted networks
6165                         need key_mgmt set too
6166                 - (parser_parse_file): validate ifcfg file name and don't try to parse
6167                         .bak files; ensure that an error is set whenever NULL gets returned
6168
6169 2008-02-04  Dan Williams  <dcbw@redhat.com>
6170
6171         * system-settings/src/Makefile.am
6172                 - Install D-Bus service activation file for the system settings
6173                         service
6174
6175         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
6176                 - D-Bus service activation file for system settings service
6177
6178 2008-02-04  Dan Williams  <dcbw@redhat.com>
6179
6180         * system-settings/src/main.c
6181                 - (parse_config_file): parse a config file
6182                 - (main): accept --config option and read plugins from config file
6183
6184 2008-02-04  Dan Williams  <dcbw@redhat.com>
6185
6186         * system-settings/plugins/ifcfg-fedora/plugin.c
6187                 - Change reported name to 'ifcfg-fedora'
6188                 - Use IFCFG_PLUGIN_NAME
6189
6190         * system-settings/plugins/ifcfg-fedora/plugin.c
6191                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
6192
6193 2008-02-04  Dan Williams  <dcbw@redhat.com>
6194
6195         * system-settings/plugins/ifcfg-fedora/parser.c
6196                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
6197                 - (make_connection_setting): use get_ifcfg_name()
6198                 - (make_wireless_security_setting): handle shadow key files
6199                 - (get_one_wep_key): treat empty string as NULL
6200
6201 2008-02-04  Dan Williams  <dcbw@redhat.com>
6202
6203         * src/supplicant-manager/nm-supplicant-manager.c
6204                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
6205                         glib automatically reschedule
6206                 - (nm_supplicant_manager_init): immediately try to start the supplicant
6207                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
6208                         the supplicant
6209
6210 2008-02-01  Dan Williams  <dcbw@redhat.com>
6211
6212         * src/NetworkManagerPolicy.c
6213                 - (device_state_changed): schedule a change check when a device gets
6214                         deactivated so something happens if you disconnect GSM/CDMA
6215
6216 2008-01-31  Dan Williams  <dcbw@redhat.com>
6217
6218         * src/nm-device-802-11-wireless.h
6219           src/nm-device-802-11-wireless.c
6220                 - (ap_list_get_ap_by_ssid, is_associated,
6221                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
6222                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
6223                 - (nm_device_802_11_wireless_get_activation_ap): collapse
6224                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
6225                         function
6226
6227 2008-01-30  Dan Williams  <dcbw@redhat.com>
6228
6229         * system-settings/plugins/ifcfg
6230         * system-settings/plugins/ifcfg-fedora
6231                 - Move the ifcfg plugin to ifcfg-fedora
6232
6233 2008-01-24  Dan Williams  <dcbw@redhat.com>
6234
6235         * libnm-glib/nm-device-802-11-wireless.c
6236                 - (get_access_point): move the "/" check here; check for invalid path
6237                         too
6238                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
6239                         to get_access_point()
6240                 - (access_point_added_proxy, access_point_removed_proxy): don't try
6241                         to send signals for non-existent access points
6242
6243 2008-01-24  Dan Williams  <dcbw@redhat.com>
6244
6245         * libnm-glib/nm-device-802-11-wireless.c
6246                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
6247
6248 2008-01-23  Dan Williams  <dcbw@redhat.com>
6249
6250         * libnm-glib/libnm_glib.c
6251                 - (libnm_glib_init): make thread joinable
6252                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
6253
6254 2008-01-23  Dan Williams  <dcbw@redhat.com>
6255
6256         * test/libnm_glib_test.c
6257                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
6258                 - (main): set up signal handlers; call libnm_glib_shutdown
6259
6260 2008-01-21  Dan Williams  <dcbw@redhat.com>
6261
6262         * include/NetworkManager.h
6263                 - Add CDMA mobile broadband card device type
6264
6265         * src/nm-hal-manager.c
6266                 - (modem_device_creator): handle both CDMA and GSM modems; the device
6267                         must now be tagged with 'cdma' or 'gsm' capability
6268
6269         * src/nm-cdma-device.c
6270           src/nm-cdma-device.h
6271           src/Makefile.am
6272                 - Add the CDMA mobile broadband card device class
6273
6274         * libnm-util/nm-connection.c
6275                 - (register_default_settings): add NMSettingCdma
6276
6277         * libnm-util/nm-setting-cdma.c
6278           libnm-util/nm-setting-cdma.h
6279           libnm-util/Makefile.am
6280                 - Add the CDMA mobile broadband card setting class
6281
6282         * libnm-glib/nm-cdma-device.c
6283           libnm-glib/nm-cdma-device.h
6284           libnm-glib/Makefile.am
6285                 - Add the CDMA mobile broadband card GLib proxy class
6286
6287         * libnm-glib/nm-client.c
6288                 - (get_device): handle CDMA devices too
6289
6290 2008-01-21  Dan Williams  <dcbw@redhat.com>
6291
6292         * src/ppp-manager/nm-ppp-manager.c
6293                 - (ip4_config_get): set peer address too
6294
6295         * src/ppp-manager/nm-pppd-plugin.c
6296                 - (nm_ip_up): try harder to get the peer's address
6297
6298         * src/NetworkManagerSystem.c
6299                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
6300                         address, use that too.  Otherwise, some PPP connections won't work.
6301
6302 2008-01-19  Dan Williams  <dcbw@redhat.com>
6303
6304         * src/NetworkManagerPolicy.c
6305                 - (nm_policy_device_change_check): system connections override user
6306                         connections; don't activate a user connection if there's a currently
6307                         active system connection, and new, better system connections always
6308                         interrupt user connections
6309
6310 2008-01-19  Dan Williams  <dcbw@redhat.com>
6311
6312         * src/nm-manager.h
6313                 - (nm_manager_get_connection_type): new function
6314
6315 2008-01-19  Dan Williams  <dcbw@redhat.com>
6316
6317         * src/nm-device-802-11-wireless.c
6318                 - (real_get_best_connection): collapse find_best_connection() into this
6319                         function
6320
6321 2008-01-19  Dan Williams  <dcbw@redhat.com>
6322
6323         * src/nm-device-802-3-ethernet.c
6324                 - (real_get_best_connection): collapse find_best_connection() into this
6325                         function
6326
6327 2008-01-18  Dan Williams  <dcbw@redhat.com>
6328
6329         * src/nm-device-802-3-ethernet.c
6330                 - (find_best_connection): check MAC address too
6331                 - (real_get_best_connection): let autoconnect=True connections activate
6332                         for devices that don't have carrier detection
6333
6334         * src/nm-device-802-11-wireless.c
6335                 - (find_best_connection): check MAC address too
6336
6337 2008-01-18  Dan Williams  <dcbw@redhat.com>
6338
6339         * system-settings/plugins/ifcfg/parser.c
6340                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
6341
6342 2008-01-17  Dan Williams  <dcbw@redhat.com>
6343
6344         * src/nm-device-802-3-ethernet.c
6345                 - (nm_device_802_3_ethernet_carrier_on,
6346                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
6347                         carrier events that might come in for devices that don't support
6348                         carrier detect
6349
6350 2008-01-17  Dan Williams  <dcbw@redhat.com>
6351
6352         * src/nm-device-interface.c
6353                 - (nm_device_interface_check_connection_conflicts): need to actually
6354                         get the interface, not cast to the object
6355
6356         * src/nm-device.c
6357                 - (nm_device_check_connection_conflicts): need to get the device class,
6358                         not cast the device to the device class
6359
6360 2008-01-17  Dan Williams  <dcbw@redhat.com>
6361
6362         * src/nm-device-802-11-wireless.c
6363                 - (real_check_connection_conflicts): ignore connections that aren't
6364                         wireless connections
6365
6366 2008-01-17  Dan Williams  <dcbw@redhat.com>
6367
6368         * src/NetworkManagerPolicy.c
6369                 - (nm_policy_device_change_check): clear change check idle here
6370                 - (device_change_check_done): remove
6371                 - (schedule_change_check): simplify
6372
6373 2008-01-17  Dan Williams  <dcbw@redhat.com>
6374
6375         * src/nm-manager.c
6376                 - (check_connection_allowed): take an NMDeviceInterface instead of
6377                         an NMDevice object as an argument
6378                 - (nm_manager_activate_device): pass an NMDeviceInterface to
6379                         check_connection_allowed()
6380
6381 2008-01-13  Dan Williams  <dcbw@redhat.com>
6382
6383         * libnm-glib/nm-device-802-11-wireless.c
6384                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
6385
6386 2008-01-12  Dan Williams  <dcbw@redhat.com>
6387
6388         * src/nm-device-802-11-wireless.c
6389                 - (activation_success_handler): if a match was found in the scan list
6390                         and that match is a hidden AP, update that AP's SSID
6391
6392 2008-01-11  Dan Williams  <dcbw@redhat.com>
6393
6394         * src/NetworkManagerAP.c
6395                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
6396
6397         * src/nm-device-802-11-wireless.c
6398                 - (get_active_ap): do two passes over the scan list if the caller
6399                         requests that hidden APs get matched too; during the second pass
6400                         when matching hidden APs, ignore the SSID since hidden APs in the
6401                         scan list don't have an SSID yet
6402                 - (periodic_update): move some checks to
6403                         nm_device_802_11_periodic_update() because not all callers need them
6404                 - (nm_device_802_11_periodic_update): move some checks here from
6405                         perodic_update()
6406                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
6407                         matching on incoming scan results, because the fake AP's flags
6408                         might be slightly different (yet still compatible) with the incoming
6409                         scan result's flags and they might actually be the same AP; update
6410                         the rate on merged APs too
6411                 - (activation_success_handler): update the frequency of the fake AP
6412                         on successful connection; match hidden APs too since if the
6413                         current AP is fake, there might already be a scan result in the
6414                         scan list for the desired AP, just without it's SSID filled in yet
6415
6416 2008-01-10  Dan Williams  <dcbw@redhat.com>
6417
6418         * src/NetworkManagerAP.c
6419                 - (foreach_property_cb): catch more hidden SSID formats
6420
6421 2008-01-10  Dan Williams  <dcbw@redhat.com>
6422
6423         Fix gnome.org #464215.  Requires the kernel patch titled
6424         "Introduce WEXT scan capabilities" but will handle the patch not being
6425         present, you'll just continue to have problems with hidden SSIDs when
6426         using mac80211-based drivers.
6427
6428         * src/supplicant-manager/nm-supplicant-config.h
6429           src/supplicant-manager/nm-supplicant-config.c
6430                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
6431                         whether the driver supports SSID scans or not.  If it does, and if
6432                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
6433
6434         * src/nm-device-802-11-wireless.c
6435                 - (constructor): check whether or not the driver supports SSID scans
6436                 - (build_supplicant_config): pass driver SSID scan capability when
6437                         building the wireless bits of the supplicant config
6438
6439 2008-01-09  Dan Williams  <dcbw@redhat.com>
6440
6441         * src/nm-device.c
6442           src/nm-device.h
6443                 - (device_activation_precheck, check_connection_complete): remove this
6444                         virtual function; incomplete connections should be invalid by
6445                         definition, complete-ness should be checked in the setting's
6446                         verify function
6447
6448         * src/nm-serial-device.c
6449           src/nm-gsm-device.c
6450                 - (real_check_connection_complete): remove
6451
6452         * libnm-util/nm-setting-serial.c
6453                 - (verify): new function; ensure there is a PPP setting too
6454
6455         * libnm-util/nm-setting-gsm.c
6456                 - (verify): ensure there is a serial setting too
6457
6458 2008-01-06  Dan Williams  <dcbw@redhat.com>
6459
6460         * src/dhcp-manager/nm-dhcp-manager.c
6461                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
6462                         (gnome.org #332953)
6463
6464 2008-01-04  Dan Williams  <dcbw@redhat.com>
6465
6466         * src/named-manager/nm-named-manager.c
6467                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
6468                         nameservers if the secondary config doesn't have any
6469                         (gnome.org #346833)
6470
6471 2008-01-02  Tambet Ingo  <tambet@gmail.com>
6472
6473         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
6474         with G_PARAM_CONSTRUCT so that they get the default values.
6475
6476         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
6477         the monitoring device and prints out the output for now. Or more precicely, doesn't
6478         do absolutely anything right now since the montoring device argument is never set.
6479
6480         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
6481         requires it's own knob to turn it on.
6482         (config_fd): Add NMSettingSerial to the arguments list.
6483         (nm_serial_device_open): Ditto.
6484         (get_reply_got_data): Ignore the terminators at the beginning of the output.
6485         (nm_serial_device_get_io_channel): Implement.
6486
6487         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
6488         a new reference every time (and forgetting to release it sometimes) is a pain and
6489         it's not like NMManager could work without dbus.
6490         (nm_manager_add_device): Register the added device on dbus here.
6491
6492         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
6493         device.
6494
6495         * src/nm-device.c (constructor): Don't export the device here, instead export
6496         it when it's added to the NMManager's device list.
6497
6498 2007-12-31  Dan Williams  <dcbw@redhat.com>
6499
6500         * src/nm-device-interface.c
6501           src/nm-device-interface.h
6502                 - (nm_device_interface_check_connection_conflicts): new function
6503
6504         * src/nm-device.c
6505           src/nm-device.h
6506                 - (nm_device_check_connection_conflicts): new function
6507                 - (device_activation_precheck): don't require subclasses to implement
6508                         check_connection_complete()
6509                 - check_connection() -> check_connection_complete()
6510
6511         * src/nm-device-802-11-wireless.c
6512                 - (real_check_connection): remove; unused
6513                 - (real_check_connection_conflicts): implement, handle lockdown for
6514                         system connections
6515
6516         * src/nm-device-802-3-ethernet.c
6517                 - (real_check_connection): remove; unused
6518
6519         * src/nm-manager.c
6520                 - (check_connection_allowed): new function
6521                 - (nm_manager_activate_device): ensure the connection being requested
6522                         is allowed to be activated
6523
6524         * src/nm-serial-device.c
6525           src/nm-gsm-device.c
6526                 - real_check_connection() -> real_check_connection_complete()
6527
6528 2007-12-27  Dan Williams  <dcbw@redhat.com>
6529
6530         * src/nm-device-interface.c
6531           src/nm-device-interface.h
6532                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
6533                         normalize and expand errors
6534                 - (nm_device_interface_init): register errors so they can be marshalled
6535                         through dbus-glib
6536                 - (nm_device_interface_activate): ensure that failure of activation
6537                         returns an error
6538
6539         * src/nm-device.c
6540           src/nm-device.h
6541                 - (device_activation_precheck): implementations of check_connection()
6542                         now take a GError and must fill it in if the check fails.  Return
6543                         more descriptive error if the requested connection is already
6544                         activating
6545                 - (nm_device_activate): actually try to return descriptive errors on
6546                         failures
6547
6548         * src/nm-device-802-11-wireless.c
6549           src/nm-device-802-3-ethernet.c
6550           src/nm-serial-device.c
6551           src/nm-gsm-device.c
6552                 - (real_check_connection): return more descriptive errors on failure
6553
6554         * src/NetworkManagerPolicy.c
6555                 - (nm_policy_device_change_check): print activation errors in the logs
6556
6557         * src/nm-manager.c
6558                 - (nm_manager_error_quark, nm_manager_error_get_type,
6559                    nm_manager_class_init): new errors
6560                 - (nm_manager_activate_device): handle errors
6561                 - (nm_manager_error_new): removed
6562                 - (wait_for_connection_expired, connection_added_default_handler,
6563                    impl_manager_activate_device): better error handling
6564
6565 2007-12-27  Dan Williams  <dcbw@redhat.com>
6566
6567         Fixes gnome.org #466954
6568
6569         * src/supplicant-manager/nm-supplicant-settings-verify.c
6570                 - Allow 'frequency' network property
6571
6572         * src/supplicant-manager/nm-supplicant-config.c
6573           src/supplicant-manager/nm-supplicant-config.h
6574                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
6575                         for callers to specify the frequency an Ad-Hoc network should operate
6576                         on.  Some drivers require this to successfully create an Ad-Hoc
6577                         network.
6578
6579         * src/nm-device-802-11-wireless.c
6580                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
6581                         guint32 value in MHz
6582                 - (constructor, nm_device_802_11_wireless_get_frequency): use
6583                         iw_freq_to_uint32()
6584                 - (find_supported_frequency): new function; find a free supported
6585                         frequency for a user-created Ad-Hoc network
6586                 - (build_supplicant_config): if no frequency was specified for a user-
6587                         created Ad-Hoc network, find a free one to use
6588                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
6589                         a specific object as user-created
6590
6591 2007-12-27  Dan Williams  <dcbw@redhat.com>
6592
6593         * libnm-util/nm-utils.c
6594           libnm-util/nm-utils.h
6595                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
6596                         for adhoc networks
6597
6598 2007-12-24  Dan Williams  <dcbw@redhat.com>
6599
6600         * libnm-util/nm-setting-wireless.c
6601                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
6602                         185, 187, 188, 192, and 196
6603
6604 2007-12-24  Dan Williams  <dcbw@redhat.com>
6605
6606         * src/nm-device-802-11-wireless.c
6607                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
6608                         a channel # instead of a frequency
6609
6610 2007-12-24  Dan Williams  <dcbw@redhat.com>
6611
6612         * src/NetworkManagerAP.c
6613           src/NetworkManagerAP.h
6614                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
6615                 - (freq_to_channel): handle split band tables
6616                 - (channel_to_freq): handle split band tables, take a band argument
6617
6618 2007-12-24  Dan Williams  <dcbw@redhat.com>
6619
6620         * libnm-util/nm-setting-connection.h
6621           libnm-util/nm-setting-connection.c
6622                 - Add 'lockdown' member
6623
6624 2007-12-22  Dan Williams  <dcbw@redhat.com>
6625
6626         * libnm-util/nm-setting-wireless.c
6627                 - (nm_setting_wireless_class_init): add missing 'rate' property
6628                         specification
6629
6630 2007-12-18  Dan Williams  <dcbw@redhat.com>
6631
6632         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
6633
6634         * src/nm-netlink-monitor.c
6635           src/nm-netlink-monitor.h
6636                 - Remove handrolled netlink, use libnl instead
6637
6638         * src/nm-device-802-3-ethernet.c
6639                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6640                    nm_device_802_3_ethernet_carrier_on): use new names
6641
6642 2007-12-17  Dan Williams  <dcbw@redhat.com>
6643
6644         * configure.in
6645                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6646                         and fixes memory leaks)
6647
6648         * src/nm-netlink.c
6649                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6650                         automatically handle the netlink PID
6651
6652 2007-12-17  Dan Williams  <dcbw@redhat.com>
6653
6654         Patch from Michael Biebl <biebl@debian.org>
6655
6656         * configure.in
6657           src/ppp-manager/Makefile.am
6658                 - fix up install dir of pppd plugin
6659                 - clean up configure.in a bit
6660
6661 2007-12-12  Dan Williams  <dcbw@redhat.com>
6662
6663         * system-settings/src/nm-system-settings.conf
6664                 - Allow non-root clients (like the applet) to read settings
6665
6666 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6667
6668         * Replace all occurences of 'UMTS' with 'GSM'.
6669
6670 2007-12-07  Dan Williams  <dcbw@redhat.com>
6671
6672         * src/nm-serial-device.c
6673                 - (real_is_up): serial devices are always "up"
6674
6675 2007-12-07  Dan Williams  <dcbw@redhat.com>
6676
6677         * src/nm-netlink.c
6678           src/NetworkManagerSystem.c
6679                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6680                         twice (gnome.org #491047)
6681                 - Make more robust against allocation-related failures should they occur
6682
6683 2007-12-07  Dan Williams  <dcbw@redhat.com>
6684
6685         Noticed by Christian Persch <chpe@gnome.org>
6686
6687         Always chain up to parent object in dispose and finalize handlers.
6688                 (gnome.org #433112)
6689
6690 2007-12-07  Dan Williams  <dcbw@redhat.com>
6691
6692         * src/nm-device-802-11-wireless.c
6693                 - Wrap #include of linux/mii.h to fix redefined structures due to
6694                         incorrect kernel headers (gnome.org #350061)
6695
6696 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6697
6698         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6699         before doing anything else.
6700         (init_modem): Move modem initialization here.
6701
6702         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6703         (nm_serial_device_flash): Implement.
6704
6705         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6706         changes signal is "StateChanged" and not "Status".
6707         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6708
6709 2007-12-06  Dan Williams  <dcbw@redhat.com>
6710
6711         * src/supplicant-manager/nm-supplicant-config.c
6712                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6713                         to only send some options when they make sense; also send phase2
6714                         option to the supplicant (possible fix for rh #399631)
6715
6716 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6717
6718         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6719         arguments: This whole file shouldn't really know anything about NMDevices, it
6720         should deal only with device interfaces. Devices might have different ifaces for
6721         different stuff and this place shouldn't know anything about it.
6722
6723         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6724         (global_state_changed): Implement. In the current NM it's not really important,
6725         but will be required in the case of multiple active devices. (Or even better,
6726         if stuff like that gets moved out from NM).
6727
6728         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6729         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6730         instead.
6731
6732         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6733         devices like serial devices (ttyS0 and ppp0 for example).
6734         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6735         set.
6736         (nm_device_set_ip_iface): Implement.
6737         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6738         after setting ip4_config from here ...
6739         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6740         than this function should call nm_system_device_set_from_ip4_config() because no
6741         other code has enough information on which arguments to use. So instead, other code
6742         could just set the new ip4 config using this function and everyone is happy.
6743
6744         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6745         if we happen to get deactivated while something is pending.
6746         (automatic_registration): Handle the response that indicates pending network
6747         registration and wait until the pending registration is done.
6748         (real_deactivate_quickly): If there's a pending operation, cancel it.
6749
6750         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6751         (real_deactivate_quickly): ... and remove it when it's down.
6752         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6753         it if needed.
6754         (nm_serial_device_wait_for_reply): Ditto.
6755
6756 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6757
6758         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6759         (get_network_done): Remove newline, nm_info() does it already.
6760         (real_act_stage1_prepare): Turn the modem echo off.
6761
6762         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6763         device, set the route to the device interface. This is a hack.
6764
6765         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6766         return, no need for a new-line.
6767         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6768         Change the device iface here (ugh).
6769         (real_act_stage4_get_ip4_config): Implement.
6770         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6771         Restore the device iface.
6772
6773         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6774         device is not wired or wireless (eg, automatically upped) device.
6775
6776         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6777         it isn't.
6778         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6779
6780         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6781         before calling it's is_device_fn().
6782
6783 2007-12-05  Dan Williams  <dcbw@redhat.com>
6784
6785         * libnm-util/nm-utils.c
6786                 - (nm_utils_register_value_transformations,
6787                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6788                         GHashTables of GValues too
6789
6790 2007-12-04  Dan Williams  <dcbw@redhat.com>
6791
6792         * initscript/RedHat/NetworkManager.in
6793                 - No longer start named; it's D-Bus interface is going away
6794
6795 2007-12-04  Dan Williams  <dcbw@redhat.com>
6796
6797         Patch from Michael Biebl <biebl@debian.org>
6798
6799         * system-settings/plugins/ifcfg/Makefile.am
6800           system-settings/src/main.c
6801           system-settings/src/Makefile.am
6802                 - Put system settings plugins in NM plugins dir
6803
6804         * src/ppp-manager/Makefile.am
6805           src/ppp-manager/nm-ppp-manager.c
6806                 - Move pppd plugin to NM plugins dir
6807
6808 2007-12-04  Dan Williams  <dcbw@redhat.com>
6809
6810         * libnm-util/nm-setting-vpn-properties.h
6811                 - Clarify usage of the 'data' member of the setting
6812
6813         * libnm-util/nm-setting-vpn-properties.c
6814                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6815                 - (set_property): just remove all the settings; don't recreate the has
6816                 - (update_one_secret): don't need to create the hash table here since
6817                         it should always be present
6818
6819 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6820
6821         Implement PIN and PUK requesting.
6822
6823         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6824         (enter_pin): Handle PIN and PUK requests.
6825         (real_act_stage1_prepare): Clear the secret type.
6826         (real_connection_secrets_updated): Implement this class method to get
6827         notified when new secrets arrive.
6828         (nm_umts_device_class_init): Add private data back to the umts device class
6829         to store the required secret type.
6830
6831 2007-12-01  Dan Williams  <dcbw@redhat.com>
6832
6833         * system-settings/plugins/ifcfg/parser.c
6834                 - (parser_parse_file): don't try to verify NULL connections
6835
6836 2007-12-01  Dan Williams  <dcbw@redhat.com>
6837
6838         * system-settings/src/main.c
6839                 - (load_connections, add_connection_to_settings): actually export
6840                         plugin-provided connections over D-Bus so NM can get them
6841
6842 2007-12-01  Dan Williams  <dcbw@redhat.com>
6843
6844         * system-settings/plugins/ifcfg/parser.c
6845           system-settings/plugins/ifcfg/parser.h
6846           system-settings/plugins/ifcfg/plugin.c
6847                 - Hook up more inotify bits (untested)
6848
6849 2007-11-29  Dan Williams  <dcbw@redhat.com>
6850
6851         * system-settings/src/nm-system-config-interface.h
6852           system-settings/src/nm-system-config-interface.c
6853                 - (nm_system_config_interface_init,
6854                    nm_system_config_interface_get_connections): add
6855
6856         * system-settings/src/main.c
6857                 - (load_plugins, load_connections, main): use a GSList for plugins
6858                         to ensure priority ordering
6859
6860         * system-settings/plugins/ifcfg/parser.c
6861                 - (ifcfg_error_quark): move to plugin.c, and rename
6862
6863         * system-settings/plugins/ifcfg/plugin.h
6864           system-settings/plugins/ifcfg/plugin.c
6865                 - (ifcfg_plugin_error_quark): move here from parser.c
6866                 - rework connection loading and initialization
6867                 - Add preliminary inotify support for network profile config file
6868
6869 2007-11-28  Tambet Ingo  <tambet@gmail.com>
6870
6871         Merge the beginnings of the new GSM card support.
6872
6873         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
6874         ppp watch source before killing pppd - If this happens from g_object_unref()
6875         then the ppp manager is already destroyed by the time the watch callback runs.
6876
6877         * src/nm-hal-manager.c: Add a device_type_name string to the device
6878         creators, so that we can print a nice human readable string when a
6879         device is added.
6880
6881         * src/nm-umts-device.c (automatic_registration_get_network): Query
6882         for the activated network, not much is done with the result thought.
6883
6884         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
6885         (ppp_ip4_config): Change the device state to activated here for now.
6886         (real_check_connection): Make sure the connection includes ppp setting.
6887
6888         * libnm-glib/nm-client.c (get_device): Handle umts devices.
6889
6890         * libnm-glib/Makefile.am: Add the new files to build.
6891
6892         * libnm-glib/nm-umts-device.c: 
6893         * libnm-glib/nm-umts-device.h: Implement.
6894
6895 2007-11-26  Tambet Ingo  <tambet@gmail.com>
6896
6897         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
6898         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
6899
6900         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
6901         the timeout source - this function is only called when the timeout source has
6902         been removed.
6903         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
6904         to be big enough to contain the terminating zero element as well.
6905         The timeout argument is meant to be in seconds now.
6906         (real_deactivate_quickly): Implement.
6907
6908         * src/NetworkManager.conf: Allow root to own 
6909         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
6910
6911         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
6912         (not unsigned ints).
6913
6914         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
6915         small issue with parity bounds - capital letters have lower ascii codes
6916         than lower case letters.
6917
6918         * libnm-util/nm-connection.c (register_default_settings): Register serial
6919         and umts settings.
6920
6921 2007-11-22  Tambet Ingo  <tambet@gmail.com>
6922
6923         Remove the "index" property from devices as not all device types have this.
6924
6925         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
6926
6927         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
6928         (wired_device_creator): Get the device interface from hal to create the device.
6929         (wireless_device_creator): Ditto.
6930
6931         * src/nm-device.c (nm_device_init): Remove the index member.
6932         (constructor): Remove the checks for index property, make interface property
6933         a require constructor property.
6934         Use the HAL udi for DBus path for devices.
6935         (nm_device_get_index): Remove.
6936         (set_property): Remove index handling.
6937         (get_property): Ditto.
6938         (nm_device_get_dbus_path): Remove.
6939
6940         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
6941         property.
6942
6943         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
6944         Access the device index through it's interface.
6945         (nm_device_802_3_ethernet_link_deactivated): Ditto.
6946         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
6947         index argument. Add interface argument.
6948
6949         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
6950         the useless test_dev argument. Remove index argument. Add interface arugment.
6951
6952         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
6953         device index through interface.
6954         (nm_system_set_mtu): Ditto.
6955
6956         * introspection/nm-device.xml: Remove the "Index" property.
6957
6958 2007-11-21  Tambet Ingo  <tambet@gmail.com>
6959
6960         * src/nm-serial-device.c: 
6961         * src/nm-serial-device.c: 
6962         * src/nm-umts-device.c:
6963         * src/nm-umts-device.h: Implement.
6964
6965         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
6966         allocated by libhal.
6967         (modem_device_creator): Implement.
6968         (register_built_in_creators): Register the modem creator.
6969
6970         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
6971         Remove the unused test_dev argument.
6972
6973         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
6974
6975         * src/Makefile.am: Add new files to build.
6976         Link in ppp-manager.
6977
6978         * libnm-util/nm-setting-umts.c: 
6979         * libnm-util/nm-setting-umts.h: 
6980         * libnm-util/nm-setting-serial.c: 
6981         * libnm-util/nm-setting-serial.h: Implement.
6982
6983         * libnm-util/Makefile.am: Add new files to build.
6984
6985 2007-11-28  Dan Williams  <dcbw@redhat.com>
6986
6987         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
6988
6989         Support DHCP-provided static routes.
6990
6991         * src/nm-ip4-config.h
6992           src/nm-ip4-config.c
6993                 - Add get/set functions for static routes
6994
6995         * src/dhcp-manager/nm-dhcp-manager.c
6996                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
6997                         DHCP response
6998
6999         * src/NetworkManagerSystem.c
7000                 - (nm_system_device_set_from_ip4_config): set any static routes on the
7001                         interface when applying the IP4Config
7002
7003 2007-11-28  Dan Williams  <dcbw@redhat.com>
7004
7005         * src/nm-device-802-11-wireless.c
7006                 - (real_act_stage1_prepare): mark APs created for hidden networks
7007                         as non-broadcasting
7008
7009 2007-11-27  Dan Williams  <dcbw@redhat.com>
7010
7011         * system-settings/src/nm-system-config-interface.h
7012                 - Note how to store secrets on NMSetting objects
7013
7014         * system-settings/src/dbus-settings.c
7015                 - (connection_settings_get_secrets): implement
7016
7017 2007-11-27  Dan Williams  <dcbw@redhat.com>
7018
7019         * system-settings/plugins/ifcfg/Makefile.am
7020           system-settings/plugins/ifcfg/parser.c
7021           system-settings/plugins/ifcfg/parser.h
7022           system-settings/plugins/ifcfg/plugin.c
7023                 - Parse wireless connections too
7024
7025         * system-settings/src/dbus-settings.c
7026           system-settings/src/dbus-settings.h
7027           system-settings/src/main.c
7028                 - Handle connection update/removal if the plugin supports it
7029
7030 2007-11-27  Dan Williams  <dcbw@redhat.com>
7031
7032         * src/nm-dbus-manager.h
7033           src/nm-hal-manager.c
7034                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
7035                         do it for them
7036
7037         * src/Makefile.am
7038           src/NetworkManagerDbusUtils.c
7039           src/NetworkManagerDbusUtils.h
7040                 - Remove these two source files; they are unused
7041
7042 2007-11-27  Dan Williams  <dcbw@redhat.com>
7043
7044         * src/vpn-manager/nm-vpn-manager.c
7045                 - (impl_vpn_manager_connect): fix system settings check (found by
7046                         James M. Leddy)
7047
7048 2007-11-26  Dan Williams  <dcbw@redhat.com>
7049
7050         * Fix warnings so everything compiles with --enable-more-warnings
7051
7052 2007-11-25  Dan Williams  <dcbw@redhat.com>
7053
7054         * system-settings/*
7055                 - Rework structure and code to use GModule-loaded plugins and a plugin
7056                         interface that plugins export to the system settings service
7057
7058 2007-11-21  Dan Williams  <dcbw@redhat.com>
7059
7060         * system-settings/*
7061                 - Add Soren's system settings service.  Needs work for distros other
7062                         than Fedora; the backends from NM should mostly migrate to here
7063                         and be converted to GObjects
7064
7065 2007-11-21  Dan Williams  <dcbw@redhat.com>
7066
7067         * libnm-util/nm-setting-vpn-properties.c
7068                 - (set_property): must deep-copy the given settings hash, otherwise
7069                         double-free errors occur when the setting is disposed of
7070
7071 2007-11-21  Dan Williams  <dcbw@redhat.com>
7072
7073         * src/vpn-manager/nm-vpn-act-request.h
7074           src/vpn-manager/nm-vpn-act-request.c
7075                 - Remove; unused
7076
7077 2007-11-20  Dan Williams  <dcbw@redhat.com>
7078
7079         * libnm-util/nm-utils.c
7080                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
7081                    nm_utils_convert_ip4_addr_struct_array_to_string,
7082                    nm_utils_register_value_transformations): print out the readable
7083                         values of more types of properties of NMSettings subclasses
7084
7085 2007-11-20  Dan Williams  <dcbw@redhat.com>
7086
7087         * libnm-util/nm-setting-ip4-config.c
7088                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
7089                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
7090                         marshal GValueArrays inside collections, so switch to types that it
7091                         can actually marshal/demarshal
7092
7093 2007-11-16  Dan Williams  <dcbw@redhat.com>
7094
7095         * libnm-util/nm-setting-wireless-security.c
7096                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
7097                         minimal verification of EAP methods too
7098                 - (verify): verify phase1 eap methods too
7099
7100 2007-11-15  Dan Williams  <dcbw@redhat.com>
7101
7102         * libnm-glib/nm-device.h
7103           libnm-glib/nm-device.c
7104                 - (nm_device_get_product, nm_device_get_vendor): should be returning
7105                         const char *
7106
7107 2007-11-15  Dan Williams  <dcbw@redhat.com>
7108
7109         * libnm-glib/nm-device.c
7110                 - (get_product_and_vendor): don't try to free things that should be
7111                         freed
7112
7113 2007-11-15  Dan Williams  <dcbw@redhat.com>
7114
7115         * src/NetworkManagerUtils.c
7116                 - (nm_ethernet_address_is_valid): unbreak previous fix
7117
7118 2007-11-15  Dan Williams  <dcbw@redhat.com>
7119
7120         * src/supplicant-manager/nm-supplicant-config.c
7121                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
7122                         options
7123
7124 2007-11-15  Dan Williams  <dcbw@redhat.com>
7125
7126         * src/NetworkManagerUtils.c
7127                 - (nm_ethernet_address_is_valid): fix style, clarify
7128                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
7129
7130         * src/nm-device-802-11-wireless.c
7131                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
7132                 - (nm_device_802_11_wireless_get_ssid,
7133                    nm_device_802_11_wireless_get_bssid,
7134                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
7135                         before calling the ioctl; fixes valgrind-reported jump depends on
7136                         uninitialized value errors
7137
7138 2007-11-15  Dan Williams  <dcbw@redhat.com>
7139
7140         * libnm-util/nm-setting.c
7141                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
7142                         unecessary to serialize 'name'
7143
7144         * src/nm-activation-request.c
7145                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
7146                         the GetSecrets call
7147
7148 2007-11-15  Dan Williams  <dcbw@redhat.com>
7149
7150         * libnm-util/nm-setting-connection.h
7151           libnm-util/nm-setting-connection.c
7152                 - Rename the 'name' property to 'id', because it conflicted with the
7153                         NMSetting superclass' 'name' property.
7154
7155         * libnm-util/nm-setting.c
7156                 - (nm_setting_to_hash): serialize the 'name' property
7157                 - (one_property_cb): ignore 'name' on deserialization of a connection
7158
7159         * src/nm-device-802-11-wireless.c
7160           src/vpn-manager/nm-vpn-connection.c
7161           src/NetworkManagerPolicy.c
7162                 - Fix up for NMSettingConnection 'name'->'id' changes
7163
7164 2007-11-13  Dan Williams  <dcbw@redhat.com>
7165
7166         * libnm-glib/nm-device-802-11-wireless.h
7167           libnm-glib/nm-device-802-11-wireless.c
7168                 - (nm_device_802_11_wireless_get_hw_address): return should be const
7169
7170         * test/nm-tool.c
7171           libnm-glib/libnm-glib-test.c
7172                 - Fixes for above change
7173
7174 2007-11-12  Dan Williams  <dcbw@redhat.com>
7175
7176         * src/supplicant-manager/nm-supplicant-settings-verify.c
7177                 - Allow fragment_size option
7178
7179         * src/supplicant-manager/nm-supplicant-settings-verify.c
7180                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
7181                         EAP fragment size than the default to help some TLS connections
7182
7183 2007-11-12  Dan Williams  <dcbw@redhat.com>
7184
7185         Make certs actually work.  The private key is now a secret, and should be
7186         decrypted when requested by NM.  The private key and phase2 private key
7187         passwords are no longer interesting to NM because they should be used by
7188         the settings service to decrypt the private key itself before passing it
7189         to NM, and hence have been removed as fields.
7190
7191         * libnm-util/nm-setting-wireless-security.h
7192           libnm-util/nm-setting-wireless-security.c
7193                 - Remove private-key-passwd and phase2-private-key-passwd from
7194                         properties
7195                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
7196                    need_secrets): use property #defines instead strings to keep things
7197                         consistent
7198                 - (need_secrets_tls): if a client certificate is present but no
7199                         private key, request the private key
7200                 - (set_property, get_property, nm_setting_wireless_security_class_init):
7201                         remove private key password stuff, mark private keys as secret
7202
7203         * src/supplicant-manager/nm-supplicant-settings-verify.c
7204                 - Remove private_key_passwd and private_key2_passwd from opt_table
7205
7206 2007-11-09  Dan Williams  <dcbw@redhat.com>
7207
7208         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
7209         Since the vpn-properties are managed and known by the VPN daemons themselves,
7210         libnm-util doesn't know what's secret and what's in the setting's 'data'
7211         member.
7212
7213         * libnm-util/nm-setting.h
7214           libnm-util/nm-setting.c
7215                 - Add the ability for subclasses to override update_one_secret
7216
7217         * libnm-util/nm-setting-vpn-properties.c
7218                 - Override update_one_secret and just copy the values into the
7219                         internal table
7220
7221 2007-11-09  Dan Williams  <dcbw@redhat.com>
7222
7223         * libnm-glib/nm-settings.h
7224           libnm-glib/nm-settings.c
7225                 - (nm_settings_new_error): remove
7226                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
7227                         clients should use g_set_error() with NM_SETTINGS_ERROR
7228
7229 2007-11-09  Dan Williams  <dcbw@redhat.com>
7230
7231         * src/supplicant-manager/nm-supplicant-config.c
7232                 - (nm_supplicant_config_add_setting_wireless_security): private key
7233                         passwords are never sent to wpa_supplicant, because the supplicant
7234                         should never be reading random files from the disk.  Clients like
7235                         the applet are required to decrypt the private keys and send NM
7236                         the decrypted blobs.
7237
7238 2007-11-08  Dan Williams  <dcbw@redhat.com>
7239
7240         * libnm-util/nm-setting-wireless-security.h
7241           libnm-util/nm-setting-wireless-security.c
7242                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
7243                         members to 802-11-wireless-security structure.  This should be used
7244                         to indicate that the values in private-key and phase2-private-key
7245                         are already decrypted by the user agent, and that no
7246                         private-key-passwd or phase2-private-key-passwd should be expected.
7247                         It is not meant to be a stored configuration value, but meant to
7248                         be set when the conneciton is sent to NM over dbus.
7249
7250 2007-11-08  Dan Williams  <dcbw@redhat.com>
7251
7252         * libnm-util/nm-connection.h
7253           libnm-util/nm-connection.c
7254                 - (nm_connection_need_secrets): add argument to return hints
7255
7256         * src/nm-device-802-11-wireless.c
7257                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7258                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
7259                         nm_connection_need_secrets() change
7260
7261 2007-11-07  Tambet Ingo  <tambet@gmail.com>
7262
7263         Rework NMSetting structures: Move each setting to it's own file.
7264         Convert to GObject. Remove home grown setting types and use GTypes.
7265         Use GObject property introspection for hash conversion, enumerating
7266         properties, etc.
7267
7268         * libnm-util/nm-setting-connection.[ch]
7269         * libnm-util/nm-setting-ip4-config.[ch]
7270         * libnm-util/nm-setting-ppp.[ch]
7271         * libnm-util/nm-setting-vpn.[ch]
7272         * libnm-util/nm-setting-vpn-properties.[ch]
7273         * libnm-util/nm-setting-wired.[ch]
7274         * libnm-util/nm-setting-wireless.[ch]
7275         * libnm-util/nm-setting-wireless-security.[ch]
7276
7277         New files, each containing a setting.
7278
7279         * libnm-util/nm-setting-template.[ch]: A template for creating new
7280         settings. To use it, just replace 'template' with the new setting
7281         name, and you're half-way done.
7282
7283         * libnm-util/nm-setting.c: Convert to GObject and use GObject
7284         introspection instead of internal types and tables.
7285
7286         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
7287
7288         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
7289         GValue types defined by dbus-glib for composed types like collections,
7290         structures and maps.
7291
7292         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
7293         a setting from connection takes the setting type now. Also, since
7294         the settings are in multiple files, include relevant settings.
7295
7296 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
7297
7298         * configure.in:
7299         * src/backends/NetworkManagerGentoo.c:
7300         (nm_system_restart_mdns_responder): Implement restarts for other mdns
7301         providers in Gentoo.
7302
7303 2007-10-31  Dan Williams  <dcbw@redhat.com>
7304
7305         * libnm-util/nm-connection.c
7306                 - (gvalue_to_string): handle UINT32 arrays
7307
7308 2007-10-31  Dan Williams  <dcbw@redhat.com>
7309
7310         * libnm-glib/nm-device.h
7311           libnm-glib/nm-device.c
7312                 - (nm_device_get_description): remove
7313                 - (nm_device_get_product, nm_device_get_vendor): add
7314                 - (nm_device_update_description): new function (private); walk HAL
7315                         devices to get product and vendor IDs for a specific device
7316
7317 2007-10-31  Dan Williams  <dcbw@redhat.com>
7318
7319         * src/nm-device-802-11-wireless.c
7320                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
7321
7322 2007-10-29  Dan Williams  <dcbw@redhat.com>
7323
7324         * src/nm-hal-manager.c
7325                 - (device_added, device_new_capability): ignore device additions while
7326                         asleep.  Fixes crash caused when NM goes to sleep, a network device
7327                         kernel module is unloaded and reloaded and recognized by NM again.
7328
7329 2007-10-26  Dan Williams  <dcbw@redhat.com>
7330
7331         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
7332
7333         * src/NetworkManagerAP.c
7334           src/NetworkManagerAP.h
7335           libnm-glib/nm-access-point.c
7336           libnm-glib/nm-access-point.h
7337                 - Make 'rate' property a guint32 to better match with WEXT and
7338                         wpa_supplicant and to allow representation of higher bitrates
7339
7340         * src/nm-device-802-11-wireless.c
7341           introspection/nm-device-802-11-wireless.xml
7342           libnm-glib/nm-device-802-11-wireless.c
7343           libnm-glib/nm-device-802-11-wireless.h
7344                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
7345
7346         * src/nm-device-802-3-ethernet.c
7347           src/nm-device-802-3-ethernet.h
7348           introspection/nm-device-802-3-ethernet.xml
7349           libnm-glib/nm-device-802-3-ethernet.c
7350           libnm-glib/nm-device-802-3-ethernet.h
7351                 - Make 'speed' property a guint32 to match other speed/rate types
7352                 - Make nm_device_802_3_ethernet_get_speed() static
7353
7354         * test/nm-tool.c
7355                 - Update for the changes above
7356
7357 2007-10-26  Dan Williams  <dcbw@redhat.com>
7358
7359         * src/named-manager/nm-named-manager.c
7360                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
7361                     not calling fclose() twice on some error conditions
7362
7363 2007-10-26  Dan Williams  <dcbw@redhat.com>
7364
7365         * src/nm-activation-request.c
7366                 - (dispose): clean up indentation; get the right DBusGProxy object to
7367                         cancel the GetSecrets pending call on.  Need to use the Secrets
7368                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
7369                         pending call doesn't get canceled, and pressing Cancel in the
7370                         applet's password dialog could cause get_secrets_cb() to be called
7371                         after the activation request has already been destroyed
7372
7373 2007-10-24  Dan Williams  <dcbw@redhat.com>
7374
7375         * src/supplicant-manager/nm-supplicant-config.c
7376                 - (nm_supplicant_config_add_blob): pass blob data and length for
7377                         verification
7378                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
7379
7380 2007-10-24  Dan Williams  <dcbw@redhat.com>
7381
7382         * src/supplicant-manager/nm-supplicant-settings-verify.c
7383                 - (opt_table): max length for certificates should be 65536
7384
7385 2007-10-24  Dan Williams  <dcbw@redhat.com>
7386
7387         * src/supplicant-manager/nm-supplicant-interface.c
7388                 - (blob_free): correctly free blob data after use
7389                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
7390
7391 2007-10-24  Dan Williams  <dcbw@redhat.com>
7392
7393         * libnm-util/nm-setting.c
7394                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
7395                         EAP method need secrets
7396
7397 2007-10-24  Dan Williams  <dcbw@redhat.com>
7398
7399         * src/backends/NetworkManagerRedHat.c
7400                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
7401
7402 2007-10-23  Dan Williams  <dcbw@redhat.com>
7403
7404         * libnm-util/nm-setting.c
7405           libnm-util/nm-setting.c
7406                 - (nm_setting_compare): implement
7407                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
7408                    compare_one_hash_gvalue): compare the contents of a setting
7409
7410         * libnm-util/nm-connection.c
7411                 - (nm_connection_compare): implement
7412
7413 2007-10-23  Dan Williams  <dcbw@redhat.com>
7414
7415         * src/nm-activation-request.c
7416                 - (get_secrets_cb): handle getting a setting back that is more than
7417                         just secrets (ie, user changed auth or EAP method or something)
7418
7419 2007-10-23  Dan Williams  <dcbw@redhat.com>
7420
7421         * libnm-util/nm-setting.c
7422           libnm-util/nm-setting.h
7423                 - (nm_setting_verify): new function; verify one setting
7424                 - (nm_settings_verify_all): rename from nm_settings_verify()
7425                 - (setting_connection_verify, setting_wireless_verify): allow NULL
7426                         all_settings
7427
7428         * libnm-util/nm-connection.c
7429                 - (nm_connection_replace_settings, nm_connection_verify,
7430                    nm_connection_new_from_hash): handle nm_settings_verify() rename
7431
7432 2007-10-23  Dan Williams  <dcbw@redhat.com>
7433
7434         * src/nm-device-802-11-wireless.c
7435                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
7436                         desired behavior
7437
7438 2007-10-23  Dan Williams  <dcbw@redhat.com>
7439
7440         * src/supplicant-manager/nm-supplicant-settings-verify.c
7441                 - eap_allowed, phase2_allowed: harmonize with allowed values from
7442                         nm-settings.c
7443
7444 2007-10-23  Dan Williams  <dcbw@redhat.com>
7445
7446         * src/nm-device-802-11-wireless.c
7447                 - (real_act_stage2_config): after the first association failure,
7448                         if the connection still needs secrets ask the user for them
7449                         explicitly.  After the fourth association failure due to bad
7450                         secrets, fail the connection entirely.  Handles the GetSecrets
7451                         loop that NM gets into when the provided secrets don't match up
7452                         with the connection details.
7453
7454 2007-10-23  Dan Williams  <dcbw@redhat.com>
7455
7456         * src/supplicant-manager/nm-supplicant-config.c
7457                 - (nm_supplicant_config_add_setting_wireless_security): only add
7458                         WPA-specific options when WPA is in use
7459
7460 2007-10-23  Dan Williams  <dcbw@redhat.com>
7461
7462         * src/supplicant-manager/nm-supplicant-config.c
7463                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
7464                         secret doesn't need to be unhexified
7465
7466 2007-10-23  Dan Williams  <dcbw@redhat.com>
7467
7468         * libnm-util/nm-setting.c
7469                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
7470                         before trying to do something with it
7471
7472 2007-10-23  Dan Williams  <dcbw@redhat.com>
7473
7474         * src/nm-device-802-11-wireless.c
7475                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
7476
7477 2007-10-23  Dan Williams  <dcbw@redhat.com>
7478
7479         * src/nm-device-802-11-wireless.c
7480                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
7481                         non-SSID-broadcasting APs
7482
7483 2007-10-23  Dan Williams  <dcbw@redhat.com>
7484
7485         * src/NetworkManagerAP.c
7486                 - (match_cipher, security_compatible): remove
7487                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
7488                         libnm-util instead
7489
7490 2007-10-23  Dan Williams  <dcbw@redhat.com>
7491
7492         * libnm-util/nm-utils.c
7493           libnm-util/nm-utils.h
7494                 - (nm_utils_ap_security_compatible): common function for checking
7495                         whether a specific AP is compatible with an NMConnection
7496
7497 2007-10-23  Dan Williams  <dcbw@redhat.com>
7498
7499         * libnm-util/nm-setting.c
7500                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
7501                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
7502                    need_secrets_password, setting_wireless_security_verify): fix
7503                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
7504                         secrets logic for each supported EAP method
7505
7506 2007-10-23  Dan Williams  <dcbw@redhat.com>
7507
7508         * src/supplicant-manager/nm-supplicant-config.c
7509                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
7510                         config option name, should be "private_key2_passwd"
7511
7512 2007-10-22  Tambet Ingo  <tambet@gmail.com>
7513
7514         Implement support for static IP addresses, additional/overridden DNS and
7515         DNS domain search lists.
7516
7517         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
7518         (ip4_addresses_to_gvalue): Implement.
7519         (convert_array_to_byte_array): Implement.
7520         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
7521         NM_S_TYPE_IP4_ADDRESSES.
7522         (nm_setting_hash): Ditto.
7523         (default_setting_clear_secrets): Add a default case for the switch: IP address
7524         shouldn't be secret, ever.
7525         (setting_ip4_config_verify): Update, requires addresses in case of manual
7526         configurations.
7527         (setting_ip4_config_destroy): Free stuff.
7528
7529         * src/nm-device.c (merge_ip4_config): Implement.
7530         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
7531
7532 2007-10-22  Dan Williams  <dcbw@redhat.com>
7533
7534         * libnm-util/nm-setting.c
7535                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
7536                         pairwise cipher options for Dynamic WEP
7537
7538 2007-10-21  Dan Williams  <dcbw@redhat.com>
7539
7540         * src/NetworkManagerAP.c
7541           src/NetworkManagerAP.h
7542                 - Rename 'articifical' -> 'fake' since that's what they are until
7543                         noticed in scans
7544                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
7545                         from the attributes in an NMConnection object
7546                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
7547                         WPA Enterprise
7548                 - (nm_ap_match_in_list): find a matching AP in a scan list
7549
7550         * src/nm-device-802-11-wireless.c
7551                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
7552                         AP when searching the scan list; match on frequency and mode too
7553                 - (nm_device_802_11_wireless_get_frequency): implement
7554                 - (merge_scanned_ap): replace duplicate matching logic with
7555                         nm_ap_match_in_list()
7556                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
7557                         the user is trying to connect to a hidden network that is not yet
7558                         known from the scan list
7559                 - (activation_success_handler): now that the card knows the AP's BSSID,
7560                         there may already be a scanned AP in the scan list that is what
7561                         we really wanted to connect to, but didn't know at the time.  Use
7562                         that instead of the 'fake' AP created at activation start and get
7563                         rid of the 'fake' AP 
7564                 - (cull_scan_list): don't remove fake APs
7565
7566 2007-10-21  Dan Williams  <dcbw@redhat.com>
7567
7568         * src/nm-activation-request.h
7569           src/nm-activation-request.c
7570                 - (nm_act_request_set_specific_object): new function; allow setting the
7571                         specific object if one isn't set yet
7572
7573 2007-10-20  Dan Williams  <dcbw@redhat.com>
7574
7575         * src/supplicant-manager/nm-supplicant-config.h
7576           src/supplicant-manager/nm-supplicant-config.c
7577                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
7578                         table to store blobs
7579                 - (nm_supplicant_config_add_blob): new function; add blob to internal
7580                         blob hash table
7581                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
7582                 - (nm_supplicant_config_add_setting_wireless_security): handle
7583                         options that use certificates (ie, blobs)
7584
7585         * src/nm-device-802-11-wireless.c
7586                 - (build_supplicant_config): pass a UID (just use the connection path)
7587                         to the supplicant config as now required
7588
7589         * src/supplicant-manager/nm-supplicant-interface.c
7590                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
7591                         there are any blobs to send to wpa_supplicant, send those first
7592                         before sending the network configuration
7593
7594 2007-10-19  Dan Williams  <dcbw@redhat.com>
7595
7596         Split the GetSecrets() call off to a separate D-Bus interface so that it
7597         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
7598         should be able to call GetSecrets().
7599
7600         * include/NetworkManager.h
7601                 - Define the connection secrets D-Bus interface
7602
7603         * src/vpn-manager/nm-vpn-connection.c
7604                 - (clear_need_auth): get the right proxy object for the connection
7605                         secrets interface
7606                 - (get_connection_secrets): use the connection secrets proxy; send
7607                         empty hints in get secrets request
7608
7609         * src/nm-activation-request.c
7610                 - (nm_act_request_request_connection_secrets): use the connection
7611                         secrets proxy; send empty hints in get secrets request
7612
7613         * src/nm-manager.c
7614           src/nm-manager.h
7615                 - (connection_get_settings_cb): set the connection secrets proxy on
7616                         the connection object too
7617                 - (internal_new_connection_cb): create the connection secrets proxy
7618
7619         * introspection/nm-settings-connection.xml
7620                 - Define Connection.Secrets interface and move GetSecrets there
7621                 - Add a 'hints' argument to GetSecrets
7622
7623         * libnm-glib/nm-settings.c
7624           libnm-glib/nm-settings.h
7625                 - (impl_connection_settings_get_secrets): add 'hints' argument
7626
7627 2007-10-19  Dan Williams  <dcbw@redhat.com>
7628
7629         * src/nm-device.c
7630                 - (constructor): add message about what path a device is exported as
7631                         to help in debugging rh #339011
7632
7633 2007-10-17  Dan Williams  <dcbw@redhat.com>
7634
7635         * libnm-util/nm-utils.h
7636           libnm-util/nm-utils.c
7637                 - (nm_utils_security_valid): common function to help find the intersection
7638                         of capabilities of devices and (optionally) access points
7639
7640 2007-10-17  Dan Williams  <dcbw@redhat.com>
7641
7642         * src/nm-device-802-11-wireless.c
7643                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7644                         don't get erroneously cleared
7645
7646 2007-10-17  Dan Williams  <dcbw@redhat.com>
7647
7648         * src/nm-manager.h
7649           src/nm-manager.c
7650           src/nm-hal-manager.c
7651                 - (device_removed, finalize, nm_manager_remove_device,
7652                    nm_manager_sleep): add a 'deactivate' argument to 
7653                    nm_manager_remove_device() to fully deactivate devices when necessary
7654                    (ie, always except when waking up)
7655
7656 2007-10-16  Dan Williams  <dcbw@redhat.com>
7657
7658         * libnm-util/nm-setting.c
7659                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7660                         also isn't valid phase2 autheap method
7661
7662 2007-10-16  Dan Williams  <dcbw@redhat.com>
7663
7664         * libnm-glib/nm-client.c
7665                 - (update_wireless_status): consolidate updates of wireless status
7666                 - (constructor): use update_wireless_status()
7667                 - (manager_running): set wireless status off when NM goes away; requery
7668                         the wireless status when NM comes back
7669
7670 2007-10-16  Dan Williams  <dcbw@redhat.com>
7671
7672         * libnm-glib/nm-client.c
7673                 - (nm_client_activate_device): actually use the fixed-up specific
7674                         object path
7675
7676 2007-10-16  Dan Williams  <dcbw@redhat.com>
7677
7678         * src/nm-hal-manager.c
7679                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7680                         killswitch error messages once
7681
7682 2007-10-16  Dan Williams  <dcbw@redhat.com>
7683
7684         * src/nm-manager.c
7685                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7686                         if it's disabled in hardware; don't touch network devices while
7687                         NM is asleep
7688
7689 2007-10-16  Dan Williams  <dcbw@redhat.com>
7690
7691         * libnm-util/nm-client.c
7692                 - (nm_client_activate_device): convert NULL specific_object to "/",
7693                         which is used in place of NULL
7694
7695         * src/nm-manager.c
7696                 - (impl_manager_activate_device): convert "/" specific_object back into
7697                         NULL
7698
7699 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7700
7701         Implement a generic NMSetting creator from setting name.
7702         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7703         add a virtual function 'populate_fn'.
7704
7705         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7706         (register_default_creators): Register setting creators instead of functions
7707         that create and then populate.
7708         (parse_one_setting): Use the common setting creator and then setting specific
7709         poplulation function.
7710
7711         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7712         they all looked exactly the same.
7713         Add a 'populate_fn' virtual function to NMSetting.
7714         Use default virtual functions in case they are not overriden.
7715         (nm_setting_populate_from_hash): Implement.
7716
7717         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7718         name, use a defined string.
7719         (real_act_stage4_get_ip4_config): Ditto.
7720
7721 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7722
7723         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7724         HAL is int, not uint.
7725
7726 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7727
7728         Implement killswitch polling through HAL.
7729
7730         * src/nm-manager.c: Add wireless hardware status property. Add 
7731         'properties-changed' signal for changes in wireless and wireless hardware
7732         state changes.
7733
7734         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7735         and update NMManager's wireless hardware state when it has changed.
7736         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7737         already does that.
7738
7739         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7740         values of wireless state and wireless hardware state. Listen for the
7741         'properties-changed' signals, update the cached values and emit notify.
7742
7743         * include/NetworkManager.h: Fix a typo in a comment.
7744
7745 2007-10-14  Dan Williams  <dcbw@redhat.com>
7746
7747         * libnm-util/nm-setting.c
7748                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7749
7750 2007-10-13  Dan Williams  <dcbw@redhat.com>
7751
7752         * libnm-util/nm-setting.h
7753           libnm-util/nm-setting.c
7754           src/supplicant-manager/nm-supplicant-config.c
7755                 - Make the 'proto' field of the 802-11-wireless-security field a
7756                         string list
7757
7758 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7759
7760         Rework the "properties-changed" signal listening implementation.
7761         Add a generic implementation to NMObject class that listens for
7762         the signal and calls property setters of the target NMObject.
7763
7764         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7765
7766         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7767         code to the end of file so that all the static functions are available
7768         without extra declarations.
7769         Remove the "properties-changed" signal handling and use the framework from
7770         NMObject.
7771         Implement property setters for properties that change with 
7772         "properties-changed" signal.
7773
7774         * libnm-glib/nm-access-point.c: Ditto.
7775
7776 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7777
7778         Rework the "properties-changed" signal implementation.
7779         In classes that need to use it, just emit "GObject::notify" and the new
7780         framework takes care of the rest to make the signal available on dbus.
7781         The framework queues the notifications and tries to send as many together
7782         in one signal as possible.
7783
7784         * src/nm-properties-changed-signal.c:
7785         * src/nm-properties-changed-signal.h: Implement.
7786
7787         * src/Makefile.am: Add new files to build.
7788
7789         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7790         signal.
7791
7792         * src/nm-device-802-11-wireless.c: Ditto.
7793
7794 2007-10-10  Dan Williams  <dcbw@redhat.com>
7795
7796         * src/nm-manager.c
7797                 - (wait_for_connection_expired): ensure info is valid
7798                 - (connection_added_default_handler): Should only remove pending
7799                         connection info when the manager has the connection that it's
7800                         waiting for.  Fixes segfault in wait_for_connection_info().  
7801
7802 2007-10-10  Dan Williams  <dcbw@redhat.com>
7803
7804         * libnm-util/nm-setting.c
7805           libnm-util/nm-setting.h
7806                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7807                         can use if they choose.  Should be filled in by the settings service
7808                         on-the-fly with the currently logged in user's username
7809
7810 2007-10-10  Dan Williams  <dcbw@redhat.com>
7811
7812         * src/nm-device-802-11-wireless.c
7813                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7814                         as such, because even if the manager fills in the SSID, NM still
7815                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7816                         its SSID
7817
7818 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7819
7820         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7821         code that used NM's own version of dbus signal handling and custom dictionary
7822         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7823         and we get to maintain over 2000 lines less code.
7824
7825         * libnm-util/dbus-dict-helpers.c:
7826         * libnm-util/dbus-dict-helpers.h: Remove.
7827
7828         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
7829
7830         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
7831
7832         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
7833         handlers.
7834
7835         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
7836
7837         * configure.in: Remove test/libnm-util/Makefile creation.
7838
7839         * test/Makefile.am: Remove libnm-util from SUBDIRS.
7840
7841         * test/libnm-util/: Remove the whole directory.
7842
7843 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7844
7845         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
7846         device_state_changed_idle_id variable or it would contain some random value and the
7847         schedule_change_check calls would not do anything.
7848
7849 2007-10-09  Dan Williams  <dcbw@redhat.com>
7850
7851         * src/nm-device-802-11-wireless.c
7852                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
7853                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
7854                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
7855                         merging of non-SSID-broadcasting APs
7856
7857 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7858
7859         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
7860         "guint8 *" since it's usually used with GByteArray->data.
7861         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
7862
7863 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7864
7865         * src/NetworkManagerUtils.c
7866         (nm_utils_is_empty_ssid):
7867         (nm_utils_escape_ssid):
7868         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
7869         lot of places, so they belong to libnm-utils instead.
7870
7871         Now with 100% less compiler warnings:
7872
7873         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
7874         (nm_dbus_unescape_object_path): Ditto.
7875         (nm_utils_ssid_to_utf8): Ditto.
7876         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
7877         (nm_utils_escape_ssid): Ditto.
7878         (nm_utils_same_ssid): Ditto.
7879
7880         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
7881         (add_one_connection_element): Remove an unused variable.
7882         (impl_manager_get_active_connections): Ditto.
7883
7884         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
7885         variable.
7886
7887         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
7888         from the previous commit.
7889
7890         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
7891         (real_act_stage1_prepare): Ditto.
7892         (activation_success_handler): Ditto.
7893         (get_property): Ditto.
7894
7895         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
7896         variable.
7897
7898         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
7899         it's always set.
7900
7901         * src/supplicant-manager/nm-supplicant-config.c 
7902         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
7903         to expected "char *".
7904         (nm_supplicant_config_add_setting_wireless): Ditto.
7905         (nm_supplicant_config_remove_option): Remove, not used.
7906
7907         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
7908         not double.
7909         (test_wireless_enabled): Ifdef out unused function.
7910         (device_deactivate): Ditto.
7911         (device_state_changed): Ditto.
7912         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
7913         (nm_utils_escape_ssid): Ditto.
7914
7915         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
7916         (nm_utils_is_empty_ssid): Ditto.
7917
7918         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
7919         unused variable.
7920
7921         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
7922         (setting_vpn_properties_update_secrets): Ditto.
7923         (int_to_gvalue): Ifdef out for now, not used.
7924         (byte_to_gvalue): Ditto.
7925
7926         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
7927         Unused, remove.
7928
7929 2007-10-08  Tambet Ingo  <tambet@gmail.com>
7930
7931         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
7932         about dbus manager, not named manager.
7933         Make sure hal_manager and dbus_mgr are created before trying to unreference.
7934
7935         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
7936         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
7937         However, the same signal is emitted when we destroy it and there's 
7938         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
7939
7940         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
7941         releasing the DBusGConnection, since proxy needs a conneciton.
7942         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
7943
7944 2007-10-08  Dan Williams  <dcbw@redhat.com>
7945
7946         * src/NetworkManager.c
7947                 - (main): error on unknown command-line options
7948
7949 2007-10-08  Dan Williams  <dcbw@redhat.com>
7950
7951         Reimplement the invalid connection list.  Don't try to re-activate a
7952         connection that just failed or was canceled.
7953
7954         * src/nm-device.c
7955                 - (connection_secrets_failed_cb): fail device activation, don't just
7956                         deactivate the device.  Listeners have to know about the failure.
7957
7958         * src/NetworkManagerPolicy.c
7959                 - (nm_policy_auto_get_best_device): exclude invalid connections from
7960                         the connection list given to a device's get_best_connection()
7961                         method
7962                 - (device_state_changed): tag failed connections as invalid; clear the
7963                         tag from successful connections
7964
7965 2007-10-08  Dan Williams  <dcbw@redhat.com>
7966
7967         Fix problems with interrupted activation.  Previously, choosing an AP
7968         from the menu, then choosing another one before the first connection was
7969         successful wouldn't deactivate the device before starting the new connection
7970         on that same device.
7971
7972         * src/NetworkManagerPolicy.c
7973                 - (deactivate_old_device, device_state_changed, state_changed,
7974                    nm_policy_new): wrong place to deactivate old devices
7975
7976         * src/nm-manager.c
7977                 - (pending_connection_info_destroy, finalize,
7978                    wait_for_connection_expired): decouple destruction of the pending
7979                         connection info from the manager device
7980                 - (connection_added_default_handler): deactivate any active or
7981                         activating device before starting a new activation
7982                 - (impl_manager_activate_device): deactivate any active or activating
7983                         device before starting a new activation; be sure not to leak
7984                         pending connection info if a new activation request arrives but
7985                         there's already a pending one in-process
7986
7987 2007-10-08  Dan Williams  <dcbw@redhat.com>
7988
7989         * src/NetworkManagerAP.h
7990           src/NetworkManagerAP.c
7991                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
7992                         should handle default SSIDs and whether or not to autoconnect
7993                         to them
7994
7995 2007-10-08  Dan Williams  <dcbw@redhat.com>
7996
7997         * src/NetworkManagerPolicy.c
7998                 - (nm_policy_device_change_check): print out connection name where
7999                         possible
8000
8001 2007-10-08  Dan Williams  <dcbw@redhat.com>
8002
8003         * src/nm-device-802-11-wireless.c
8004           src/nm-device-802-11-wireless.h
8005                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
8006                         'hidden-ap-found' signal (for internal use only) that allows the
8007                         NMManager to fill in the AP's SSID if a connection has that AP's
8008                         BSSID in its seen-bssids list
8009
8010         * src/nm-manager.c
8011                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
8012                         wireless device's hidden-ap-found signal and fill in the APs SSID
8013                         if possible
8014
8015 2007-10-07  Dan Williams  <dcbw@redhat.com>
8016
8017         * src/nm-manager.c
8018           src/nm-manager.h
8019                 - Add a 'connections-added' signal to batch together updates of large
8020                         numbers of connections, like when reading from a settings service
8021                         the first time.  Otherwise, the policy would just activate the first
8022                         suitable connection it saw rather than waiting for the full list
8023                         to arrive.
8024                 - (nm_manager_class_init): register new signal
8025                 - (get_type_for_proxy, connection_get_settings_cb,
8026                    get_connection_for_proxy): centralize places where a proxy's setting
8027                         service is determined
8028                 - (free_get_settings_info): if the call being freed is the last call
8029                         in a pending call group, fire off the connections-added signal
8030                 - (internal_new_connection_cb): add call to a pending call group if
8031                         requested
8032                 - (list_connections_cb): always create a call group here, because this
8033                         call results in a batch of new connections
8034                 - (initial_get_connections): start getting system connections first
8035                 - (nm_manager_connections_destroy, emit_removed): actually emit the
8036                         removed signal when destroying connections
8037
8038         * src/NetworkManagerPolicy.c
8039                 - (nm_policy_new, connections_added): handle connections-added signal
8040                         from the manager
8041
8042 2007-10-06  Dan Williams  <dcbw@redhat.com>
8043
8044         * src/nm-device-802-11-wireless.c
8045                 - (constructor): fix leaked socket
8046
8047 2007-10-06  Dan Williams  <dcbw@redhat.com>
8048
8049         * src/NetworkManagerPolicy.c
8050                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
8051                         connection in the list returned by nm_manager_get_connections() is
8052                         reffed, but they weren't getting unreffed before returning
8053
8054 2007-10-06  Dan Williams  <dcbw@redhat.com>
8055
8056         * src/nm-manager.c
8057                 - (connections_to_slist): sort connections first on autoconnect, then
8058                         on timestamp
8059
8060 2007-10-06  Dan Williams  <dcbw@redhat.com>
8061
8062         * libnm-util/nm-connection.c
8063                 - (gvalue_to_string): handle UINT64
8064
8065 2007-10-06  Dan Williams  <dcbw@redhat.com>
8066
8067         * src/NetworkManagerPolicy.c
8068                 - (connection_updated, nm_policy_new): recheck state when a connection
8069                         gets updated
8070
8071 2007-10-06  Dan Williams  <dcbw@redhat.com>
8072
8073         * src/nm-manager.c
8074           src/nm-manager.h
8075                 - (nm_manager_get_connection_dbus_path): make static
8076                 - (nm_manager_update_connections): remove; unused
8077                 - Add a connection-updated signal
8078                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
8079                         handle connection object updates
8080
8081 2007-10-06  Dan Williams  <dcbw@redhat.com>
8082
8083         * src/NetworkManagerPolicy.c
8084                 - (connection_removed): deactivate removed connections
8085
8086 2007-10-06  Dan Williams  <dcbw@redhat.com>
8087
8088         * libnm-util/nm-connection.c
8089           libnm-util/nm-connection.h
8090                 - (nm_connection_replace_settings): new function
8091
8092 2007-10-06  Dan Williams  <dcbw@redhat.com>
8093
8094         * libnm-glib/nm-device-802-11-wireless.c
8095                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
8096                         on error when getting the active access point over D-Bus from NM
8097
8098 2007-10-05  Dan Williams  <dcbw@redhat.com>
8099
8100         * libnm-util/nm-setting.c
8101                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
8102                         to the NMSettingWireless table; it's now a string array not an array
8103                         of byte arrays
8104
8105 2007-10-05  Dan Williams  <dcbw@redhat.com>
8106
8107         * libnm-glib/nm-device-802-11-wireless.c
8108                 - Cache properties and update cached properties on D-Bus signals from NM
8109
8110 2007-10-05  Dan Williams  <dcbw@redhat.com>
8111
8112         * src/nm-device-802-11-wireless.c
8113                 - (set_current_ap): consolidate current_ap handling code into one place
8114                         to ensure that PropertiesChanged signals are emitted in all cases
8115                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
8116                    nm_device_802_11_wireless_dispose): use set_current_ap()
8117
8118 2007-10-05  Dan Williams  <dcbw@redhat.com>
8119
8120         * libnm-glib/nm-access-point.c
8121           libnm-glib/nm-access-point.h
8122                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
8123                         because the value is cached internally now.  Callers should not
8124                         free the internal value.
8125                 - Make signal name defines private
8126
8127         * test/nm-tool.c
8128           libnm-glib/libnm-glib-test.c
8129                 - Don't free value returned from nm_access_point_get_hw_address()
8130
8131 2007-10-04  Dan Williams  <dcbw@redhat.com>
8132
8133         * introspection/nm-device-802-11-wireless.xml
8134           src/nm-device-802-11-wireless.h
8135           src/nm-device-802-11-wireless.c
8136                 - Add a PropertiesChanged signal for wireless device
8137                 - Store currently associated access point
8138                 - (periodic_update): generalize; update rate here too and emit the
8139                         correct PropertiesChanged signal when stuff changes
8140                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
8141                    real_activation_cancel_handler): clear current_ap when device is
8142                         deactivated
8143                 - (link_to_specific_ap, get_ap_blacklisted,
8144                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
8145                         code
8146                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
8147                         outside this file
8148                 - (real_set_hw_address): emit property changed signal if the card's
8149                         MAC address changes
8150                 - (real_act_stage1_prepare): set the initial current_ap to the AP
8151                         the card is supposed to be connecting to
8152                 - (activation_success_handler): send out property updates on successful
8153                         activation
8154                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
8155                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
8156                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
8157                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
8158                         is now boxed; add PropertiesChanged signal
8159
8160 2007-10-04  Dan Williams  <dcbw@redhat.com>
8161
8162         * libnm-util/nm-connection.c
8163           libnm-util/nm-connection.h
8164                 - (nm_connection_verify): new function
8165
8166 2007-10-04  Dan Williams  <dcbw@redhat.com>
8167
8168         * libnm-util/nm-setting.c
8169                 - (nm_settings_verify): use #defines when possible rather than strings
8170                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
8171                 - (setting_vpn_verify): tighter validity check on 'service_type'
8172
8173 2007-10-04  Dan Williams  <dcbw@redhat.com>
8174
8175         * libnm-glib/nm-settings.c
8176                 - (nm_connection_settings_class_init): provide correct type for argument
8177                         to the Updated signal so that dbus-glib knows how to marshal it
8178
8179 2007-10-03  Dan Williams  <dcbw@redhat.com>
8180
8181         * src/nm-device-802-3-ethernet.c
8182                 - (real_get_best_connection): don't create automatic connections
8183                         internally; clients should provide a setting that applies to
8184                         the device with 'autoconnect: True'.  Problem was that these
8185                         internally auto-created connections don't have a proxy or service
8186                         name becuase they weren't created by a settings daemon, and therefore
8187                         clients have no idea what to do with them.
8188
8189 2007-10-03  Dan Williams  <dcbw@redhat.com>
8190
8191         * src/nm-device-802-11-wireless.c
8192           src/nm-device-802-11-wireless.h
8193           introspection/nm-device-802-11-wireless.xml
8194                 - GetActiveNetworks -> GetAccessPoints
8195                 - ActiveNetwork -> ActiveAccessPoint
8196                 - NetworkAdded -> AccessPointAdded
8197                 - NetowrkRemoved -> AccessPointRemoved
8198
8199         * libnm-glib/nm-device-802-11-wireless.c
8200           libnm-glib/nm-device-802-11-wireless.h
8201                 - network-added signal -> access-point-added
8202                 - network-removed signal -> access-point-removed
8203                 - nm_device_802_11_wireless_get_active_network() ->
8204                         nm_device_802_11_wireless_get_active_access_point()
8205                 - nm_device_802_11_wireless_get_network_by_path() ->
8206                         nm_device_802_11_wireless_get_access_point_by_path()
8207                 - nm_device_802_11_wireless_get_networks() ->
8208                         nm_device_802_11_wireless_get_access_points()
8209
8210         * libnm-glib/libnm-glib-test.c
8211           test/nm-tool.c
8212           src/NetworkManagerPolicy.c
8213                 - Fixups for Network -> AccessPoint
8214
8215 2007-10-03  Dan Williams  <dcbw@redhat.com>
8216
8217         Add a GetActiveConnections() method on the Manager object.
8218
8219         * src/nm-manager.c
8220           src/nm-manager.h
8221           introspection/nm-manager.xml
8222                 - (connection_get_settings_cb): keep connection type around too
8223                 - (impl_manager_get_active_connections, add_one_connection_element):
8224                         implement; returns all active connections and what devices they
8225                         apply to
8226
8227         * libnm-glib/nm-client.c
8228           libnm-glib/nm-client.h
8229           introspection/nm-manager-client.xml
8230                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
8231                         by the caller; free here to avoid memory leak
8232                 - (nm_client_get_active_connections): implement; return the list of
8233                         active connections
8234                 - (nm_client_free_active_connection_element): implement; free an element
8235                         of the GSList returned by nm_client_get_active_connections()
8236
8237 2007-10-03  Dan Williams  <dcbw@redhat.com>
8238
8239         * src/nm-device-802-11-wireless.c
8240                 - (nm_device_802_11_wireless_update_bssid): remove
8241                 - (get_active_ap): new function; find the AP in the scan list which
8242                         matches the current BSSID and SSID of the wireless device
8243                 - (nm_device_802_11_periodic_update): get current AP using
8244                         get_active_ap() and print AP roam messages
8245
8246 2007-10-01  Dan Williams  <dcbw@redhat.com>
8247
8248         * libnm-util/nm-setting.h
8249                 - Add a 'timestamp' option to NMSettingConnection
8250                 - Add a UINT64 type
8251
8252         * libnm-util/nm-setting.c
8253                 - (uint64_to_gvalue): new function
8254                 - (nm_setting_populate_from_hash, nm_setting_hash,
8255                    default_setting_clear_secrets): handle UINT64 type
8256                 - con_table: add 'timestamp' member
8257
8258 2007-10-01  Dan Williams  <dcbw@redhat.com>
8259
8260         * src/nm-manager.c
8261                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
8262                         value when the connection can be activated immediately
8263
8264 2007-10-01  Dan Williams  <dcbw@redhat.com>
8265
8266         * libnm-glib/nm-device.c
8267                 - (nm_device_class_init): actually tell glib about the carrier-changed
8268                         signal
8269
8270 2007-10-01  Dan Williams  <dcbw@redhat.com>
8271
8272         * configure.in
8273           src/marshallers/Makefile.am
8274           src/marshallers/nm-marshal.list
8275           src/marshallers/nm-marshal-main.c
8276                 - Consolidate glib marshallers into one place
8277
8278         * src/dhcp-manager/Makefile.am
8279           src/dhcp-manager/nm-dhcp-manager.c
8280           src/supplicant-manager/Makefile.am
8281           src/supplicant-manager/nm-supplicant-manager.c
8282           src/supplicant-manager/nm-supplicant-interface.c
8283           src/ppp-manager/Makefile.am
8284           src/ppp-manager/nm-ppp-manager.c
8285           src/vpn-manager/Makefile.am
8286           src/vpn-manager/nm-vpn-connection.c
8287           src/Makefile.am
8288                 - Use consolidated marshallers
8289
8290         * src/dhcp-manager/nm-dhcp-marshal.list
8291           src/dhcp-manager/nm-dhcp-marshal-main.c
8292           src/supplicant-manager/nm-supplicant-marshal-main.c
8293           src/supplicant-manager/nm-supplicant-marshal.list
8294           src/nm-marshal-main.c
8295           src/nm-marshal.list
8296           src/ppp-manager/nm-ppp-marshal-main.c
8297           src/ppp-manager/nm-ppp-marshal.list
8298           src/vpn-manager/nm-vpn-marshal-main.c
8299           src/vpn-manager/nm-vpn-marshal.list
8300                 - Remove
8301
8302 2007-10-01  Dan Williams  <dcbw@redhat.com>
8303
8304         * include/NetworkManagerVPN.h
8305                 - define VPN connection state change reason codes
8306
8307         * src/vpn-manager/Makefile.am
8308           src/vpn-manager/nm-vpn-marshal.list
8309           src/vpn-manager/nm-vpn-marshal-main.c
8310                 - Add marshallers for StateChanged signal
8311
8312         * introspection/nm-vpn-connection.xml
8313                 - New Banner property
8314                 - StateChanged signal now includes a 'reason' argument
8315
8316         * src/vpn-manager/nm-vpn-connection.c
8317           src/vpn-manager/nm-vpn-connection.h
8318                 - Add a "Banner" property that contains the returned VPN server login
8319                         banner (if any); valid only in the ACTIVATED state
8320                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
8321                         a 'reason' argument and emits that reason along with the
8322                         state-changed signal
8323                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
8324                 - (nm_vpn_connection_ip4_config_get): save banner for later
8325                 - (nm_vpn_connection_get_banner, get_property,
8326                    nm_vpn_connection_class_init): implement Banner property
8327
8328         * src/vpn-manager/nm-vpn-service.c
8329                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
8330                         connection list because elements may get added/removed from it
8331                         while iterating over the list
8332                 - (connection_state_changed): signal now includes the 'reason' argument
8333
8334         * libnm-glib/nm-vpn-connection.c
8335           libnm-glib/nm-vpn-connection.h
8336                 - (nm_vpn_connection_get_banner): new function
8337                 - (state_changed_proxy): handle reason argument
8338
8339 2007-09-28  Tambet Ingo  <tambet@gmail.com>
8340
8341         * src/nm-manager.c:
8342         * src/nm-manager.h:
8343         Implement device activation through NMManager.
8344         Implement "pending device activation" here - If the connection isn't found,
8345         we try to wait for up to 5 seconds for the connection to be provided.
8346         Add NMConnectionType argument to "connection-added" and "connection-removed"
8347         signals.
8348         (nm_manager_get): Remove. Finally.
8349
8350         * src/nm-activation-request.c: 
8351         * src/nm-activation-request.h: 
8352         Remove all the deferred activation code.
8353
8354         * src/nm-device.c: Remove all the deferred activation code. Once the device
8355         activation is started, it's started. Update the activation virtual function
8356         signature.
8357
8358         * src/nm-device-interface.c:
8359         * src/nm-device-interface.h:
8360         Device activation now takes only NMActRequest argument.
8361         Don't expose device activation directly on dbus, it's supposed to go through
8362         NMManager now.
8363
8364         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
8365         a bit more compact.
8366         Use the new device activation methods through NMManager.
8367
8368         * introspection/nm-manager-client.xml: 
8369         * introspection/nm-manager.xml: 
8370         * libnm-glib/nm-client.c:
8371         * libnm-glib/nm-client.h:
8372         Add device activation method.
8373         
8374         * libnm-glib/nm-device.c: 
8375         * libnm-glib/nm-device.h: 
8376         * introspection/nm-device.xml: 
8377         Remove device activation method. It's done through NMManager now.
8378
8379         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
8380         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
8381
8382 2007-09-28  Dan Williams  <dcbw@redhat.com>
8383
8384         * libnm-glib/nm-vpn-connection.c
8385                 - (nm_vpn_connection_get_state): try to update state if the current
8386                         state is UNKNOWN
8387
8388 2007-09-27  Dan Williams  <dcbw@redhat.com>
8389
8390         Patch from Bill Nottingham
8391
8392         * src/supplicant-manager/nm-supplicant-config.c
8393                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
8394                         data to the supplicant
8395
8396 2007-09-27  Dan Williams  <dcbw@redhat.com>
8397
8398         * src/NetworkManagerSystem.c
8399                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
8400                         and all address manipulation here should be happening on the
8401                         _VPN_ device, not the active device
8402
8403 2007-09-26  Dan Williams  <dcbw@redhat.com>
8404
8405         * src/nm-manager.c
8406           src/nm-manager.h
8407           src/nm-activation-request.c
8408           src/nm-activation-request.h
8409                 - Move the GetSecrets stuff out of the NMManager instance because it
8410                         doesn't really need to be there and complicates things
8411
8412         * src/nm-device.c
8413                 - (connection_secrets_failed_cb, device_activation_go): connect to the
8414                         connection-secrets-failed signal and deactivate the device if
8415                         the GetSecrets call fails
8416
8417         * src/nm-device-802-11-wireless.c
8418                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8419                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
8420                         secrets and give correct hints about whether new secrets should be
8421                         asked for by the client or not
8422
8423 2007-09-26  Dan Williams  <dcbw@redhat.com>
8424
8425         * src/vpn-manager/nm-vpn-connection.c
8426                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
8427                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
8428                         to the secrets-updated signal of the NMConnection since updating
8429                         the secrets is done within the scope of the NMVPNConnection object
8430                         already
8431                 - (get_connection_secrets): fix an uninialized variable usage error
8432
8433 2007-09-26  Dan Williams  <dcbw@redhat.com>
8434
8435         * libnm-util/nm-setting.c
8436                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
8437                         actually get updated when the user enters them
8438
8439 2007-09-26  Dan Williams  <dcbw@redhat.com>
8440
8441         * libnm-glib/nm-vpn-plugin.c
8442                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
8443
8444 2007-09-26  Dan Williams  <dcbw@redhat.com>
8445
8446         * include/NetworkManagerVPN.h
8447                 - Add a NEED_AUTH state
8448
8449         * src/vpn-manager/nm-vpn-connection.c
8450                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
8451                         the connection needs secrets, and if so, then ask the settings
8452                         service to fill in the secrets.  Then start the connection.
8453
8454 2007-09-26  Dan Williams  <dcbw@redhat.com>
8455
8456         * src/vpn-manager/nm-vpn-manager.c
8457                 - (new_vpn_error, impl_vpn_manager_connect): set errors
8458
8459 2007-09-26  Dan Williams  <dcbw@redhat.com>
8460
8461         * introspection/nm-vpn-plugin.xml
8462           libnm-glib/nm-vpn-plugin.c
8463           libnm-glib/nm-vpn-plugin.h
8464                 - (impl_vpn_plugin_need_secrets): implement a call that should return
8465                         the name of the NMSetting in an NMConnection that may require
8466                         secrets specific to that VPN plugin
8467
8468 2007-09-26  Dan Williams  <dcbw@redhat.com>
8469
8470         * src/nm-manager.c
8471           src/nm-manager.h
8472                 - (nm_manager_get_connection_secrets): make static, unused outside
8473                         the file
8474                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
8475
8476 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8477
8478         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
8479         method.
8480         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
8481         unreference the connection.
8482
8483         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
8484         passing properties hash and routes string list, pass NMConnection (in hashed form).
8485
8486         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
8487         as GSList, no need to copy stuff around anymore.
8488         (nm_vpn_connection_activate): Update the plugin activation method.
8489
8490         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
8491         routes argument to GSList.
8492
8493 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8494
8495         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
8496         state and try to get the secrets.
8497
8498         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
8499         connections from NMManager and let the device to choose the best from the list.
8500         Since the connection list is sorted by system ones first and user ones later,
8501         the devices still prefer system connections like they did before.
8502         (deactivate_old_device): Implement. When a device starts activation, we have a
8503         policy (for now at least) to deactivate any other device that might be either
8504         active or still activating.
8505
8506         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
8507         It's set on construction, there will be no other way to access it.
8508
8509         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
8510         device events and drive the device, not the other way around.
8511
8512         * src/nm-device-802-3-ethernet.c: Ditto.
8513
8514         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
8515         sent along, pass it on to virtual functions.
8516
8517         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
8518         for now, but should really be public instead of nm_device_get_iface() since iface
8519         is a property of the DeviceInterface, not Device.
8520         (impl_device_activate): Don't touch NMManager!
8521
8522 2007-09-26  Jürg Billeter  <j@bitron.ch>
8523
8524         * initscript/paldo/NetworkManager.in:
8525         * initscript/paldo/NetworkManagerDispatcher.in:
8526         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
8527         (nm_system_flush_loopback_routes): update paldo backend
8528
8529 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8530
8531         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
8532         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
8533         which means none of the devices get brought down properly, which in turn leaves
8534         DHCP client running.
8535
8536         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
8537         (supplicant_connection_timeout_cb): Ditto.
8538
8539 2007-09-25  Dan Williams  <dcbw@redhat.com>
8540
8541         * src/nm-device.c
8542                 - (device_activation_go): small hack to work around race when
8543                         activating deferred connections; should solve this in a better way
8544
8545 2007-09-25  Dan Williams  <dcbw@redhat.com>
8546
8547         * introspection/nm-device.xml
8548           libnm-glib/nm-device.c
8549           libnm-glib/nm-device.h
8550                 - Add 'Carrier' property to exported NMDevice objects
8551
8552         * src/nm-device-interface.h
8553           src/nm-device-interface.c
8554           src/nm-device.c
8555                 - Add a 'carrier' property to internal NMDevice objects
8556
8557 2007-09-25  Dan Williams  <dcbw@redhat.com>
8558
8559         * src/nm-device-802-11-wireless.c
8560                 - (ap_auth_enforced): also return the encryption status of the AP so
8561                         that callers can differentiate easily between unencrypted APs
8562                         and encrypted ones, in addition to whether the AP has an
8563                         authenticator
8564                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8565                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
8566                         previously would request secrets from unencrypted APs at times
8567
8568 2007-09-25  Dan Williams  <dcbw@redhat.com>
8569
8570         * src/nm-manager.c
8571                 - (nm_manager_update_state): new function; updates state and emits
8572                         appropriate signals ensuring a state-change signal for the same state
8573                         never gets emitted twice in a row.
8574                 - (manager_device_state_changed): handle more device state to get a
8575                         better picture of the overall NM state
8576
8577 2007-09-25  Dan Williams  <dcbw@redhat.com>
8578
8579         * libnm-glib/nm-settings.c
8580           libnm-glib/nm-settings.h
8581                 - (new_error -> nm_settings_new_error): make public so that subclasses
8582                         can use the same error domain.  Also pass a valid error code to
8583                         g_error_new_literal() so that libdbus doesn't assert when converting
8584                         the GError into a DBusError
8585                 - (impl_settings_list_connections, impl_connection_settings_get_id,
8586                    impl_connection_settings_get_settings,
8587                    impl_connection_settings_get_secrets): use new error creator
8588                         function
8589
8590 2007-09-25  Dan Williams  <dcbw@redhat.com>
8591
8592         * src/NetworkManager.c
8593                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
8594
8595 2007-09-25  Dan Williams  <dcbw@redhat.com>
8596
8597         * src/supplicant-manager/nm-supplicant-manager.c
8598                 - (poke_supplicant_cb, nm_supplicant_manager_init,
8599                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
8600                    nm_supplicant_manager_startup): when the supplicant isn't running,
8601                         try to start it periodically via system bus activation.  Fixes
8602                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
8603                         for the supplicant to come back
8604
8605 2007-09-25  Dan Williams  <dcbw@redhat.com>
8606
8607         Ensure that old activation requests are forgotten about; previously
8608         hitting Cancel in the password dialog would deactivate whatever device
8609         that password was requested for, even if that wasn't the currently
8610         activating connection.
8611
8612         * src/nm-manager.c
8613           src/nm-manager.h
8614                 - (nm_manager_get_connection_secrets): track the pending call
8615                         object so it can be canceled later if needed
8616                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
8617                         GetSecrets call for a particular connection
8618
8619         * src/nm-activation-request.c
8620                 - (dispose): cancel any outstanding GetSecrets calls on the
8621                         connection
8622
8623 2007-09-25  Dan Williams  <dcbw@redhat.com>
8624
8625         * src/NetworkManagerPolicy.c
8626                 - (nm_policy_device_change_check): handle devices that have a
8627                         deferred activation.  These devices are not really active _yet_,
8628                         but need to be treated as such here.  Don't interrupt them
8629                         automatically.
8630
8631         * src/nm-device-interface.c
8632                 - (impl_device_activate): handle devices that have a deferred activation
8633                         like activating or active devices.  When multiple active devices
8634                         get committed, the device shouldn't be deactivated until the
8635                         connection details are available to avoid DoS and such.  Currently,
8636                         any active, activating, or deferred activation device is deactivated
8637                         here before starting the new activation request.
8638
8639 2007-09-25  Dan Williams  <dcbw@redhat.com>
8640
8641         Properly re-query secrets from the settings daemon when stuff fails.
8642
8643         * src/nm-device-802-11-wireless.c
8644                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8645                         between Shared Key and Open System auth modes
8646                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8647                    real_act_stage4_ip_config_timeout): clear existing secrets and
8648                         request new ones when something fails due to a suspected wrong key
8649                 - (real_act_stage2_config): fix for new request_new argument to
8650                         nm_manager_get_connection_secrets()
8651
8652         * src/nm-manager.c
8653           src/nm-manager.h
8654                 - (nm_manager_get_connection_secrets): return error status; pass
8655                         new request_new argument on to the settings daemon
8656
8657         * introspection/nm-settings-connection.xml
8658                 - New 'request_new' argument to the GetSecrets call that hints to the
8659                         settings daemon to ask the user for completely new secrets
8660
8661         * libnm-glib/nm-settings.c
8662           libnm-glib/nm-settings.h
8663                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8664                         argument
8665
8666 2007-09-25  Dan Williams  <dcbw@redhat.com>
8667
8668         * libnm-util/nm-connection.c
8669           libnm-util/nm-connection.h
8670                 - (nm_connection_clear_secrets): new function; clear secrets out of
8671                         each NMSetting in an NMConnection
8672
8673         * libnm-util/nm-setting.h
8674           libnm-util/nm-setting.c
8675                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8676                         secrets out of an NMSetting
8677                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8678                    nm_setting_wired_new, nm_setting_wireless_new,
8679                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8680                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8681                         to default handler default_setting_clear_secrets()
8682
8683 2007-09-25  Dan Williams  <dcbw@redhat.com>
8684
8685         * src/nm-activation-request.c
8686           src/nm-activation-request.h
8687                 - (nm_act_request_is_deferred): new function
8688
8689 2007-09-24  Dan Williams  <dcbw@redhat.com>
8690
8691         * src/nm-device-802-11-wireless.c
8692                 - (activation_success_handler): update signal strength immediately
8693                         after activation
8694
8695 2007-09-24  Dan Williams  <dcbw@redhat.com>
8696
8697         * libnm-util/nm-setting.c
8698                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8699
8700 2007-09-24  Dan Williams  <dcbw@redhat.com>
8701
8702         * src/NetworkManagerPolicy.c
8703                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8704                         device by deactivating it because it doesn't have a "best connection".
8705                         Since autoconnect=False connections aren't automatically chosen,
8706                         NM would interrupt activation of such a connection because it
8707                         would never be "best" due to autoconnect=False.
8708
8709 2007-09-24  Dan Williams  <dcbw@redhat.com>
8710
8711         * src/nm-manager.c
8712                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8713                         actually has some time to enter a key before the GetSecrets call
8714                         times out
8715
8716 2007-09-24  Dan Williams  <dcbw@redhat.com>
8717
8718         * introspection/nm-manager.xml
8719           src/nm-manager.c
8720                 - (impl_manager_legacy_state): fix 'state' method call return value
8721
8722 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8723
8724         * test/Makefile.am: Install nm-tool
8725
8726 2007-09-24  Dan Williams  <dcbw@redhat.com>
8727
8728         Patch from Ross Burton <ross@burtonini.com>
8729
8730         * test/nm-tool.c
8731           callouts/nm-dhcp-client-action.c
8732           src/nm-netlink.c
8733           src/vpn-manager/nm-vpn-connection.c
8734           libnm-glib/libnm-glib-test.c
8735                 - warning fixes
8736
8737 2007-09-24  Dan Williams  <dcbw@redhat.com>
8738
8739         * libnm-util/nm-utils.h
8740           libnm-util/nm-utils.c
8741                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8742                         remove, unused
8743
8744 2007-09-23  Dan Williams  <dcbw@redhat.com>
8745
8746         * vpn-daemons/vpnc/properties/nm-vpnc.c
8747                 - Update for new VPN properties API bits; instead of passing around
8748                         a lot of random things, everything goes into the NMConnection
8749                         object.
8750
8751 2007-09-23  Dan Williams  <dcbw@redhat.com>
8752
8753         * libnm-util/nm-setting.c
8754                 - Correctly dispose of settings objects if creating them from a hash
8755                         table fails
8756
8757 2007-09-23  Dan Williams  <dcbw@redhat.com>
8758
8759         * libnm-util/nm-setting.c
8760                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8761                         the hash table in a standard manner.  Clients of libnm-util should
8762                         only call g_hash_table_remove_all(), never destroy the hash table
8763                         and recreate it.
8764
8765 2007-09-22  Dan Williams  <dcbw@redhat.com>
8766
8767         * src/nm-device-802-11-wireless.c
8768                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8769                         real reason to do it so often, and reduces wakeups for clients.
8770
8771 2007-09-21  Dan Williams  <dcbw@redhat.com>
8772
8773         * src/nm-device-802-11-wireless.c
8774                 - (build_supplicant_config): wpa_supplicant requires the option
8775                         key_mgmt=NONE for unencrypted networks
8776                 - (real_act_stage2_config): clarify log message on activation
8777
8778 2007-09-21  Dan Williams  <dcbw@redhat.com>
8779
8780         * test/nm-supplicant-test.c
8781           test/Makefile.am
8782                 - Remove supplicant test binary; no longer applicable
8783
8784 2007-09-21  Dan Williams  <dcbw@redhat.com>
8785
8786         * src/supplicant-manager/nm-supplicant-manager.c
8787                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8788                         activate it on the system bus
8789
8790 2007-09-20  Dan Williams  <dcbw@redhat.com>
8791
8792         * initscript/RedHat/NetworkManager.in
8793                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8794
8795 2007-09-20  Dan Williams  <dcbw@redhat.com>
8796
8797         * src/nm-device.c
8798                 - (nm_device_is_activating): work around a race between auto-activation
8799                         and the user activating the same device that is being auto-activated
8800
8801 2007-09-20  Dan Williams  <dcbw@redhat.com>
8802
8803         * src/nm-device-interface.c
8804                 - (impl_device_activate): until multiple active device support lands,
8805                         ensure only one device can be active at a time
8806
8807 2007-09-20  Dan Williams  <dcbw@redhat.com>
8808
8809         * src/supplicant-manager/nm-supplicant-config.c
8810           src/supplicant-manager/nm-supplicant-config.h
8811                 - (nm_supplicant_config_add_option): hide secrets from system logs
8812
8813 2007-09-20  Dan Williams  <dcbw@redhat.com>
8814
8815         * src/NetworkManagerPolicy.c
8816                 - (nm_policy_device_change_check): re-enable the wireless device change
8817                         checking code; insted of checking for SSIDs, check for the same
8818                         connection instead
8819
8820 2007-09-20  Dan Williams  <dcbw@redhat.com>
8821
8822         * src/nm-device-802-11-wireless.c
8823                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8824                         composite link state when determining when to start the disconnection
8825                         timer; that link state is already based on the supplicant interface's
8826                         status which is exactly what's already being examined, plus the link
8827                         state is a conglomeration of various things that we don't want here
8828
8829 2007-09-20  Dan Williams  <dcbw@redhat.com>
8830
8831         * libnm-glib/nm-access-point.c
8832                 - (handle_property_changed): strength is a UCHAR
8833
8834 2007-09-20  Dan Williams  <dcbw@redhat.com>
8835
8836         * src/supplicant-manager/nm-supplicant-config.c
8837                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
8838                         string list keywords too since that's what wpa_supplicant wants
8839
8840 2007-09-20  Dan Williams  <dcbw@redhat.com>
8841
8842         * libnm-util/nm-setting.c
8843                 - (convert_strv_to_slist): dupe the values in the list because since
8844                         the list is a boxed value, it'll get destroyed when it's container
8845                         (like a hash table or whatever) gets destroyed
8846
8847 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8848
8849         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
8850         GSList.
8851
8852         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
8853
8854         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
8855         just use (g_object_set_data_full).
8856
8857         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
8858         that NMSettingVPN->routes is a GSList, convert it to char **.
8859         (nm_vpn_connection_ip4_config_get): Free routes when done.
8860         (nm_vpn_connection_activate): Ditto.
8861
8862         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
8863         (real_act_stage2_config): Use defined setting names.
8864
8865 2007-09-20  Dan Williams  <dcbw@redhat.com>
8866
8867         * src/nm-device-802-11-wireless.c
8868           src/nm-manager.c
8869           src/nm-manager.h
8870                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
8871                         so that the device can be deactivated if secrets are wrong
8872
8873 2007-09-20  Dan Williams  <dcbw@redhat.com>
8874
8875         * introspection/nm-settings-connection.xml
8876           libnm-glib/nm-settings.c
8877           libnm-glib/nm-settings.h
8878                 - Make GetSecrets asynchronous on the server side
8879
8880 2007-09-20  Dan Williams  <dcbw@redhat.com>
8881
8882         * src/nm-manager.h
8883           src/nm-device.c
8884                 - (nm_device_activate): actually check if a given connection
8885                         exists before assuming it doesn't
8886
8887 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8888
8889         * libnm-util/nm-connection.c (register_default_creators): Use defined
8890         setting names. Register NMSettingVPN and NMSettingVPNProperties.
8891
8892         * libnm-util/nm-setting.c: Define property name strings, use them.
8893         Implement NMSettingVPN and NMSettingVPNProperties settings.
8894         Implement NM_S_TYPE_GVALUE_HASH.
8895         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
8896         (setting_connection_verify): Rename 'devtype' property to 'type'.
8897
8898         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
8899         properties.
8900
8901         * src/vpn-manager/nm-vpn-service.c: Ditto.
8902
8903         * src/vpn-manager/nm-vpn-connection.c: Ditto.
8904
8905         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
8906         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
8907
8908         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
8909         names. NMSettingConnection->devtype got renamed to 'type'.
8910
8911         * src/nm-device-802-3-ethernet.c (find_best_connection):
8912         (real_get_best_connection): Ditto.
8913
8914         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
8915
8916         * libnm-glib/nm-vpn-manager.[ch]: Update.
8917
8918 2007-09-19  Dan Williams  <dcbw@redhat.com>
8919
8920         * src/NetworkManagerAP.c
8921           src/NetworkManagerAP.h
8922           introspection/nm-access-point.xml
8923                 - Change strength-changed signal into a properties-changed signal
8924                         for all properties, not just strength.  Export that signal over dbus
8925                         so listeners don't have to poll NM for changes.
8926                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
8927                         get exported over D-Bus, so break up the logic and let other bits
8928                         decided when to export the AP
8929                 - (nm_ap_new_from_ap): remove, unused
8930
8931         * src/nm-device-802-11-wireless.c
8932                 - (merge_scanned_ap): only export APs that are actually on the device
8933                         list, not every AP created internally
8934
8935         * libnm-glib/nm-access-point.c
8936           libnm-glib/nm-access-point.h
8937                 - Cache properties internally and only hit DBus when needed.  Get
8938                         property updates from NM signals
8939
8940 2007-09-16  Dan Williams  <dcbw@redhat.com>
8941
8942         * libnm-util/nm-connection.c
8943           libnm-util/nm-connection.h
8944                 - (nm_connection_for_each_setting_value): new function; iterate over
8945                         each setting's value and call a user-provided function with details
8946                         about that value
8947
8948         * libnm-util/nm-setting.c
8949           libnm-util/nm-setting.h
8950                 - (nm_setting_enumerate_values): new function; enumerate the values
8951                         of a specific NMSetting subclass for a user-provided function with
8952                         details about that value
8953                 - Change wep_tx_keyidx to a uint32
8954                 - Create settings value tables for each setting defining their type,
8955                         key name, offset into the NMSetting subclass' structure, and whether
8956                         they are required and/or a secret
8957                 - (nm_setting_populate_from_hash): generic function to populate an
8958                         NMSetting from a GHash table, make all settings use it
8959                 - (nm_setting_hash): generic function to derive a GHashTable from
8960                         an NMSetting object, make all settings use it
8961
8962 2007-09-14  Dan Williams  <dcbw@redhat.com>
8963
8964         Remove unused stuff in libnm-util
8965
8966         * configure.in
8967           libnm-util/Makefile.am
8968           libnm-util/cipher-private.h
8969           libnm-util/cipher-wep-ascii.c
8970           libnm-util/cipher-wep-ascii.h
8971           libnm-util/cipher-wep-hex.c
8972           libnm-util/cipher-wep-hex.h
8973           libnm-util/cipher-wep-passphrase.c
8974           libnm-util/cipher-wep-passphrase.h
8975           libnm-util/cipher-wpa-psk-hex.c
8976           libnm-util/cipher-wpa-psk-hex.h
8977           libnm-util/cipher-wpa-psk-passphrase.c
8978           libnm-util/cipher-wpa-psk-passphrase.h
8979           libnm-util/cipher.c
8980           libnm-util/cipher.h
8981           libnm-util/dbus-helpers.c
8982           libnm-util/dbus-helpers.h
8983           libnm-util/gnome-keyring-md5.c
8984           libnm-util/gnome-keyring-md5.h
8985           libnm-util/sha1.c
8986           libnm-util/sha1.h
8987           src/nm-device-802-11-wireless.c
8988           test/libnm-util/Makefile.am
8989           test/libnm-util/test-ciphers.c
8990           test/libnm-util/test-dbus-helpers.c
8991           test/libnm-util/test-inputs.h
8992                 - Removed
8993
8994 2007-09-14  Dan Williams  <dcbw@redhat.com>
8995
8996         * libnm-util/dbus-method-dispatcher.c
8997           libnm-util/dbus-method-dispatcher.h
8998                 - Remove, unused
8999
9000 2007-09-14  Dan Williams  <dcbw@redhat.com>
9001
9002         Implement deferred activation support in the device class.
9003
9004         * src/nm-device-interface.c
9005           src/nm-device-interface.h
9006                 - (nm_device_interface_activate): take more arguments to support
9007                         deferred activation; callers must pass one of (connection) OR
9008                         (service_name, connection_path)
9009                 - (impl_device_activate): connection validation is punted to the device
9010                         to be able to handle deferred activation.  Yes, this means errors
9011                         don't get returned from the Activate() dbus call, and yes, that
9012                         should be fixed somehow later.
9013
9014         * src/nm-device.c
9015           src/nm-device.h
9016                 - (clear_act_request): clear additional deferred activation stuff too
9017                 - (deferred_activation_timeout_cb): new function; clean up when
9018                         deferred activation times out.
9019                 - (deferred_activation_start_cb): new function; when the connection
9020                         finally becomes available, start device activation
9021                 - (nm_device_activate): attach to the right signals of the activation
9022                         request if we need to defer activation until the connection is valid
9023
9024         * src/NetworkManagerPolicy.c
9025                 - (nm_policy_device_change_check): update for additional arguments
9026                         required for nm_device_interface_activate().  Pass NULL for these
9027                         though because this function already knows exactly which
9028                         NMConnection to use
9029
9030 2007-09-14  Dan Williams  <dcbw@redhat.com>
9031
9032         Implement deferred activation handling in the NMActRequest class.  When a
9033         client wants to activate a device but must create the NMConnection details
9034         on the fly, there likely hasn't been enough time yet for NM to receive the
9035         new connection signal and grab all the connection details.  So the
9036         activation is deferred (and bounded by a timer) for a while, and if the
9037         connection appears within the window, it is activated.
9038
9039         * src/nm-activation-request.c
9040           src/nm-activation-request.h
9041                 - (nm_act_request_class_init): two new signals to support deferred
9042                         activation, to allow the listener to handle both timeout and success
9043                 - (nm_act_request_new_deferred): new function, starts the deferred
9044                         activation timeout handler and listens to the NMManager for
9045                         new-connection signals to notice when the connection comes in
9046
9047 2007-09-14  Dan Williams  <dcbw@redhat.com>
9048
9049         * src/nm-manager.h
9050           src/nm-manager.c
9051                 - (nm_manager_get_connection_service_name,
9052                    nm_manager_get_connection_dbus_path): get details about a connection
9053                         known internally by the NMManager
9054                 - (nm_manager_class_init): fix connection add/remove signal marshalers
9055                         because NMConnection is now a GObject subclass
9056                 - Use constant for the gobject data tag used on NMConnection objects for
9057                         storing the associated DBusGProxy
9058
9059 2007-09-14  Dan Williams  <dcbw@redhat.com>
9060
9061         * utils/Makefile.am
9062           utils/nm-utils.c
9063           utils/nm-utils.h
9064           src/supplicant-manager/Makefile.am
9065           src/dhcp-manager/Makefile.am
9066           src/backends/Makefile.am
9067           src/named-manager/Makefile.am
9068           src/ppp-manager/Makefile.am
9069           src/vpn-manager/Makefile.am
9070           test/libnm-util/Makefile.am
9071           test/test-common/Makefile.am
9072                 - Remove utils/; it was unused
9073
9074 2007-09-13  Dan Williams  <dcbw@redhat.com>
9075
9076         * libnm-glib/nm-vpn-manager.h
9077           libnm-glib/nm-vpn-manager.c
9078                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
9079
9080 2007-09-13  Dan Williams  <dcbw@redhat.com>
9081
9082         * src/nm-device-802-3-ethernet.c
9083                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
9084                         netlink monitor carrier signals on dispose, not bring down.  The
9085                         carrier signals should be handled over the entire lifetime of the
9086                         device anyway, not created/destroyed on up or down.
9087
9088 2007-09-13  Dan Williams  <dcbw@redhat.com>
9089
9090         * libnm-glib/nm-device.c
9091           libnm-glib/nm-device.h
9092                 - (nm_device_activate): take a connection object path rather than an
9093                         NMConnection because NMConnection isn't exported over D-Bus and
9094                         therefore it dbus-glib can't automatically get an object path from it
9095
9096 2007-09-13  Dan Williams  <dcbw@redhat.com>
9097
9098         * libnm-util/nm-setting.c
9099                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
9100
9101 2007-09-13  Tambet Ingo  <tambet@gmail.com>
9102
9103         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
9104
9105 2007-09-12  Tambet Ingo  <tambet@gmail.com>
9106
9107         * src/vpn-manager/nm-vpn-connection.[ch]: 
9108         * src/vpn-manager/nm-vpn-manager.[ch]:
9109         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
9110         dbus-glib, GObjects, signals etc.
9111
9112         * libnm-glib/nm-vpn-manager.[ch]: 
9113         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
9114         so much, rewrite these too.
9115
9116         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
9117         the new introspection files.
9118
9119         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
9120
9121         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
9122         the header with the same name from libnm-utils.
9123
9124         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
9125
9126         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
9127
9128         * introspection/nm-vpn-plugin.xml: Implement.
9129
9130         * introspection/nm-vpn-connection.xml: Implement.
9131
9132         * introspection/nm-vpn-manager.xml: Implement.
9133
9134         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
9135         the named manager argument, it can just as easily get it as the caller.
9136         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
9137
9138         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
9139
9140         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
9141
9142         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
9143         libnm-utils.
9144
9145         * libnm-util/nm-connection.c: Ditto.
9146
9147         * src/NetworkManagerMain.h: Remove, it's finally empty.
9148
9149         * configure.in: Remove utils/ from build.
9150
9151         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
9152         of hard-coded strings.
9153
9154         * utils/: Move it over to libnm-util.
9155
9156         * test/Makefile.am: Link against libnm-util now that util/ is gone.
9157
9158         * dispatcher-daemon/Makefile.am: Ditto.
9159
9160         * src/Makefile.am: Ditto.
9161
9162 2007-09-12  Dan Williams  <dcbw@redhat.com>
9163
9164         Wireless connections can be made with config data from the applet now.
9165         
9166         Yay.
9167
9168         * src/supplicant-manager/nm-supplicant-config.h
9169           src/supplicant-manager/nm-supplicant-config.c
9170                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
9171                 - (nm_supplicant_config_add_setting_wireless,
9172                    nm_supplicant_config_add_setting_wireless_security): new functions;
9173                         add key/value pairs from the settings objects to the supplicant
9174                         config
9175
9176         * src/nm-device-802-11-wireless.c
9177                 - (cull_scan_list): fix check to not prune currently associated AP
9178                 - (build_supplicant_config, real_act_stage2_config): call the functions
9179                         of the NMSupplicantConfig that parse settings objects rather than
9180                         doing it manually here
9181
9182 2007-09-12  Dan Williams  <dcbw@redhat.com>
9183
9184         * src/supplicant-manager/nm-supplicant-interface.c
9185           src/supplicant-manager/nm-supplicant-marshal.list
9186                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
9187                         "connection-error" signal arguments should be STRING not CHAR
9188
9189 2007-09-12  Dan Williams  <dcbw@redhat.com>
9190
9191         * src/NetworkManagerUtils.c
9192           src/NetworkManagerUtils.h
9193                 - (nm_utils_hexstr2bin): new function
9194
9195 2007-09-11  Dan Williams  <dcbw@redhat.com>
9196
9197         * src/nm-manager.c
9198                 - (connection_get_settings_cb): emit connection-added signal
9199                 - (connection_removed_cb): uncomment bits for system settings service,
9200                         send connection-removed when appropriate
9201                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
9202                         the stack by trying to g_object_set_data() on something that's
9203                         not a GObject; handle case where settings service returns
9204                         empty settings hash table
9205
9206 2007-09-11  Dan Williams  <dcbw@redhat.com>
9207
9208         * src/NetworkManagerPolicy.c
9209                 - (connection_added, connection_removed): trigger device change checks
9210                         on connection changes
9211
9212 2007-09-11  Dan Williams  <dcbw@redhat.com>
9213
9214         * src/nm-activation-request.c
9215                 - (connection_secrets_updated_cb): fix c&p error in signal emission
9216
9217 2007-09-11  Dan Williams  <dcbw@redhat.com>
9218
9219         * src/nm-device-802-11-wireless.c
9220                 - (real_connection_secrets_updated): fix erroneous check
9221
9222 2007-09-11  Dan Williams  <dcbw@redhat.com>
9223
9224         * introspection/nm-device.xml
9225           libnm-glib/nm-device.c
9226           libnm-glib/nm-device.c
9227                 - Fix Activate call argument borkage; Activate takes 3 arguments
9228
9229 2007-09-11  Dan Williams  <dcbw@redhat.com>
9230
9231         * libnm-glib/nm-access-point.c
9232           libnm-glib/nm-access-point.c
9233                 - (nm_access_point_get_frequency): now returns guint32 to match
9234                         property change on 2007-09-10
9235
9236 2007-09-11  Dan Williams  <dcbw@redhat.com>
9237
9238         * src/nm-device-802-11-wireless.c
9239                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
9240                         somewhere defines 'index' and I missed this one when I fixed the
9241                         shadow declaration errors earlier
9242
9243 2007-09-11  Dan Williams  <dcbw@redhat.com>
9244
9245         * libnm-util/nm-connection.c
9246                 - (nm_connection_update_secrets, need_secrets_check): move
9247                         802-11-wireless-security need_secrets checks to the setting object
9248                         itself, where it belongs
9249
9250         * libnm-util/nm-setting.c
9251           libnm-util/nm-setting.h
9252                 - (nm_setting_need_secrets): new function
9253                 - (setting_wireless_security_verify,
9254                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
9255                 - (setting_wireless_security_need_secrets): mostly copy code over
9256                         from nm-connection.c
9257
9258 2007-09-11  Dan Williams  <dcbw@redhat.com>
9259
9260         * libnm-util/nm-setting.c
9261           libnm-util/nm-setting.h
9262                 - (nm_setting_update_secrets): new function; add a virtual function that
9263                         subclasses can implement to update their secrets
9264                 - (setting_wireless_security_update_secrets): implement that function
9265                         for the 802-11-wireless-security subclass
9266
9267         * libnm-util/nm-connection.c
9268           libnm-util/nm-connection.h
9269                 - (nm_connection_update_secrets): update secrets for a Setting and
9270                         emit a signal on success
9271
9272         * src/nm-manager.c
9273           src/nm-manager.h
9274           src/nm-marshal.list
9275                 - (connection_get_settings_cb): enable system settings bits
9276                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
9277                         to request secrets from the settings dbus service and to
9278                         push those secrets to the NMConnection itself
9279
9280         * src/nm-activation-request.c
9281           src/nm-activation-request.h
9282                 - Attach to the 'secrets-updated' signal of the NMConnection that's
9283                         currently being activated, and proxy that signal to other listeners.
9284                         Goes through the activation request because the activation request
9285                         is the thing that manages the lifetime of the NMConnection that's
9286                         being activated.
9287
9288         * src/nm-device-802-11-wireless.c
9289                 - (real_connection_secrets_updated): implement the connection secrets
9290                         updated notification and restart activation when secrets are
9291                         received
9292                 - (real_act_stage2_config): request secrets from the settings dbus
9293                         service if secrets are needed
9294
9295         * src/nm-device.c
9296           src/nm-device.h
9297                 - (clear_act_request, nm_device_activation_cancel,
9298                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
9299                         where the activation request is cleared
9300                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
9301                         updated secrets signal of activation request and add a function
9302                         that subclasses can override to handle it easily
9303
9304 2007-09-11  Tambet Ingo  <tambet@gmail.com>
9305
9306         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
9307         removal of NetworkManagerAPList.
9308
9309 2007-09-10  Dan Williams  <dcbw@redhat.com>
9310
9311         * src/NetworkManagerAP.c
9312           src/NetworkManagerAP.h
9313           introspection/nm-access-point.xml
9314                 - Change 'freq' property to a guint32 instead of a double since we
9315                         weren't using the floating point bits anyway
9316
9317 2007-09-10  Dan Williams  <dcbw@redhat.com>
9318
9319         * NetworkManagerAP.c
9320           NetworkManagerAP.h
9321           NetworkManagerPolicy.c
9322           NetworkManagerSystem.c
9323           NetworkManagerUtils.c
9324           NetworkManagerUtils.h
9325           nm-device-802-11-wireless.c
9326           nm-device-802-3-ethernet.c
9327           nm-hal-manager.c
9328           nm-manager.c
9329           vpn-manager/nm-dbus-vpn.c
9330                 - Warning fixes; casts and removal of unused variables
9331
9332 2007-09-10  Dan Williams  <dcbw@redhat.com>
9333
9334         * include/NetworkManager.h
9335                 - Kill NMNetworkType; AP types don't matter any more
9336
9337         * src/NetworkManagerAPList.c
9338           src/NetworkManagerAPList.h
9339           src/Makefile.am
9340                 - Kill; NMAccessPointList has outlived it's usefulness
9341
9342         * src/NetworkManagerAP.c
9343           src/NetworkManagerAP.h
9344                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
9345                         functions; check if an NMConnection object is compatible with the
9346                         settings of this AP
9347                 - (freq_to_channel, channel_to_freq): utility functions for
9348                         channel <-> frequency conversion
9349
9350         * src/nm-device.c
9351           src/nm-device.h
9352                 - (nm_device_get_best_connection): pass the specific object around
9353                          (which might be the object path of a specific AP to connect to).
9354                          The get_best_connection() call should populate this on return
9355                          if needed (wireless does).
9356
9357         * src/nm-device-802-3-ethernet.c
9358                 - (real_get_best_connection): handle specific_object argument
9359
9360         * src/NetworkManager.c
9361           src/NetworkManagerMain.h
9362                 - Remove unused includes
9363
9364         * src/nm-device-802-11-wireless.c
9365           src/nm-device-802-11-wireless.h
9366                 - Convert the ap_list into a GSList from an NMAccessPointList
9367                 - No need for caching the 'activation_ap' since this is now determined
9368                         from the specific_object of the activation request, which is
9369                         populated from the get_best_connection() call or from a user request
9370                 - (nm_device_802_11_wireless_update_bssid): fix warning
9371                 - (get_wireless_capabilities): fix error message format arguments
9372                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
9373                 - (find_best_connection, real_get_best_connection): implement
9374                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
9375                         move here from NetworkManagerAPList
9376                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
9377                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
9378                         already verified earlier
9379                 - (real_act_stage2_config): use nm_connection_need_secrets()
9380
9381         * src/NetworkManagerPolicy.c
9382                 - (nm_policy_auto_get_best_device): handle specific objects
9383                 - (create_connection): remove; automatic connection creation functionality
9384                         is handled by the Connection objects
9385                 - (nm_policy_device_change_check): handle specific_object
9386
9387         * libnm-util/nm-connection.c
9388                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
9389
9390 2007-09-10  Dan Williams  <dcbw@redhat.com>
9391
9392         * src/nm-manager.c
9393                 - (query_connections): fix uninitialized variable problem that caused
9394                         segfault
9395                 - (nm_manager_add_device): take devices down on startup so that we can
9396                         be assured that nm_device_is_up() won't short-circuit the init
9397                         process.  Hack until the is_up check gets split into two pieces
9398                         that aren't behaviorally confusing.
9399
9400 2007-09-09  Dan Williams  <dcbw@redhat.com>
9401
9402         * introspection/nm-device.xml
9403                 - The 'Activate' method now takes 3 arguments, a service name for the
9404                 settings service (user or system), the object path of the connection
9405                 to activate, and the specific object to activate, if any
9406
9407         * src/nm-device-interface.c
9408                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
9409                 Add error bits
9410                 - (impl_device_activate): adapt to new Activate arguments; validate
9411                 the service name and get the Connection object from the NMManager
9412                 before starting to activate the device with the specified connection
9413
9414         * src/nm-device-802-3-ethernet.c
9415                 - (real_get_best_connection): find the best connection, or create a
9416                 default one if no existing connections can be used
9417
9418         * src/NetworkManagerPolicy.c
9419                 - (nm_policy_auto_get_best_device): Get the device's best connection
9420                 and only pick the device if it has one
9421                 - (nm_policy_device_change_check): disable wireless bits for now until
9422                 wireless get_best_connection() can be implemented (replacing "best_ap");
9423                 don't create a default connection here as the device subclass will do
9424                 that if needed
9425
9426         * src/nm-manager.h
9427           src/nm-manager.c
9428                 - (nm_manager_get): make NMManager a singleton and expose the getter
9429                 internally
9430                 - Rework internal NMManager connection handling to use the same
9431                 routines for both the system and user settings services.  Most calls
9432                 take a new NMConnectionType argument specifying either system or user
9433                 connections
9434                 - (nm_manager_get_connection_by_object_path): new function; get a
9435                 connection keyed on its object path
9436
9437         * src/NetworkManager.c
9438                 - (main): use nm_manager_get()
9439
9440 2007-09-09  Dan Williams  <dcbw@redhat.com>
9441
9442         * src/nm-device.h
9443           src/nm-device.c
9444                 - (nm_device_get_best_connection): new function; get best connection
9445                         for the device at that time
9446
9447 2007-09-09  Dan Williams  <dcbw@redhat.com>
9448
9449         * src/nm-device-interface.h
9450                 - Add NMDeviceInterfaceError with an UnknownConnection error
9451
9452 2007-09-09  Dan Williams  <dcbw@redhat.com>
9453
9454         Stupid mistake on my part; object path and interface for settings service
9455         and connection objects can be the same, only the service name must be
9456         different for the system and user settings services.
9457
9458         * include/NetworkManager.h
9459           src/nm-manager.c
9460           introspection/nm-settings-connection.xml
9461           introspection/nm-settings.xml
9462           libnm-glib/nm-settings.c
9463                 - (nm_connection_settings_init, query_user_connections,
9464                    new_connection_cb): Unify NetworkManagerSettings and Connection
9465                    interface name and object path
9466
9467 2007-09-06  Dan Williams  <dcbw@redhat.com>
9468
9469         * libnm-glib/nm-object.c
9470                 - (nm_object_get_string_property, nm_object_get_object_path_property,
9471                    nm_object_get_int_property, nm_object_get_uint_property,
9472                    nm_object_get_boolean_property, nm_object_get_byte_property,
9473                    nm_object_get_double_property, nm_object_get_byte_array_property):
9474                         clear GValues after copying their contents, fixes memory leaks
9475                         after every property access because dbus-glib copies the values
9476                         from the DBusMessage into the GValue already.
9477
9478 2007-09-06  Dan Williams  <dcbw@redhat.com>
9479
9480         * introspection/nm-access-point.xml
9481                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
9482                         them to be.  There's some magic property name parsing going on in
9483                         dbus-glib that breaks up property names based on studly-caps and
9484                         puts - between words.
9485
9486         * libnm-glib/nm-access-point.c
9487                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
9488                         Fix property names
9489
9490 2007-09-06  Dan Williams  <dcbw@redhat.com>
9491
9492         * src/nm-manager.c
9493                 - (nm_manager_user_connections_destroy): clear the user connections hash
9494                         table, don't destroy it
9495                 - (finalize): only destroy the hash table on NMManager finalization
9496
9497 2007-09-02  Dan Williams  <dcbw@redhat.com>
9498
9499         * include/NetworkManager.h
9500           libnm-glib/nm-settings.c
9501                 - defines for the user settings daemon D-Bus bits
9502
9503         * src/NetworkManager.c
9504                 - Remove stuff that referred to the old NetworkManagerInfo service
9505
9506         * src/vpn-manager/nm-dbus-vpn.h
9507                 - Move old NMI defines to the only place they are used still
9508
9509         * libnm-util/nm-connection.c
9510           libnm-util/nm-connection.h
9511           src/nm-activation-request.c
9512                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
9513
9514         * src/nm-manager.c
9515           src/nm-manager.h
9516                 - Get connections and their settings from the user settings daemon
9517                         at the appropriate times
9518
9519 2007-09-02  Dan Williams  <dcbw@redhat.com>
9520
9521         * libnm-util/nm-setting.c
9522                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
9523                 - (setting_wireless_hash): set the right value on the item
9524
9525 2007-09-02  Dan Williams  <dcbw@redhat.com>
9526
9527         * test/Makefile.am
9528           test/nminfotest.c
9529                 - Remove, no longer useful
9530
9531 2007-08-30  Dan Williams  <dcbw@redhat.com>
9532
9533         * src/Makefile.am
9534           src/NetworkManagerDbus.c
9535           src/NetworkManagerDbus.h
9536           src/vpn-manager/nm-dbus-vpn.c
9537                 - Remove, no longer necessary.  Move last bits to the only place its
9538                 used, in nm-dbus-vpn.c
9539
9540         * src/NetworkManagerAPList.c
9541           src/nm-device.c
9542           src/NetworkManager.c
9543           src/nm-device-802-11-wireless.c
9544           src/vpn-manager/nm-vpn-manager.c
9545           src/vpn-manager/nm-vpn-service.c
9546           src/NetworkManagerPolicy.c
9547           src/nm-manager.c
9548                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
9549                 that was message_is_error()
9550
9551 2007-08-30  Dan Williams  <dcbw@redhat.com>
9552
9553         * libnm-util/sha1.c
9554                 - Include config.h to get defines for endiannes (gnome.org #420216)
9555
9556 2007-08-30  Dan Williams  <dcbw@redhat.com>
9557
9558         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
9559
9560         * src/ppp-manager/Makefile.am
9561                 - use -fPIC (gnome.org #471825)
9562
9563 2007-08-29  Dan Williams  <dcbw@redhat.com>
9564
9565         * include/NetworkManager.h
9566                 - Keep NMConnection object path in sync
9567
9568         * libnm-glib/nm-settings.c
9569           libnm-glib/nm-settings.h
9570                 - Break D-Bus object registration out of the init function, because
9571                 every object that's exported over D-Bus needs to use the _same_
9572                 DBusConnection.  Otherwise, each object would get a different object
9573                 path tree and wouldn't be callable.
9574
9575 2007-08-29  Dan Williams  <dcbw@redhat.com>
9576
9577         * libnm-util/nm-setting.h
9578           libnm-util/nm-setting.c
9579           libnm-util/nm-connection.c
9580           src/NetworkManagerPolicy.c
9581                 - 'info' settings object should be 'connection' says the spec
9582                 at NetworkManagerConfigurationSpecification
9583
9584 2007-08-29  Dan Williams  <dcbw@redhat.com>
9585
9586         * libnm-glib/nm-settings.c
9587           libnm-glib/nm-settings.h
9588                 - make the dbus path a property of the object, and autogenerate it.
9589                 It can't be composed of the 'id' field becuase that's not available
9590                 yet during the GObject creation in nm_connection_settings_init()
9591
9592 2007-08-29  Dan Williams  <dcbw@redhat.com>
9593
9594         * introspection/nm-settings-connection.xml
9595           introspection/nm-settings.xml
9596                 - Service name -> NetworkManagerUserSettings because two services
9597                 can't share part of the same path.  I'm not really sure how we'll use
9598                 the same code with the system-settings daemon...
9599
9600 2007-08-28  Dan Williams  <dcbw@redhat.com>
9601
9602         * src/nm-device-interface.c
9603           src/nm-device-interface.h
9604                 - Kill one more bit of NMData
9605
9606 2007-08-28  Dan Williams  <dcbw@redhat.com>
9607
9608         * src/NetworkManagerSystem.h
9609           src/nm-device.c
9610           src/nm-device.h
9611           src/nm-hal-manager.c
9612           src/NetworkManager.c
9613           src/nm-device-802-11-wireless.c
9614           src/nm-hal-manager.h
9615           src/nm-device-802-3-ethernet.c
9616           src/vpn-manager/nm-vpn-service.h
9617           src/vpn-manager/nm-vpn-manager.c
9618           src/vpn-manager/nm-vpn-manager.h
9619           src/vpn-manager/nm-vpn-service.c
9620           src/nm-device-802-11-wireless.h
9621           src/NetworkManagerMain.h
9622           src/nm-device-802-3-ethernet.h
9623           src/backends/NetworkManagerGentoo.c
9624           src/backends/NetworkManagerPaldo.c
9625           src/backends/NetworkManagerFrugalware.c
9626           src/backends/NetworkManagerRedHat.c
9627           src/backends/NetworkManagerSlackware.c
9628           src/backends/NetworkManagerGeneric.c
9629           src/backends/NetworkManagerArch.c
9630           src/backends/NetworkManagerSuSE.c
9631           src/backends/NetworkManagerGeneric.h
9632           src/backends/NetworkManagerDebian.c
9633                 - Kill NMData
9634
9635 2007-08-28  Dan Williams  <dcbw@redhat.com>
9636
9637         * src/NetworkManagerMain.h
9638           src/nm-device-802-11-wireless.c
9639           src/NetworkManager.c
9640                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9641                 for now we should set the 'invalid' property on individual APs, and when
9642                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9643                 that ESS
9644
9645 2007-08-28  Dan Williams  <dcbw@redhat.com>
9646
9647         * src/NetworkManagerAP.c
9648           src/NetworkManagerAP.h
9649                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9650                         'autoconnect' property instead
9651
9652         * src/NetworkManager.c
9653           src/NetworkManagerMain.h
9654           src/NetworkManagerPolicy.c
9655           src/NetworkManagerPolicy.h
9656                 - Remove the 'allowed_ap_list', which should be replaced by 
9657                         NMConnection/NMSettings instead, since _those_ are the allowed
9658                         things that NM can connect to
9659
9660         * src/nm-device-802-11-wireless.c
9661                 - Remove both allowed_ap_list usage and 'fallback' checking
9662
9663 2007-08-28  Dan Williams  <dcbw@redhat.com>
9664
9665         * src/nm-device.c
9666           src/named-manager/nm-named-manager.c
9667           src/named-manager/nm-named-manager.h
9668           src/NetworkManager.c
9669           src/vpn-manager/nm-vpn-manager.c
9670           src/NetworkManagerMain.h
9671           src/NetworkManagerSystem.c
9672                 - Remove the named-manager object from NMData structure in preparation
9673                 for NMData's timely death.  Make the NMNamedManager the singleton that
9674                 it really is
9675
9676 2007-08-28  Dan Williams  <dcbw@redhat.com>
9677
9678         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9679         each AP's capabilities, and by NMConnection/NMSettings objects for user
9680         defined connections.
9681
9682         * include/NetworkManager.h
9683                 - Redefine 802.11 security properties.  There are now device capabilities
9684                         and AP flags and AP security flags.  It was way to unclear before.
9685
9686         * src/Makefile.am
9687           src/nm-ap-security-leap.h
9688           src/nm-ap-security-leap.c
9689           src/nm-ap-security-wpa-eap.c
9690           src/nm-ap-security-wpa-eap.h
9691           src/nm-ap-security-private.h
9692           src/nm-ap-security-wpa-psk.c
9693           src/nm-ap-security-wpa-psk.h
9694           src/nm-ap-security-wep.c
9695           src/nm-ap-security-wep.h
9696           src/nm-ap-security.c
9697           src/nm-ap-security.h
9698                 - Removed, to be replaced with NMConnection/NMSettings objects
9699
9700         * src/nm-dbus-nmi.c
9701           src/nm-dbus-nmi.h
9702                 - Removed, to be replaced by code that talks to the new info daemon
9703                         interface and gets NMConnection/NMSettings objects
9704
9705         * src/backends/NetworkManagerSuSE.c
9706                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9707                         info-daemon that does the same thing but talks the new info-daemon
9708                         D-Bus interface
9709
9710         * src/NetworkManagerAP.h
9711           src/NetworkManagerAP.c
9712           src/NetworkManagerAPList.c
9713           libnm-glib/libnm-glib-test.c
9714                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9715                         WPA/RSN
9716
9717         * libnm-glib/nm-access-point.c
9718           libnm-glib/nm-access-point.h
9719           introspection/nm-access-point.xml
9720           test/nm-tool.c
9721                 - Adjust to new flags for AP security
9722
9723         * utils/nm-utils.c
9724           utils/nm-utils.h
9725           src/vpn-manager/nm-dbus-vpn.c
9726                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9727                         stuff which is the only place it's used
9728
9729         * src/nm-device-interface.c
9730           src/nm-device-interface.h
9731           introspection/nm-device.xml
9732           src/nm-activation-request.c
9733           src/nm-activation-request.h
9734           src/nm-device.c
9735                 - Add a new 'specific_object' argument that hints to NM what actual
9736                         AP or other device-specific thing the connection should apply to.
9737                         NMConnection objects can apply to more than one actual device/AP.
9738
9739         * libnm-util/nm-connection.c
9740         * libnm-util/nm-connection.h
9741                 - Add 'have_secrets" call stubs
9742
9743         * libnm-util/cipher.h
9744                 - Move NM_AUTH_TYPE_* defines here for now
9745
9746         * src/nm-device-802-11-wireless.c
9747                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9748                         NMSettings objects
9749
9750         * src/NetworkManagerDbus.c
9751         * src/NetworkManagerPolicy.c
9752                 - Remove usage of update_allowed_networks, should be pushing data in
9753                         a different manner
9754
9755 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9756
9757         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9758         dbus-glib frees it when the call is done.
9759
9760 2007-08-26  Dan Williams  <dcbw@redhat.com>
9761
9762         * introspection/nm-device.xml
9763                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9764
9765 2007-08-26  Dan Williams  <dcbw@redhat.com>
9766
9767         * src/nm-device-802-3-ethernet.c
9768                 - (constructor): move connection of interface-connected/disconnected
9769                         signals here from real_bring_up().  Should be listening to netlink
9770                         for carrier events no matter what the initial state of the device
9771                         is.
9772
9773 2007-08-26  Dan Williams  <dcbw@redhat.com>
9774
9775         * src/nm-netlink-monitor.c
9776                 - (nm_netlink_monitor_class_init): fix marshalling types for
9777                         interface-connected/interface-disconnected
9778                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9779                         check
9780
9781 2007-08-26  Dan Williams  <dcbw@redhat.com>
9782
9783         Convert to using interface indexes as the primary method of identifying
9784         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9785         be renamed at any time.  Device object paths now refer to the device
9786         index rather than the name, and you can map those two manually if you like
9787         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9788         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9789         to use interface indexes rather than names.
9790
9791 2007-08-26  Dan Williams  <dcbw@redhat.com>
9792
9793         * src/nm-netlink-monitor.h
9794                 - Remove one last bit of wireless-event signal
9795
9796 2007-08-26  Dan Williams  <dcbw@redhat.com>
9797
9798         * src/nm-netlink-monitor.c
9799                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9800                         don't need the 'wireless-event' signal anymore since that's all
9801                         handled by wpa_supplicant
9802
9803 2007-08-25  Dan Williams  <dcbw@redhat.com>
9804
9805         It's 2007. Remove support for drivers that don't support wireless scanning.
9806
9807         * test/nm-tool.c
9808           include/NetworkManager.h
9809           src/NetworkManagerUtils.c
9810           src/NetworkManagerPolicy.c
9811           src/nm-device-802-11-wireless.c
9812                 - Remove special handling for non-scanning devices and mark them
9813                         as unsupported/unhandled
9814
9815 2007-08-20  Dan Williams  <dcbw@redhat.com>
9816
9817         * src/nm-device-802-11-wireless.c
9818           src/nm-device-802-3-ethernet.c
9819                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9820                         because when the card is pulled or the module removed, the device
9821                         is already !IFF_UP and then device-specific cleanup (removing
9822                         the supplicant interface, periodic checks, etc) never gets done
9823
9824 2007-08-20  Dan Williams  <dcbw@redhat.com>
9825
9826         * src/nm-manager.c
9827                 - (nm_manager_remove_device): bring device down before disconnecting
9828                         signal handlers, so that the 'state' signal will get broadcast when
9829                         the device enters the DOWN state
9830                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
9831                         of states that cause the NMManager to recheck its state
9832
9833 2007-08-20  Dan Williams  <dcbw@redhat.com>
9834
9835         * src/supplicant-manager/nm-supplicant-interface.c
9836                 - (interface_disconnect_done): don't try to dispose of the net proxy
9837                         when it may already have been disposed of
9838
9839 2007-08-20  Dan Williams  <dcbw@redhat.com>
9840
9841         * src/nm-device-802-11-wireless.c
9842                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
9843                         the SSID isn't available; this can happen when the card is pulled
9844                         or the module unloaded, during the post-removal deactivation
9845                         paths, when the ioctl returns ENODEV
9846
9847 2007-08-20  Dan Williams  <dcbw@redhat.com>
9848
9849         * src/nm-device-802-11-wireless.c
9850                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
9851                         frequency, and mode match.  Applets are now responsible for grouping
9852                         access points
9853
9854 2007-08-20  Dan Williams  <dcbw@redhat.com>
9855
9856         * src/NetworkManagerAP.c
9857         * src/NetworkManagerAP.h
9858                 - (nm_ap_print_self): new function
9859
9860         * src/NetworkManagerAPList.c
9861                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
9862                         to do it all here
9863         
9864 2007-08-17  Dan Williams  <dcbw@redhat.com>
9865
9866         * src/nm-device-802-3-ethernet.c
9867                 - (real_bring_down): don't try to dispose of stuff that might not
9868                         exist
9869
9870 2007-08-17  Dan Williams  <dcbw@redhat.com>
9871
9872         * src/NetworkManagerAP.c
9873                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
9874                         applet.  This ensures that the case between the seen-bssids and
9875                         the bssids reported by the driver match.
9876
9877 2007-08-17  Dan Williams  <dcbw@redhat.com>
9878
9879         * src/nm-device-802-11-wireless.c
9880                 - (device_cleanup): disconnect the interface in wpa_supplicant before
9881                         we dispose of the interface proxy in NM
9882
9883 2007-08-16  Dan Williams  <dcbw@redhat.com>
9884
9885         * libnm-glib/nm-client.c
9886                 - (nm_client_init): create VPN connections hash table with key free
9887                         function
9888                 - (proxy_vpn_connection_added): VPN connections hash table key should
9889                         be a duplicated value, not the same memory address as the VPN
9890                         connection name.  This is because the VPN connection name could
9891                         potentially be freed and set to something else during the lifetime
9892                         of the NMVPNConnection object.
9893
9894 2007-08-16  Tambet Ingo  <tambet@gmail.com>
9895
9896         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
9897         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
9898         with the file descriptors. Send a child setup function to change the pppd
9899         progress group.
9900
9901 2007-08-15  Dan Williams  <dcbw@redhat.com>
9902
9903         * src/supplicant-manager/nm-supplicant-interface.c
9904                 - (try_remove_iface): new function, ask wpa_supplicant to remove
9905                         an interface
9906                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
9907                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
9908                         happens on hotplug if wpa_supplicant doesn't tear down and readd
9909                         the interface internally
9910
9911 2007-08-15  Dan Williams  <dcbw@redhat.com>
9912
9913         * src/nm-device-802-11-wireless.c
9914                 - (real_bring_down): move most of this function into device_cleanup()
9915                         so that it can be called from elsewhere
9916                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
9917                         and stuff on dispose.  These would normally get cleaned up when
9918                         the device is marked down and deactivated, but when the device is
9919                         hot-unplugged, it's already down and real_down() never gets run
9920
9921 2007-08-15  Dan Williams  <dcbw@redhat.com>
9922
9923         * src/nm-dbus-nmi.c
9924                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
9925                         caused a reference leak on device for which NM requested a key
9926
9927 2007-08-15  Dan Williams  <dcbw@redhat.com>
9928
9929         * libnm-glib/nm-client.c
9930                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
9931
9932 2007-08-15  Tambet Ingo  <tambet@gmail.com>
9933
9934         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
9935         nothing is using it at the moment, but it'll be all useful and stuff later on.
9936
9937         * libnm-util/nm-setting.h: Define NMSettingPPP.
9938
9939         * libnm-util/nm-setting.c: Implement NMSettingPPP.
9940
9941         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
9942
9943         * src/Makefile.am: Add ppp-manager to SUBDIRS.
9944
9945         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
9946
9947         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
9948
9949 2007-08-14  Tambet Ingo  <tambet@gmail.com>
9950
9951         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
9952
9953         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
9954         an issue with dbus-glib bindings generator. The issue is, the generated C caller
9955         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
9956         name and different arguments and it won't compile anymore. To fix this, we now have
9957         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
9958         that is new API + compatibility API and used by the daemon. The other, 
9959         nm-manager-client.xml is only the new API without compatibility bits and is used
9960         by libnm-glib to make it compile.
9961
9962         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
9963
9964         * src/nm-manager.c (impl_manager_legacy_sleep)
9965         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
9966         interface functions for 0.6 branch.
9967
9968 2007-08-14  Dan Williams  <dcbw@redhat.com>
9969
9970         * src/NetworkManagerAP.c
9971                 - (nm_ap_new_from_properties): fix mistaken check of return value
9972                         from memcmp (should expect 0)
9973
9974 2007-08-14  Dan Williams  <dcbw@redhat.com>
9975
9976         (force-commit to fix wrong comment and partial commit of r2685; this
9977          commit actually applies to r2685)
9978
9979         * src/NetworkManagerUtils.c
9980                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
9981                         ignores trailing nulls in the SSID to work around mismatches in
9982                         expectations between WEXT and what the info-daemon passes back.  The
9983                         info-daemon would pass back the correct length, but due to the
9984                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
9985                         the device would always have an SSID + 1 depending on what versions
9986                         of wpa_supplicant, the kernel, and NM you have.  This was most often
9987                         visible by just quitting the applet and relaunching, which caused
9988                         NM to reassociated to the same network over again when reloading
9989                         the save networks.
9990
9991         * src/NetworkManagerPolicy.c
9992           src/NetworkManagerUtils.h
9993           src/nm-device-802-11-wireless.c
9994                 - Update for new parameter to nm_utils_same_ssid()
9995
9996 2007-08-14  Dan Williams  <dcbw@redhat.com>
9997
9998         * src/NetworkManagerAP.c
9999                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
10000                         I encountered a BSS that wasn't just hiding it's ESSID, it was
10001                         setting the BSSID to all 0s.  That confused the heck out of NM,
10002                         plus it's useless and probably out-of-spec.
10003
10004 2007-08-14  Dan Williams  <dcbw@redhat.com>
10005
10006         * callouts/Makefile.am
10007           src/dhcp-manager/nm-dhcp-manager.c
10008           src/dhcp-manager/nm-dhcp-manager.h
10009           src/dhcp-manager/Makefile.am
10010                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
10011
10012 2007-08-14  Dan Williams  <dcbw@redhat.com>
10013
10014         * src/dhcp-manager/nm-dhcp-manager.c
10015                 - (dhclient_run): don't pass -x to dhclient until we figure out if
10016                         it's really needed, get rid of unused xtra_args parameter
10017
10018 2007-08-14  Dan Williams  <dcbw@redhat.com>
10019
10020         * include/NetworkManagerVPN.h
10021           src/vpn-manager/nm-dbus-vpn.c
10022           src/vpn-manager/nm-dbus-vpn.h
10023           src/vpn-manager/nm-vpn-act-request.c
10024           src/vpn-manager/nm-vpn-act-request.h
10025           src/vpn-manager/nm-vpn-service.c
10026           src/vpn-manager/nm-vpn-service.h
10027           libnm-glib/nm-vpn-connection.c
10028           libnm-glib/nm-vpn-connection.h
10029           libnm-glib/nm-client.h
10030                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
10031                         NMVPNServiceState to clarify what they apply to
10032                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
10033                         NMVPNActStage -> NMVPNConnectionState for the same reason
10034
10035         * libnm-glib/nm-client.c
10036                 - Constant + type renames from above
10037                 - Properly handle NameOwnerChanged/manager_running signals
10038                         for NM service; only emit when state really changes
10039                 - Use hash tables correctly so that the key (which was previously owned
10040                         by the D-Bus message) now has the same lifetime as the value, since
10041                         the key is now taken from the the NMVPNConnection itself.  This
10042                         really fixes the double-VPN names in the applet
10043
10044 2007-08-13  Dan Williams  <dcbw@redhat.com>
10045
10046         Patch from Michael Biebl <biebl@debian.org>
10047
10048         * po/POTFILES.in
10049           po/POTFILES.skip
10050                 - Update for vpn-properties move
10051
10052 2007-08-13  Dan Williams  <dcbw@redhat.com>
10053
10054         * libnm-glib/nm-client.c
10055                 - Convert internal VPN connection tracking from a list to a hash table
10056                         to easily avoid duplicates
10057                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
10058                         must be freed by the caller, like nm_client_get_devices()
10059                 - (nm_client_remove_vpn_connection): don't let the removal signal
10060                         leak through for NMVPNConnection objects that aren't actually
10061                         tracked.
10062                 - (manager_running): throw away VPN connection list when NM goes away,
10063                         like with the device list
10064
10065 2007-08-13  Dan Williams  <dcbw@redhat.com>
10066
10067         * src/dhcp-manager/nm-dhcp-manager.c
10068                 - Stop any dhclient instance that might be already running for a
10069                         particular interface before starting an NM spawned dhclient.  Fixes
10070                         dhclient processes left over if NM crashes, stuff like that.
10071
10072 2007-08-13  Dan Williams  <dcbw@redhat.com>
10073
10074         * src/NetworkManagerAP.c
10075                 - (finalize): don't try to g_array_free (NULL, ...), which happened
10076                         when the AP wasn't broadcasting it's SSID
10077
10078 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
10079
10080         * include/NetworkManager.h: added DBus path for connection settings.
10081
10082         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
10083         nm_connection_settings_signal_updated,
10084         nm_connection_settings_signal_removed): new functions to wrap the
10085         objects' signals.
10086         (nm_connection_settings_init): register GObject with DBus.
10087         (nm_connection_settings_get_dbus_object_path): new function.
10088
10089         * libnm-glib/Makefile.am: added libnmutil to link flags.
10090
10091 2007-08-13  Tambet Ingo  <tambet@gmail.com>
10092
10093         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
10094
10095         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
10096         libnm_glib directory got merged with libnm-glib/.
10097
10098         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
10099
10100         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
10101         Rename the library from libnm-glib to libnm_glib to maintain the library API
10102         compatibility with 0.6 branch.
10103
10104         * Makefile.am: Remove gnome/ SUBDIR.
10105
10106         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
10107
10108         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
10109
10110         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
10111
10112         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
10113         anymore.
10114         Remove checks for wpa_supplicant binary, it's used over dbus.
10115         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
10116
10117         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
10118         Link the binaries with libnm_glib.la.
10119
10120 2007-08-12  Dan Williams  <dcbw@redhat.com>
10121
10122         * src/NetworkManagerPolicy.c
10123                 - (nm_policy_device_change_check): fix policy to deactivate old device
10124                         before activating new one, at least until the multiple active
10125                         device support lands
10126
10127 2007-08-12  Dan Williams  <dcbw@redhat.com>
10128
10129         * src/NetworkManagerPolicy.c
10130                 - (nm_policy_new): hook up to connection-added / connection-removed
10131                         signals instead of connections-changed
10132
10133 2007-08-12  Dan Williams  <dcbw@redhat.com>
10134
10135         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
10136         Robert Frank <rfrank@redhat.com>
10137
10138         * src/dhcp-manager/nm-dhcp-manager.c
10139           src/dhcp-manager/nm-dhcp-manager.c
10140           src/nm-device.c
10141                 - Spawn and communicate with dhclient directly, through means of a
10142                 custom dhclient callout script.  Process callout D-Bus signals
10143                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
10144                 sent via gobject signals rather than being driven by the dhcp manager
10145                 directly.
10146
10147 2007-08-12  Dan Williams  <dcbw@redhat.com>
10148
10149         * callouts/nm-dhcp-client-action.c
10150                 - (build_message): ignore non-DHCP-related environment variables
10151
10152 2007-08-12  Dan Williams  <dcbw@redhat.com>
10153
10154         * Makefile.am
10155           configure.in
10156           callouts/Makefile.am
10157           callouts/nm-dhcp-client-action.c
10158           callouts/nm-dhcp-client.conf
10159                 - Add dhclient-executed callout that takes the place of dhclient-script
10160                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
10161                 NM then listens for
10162
10163 2007-08-09  Tambet Ingo  <tambet@gmail.com>
10164
10165         [Based on patch by Helmut Schaa <hschaa@suse.de>]
10166
10167         * libnm-glib/nm-client.h:
10168         * libnm-glib/nm-object.h:
10169         * libnm-glib/nm-vpn-connection.h:
10170         * libnm-glib/nm-settings.h:
10171         * libnm-glib/nm-device.h:
10172         * libnm-glib/nm-ip4-config.h:
10173         * libnm-glib/nm-access-point.h:
10174         * libnm-glib/nm-device-802-3-ethernet.h:
10175         * libnm-util/nm-setting.h: 
10176         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
10177
10178         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
10179
10180         * libnm-glib/nm-access-point.c: Strength has type char.
10181
10182         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
10183         to fix build. GnomeDruid is deprecated in recent libgnomeui.
10184
10185         * introspection/nm-access-point.xml: Strength property is char, not int.
10186
10187         * src/NetworkManagerAP.c (set_property): Set strength from char.
10188         (get_property): Handle hidden APs (with empty SSID).
10189         Get strength value from char.
10190         (nm_ap_class_init): Strength property has char type.
10191
10192 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
10193
10194         * introspection/Makefile.am:
10195         * introspection/nm-settings.xml:
10196         * introspection/nm-settings-connection.xml: added Settings interfaces.
10197
10198         * libnm-glib/nm-settings.[ch]:
10199         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
10200         containing the DBus implementation.
10201
10202 2007-07-26  Dan Williams  <dcbw@redhat.com>
10203
10204         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
10205
10206         * src/NetworkManagerSystem.c
10207                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
10208                         same subnet (#437396)
10209
10210 2007-07-26  Dan Williams  <dcbw@redhat.com>
10211
10212         Patch from Kelemen Gábor <kelemeng@gnome.hu>
10213
10214         * gnome/vpn-properties/nm-vpn-properties.c
10215                 - Fix translatable strings (#445865)
10216
10217 2007-07-26  Dan Williams  <dcbw@redhat.com>
10218
10219         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
10220
10221         * configure.in
10222                 - Remove useless junk (#412530)
10223
10224 2007-07-10  Christopher Aillon  <caillon@redhat.com>
10225
10226         Patch from Robert Buchholz <rbu@gentoo.org>:
10227
10228         * configure.in:
10229         * Makefile.am:
10230         * introspection/Makefile.am:
10231         Make make distcheck work again.
10232
10233 2007-06-27  Dan Williams  <dcbw@redhat.com>
10234
10235         * Make SSIDs GByteArrays everywhere
10236         * Rename "essid" -> "ssid" everywhere that's appropriate
10237         * Refcount activation_ap member of the 802.11 wireless device class
10238
10239 2007-06-27  Tambet Ingo  <tambet@ximian.com>
10240
10241         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
10242
10243 2007-06-22  Tambet Ingo  <tambet@ximian.com>
10244
10245         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
10246         that we got a new AP when we just update existing AP properties.
10247
10248 2007-06-21  Tambet Ingo  <tambet@ximian.com>
10249
10250         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
10251
10252         * nm-utils.[ch]: Remove.
10253
10254         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
10255         objects for easy property access and dbus connection handling.
10256
10257         * libnm-glib/nm-client.c: Derive from NMObject.
10258
10259         * libnm-glib/nm-device.c: Ditto.
10260
10261         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
10262
10263         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
10264
10265         * libnm-glib/nm-ip4-config.c: Ditto.
10266
10267         * libnm-glib/nm-access-point.c: Ditto.
10268
10269         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
10270         comparision. Currently used by the device activation code to determine if the new
10271         activation is the same as the old one.
10272
10273         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
10274         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
10275         able to ask password for the AP.
10276
10277         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
10278         up if the device is already connected, tear down it's connection (if it isn't the
10279         same as new one) and start the activation.
10280
10281         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
10282
10283         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
10284         the issue where all APs are always listed as encrypted.
10285
10286         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
10287         their own registered paths.
10288
10289         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
10290         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
10291
10292 2007-06-13  Tambet Ingo  <tambet@ximian.com>
10293
10294         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
10295         (0 & 0 == 0, doh)
10296
10297         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
10298         because the handling code will cause the next state change and signal listeners
10299         get the signals in wrong order.
10300
10301         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
10302         correctly in case of pending activation.
10303
10304         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10305         Convert the essid byte array to string correctly, including the terminating NULL.
10306
10307         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
10308         mode with correct types.
10309
10310         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
10311         constructed info to dbus call instead of the activation request.
10312
10313 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10314
10315         Patch from Christian Persch <chpe@gnome.org>
10316
10317         * libnm-glib/Makefile.am:
10318         * dispatcher-daemon/Makefile.am:
10319         Use the correct variables, the correct paths, and correct ordering. (446315)
10320
10321 2007-06-11  Tambet Ingo  <tambet@ximian.com>
10322
10323         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
10324         argument. The activation request is easy to retrieve.
10325
10326         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
10327         just to be a convenient location for devices to store random stuff.
10328
10329 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10330
10331         Patch from Alex Smith <alex@alex-smith.me.uk>
10332
10333         * src/backends/NetworkManagerFrugalware.c:
10334         Update the FrugalWare backend to fix a few segfaults. (#392642)
10335
10336 2007-06-08  Tambet Ingo  <tambet@ximian.com>
10337
10338         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
10339
10340         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
10341         setting.
10342         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
10343
10344 2007-06-06  Tambet Ingo  <tambet@ximian.com>
10345
10346         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
10347         automagically.
10348         Implement NMSettingIP4Config.
10349         Finish NMSettingWired by adding all known members.
10350         (setting_wired_verify): Implement.
10351         Finish NMSettingWireless by adding all known members.
10352         (setting_wireless_verify): Implement.
10353
10354         * libnm-util/nm-connection.c: Register "ipv4" setting.
10355         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
10356         dump function, we can introspect the GHashTable which is used for sending connections
10357         over dbus.
10358
10359         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10360         Take GByteArray for essid, it's really not a string.
10361
10362         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
10363         Start DHCP request if setting is not passed or if it states that DHCP should be used.
10364         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
10365         means overriding the values we got from DHCP.
10366         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
10367         (nm_device_deactivate_quickly): Ditto.
10368
10369         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
10370         for debugging.
10371
10372 2007-05-07  Tambet Ingo  <tambet@ximian.com>
10373
10374         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
10375         NMConnection.
10376
10377         * libnm-glib/nm-device-802-11-wireless.c:
10378         (nm_device_802_3_ethernet_activate): Remove.
10379
10380         * libnm-glib/nm-device-802-3-ethernet.c
10381         (nm_device_802_3_ethernet_activate): Remove.
10382
10383         * libnm-glib/nm-device.c (nm_device_activate): Implement.
10384
10385         * src/nm-device-802-3-ethernet.c: Implement the new activation using
10386         NMConnection.
10387
10388         * src/nm-device-802-11-wireless.c: Store an activation AP once the
10389         activation has started.
10390         Implement the new activation using NMConnection.
10391
10392         * src/nm-activation-request.c: Store a generic connection object instead
10393         of a wireless-specific AP.
10394
10395         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
10396         on device type, create a device specific connection object suitable for
10397         device activation.
10398
10399         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
10400         specific check to validate the connection and on success start the
10401         activation.
10402
10403         * src/nm-device-interface.h: Add a activate virtual function to the
10404         interface definition.
10405
10406         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
10407         (impl_device_activate): Implement.
10408
10409         * introspection/nm-device.xml: Add a generic device activation interface
10410         that accepts an abstract NMConnection structure that has device-specific
10411         information in it.
10412
10413         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
10414         activation interface.
10415
10416         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
10417         activation interface.
10418
10419         * libnm-util/nm-connection.c: 
10420         * libnm-util/nm-connection.h: 
10421         * libnm-util/nm-setting.c:
10422         * libnm-util/nm-setting.h: Add.
10423
10424         * libnm-util/Makefile.am: Build the added files.
10425
10426         * src/nm-dbus-manager.c
10427         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
10428         DbusConnection argument from 'name-owner-changed' signal. The manager
10429         is already passed as a first argument to the signal and the connection
10430         is easy enough to get from it.
10431
10432         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
10433         Update the signature of the function.
10434
10435         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
10436         Ditto.
10437
10438         * src/NetworkManager.c: Ditto.
10439
10440         * src/named-manager/nm-named-manager.c
10441         (nm_named_manager_name_owner_changed): Ditto.
10442
10443         * src/supplicant-manager/nm-supplicant-manager.c
10444         (nm_supplicant_manager_name_owner_changed): Ditto.
10445
10446         * src/nm-hal-manager.c (name_owner_changed): Ditto.
10447
10448         * src/dhcp-manager/nm-dhcp-manager.c
10449         (nm_dhcp_manager_name_owner_changed): Ditto.
10450
10451         * src/nm-hal-manager.c: Add a list of device detectors and creators
10452         to make it easier to add new devices. Each device type has it's own
10453         entry in the table so adding new device types is only a matter of
10454         implementing a couple of functions, one for device detection and the
10455         other for device creation.
10456
10457 2007-04-25  Dan Williams  <dcbw@redhat.com>
10458
10459         * initscript/RedHat/NetworkManager.in: remove trailing backslash
10460                 (gnome.org #432401)
10461
10462 2007-03-30  Dan Williams  <dcbw@redhat.com>
10463
10464         * src/NetworkManagerSystem.c
10465                 - (nm_system_device_set_ip4_route): clean up and fix argument
10466                         to nm_dev_sock_open()
10467
10468 2007-03-28  Tambet Ingo  <tambet@ximian.com>
10469
10470         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
10471         data to correct types instead of always using string.
10472
10473         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
10474         _not_ have NM_802_11_CAP_PROTO_NONE.
10475         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
10476         is not set.
10477
10478 2007-03-27  Tambet Ingo  <tambet@ximian.com>
10479
10480         * libnm-glib/Makefile.am: Fix the build issue.
10481
10482 2007-03-26  Tambet Ingo  <tambet@ximian.com>
10483
10484         * libnm-glib/nm-vpn-connection.h: 
10485         * libnm-glib/nm-vpn-connection.c: Implement.
10486
10487         * libnm-glib/nm-client.c: Add VPN support.
10488
10489         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
10490         handler for VPN.
10491
10492         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
10493         on DBUS again.
10494
10495 2007-03-26  Dan Williams  <dcbw@redhat.com>
10496
10497         * src/NetworkManagerAPList.c
10498         * src/nm-device-802-11-wireless.c
10499         * src/NetworkManagerAP.c:
10500                 - Store last seen as glong instead of GTimeVal.
10501                 - Fix the upper bound of capabilities, it's a bitfield.
10502
10503 2007-03-16  Tambet Ingo  <tambet@ximian.com>
10504
10505         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
10506
10507         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
10508         "manager-running" signal that notifies the appearance/disappearance of NM.
10509         (nm_client_sleep): Implement.
10510
10511         * libnm-glib/nm-device.c:
10512         * libnm-glib/nm-device-802-11-wireless.c: 
10513         * libnm-glib/nm-device-802-3-ethernet.c: 
10514
10515         Don't inherit from DBusGProxy, add a proxy to private
10516         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
10517         for anything but their own dbus interface. DBusGProxy objects support only one
10518         interfaces and to work around this, NMDevice has spearate proxy for each dbus
10519         interface. The nice side effect of this change is that we do not create a new
10520         DBusGProxy object for each property access.
10521
10522 2007-03-15  Tambet Ingo  <tambet@ximian.com>
10523
10524         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
10525         with zeroes before passing them to functions - the functions never do that and
10526         reading the values back may produce wrong values.
10527         (real_bring_up): Store the signal handler id ...
10528         (real_bring_down): ... So that it can be removed here.
10529         Disconnect the supplicant interface here as well.
10530         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
10531         from the access point instead of old $device/Networks/$essid.
10532
10533         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
10534         device state is connected (instead of just having link/carrier).
10535
10536         * src/nm-activation-request.c: Don't store NMData in activation request, it's
10537         already easily accessible through the device.
10538
10539         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
10540         store it within the object.
10541         (nm_ap_get_dbus_path): Export it to public as well.
10542
10543         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
10544         of the singleton.
10545
10546 2007-03-12  Dan Williams  <dcbw@redhat.com>
10547
10548         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
10549         for non-carrier-detect capable devices, and useless for carrier-detect
10550         devices since we get notifications from netlink about carrier status anyway.
10551
10552         * src/nm-device-802-3-ethernet.c
10553                 - remove 'link_source_id' member from private data
10554                 - (probe_link): remove and collapse into real_update_link()
10555                 - (nm_device_802_3_periodic_update): remove
10556                 - (real_is_up): check for sup_iface rather than link_source_id
10557                 - (real_bring_up): return gboolean for success/fail; require that
10558                         sup_iface be valid for device bringup to succeed
10559                 - (real_bring_down): zero out link signal ids
10560
10561         * src/nm-device.c
10562                 - (nm_device_activate_stage2_device_config): fail activation if device
10563                         bringup fails
10564                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
10565                         fails
10566                 - (nm_device_bring_up): return success/fail
10567
10568         * src/nm-device.h
10569                 - bring_up now returns success/fail
10570
10571         * src/nm-device-802-11-wireless.c
10572                 - (real_bring_up): return success from bringup
10573
10574 2007-03-07  Dan Williams  <dcbw@redhat.com>
10575
10576         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
10577         * src/nm-ap-security-wpa-psk.c
10578                 - (real_write_supplicant_config): work with PSKs that may contain
10579                         zeros in the binary format rather than treating it as a string
10580
10581 2007-03-02  Tambet Ingo  <tambet@ximian.com>
10582
10583         * libnm-glib/nm-device-802-11-wireless.c
10584         (nm_device_802_11_wireless_get_capabilities): Implement.
10585
10586         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
10587
10588         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
10589
10590         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
10591         reply only if it's not NULL. Not sure why this started happening right now.
10592
10593         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
10594         code paths for when devices get removed on shutdown or when a device is just
10595         removed.
10596         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
10597         gets freed so any signal from a device (disconnected for instance) would invoke
10598         NMState update which would crash.
10599         (nm_manager_remove_device): Bring the device down when it gets removed.
10600
10601         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
10602         the unused dev_type.
10603
10604         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
10605         reference to the added device, NMManager will own it (if it wants).
10606
10607         * test/nm-tool.c: Rewrite using libnm-glib.
10608
10609         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
10610         We get signalled when it changes.
10611
10612         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
10613         when it changes.
10614
10615         * libnm-glib/nm-device.c: Cache the device state property.
10616
10617         * libnm-glib/nm-access-point.c: Cache the strength property.
10618
10619         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
10620         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
10621         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
10622         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
10623         the device is down, activating, or activated (in case of A/B/G cards).
10624         Remove some old dead ifdef'ed out code that used to configure wireless devices,
10625         it's all done through supplicant now.
10626
10627         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
10628         counting issues with pending calls which caused leaks and crashes when
10629         interface was removed (now that the interface actually gets removed).
10630
10631         * src/nm-call-store.c: Make a copy of data before running a foreach
10632         with user callback on it - The most common usage pattern is to cancel
10633         (and thus remove) all pending calls with foreach which would modify
10634         the hash table we're iterating over.
10635
10636         * src/nm-manager.c: When a device is added, make sure it is "up". When
10637         it's removed or disabled due to disabling wireless or networking, bring
10638         it down.
10639
10640         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10641
10642         * src/nm-device-802-11-wireless.c: 
10643         * src/nm-device-802-3-ethernet.c: 
10644         * src/nm-device.c:
10645                 - Remove "init" virtual function, all gobjects have a place for that
10646                   already (constructor).
10647                 - Replace "start" virtual function with "bring_up", devices can be
10648                   brought up and down more than just on startup now.
10649                 - Add "is_up" virtual function.
10650                 - Implement one way to bring a device down instead of previous 4 different
10651                   ways, each of witch did something different.
10652
10653         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10654         all it needs is the device interface.
10655
10656         Get rid of NMData.dev_list (3 members to go).
10657         Get rif of NMData in a lot of places.
10658
10659         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10660
10661 2007-02-23  Dan Williams  <dcbw@redhat.com>
10662
10663         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10664
10665         * src/NetworkManagerAP.c
10666                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10667                         OR-ing rather than AND-ing
10668
10669 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10670
10671         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10672         "network-removed" signals.
10673
10674         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10675
10676         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10677         when receiving the signal from dbus.
10678
10679         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10680         property.
10681
10682         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10683         deactivation of the previously activated device working again.
10684
10685         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10686         and setter.
10687
10688         * src/nm-device.c (nm_device_is_activated): Remove.
10689         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10690
10691         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10692         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10693         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10694         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10695         Remove NMNetworkStatus and NMActStage enums.
10696
10697 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10698
10699         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10700         Handle device state changes and disconnect VPN if it's device deactivates.
10701
10702         * src/nm-dbus-nm.c: 
10703         * src/nm-dbus-nm.h: 
10704         * src/nm-dbus-device.c: 
10705         * src/nm-dbus-device.c: 
10706         * src/nm-dbus-net.c: 
10707         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10708
10709         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10710
10711         * src/nm-device.c (nm_device_get_by_udi):
10712         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10713         implemented in the correct location (NMManager).
10714         Rip out all the test_device stuff.
10715
10716         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10717         failure handlers, it's all done by NMDevice already.
10718
10719         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10720         Remove the iochannel hack to route the unix signals to the main thread since
10721         we're not threaded anymore.
10722
10723         * src/NetworkManagerAP.c: Implement HWAddress property.
10724
10725         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10726         automatically with dbus-glib.
10727
10728         * src/nm-netlink-monitor.c: 
10729         * src/nm-netlink-monitor.h:
10730                 - Move it low in the class hierarchy, don't reference any NM types.
10731                 - Remove private data from the header.
10732                 - Use type safe checks in public API methods.
10733                 - Make it a singleton so we don't have to pass the single reference around.
10734
10735 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10736
10737         * introspection/nm-ip4-config.xml: Implement.
10738
10739         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10740
10741         * libnm-glib/nm-ip4-config.c:
10742         * libnm-glib/nm-ip4-config.c: Implement.
10743
10744         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10745         securities. APs reference security.
10746
10747         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10748         be exported over DBUS.
10749
10750         * src/nm-device-802-3-ethernet.c: Ditto.
10751
10752         * src/NetworkManagerAP.c:
10753         * src/NetworkManagerAP.h:
10754                 - Convert to GObject, export over DBUS.
10755
10756         * src/nm-ip4-config.h:
10757         * src/nm-ip4-config.h:
10758                 - Convert to GObject, export over DBUS.
10759
10760 2007-02-12  Dan Williams  <dcbw@redhat.com>
10761
10762         Patch from Helmut Schaa <hschaa@suse.de>
10763
10764         * vpn-daemons/pptp/configure.in
10765           vpn-daemons/pptp/Makefile.am
10766           vpn-daemons/openvpn/configure.in
10767           vpn-daemons/openvpn/Makefile.am
10768           vpn-daemons/vpnc/configure.in
10769           vpn-daemons/vpnc/Makefile.am
10770                 - Add --without-gnome switch which disables building gnome bits
10771
10772 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10773
10774         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10775
10776         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10777
10778         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10779         'HwAddress'.
10780
10781         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10782
10783         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10784
10785         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10786
10787         * src/:
10788                 - Remove old low-level dbus interface implementations and replace them
10789                   with dbus-glib one.
10790
10791         * configure.in:
10792                 - Require dbus-glib >= 0.72.
10793                 - Plug in new sources to build.
10794
10795         * libnm-glib/:
10796                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10797                   to make it more convenient to use from GObject based programs.
10798
10799         * introspection/:
10800                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10801
10802 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10803
10804         * src/nm-device-802-11-wireless.c:
10805                 - Add "network-added" and "network-removed" signals.
10806                 - Use gobject boilerplate macros to define the GObject.
10807                 - Implement wireless device activation.
10808                 - Remove activation_failure_handler and activation_success_handler
10809                   and instead listen on state-changed signals and run the same code
10810                   from there.
10811
10812         * src/nm-device.c:
10813                 - Implment NMDeviceInterface::deactivate.
10814                 - Remove activation_failure_handler and activation_success_handler
10815                   virtual methods. Each device which is interested in these events
10816                   can just listen on it's state changed signals.
10817
10818         * src/NetworkManagerPolicy.c:
10819                 - Move a bit more NMData usage to NMManager.
10820                 - Remove activation scheduling bits.
10821                 - Add listeners for wireless device's "network-added" and
10822                   "network-removed" signals.
10823                 - Listen device changed signals and deactivate currently activated
10824                   device when another device start activating (for now).
10825                 - Remove (nm_policy_schedule_device_change_check): There's never a need
10826                   for calling this, the policy code knows exactly when this should happen,
10827                   by listening on events from NMManager and NMDevices.
10828
10829         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
10830         Implement.
10831
10832         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
10833         method on the specific device instead of going to through policy code
10834         and determining the device type by passed in AP's existance.
10835
10836         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
10837         abstract NMDevice deactivation.
10838
10839 2007-02-08  Tambet Ingo  <tambet@ximian.com>
10840
10841         * src/NetworkManager.c:
10842                 - Set up all the shiny new managers.
10843
10844         * src/NetworkManagerPolicy.c:
10845                 - Add the beginnings of new NMPolicy code. Instead of requireing all
10846                   classes to call into policy code, make the policy code kind of like
10847                   a supervisor that monitors what's going on and drives the whole NM.
10848
10849         * src/nm-hal-manager.c: 
10850         * src/nm-hal-manager.h:
10851                 - Collect all libhal code scattered around NM to this one class.
10852                 - Listen libhal and NMManager events and add/remove devices to
10853                   NMManager.
10854
10855         * src/nm-manager.c:
10856         * src/nm-manager.h:
10857                 - Implment a replacement for NMData. NMData is now officially
10858                 deprecated.
10859
10860 2007-02-05  Tambet Ingo  <tambet@ximian.com>
10861
10862         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
10863         * src/supplicant-manager/nm-supplicant-interface.h
10864         * src/supplicant-manager/nm-supplicant-interface.c
10865         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
10866         argument to boolean from enum.
10867
10868         Make NMDevice abstract class, remove almost all references to it's
10869         subclasses (the last place gets removed with new policy manager). Add
10870         NMDeviceInterface (which NMDevice implements) so that when we have
10871         NMDevice exported over DBUS, there's a common NMDevice interface which
10872         all instances have, plus there's a device specific interface for each
10873         specific type.
10874         Remove functions (nm_device_is_802_3_ethernet) and
10875         (nm_device_is_802_11_wireless). There are already standard GObject macros
10876         for type safe checks.
10877         Use the updated supplican manager API.
10878
10879         * src/nm-device-interface.h: 
10880         * src/nm-device-interface.c: 
10881         * src/nm-call-store.h: 
10882         * src/nm-call-store.c: Implement.
10883
10884         * src/supplicant-manager/nm-supplicant-interface.c:
10885         * src/supplicant-manager/nm-supplicant-interface.h:
10886         * src/supplicant-manager/nm-supplicant-manager.c:
10887         * src/supplicant-manager/nm-supplicant-manager.h:
10888                 - Remove all private data type references from public header files.
10889                 - Remove all references to other NM classes, this class is just a
10890                   proxy between wpa_supplicant and NM so it doesn't have to know
10891                   any internals.
10892                 - Convert to dbus-glib bindings.
10893                 - Type safe checks for public methods' arguments.
10894                 - Store pending DBUS call ids to NMCallStore.
10895
10896         * src/supplicant-manager/nm-supplicant-config.c:
10897                 - Store config values in a GHashTable instead of GSList.
10898
10899         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
10900
10901         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
10902         singleton now.
10903
10904         * src/nm-device.c: Use the new DHCP manager API.
10905
10906         * src/nm-activation-request.c:
10907         * src/nm-activation-request.h:
10908                 - Remove all dhcp related properties and methods.
10909
10910         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
10911
10912         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
10913
10914         * src/dhcp-manager/nm-dhcp-manager.c:
10915         * src/dhcp-manager/nm-dhcp-manager.h:
10916                 - Convert it to GObject since we need to signal state changes.
10917                 - Remove all references to other NM classes, this class is one
10918                   of the lowest classes in our hierarchy.
10919                 - One less class to use NMActRequest.
10920                 - Make it singleton, one less user of NMData.
10921                 - Remove a couple of sleep() calls.
10922                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
10923                   One less class to use the NM's custom tailored signal handlig.
10924
10925         * Makefile.am: Generate marshallers, add them to build.
10926
10927 2007-02-02  Dan Williams  <dcbw@redhat.com>
10928
10929         * configure.in
10930           gnome/Makefile.am
10931           nm-applet.desktop
10932           Makefile.am
10933                 - Remove last bits referencing gnome applet
10934
10935 2007-02-02  Dan Williams  <dcbw@redhat.com>
10936
10937         * src/vpn-manager/nm-vpn-service.c
10938                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
10939                         and NBNS server addresses
10940
10941 2007-02-02  Tambet Ingo  <tambet@ximian.com>
10942
10943         * src/nm-dbus-manager.c:
10944         * src/nm-dbus-manager.h:
10945                 - Convert all internal DBUS code to use dbus-glib bindings.
10946                 - Remove GObject properties, we don't need them here.
10947                 - Don't explicitly set things to NULL after freeing, glib is
10948                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
10949                 - Make public API argument checks type safe.
10950                 - Remove unnecessary (and wrong) cast to GObject for the first
10951                   argument to g_signal_* calls - The first argument is a gpointer.
10952                 - Export DBusGConnection to other cool classes that (are going to)
10953                   use dbus-glib.
10954
10955 2007-01-26  Dan Williams  <dcbw@redhat.com>
10956
10957         * libnm-util/dbus-dict-helpers.c
10958           libnm-util/dbus-dict-helpers.h
10959                 - Coordinate style with wpa_supplicant version to minimize diff
10960                 - Add uint32 array support
10961                 - (nmu_dbus_dict_append_uint32_array): new function
10962                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
10963                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
10964                         version; allow adding string array elements individually
10965
10966         * test/libnm-util/test-dbus-dict-helpers.c
10967                 - Test uint32 arrays
10968
10969 2007-01-27  Jürg Billeter  <j@bitron.ch>
10970
10971         * src/backends/NetworkManagerPaldo.c
10972                 - (nm_system_update_dns): clear nscd hosts cache
10973
10974 2007-01-04  Dan Williams  <dcbw@redhat.com>
10975
10976         Threading removal related cleanups:
10977
10978         - Use the glib default main context.  Remove the device main context
10979                 member from NMDevice, and the main_context member from NMData.  Change
10980                 all the idle and timeout scheduler functions to use plain
10981                 g_idle_add() and g_timeout_add().
10982
10983         - As a side-effect of the first change, nm_dbus_manager_get() no longer
10984                 takes an argument; fix that up too.
10985
10986         - Remove all locking, which is useless since we no longer use threads.  For
10987                 example, nm_get_device_by_iface_locked() has been removed.  The global
10988                 device list lock, the AP List lock, and all static locks in
10989                 NetworkManagerPolicy.c have been removed.  The locking utility functions
10990                 in NetworkManagerUtils.c have also been removed.
10991
10992         - Other cleanups in spacing and code style
10993
10994 2007-01-01  Dan Williams  <dcbw@redhat.com>
10995
10996         Found by Bill Moss:
10997
10998         * src/supplicant-manager/nm-supplicant-interface.c
10999                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
11000                         the supplicant interface wasn't already disconnected.  Always
11001                         call removeNetwork and disconnect unless the supplicant interface
11002                         is in the DISCONNECTED or INACTIVE state.
11003
11004 2006-12-28  Dan Williams  <dcbw@redhat.com>
11005
11006         Use a single thread for everything.  With the move to wpa_supplicant
11007         and communication over D-Bus, there's no reason for multiple threads.
11008         Almost all of the blocking code has been removed, with one exception in
11009         the DHCP manager and a few in the VPN manager.  This commit removes the
11010         per-device worker thread and fixes activation cancellation in the absence
11011         of threads.  Further removal of thread-related code would be removing
11012         any locking code (like the device list lock) and simplification of logic
11013         around areas of code or data structures that are currently locked.
11014
11015         * autoip.c
11016           dhcp-manager/nm-dhcp-manager.c 
11017           nm-device-802-11-wireless.c
11018           nm-device-802-3-ethernet.c
11019           nm-device.c
11020           nm-device.h
11021                 - Remove usage of multiple threads
11022
11023 2006-12-19  Dan Williams  <dcbw@redhat.com>
11024
11025         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
11026         plus a few other patches from wpa_supplicant bugzilla.
11027
11028         * src/Makefile.am
11029           src/NetworkManagerPolicy.c
11030           src/NetworkManagerUtils.c
11031           src/NetworkManagerUtils.h
11032           src/nm-ap-security-leap.c
11033           src/nm-ap-security-wep.c
11034           src/nm-ap-security-wpa-eap.c
11035           src/nm-ap-security-wpa-psk.c
11036           src/nm-ap-security.c
11037           src/nm-ap-security.h
11038           src/nm-device-802-11-wireless.c
11039           src/nm-device-802-11-wireless.h
11040           src/supplicant-manager/nm-supplicant-config.c
11041           src/supplicant-manager/nm-supplicant-config.h
11042           src/supplicant-manager/nm-supplicant-interface.c
11043           src/supplicant-manager/nm-supplicant-interface.h
11044           src/supplicant-manager/nm-supplicant-marshal.list
11045           src/supplicant-manager/nm-supplicant-settings-verify.c
11046           src/supplicant-manager/nm-supplicant-settings-verify.h
11047                 - Move all connection management and association handling to
11048                         wpa_supplicant over dbus, rather than spawning a private copy
11049
11050 2006-12-19  Dan Williams  <dcbw@redhat.com>
11051
11052         * src/NetworkManagerPolicy.c
11053                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
11054                         better locking of the device change check handler ID.  Incorrect
11055                         locking was causing lost device change requests
11056
11057 2006-12-18  Dan Williams  <dcbw@redhat.com>
11058
11059         * libnm-util/dbus-dict-helpers.c
11060                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
11061                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
11062                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
11063
11064 2006-12-18  Dan Williams  <dcbw@redhat.com>
11065
11066         * gnome/libnm_glib/libnm_glib.c
11067                 - Change dbus_connection_close() -> dbus_connection_unref()
11068
11069 2006-12-11  Dan Williams  <dcbw@redhat.com>
11070
11071         * src/supplicant-manager/nm-supplicant-interface.c
11072                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
11073                         wpa_supplicant interface state
11074                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
11075                         state before transitioning to READY state
11076
11077 2006-12-04  Dan Williams  <dcbw@redhat.com>
11078
11079         * src/nm-device-802-11-wireless.c
11080                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
11081                         odd length of ESSID returned from ieee80211 stack-based drivers
11082
11083 2006-12-04  Dan Williams  <dcbw@redhat.com>
11084
11085         * src/nm-device-802-11-wireless.c
11086                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
11087                         IE handling blocks that cause mis-parsing of the IE
11088
11089 2006-12-04  Dan Williams  <dcbw@redhat.com>
11090
11091         * src/nm-device-802-11-wireless.c
11092                 - (init_supplicant_interface): new function; pull supplicant interface
11093                         setup code out into standalone function since it must be called from
11094                         two different places
11095                 - (real_init): sup_mgr is now in private object data; get and track
11096                         the supplicant manager object over the NMDevice subclass' lifetime
11097                         and register a signal handler for its state signals; only try to
11098                         initialize the supplicant interface if the supplicant manager is in
11099                         the IDLE state (and therefore is ready for requests)
11100                 - (request_wireless_scan): reschedule the scan request if (a) there is
11101                         no supplicant interface yet (meaning wpa_supplicant isn't running
11102                         or isn't ready yet), or (b) if the supplicant interface isn't ready
11103                         for requests yet
11104                 - (supplicant_iface_connection_state_cb): new function; stub for
11105                         handling supplicant interface connection state signals
11106                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
11107                         comes and goes
11108                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
11109                         supplicant manager object that's being tracked starting with this
11110                         commit
11111
11112 2006-12-04  Dan Williams  <dcbw@redhat.com>
11113
11114         * src/supplicant-manager/nm-supplicant-interface.c
11115                 - (nm_supplicant_interface_set_property): track signal handler ID
11116                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
11117
11118 2006-12-04  Dan Williams  <dcbw@redhat.com>
11119
11120         * src/supplicant-manager/nm-supplicant-interface.[ch]
11121                 - (nm_supplicant_interface_get_state): new function
11122
11123 2006-12-04  Dan Williams  <dcbw@redhat.com>
11124
11125         * src/supplicant-manager/nm-supplicant-interface.c
11126                 - (bssid_properties_cb): don't treat DBus errors as valid
11127                         scanned AP messages
11128
11129 2006-12-04  Dan Williams  <dcbw@redhat.com>
11130
11131         * src/supplicant-manager/nm-supplicant-interface.[ch]
11132                 - (nm_supplicant_interface_get_connection_state): new function
11133                 - define new supplicant connection states
11134                 - send a signal when the supplicant connection state changes
11135
11136 2006-12-03  Dan Williams  <dcbw@redhat.com>
11137
11138         * src/supplicant-manager/Makefile.am
11139           src/supplicant-manager/nm-supplicant-connection.h
11140           src/supplicant-manager/nm-supplicant-connection.c
11141           src/supplicant-manager/nm-supplicant-config.h
11142           src/supplicant-manager/nm-supplicant-config.c
11143           src/supplicant-manager/nm-supplicant-types.h
11144           src/supplicant-manager/nm-supplicant-interface.h
11145           src/supplicant-manager/nm-supplicant-interface.c
11146                 - Rename NMSupplicantConnection -> NMSupplicantConfig
11147
11148 2006-12-03  Dan Williams  <dcbw@redhat.com>
11149
11150         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
11151
11152         * po/POTFILES.in
11153           po/POTFILES.skip
11154                 - Move VPN-related translatables to .skip
11155
11156         * vpn-daemons/pptp/po/POTFILES.in
11157                 - Update with new translatables
11158
11159 2006-12-02  Dan Williams  <dcbw@redhat.com>
11160
11161         Patch from Christian Persch <chpe@gnome.org>
11162
11163         * gnome/applet/Makefile.am
11164           gnome/applet/applet-dbus-devices.c
11165           gnome/applet/applet-notifications.c
11166           gnome/applet/applet.c
11167           gnome/applet/applet.h
11168           gnome/applet/main.c
11169                 - Be a GtkStatusIcon on GTK+ >= 2.10
11170
11171 2006-12-02  Dan Williams  <dcbw@redhat.com>
11172
11173         * gnome/applet/applet.c
11174                 - (nma_update_info): fix two unecessary allocations
11175
11176 2006-12-02  Dan Williams  <dcbw@redhat.com>
11177
11178         Patch from Michael Biebl <biebl@teco.edu>
11179         * configure.in
11180           man/NetworkManager.1.in
11181           man/NetworkManagerDispatcher.1.in
11182           man/NetworkManager.8.in
11183           man/NetworkManagerDispatcher.8.in
11184                 - Add .SH NAME stanzas
11185                 - Move NM & NM Dispatcher manpages to section 8 (admin)
11186
11187 2006-12-02  Dan Williams  <dcbw@redhat.com>
11188
11189         Patch from Christian Persch <chpe@gnome.org>
11190
11191         * configure.in
11192                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
11193
11194 2006-11-29  Tambet Ingo  <tambet@ximian.com>
11195
11196         Patch by Timo Hoenig <thoenig@suse.de>:
11197         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
11198         DBUS-1.0.
11199
11200         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
11201         we can't use the one from the main source directory.
11202
11203 2006-11-27  Dan Williams  <dcbw@redhat.com>
11204
11205         Patch from Christian Persch <chpe@gnome.org>
11206
11207         * gnome/applet/applet-dbus-devices.c
11208                 - (hal_info_product_cb): fix memleak; free duped string.
11209                         Gnome.org #379908
11210
11211 2006-11-27  Dan Williams  <dcbw@redhat.com>
11212
11213         Patch from Christian Persch <chpe@gnome.org>
11214
11215         * gnome/applet/menu-items.c
11216                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
11217                         as gtk_progress_set_percentage is deprecated.  Should
11218                         work as far back as GTK+ 2.4.  Gnome.org #379780
11219
11220 2006-11-26  Dan Williams  <dcbw@redhat.com>
11221
11222         Scan using wpa_supplicant over DBus.
11223
11224         * src/nm-device-802-11-wireless.c
11225                 - remove wireless extensions netlink event handler bits
11226                         (wireless_event_helper, nm_device_802_11_wireless_event)
11227                 - remove wireless extensions scan event handler bits
11228                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
11229                         hex2byte, hex2num, request_and_convert_scan_results,
11230                         free_process_scan_cb_data, scan_results_timeout,
11231                         schedule_scan_results_timeout, cancel_scan_results_timeout)
11232                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
11233                         and request scans from the supplicant interface rather than directly
11234                 - Move functionality of convert_scan_results() to cull_scan_list() and
11235                         supplicant_iface_scanned_ap_cb()
11236                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
11237                         at the scan interval when the current scan has finished
11238                 - (supplicant_iface_state_cb): start scanning when the supplicant
11239                         interface enters the READY state, and stop scanning when it
11240                         enters the DOWN state
11241                 - (cull_scan_list): weed out old access points from the scan list
11242                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
11243                         point into an NMAccessPoint and merge it into the device's scan list
11244
11245         * src/supplicant-manager/nm-supplicant-interface.c
11246           src/supplicant-manager/nm-supplicant-interface.h
11247                 - Add a new signal "scan-result" which is issued when the supplicant
11248                         notifies NM that a scan has completed
11249                 - Add a new signal "scanned-ap" that notifies listeners of a new access
11250                         point found in the scan.  Called once for each access point that
11251                         the supplicant interface object receives from the supplicant as a
11252                         result of the "scanResults" method call
11253                 - (wpas_iface_query_scan_results): don't wait 4s before querying
11254                         for the initial scan results
11255                 - (scan_request_cb): new function; send listeners the result
11256                         (success, error) of a wireless scan request
11257                 - (nm_supplicant_interface_request_scan): new function; ask the
11258                         supplicant to perform an immediate wireless scan
11259
11260 2006-11-25  Dan Williams  <dcbw@redhat.com>
11261
11262         * src/supplicant-manager/Makefile.am
11263                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
11264                         add HAL cflags/includes and named-manager includes directory
11265
11266         * src/supplicant-manager/nm-supplicant-interface.h
11267                 - New state STARTING to handle transition from INIT to READY where
11268                         the addInterface pending call is still outstanding
11269
11270         * src/supplicant-manager/nm-supplicant-interface.c
11271                 - track pending calls differently since we may have more than one
11272                         going on at any given time
11273                 - request scan results from wpa_supplicant; but don't do it more often
11274                         than every 4 seconds.  Drivers that do background scanning
11275                         (like the 'ipw' drivers) send a continuous stream of scan completion
11276                         notifications, so we don't want to hammer the supplicant or dbus
11277                         with requests for all scan results every time we get a completion
11278                         notification.
11279
11280 2006-11-25  Dan Williams  <dcbw@redhat.com>
11281
11282         * src/supplicant-manager/nm-supplicant-types.h
11283                 - new file; move all supplicant manager object typedefs here for
11284                         #include sanity
11285
11286         * src/supplicant-manager/nm-supplicant-interface.c
11287           src/supplicant-manager/nm-supplicant-interface.h
11288                 - new file; an object that interfaces an NMDevice object to the
11289                         supplicant and handles signals from the supplicant.  This object
11290                         does all necessary DBus communication with wpa_supplicant.
11291
11292         * src/supplicant-manager/nm-supplicant-manager.c
11293           src/supplicant-manager/nm-supplicant-manager.h
11294                 - Actually do something.  Track the state of the wpa_supplicant service
11295                         and deal with its comings & goings.  Handle life events of
11296                         supplicant interfaces too.
11297                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
11298
11299         * src/supplicant-manager/nm-supplicant-connection.h
11300                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
11301
11302         * src/supplicant-manager/Makefile.am
11303                 - Add new files to build, and add libnm-util to includes
11304
11305         * src/nm-marshal.list
11306                 - New marshaler type: VOID:UINT,UINT
11307
11308         * src/nm-device-802-3-ethernet.c
11309                 - (real_init): grab a supplicant interface
11310                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
11311                 - (supplicant_iface_state_cb): new function, stub for handling
11312                         supplicant interface state changes
11313
11314         * src/nm-device-802-11-wireless.c
11315                 - (real_init): grab a supplicant interface
11316                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
11317                 - (supplicant_iface_state_cb): new function, stub for handling
11318                         supplicant interface state changes
11319
11320         * src/NetworkManager.c
11321                 - (main): create and keep the supplicant manager around for the lifetime
11322                         of NetworkManager
11323
11324         * src/Makefile.am
11325                 - Link to the supplicant manager sub-library and use the supplicant
11326                         manager includes
11327
11328 2006-11-25  Dan Williams  <dcbw@redhat.com>
11329
11330         Rework DBus manager signal handling to be more flexible.  Previously,
11331         only one signal handler could be registered for a particular interface.
11332         The DBus manager now reference counts DBus bus matches and allows multiple
11333         clients to register signal handlers for the same interface and sender.
11334
11335         * src/NetworkManager.c
11336                 - (main): track NMI signal handler ID and remove it when we quit
11337
11338         * src/NetworkManagerMain.h
11339                 - Keep track of NMI signal handler ID
11340
11341         * src/nm-dbus-manager.c
11342           src/nm-dbus-manager.h
11343                 - rework signal handling; each signal handler references one signal
11344                         match, but a signal match may be referenced by one or more
11345                         signal handlers.  Matches are refcounted and are destroyed when the
11346                         last signal handler that references the match is removed.  This is
11347                         necessary because two signal handlers may end up requiring the same
11348                         dbus bus match, so the match must live until the last signal handler
11349                         is destroyed (for example, with the wpa_supplicant network interface
11350                         dbus interface).
11351
11352         * src/dhcp-manager/nm-dhcp-manager.c
11353                 - (nm_dhcp_manager_new): track DHCP signal handler id
11354                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
11355
11356         * src/vpn-manager/nm-vpn-service.c
11357                 - (nm_vpn_service_add_watch): track VPN service signal handler id
11358                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
11359
11360 2006-11-25  Dan Williams  <dcbw@redhat.com>
11361
11362         Suggested by Helmut Schaa <hschaa@suse.de>
11363
11364         * src/vpn-daemons/nm-vpn-service.c
11365                 - (supplicant_child_setup): new function
11366                 - (supplicant_exec): make child process use a new process group id
11367
11368         * src/nm-device-802-11-wireless.c
11369                 - (nm_vpn_service_child_setup): new function
11370                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
11371                         process group id
11372
11373 2006-11-19  Dan Williams  <dcbw@redhat.com>
11374
11375         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
11376         * gnome/vpn-properties/nm-vpn-properties.c
11377                 - clean up after renamed VPN connection
11378
11379 2006-11-19  Dan Williams  <dcbw@redhat.com>
11380
11381         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
11382         * gnome/applet/applet-dbus-vpn.c
11383                 - (nma_dbus_vpn_properties_cb): sort VPN connections
11384
11385         * gnome/vpn-properties/nm-vpn-properties.c
11386                 - (init_app): sort VPN connections
11387
11388 2006-11-09  Dan Williams  <dcbw@redhat.com>
11389
11390         * src/NetworkManagerAPList.c
11391                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
11392                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
11393                 from the nm_ap_list_get_ap_by_address() call was incorrect and
11394                 broke hidden SSID matching.  Found by Bill Moss.
11395
11396 2006-10-25  Dan Williams  <dcbw@redhat.com>
11397
11398         * src/nm-dbus-nm.c
11399                 - (nm_dbus_nm_set_active_device): return an empty success message on
11400                         success, rather than falling through to the error case.
11401
11402 2006-10-25  Dan Williams  <dcbw@redhat.com>
11403
11404         * src/NetworkManagerUtils.c
11405                 - (nm_utils_supplicant_request_with_check): suppress messages for the
11406                         "SCAN" command
11407
11408 2006-10-24  Dan Williams  <dcbw@redhat.com>
11409
11410         Reduce the number of times the Gnome applet wakes up, especially when
11411         it's doing absolutely nothing and is hidden.  Initial patch by
11412         Chris Aillon.
11413
11414         * gnome/applet/applet-dbus.c
11415                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
11416                         kill the redraw timeout.  When NM starts up, start the redraw
11417                         timeout.  Also, if we get kicked off the bus for some reason,
11418                         start the reconnection timeout if one's not already running.
11419                 - (nma_dbus_init): better handling of error conditions, don't leak
11420                         a half-initialized dbus connection
11421                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
11422                         the applet's data, just call nm_dbus_init_helper()
11423                 - (nma_start_dbus_connection_watch): new function, starts a periodic
11424                         timeout that calls nma_dbus_connection_watcher()
11425                 - (nma_dbus_init_helper): if we get a successful connection, kill the
11426                         reconnection timeout, and don't start the reconnection timeout
11427                         unconditionally anymore
11428
11429         * gnome/applet/applet-dbus.h
11430                 - Expose nma_start_dbus_connection_watch()
11431
11432         * gnome/applet/applet.c
11433                 - (nma_update_state): no longer static, called from applet-dbus.c for
11434                         immediate UI updates on certain events
11435                 - (nma_set_running): new function; take over setting applet->running,
11436                         when not running (ie, NM is not active), don't activate the redraw
11437                         timeout because we're not showing the applet anyway.  When we are
11438                         running (ie, NM is active), and only when we're running, start the
11439                         redraw timeout.
11440                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
11441                         kill any reconnection timeout
11442                 - (nma_get_instance): move one-off dbus initialization code here since
11443                         nm_dbus_init_helper() gets called more than once, possibly by the
11444                         reconnection timeout function too.  And, when we start up, if we
11445                         can't get a connection to the bus, start the reconnection timeout.
11446                         But don't start the redraw timeout yet, only do that when we get
11447                         NM's state and find out if it's running or not.
11448
11449         * gnome/applet/applet.h
11450                 - Add the reconnection GSource ID
11451                 - Add prototypes for nma_set_running() and the no-longer-static
11452                         nma_update_state()
11453
11454 2006-10-24  Dan Williams  <dcbw@redhat.com>
11455
11456         * src/vpn-daemons/nm-dbus-vpnc.c
11457                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
11458                         pending call tracker
11459                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
11460                         pending call tracker; register one-vpn-connection update pending
11461                         call in pending call tracker
11462                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
11463                         update pending call in pending call tracker
11464                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
11465                         update pending call in pending call tracker; don't block waiting
11466                         for call to return
11467
11468 2006-10-19  Robert Love  <rml@novell.com>
11469
11470         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
11471           refresh the cache.
11472
11473 2006-10-14  Dan Williams  <dcbw@redhat.com>
11474
11475         * src/dhcp-manager/nm-dhcp-manager.c
11476                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
11477                 the dbus connection and the device object path rather than
11478                 constructing it inside both functions.  Saves a bit of memory
11479                 and clarifies a failure path.
11480                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
11481                 and allocate device path here rather than each of the two
11482                 functions above.
11483
11484 2006-10-13  Dan Williams  <dcbw@redhat.com>
11485
11486         * src/NetworkManager.c
11487                 - (nm_name_owner_changed_handler): handle NMI coming and going,
11488                 this somehow droppout in the refactor
11489
11490 2006-10-13  Dan Williams  <dcbw@redhat.com>
11491
11492         * Huge DBus refactor:
11493                 - Create a "DBus Manager" object which manages the connection and
11494                 sends signals on NameOwnerChanged and connection/disconnection events,
11495                 handles reconnection to the bus if NM gets kicked off, and abstracts
11496                 signal handling
11497                 - Remove DBusConnection members from places where they are no
11498                 longer needed due to the refactor, like the dbus-connection
11499                 property of the named manager, and from NMData
11500                 - Reformats a bunch of the code to gnome style
11501                 (8-space tabs, braces on same line as statement, 80-col width).
11502                 Consider it open season to reformat any bits to gnome style.
11503                 style that aren't already.
11504
11505 2006-10-13  Dan Williams  <dcbw@redhat.com>
11506
11507         * src/supplicant-manager/Makefile.am
11508                 - Add new files
11509
11510         * src/supplicant-manager/nm-supplicant-manager.[ch]:
11511                 - Make it a minimal GObject
11512
11513         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
11514                 - Verify settings destined for wpa_supplicant
11515
11516         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
11517                 - Minimal GObject to track wpa_supplicant controlled device
11518                 connections
11519
11520 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
11521
11522         * gnome/applet/applet.c: (nma_update_info),
11523         (nma_act_stage_to_pixbuf), (nma_update_state):
11524         Mark missing strings for translation. Fixes bug #343306.
11525
11526 2006-10-01  Dan Williams  <dcbw@redhat.com>
11527
11528         * src/vpn-manager/nm-vpn-manager.c
11529                 - (nm_vpn_manager_load_services): split and clean up
11530                 for readability and correctness.  Restrict VPN service
11531                 files to ending in ".name", as was meant from the
11532                 beginning (but not coded in).  Better error reporting.
11533
11534 2006-10-01  Dan Williams  <dcbw@redhat.com>
11535
11536         * utils/nm-utils.h
11537                 - Clean up formatting of debug/info/warning log messages
11538
11539 2006-09-27  Robert Love  <rml@novell.com>
11540
11541         Patch by Tambet Ingo <tambet@ximian.com>:
11542         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
11543           actually work.
11544
11545 2006-09-07  Dan Williams <dcbw@redhat.com>
11546
11547         * test/Makefile.am
11548           test/libnm-util/Makefile.am
11549           test/nm-supplicant-test.c
11550                 - Add test program emulating the way NM drives wpa_supplicant
11551                 to help debug supplicant issues
11552
11553 2006-08-24  Dan Williams <dcbw@redhat.com>
11554
11555         * configure.in
11556           src/Makefile.am
11557           src/supplicant-manager/Makefile.am
11558           src/supplicant-manager/nm-supplicant-manager.c
11559           src/supplicant-manager/nm-supplicant-manager.h
11560                 - Add skeleton bits of the wpa_supplicant manager
11561
11562 2006-08-24  Dan Williams <dcbw@redhat.com>
11563
11564         Patch from Ed Catmur:
11565         * src/NetworkManagerUtils.c
11566                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
11567                 if netmask is 0 (Gnome #352634)
11568
11569 2006-08-17  Robert Love  <rml@novell.com>
11570
11571         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
11572           package is now DBUS-enabled and listens for the NM signals.
11573
11574 2006-08-14  Dan Williams  <dcbw@redhat.com>
11575
11576         * Patch from Christian Persch <chpe gnome org>
11577         * configure.in
11578           po/LINGUAS
11579           vpn-daemons/openvpn/po/LINGUAS
11580           vpn-daemons/openvpn/configure.in
11581           vpn-daemons/pptp/po/LINGUAS
11582           vpn-daemons/pptp/configure.in
11583           vpn-daemons/vpnc/po/LINGUAS
11584           vpn-daemons/vpnc/configure.in
11585                 - Convert to LINGUAS method so translators don't have to modify
11586                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
11587                 0.35 or higher
11588
11589 2006-08-14  Dan Williams  <dcbw@redhat.com>
11590
11591         Patch from Alex Smith <alex.extreme2@gmail.com>
11592         * configure.in
11593           src/backends/Makefile.am
11594           src/backends/NetworkManagerFrugalware.c
11595                 - Add support for Frugalware
11596
11597 2006-08-13  Dan Williams  <dcbw@redhat.com>
11598
11599         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11600         * src/nm-device-802-11-wireless.c
11601                 - (supplicant_exec): spawn wpa_supplicant without debug spew
11602                 Gnome #346875
11603
11604 2006-08-13  Dan Williams  <dcbw@redhat.com>
11605
11606         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11607         * src/nm-ap-security.c
11608           src/nm-ap-security.h
11609                 - Add authentication_required bits for subclasses to specify whether
11610                 or not real authentication is required for connections, i.e. whether
11611                 the AP rejects us when an encryption key is wrong or not.
11612
11613         * src/nm-ap-security-wep.c
11614           src/nm-ap-security-wpa-eap.c
11615           src/nm-ap-security-wpa-psk.c
11616           src/nm-ap-security-leap.c
11617                 - Implement authentication_required appropriately for each method
11618
11619         * src/nm-device-802-11-wireless.c
11620                 - Be smarter about when to request a key; for example, using a wrong key
11621                 in WEP shared key mode previously just timed out and did not request
11622                 a new key
11623
11624 2006-08-13  Dan Williams  <dcbw@redhat.com>
11625
11626         * gnome/libnm_glib/libnm_glib.c
11627                 - dbus_connection_disconnect() -> dbus_connection_close() for
11628                 dbus >= 0.90
11629
11630 2006-08-07  Dan Williams  <dcbw@redhat.com>
11631
11632         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11633         * src/NetworkManagerSystem.c
11634                 - Respect specified MTU.  Gnome #344967
11635
11636 2006-08-07  Dan Williams  <dcbw@redhat.com>
11637
11638         * src/vpn-manager/nm-vpn-service.c
11639                 - Simplify print_vpn_config() arguments
11640
11641         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11642         * src/vpn-manager/Makefile.am
11643           src/vpn-manager/nm-vpn-service.c
11644                 - Add new API for passing VPN config options as a dict. Gnome #344967
11645
11646 2006-08-06  Dan Williams  <dcbw@redhat.com>
11647
11648         * gnome/applet/applet-dbus-devices.c
11649           gnome/applet/applet-dbus-vpn.c
11650           gnome/applet/applet-dbus.c
11651           gnome/applet/applet-dbus.h
11652           src/nm-dbus-nmi.c
11653           utils/nm-utils.c
11654           utils/nm-utils.h
11655                 - Make pending call tracking code generic,
11656                 so we can use it in NM as well as the applet
11657
11658 2006-08-06  Dan Williams  <dcbw@redhat.com>
11659
11660         * src/nm-activation-request.c
11661                 - Refcount pending call objects
11662
11663 2006-08-06  Dan Williams  <dcbw@redhat.com>
11664
11665         Patch from Christan Chiesa <christanc@gmail.com>
11666         * configure.in
11667                 - Tell sha1.c to use bigendian mode on PPC
11668
11669 2006-08-04  Robert Love  <rml@novell.com>
11670
11671         Glib Memory Slices!
11672         * configure.in: Require glib 2.10 or later.
11673         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11674           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11675           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11676           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11677           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11678           Memory Slices are the greatest thing since bread slices.
11679         * src/NetworkManagerAP.c: Also, fix memory leak.
11680
11681 2006-08-01  Robert Love  <rml@novell.com>
11682
11683         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11684
11685 2006-07-31  Robert Love  <rml@novell.com>
11686
11687         * src/backends/interface_parser.c: Declarations must begin the block.
11688
11689 2006-07-24  Dan Williams  <dcbw@redhat.com>
11690
11691         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11692         * src/backends/Makefile.am
11693           src/backends/NetworkManagerArch.c
11694           src/backends/NetworkManagerDebian.c
11695           src/backends/NetworkManagerGeneric.c
11696           src/backends/NetworkManagerGeneric.h
11697           src/backends/NetworkManagerGentoo.c
11698           src/backends/NetworkManagerPaldo.c
11699           src/backends/NetworkManagerRedHat.c
11700           src/backends/NetworkManagerSlackware.c
11701           src/backends/NetworkManagerSuSE.c
11702                 - Genericize common backend functions
11703
11704 2006-07-18  Robert Love  <rml@novell.com>
11705
11706         * configure.in: Add "--with-notify" option to allow disabling of
11707           libnotify support.
11708
11709 2006-07-13  Dan Williams  <dcbw@redhat.com>
11710
11711         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11712         * gnome/applet/applet.glade
11713           gnome/applet/Makefile.am
11714           gnome/applet/nm-gconf-wso.c
11715           gnome/applet/nm-gconf-wso-leap.c
11716           gnome/applet/nm-gconf-wso-leap.h
11717           gnome/applet/wireless-security-manager.c
11718           gnome/applet/wso-leap.c
11719           gnome/applet/wso-leap.h
11720           include/NetworkManager.h
11721           libnm-util/dbus-helpers.c
11722           libnm-util/dbus-helpers.h
11723           src/Makefile.am
11724           src/NetworkManagerAP.c
11725           src/nm-ap-security.c
11726           src/nm-ap-security-leap.c
11727           src/nm-ap-security-leap.h
11728                 - Add LEAP authentication support
11729
11730 2006-07-13  Dan Williams  <dcbw@redhat.com>
11731
11732         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11733         * configure.in
11734           src/backends/NetworkManagerArch.c
11735           src/backends/NetworkManagerDebian.c
11736           src/backends/NetworkManagerGentoo.c
11737           src/backends/NetworkManagerPaldo.c
11738           src/backends/NetworkManagerRedHat.c
11739           src/backends/NetworkManagerSlackware.c
11740           src/backends/NetworkManagerSuSE.c
11741                 - Convert hardcoding of 'ip' path to configure-time
11742                         detected one
11743
11744 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11745
11746         * configure.in: added ru to ALL_LINGUAS
11747
11748 2006-07-10  Dan Williams  <dcbw@redhat.com>
11749
11750         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11751         * src/nm-device.c
11752                 - (real_act_stage3_ip_config_start): don't infinite loop when
11753                         dhcdbd isn't running (Gnome #346845)
11754
11755 2006-07-09  Dan Williams  <dcbw@redhat.com>
11756
11757         * gnome/applet/applet.c
11758                 - (nma_destroy): don't pass NULL to notify_notification_close
11759                         (RH #197917)
11760
11761 2006-07-09  Dan Williams  <dcbw@redhat.com>
11762
11763         * gnome/applet/applet.c
11764                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11765
11766 2006-07-04  Tor Krill  <tor@krill.nu>
11767
11768         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11769         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11770         (nm_system_restart_mdns_responder), (ArchReadConfig),
11771         (nm_system_device_get_system_config):
11772                 - Explicitly check for DHCP configuration
11773                 - Check if daemons are running before starting them
11774
11775 2006-06-25  Dan Williams  <dcbw@redhat.com>
11776
11777         * libnm-util/dbus-dict-helpers.[ch]
11778           test/libnm-util/test-dbus-dict-helpers.c
11779                 - Add string array support
11780
11781 2006-06-24  Dan Williams  <dcbw@redhat.com>
11782
11783         * src/dhcp-manager/nm-dhcp-manager.c
11784                 - (nm_dhcp_manager_process_signal): clean up spacing
11785
11786 2006-06-21  Dan Williams  <dcbw@redhat.com>
11787
11788         * src/nm-dbus-device.c
11789                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11790                         through dbus
11791
11792 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11793
11794         * configure.in: Added 'lv' to ALL_LINGUAS
11795
11796 2006-06-19  Dan Williams  <dcbw@redhat.com>
11797
11798         * src/NetworkManagerAP.c
11799                 - Clarify usage of user_created
11800
11801         * src/nm-ap-security-wep.c
11802           src/nm-ap-security-wpa-eap.c
11803           src/nm-ap-security-wpa-psk.c
11804           src/nm-ap-security.c
11805           src/nm-ap-security.h
11806                 - s/user_created/adhoc, because we really do mean adhoc
11807
11808         Patch from Bernard Blackham <bernard@blackham.com.au>
11809         * src/nm-device-802-11-wireless.c         
11810                 - (supplicant_send_network_config): instead of user_created,
11811                         use adhoc, and do AP_SCAN 2 for adhoc networks
11812
11813 2006-06-18  Robert Love  <rml@novell.com>
11814
11815         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11816           we have a value to set.  Gconf generates a warning if `val' is NULL.
11817         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11818           unless we actually received a valid private key file passphrase or
11819           password.  Otherwise, we don't know to later ask the applet to pull
11820           the key from the keyring.
11821
11822 2006-06-17  Dan Williams  <dcbw@redhat.com>
11823
11824         * libnm-util/dbus-dict-helpers.[ch]
11825           test/libnm-util/test-dbus-dict-helpers.c
11826                 - Fixes for zero-length byte arrays
11827                 - Replace return values of 0 with FALSE for clarity
11828                 - Test zero-length byte arrays
11829
11830 2006-06-17  Dan Williams  <dcbw@redhat.com>
11831
11832         * libnm-util/dbus-dict-helpers.[ch]
11833           test/libnm-util/test-dbus-dict-helpers.c
11834                 - Add helpers for byte arrays
11835                 - Rework bits of the testcase
11836
11837 2006-06-16  Dan Williams  <dcbw@redhat.com>
11838
11839         * libnm-util/Makefile.am
11840         * libnm-util/dbus-dict-helpers.[ch]
11841                 - Add some helpers to take the pain out of using dict types in
11842                         dbus.
11843
11844         * test/libnm-util/Makefile.am
11845         * test/libnm-util/test-dbus-dict-helpers.c
11846                 - Test cases for the dict helper functions
11847
11848 2006-06-15  Robert Love  <rml@novell.com>
11849
11850         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
11851           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
11852           if there is no key to pass.
11853         * libnm-util/dbus-helpers.c: Given the above, we can trust always
11854           receiving a non-NULL key.
11855
11856 2006-06-14  Robert Love  <rml@novell.com>
11857
11858         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
11859           copy the strings.
11860
11861
11862 2006-06-14  Dan Williams  <dcbw@redhat.com>
11863
11864         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
11865         * src/nm-device-802-11-wireless.c
11866                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
11867                         or ones where the driver is unknown
11868                 - (supplicant_exec): don't wait for supplicant startup here
11869                 - (supplicant_interface_init): finer grained polling for supplicant
11870                         startup
11871
11872 2006-06-13  Robert Love  <rml@novell.com>
11873
11874         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
11875           if it is currently set to TRUE.  Otherwise, we will reset the value
11876           when we connect normally.
11877         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
11878           the old BSSID is valid, too.  The recently added ESSID check may not be
11879           sufficient (we can remove it?).  What we really want to catch is the
11880           case of going from all-zeros to the BSSID of some other network, which
11881           happens on failure.
11882
11883 2006-06-09  Dan Williams  <dcbw@redhat.com>
11884
11885         * src/NetworkManagerSystem.[ch]
11886                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
11887                         it was unused and pointless
11888                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
11889                         fix for set_up_down_with_iface change
11890
11891         * src/vpn-manager/nm-vpn-connection.c
11892                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
11893
11894         * src/backends/NetworkManagerPaldo.c
11895           src/backends/NetworkManagerRedHat.c
11896           src/backends/NetworkManagerSuSE.c
11897           src/backends/NetworkManagerArch.c
11898           src/backends/NetworkManagerDebian.c
11899           src/backends/NetworkManagerGentoo.c
11900                 - (nm_system_enable_loopback): use set_up_down_with_iface where
11901                         appropriate
11902                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
11903                         where appropriate
11904
11905 2006-06-09  Dan Williams  <dcbw@redhat.com>
11906
11907         Patch from Peter Jones:
11908         * src/nm-device-802-11-wireless.c
11909                 - (nm_device_802_11_wireless_update_bssid): make sure that the
11910                         SSID hasn't changed from what we expect before automatically
11911                         updating the saved BSSID from a new AP
11912
11913 2006-06-08  Robert Love  <rml@novell.com>
11914
11915         Add 'fallback' support.  NetworkManager will attempt to brute-force
11916         connect to networks marked as fallback if there are no better wireless
11917         connections available.  This is useful as a method of last resort, to
11918         work around driver problems, and for use with hidden networks.
11919         * gnome/applet/applet-dbus-devices.c,
11920           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
11921         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
11922           pass it on via DBUS.
11923         * gnome/applet/applet.c: No fallback by default.
11924         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
11925           Update other-network-dialog to add UI checkbox toggling fallback.
11926         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
11927           propery from AP object.  Add "fallback" property to AP object.
11928         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
11929         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
11930         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
11931           separate function.  Add get_best_fallback_ap() for returning an AP
11932           on which to attempt fallback.
11933         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
11934         * test/nm-set-fallback: New file.  Sets a given network as fallback.
11935
11936 2006-06-07  Robert Love  <rml@novell.com>
11937
11938         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
11939           checked that the return type was GCONF_VALUE_STRING, not the correct
11940           GCONF_VALUE_BOOL, and thus it never worked.
11941         * src/NetworkManagerAPList.c: Before concluding that two networks are
11942           identical based on their BSSID, make sure that the BSSID in question
11943           is actually valid.  Specifically, an empty or all zero BSSID does not
11944           cut it.
11945         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
11946           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
11947           similar invariant clean up.
11948
11949 2006-06-02  Robert Love  <rml@novell.com>
11950
11951         * gnome/applet/applet.c: Update copyright years.  Add Novell.
11952
11953 2006-05-28  Dan Williams  <dcbw@redhat.com>
11954
11955         * gnome/applet/applet.glade
11956           gnome/vpn-properties/nm-vpn-properties.glade
11957                 - Set window icons on dialogs  (Gnome.org #333420)
11958
11959 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
11960
11961         * gnome/vpn-properties/nm-vpn-properties.glade:
11962         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
11963         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
11964         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
11965                 - Make the VPN properties pages prettier and more HIG
11966                   compliant. Gnome Bug #336913.
11967
11968 2006-05-28  Dan Williams  <dcbw@redhat.com>
11969
11970         Patch from Christian Persch <chpe@gnome.org>
11971         * gnome/vpn-properties/nm-vpn-properties.c
11972         * gnome/vpn-properties/nm-vpn-properties.glade
11973                 - HIG-ification love  (Gnome.org #336846)
11974
11975 2006-05-28  Dan Williams  <dcbw@redhat.com>
11976
11977         Patch from Christian Persch <chpe@gnome.org>
11978         * configure.in
11979           gnome/vpn-properties/nm-vpn-properties.c
11980                 - (main): Fix option parsing.  Gnome.org #336847
11981
11982 2006-05-28  Dan Williams  <dcbw@redhat.com>
11983
11984         * gnome/vpn-properties/nm-vpn-properties.c
11985                 - (find_vpn_ui_by_service_name): protect against NULL service names
11986                 - (update_edit_del_sensitivity): protect against NULL service names
11987                         Gnome.org #341306
11988
11989 2006-05-28  Dan Williams  <dcbw@redhat.com>
11990
11991         Patch from Chris Fuller <crf@grandecom.net>:
11992         * src/nm-device-802-11-wireless.c
11993                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
11994                         don't dispose of wireless-specific stuff unless it is actually
11995                         initialized.  Gnome.org #341263
11996
11997 2006-05-28  Dan Williams  <dcbw@redhat.com>
11998
11999         * src/NetworkManagerPolicy.c
12000                 - (nm_policy_device_change_check): don't switch devices if the "best"
12001                         AP is essentially the same as the current activation request, but
12002                         the current activation request isn't done activating yet.  Fixes
12003                         multiple requests for keyring password on startup for Gnome applet.
12004                         Gnome.org #341297
12005
12006 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
12007
12008         * src/NetworkManager.c: use GOptions instead of getopt
12009         * configure.in: bump glib required version to >= 2.6 for GOption
12010           support
12011
12012 2006-05-25  Robert Love  <rml@novell.com>
12013
12014         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
12015           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
12016           instead of dumping ifdef's throughout the code.
12017         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
12018           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
12019           use nm_ioctl_info() in lieu.
12020
12021 2006-05-25  Robert Love  <rml@novell.com>
12022
12023         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
12024         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
12025           not using gcrypt.  Otherwise, we get a linker error.
12026
12027 2006-05-25  Robert Love  <rml@novell.com>
12028
12029         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
12030         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
12031           configure flag to disable building of the GNOME-based applet.
12032
12033 2006-05-25  Robert Love  <rml@novell.com>
12034
12035         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
12036           parameter from link, because it shadows a global variable with some
12037           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
12038           should never have exported to the entire system a common four letter
12039           word.  But we here at NetworkManager are team players.  Fixes
12040           GNOME bug #336532.
12041
12042 2006-05-25  Arangel Angov <ufo@linux.net.mk>
12043
12044         * configure.in: Added mk.po, Macedonian translation.
12045
12046 2006-05-24  Robert Love  <rml@novell.com>
12047
12048         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
12049           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
12050           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
12051
12052 2006-05-24  Robert Love  <rml@novell.com>
12053
12054         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
12055           libnm-util/Makefile.am, src/Makefile.am,
12056           vpn-daemons/openvpn/auth-dialog/Makefile.am,
12057           vpn-daemons/openvpn/properties/Makefile.am,
12058           vpn-daemons/pptp/auth-dialog/Makefile.am,
12059           vpn-daemons/pptp/properties/Makefile.am,
12060           vpn-daemons/vpnc/auth-dialog/Makefile.am,
12061           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
12062           user passed for --datadir, if anything, when setting the GNOME locale
12063           directory.  It should be a function of the specified datadir and not
12064           the prefix.
12065
12066 2006-05-24  Robert Love  <rml@novell.com>
12067
12068         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
12069           src/NetworkManager.c: Take care to call bindtextdomain with the
12070           location of msgid files.
12071         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
12072           files.
12073
12074 2006-05-22  Robert Love  <rml@novell.com>
12075
12076         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
12077           stage4_timeout on failure unless the wireless network is Ad-Hoc.
12078           99% of the time there is a real problem with wireless, and a
12079           seemingly successful connection via Zeroconf just confuses the user.
12080           And that 1% of the time the network is probably Ad-Hoc, anyhow.
12081
12082 2006-05-22  Robert Love  <rml@novell.com>
12083
12084         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
12085           autofs on interface up if NIS is configured.  On interface down, do
12086           nothing.
12087
12088 2006-05-22  Robert Love  <rml@novell.com>
12089
12090         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
12091           to avoid calling g_object_unref() on stale pointers on error in
12092           nma_icons_free().  This happens because we short-circuit loaded the
12093           icons on the first failure but then free all icons.  Normally we have
12094           no issue because the icons were zero'ed out malloc, but we have stale
12095           pointer data after nma_icon_theme_changed().
12096         * gnome/applet/main.c: Return error code if nma_new() failed.
12097
12098 2060-05-21  Dan Williams  <dcbw@redhat.com>
12099
12100         * initscript/NetworkManager.in
12101                 - Ensure both dhcdbd and named are started before NM
12102
12103 2006-05-21  Dan Williams  <dcbw@redhat.com>
12104
12105         * configure.in
12106                 - Bump version to 0.7 to signify we are in 0.7 development
12107
12108 2006-05-21  Dan Williams  <dcbw@redhat.com>
12109
12110         Patch from Adam Schreiber <sadam@clemson.edu>
12111         * gnome/vpn-properties/nm-vpn-properties.c
12112                 - (main): correct Gnome program name  (gnome.org #342498)
12113
12114 2006-05-21  Dan Williams  <dcbw@redhat.com>
12115
12116         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
12117
12118         * src/NetworkManagerDbus.[ch]
12119                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
12120                         clarify that function's argument should be an escaped dbus object
12121                         path, and look for path segment end before returning a match
12122         * src/nm-dbus-nm.c:
12123                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
12124
12125 2006-05-17  Robert Love  <rml@novell.com>
12126
12127         Functionality to differentiate Ad-Hoc networks from infrastructure
12128         networks in the applet, by displaying a special icon:
12129         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
12130         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
12131         * gnome/applet/menu-items.c: Set a special icon in the scan list for
12132           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
12133           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
12134           networks, encrypted or not.
12135         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
12136           accessor functions to get and set the mode of a given network,
12137           wireless_network_get_mode() and wireless_network_set_mode().
12138
12139 2006-05-17  Robert Love  <rml@novell.com>
12140
12141         Functionality to automatically add BSSIDs to the allowed-MAC list as
12142         one roams from access point to access point on a given network:
12143         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
12144           helper function to compare two ether_addr structures and return TRUE
12145           if they contain the same MAC address.
12146         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
12147           prototype.
12148         * src/nm-device-802-11-wireless.c: New function to update the BSSID
12149           stored with the current AP.  If the BSSID has indeed changed, we
12150           send it out to the applet, allowing the allowed-MAC list to grow
12151           automatically in response to roaming.
12152
12153 2006-05-16  Robert Love  <rml@novell.com>
12154
12155         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
12156           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
12157
12158 2006-05-13  Dan Williams  <dcbw@redhat.com>
12159
12160         * src/nm-device-802-3-ethernet.c
12161                 - (real_get_generic_capabilities): Don't ignore devices that can't do
12162                         carrier detect (Debian bug #366373)
12163
12164 2006-05-11  Dan Williams  <dcbw@redhat.com>
12165
12166         Patch from Michael Biebl <biebl@teco.edu>
12167         * src/backends/NetworkManagerDebian.c
12168                 - Debian backend fixups
12169
12170 2006-05-10  Robert Love  <rml@novell.com>
12171
12172         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
12173
12174 2006-05-09  Robert Love  <rml@novell.com>
12175
12176         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
12177           private certificate passphrase, if any, in the GNOME Keyring.
12178         * libnm-utils/dbus-helpers.c: Update.
12179
12180 2006-05-05  Dan Williams  <dcbw@redhat.com>
12181
12182         * src/nm-device-802-11-wireless.c
12183                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
12184                         nm_device_802_11_wireless_disable_encryption() since that's all
12185                         we use it for anymore; we don't ever set WEP keys ourselves.
12186                 - (real_deactivate_quickly): reset SSID and encryption keys
12187                 - (real_deactivate): move SSID and encryption key reset to
12188                         real_deactivate_quickly(), which gets run before us anyway
12189
12190 2006-05-05  Robert Love  <rml@novell.com>
12191
12192         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
12193           root has a wacky default of its own (or, more common, a user has a
12194           bad umask and uses su/sudo to restart NetworkManager).  Anything
12195           other than 0022 does not do what we want with, for example,
12196           resolv.conf.  This problem is amplified by our judicious use of
12197           fopen(), which uses mode 0666 -- implying that the only way to get
12198           the permissions we want is with a umask of 0022.
12199
12200 2006-05-05  Dan Williams  <dcbw@redhat.com>
12201
12202         * gnome/libnm_glib/libnm_glib.c
12203                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
12204                         to reconnect; instead wait a bit more with each reconnect attempt
12205                         up to a max of one minute.
12206
12207 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
12208
12209         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
12210           the WirelessNetwork structure using the proper function instead of
12211           just casting it directly to (const char *) (gnome.org #336991)
12212
12213 2006-05-03  Robert Love  <rml@novell.com>
12214
12215         * src/backends/NetworkManagerSuSE.c: Respect the variable
12216           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
12217           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
12218           to dynamically update /etc/resolv.conf.
12219
12220 2006-05-02  Peter Jones  <pjones@redhat.com>
12221
12222         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
12223
12224 2006-05-02  Robert Love  <rml@novell.com>
12225
12226         Patch by Timo Hoenig;
12227         * tests/nm-online.c: Print pretty status indicator as timeout winds
12228           down.  Also fix possible race between DBUS startup and failure
12229           return.
12230
12231 2006-05-01  Robert Love  <rml@novell.com>
12232
12233         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
12234           empty, too.
12235
12236 2006-04-27  Jeremy Katz  <katzj@redhat.com>
12237
12238         * src/nm-device.c (discover_device_type): Actually use the hal
12239         device type instead of ioctl poking
12240
12241 2006-04-26  Robert Love  <rml@novell.com>
12242
12243         * tests/nm-online.c: New file.  Simple utility that returns exit status
12244           noting whether the connection is offline or online.  If offline on
12245           start, it waits 30 seconds (or a command-line given value) for an
12246           online signal.  If it times out, it again returns offline.  This is
12247           useful for scripts that want to wait for network connections.
12248
12249 2006-04-25  Robert Love  <rml@novell.com>
12250
12251         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
12252           key mode (the authentication algorithm), e.g. open or shared, when we
12253           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
12254           only shared was broken.  If the user specified a shared key, set it
12255           explicitly, otherwise let wpa_supplicant go with the default.
12256
12257 2006-04-24  Dan Williams  <dcbw@redhat.com>
12258
12259         * src/nm-device-802-11-wireless.c
12260                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
12261
12262 2006-04-24  Dan Williams  <dcbw@redhat.com>
12263
12264         Commit the async scanning patch
12265
12266         * src/nm-device-802-11-wireless.c
12267                 - get rid of scan_mutex
12268                 - (wireless_event_helper): act on wireless scan events
12269                 - (real_start): schedule a pending scan
12270                 - (link_to_specific_ap): fake the link to the AP during a scan
12271                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
12272                         strength during scans
12273                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
12274                         nm_device_set_bitrate): unused with new scanning code, disable
12275                 - (nm_device_wireless_schedule_scan): removed
12276                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
12277                 - (request_and_convert_scan_results): new function; retrieve scan
12278                         results from the driver and schedule the processing function
12279                 - (scan_results_timeout): timeout triggered when card doesn't send
12280                         a scan results wireless event during a certain interval
12281                 - (schedule_scan_results_timeout): new function; schedule the scan
12282                         results timeout
12283                 - (cancel_scan_results_timeout): new function; cancel the scan
12284                         results timeout
12285                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
12286                         to do the scanning.  Otherwise, just request a scan but don't
12287                         grab results here; instead schedule a timeout for scan results and
12288                         let netlink notify us of scan completion events
12289                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
12290                 - (cancel_pending_scan): new function; cancel a pending wireless scan
12291                 - (supplicant_status_cb): ignore disconnect events while scanning
12292                 - (supplicant_exec): wait a bit longer for the supplicant to start up
12293                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
12294                         timeouts
12295                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
12296
12297 2006-04-24  Dan Williams  <dcbw@redhat.com>
12298
12299         * gnome/applet/applet-dbus.c
12300                 - Disable the pending call debug stuff, seems under control now
12301
12302 2006-04-20  Robert Love  <rml@novell.com>
12303
12304         Fix bug where hidden ESSID's would not show up in the applet, even
12305         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
12306         because nm_policy_device_list_update_from_allowed_list() would merge
12307         the data, putting a name to the hidden networks, but never notify NMI
12308         of the changes.  Simple fix is to invoke the function
12309         nm_dbus_signal_wireless_network_change() if we make a mapping.
12310         * src/NetworkManagerAPList.c: Call the function
12311           nm_dbus_signal_wireless_network_change() if we made a successful
12312           BSSID to ESSID mapping, notifying the applet of the "new" network.
12313         * src/NetworkManagerAPList.h: Update the prototypes for both
12314           nm_ap_list_copy_essids_by_address() and
12315           nm_ap_list_copy_one_essid_by_address().
12316
12317 2006-04-20  Robert Love  <rml@novell.com>
12318
12319         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
12320           not set.  Just return zero.
12321
12322 2006-04-20  Robert Love  <rml@novell.com>
12323
12324         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
12325           only one copy of nm-vpn-properties is running at a time via the 'ol
12326           X selection trick.  This prevents the user from opening two "VPN
12327           Connections" windows from within the applet, which leads to mass
12328           hysteria.
12329         * clipboard.c: New file, implementing simple X selection logic.
12330         * clipboard.h: New file.
12331         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
12332
12333 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
12334
12335         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
12336         * configure.in
12337           initscript/Gentoo/Makefile.am
12338           initscript/Gentoo/NetworkManagerDispatcher.in
12339                 - New script
12340         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
12341           Gentopia
12342
12343 2006-04-16  Dan Williams  <dcbw@redhat.com>
12344
12345         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
12346         * configure.in
12347           initscript/Slackware/Makefile.am
12348           initscript/Slackware/rc.networkmanager-dispatcher.in
12349           initscript/Slackware/rc.networkmanager.in
12350                 - Update slackware initscripts
12351
12352 2006-04-10  Robert Love  <rml@novell.com>
12353
12354         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
12355           the "delete_event" signal on the druid's parent window and handle it
12356           our way, lest using the WM to close the druid results in a series of
12357           bloody and ultimately lethal errors.
12358
12359 2006-04-10  Robert Love  <rml@novell.com>
12360
12361         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
12362           'Back' too or else the 'Forward' option is initially disabled despite
12363           valid input.
12364
12365 2006-04-06  Robert Love  <rml@novell.com>
12366
12367         Fix bad but simple bug where an active modem connection did not update
12368         NM's connection state, breaking any app that did online/offline:
12369         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
12370           represented whether a dial up connection is active, or not.
12371         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
12372           to modem activation and deactivation.
12373         * src/NetworkManagerDbus.c: When asked our state, do not return
12374           disconnected if the modem is active.
12375
12376 2006-04-04  Robert Love  <rml@novell.com>
12377
12378         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
12379           applet.  It just confuses the crap out of people and does not make a
12380           lot of sense, as the daemon still runs.
12381
12382 2006-04-02  Tor Krill  <tor@krill.nu>
12383
12384         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
12385           in start of service.
12386         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
12387           get Archlinux backend up to date.
12388
12389 2006-03-29  Robert Love  <rml@novell.com>
12390
12391         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
12392         to add support for per-route MSS and improve support for per-interface
12393         MTU:
12394         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
12395           optionally take an MSS parameter and set it for the given route.
12396           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
12397           NMIP4Config's stored MSS, if any.
12398         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
12399           the interface's MTU and the route's MSS, respectively.  Add functions
12400           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
12401           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
12402           MSS.
12403         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
12404           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
12405           nm_ip4_config_set_mss.
12406         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
12407           VPN daemon.
12408         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
12409           Change the retval of nm_system_get_mtu to guint32.
12410         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
12411           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
12412           servers can specify MTU's, we should set it here if the MTU was not
12413           provided.
12414
12415 2006-03-27  Jürg Billeter  <j@bitron.ch>
12416
12417         * configure.in:
12418         * initscript/Makefile.am:
12419         * initscript/paldo/Makefile.am:
12420         * initscript/paldo/NetworkManager.in:
12421         * initscript/paldo/NetworkManagerDispatcher.in:
12422         * src/backends/Makefile.am:
12423         * src/backends/NetworkManagerPaldo.c:
12424                 - Add paldo support
12425
12426 2006-03-27  Dan Williams  <dcbw@redhat.com>
12427
12428         Patch from Christian Persch <chpe@gnome.org>
12429         * gnome/applet/applet.glade
12430                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
12431
12432 2006-03-27  Dan Williams  <dcbw@redhat.com>
12433
12434         Patch from Diffe <diffie@blazebox.homeip.net>
12435         * src/backends/NetworkManagerSlackware.c
12436                 - Don't restart howl, since it's been replaced by Avahi
12437                         in most distributions
12438
12439 2006-03-27  Dan Williams  <dcbw@redhat.com>
12440
12441         Patch from Tor Krill <bugzilla@krill.nu>
12442         * configure.in
12443           initscript/Makefile.am
12444           src/backends/Makefile.am
12445           src/backends/NetworkManagerArch.c
12446           initscript/Arch/Makefile.am
12447           initscript/Arch/networkmanager-dispatcher.in
12448           initscript/Arch/networkmanager.in
12449                 - Add Arch Linux support, fixes gnome.org #335147
12450
12451 2006-03-27  Dan Williams  <dcbw@redhat.com>
12452
12453         Patch from Diffe <diffie@blazebox.homeip.net>
12454      * initscript/Slackware/rc.networkmanager
12455         - update, fixed gnome.org #333368
12456
12457 2006-03-27  Robert Love  <rml@novell.com>
12458
12459         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
12460           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
12461
12462 2006-03-27  Robert Love  <rml@novell.com>
12463
12464         Patch by Jürg Billeter <j@bitron.ch>:
12465         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
12466           systems.
12467         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
12468           as we prefer glibc over kernel headers, if possible.
12469
12470 2006-03-27  Robert Love  <rml@novell.com>
12471
12472         Patch by Jon Escombe <list@dresco.co.uk>:
12473         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
12474         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
12475           fail, don't bail out.  We don't expect all of the various WPA-EAP
12476           values to be present.
12477         * src/nm-ap-security.c: We need to match all capabilities for each
12478           encryption type, not any one of them.
12479
12480 2006-03-27  Robert Love  <rml@novell.com>
12481
12482         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
12483           restart, not reload, ypbind.  Unfortunately there is no superior
12484           solution.
12485
12486 2006-03-24  Christopher Aillon  <caillon@redhat.com>
12487
12488         * gnome/applet/applet-notifications.c:
12489         When displaying a notification, make sure to get rid of the
12490         previous notification so as to not have competing bubbles,
12491         and stop leaking the old one.
12492
12493         * gnome/applet/applet.c:
12494         * gnome/applet/applet.h:
12495         Add a new 'notification' member to the applet, and zero it out
12496         and free it appropriately.
12497
12498 2006-03-23  Robert Love  <rml@novell.com>
12499
12500         Patch by j <j@bootlab.org>:
12501         * gnome/applet/applet.glade: Don't set the invisible_char property,
12502           which simply overrides the GTK default.  By and by, this behavior
12503           ought to be fixed in Glade.
12504
12505 2006-03-22  Robert Love  <rml@novell.com>
12506
12507         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
12508
12509 2006-03-22  Robert Love  <rml@novell.com>
12510
12511         Bug fix by Timo Hoenig <thoenig@suse.de>:
12512         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
12513           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
12514           and the applet going AWOL.
12515
12516 2006-03-22  Robert Love  <rml@novell.com>
12517
12518         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
12519           preprocessor define and use it instead of open-coded the DHCP
12520           timeout, which is currently 25 seconds, everywhere.
12521
12522 2006-03-22  Robert Love  <rml@novell.com>
12523
12524         Implement "Dynamic WEP", which is basically WPA authentication and WEP
12525         key exchange via WPA, ostensibly providing good security without
12526         requiring hardware that supports full WPA.  Also, add UI elements to
12527         allow the user to select the pairwise & group cipher for WPA Enterprise
12528         networks, too:
12529         * gnome/applet/applet.glade: Update glade file.
12530         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
12531           key type, too, to and from gconf.
12532         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
12533           wso_wpa_create_key_type_model(), noting whether we are handling PSK
12534           or EAP configuration, and in the latter case add in "Dynamic WEP" if
12535           the capabilities match.
12536         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
12537           prototype.
12538         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
12539           serialize from UI to DBUS.
12540         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
12541           one element.
12542         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
12543           nmu_security_serialize_wpa_eap_with_cipher(), and
12544           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
12545           serialize/deserialize the key type via DBUS as the new third DBUS
12546           parameter.
12547         * libnm-util/dbus-helpers.h: Update prototypes.
12548         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
12549           too.  If the key type is WEP104, do Dynamic WEP, which means
12550           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
12551           pairwise and group ciphers (fixes a FIXME).
12552
12553 2006-03-21  Robert Love  <rml@novell.com>
12554
12555         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
12556           nm_system_get_mtu(), which returns a user-provided or system-mandated
12557           MTU value for a given device, if any, or zero if no such value
12558           exists.  Add nm_system_set_mtu() to set the MTU for a given device
12559           if we have a provided value.
12560         * src/nm-device.c: Set the MTU of devices.
12561         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
12562         * src/backends/NetworkManagerDebian.c,
12563           src/backends/NetworkManagerGentoo.c,
12564           src/backends/NetworkManagerRedHat.c,
12565           src/backends/NetworkManagerSlackware.c: Implement stub functions.
12566
12567 2006-03-21  Robert Love  <rml@novell.com>
12568
12569         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
12570           configuration file.
12571
12572 2006-03-17  Robert Love  <rml@novell.com>
12573
12574         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
12575           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
12576           it, in case it is not running in the first place.  We just want its
12577           configuration reloaded.  Also, do not "rcypbind stop" on device down.
12578
12579 2006-03-15  Robert Love  <rml@novell.com>
12580
12581         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
12582           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
12583           label "WEP 40/128-bit" is inconsistent because the physical key size
12584           is 40 or 104-bits, to which a 24-bit initialisation vector is
12585           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
12586           to read "40/104" or "64/128".  I do not care much which, but most
12587           users think of "silver" and "gold" encryption as 64 and 128-bits, so
12588           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
12589           WEP passphrase support only handles 128-bit keys, and any future
12590           64-bit passphrase support will require a new option (no way to auto-
12591           detect the target key size), explicitly label our passphrase support
12592           "WEP 128-bit Passphrase".
12593
12594 2006-03-15  Robert Love  <rml@novell.com>
12595
12596         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
12597           the system init scripts (or some other mechanism) starting it (or a
12598           compatible DBUS service) before NetworkManager runs.  This means that
12599           distributions might need to update their init scripts.  This fixes
12600           possible races and is quite a bit cleaner.
12601         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
12602           starting the NetworkManager daemon.
12603
12604
12605 2006-03-14  Robert Love  <rml@novell.com>
12606
12607         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
12608           before adding anything.
12609
12610 2006-03-13  Robert Love  <rml@novell.com>
12611
12612         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
12613           widgets, too, if they exist, in case the user hit the back button.
12614           Fixes a bug where the details page contains the widgets of multiple
12615           VPN modules (Novell bug #157048).
12616
12617 2006-03-13  Robert Love  <rml@novell.com>
12618
12619         Patch by Timo Hoenig <thoenig@suse.de>:
12620         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
12621           daemon survive DBUS restarts, too.
12622
12623 2006-03-10  Robert Love  <rml@novell.com>
12624
12625         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
12626           passphrase or key.
12627         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12628           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
12629           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
12630           in response to "toggled" signal on new toggle.
12631
12632 2006-03-10  Robert Love  <rml@novell.com>
12633
12634         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12635           serialization if strings are NULL, lest DBUS get angry.
12636
12637 2006-03-10  Robert Love  <rml@novell.com>
12638
12639         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12640
12641 2006-03-09  Robert Love  <rml@novell.com>
12642
12643         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12644           configurations.
12645
12646 2006-03-09  Dan Williams  <dcbw@redhat.com>
12647
12648         Track pending call requests in the applet, and report how many are
12649         outstanding, and how long each completed one takes.
12650         
12651         * gnome/applet/applet-dbus-devices.c
12652           gnome/applet/applet-dbus-vpn.c
12653                 - Track pending calls
12654
12655         * gnome/applet/applet-dbus.[ch]
12656                 - Remove some unused enums
12657                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12658                         new functions to track dbus pending calls and spit out some
12659                         statistics about them
12660
12661 2006-03-09  Robert Love  <rml@novell.com>
12662
12663         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12664           nm_ap_set_timestamp() take the second and micro-second parameters as
12665           direct arguments, which avoids both a dynamic memory allocation and a
12666           structure-to-structure copy!  Add a new interface, the aptly named
12667           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12668           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12669           the return from nm_ap_get_timestamp().  New users should use the new
12670           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12671           the extreme benefit to performance.
12672         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12673           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12674
12675 2006-03-08  Robert Love  <rml@novell.com>
12676
12677         * gnome/applet/applet.glade: Hide the password entry text with
12678           asterisks.
12679
12680 2006-03-08  Robert Love  <rml@novell.com>
12681
12682         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12683           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12684           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12685           a second argument, NMData.
12686         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12687         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12688           config files as trusted.
12689
12690 2006-03-06  Robert Love  <rml@novell.com>
12691
12692         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12693         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12694           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12695           Rivera, detect if the applet was auto-started.  If so, ask the user
12696           if he or she would like to stop automatically running the applet on
12697           login.  If so, disable autostart.
12698
12699 2006-03-06  Robert Love  <rml@novell.com>
12700
12701         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12702           directory in CFLAGS so developers can actually use NetworkManager.h.
12703
12704 2006-03-06  Robert Love  <rml@novell.com>
12705
12706         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12707           open-coded integer constants.  Add state_to_string() to map a given
12708           state to a textual description, and provide that when notifying of
12709           state change.
12710         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12711           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12712           this header directly, but it is currently not installed on most
12713           systems.
12714
12715 2006-03-05  Dan Williams  <dcbw@redhat.com>
12716
12717         Process netlink messages in device subclasses rather than in
12718         NetworkManager.c.  Also add support for recognizing Wireless Events.
12719         
12720         * configure.in
12721                 - Find GLIB_GENMARSHAL
12722
12723         * src/Makefile.am
12724                 - Since we're marshalling custom types for wireless event signals,
12725                         we get to create our own marshallers using GLIB_GENMARSHAL
12726
12727         * src/NetworkManager.c
12728                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12729                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12730                         cut down somewhat.  We no longer process signals here.
12731                 - (nm_data_new): create the netlink monitor here, and remove a
12732                         useless call to nm_policy_schedule_device_change_check()
12733                 - (nm_data_free): get rid of the netlink monitor here
12734                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12735                 - (main): don't create the netlink monitor here, let nm_data_new
12736                         do that.  Call nm_policy_schedule_device_change_check() right
12737                         before we jump to the mainloop to figure out which device
12738                         to use first
12739
12740         * src/NetworkManagerSystem.[ch]
12741                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12742                         convert back and forth from interface names to interface
12743                         indexes
12744
12745         * src/nm-device-802-11-wireless.c
12746                 - (real_init): connect to wireless-event signals from the netlink
12747                         monitor object
12748                 - (nm_device_802_11_wireless_event): new function, schedule handler
12749                         for wireless event signals from the netlink monitor object.  We
12750                         want the handler to run in the device's context
12751                 - (wireless_event_helper): handle wireless-event signals from netlink
12752                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12753                         signal handler
12754
12755         * src/nm-device-802-11-wireless.h
12756                 - remove unused prototype for nm_device_802_11_wireless_new
12757
12758         * src/nm-device-802-3-ethernet.c
12759                 - (real_init): new function; set up signal handlers for link events
12760                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12761                         handler for netlink link activated events on device's main loop
12762                 - (link_activated_helper): when we get a link activated event, set
12763                         the device's link to be active
12764                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12765                         handler for netlink link deactivated events on device's main loop
12766                 - (link_deactivated_helper): when we get a link deactivated event, set
12767                         the device's link to be inactive
12768                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12769                         dispose
12770
12771         * src/nm-device-802-3-ethernet.h
12772                 - remove unused prototype for nm_device_802_3_ethernet_new
12773
12774         * src/nm-device.[ch]
12775                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12776                         but locks the device list
12777                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12778
12779         * src/nm-netlink-monitor.[ch]
12780                 - (nm_netlink_monitor_class_install_signals): New signal
12781                         "wireless-event"
12782                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12783                         at the device list
12784                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12785
12786         * src/nm-marshal-main.c
12787                 - Include generated nm-marshal.c and nm-marshal.h
12788
12789         * src/nm-marshal.list
12790                 - List of custom marshal functions
12791
12792 2006-03-05  Dan Williams  <dcbw@redhat.com>
12793
12794         * gnome/applet/applet-notifications.h
12795                 - Protect prototype of nma_send_event_notification() because it
12796                         includes libnotify-specific types
12797                 - Include libnotify/libnotify.h too, since we technically need it
12798
12799         * gnome/applet/applet.c
12800                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12801                 - (nma_show_vpn_login_banner_dialog): add some error checking
12802
12803 2006-03-04  Dan Williams  <dcbw@redhat.com>
12804
12805         Clean up activation cancellation.  Should be a lot faster now.  Observed
12806         an issue with wireless devices between stage 2 and 3 of activation, where
12807         activation would be cancelled, but the device thread wouldn't notice until
12808         the supplicant association timed out.  Reorganize activation such that
12809         a cancellation handler gets immediately scheduled in the device's thread,
12810         and devices have a chance to perform any custom cleanup too.
12811
12812         * src/nm-device.[ch]
12813                 - (activation_cancel_handler): new device-type-specific function
12814                         for cleaning up device-type-specific stuff on cancellation
12815                 - (cancel_activation): removed
12816                 - (nm_device_activation_cancel): subsume functionality of
12817                         real_cancel_activation, but instead of doing anything, punt
12818                         operation to a handler that's run in device-thread context
12819                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12820                         a warning message
12821                 - (activation_handle_cancel_helper): cancellation handler run in
12822                         device-thread context, calls device-type-specific cancelation,
12823                         then tears down the activation request
12824                 - (real_activation_cancel_handler): generic cancellation handler,
12825                         deals with cancelling any in-process DHCP request
12826                 - (nm_device_activate_stage1_device_prepare,
12827                    nm_device_activate_stage2_device_config,
12828                    nm_device_activate_stage3_ip_config_start,
12829                    nm_device_activate_stage4_ip_config_get,
12830                    nm_device_activate_stage4_ip_config_timeout,
12831                    nm_device_activate_stage5_ip_commit): don't call
12832                         nm_device_schedule_activation_handle_cancel() any more, since
12833                         cancellation will have been already scheduled for us by
12834                         nm_device_activation_cancel().  Just exit the function and
12835                         assume that the cancel handler will be called next.
12836
12837         * src/nm-device-802-3-ethernet.c
12838                 - (real_act_stage2_config): remove; didn't do anything anyway
12839
12840         * src/nm-device-802-11-wireless.c
12841                 - (supplicant_status_cb): ensure we don't do anything if the activation
12842                         got cancelled
12843                 - (real_activation_cancel_handler): implement; cancel user key request
12844                         on activation cancellation
12845
12846 2006-03-04  Dan Williams  <dcbw@redhat.com>
12847
12848         * src/nm-device-802-11-wireless.c
12849                 - (supplicant_send_network_config): assume that drivers that don't
12850                         support WPA pretty much suck, and can't handle NM scanning
12851                         along with wpa_supplicant.
12852
12853 2006-03-03  Robert Love  <rml@novell.com>
12854
12855         * configure.in: Bump version to 0.6.0.
12856         * NEWS: Update.
12857
12858 2006-03-03  Robert Love  <rml@novell.com>
12859
12860         * configure.in: Require DBUS 0.60 or later.
12861
12862 2006-03-03  Dan Williams  <dcbw@redhat.com>
12863
12864         Fix a crash if an "Other wireless network" was chosen, failed, then
12865         chosen again from the applet's menu.  If the other network wasn't
12866         noticed in a scan, it wouldn't have any capabilities, but would still
12867         be listed because the user forced the network.  To fix this, we set
12868         sensible capabilities on the forced network, which will get overwritten
12869         with the correct ones if the network shows up later in a scan.
12870         
12871         * src/nm-ap-security.h
12872                 - Add a new "get_default_capabilities_func" member to the
12873                         NMAPSecurity class
12874
12875         * src/nm-ap-security.c
12876                 - (nm_ap_security_get_default_capabilities): new function
12877
12878         * src/nm-ap-security.c
12879           src/nm-ap-security-wep.c
12880           src/nm-ap-security-wpa-psk.c
12881           src/nm-ap-security-wpa-eap.c
12882                 - Implement get_default_capabilities_func() for all, which
12883                         uses the information contained in a specific NMAPSecurity
12884                         object to determine default AP capabilites necessary
12885                         to support that object
12886
12887         As a secondary measure, we now prune artificial access points that fail
12888         to be activated right away.  The thing failed, and we have no scan data for
12889         it, so it's pretty much useless since security information is only saved
12890         in the applets when a connection is successful.
12891
12892         * src/NetworkManagerAPList.c
12893                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
12894                         not artificial.  If we see it, it's no longer a figment of the
12895                         user's imagination :)
12896
12897         * src/NetworkManagerPolicy.c
12898                 - (nm_policy_activation_failed): send along the failed AP if we
12899                         have it
12900
12901         * src/nm-device-802-11-wireless.c
12902                 - (real_activation_failure_handler): remove artificial APs from
12903                         the device list, because activation failed
12904
12905 2006-03-02  Robert Love  <rml@novell.com>
12906
12907         Add support for retrieving both the per-device speed and the
12908         per-network maximum supported rate.  Then change the getProperties
12909         DBUS API for both networks and devices to report this informaiton.
12910         Finally, display the information via both nm-applet and nm-tool:
12911         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
12912           and set it.
12913         * gnome/applet/applet.c: Display the device's speed in the 'Connection
12914           Information' dialog.
12915         * gnome/applet/applet.glade: Update the UI to show per-device speed.
12916         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
12917           network_device_get_speed() and network_device_set_speed() for
12918           retrieving and setting, respectively, a network device's current
12919           speed.
12920         * src/nm-dbus-device.c: Send the device's speed on getProperties.
12921         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
12922           in the function nm_device_802_11_wireless_get_bitrate() -- it does
12923           not matter (yet) what the units are, because we only feed it its own
12924           output.  Implement SIOCGIRATE and set the per-network maximum
12925           supported rate during scanning.
12926         * src/nm-device-802-11-wireless.h: Export the function
12927           nm_device_802_11_wireless_get_bitrate().
12928         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
12929           function nm_device_802_3_ethernet_get_speed() for returning an
12930           802.3's current speed, in Mb/s.
12931         * test/nm-tool.c: Display the per-device current speed, if available,
12932           and the per-network maximum rate.
12933
12934 2006-03-02  Dan Williams  <dcbw@redhat.com>
12935
12936         * src/nm-device-802-11-wireless.c
12937                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
12938                         card when it gets initialized.  Since devices don't get added to
12939                         the scan list until they are initialized, this function wasn't
12940                         setting the intitial scan interval correctly, and was leaving
12941                         it at 0.  This caused cards to get many scan requests in a short
12942                         amount of time when they were initialized
12943
12944 2006-03-02  Robert Love  <rml@novell.com>
12945
12946         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
12947           active device.  But do not do what we used to do and override the
12948           state, which caused the dreaded icon race of '05.
12949
12950 2006-03-02  Robert Love  <rml@novell.com>
12951
12952         Commit Dan's update of my previous commit:
12953         * src/nm-device-802-11-wireless.c: Always set the mode, because the
12954           set_mode() function itself does the check.  But do only set the
12955           frequency if in Ad-Hoc mode.
12956
12957 2006-03-02  Robert Love  <rml@novell.com>
12958
12959         Patch by Brian Magnuson <magnuson@rcn.com>:
12960         * src/nm-device-802-11-wireless.c: During scanning, only set the
12961           wireless mode to infrastructure if it is not currently in
12962           infrastructure mode.  For some driver, setting the mode is a costly
12963           operation, apparently.
12964
12965 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
12966
12967         * Makefile.am: use the correct dir for autostart mechanism.
12968
12969 2006-02-28  Dan Williams  <dcbw@redhat.com>
12970
12971         Patch from Brian Magnuson <magnuson@rcn.com>
12972         * gnome/applet/applet.c
12973                 - (nma_show_vpn_failure_dialog): fix errors left over from
12974                         libnotify support changes
12975
12976 2006-02-28  Dan Williams  <dcbw@redhat.com>
12977
12978         * src/vpn-manager/nm-vpn-act-request.[ch]
12979                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
12980                         just one value
12981                 - (nm_vpn_act_request_is_failed): new function; return whether or
12982                         not the vpn activation request has failed
12983
12984         * src/vpn-manager/nm-vpn-manager.c 
12985                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
12986                         daemon to kill the connection when the activation request fails.
12987                         Fixes issue where NM would get confused if the VPN activation
12988                         request timed out, and would not allow further VPN connections
12989                         on that service.
12990
12991 2006-02-28  Dan Williams  <dcbw@redhat.com>
12992
12993         * gnome/applet/applet.c
12994                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
12995                         overlapping connection requests, disable all VPN menu items
12996                         but the active VPN connection
12997
12998 2006-02-28  Dan Williams  <dcbw@redhat.com>
12999
13000         * src/vpn-manager/nm-vpn-connection.c
13001                 - (nm_vpn_connection_set_parent_device): fix C&P error which
13002                         called g_object_unref() on the connection's parent device
13003                         when it should have been ref-ed instead.  Fixes crash with
13004                         repeated vpn connect requests
13005
13006 2006-02-28  Christopher Aillon  <caillon@redhat.com>
13007
13008         * gnome/applet/applet.glade:
13009         Mark a few strings non-translatable, since they shouldn't be.
13010
13011 2006-02-28  Dan Williams  <dcbw@redhat.com>
13012
13013         * src/vpn-manager/nm-vpn-service.c
13014                 - (nm_vpn_service_start_connection): if the vpn service daemon is
13015                         already running, don't blindly ask it to connect, but wait until
13016                         it's in the STOPPED state first.  Fixes an assertion when user
13017                         starts a second vpn connection without stopping the first.
13018                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
13019                         dbus service exists before continuing with the connection
13020                         process, and reduce latency while waiting for it to become
13021                         available
13022                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
13023                         waiting for the vpn service daemon to become available
13024                 - General log message cleanups; show progress via "Stage x of 4"
13025                         rather than not telling anyone how many stages there are
13026
13027 2006-02-28  Robert Love  <rml@novell.com>
13028
13029         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
13030         * src/backends/NetworkManagerSuSE.c: Implement the interface
13031           nm_system_should_modify_resolv_conf() for SUSE.
13032         * src/backends/NetworkManagerDebian.c,
13033           src/backends/NetworkManagerGentoo.c,
13034           src/backends/NetworkManagerRedHat.c,
13035           src/backends/NetworkManagerSlackware.c: Add stub.
13036         * src/named-manager/Makefile.am: Grab includes from src.
13037         * src/named-manager/nm-named-manager.c: Allow backends to disable the
13038           automatic updating of resolv.conf.  This is useful for testing,
13039           broken static configurations, and administrator lock-down.
13040
13041 2006-02-28  Dan Williams  <dcbw@redhat.com>
13042
13043         * src/nm-device-802-11-wireless.c
13044                 - Move all the wpa_supplicant-related management stuff into its
13045                         own struct, just for oranization's sake
13046                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
13047                         to a GIOChannel/GSource
13048                 - (supplicant_log_stdout): new function; grab output from the
13049                         wpa_supplicant stdout pipe and write it to our logs.
13050
13051 2006-02-27  Christopher Aillon  <caillon@redhat.com>
13052
13053         * src/nm-device-802-11-wireless.c:
13054         Err, fix thinko in my previous commit.
13055
13056 2006-02-28  Robert Love  <rml@novell.com>
13057
13058         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
13059
13060 2006-02-28  Robert Love  <rml@novell.com>
13061
13062         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
13063           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
13064           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
13065           deserializers are responsible for freeing the returned DBUS strings.
13066
13067 2006-02-27  Christopher Aillon  <caillon@redhat.com>
13068
13069         * src/nm-device-802-11-wireless.c:
13070         The scan list is being pruned prematurely.  We should prune after
13071         the device has gone MIA for three scans, not one.  Split out the
13072         interval to realtime seconds function to better serve this.
13073
13074 2006-02-27  Robert Love  <rml@novell.com>
13075
13076         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
13077           Open the pid file O_TRUNC, so if it already exists we truncate it to
13078           zero length.  Also, be more verbose about warnings generated during
13079           writing out the pid file.  Finally, always write out the pid file if
13080           in daemon mode.  Use "--pid-file" to override the default.
13081
13082 2006-02-27  Robert Love  <rml@novell.com>
13083
13084         Patch by R. Vinay <rvinay@novell.com>:
13085         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
13086           'last_attempt_success' when removing a VPN connection, too.  (Fixes
13087           Novell bug #153628).
13088           
13089 2006-02-27  Robert Love  <rml@novell.com>
13090
13091         * gnome/applet/applet.glade: Set "activates_default" on passphrase
13092           entry so user can hit <ENTER> after entering passphrase (Novell bug
13093           #153738).
13094
13095 2006-02-27  Dan Williams  <dcbw@redhat.com>
13096
13097         * gnome/applet/*
13098                 - Mass search/replace of:
13099                         nmwa -> nma
13100                         NMWirelessApplet -> NMApplet
13101                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
13102                    (it ain't just for wireless anymore, ma!)
13103                 - Fix duplicate function name printing when using nm_warning
13104                 - wireless-applet.glade -> applet.glade
13105
13106 2006-02-27  Dan Williams  <dcbw@redhat.com>
13107
13108         * dispatcher-daemon/NetworkManagerDispatcher.c
13109                 - Accept --pid-file with a path to a pidfile, write it out on
13110                         startup, and delete it on shutdown
13111
13112         * src/NetworkManager.c
13113                 - Accept --pid-file with a path to a pidfile, write it out on
13114                         startup, and delete it on shutdown
13115                 - Move nm_print_usage() lower
13116
13117         * initscripts/RedHat/NetworkManager.in
13118                 - Use new --pid-file option
13119                 - Fix service stopping to wait a bit for NM to quit
13120
13121         * initscripts/RedHat/NetworkManagerDispatcher.in
13122                 - Use new --pid-file option
13123
13124 2006-02-26  Dan Williams  <dcbw@redhat.com>
13125
13126         * src/Makefile.am
13127                 - make and install nm-crash-logger
13128
13129         * src/nm-logging.[ch]
13130                 - New files; consolidate logging and crash handling
13131
13132         * src/nm-crash-logger.c
13133           src/gdb-cmd
13134                 - Standalong crashlogger for NM, grab a backtrace
13135                         using GDB
13136
13137         * src/NetworkManager.[ch]
13138                 - Remove signal handling and put it into nm-logging.c
13139
13140 2006-02-26  Dan Williams  <dcbw@redhat.com>
13141
13142         * configure.in
13143           gnome/applet/Makefile.am
13144                 - Conditionalize all the notify stuff
13145
13146         Merge most of Chris Aillon's notification patch:
13147         
13148         * gnome/applet/applet-notifications.[ch]
13149                 - New files; show a notification
13150         
13151         * gnome/applet/applet-dbus-devices.[ch]
13152                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
13153                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
13154                         new functions, do the right thing when a device change occurs
13155
13156         * gnome/applet/applet-dbus.c
13157                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
13158                         signals, so we can handle them specially
13159
13160         * gnome/applet/applet.[ch]
13161                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
13162                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
13163                 - (nmwa_notify_state): remove
13164                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
13165                         notification work is now done when the appropriate dbus signals
13166                         are received.
13167                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
13168                         defer execution of the notification/dialog stuff.  That was an
13169                         artifact of the previous multi-threaded nature of the applet
13170                         and is now pointless.
13171                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
13172                         no longer needed.  Function folded into applet-notifications.c
13173
13174         * src/NetworkManagerPolicy.c
13175                 - (nm_policy_activation_finish): send the AP along with the device
13176                         status change signal, if the connection is wireless.  Should
13177                         fix the race where applet would show a connection to "unknown"
13178
13179 2006-02-25  Robert Love  <rml@novell.com>
13180
13181         Add WPA Enterprise support:
13182         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
13183           nm-gconf-wso-wpa-eap.h.
13184         * gnome/applet/nm-gconf-wso-wpa-eap.c,
13185           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
13186           serialization and deserialization.
13187         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13188           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
13189           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
13190         * gnome/applet/wireless-applet.glade: Add UI for configurating security
13191           settings related to WPA Enterprise.
13192         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
13193           instantiate WPA Enterprise wireless-security-option.
13194         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
13195           Implement WPA Enterprise wireless-security-option object.
13196         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
13197           defines.  Cleanup.
13198         * libnm-util/cipher-wpa-psk-hex.c,
13199           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
13200         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
13201           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
13202           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
13203           including the cipher to DBUS method, and
13204           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
13205           to output.
13206         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
13207           nm-ap-security-wpa-eap.h
13208         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
13209           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
13210         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
13211           files.  Implement NMAPSecurityWPA_EAP object.
13212         * src/nm-ap-security-wpa-psk.c: Cleanup.
13213         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
13214           an NMAPSecurityWPA_EAP object via the method
13215           nm_ap_security_wpa_eap_new_deserialize().
13216         * src/nm-dbus-nm.c: Cleanup.
13217         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
13218           WPA Enterprise support.
13219
13220 2006-02-24  Robert Love  <rml@novell.com>
13221
13222         Patch from Timo Hoenig <thoenig@suse.de>:
13223         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
13224
13225 2006-02-24  Robert Love  <rml@novell.com>
13226
13227         Patch from Dan Winship <danw@novell.com>:
13228         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
13229           area to transparent.
13230
13231 2006-02-21  Dan Williams  <dcbw@redhat.com>
13232
13233         * gnome/applet/applet.[ch]
13234           gnome/applet/applet-dbus.c
13235                 - Implement notification support for VPN messages too
13236
13237 2006-02-21  Dan Williams  <dcbw@redhat.com>
13238
13239         * gnome/applet/applet-dbus-info.c
13240                 - Clean up warning messages to not double-print the function
13241
13242 2006-02-21  Dan Williams  <dcbw@redhat.com>
13243
13244         * gnome/applet/applet-compat.c
13245                 - (convert_one_entry): accept entries without a key_type and
13246                         convert them to unencrypted networks
13247
13248 2006-02-21  Dan Williams  <dcbw@redhat.com>
13249
13250         * gnome/libnm_glib/libnm_glib.c
13251                 - Use __func__ everywhere we can
13252                 - Code cleanups
13253                 - Use dbus pending calls rather than blocking
13254                 - Reduce busywaits for our thread to start and stop
13255                         (gnome.org #330562)
13256                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
13257                         stomp on others using the default shared dbus connection.
13258                         Fixes #rh177546# and gnome.org #326572
13259
13260 2006-02-21  Dan Williams  <dcbw@redhat.com>
13261
13262         Patch from Rodney Dawes <dobey@novell.com>
13263         * configure.in
13264           gnome/applet/Makefile.am
13265           gnome/applet/applet.c
13266                 - Add libnotify support if '--enable-notify=yes' is passed
13267                   at configure time
13268
13269 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
13270
13271         * configure.in (ALL_LINGUAS): ko added. (Korean)
13272
13273 2006-02-15  Robert Love  <rml@novell.com>
13274
13275         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
13276           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
13277           and WPA_SUPPLICANT_CONTROL_SOCKET.
13278         
13279 2006-02-15  Robert Love  <rml@novell.com>
13280
13281         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
13282           information about what connection stage we are at, provide the total
13283           number of stages, e.g. "Stage 2 of 5", so users know how far along
13284           they are if they experience problems.
13285
13286 2006-02-15  Robert Love  <rml@novell.com>
13287
13288         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
13289           define to $sysconfdir.
13290         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
13291           editing dialog, vpn_edit_widget, which fixes a bug where editing one
13292           type of VPN and then editing another results in a mangled dialog
13293           box containing the widgets from both VPNs (fixes Novell #150854).
13294           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
13295
13296 2006-02-14  Robert Love  <rml@novell.com>
13297
13298         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
13299           syslog's file descriptor.
13300
13301 2006-02-14  Robert Love  <rml@novell.com>
13302
13303         Fix bug around since the change to "deal with APs changing settings on
13304         us," checked in on the fifth of February in the year of the dog, 
13305         wherein connecting to non-broadcast encrypted networks always fails
13306         because nm_ap_get_encrypted() always returns FALSE, even when the user
13307         provided a key, because the newly-created fake AP does not have any
13308         capabilities set, which is a sypmtom of security settings not matching
13309         capabilities (Novell bug #150784):
13310         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
13311           nm_ap_add_capabilities_from_security(), which sets the given AP's
13312           capabilities off the given security settings.  Also improve our
13313           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
13314           NM_AUTH_CIPHER_AUTO.
13315         * src/nm-device-802-11-wireless.c: Call the function
13316           nm_ap_add_capabilities_from_security() to ensure that capabilities
13317           match newly updated security settings.
13318
13319 2006-02-14  Robert Love  <rml@novell.com>
13320
13321         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
13322           error as a string, not an integer, if possible; do not print the
13323           function name twice; always give the interface, if possible; misc.
13324           cleanup.
13325
13326 2006-02-12  Dan Williams  <dcbw@redhat.com>
13327
13328         Patch from Tom Parker <palfrey@tevp.net>
13329         * src/NetworkManagerSystem.h
13330                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
13331                         no longer used
13332
13333         * src/backends/NetworkManagerDebian.c
13334                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
13335                         unused variables
13336
13337 2006-02-12  Dan Williams  <dcbw@redhat.com>
13338
13339         * vpn-daemons/openvpn/intltool-extract.in
13340           vpn-daemons/openvpn/intltool-merge.in
13341           vpn-daemons/openvpn/intltool-update.in
13342           vpn-daemons/pptp/intltool-extract.in
13343           vpn-daemons/pptp/intltool-merge.in
13344           vpn-daemons/pptp/intltool-update.in
13345                 - Remove from CVS, they should get created by intltoolize,
13346                         shouldn't they?
13347
13348 2006-02-12  Dan Williams  <dcbw@redhat.com>
13349
13350         * vpn-daemons/pptp/src/pppd/patchlevel.h
13351         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13352                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
13353                         Makefile-defined VERSION
13354
13355 2006-02-09  Dan Williams  <dcbw@redhat.com>
13356
13357         Patch from: Vinay A R <rvinay@novell.com>
13358         * src/vpn-manager/nm-vpn-act-request.[ch]
13359                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
13360                         IPSec VPNs require them for std gateway.
13361                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
13362                         and 'user_routes_count'
13363                 - (nm_vpn_act_request_get_user_routes): new function; gets user
13364                         defined routes  from NMVPNActRequest object, returns the string
13365                         array of routes.
13366
13367         * src/vpn-manager/nm-vpn-manager.[ch]
13368                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
13369                         for 'user_routes' and 'user_routes_count'
13370         
13371         * src/vpn-manager/nm-dbus-vpn.c
13372                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
13373                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
13374         
13375         * src/vpn-manager/nm-vpn-service.c
13376                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
13377                         the vpn daemon
13378
13379         Modifications by Dan:
13380         * src/vpn-manager/nm-vpn-service.c
13381                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
13382                         arrays into dbus
13383
13384         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13385         * vpn-daemons/pptp/src/nm-pptp-service.c
13386         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13387                 - Grab user routes from dbus message
13388                 - Free all string arrays we got from dbus
13389
13390 2006-02-07  Robert Love  <rml@novell.com>
13391
13392         Patch by Stefan Seyfried <seife@suse.de>:
13393         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
13394
13395 2006-02-06  Robert Love  <rml@novell.com>
13396
13397         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
13398
13399 2006-02-06  Robert Love  <rml@novell.com>
13400
13401         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
13402           test ">=" is never false.  If no newline is found, we loop forever.
13403           We can just check for ">" because the following if() will see the
13404           zero-th argument if the while() gets that far.
13405
13406 2006-02-05  Dan Williams  <dcbw@redhat.com>
13407
13408         Refine handling of non-broadcast networks.
13409
13410         * src/NetworkManagerAPList.c
13411                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
13412                         property from scanned AP to the AP from the device list
13413
13414         * src/nm-device-802-11-wireless.c
13415                 - (supplicant_send_network_config): use ap_scan=1 for all networks
13416                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
13417                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
13418                         networks since those don't have APs.
13419                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
13420                         AP as non-SSID-broadcasting
13421                 - (process_scan_results): don't handle non-SSID-broadcasting here
13422
13423 2006-02-05  Dan Williams  <dcbw@redhat.com>
13424
13425         * src/nm-device-802-11-wireless.c
13426                 - (get_supplicant_timeout): new function; return
13427                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
13428                         14 channels.  These are likely a/b/g cards, like Atheros, and
13429                         slow as hell to scan.
13430                 - (supplicant_timeout_cb, supplicant_monitor_start): use
13431                         get_supplicant_timeout()
13432
13433 2006-02-05  Dan Williams  <dcbw@redhat.com>
13434
13435         * src/dhcp-manager/nm-dhcp-manager.c
13436                 - Loose a commit race with Robert; make sure size check
13437                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
13438
13439 2006-02-05  Robert Love  <rml@novell.com>
13440
13441         Patch by Christoph Brill <chrisbrill@gmx.net>:
13442         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
13443           with DHCP_SERVICE_NAME.
13444
13445 2006-02-05  Dan Williams  <dcbw@redhat.com>
13446
13447         Remove anything having to do with device_setup_func from the
13448         AP security objects, since it's no longer used.
13449
13450         * src/nm-ap-security.h
13451                 - Kill device_setup_func and nm_ap_security_device_setup()
13452
13453         * src/nm-ap-security-wep.c
13454           src/nm-ap-security-wpa-psk.c
13455                 - (real_device_setup): remove
13456
13457         * src/nm-ap-security.c
13458                 - (real_device_setup): remove
13459                 - (nm_ap_security_device_setup): remove
13460
13461         * src/nm-device-802-11-wireless.[ch]
13462                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
13463                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
13464                         and done by wpa_supplicant now anyway
13465
13466 2006-02-05  Dan Williams  <dcbw@redhat.com>
13467
13468         * src/nm-device-802-11-wireless.c
13469                 - (ap_need_key, real_act_stage2_config): deal with APs changing
13470                         settings on us.  Previously NM would loop asking for the
13471                         key but getting the same one back.  Now, if the NMI-supplied
13472                         cipher doesn't overlap with the scanned AP capabilities,
13473                         we request a completely new key from the user.
13474
13475 2006-02-05  Dan Williams  <dcbw@redhat.com>
13476
13477         * src/NetworkManagerUtils.c
13478                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
13479                         Handle newline killing better
13480
13481 2006-02-05  Dan Williams  <dcbw@redhat.com>
13482
13483         * gnome/applet/nm-gconf-wso.c
13484                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
13485                         of unencrypted access point security info.
13486
13487 2006-02-03  Robert Love  <rml@novell.com>
13488
13489         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
13490           user's encryption key, so we print the err_msg_cmd not the command,
13491           if available.  So long as SUPPLICANT_DEBUG is default, this makes
13492           sense.
13493
13494 2006-02-03  Christopher Aillon  <caillon@redhat.com>
13495
13496         * initscript/RedHat/NetworkManagerDispatcher.in:
13497         * initscript/RedHat/NetworkManager.in: modify the pidfile location
13498         Patch from Dan Walsh <dwalsh@redhat.com>
13499
13500 2006-02-03  Robert Love  <rml@novell.com>
13501
13502         * dispatcher-daemon/NetworkManagerDispatcher.c,
13503           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
13504           but use the sysconfdir.
13505
13506 2006-02-03  Robert Love  <rml@novell.com>
13507
13508         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
13509           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
13510           'char *'.
13511         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
13512           nm_ip4_config_get_hostname() and
13513           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
13514         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
13515           leak g_strdup() result.
13516
13517 2006-02-03  Robert Love  <rml@novell.com>
13518
13519         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
13520           broadcast == TRUE.  Also, copy broadcast and artificial properties
13521           from source network to destination in nm_ap_copy().
13522         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
13523           since we now default new networks to non-hidden.
13524
13525 2006-02-03  Dan Williams  <dcbw@redhat.com>
13526
13527         * gnome/applet/main.c
13528                 - (main): change the NEVER->ALWAYS so we start at the
13529                         beginning of the session, if being session-managed
13530
13531 2006-02-03  Dan Williams  <dcbw@redhat.com>
13532
13533         * gnome/applet/main.c
13534                 - (main): in a variation on Robert's patch, change
13535                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
13536                         he wants.
13537
13538 2006-02-02  Robert Love  <rml@novell.com>
13539
13540         * src/Makefile.am: If we aren't going to create the run directory at,
13541           uh, run-time, create it during install.  Then users just doing
13542           'make install' are cool, too.  While we are here, create the
13543           dispatcher.d directory, too.
13544         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
13545           the exact run directory.
13546         * Makefile.am: Install nm-applet.desktop.
13547
13548 2006-02-02  Robert Love  <rml@novell.com>
13549
13550         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
13551           structure, which denotes whether or not the AP is hidden.  This is a
13552           superset of 'artificial' -- we need 'broadcast' because a hidden AP
13553           can show up in the scan list.  Add nm_ap_get_broadcast() and
13554           nm_ap_set_broadcast() accessor interfaces.
13555         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
13556           nm_ap_set_broadcast().
13557         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
13558           "getProperties" method, which denotes whether or not the given
13559           network is hidden.
13560         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
13561           an artificial network.  Set broadcast to TRUE when scanning returns
13562           an ESSID and FALSE when not.
13563         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
13564           from "getProperties" method on a network.  Possible TODO is to
13565           somehow display this.
13566         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
13567
13568 2006-02-02  Dan Williams  <dcbw@redhat.com>
13569
13570         * src/nm-device-802-11-wireless.c
13571                 - (supplicant_interface_init): don't try to create
13572                         /var/run/NetworkManager, since that should be done by
13573                         the distro package.  Causes problems for stuff like SELinux
13574
13575 2006-02-02  Robert Love  <rml@novell.com>
13576
13577         Patch by Sureshkumar T <tsureshkumar@novell.com>:
13578         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
13579           Check for and handle empty string for iface.
13580
13581 2006-02-01  Robert Love  <rml@novell.com>
13582
13583         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
13584           manpage.
13585
13586 2006-01-31  Dan Williams  <dcbw@redhat.com>
13587
13588         * nm-applet.desktop
13589                 - Add --sm-disable to Exec arguments, presuming that when
13590                         using autostart, we don't want session management
13591
13592 2006-01-31  Robert Love  <rml@novell.com>
13593
13594         * src/NetworkManagerAP.c: Add two new manufacturer default network
13595           names: linksys-a and linksys-g.  These are found (at least) on the
13596           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
13597           own ESSID.
13598
13599 2006-01-31  Robert Love  <rml@novell.com>
13600
13601         * src/NetworkManagerAP.c: Optimize the function
13602           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
13603           machine code.  This is the first in a series of code tweaks aiming to
13604           generate better machine code and make NetworkManager all the better.
13605           Just kidding.  Who has time to go through the assembly generated for
13606           every function?  I certainly don't.  I have a wife, a kid, a job,
13607           a mortgage, a mistress.  But this function was so bad, I was called
13608           to arms.  Like the book.
13609
13610 2006-01-31  Robert Love  <rml@novell.com>
13611
13612         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
13613           AP is not broadcasting, to scan with probe request frames.  Required
13614           for non-broadcast networks.
13615
13616 2006-01-31  Robert Love  <rml@novell.com>
13617
13618         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
13619           preprocessor define (still 20s).  Fix message text in nm_info()
13620           s/too too/took too/.
13621
13622 2006-01-30  Dan Williams  <dcbw@redhat.com>
13623
13624         * src/nm-device-802-11-wireless.c
13625                 - (supplicant_monitor_start): increase connect/auth timeout to
13626                         20 seconds from 10 seconds
13627
13628 2006-01-30  Dan Williams  <dcbw@redhat.com>
13629
13630         * src/Makefile.am
13631                 - Define LOCALSTATEDIR
13632
13633         * src/nm-device-802-11-wireless.c
13634                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13635                         socket where we want it to
13636
13637         * src/wpa_ctrl.[ch]
13638                 - (wpa_ctrl_open): accept location to put local control socket
13639
13640 2006-01-30  Robert Love  <rml@novell.com>
13641
13642         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13643           get_ip4_string() for "domain_name".
13644
13645 2006-01-30  Robert Love  <rml@novell.com>
13646
13647         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13648           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13649           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13650           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13651           support for "Automatic" pairwise and group cipher configuration by
13652           letting wpa_supplicant handle the details.  Add UI elements, new
13653           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13654           charm.  Note this does more than add a nice feature, it fixes a bug.
13655           Apparently, some people have AP's where the pairwise cipher does not
13656           match the group cipher.  Insane, but true.
13657
13658 2006-01-30  Dan Williams  <dcbw@redhat.com>
13659
13660         * gnome/applet/applet-dbus-devices.c
13661                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13662                         functions, grab device driver name from NetworkManager
13663                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13664
13665         * gnome/applet/applet.c
13666                 - (nmwa_update_info): show driver name in Connection Information
13667                         dialog
13668
13669         * gnome/applet/nm-device.[ch]
13670                 - (network_device_get_driver, network_device_set_driver): add
13671                         accessors for driver name
13672
13673         * gnome/applet/wireless-applet.glade
13674                 - Add line for driver name to Connection Information dialog
13675
13676         * src/nm-dbus-device.c
13677                 - (nm_dbus_device_get_driver): new function to return driver name
13678                 - (nm_dbus_device_methods): hook up driver name function to dbus
13679
13680         * test/nm-tool.c
13681                 - (get_driver_name): new function
13682                 - (detail_device): grab and show driver name
13683
13684 2006-01-30  Robert Love  <rml@novell.com>
13685
13686         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13687           does not parse the markup if it is not part of the format.
13688
13689 2006-01-30  Robert Love  <rml@novell.com>
13690
13691         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13692           FALSE, we have no security options for this dialog, so we throw up
13693           an error dialog instead of a broken passphrase dialog.  Fixes
13694           Novell #138404.
13695         * gnome/applet/wireless-security-manager.c,
13696           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13697           does not add any security options, not even NONE, print a warning
13698           and return FALSE.  This let's functions constructing a dialog bail
13699           out if the device's capabilities and the network's requirements have
13700           zero overlap.
13701
13702 2006-01-27  Robert Love  <rml@novell.com>
13703
13704         * configure.in: Require wpa_supplicant.  Detect location of binary and
13705           use it.  Override with "--with-wpa_supplicant=foo".
13706         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13707           path to wpa_supplicant but use the auto-detected or user-provided
13708           value from configure.
13709
13710 2006-01-27  Robert Love  <rml@novell.com>
13711
13712         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13713           but the DHCP server did not return a hostname, try to look up our
13714           name via DNS and set the system hostname to that.
13715
13716 2006-01-27  Dan Williams  <dcbw@redhat.com>
13717
13718         * src/backends/NetworkManagerRedHat.c
13719                 - Add NM_CONTROLLED system network script support for RH/Fedora
13720
13721 2006-01-27  Dan Williams  <dcbw@redhat.com>
13722
13723         * src/backends/NetworkManagerGentoo.c
13724                 - (nm_system_device_get_disabled): add missing function.
13725                         Gnome BZ #328780
13726
13727 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13728
13729         * configure.in: Added vi in ALL_LINGUAS line.
13730         
13731 2006-01-26  Robert Love  <rml@novell.com>
13732
13733         * src/Makefile.am, src/kernel-types.h: Now that two different source
13734           files are feeling the crack-addled leakage of kernel types such as
13735           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13736           types in user-space -- define a header and include it as needed.
13737         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13738         * src/nm-device-802-3-ethernet.h: Remove defines.
13739         * src/wpa.c: Remove defines and include kernel-types.h.
13740
13741 2006-01-26  Robert Love  <rml@novell.com>
13742
13743         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13744           work.
13745
13746 2006-01-26  Robert Love  <rml@novell.com>
13747
13748         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13749         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13750           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13751           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13752           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13753           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13754           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13755           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13756           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13757           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13758           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13759           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13760           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13761           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13762           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13763           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13764           Kill unused variables, labels, and static functions.  Don't pass
13765           string literals as the format string for printf-like functions.
13766
13767 2006-01-25  Dan Williams  <dcbw@redhat.com>
13768
13769         * gnome/applet/wireless-applet.glade
13770                 - Remove WPA2 Checkbox
13771
13772         * gnome/applet/wireless-security-manager.c
13773                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13774                         This means the Wireless Security menu now has two WPA options,
13775                         one for "WPA Personal" and one for "WPA2 Personal"
13776
13777         * gnome/applet/wso-wpa-psk.[ch]
13778                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13779                         'wpa2' argument to determine WPA version to use
13780                 - (append_dbus_params_func): pass stored WPA version to cipher
13781                         rather than using the (removed) checkbox
13782
13783 2006-01-24  Robert Love  <rml@novell.com>
13784
13785         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13786           before we g_strdup(), not the ultimate string.
13787
13788 2006-01-23  Dan Williams  <dcbw@redhat.com>
13789
13790         * src/NetworkManagerAP.[ch]
13791                 - (nm_ap_new_from_ap): copy original essid too
13792                 - (nm_ap_unref): free original essid
13793                 - (nm_ap_get_orig_essid): new function
13794                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13795                         but keep original essid around too
13796
13797         * src/nm-device-802-11-wireless.c
13798                 - (supplicant_send_network_config): send wpa_supplicant the
13799                         _original_ essid, and not as a string, but in hex.  Should
13800                         allow us to connect to more APs that use wierd character
13801                         encodings for their essids
13802
13803         * utils/nm-utils.[ch]
13804                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13805                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13806                         use the current locale as a hint for what encoding the essid
13807                         might be in.  Obviously not 100% accurate, but the idea here is
13808                         that if a user's locale is ex. ja_JP, they are more likely than
13809                         not to be in Japan, where access points will likely be in some
13810                         Japanese encoding.
13811
13812 2006-01-23  Dan Williams  <dcbw@redhat.com>
13813
13814         * libnm-util/cipher-private.h
13815           libnm-util/cipher.c
13816           libnm-util/cipher.h
13817                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13818
13819 2006-01-23  Robert Love  <rml@novell.com>
13820
13821         Patch by Timo Hoenig <thoenig@suse.de>:
13822         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13823           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13824           by DHCP and pass it to the backends, allowing distribution-specific
13825           behavior with respect to the DHCP-supplied hostname (if nothing else,
13826           some distributions might not want to set the hostname).
13827         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
13828           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
13829           Also update our NIS behavior.
13830         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
13831           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
13832           Add stub functions.
13833
13834 2006-01-23  Robert Love  <rml@novell.com>
13835
13836         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
13837           gnome-session does autostart.  TODO: We need to install this to
13838           $prefix/share/autostart/.
13839
13840 2006-01-22  Dan Williams  <dcbw@redhat.com>
13841
13842         * src/NetworkManagerAP.[ch]
13843           src/nm-dbus-nmi.c
13844           src/nm-device-802-11-wireless.c         
13845                 - Make nm_ap_get_essid return "const char *"
13846
13847 2006-01-22  Dan Williams  <dcbw@redhat.com>
13848
13849         * src/NetworkManagerAP.[ch]
13850                 - (nm_ap_get_matched, nm_ap_set_matched): remove
13851
13852         * src/NetworkManagerAPList.[ch]
13853                 - (nm_ap_list_diff): removed
13854                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
13855                         deal with access points changing essids on us
13856
13857         * src/nm-device-802-11-wireless.c
13858                 - (add_new_ap_to_device_list): move AP dbus signal logic to
13859                         src/NetworkManagerAPList.c
13860                 - (real_can_interrupt_activation): new function; allow interruption
13861                         of device activation if we are waiting for a network key
13862
13863         * src/NetworkManagerPolicy.c
13864                 - (nm_policy_device_change_check): allow interruption of currently
13865                         activating devices if the device allows it.  Previous behavior
13866                         would refuse to activate a just-plugged wired device if a
13867                         wireless device was waiting for a key.
13868
13869         * src/nm-device.[ch]
13870                 - (nm_device_can_interrupt_activation): new function; ask devices
13871                         whether their activation can be interrupted
13872
13873 2006-01-20  Robert Love  <rml@novell.com>
13874
13875         * Makefile.am, configure.in: Add new man subdirectory.
13876         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
13877           man/Makefile.am: Add man pages for NetworkManager and its
13878           crime-solving bumbling buddy, NetworkManagerDispatcher.
13879         * man/.cvsignore: Add.
13880         * initscript/Debian/NetworkManager,
13881           initscript/Gentoo/NetworkManager.in,
13882           initscript/RedHat/NetworkManager.in,
13883           initscript/RedHat/NetworkManagerDispatcher.in,
13884           initscript/SUSE/networkmanager-dispatcher.in,
13885           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
13886
13887 2006-01-20  Robert Love  <rml@novell.com>
13888
13889         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
13890           instead of queuing.  This prevents the running of multiple NM
13891           daemons concurrently, which does not work whatsoever and results in
13892           neither daemon working correctly.  Also, we don't handle queuing and
13893           name-owner-changes, anyhow.
13894
13895 2006-01-20  Robert Love  <rml@novell.com>
13896
13897         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
13898         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
13899           to sbin, not bin.
13900
13901 2006-01-19  Robert Love  <rml@novell.com>
13902
13903         * configure.in: Require hal 0.5.0 or later.
13904
13905 2006-01-18  Robert Love  <rml@novell.com>
13906
13907         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
13908           Allow backends to flag a device (in whatever distro-dependent way
13909           they so desire) as disabled.  NM will ignore any such device.
13910         * src/backends/NetworkManagerDebian.c,
13911           src/backends/NetworkManagerRedHat.c,
13912           src/backends/NetworkManagerSlackware.c: Add stub function
13913           nm_system_device_get_disabled() that always returns FALSE (enabled).
13914         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
13915           SUSE-specific configuration structure.  Fill it in from the
13916           NM_CONTROLLED variable in the system networking scripts.  If this var
13917           exists and is "no", we ignore the device.
13918
13919 2006-01-17  Robert Love  <rml@novell.com>
13920
13921         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
13922           identical for NM.  For a full discussion, see the thread at
13923           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
13924
13925 2006-01-17  Dan Williams  <dcbw@redhat.com>
13926
13927         * src/nm-device.c
13928                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
13929                         function.  Fixes crash when wired DHCP fails.
13930
13931 2006-01-16  Robert Love  <rml@novell.com>
13932
13933         * src/Makefile.am: Don't install NMLoadModules
13934         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
13935           from src/ to test/ as no one uses it anymore.  Note that I would be
13936           fine with removing it altogether.
13937
13938 2006-01-16  Robert Love  <rml@novell.com>
13939
13940         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
13941           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13942           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
13943           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
13944           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
13945           src/nm-netlink-monitor.c: Don't miss any initializers on structure
13946           declarations, ever.
13947         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
13948           NM_STATE_DISCONNECTED is zero).
13949
13950 2006-01-16  Robert Love  <rml@novell.com>
13951
13952         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
13953           uninitialized parameter and buffer overflow.  Novell #143496.
13954
13955 2006-01-16  Dan Williams  <dcbw@redhat.com>
13956
13957         Apply the PtP Address bits of a patch from Tim Niemueller
13958
13959         * src/nm-ip4-config.[ch]
13960                 - Add ip4_ptp_address member to object
13961                 - (nm_ip4_config_copy): copy ptp address too
13962                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
13963                         new functions
13964                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
13965                         rather than local tunnel ip address
13966
13967         * src/vpn-manager/nm-vpn-service.c
13968                 - (print_vpn_config): update for PtP address
13969                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
13970                         DBusMessageIters in preparation for getting routes from the VPN
13971                         service daemons too
13972
13973         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
13974                 - (send_config_info): update for PtP address, clean up code
13975                 - (main): update for PtP address, clean up code, fix typo
13976
13977         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13978                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
13979
13980         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13981                 - (pptp_ip_up): update for PtP address
13982
13983         * vpn-daemons/pptp/src/nm-pptp-service.c
13984                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
13985
13986         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13987                 - (print_vpn_config): update for PtP address
13988                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
13989
13990 2006-01-16  Dan Williams  <dcbw@redhat.com>
13991
13992         * gnome/applet/applet.c
13993                 - (nmwa_add_networks_helper): don't indicate an active network
13994                         if NM is disconnected or asleep
13995
13996 2006-01-16  Dan Williams  <dcbw@redhat.com>
13997
13998         * src/NetworkManagerPolicy.c
13999                 - (nm_policy_device_change_check): switch devices if we lose the link
14000                         on an ethernet device. 
14001
14002 2006-01-16  Dan Williams  <dcbw@redhat.com>
14003
14004         * gnome/applet/wso-wpa-psk-hex.[ch]
14005                 - Renamed -> wso-wpa-psk.[ch]
14006
14007         * gnome/applet/wso-wpa-psk.[ch]
14008                 - New files
14009
14010         * gnome/applet/wso-wpa-psk-passphrase.[ch]
14011                 - Removed, rolled into wso-wpa-psk.[ch]
14012
14013         * gnome/applet/Makefile.am
14014                 - Updated for above changes
14015
14016         * gnome/applet/wireless-applet.glade
14017                 - Consolidate WPA-PSK options into one notebook
14018                         widget, and make dialogs invisible by default
14019                         to fix screen oddities
14020
14021         * gnome/applet/wireless-security-manager.c
14022                 - (wsm_set_capabilities): create the new wpa-psk widget rather
14023                         than both the old hex & passphrase ones
14024
14025 2006-01-16  Dan Williams  <dcbw@redhat.com>
14026
14027         * gnome/applet/other-network-dialog.c
14028                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
14029
14030 2006-01-16  Dan Williams  <dcbw@redhat.com>
14031
14032         * gnome/applet/applet.c
14033                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
14034                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
14035                         prevention to realize window before trying to get server
14036                         time
14037
14038         * gnome/applet/other-network-dialog.c
14039                 - (nmwa_other_network_dialog_run): fix up focus-stealing
14040                         prevention to realize window before trying to get server
14041                         time
14042
14043         * gnome/applet/passphrase-dialog.c
14044                 - (nmi_passphrase_dialog_new): fix up focus-stealing
14045                         prevention to realize window before trying to get server
14046                         time
14047
14048 2006-01-16  Robert Love  <rml@novell.com>
14049
14050         Patch from Timo Hoenig  <thoenig@suse.de:
14051         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
14052           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
14053           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
14054           libnm-util/dbus-helpers.h: add checks whether headers are used
14055           within a C++ build.
14056
14057 2006-01-16  Dan Williams  <dcbw@redhat.com>
14058
14059         * gnome/applet/wireless-security-option.c
14060                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
14061
14062 2006-01-16  Dan Williams  <dcbw@redhat.com>
14063
14064         * libnm-util/cipher-wpa-psk-passphrase.c
14065                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
14066                         be 8 - 63 characters inclusive
14067
14068 2006-01-16  Dan Williams  <dcbw@redhat.com>
14069
14070         * src/nm-dbus-nm.c
14071                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
14072
14073 2006-01-13  Robert Love  <rml@novell.com>
14074
14075         Patch by T Sureshkumar <tsureshkuman@novell.com>:
14076         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
14077           modules that do not use an interface.
14078
14079 2006-01-13  Dan Williams  <dcbw@redhat.com>
14080
14081         * src/nm-device.c
14082           src/nm-device.h
14083                 - Allow subclasses to implement deactivate_quickly()
14084                 - (nm_device_deactivate_quickly): call subclass
14085                         deactivate_quickly() methods
14086                 - (nm_device_set_active_link): small cleanups, and don't
14087                         deactivate the device right away because we risk a deadlock
14088                         when called from device thread, waiting for the device
14089                         thread to cancel activation
14090
14091         * src/nm-device-802-11-wireless.c
14092                 - (real_deactivate_quickly): new function
14093                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
14094                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
14095                         so that we kill the supplicant when we sleep too
14096                 - (supplicant_interface_init): work around naive naming attempts of
14097                         wpa_ctrl when naming sockets
14098
14099 2006-01-13  Dan Williams  <dcbw@redhat.com>
14100
14101         * src/nm-device-802-11-wireless.c
14102                 - (supplicant_cleanup): delete old device control sockets too
14103                 - (supplicant_get_device_socket_path): new function to consolidate
14104                         locations that need a path to a device's control socket
14105
14106 2006-01-12  Robert Love  <rml@novell.com>
14107
14108         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
14109           description so that the description is unique for each
14110           pair (device,provider).  Fixes Novell #142773.
14111
14112 2006-01-12  Dan Williams  <dcbw@redhat.com>
14113
14114         * src/nm-device-802-11-wireless.c
14115                 - (supplicant_exec): ensure GError is correctly initialized
14116                         Reported by Diego González (gnome.org #326708)
14117
14118 2006-01-11  Robert Love  <rml@novell.com>
14119
14120         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
14121           define if_mii(), open code the same results, and do so without any
14122           type punning.
14123
14124 2006-01-11  Robert Love  <rml@novell.com>
14125
14126         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
14127           that wso_foo_new() returned non-NULL.  Instead, only append the new
14128           wso to wsm->options if the wso is non-NULL.  The crux is that we
14129           assume that the relevant key types are implied by WEP and WPA as
14130           appropriate.  To be sure, they should be, but we should not expect
14131           drivers to not be oozing piles of wolf fecal matter.
14132
14133 2006-01-11  Robert Love  <rml@novell.com>
14134
14135         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
14136         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
14137           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14138           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
14139           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
14140           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
14141           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
14142         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
14143           comparing values within DBL_EPSILON.  Also fix shadowed variable
14144           usage.
14145
14146 2006-01-11  Dan Williams  <dcbw@redhat.com>
14147
14148         Add options for WPA2 and WPA1+CCMP (AES).
14149
14150         * gnome/applet/wireless-applet.glade
14151                 - Add UI bits for WPA+CCMP
14152
14153         * gnome/applet/other-network-dialog.c
14154                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
14155                         and don't allow creation of WPA2 Ad-Hoc networks since
14156                         wpa_supplicant doesn't support them
14157
14158         * gnome/applet/wireless-security-manager.c
14159                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
14160                         on to the specific wireless security option being created
14161
14162         * gnome/applet/wireless-security-option.[ch]
14163                 - (wso_wpa_create_key_type_model): new utility function to create
14164                         the model required for WPA Key Type combo box
14165
14166         * gnome/applet/wso-private.h
14167           gnome/applet/wireless-security-option.h
14168                 - Move private function prototypes into wso-private.h
14169
14170         * gnome/applet/wso-wpa-psk-hex.[ch]
14171           gnome/applet/wso-wpa-psk-passphrase.[ch]
14172                 - (append_dbus_params_func): get WPA version from checkbox and pass
14173                         it to the dbus serialization helper
14174                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
14175                         key type combo changes
14176                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
14177                         model and options
14178
14179         * libnm-util/cipher-wpa-psk-hex.c
14180           libnm-util/cipher-wpa-psk-passphrase.c
14181                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
14182                         new function; allow the cipher to be changed after object creation
14183
14184         * src/nm-ap-security-wpa-psk.c
14185                 - (set_description): Do WPA2 descriptions too
14186
14187         * src/nm-ap-security.c
14188                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
14189
14190 2006-01-11  Robert Love  <rml@novell.com>
14191
14192         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
14193           is defined in <linux/mii.h> to return the mii_ioctl_data structure
14194           from the ifreq structure in lieu of an open coded solution.  Removes
14195           a life-threatening type-punning.
14196         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
14197           types, ever, whatsoever, baby.
14198
14199 2006-01-11  Robert Love  <rml@novell.com>
14200
14201         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
14202           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
14203           assignments to applet->nm_state into a new nmwa_set_state() function
14204           for both cleanliness and to help debugging.
14205
14206 2006-01-10  Robert Love  <rml@novell.com>
14207
14208         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
14209           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
14210           seconds, exclusive.  That is, we want to sleep x seconds such that
14211           1 < x < 2.
14212
14213 2006-01-10  Robert Love  <rml@novell.com>
14214
14215         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
14216           the attr fields according to the example in the email available at
14217           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
14218           Conversely, we do have to free 'name', so we do so, fixing a leak.
14219
14220 2006-01-10  Robert Love  <rml@novell.com>
14221
14222         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
14223           sure that we close the socket!
14224
14225 2006-01-10  Robert Love  <rml@novell.com>
14226
14227         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
14228           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
14229           src/nm-device.c: Fix a FIXME!  Reimplement the function
14230           nm_device_update_hw_address() in device subclass variants,
14231           nm_device_802_3_ethernet_set_address() and
14232           nm_device_802_11_wireless_set_address(), hook them up, and use them.
14233           This fixes the existing bug where MAC addresses are all zeros.
14234
14235 2006-01-10  Robert Love  <rml@novell.com>
14236
14237         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
14238           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
14239           option to give users ability to globally disconnect and put NM to
14240           sleep.  This is useful as a 'lockdown mode' for flying, security, and
14241           clean disconnect.
14242
14243 2006-01-09  Robert Love  <rml@novell.com>
14244
14245         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
14246           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
14247           User-space does not supply these types, so we have to define them
14248           ourselves.  The relevant kernel maintainer refused to accept a patch
14249           switching these headers to the proper C99 types.
14250
14251 2006-01-09  Dan Williams  <dcbw@redhat.com>
14252
14253         Apply Robert's 'tray icon redo' patch with fixes
14254         * gnome/applet/applet.c
14255           gnome/applet/applet.h
14256                 - Instead of using a menu bar + menu item, simulate menu
14257                         behavior using a popup menu.  Highlight the area around
14258                         the icon more like a menu too, by playing with the
14259                         applet's size requisition
14260
14261 2006-01-09  Timo Hoenig   <thoenig@suse.de>
14262         * libnm-util/dbus-helpers.c
14263           libnm-util/dbus-helpers.h
14264                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
14265                         to 'exception_namespace' (:namespace is a keyword in
14266                         C++)
14267
14268 2006-01-09  Dan Williams  <dcbw@redhat.com>
14269
14270         * src/NetworkManagerPolicy.c
14271                 - (nm_policy_device_change_check): don't autoswitch away from
14272                         Ad-Hoc networks, since there's really no concept of
14273                         "link"
14274
14275         * src/nm-dbus-nm.c
14276                 - (nm_dbus_nm_create_wireless_network): mark created networks
14277                         as Ad-Hoc networks
14278
14279         * src/nm-device-802-11-wireless.c
14280                 - (real_activation_success_handler): add user-created Ad-Hoc
14281                         networks to the device's scan list
14282
14283 2006-01-08  Dan Williams  <dcbw@redhat.com>
14284
14285         We now require a patch for wpa_supplicant to support Ad-Hoc
14286         networks:
14287           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
14288
14289         * src/nm-device-802-11-wireless.c
14290                 - (supplicant_send_network_config): turn off wpa_supplicant's
14291                         scanning.  Fixes Ad-Hoc networks.
14292
14293 2006-01-08  Dan Williams  <dcbw@redhat.com>
14294
14295         * src/nm-ap-security.c
14296           src/nm-ap-security.h
14297                 - Add a user_created argument to the write_supplicant_config
14298                         functions
14299
14300         * src/nm-ap-security-wep.c
14301           src/nm-ap-security-wpa-psk.c
14302           src/nm-device-802-11-wireless.c
14303                 - Make Ad-Hoc mode somewhat work, at least write the
14304                         correct options to wpa_supplicant
14305
14306 2006-01-08  Dan Williams  <dcbw@redhat.com>
14307
14308         * src/nm-device-802-11-wireless.c
14309                 - Remove unused code from the old device activation path
14310
14311 2006-01-08  Dan Williams  <dcbw@redhat.com>
14312
14313         * libnm-util/dbus-helpers.c
14314                 - (nmu_security_serialize_wpa_psk): pass a blank key through
14315                         dbus when key == NULL
14316
14317 2006-01-08  Dan Williams  <dcbw@redhat.com>
14318
14319         * gnome/applet/nm-gconf-wso-wpa-psk.c
14320                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
14321                         correct arguments to nmu_security_deserialize_wpa_psk()
14322
14323         * src/nm-ap-security-wpa-psk.c
14324                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
14325                         arguments to nmu_security_deserialize_wpa_psk()
14326
14327 2006-01-08  Dan Williams  <dcbw@redhat.com>
14328
14329         * gnome/applet/wso-wpa-psk-hex.c
14330           gnome/applet/wso-wpa-psk-passphrase.c
14331                 - Hook up the append_dbus_params_func() function
14332
14333 2006-01-08  Dan Williams  <dcbw@redhat.com>
14334
14335         * src/nm-device-802-11-wireless.c
14336                 - (get_wireless_capabilities): correctly detect driver WPA
14337                         capabilities
14338
14339 2006-01-08  Dan Williams  <dcbw@redhat.com>
14340
14341         * gnome/applet/Makefile.am
14342           gnome/applet/wso-wpa-psk-hex.c
14343           gnome/applet/wso-wpa-psk-hex.h
14344                 - New files, implement WPA-PSK Hex key input
14345
14346         * gnome/applet/wireless-applet.glade
14347                 - Change existing wpa-psk stuff to wpa-psk-hex
14348                 - Add new widgets for wpa-psk-passphrase
14349
14350         * gnome/applet/wireless-security-manager.c
14351                 - (wsm_set_capabilities): enable WPA options
14352
14353         * gnome/applet/wso-wpa-psk-passphrase.c
14354                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
14355                         for WPA-PSK passphrase
14356
14357 2006-01-08  Dan Williams  <dcbw@redhat.com>
14358
14359         * include/NetworkManager.h
14360                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
14361                         applet/info-daemons
14362
14363         * gnome/applet/passphrase-dialog.c
14364                 - Use the constant.  Fixes a bug where the arguments to
14365                         dbus_message_new_error() were incorrect
14366
14367         * src/nm-dbus-nmi.c
14368                 - Use the constant
14369
14370 2006-01-07  Dan Williams  <dcbw@redhat.com>
14371
14372         * src/nm-device-802-11-wireless.c
14373                 - Add a link timeout so we allow the supplicant time to
14374                         reassociate if it can, before we deactivate the card
14375                 - Fix up link status and link updating so things work better
14376
14377 2006-01-07  Dan Williams  <dcbw@redhat.com>
14378
14379         * src/nm-device-802-11-wireless.c
14380                 - Switch over to using wpa_supplicant
14381                 - Add a timeout of 10s for association of the supplicant
14382                 - Start the monitor callback of the supplicant
14383
14384 2006-01-07  Dan Williams  <dcbw@redhat.com>
14385
14386         * src/NetworkManagerUtils.c
14387                 - (nm_utils_supplicant_request,
14388                   nm_utils_supplicant_request_with_check):
14389                         pass correct buffer length to wpa_ctrl_request()
14390
14391 2006-01-07  Dan Williams  <dcbw@redhat.com>
14392
14393         * src/nm-device-private.h
14394           src/nm-device.c
14395                 - (nm_device_activate_schedule_stage3_ip_config_start): make
14396                         this function available to subclasses
14397
14398 2006-01-06  Robert Love  <rml@novell.com>
14399
14400         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
14401           user plugging in a network cable signals their preference for to
14402           switch, unless the user explicitly selected a wireless network and
14403           therefore signaled their preference for said wireless network over
14404           wired.  In other words, do exactly what makes sense.
14405
14406 2006-01-06  Robert Love  <rml@novell.com>
14407
14408         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14409           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
14410           src/NetworkManagerWireless.h: Remove, no longer used and they keep
14411           showing up in my greps.
14412
14413 2006-01-06  Robert Love  <rml@novell.com>
14414
14415         * gnome/applet/applet-dbus-devices.c,
14416           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
14417           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
14418           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
14419           New Network' both failed in the non-encrypted case because we were
14420           not appending the security options to the DBUS message.  And
14421           'Connect to Other' was also failing in the encrypted case because
14422           we were not incrementing to the next DBUS parameter.  All fixed.
14423           Thanks to dcdw for some debugging help.
14424
14425 2006-01-06  Robert Love  <rml@novell.com>
14426
14427         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
14428           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
14429           hangup code and add per-device hangup.  Tie last commit into the
14430           GNOME applet.  TODO:  Save, understand, and respond to the state of
14431           each dialup device.
14432
14433 2006-01-06  Robert Love  <rml@novell.com>
14434
14435         Patch by Timo Hoenig <thoenig@suse.de>:
14436         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
14437           hangup specific dialup devices.
14438         * src/backends/NetworkManagerDebian.c,
14439           src/backends/NetworkManagerGentoo.c,
14440           src/backends/NetworkManagerRedHat.c,
14441           src/backends/NetworkManagerSlackware.c: Add stub backend.
14442         * src/backends/NetworkManagerRedHat.c,
14443           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
14444           hangup specific dialup devices.
14445
14446 2006-01-04  Robert Love  <rml@novell.com>
14447
14448         * gnome/applet/applet-dbus-devices.c,
14449           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
14450           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
14451           connections.
14452
14453 2006-01-04  Dan Williams  <dcbw@redhat.com>
14454
14455         First dump of wpa_supplicant-related code.  It's not hooked up to
14456         anything yet though.  Thanks to Kay Sievers for
14457         wpa_supplicant_wrapper.c, which formed the basis for this work,
14458         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
14459
14460         * src/Makefile.am
14461           src/wpa_ctrl.[ch]
14462                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
14463
14464         * src/NetworkManagerUtils.[ch]
14465                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
14466                         Add convenience functions for talking to wpa_supplicant
14467
14468         * src/nm-ap-security.[ch]
14469           src/nm-ap-security-wep.c
14470           src/nm-ap-security-wpa-psk.[ch]
14471                 - Update and implement real_write_supplicant_config functions
14472                         in all security types
14473                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
14474                         nm-ap-security-wpa-psk.c
14475
14476         * src/nm-device-802-11-wireless.c
14477                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
14478                    wpa_supplicant_start, wpa_supplicant_interface_init,
14479                    wpa_supplicant_send_network_config): add functions to talk to
14480                         wpa_supplicant and write network config to it
14481
14482 2006-01-04  Robert Love  <rml@novell.com>
14483
14484         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
14485           values so that distribution-backends can differentiate between the
14486           various types (modem, ISDN, et cetera) of dialup device that they
14487           support.
14488         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
14489           needed.
14490
14491 2006-01-03  Dan Williams  <dcbw@redhat.com>
14492
14493         * src/NetworkManagerPolicy.c
14494           src/nm-device.[ch]
14495           src/nm-device-802-11-wireless.c
14496                 - Move wireless-specific activation failure and success code
14497                         into wireless device class
14498
14499 2006-01-03  Robert Love  <rml@novell.com>
14500
14501         Patch by Preggna S:
14502         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
14503           IPsec does not require that a VPN client be bound to an interface,
14504           due to the use of the in-kernel IPSec bits.  So make the tunnel
14505           device optional.
14506
14507 2006-01-03  Dan Williams  <dcbw@redhat.com>
14508
14509         * src/NetworkManagerAP.c
14510                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
14511                         the WPA IE specifies that WEP is supported
14512
14513         * src/nm-device-802-11-wireless.c
14514                 - (process_scan_results): don't mark an AP as supporting WEP
14515                         if there's already other encryption capability info
14516
14517 2006-01-03  Dan Williams  <dcbw@redhat.com>
14518
14519         * src/dhcp-manager/nm-dhcp-manager.c
14520                 - Recognize activation cancellation when waiting for DHCP
14521                         configuration from dhcdbd
14522                 - Ignore non-dhcdbd messages
14523
14524         * src/nm-device.c
14525                 - (real_act_stage3_ip_config_start): return to correct behavior
14526                         of letting the dhcp-manager notify us of failure or
14527                         success rather than incorrectly doing that ourselves
14528                 - (nm_device_activate_stage4_ip_config_get): deal with
14529                         activation cancellation a bit earlier
14530
14531 2006-01-03  Dan Williams  <dcbw@redhat.com>
14532
14533         * src/nm-device-802-11-wireless.c
14534           src/nm-device.[ch]
14535                 - Add hooks to subclasses for stage3_ip_config_start and
14536                         stage4_ip_config_timeout
14537
14538         * src/nm-device-802-3-ethernet.c
14539                 - (real_get_generic_capabilities): make devices NM-supported
14540                         by default
14541
14542 2006-01-03  Robert Love  <rml@novell.com>
14543
14544         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
14545           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
14546           latter cannot differentiate between error and the address -1; misc.
14547           clean up.
14548
14549 2006-01-03  Dan Williams  <dcbw@redhat.com>
14550
14551         * src/NetworkManager.c
14552                 - Move link-checking/probing into the device subclasses
14553                         themselves
14554
14555         * src/nm-device.[ch]
14556           src/nm-device-802-11-wireless.c
14557           src/nm-device-802-3-ethernet.c
14558                 - Do periodic link checking in device subclasses rather
14559                         than being triggered from NetworkManager.c
14560                 - discover_wireless_capabilities -> get_wireless_capabilities
14561                 - discover_generic_capabilities -> get_generic_capabilities
14562                 - Device subclass activation routines now return a value of type
14563                         NMActStageReturn to indicate what step to perform next
14564                 - Devices now override stage4_get_ip4_config if they choose
14565
14566 2006-01-01  Dan Williams  <dcbw@redhat.com>
14567
14568         * src/nm-device-802-11-wireless.c
14569                 - (real_init): don't chain up to parent init because we don't
14570                         need to do that anymore
14571
14572         * src/nm-device.c
14573                 - (discover_device_type): fix arguments to ioctl() to correctly
14574                         pass interface name
14575                 - (nm_device_new): consolidate generic device initialization into
14576                         nm_device_new()
14577                 - (real_init): remove, consolidated to nm_device_new()
14578                 - (nm_device_deactivate, real_deactivate): consolidate
14579
14580 2006-01-01  Dan Williams  <dcbw@redhat.com>
14581
14582         * src/nm-activation-request.c
14583                 - Change dhcp_state member of the NMActRequest structure
14584                         from guint8 to guint32
14585
14586         * src/dhcp-manager/nm-dhcp-manager.[ch]
14587                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
14588                         than guint8 to match the dbus argument.  Turns out we were
14589                         overwriting memory since we were passing in only a guint8
14590
14591 2005-12-31  Dan Williams  <dcbw@redhat.com>
14592
14593         * refactor NMDevice into a GObject-based framework with separate
14594                 objects for wired and wireless.  The following files are no
14595                 longer used but should stick around for a bit so we don't
14596                 loose code through the cracks:
14597                         NetworkManagerDevice.c
14598                         NetworkManagerDevice.h
14599                         NetworkManagerWireless.c
14600                         NetworkManagerWireless.h
14601
14602         The intent here is to allow each device type to manage its own
14603         connection & activation life-cycle, ie to allow wireless devices
14604         to interface with wpa_supplicant, etc.  There's a fair bit of
14605         encapsulation breakage right now that should gradually get pulled
14606         back into each device, along with things like periodic property
14607         updates and link probing.
14608
14609 2005-12-29  Dan Williams  <dcbw@redhat.com>
14610
14611         * include/NetworkManager.h
14612                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
14613                         between networks that don't have any encryption at all
14614
14615 2005-12-29  Dan Williams  <dcbw@redhat.com>
14616
14617         * test/test-common.c
14618           test/test-common.h
14619           test/Makefile.am
14620                 - Move to a test-common subdirectory
14621
14622         * test/libnm-util/test-ciphers.c
14623                 - Move test data to test-inputs.h
14624                 - Test WPA ciphers too
14625
14626         * test/libnm-util/test-dbus-helpers.c
14627                 - Test serialization/deserialization of ciphers
14628
14629 2005-12-29  Dan Williams  <dcbw@redhat.com>
14630
14631         * gnome/applet/applet-dbus-devices.c
14632                 - Replace 'enc' parameter with 'capabilities' for wireless networks
14633                         in dbus calls to NM
14634                 - Set capabilities on WirelessNetwork objects
14635                 - Receive and save type-specific device capabilities too
14636
14637         * gnome/applet/applet-dbus-info.c
14638           gnome/applet/applet-dbus.c
14639                 - Passphrase dialog no longer a singleton; new instance gets created
14640                         on each request.  Updates to deal with that.
14641
14642         * gnome/applet/applet.c
14643                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14644                         than single 'encrypted' flag
14645                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14646                         menu items
14647                 - Passphrase dialog updates per above
14648
14649         * gnome/applet/menu-items.c
14650                 - (network_menu_item_update): use AP capabilities to determine
14651                         encryption
14652
14653         * gnome/applet/nm-device.[ch]
14654                 - Add accessors for type-specific device capabilities
14655
14656         * gnome/applet/other-network-dialog.c
14657                 - Rework to respect device capabilities.  i.e., if the device doesn't
14658                         support WPA, remove that option from the security dropdown
14659
14660         * gnome/applet/passphrase-dialog.c
14661                 - Massive rework so that a new instance is created each time
14662                         it's used, to support wireless network capabilities
14663
14664         * gnome/applet/wireless-network.[ch]
14665                 - Add accessors and members for wireless network capabilities
14666
14667         * gnome/applet/wireless-security-manager.[ch]
14668                 - (wsm_set_capabilities): called after creation to set which
14669                         security options get shown to the user
14670
14671 2005-12-29  Dan Williams  <dcbw@redhat.com>
14672
14673         * libnm-util/cipher-wpa-psk-passphrase.c
14674                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14675                         like other ciphers
14676
14677 2005-12-23  Dan Williams  <dcbw@redhat.com>
14678
14679         * gnome/applet/applet-dbus-info.c
14680                 - (nmi_dbus_get_key_for_network): if there's no entry in
14681                         GConf for a network, assume we want a new key
14682                 - (nmi_save_network_info): serialize wireless security info
14683                         into GConf so its saved
14684
14685         * src/nm-dbus-nm.c
14686                 - Fix warning as we may not be passed security info when
14687                         connecting to a wireless network
14688
14689 2005-12-23  Dan Williams  <dcbw@redhat.com>
14690
14691         * gnome/applet/applet-compat.c
14692                 - Fix bugs in GConf entry conversion
14693
14694         * gnome/applet/applet-dbus-info.c
14695                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14696                         list being zero-length
14697
14698         * libnm-util/cipher-*
14699           libnm-util/dbus-helpers.c
14700                 - All ciphers must now return hashed keys as UTF-8 valid
14701                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14702                         through dbus as strings too.
14703                 - Consolidate various functions that do bin->hex and hex->bin
14704                         conversion into cipher.c
14705
14706         * src/nm-ap-security-wep.c
14707           src/nm-ap-security-wpa-psk.c
14708                 - Handle NULL keys since we may not know keys right away
14709
14710         * src/nm-dbus-nmi.c
14711                 - (nm_dbus_get_network_data_cb): actually advance to the start
14712                         of the wireless security info before we try to deserialize it
14713
14714         * libnm-util/test-ciphers.c
14715                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14716
14717 2005-12-22  Dan Williams  <dcbw@redhat.com>
14718
14719         * gnome/applet/applet-compat.[ch]
14720                 - Convert old-format GConf and keyring entries
14721                         when the applet starts up.
14722
14723         * gnome/applet/applet.c
14724                 - (nmwa_get_instance): Call the conversion function
14725                         on startup before dbus is initialized
14726
14727 2005-12-22  Dan Williams  <dcbw@redhat.com>
14728
14729         * gnome/applet/applet-dbus-info.c
14730                 - Remove nmi_dbus_create_error_message() in favor of
14731                         nmu_create_dbus_error_message()
14732                 - (nmi_dbus_get_network_properties): Error message cleanups
14733                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14734                         gconf key rather than 'addresses', since they really are BSSIDs
14735                 - (nmi_dbus_get_network_properties): Dispose of the security
14736                         object when we're done with it
14737
14738 2005-12-21  Dan Williams  <dcbw@redhat.com>
14739
14740         * Consolidate the info-daemon's "updateNetworkInfo" and
14741                 "addNetworkAddress" calls into just "updateNetworkInfo"
14742
14743 2005-12-21  Dan Williams  <dcbw@redhat.com>
14744
14745         * Make connection after key retrieval work again
14746
14747 2005-12-21  Dan Williams  <dcbw@redhat.com>
14748
14749         * gnome/applet/nm-gconf-wso*
14750                 - Make the serialize functions return gboolean
14751                         rather than int
14752
14753         * gnome/applet/nm-gconf-wso.c
14754                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14755                         parent class handling so we don't segfault
14756
14757         * src/NetworkManagerAP.[ch]
14758                 - (nm_ap_get_capabilities): new function, return capabilities
14759                         now that something can use them
14760                 - (nm_ap_set_encrypted): assume that an access point supports
14761                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14762                         we even tell whether it just supports WEP40?
14763
14764         * src/NetworkManagerDevice.c
14765                 - (ap_need_key): resurrect and update for the New World Order
14766                 - (nm_device_wireless_get_activation_ap): if we're not given
14767                         security info to use, create some based on access point
14768                         capabilities
14769
14770         * src/nm-ap-security-wep.c
14771                 - (nm_ap_security_wep_new_from_ap): create a new object
14772                         based on a certain access point's capabilities
14773
14774         * src/nm-ap-security.c
14775                 - (nm_ap_security_new_from_ap): delegate creation of a new
14776                         object based on access point capabilities to a subclass
14777                 - (nm_ap_security_copy_properties): don't segfault if we
14778                         don't have a key yet
14779
14780         * src/nm-dbus-nm.c
14781                 - (nm_dbus_nm_set_active_device): provide more informative
14782                         output when errors occur.  Also construct security info
14783                         for a given access point if we weren't given any
14784
14785 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14786
14787         * configure.in: Added Lithuanian to ALL_LINGUAS.
14788
14789 2005-12-21  Dan Williams  <dcbw@redhat.com>
14790
14791         * test/libnm-util
14792                 - Add some testcases for WEP ciphers
14793
14794 2005-12-17  Dan Williams  <dcbw@redhat.com>
14795
14796         * Fix bugs
14797
14798 2005-12-17  Dan Williams  <dcbw@redhat.com>
14799
14800         * include/NetworkManager.h
14801                 - Finally kill NMEncKeyType
14802
14803         * gnome/applet/applet-dbus-info.c
14804                 - (nmi_save_network_info): convert to NMGConfWSO
14805
14806         * gnome/applet/nm-gconf-wso-*.c
14807                 - Implement gconf serialization functions
14808
14809         * src/NetworkManagerPolicy.c
14810                 - (nm_policy_activation_finish): fix up meaning of
14811                         automatic/user_requested
14812
14813 2005-12-17  Dan Williams  <dcbw@redhat.com>
14814
14815         * gnome/applet/*
14816                 - More applet cleanups
14817                 - Use the dbus-method-dispatcher
14818
14819         * libnm-util/dbus-method-dispatcher.[ch]
14820                 - Generalize the implementation from NM in
14821                         NetworkManagerUtils.c
14822
14823 2005-12-16  Dan Williams  <dcbw@redhat.com>
14824
14825         * gnome/applet/*
14826                 - Fix up the passphrase dialog to use all the
14827                         WirelessSecurityOption stuff (untested)
14828
14829 2005-12-16  Dan Williams  <dcbw@redhat.com>
14830
14831         * Move nm_gconf_get_*_helper() functions to separate files,
14832                 gconf-helpers.c & gconf-helpers.h
14833
14834         * New NMGConfWSO objects for managing the gconf side of things.
14835                 Eventually these should be merged with the
14836                 WirelessSecurityOption objects and a common base (that can
14837                 serialize/deserialize from dbus & gconf) should be
14838                 refactored out, but for now they are separate.
14839
14840 2005-12-16  Robert Love  <rml@novell.com>
14841
14842         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
14843           binaries unless they exist (nm_spawn_process() emits a warning if
14844           asked to spawn a non-existant process).
14845
14846 2005-12-16  Dan Williams  <dcbw@redhat.com>
14847
14848         * gnome/applet/applet-dbus-info.c
14849                 - Clean up lots of gconf-related code
14850
14851 2005-12-16  Robert Love  <rml@novell.com>
14852
14853         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
14854
14855 2005-12-16  Dan Williams  <dcbw@redhat.com>
14856
14857         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
14858
14859         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
14860                 bits still to be done)
14861
14862 2005-12-16  Dan Williams  <dcbw@redhat.com>
14863
14864         * Finally move info-daemon related stuff out of
14865                 NetworkManagerDbus.c to nm-dbus-nmi.c
14866
14867 2005-12-16  Dan Williams  <dcbw@redhat.com>
14868
14869         * Kill auth_method for access points, since that's now done
14870                 by NMAPSecurity objects
14871
14872         * Add a copy-constructor of sorts to NMAPSecurity
14873                 (how do you do this properly in glib???)
14874
14875 2005-12-15  Dan Williams  <dcbw@redhat.com>
14876
14877         * Exorcise encryption key hashing on APs
14878         * Use libnm-util's serialization/deserialization in both the
14879                 applet and NM
14880         * Random other stuff
14881
14882 2005-12-15  Robert Love  <rml@novell.com>
14883
14884         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
14885           is being added to the icon naming spec, so let's use that (Tango CVS
14886           has the icon).  Because it is new, however, we fall back to the
14887           current "gnome-lockscreen" if the new icon is not around, thus
14888           behavior is the same.
14889         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
14890           factory junk.
14891
14892 2005-12-15  Robert Love  <rml@novell.com>
14893
14894         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
14895           well, help to give.  Couple other misc. bits.
14896
14897 2005-12-15  Dan Williams  <dcbw@redhat.com>
14898
14899         * libnm-util/dbus-helpers.[ch]
14900                 - Make this the one-stop-shop for serializing/deserializing
14901                         AP & connection security settings over dbus.  Both NM
14902                         and applets should use this to ensure consistent dbus
14903                         API going forwared.
14904
14905 2005-12-15  Robert Love  <rml@novell.com>
14906
14907         Patch by Timo Hoenig  <thoenig@suse.de>:
14908         * src/NetworkManagerDbus.c
14909                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
14910                         if HAL jumps off the system bus.  Otherwise libdbus
14911                         (dbus_connection_dispatch) will try to run the filter
14912                         function of our libhal context which is already freed.
14913
14914 2005-12-15  Alexander Shopov  <ash@contact.bg>
14915
14916         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
14917
14918 2005-12-14  Dan Williams  <dcbw@redhat.com>
14919
14920         * include/NetworkManager.h
14921           src/NetworkManagerWireless.c
14922                 - Rearrange 802.11 wireless-specific capabilities again
14923
14924         * src/Makefile.am
14925                 - Forgot to add wpa.c/wpa.h to the makefiles
14926
14927         * src/NetworkManagerAP.[ch]
14928                 - Implement access point capabilities and parse the
14929                         WPA/RSN IEs into the capability bitfield
14930                 - Switch the "encrypted" attribute to utilize the bitfield
14931                         and capabilities rather than being independent
14932
14933         * src/NetworkManagerDevice.c
14934                 - (nm_device_wireless_get_activation_ap): break it horribly
14935                         until we can push NMAPSecurity objects into access point
14936                         objects and through the activation chain
14937                 - Stuff WPA & RSN IEs into AP capabilities
14938
14939         * src/nm-dbus-nm.c
14940                 - Take a shot at actually making setActiveDevice work
14941
14942         * src/wpa.[ch]
14943                 - Make the API a bit saner
14944
14945 2005-12-14  Dan Williams  <dcbw@redhat.com>
14946
14947         * include/NetworkManager.h
14948                 - Add 802.11-specific capability for 802.1x key
14949                         management
14950
14951         * src/wpa.[ch]
14952                 - Pull in WPA IE and RSN IE parsing code from
14953                         wpa_supplicant so we can determine access point
14954                         capabilities
14955                 - Move WPA-related constants here from NetworkManagerAP.h
14956                         and NetworkManagerDevice.c
14957
14958         * src/NetworkManagerDevice.c
14959           src/NetworkManagerAP.[ch]
14960                 - Use WPA-related constants from wpa.h
14961
14962 2005-12-14  Dan Williams  <dcbw@redhat.com>
14963
14964         * include/NetworkManager.h
14965                 - Update and split 802.11 wireless-specific capabilities from
14966                         generic device capabilities
14967
14968         * src/NetworkManagerDevice.c
14969           src/NetworkManagerDevicePrivate.h
14970                 - (nm_device_wireless_discover_capabilities): Move 802.11
14971                         wireless-specific capability checks to
14972                         NetworkManagerWireless.c
14973                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
14974                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
14975
14976         * src/NetworkManagerWireless.[ch]
14977                 - (nm_802_11_wireless_discover_capabilities): Check extended
14978                         802.11 wireless-specific capabilities of the driver
14979
14980 2005-12-14  Robert Love  <rml@novell.com>
14981
14982         Patch from Stefan Scheler <sscheler@suse.de>:
14983         * src/NetworkManagerDevice.c: call backend code to activate and
14984           deactivate NIS.
14985         * src/NetworkManagerSystem.h: add new NIS interfaces.
14986         * src/backends/NetworkManagerDebian.c,
14987           src/backends/NetworkManagerGentoo.c,
14988           src/backends/NetworkManagerRedHat.c,
14989           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
14990           support.
14991         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
14992
14993 2005-12-14  Dan Williams  <dcbw@redhat.com>
14994
14995         * src/nm-ap-security*.[ch]
14996                 - Add AP security abstractions to NetworkManager
14997
14998         * src/nm-dbus-device.c
14999                 - Begin to parse new format dbus messages from the applet
15000                         and construct an AP security object from the message
15001
15002         * libnm-util/dbus-helpers.c
15003                 - Use message iters so we can append the key as a fixed
15004                         array of bytes, which actually works rather than
15005                         using dbus_message_append_args() as we were before
15006
15007 2005-12-14  Dan Williams  <dcbw@redhat.com>
15008
15009         * src/NetworkManagerDbus.c
15010           gnome/applet/applet-dbus.c
15011                 - Fix up dbus service replacement options.  The applet
15012                         should allow replacement, NM itself should not.
15013
15014 2005-12-13  Robert Love  <rml@novell.com>
15015
15016         * src/named-manager/nm-named-manager.c: Revert earlier commit.
15017           Instead, fail silently if config is NULL by not asserting and not
15018           returning FALSE.  Also, make sure we always fclose() the file.
15019
15020 2005-12-13  Robert Love  <rml@novell.com>
15021
15022         Patch by Stefan Scheler <sscheler@suse.de>:
15023         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
15024            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
15025            via DHCP.  Still need the backends to commit the NIS domain name and
15026            and servers to yp.conf as needed.
15027
15028 2005-12-13  Robert Love  <rml@novell.com>
15029
15030         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
15031           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
15032
15033 2005-12-13  Robert Love  <rml@novell.com>
15034
15035         * src/named-manager/nm-named-manager.c: Don't unref the config until
15036           after we call rewrite_resolv_conf(), because get_last_default_domain()
15037           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
15038           `config != NULL' failed" assertion failures and "Could not commit DNS
15039           changes" warnings.
15040
15041 2005-12-12  Dan Williams  <dcbw@redhat.com>
15042
15043         * libnm-util/dbus-helpers.[ch]
15044           libnm-util/Makefile.am
15045                 - new helper calls to consolidate locations where
15046                         NM's setDevice method is called
15047
15048         * gnome/applet/applet-dbus-devices.c
15049           gnome/applet/wireless-security-option.c
15050           gnome/applet/wso-*
15051                 - Implement dbus message param append function for
15052                         all wireless security options
15053
15054 2005-12-12  Robert Love  <rml@novell.com>
15055
15056         * libnm-util/cipher-wep-passphrase.c,
15057           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
15058           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
15059           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
15060           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
15061           When handling keys, we don't care what the sign is.  The compiler
15062           guarantees us that we get our 8-bits, which is all we care about.
15063         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
15064
15065 2005-12-12  Dan Williams  <dcbw@redhat.com>
15066
15067         * gnome/applet/applet-dbus-devices.[ch]
15068           gnome/applet/applet.c
15069           gnome/applet/other-network-dialog.c
15070           gnome/applet/wireless-security-manager.[ch]
15071           gnome/applet/wireless-security-option.[ch]
15072           gnome/applet/wso-*
15073                 - Push the wireless security options further into the applet
15074
15075 2005-12-12  Robert Love  <rml@novell.com>
15076
15077         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
15078           return any name servers.  That is perfectly valid.  (Novell #134369).
15079
15080 2005-12-11  Dan Williams  <dcbw@redhat.com>
15081
15082         * gnome/applet/wso-*
15083           gnome/applet/wireless-security-option.*
15084           gnome/applet/Makefile.am
15085                 - split each security option out so we can eventually
15086                         have each one build up their own dbus message
15087                         arguments to send to NM
15088
15089 2005-12-11  Dan Williams  <dcbw@redhat.com>
15090
15091         * Make validation of the key work correctly
15092
15093 2005-12-11  Dan Williams  <dcbw@redhat.com>
15094
15095         * Hook more bits of the Other Network Dialog up to the
15096                 wireless security manager stuff, and restructure
15097                 bits of the dialog so there's less code.
15098
15099 2005-12-10  Dan Williams  <dcbw@redhat.com>
15100
15101         * gnome/applet/Makefile.am
15102                 - Add libnm-util to includes
15103                 - Add libnm-util to link list
15104                 - Add wireless-security-common.* to compile list
15105
15106         * gnome/applet/other-network-dialog.c
15107                 - Convert to using the WirelessSecurityManager code and
15108                         widgets
15109
15110         * gnome/applet/passphrase-dialog.c
15111                 - Comment out references to stuff in the glade file that
15112                         cause runtime errors until it can be fixed up
15113                         to use the WirelessSecurityManager code
15114
15115         * gnome/applet/wireless-applet.glade
15116                 - Rename some widgets
15117                 - Add widgets for the WirelessSecurityManager code
15118                 - Remove passphrase-related stuff since that's now
15119                         handled by the WirelessSecurityManager code
15120
15121 2005-12-10  Dan Williams  <dcbw@redhat.com>
15122
15123         * gnome/applet/applet-dbus-devices.c
15124                 - Print out error message details for dbus pending call callbacks
15125                 - Move nmwa_dbus_update_devices() up
15126
15127         * gnome/applet/applet-dbus-vpn.c
15128                 - Print out error message details for dbus pending call callbacks
15129
15130 2005-12-10  Dan Williams  <dcbw@redhat.com>
15131
15132         * libnm-util/*
15133                 - More fixups
15134                 - Remove cipher-manager.* because we don't need it
15135                 - Forgot to add gnome-keyring-md5 files to compile list
15136
15137 2005-12-09  Dan Williams  <dcbw@redhat.com>
15138
15139         * libnm-util/*
15140           configure.in
15141           Makefile.am
15142                 - Add a utility library for clients of NetworkManager.  It's
15143                         only targetted at applets for the moment, and contains
15144                         a generalized 802.11 cipher framework for different
15145                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
15146
15147 2005-12-09  Robert Love  <rml@novell.com>
15148
15149         * src/NetworkManagerDevice.c: handle error better in
15150           nm_device_set_mode().
15151
15152 2005-12-08  Robert Love  <rml@novell.com>
15153
15154         * include/NetworkManager.h: add WPA capabilities constants
15155         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
15156           or WPA2 and add the capabilities bits as appropriate.
15157
15158 2005-12-08  Robert Love  <rml@novell.com>
15159
15160         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
15161           NetworkManagerDispatcher.
15162         * configure.in, initscript/SUSE/.cvsignore,
15163           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
15164           initscript.
15165
15166 2005-12-08  Robert Love  <rml@novell.com>
15167
15168         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
15169
15170 2005-12-08  Robert Love  <rml@novell.com>
15171
15172         * src/NetworkManagerDevice.c: We want to fall back on and default to
15173           IW_MODE_AUTO, not -1, which is more in line with our previous
15174           behavior.  Otherwise, we try to set the wireless mode to -1 in
15175           nm_device_set_mode().
15176
15177 2005-12-07  Robert Love  <rml@novell.com>
15178
15179         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
15180           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
15181           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
15182           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
15183           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
15184           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
15185           zero.
15186
15187 2005-12-07  Robert Love  <rml@novell.com>
15188
15189         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
15190           supplied IP is invalid, fall back to DHCP.
15191
15192 2005-12-07  Dan Williams  <dcbw@redhat.com>
15193
15194         * Convert NETWORK_MODE_* constants to IW_MODE_*
15195         * Make all the get_mode/set_mode functions take and return 'int'
15196         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
15197
15198 2005-12-07  Robert Love  <rml@novell.com>
15199
15200         * src/NetworkManagerDevice.c: strncpy() buffer check.
15201         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
15202
15203 2005-12-06  Dan Williams  <dcbw@redhat.com>
15204
15205         * gnome/applet/applet-dbus.c
15206                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
15207
15208         * gnome/applet/applet-dbus-vpn.c
15209                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
15210                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
15211                         to TRUE here if stage was ACTIVATED
15212
15213 2005-12-06  Dan Williams  <dcbw@redhat.com>
15214
15215         * Change nm_device_is_* functions to better names:
15216                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
15217                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
15218
15219 2005-12-06  Dan Williams  <dcbw@redhat.com>
15220
15221         * Change naming of NMDeviceType to something more sensible:
15222                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
15223                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
15224                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
15225
15226 2005-12-06  Dan Williams  <dcbw@redhat.com>
15227
15228         * Move NetworkManager.h -> include/NetworkManager.h
15229         * Split out VPN stuff into include/NetworkManagerVPN.h
15230         * Fix up makefiles to include new location
15231         * Fix up sources to include NetworkManagerVPN.h
15232
15233 2005-12-06  Dan Williams  <dcbw@redhat.com>
15234
15235         Various changes in the applet to move VPN connection "state" -> "stage",
15236         which it actually is.  I'd like to change the signal as well when we
15237         break compat in the near future.
15238
15239 2005-12-06  Dan Williams  <dcbw@redhat.com>
15240
15241         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
15242         * initscript/Slackware/rc.networkmanager
15243                 - Cosmetic fix
15244
15245         * src/backends/NetworkManagerSlackware.c
15246                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
15247                         interfaces
15248
15249 2005-12-05  Robert Love  <rml@novell.com>
15250
15251         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
15252           to free, particularly here as it just barfs.
15253
15254 2005-12-05  Dan Williams  <dcbw@redhat.com>
15255
15256         * gnome/applet/applet-dbus.c
15257                 - Work with dbus 0.6 too
15258
15259 2005-12-03  Dan Williams  <dcbw@redhat.com>
15260
15261         * src/NetworkManagerUtils.[ch]
15262           src/nm-ip4-config.c
15263                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
15264                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
15265
15266 2005-12-01  Robert Love  <rml@novell.com>
15267
15268         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
15269           need a NULL for the '...' parameter, too, to fill the so-called
15270           sentinel.
15271
15272 2005-12-01  Robert Love  <rml@novell.com>
15273
15274         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
15275           interface is already gone, so don't call rtnl_link_change() to down
15276           it (which will segfault, anyhow).
15277
15278 2005-11-22  Robert Love  <rml@novell.com>
15279
15280         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
15281           gateway is not set, just print a little note.  Configurations without
15282           gateways are valid.
15283
15284 2005-11-22  Robert Love  <rml@novell.com>
15285
15286         * README: update
15287
15288 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
15289
15290         * configure.in: Added Finnish translation to ALL_LINGUAS
15291
15292 2005-11-14  Robert Love  <rml@novell.com>
15293
15294         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
15295           Niemueller <tim@niemueller.de>.
15296
15297 2005-11-08  Dan Williams  <dcbw@redhat.com>
15298
15299         Patch from Bill Moss <bmoss@clemson.edu>
15300         * src/NetworkManagerDevice.c
15301                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
15302                         of nm_policy_schedule_activation_finish() to prevent a
15303                         race condition that causes the link to be dropped
15304
15305 2005-11-08  Dan Williams  <dcbw@redhat.com>
15306
15307         Patch from Bill Moss <bmoss@clemson.edu>
15308         * src/NetworkManagerAPList.c
15309           src/NetworkManagerDevice.c
15310           src/NetworkManagerDbus.c
15311                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
15312                         we get more readable ether/mac addresses
15313
15314 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15315
15316         * gnome/applet/main.c: Don't set the restart command.  This fixes
15317         the issue where the restart command was getting copies of all its
15318         arguments for each time the applet was restarted.
15319
15320 2005-11-02  Robert Love  <rml@novell.com>
15321
15322         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
15323           if the widget state differs from our saved state.  This ensures we
15324           do not enter an endless loop of death and destruction.  Also, this
15325           guarantees us that we enforce the widget state.
15326
15327 2005-11-02  Robert Love  <rml@novell.com>
15328
15329         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
15330         * gnome/applet/applet-dbus-devices.c: invoke the new function
15331           nmwa_enable_wireless_set_active() to ensure that the state of the
15332           'Enable Wireless' checkbox matches the daemon's state.  This is a
15333           concern because the daemon remembers the state.
15334
15335 2005-11-02  Robert Love  <rml@novell.com>
15336
15337         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
15338           Enabled", as checkboxes should be actions/commands not positive
15339           statements, otherwise they are confusing in the unselected case.  See
15340           examples in GNOME HIG, Chapter 6.
15341
15342 2005-11-02  Robert Love  <rml@novell.com>
15343
15344         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
15345           show a list of wireless networks or the wireless devices or the
15346           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
15347           a bad bug: If wireless is disabled and the user picks a wireless
15348           network, NM will switch to the network, only to immediately switch
15349           back, as wireless is disabled.  This also reassures people that NM
15350           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
15351
15352 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15353
15354         * gnome/applet/applet.c:
15355         * gnome/applet/applet.h:
15356         Partial backout of Dan's timeout animation patch.
15357         Timeout IDs cannot legally be 0, so revert the code in place to handle
15358         a timeout ID of 0 to denote the timeout isn't running.
15359
15360 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15361
15362         * src/NetworkManagerPolicy.c:
15363         (nm_policy_device_change_check) Clarify wireless switch nm_info text
15364
15365 2005-10-28  Robert Love  <rml@novell.com>
15366
15367         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
15368           "Import Saved Configuration..." to make it clear that importing is
15369           not the next step, but an option.  As an aside, a nice TODO would be
15370           to move Importing out of the vpn-specific dialog and into the main
15371           property editor, as Importing goes with Adding, but that will require
15372           some rearchitecting of the VPN stuff I suspect.
15373
15374 2005-10-27  Dan Williams  <dcbw@redhat.com>
15375
15376         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
15377         we should replace most of the distro-specific backend code
15378         with libnl stuff.
15379
15380         Get it here:  http://people.suug.ch/~tgr/libnl/
15381
15382         * configure.in
15383           src/Makefile.am
15384                 - Add checks for libnl pkgconfig file
15385                 - Use LIBNL_LIBS & LIBNL_CFLAGS
15386
15387         * src/NetworkManagerSystem.c
15388           src/nm-ip4-config.[ch]
15389                 - Use libnl rather than ioctl() for most things
15390                 - Remove unused functions
15391
15392 2005-10-27  Robert Love  <rml@novell.com>
15393
15394         * src/backends/NetworkManagerSuSE.c: fix warning message text
15395
15396 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15397
15398         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
15399
15400 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15401
15402         * gnome/applet/applet.c: The applet's about dialog can advertise our 
15403         project page <http://www.gnome.org/projects/NetworkManager/>
15404
15405 2005-10-26  Christopher Aillon  <caillon@redhat.com>
15406
15407         * gnome/applet.c: Also use translator credits if we don't have
15408         the new GtkAboutDialog (older versions of GTK+)
15409
15410 2005-10-26  Robert Love  <rml@novell.com>
15411
15412         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
15413           failure; correct usage text for "--no-daemon"
15414
15415 2005-10-25  Dan Williams  <dcbw@redhat.com>
15416
15417         * src/NetworkManagerDevice.c
15418                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
15419                         no scan results
15420                 - (free_process_scan_cb_data): unref the device when freeing results
15421                 - (nm_device_wireless_process_scan_results): free scan results a bit later
15422                         so we don't unref the device underneath ourselves
15423
15424 2005-10-25  Dan Williams  <dcbw@redhat.com>
15425
15426         * Back out 2005-10-24 commit from Tor Krill.  Patch
15427                 causes nameservers never to be removed from named.
15428
15429 2005-10-24  Dan Williams  <dcbw@redhat.com>
15430
15431         Clean up wireless scanning and wireless link probing.
15432
15433         * src/NetworkManagerDevice.c
15434                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
15435                         just see if there's an activation request on the device, and check the
15436                         current link against the activation request access point's ESSID.
15437                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
15438                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
15439                         don't call process_scan_results() on zero-length data
15440                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
15441                         15 seconds (from 10)
15442
15443 2005-10-24  Dan Williams  <dcbw@redhat.com>
15444
15445         Cleanup some applet stuff:
15446
15447         - Animation timeouts.  If NM died while the applet was animating,
15448                 the applet would not hide itself.  This is now fixed.
15449
15450         - Remove some dead code
15451
15452         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
15453                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
15454
15455         - Track animation timeout using a gboolean rather than the timeout's
15456                 ID, since timeout IDs can legally be 0.
15457
15458 2005-10-24  Dan Williams  <dcbw@redhat.com>
15459
15460         * src/backends/interface_parser.c
15461                 - Add void to function declarations that need it
15462                         to match patch from Engin AYDOGAN
15463
15464         * src/backends/interface_parser.h
15465                 - Remove unused prototype for ifparser_interfaces()
15466
15467         Patch from Engin AYDOGAN <engin@bzzzt.biz>
15468         * src/backends/interface_parser.h:
15469                 - Compile fixes for gcc 4.0.2 (add void)
15470
15471 2005-10-24  Dan Williams  <dcbw@redhat.com>
15472
15473         Patch from Tor Krill <tor@krill.nu>
15474         * src/named-manager/nm-named-manager.c
15475                 - Write more than just the first nameserver to /etc/resolv.conf
15476                 - Write out valid /etc/resolv.conf on exit
15477
15478 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15479
15480         * gnome/applet/applet-dbus-vpn.c:
15481         Get rid of spurious newlines in debug console output
15482
15483 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15484
15485         * src/backends/NetworkManagerGentoo.c:
15486         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
15487
15488 2005-10-20  Robert Love  <rml@novell.com>
15489
15490         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
15491           direct comparison of floating point values, which is never correct.
15492           Also some misc. cleanup.
15493
15494 2005-10-19  Robert Love  <rml@novell.com>
15495
15496         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
15497
15498 2005-10-19  Robert Love  <rml@novell.com>
15499
15500         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
15501           sensitivity of the buttons.  Specificaly, do the right thing if
15502           there are no entries.
15503
15504 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15505
15506         * configure.in: Update check for adequate wireless-tools
15507         with an AC_TRY_COMPILE for the new symbols we use.
15508
15509 2005-10-19  Dan Williams  <dcbw@redhat.com>
15510
15511         * src/NetworkManagerDevice.c
15512                 - (process_scan_results): don't drop the last (or only)
15513                         access point we see
15514
15515 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15516
15517         * src/backends/NetworkManagerSlackware.c:
15518         Patch from Nico <lordllucifer@gmail.com>
15519                 - Update the Slackware backend.
15520
15521 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15522
15523         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
15524         if we've got GLib 2.8.0
15525
15526 2005-10-18  Robert Love  <rml@novell.com>
15527
15528         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
15529           function nm_schedule_state_change_signal_broadcast() when we
15530           deactivate a device, too.
15531
15532 2005-10-18  Robert Love  <rml@novell.com>
15533
15534         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
15535           be used uninitialized.
15536
15537 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15538
15539         * test/libnm_glib_test.c: Test unregistering, too.
15540
15541 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15542
15543         * configure.in: Bump to 0.5.0
15544
15545 2005-10-17  Dan Williams  <dcbw@redhat.com>
15546
15547         * NetworkManager.h
15548                 - Remove WPA-related constants so they aren't part of the
15549                         upcoming release.
15550
15551 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15552
15553         * gnome/applet/applet.c:
15554         * gnome/applet/applet.h:
15555         Desensitize the 'Connection Information' menu item when there is
15556         no active connection.
15557
15558 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15559
15560         * gnome/libnm_glib/libnm_glib.c:
15561         Make libnm_glib_unregister_callback () actually unregister the callback
15562
15563 2005-10-17  Robert Love  <rml@novell.com>
15564
15565         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
15566           two seconds -- tries is updated every 1/10 of a second, not every
15567           second..
15568
15569 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15570
15571         * gnome/applet/applet-dbus-info.c:
15572         Let D-BUS know that we haven't handled a message when we haven't.
15573
15574 2005-10-17  Robert Love  <rml@novell.com>
15575
15576         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
15577           in order to remain 64-bit clean.
15578
15579 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15580
15581         * gnome/applet/applet-dbus-info.c:
15582         Find network encryption keys asynchronously
15583
15584 2005-10-17  Robert Love  <rml@novell.com>
15585
15586         * src/backends/NetworkManagerDebian.c,
15587           src/backends/NetworkManagerRedHat,
15588           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
15589           comment delimiter.
15590
15591 2005-10-17  Robert Love  <rml@novell.com>
15592
15593         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
15594           "/etc"
15595
15596 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15597
15598         * src/NetworkManagerDevice.c: (process_scan_results)
15599         Fix logic that checks to see whether we have an ESSID.
15600
15601 2005-10-15  Dan Williams  <dcbw@redhat.com>
15602
15603         Move scanning code into NetworkManager rather than use iwlib's
15604         iw_scan() function, so that we can figure out AP capabilities.
15605
15606         * NetworkManager.h
15607                 - Add AP capability bits
15608
15609         * src/NetworkManagerAP.[ch]
15610                 - Add capability field to NMAccessPoint structure
15611                 - Add WPA & RSN Information Element fields and accessor
15612                         functions to NMAccessPoint
15613
15614         * src/NetworkManagerDevice.c
15615                 - Remove usage of iw_scan
15616                 - Add scanning code to NetworkManager rather than use
15617                         iw_scan() from iwlib
15618
15619         * src/NetworkManagerUtils.[ch]
15620                 - (nm_dispose_scan_results): remove, unused
15621
15622 2005-10-14  Christopher Aillon  <caillon@redhat.com>
15623
15624         * gnome/libnm_glib/libnm_glib.c:
15625         * gnome/libnm_glib/libnm_glib.h:
15626         Use guint instead of gint for callback IDs.
15627
15628 2005-10-12  Christopher Aillon  <caillon@redhat.com>
15629
15630         * gnome/applet/applet.c:
15631         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
15632         every 1000ms.  It will unconditionally call nmwa_update_state which
15633         kills the existing animation timeout and registers a new one with a
15634         callback to draw a new frame every 100ms.  There are 11 connecting
15635         icon frames, so the last 2 frames kept getting dropped.  Only reset
15636         the animation timeout if we aren't animating.
15637
15638 2005-10-11  Dan Williams  <dcbw@redhat.com>
15639
15640         * gnome/applet/applet-dbus-devices.c
15641                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15642                         We want to grab the product & vendor from net.physical_dev
15643                         rather than info.parent.
15644
15645 2005-10-11  Dan Williams  <dcbw@redhat.com>
15646
15647         * src/NetworkManagerDevice.c
15648                 - Use the driver's WE version for scanning rather than
15649                         the WE version NM was compiled with.  Fixes random
15650                         crashes in iw_scan () in iwlib.
15651
15652 2005-10-10  Dan Williams  <dcbw@redhat.com>
15653
15654         * Remove nm_system_load_device_modules() from backend files
15655                 and from NetworkManager.c
15656
15657 2005-10-10  Dan Williams  <dcbw@redhat.com>
15658
15659         * src/NetworkManagerPolicy.c
15660                 - Fix some bugs introduced by the capabilities patch
15661
15662 2005-10-10  Dan Williams  <dcbw@redhat.com>
15663
15664         * gnome/applet/applet-dbus-info.c
15665                 - (nmi_dbus_get_network_key): hide the menu when putting up
15666                         the keyring dialog.  (not sure if the code is right...)
15667
15668 2005-10-09  Dan Williams  <dcbw@redhat.com>
15669
15670         Patch from Bill Moss <bmoss@clemson.edu>
15671         * src/NetworkManagerDevice.c
15672                 - (nm_device_set_user_key_for_network): don't try to set auth
15673                         mode on the AP from the allowed list if it's NULL
15674
15675 2005-10-09  Dan Williams  <dcbw@redhat.com>
15676
15677         * Replace the "driver support level" stuff with capabilities.  The
15678                 capability field is a bitfield that is more flexible than the
15679                 old driver support level thing.  It's mostly so we can easily
15680                 figure out what supports WPA and what doesn't, but should be
15681                 quite useful later.
15682
15683 2005-10-09  Dan Williams  <dcbw@redhat.com>
15684
15685         * test/nmtest.c
15686                 - Removed
15687
15688         * test/nm-tool.c
15689           test/Makefile.am
15690                 - Added new "nm-tool" tool that gives quite a bit more
15691                         information
15692
15693 2005-10-07  Robert Love  <rml@novell.com>
15694
15695         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15696           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15697           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15698           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15699           appropriate
15700
15701 2005-10-07  Robert Love  <rml@novell.com>
15702
15703         * configure.in: Change our compile flags for the betterment of mankind.
15704           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15705           prototype is very bad on 64-bit platforms as types default to int but
15706           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15707           "-Wmissing-declarations" to warn if we define an exported function
15708           but fail to put it in a header.
15709
15710 2005-10-07  Robert Love  <rml@novell.com>
15711
15712         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15713           by the name nm_update_device_wireless_timeouts() and once tried,
15714           without success, to steal my pet turtle.
15715
15716 2005-10-07  Robert Love  <rml@novell.com>
15717
15718         * Cleanup prototypes: put some functions in header files and mark
15719           others as 'static' -- feel free to invert
15720         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15721           nm_vpn_manager_vpn_connection_list_copy()
15722         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15723           nm_vpn_service_get_dbus_connection()
15724         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15725           nm_vpn_manager_vpn_connection_list_copy()
15726         * src/vpn-manager/nm-vpn-service.c: make
15727           nm_vpn_service_act_request_failed() and
15728           nm_vpn_service_stage2_daemon_wait() static
15729         * src/vpn-manager/nm-vpn-service.h: add prototype for
15730           nm_vpn_service_get_dbus_connection()
15731
15732 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15733
15734         * gnome/applet/applet.c:
15735         * gnome/applet/applet.h:
15736         * gnome/applet/icons/Makefile.am:
15737         Convey information about the current connection stage in the
15738         icons themselves instead of creating a separate progress bar.
15739
15740 2005-10-04  Robert Love  <rml@novell.com>
15741
15742         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15743           convert an ether_addr structure's MAC into a string, because the
15744           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15745           versus 07:3B:04, while the former will not.
15746
15747 2005-10-04  Robert Love  <rml@novell.com>
15748
15749         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15750           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15751           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15752           default route in the 'Connection Information' dialog, send primary
15753           and secondary name servers in in "getProperties" DBUS method, add
15754           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15755           secondary domain name servers are crucial pieces of information
15756           that a user might need in debugging a network problem.
15757
15758 2005-10-04  Robert Love  <rml@novell.com>
15759
15760         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15761           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15762           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15763           default route in the 'Connection Information' dialog, send default
15764           route in "getProperties" DBUS method, add network_device_set_route(),
15765           and network_device_get_route().  The Gateway is a crucial piece of
15766           connection-related information that a user might need in debugging a
15767           network problem.
15768
15769 2005-10-03  Robert Love  <rml@novell.com>
15770
15771         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15772           NULL.
15773
15774 2005-10-02  Dan Williams  <dcbw@redhat.com>
15775
15776         * Shorten time taken to sleep by fastpathing bits of device deactivation
15777                 necessary for sleep.
15778
15779         * Fix issue where deactivating a device might deactivate the active
15780                 VPN connection, even if the VPN was not using the device.
15781
15782 2005-10-02  Dan Williams  <dcbw@redhat.com>
15783
15784         * gnome/applet/applet.c
15785                 - Adjust signal strength -> icon mapping values slightly
15786                         (so that 51% signal doesn't show a 75% icon) by adding
15787                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15788                         shows 50% icon, etc.
15789
15790 2005-09-29  Robert Love  <rml@novell.com>
15791
15792         * src/NetworkManager.c: removed unused variable.
15793
15794 2005-09-28  Dan Williams  <dcbw@redhat.com>
15795
15796         Support for named + DBus, using Red Hat DBus patches for named.  You
15797         can find those patches here, with "dbus" in the patch's filename:
15798
15799                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15800
15801         Don't forget the named dbus service file either.
15802
15803         Instead of writing a config file and spawing a named process, NM will
15804         use an already-running dbus-enabled named if it finds one.  NM will
15805         update named's forwarder configuration on the fly using dbus.
15806
15807         If there is no dbus-enabled named running, NM will automatically fall
15808         back to writing the most-recent DNS server information to /etc/resolv.conf
15809         and calling nm_system_update_dns() to kick the system's resolver.
15810
15811         Accordingly, all named-related configure-time options have been removed.
15812
15813 2005-09-26  Robert Love  <rml@novell.com>
15814
15815         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15816           ISDN support!
15817         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15818           bug in error path if "ASKPASSWORD" is "no".
15819
15820 2005-09-26  Robert Love  <rml@novell.com>
15821
15822         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15823           comment in /etc/resolv.conf -- ';' is not.
15824
15825 2005-09-19  Dan Williams  <dcbw@redhat.com>
15826
15827         * src/backends/NetworkManagerRedHat.c:
15828         * src/backends/NetworkManagerDebian.c:
15829         * src/backends/NetworkManagerSlackware.c:
15830         * src/backends/NetworkManagerGentoo.c:
15831         * src/backends/NetworkManagerSUSE.c:
15832         Fix invocations of "/sbin/ip address" to use short form instead
15833
15834 2005-09-19  Christopher Aillon  <caillon@redhat.com>
15835
15836         * src/nm-dbus-device.c: Don't assert when getting
15837         addresses of a not yet connected interface.
15838
15839         * gnome/applet/applet.c: Free icons if loading fails.
15840         Use translator-credits so translators can make themselves known.
15841
15842 2005-09-15  Christopher Aillon  <caillon@redhat.com>
15843
15844         * src/NetworkManagerAP.c:
15845         * src/NetworkManagerAP.h:
15846         * src/NetworkManagerDevice.c:
15847         Set a blacklist for certain common manufacturer default ESSIDs:
15848         APs with these ESSIDs are extremely likely to be completely
15849         different networks: connecting to one should not make NM
15850         auto-connect to every other AP with the same default ESSID.
15851
15852 2005-09-12  Christopher Aillon  <caillon@redhat.com>
15853
15854         * gnome/applet/wireless-applet.glade:
15855         The passphrase entry should also activate the default
15856
15857         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
15858
15859         * gnome/applet/applet-dbus-devices.c:
15860         * gnome/applet/applet.c:
15861         * gnome/applet/nm-device.c:
15862         * gnome/applet/nm-device.h:
15863         * src/NetworkManagerUtils.c:
15864         * src/NetworkManagerUtils.h:
15865         * src/nm-dbus-device.c:
15866         I've got a fever, and the only cure for it is less ioctl.
15867         Make NM push IP data rather than make the applet open a socket
15868         to the device.
15869
15870 2005-09-10  Christopher Aillon  <caillon@redhat.com>
15871
15872         * gnome/applet/applet.c:
15873         * gnome/applet/applet-dbus-devices.c:
15874         * gnome/applet/applet-dbus-info.c:
15875         * gnome/applet/passphrase-dialog.c:
15876         * gnome/libnm_glib/libnm_glib.c:
15877         * gnome/vpn-properties/nm-vpn-properties.c:
15878         * src/autoip.c:
15879         * src/backends/NetworkManagerRedHat.c:
15880         * src/named-manager/nm-named-manager.c:
15881         * src/NetworkManagerAPList.c:
15882         * src/NetworkManager.c:
15883         * src/NetworkManagerDbus.c:
15884         * src/NetworkManagerDevice.c:
15885         * src/NetworkManagerPolicy.c:
15886         * src/NetworkManagerSystem.c:
15887         * src/nm-dbus-device.c:
15888         * src/nm-dbus-nm.c:
15889         * src/vpn-manager/nm-vpn-manager.c:
15890         * src/vpn-manager/nm-vpn-service.c:
15891         * test/libnm_glib_test.c:
15892         * test/nminfotest.c:
15893         * test/nmtestdevices.c:
15894         Fix a bunch of 'unused variable' compiler warnings
15895
15896         * NetworkManager.h:
15897         * gnome/applet/applet-dbus-info.c:
15898         * gnome/applet/applet-dbus-info.h:
15899         * gnome/applet/applet.c:
15900         * gnome/applet/applet.h:
15901         * src/NetworkManager.c:
15902         * src/NetworkManagerDbus.c:
15903         * src/NetworkManagerDbus.h:
15904         * src/NetworkManagerDevice.c:
15905         * src/NetworkManagerDevice.h:
15906         * src/NetworkManagerMain.h:
15907         * src/NetworkManagerWireless.c:
15908         * src/NetworkManagerWireless.h:
15909         * src/nm-dbus-nm.c:
15910         Make NetworkManager be smart about how frequently to scan
15911         based on its current state.  Remove the UI for choosing when
15912         to scan.  Scanning still may disabled completely by the user
15913         via the "Wireless Enabled" menu item.
15914
15915 2005-09-09  Christopher Aillon  <caillon@redhat.com>
15916
15917         * gnome/applet/applet.c:
15918         Also overlay the vpn connecting icons onto the wired icon,
15919         when appropriate.
15920
15921         * gnome/vpn-properties/nm-vpn-properties.glade:
15922         Clean up a few strings to use better grammar and proper casing.
15923
15924 2005-09-08  Christopher Aillon  <caillon@redhat.com>
15925
15926         * gnome/applet/vpn-connection.c:
15927         * gnome/applet/vpn-connection.h:
15928         Add nmwa_vpn_connection_is_activating ()
15929
15930         * gnome/applet/applet.c:
15931         * gnome/applet/applet.h:
15932         * gnome/applet/icons/nm-vpn-connecting*.png:
15933         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
15934         the user know something's happening between clicking the VPN item and it
15935         actually being connected.
15936
15937 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15938
15939         * gnome/applet/applet-dbus-info.c: need to free attributes in the
15940         failure case as well.
15941
15942 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
15943
15944         * gnome/panel/eggtrayicon.[ch]:
15945         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
15946
15947 2005-09-07  Dan Williams  <dcbw@redhat.com>
15948
15949         Patch from Bill Moss <bmoss@clemson.edu>
15950         * src/applet-dbus.c
15951                 - (nmwa_dbus_filter): strip whitespace from beginning
15952                         and end of VPN login banner
15953
15954 2005-09-07  Dan Williams  <dcbw@redhat.com>
15955
15956         * The great VPN Manager rewrite of 2005
15957
15958 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15959
15960         * gnome/applet/menu-items.c:
15961         * gnome/applet/nm-device.c:
15962         * gnome/applet/wireless-network.c:
15963         * gnome/libnm_glib/libnm_glib.c:
15964         * src/NetworkManagerDbusUtils.c:
15965         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
15966         g_malloc0 doesn't return NULL
15967
15968 2005-09-06  Dan Williams  <dcbw@redhat.com>
15969
15970         Patch from Tomislav Vujec <tvujec@redhat.com>
15971         * src/NetworkManagerDevice.c
15972                 - (nm_get_device_by_udi): don't return a device when we
15973                         actually didn't find what we were looking for
15974
15975 2005-09-06  Christopher Aillon  <caillon@redhat.com>
15976
15977         * gnome/applet/applet-dbus-devices.c:
15978         * gnome/applet/applet-dbus-devices.h:
15979         * gnome/applet/applet-dbus.c:
15980         * src/NetworkManagerDbus.c:
15981         * src/NetworkManagerDbus.h:
15982         * src/NetworkManagerDevice.c:
15983         * src/nm-dbus-device.c:
15984         Make NM push updates about active device strength when it changes,
15985         rather than having the applet poll every 2s.
15986
15987 2005-09-05  Christopher Aillon  <caillon@redhat.com>
15988
15989         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
15990         network_device_set_strength
15991
15992 2005-09-04  Dan Williams  <dcbw@redhat.com>
15993
15994         Patch from Bill Nottingham <notting@redhat.com>
15995         * src/NetworkManagerDevice.c
15996                 - (nm_device_activation_cancel): reset the quit_activation flag
15997
15998 2005-09-04  Dan Williams  <dcbw@redhat.com>
15999
16000         * src/nm-activation-request.c
16001                 - (nm_act_request_unref): actually free the structure,
16002                         which we didn't seem to be doing before
16003
16004 2005-09-04  Dan Williams  <dcbw@redhat.com>
16005
16006         Patch from John Palmieri <johnp@redhat.com>
16007         * gnome/applet/applet-dbus-devices.c
16008                 - Fix up unreffing of DBusMessage objects
16009
16010 2005-09-04  Dan Williams  <dcbw@redhat.com>
16011
16012         Patch from John Palmieri <johnp@redhat.com>
16013         * gnome/applet/nm-device.c
16014                 - (nm_device_unref): clear network_device's memory _before_ freeing it
16015
16016 2005-09-02  Christopher Aillon  <caillon@redhat.com>
16017
16018         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
16019
16020 2005-09-02  Bill Nottingham  <notting@redhat.com>
16021
16022         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
16023
16024 2005-09-01  Dan Williams  <dcbw@redhat.com>
16025
16026         * src/NetworkManager.c
16027                 - (nm_remove_device_from_list): rename to nm_remove_device
16028                 - (nm_hal_device_removed): call nm_remove_device()
16029
16030         * src/NetworkManagerDevice.c
16031                 - Change the NMWirelessScanCB member 'reschedule' which
16032                         wasn't used to 'force' to indicate that we need to
16033                         force a scan when adding a device
16034
16035         * src/nm-dbus-nm.c
16036                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
16037                         from the device list
16038                 - (nm_dbus_nm_wake): Re-add all devices to the device list
16039
16040 2005-09-01  Robert Love  <rml@novell.com>
16041
16042         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
16043           and the check "!iface" in the error case is probably never true.
16044
16045 2005-09-01  Dan Williams  <dcbw@redhat.com>
16046
16047         Patch from Bill Nottingham <notting@redhat.com>
16048         * src/backends/NetworkManagerRedHat.c
16049                 - Add initial dialup support to Red Hat/Fedora backend
16050
16051 2005-09-01  Dan Williams  <dcbw@redhat.com>
16052
16053         * gnome/applet/applet-dbus-devices.c
16054                 - Sort both wireless networks and devices again, which got
16055                         broken when removing threading
16056
16057 2005-09-01  Christopher Aillon  <caillon@redhat.com>
16058
16059         * gnome/applet/applet.c:
16060         Only show the "Stop/Start All Wireless Devices" menuitem
16061         if we actually have wireless devices.
16062
16063         * gnome/applet/applet-dbus-info.c:
16064         * gnome/applet/applet.c:
16065         * gnome/applet/other-network-dialog.c:
16066         * gnome/applet/vpn-password-dialog.c:
16067         Drop the gtk_dialog_run () calls in favor of connecting to
16068         "response" signals, needed now that the applet is not threaded.
16069
16070 2005-08-31  Dan Williams  <dcbw@redhat.com>
16071
16072         Patch from Bill Moss <bmoss@clemson.edu>
16073         * src/NetworkManagerDevice.c
16074                 - (nm_device_wireless_scan): fix scan timeout values
16075
16076 2005-08-30  Dan Williams  <dcbw@redhat.com>
16077
16078         * gnome/applet/wireless-applet.glade
16079                 - HIG-ify the Other Wireless Networks dialog a bit more
16080                 - Fix some potential segfaults in the info dialog
16081
16082 2005-08-30  Dan Williams  <dcbw@redhat.com>
16083
16084         * gnome/applet/applet-dbus-devices.c
16085                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
16086
16087 2005-08-30  Dan Williams  <dcbw@redhat.com>
16088
16089         * gnome/applet/applet-dbus.[ch]
16090                 - Remove all the nmwa_dbus_call_method_xxxx functions since
16091                         they weren't being used anyway
16092
16093 2005-08-30  Bastien Nocera  <hadess@hadess.net>
16094
16095         * test/nmtestdevices.c: (print_usage), (main):
16096         Check the number of arguments, and fix a typo
16097
16098 2005-08-29  Dan Williams  <dcbw@redhat.com>
16099
16100         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
16101         * gnome/applet/applet.c
16102                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
16103
16104 2005-08-29  Dan Williams  <dcbw@redhat.com>
16105
16106         * gnome/applet/*
16107                 - Don't use threads any more.  Anything that blocks
16108                         (like gtk_dialog_run()) will  have to get fixed up which
16109                         should happen quickly.  We really only had threads to make
16110                         the animation smooth, and when everything got converted over
16111                         to DBus Pending Calls, the need for threads kind of went away
16112
16113 2005-08-29  Christopher Aillon  <caillon@redhat.com>
16114
16115         * gnome/applet/applet.c: Draw VPN connections as radio items
16116         since we don't yet support multiple VPNs.
16117         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
16118         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
16119
16120 2005-08-29  Dan Williams  <dcbw@redhat.com>
16121
16122         Patch from j@bootlab.org
16123         - Make --without-named work
16124         - Make --with-dhcdbd work correctly
16125
16126 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
16127
16128         * configure.in: Added "ca" to ALL_LINGUAS.
16129
16130 2005-08-26  Christopher Aillon  <caillon@redhat.com>
16131
16132         * Fix up VPN state handling between the applet and NetworkManager,
16133                 so that the applet doesn't show a VPN as connected when one
16134                 really is not
16135                         - The applet no longer has a pointer to the active VPN's
16136                                 name, but tracks each VPNs state individually
16137                         - NM no longer has a "getActiveVPNConnection" method
16138                         - NM no longer broadcasts the "VPNConnectionChange" signal
16139                         - NM now broadcasts a "VPNConnectionStateChange" signal
16140                                 whenever the state of a VPN changes
16141
16142 2005-08-26  Dan Williams <dcbw@redhat.com>
16143
16144         * gnome/applet/applet-dbus-devices.c
16145           gnome/applet/applet-dbus-vpn.c
16146                 - Remove calls to dbus_pending_call_ref() because we already
16147                         "own" the pending call
16148                 - Remove calls to dbus_pending_call_get_completed() because
16149                         when we are in the callback, the pending call is completed
16150                         by definition
16151
16152 2005-08-22  Dan Williams <dcbw@redhat.com>
16153
16154         Patch by Bill Moss <bmoss@clemson.edu>
16155         * src/dhcp-manager/nm-dhcp-manager.c
16156                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
16157                         some time to send out a RELEASE if they like
16158
16159 2005-08-22  Dan Williams <dcbw@redhat.com>
16160
16161         Noticed by Bill Moss <bmoss@clemson.edu>
16162         * src/NetworkManagerDbus.c
16163                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
16164                         instead of just cancelling its activation
16165
16166         * src/NetworkManagerDevice.c
16167                 - (nm_device_deactivate): some small cleanups
16168                 - (nm_device_set_user_key_for_network): deactivate the device
16169                         instead of just cancelling its activation
16170
16171 2005-08-22  Dan Williams <dcbw@redhat.com>
16172
16173         Noticed by Bill Moss <bmoss@clemson.edu>
16174         * src/NetworkManagerDevice.c
16175                 - (nm_device_wireless_scan): fix scan timeout, we were
16176                         waiting way too long for scans to complete
16177
16178 2005-08-22  Dan Williams <dcbw@redhat.com>
16179
16180         Patch from j@bootlab.org:
16181         * src/backends/NetworkManagerDebian.c
16182                 - Make the Debian backend work for static IP again
16183
16184 2005-08-20  Christopher Aillon  <caillon@redhat.com>
16185
16186         * gnome/applet/other-network-dialog.c:
16187         The "Create New Network" and "Connect to Other Network"
16188         dialogs share alot of code, but shouldn't share a window
16189         title.  Give them different ones.
16190
16191         * gnome/applet/wireless-applet.glade:
16192         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
16193         Some more minor UI tweaks.
16194
16195 2005-08-19  Christopher Aillon  <caillon@redhat.com>
16196
16197         * gnome/applet/other-network-dialog.c:
16198         * gnome/applet/wireless-applet.glade:
16199         Also need mnemonic widgets, and underline enabled.
16200
16201 2005-08-19  Dan Williams <dcbw@redhat.com>
16202
16203         * vpn-daemons/vpnc/nm-vpnc-service.c
16204                 - (vpnc_watch_cb): remove no-longer-relevant comment
16205                 - (write_config_option): new function, helper to write
16206                         config options to vpnc's stdin
16207                 - (nm_vpnc_config_write): use the new helper, make the
16208                         code shorter
16209
16210 2005-08-19  Christopher Aillon <caillon@redhat.com>
16211
16212         * gnome/applet/passphrase-dialog.c:
16213         * gnome/applet/wireless-applet.glade:
16214         Make the passphrase dialog response based, and treat
16215         responses other than OK (such as Esc, [X]) as a cancel.
16216
16217 2005-08-18  Christopher Aillon <caillon@redhat.com>
16218
16219         * initscript/Gentoo/NetworkManager:
16220         * initscript/RedHat/NetworkManager:
16221         * initscript/RedHat/NetworkManagerDispatcher:
16222         * initscript/SUSE/networkmanager:
16223         CVS remove these in place of .in replacements
16224
16225         * configure.in:
16226         * initscript/Gentoo/NetworkManager.in:
16227         * initscript/RedHat/NetworkManager.in:
16228         * initscript/RedHat/NetworkManagerDispatcher.in:
16229         * initscript/SUSE/networkmanager.in:
16230         These scripts now are generated so they work still when
16231         NM is built using a bindir other than /usr/bin
16232
16233 2005-08-18  Dan Williams <dcbw@redhat.com>
16234
16235         * gnome/applet/main.c
16236                 - Revert previous change for --no-session since
16237                         --sm-disable does the same thing
16238
16239 2005-08-18  Dan Williams <dcbw@redhat.com>
16240
16241         * gnome/applet/applet-dbus-info.c
16242                 - (nmi_dbus_create_error_message): new function
16243                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
16244                         functions.  Also don't check for both device _and_ network before
16245                         asking for a user's key, because we may not have gotten all our
16246                         networks back from NM quite yet (due to the dbus pending calls
16247                         coming in later).  Fixes a hang in NM/nm-applet.
16248
16249         * src/NetworkManagerDbus.c
16250                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
16251                         slightly more sane manner, even though we are still broken for
16252                         certain other error conditions.
16253                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
16254                         to the info-daemon too
16255
16256         * src/NetworkManagerDevice.c
16257                 - Fix some debug messages to be info messages instead
16258
16259 2005-08-18  Dan Williams <dcbw@redhat.com>
16260
16261         * gnome/applet/main.c
16262                 - Add new "--no-session" parameter that disables applet
16263                         session management, ie for testing
16264
16265 2005-08-18  Christopher Aillon <caillon@redhat.com>
16266
16267         * gnome/applet/other-network-dialog.c:
16268         * gnome/applet/wireless-applet.glade: More mnemonics
16269
16270 2005-08-17  Robert Love  <rml@novell.com>
16271
16272         * initscript/SUSE/networkmanager: update
16273
16274 2005-08-17  Dan Williams  <dcbw@redhat.com>
16275
16276         * Tag NM_0_4_1_RELEASE
16277
16278 2005-08-17  Christopher Aillon  <caillon@redhat.com>
16279
16280         * gnome/applet/applet.c: More translatable string cleanup
16281
16282
16283 2005-08-17  Dan Williams  <dcbw@redhat.com>
16284
16285         * gnome/applet/applet-dbus-info.c
16286                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
16287                         from the dbus message, which tells us to unconditionally
16288                         ask the user for a new key.  Otherwise, we pull the key from
16289                         the keyring and return it.  If we fail to get the key from the
16290                         keyring, we ask the user for a new key.
16291                 - (nmi_dbus_get_network_key): new function to grab the key for
16292                         an essid from the keyring.
16293                 - (nmi_dbus_get_network_properties): don't access the keyring here.
16294                         Also, don't return any key in the dbus message.
16295
16296         * src/NetworkManagerDbus.[ch]
16297                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
16298                         indicate that we unconditionally want a new key.  This function
16299                         is now also used to get keys from the info-daemon which are
16300                         pre-stored, not just for asking the user for a new key.  The
16301                         "new_key" parameter indicates whether or not we wish to ask the
16302                         user for a new key.
16303                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
16304                         info-daemon in the return message, so use NULL instead.  The
16305                         key will be filled in at connect time by calling
16306                         nm_dbus_get_user_key_for_network()
16307
16308         * src/NetworkManagerDevice.c
16309                 - (nm_device_wireless_configure): update for "new_key" param to
16310                         nm_dbus_get_user_key_for_network().  We initially set new_key
16311                         to FALSE to see if we have a stored key in the info-daemon, but
16312                         if the connection is unsuccessful at this stage we request a
16313                         new one
16314
16315 2005-08-17  Dan Williams  <dcbw@redhat.com>
16316
16317         * gnome/applet/icons/nm-no-connection.png
16318           gnome/applet/icons/nm-device-wired.png
16319                 - Use Diana's new RJ45 connector icons
16320
16321 2005-08-17  Dan Williams  <dcbw@redhat.com>
16322
16323         * src/NetworkManagerPolicy.c
16324                 - (nm_policy_device_change_check): clarify switching rules if
16325                         both new and old devices are valid; mainly, don't switch
16326                         away from user-requested wireless connection back to a wired
16327                         one
16328
16329 2005-08-17  Dan Williams  <dcbw@redhat.com>
16330
16331         * gnome/applet/Makefile.am
16332                 - Relocate the applet to /usr/bin since it is no longer
16333                         executed by anything, but directly by the user
16334
16335 2005-08-17  Dan Williams  <dcbw@redhat.com>
16336
16337         Patch from Bill Moss <bmoss@clemson.edu>
16338
16339         * gnome/applet/applet-dbus-info.[ch]
16340                 - (nmi_save_network_info): save timestamp for network if it
16341                         was a change requested by the user
16342                 - (nmi_dbus_update_network_info): get user_requested from dbus
16343                         message and pass to nmi_save_network_info()
16344
16345         * gnome/applet/applet.c
16346                 - (nmwa_update_network_timestamp): remove
16347                 - (nmwa_menu_item_activate): don't set timestamp on networks
16348                         here, only after a successful connect in nmi_save_network_info()
16349
16350         * src/NetworkManagerDbus.[ch]
16351                 - (nm_dbus_update_network_info): pass user_requested into the 
16352                         dbus message
16353
16354         * src/NetworkManagerPolicy.c
16355                 - (nm_policy_activation_finish): pass user_requested to
16356                         nm_dbus_update_network_info()
16357
16358 2005-08-16  Robert Love  <rml@novell.com>
16359
16360         * gnome/applet/applet.c: Better "Dial Up" menu item.
16361
16362 2005-08-16  Robert Love  <rml@novell.com>
16363
16364         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
16365           "Connection Information" menu item.
16366
16367 2005-08-16  Dan Williams  <dcbw@redhat.com>
16368
16369         Patch from j@bootlab.org
16370         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
16371
16372         * configure.in: allow specifying the path to dhcdbd
16373
16374 2005-08-16  Robert Love  <rml@novell.com>
16375
16376         Patch from j@bootlab.org
16377         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
16378           src/backends/interface_parser.h: Debian dialup support.
16379
16380 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16381
16382         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
16383         * gnome/applet/applet.c: Add some mnemonics for VPNC
16384
16385         * vpn-daemons/.cvsignore: fix this up a little bit
16386
16387 2005-08-16  Robert Love  <rml@novell.com>
16388
16389         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
16390           support.
16391
16392 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16393
16394         * gnome/applet/applet.c: Split markup out of translatable strings
16395         and clean up logic a little bit.  (fixes #309012)
16396
16397 2005-08-15  Christopher Aillon  <caillon@redhat.com>
16398
16399         * gnome/vpn-properties/nm-vpn-properties.c:
16400         * gnome/vpn-properties/nm-vpn-ui-interface.h:
16401         * vpn-daemons/vpnc/properties/nm-vpnc.c:
16402         Makeshift fix to remove newlines from translatable strings.
16403         Note that we now return an allocated string, so callers of
16404         get_confirmation_details () must now call g_free () on the
16405         result. (fixes #309033).
16406
16407 2005-08-12  Robert Love  <rml@novell.com>
16408
16409         * gnome/applet/applet-dbus.c: remove newlines from translatable
16410           strings--not needed here anyway. (fix b.g.o #309011)
16411         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
16412
16413 2005-08-11  Robert Love  <rml@novell.com>
16414
16415         * gnome/applet/applet.c: mark string as translatable.
16416
16417 2005-08-11  Robert Love  <rml@novell.com>
16418
16419         * initscript/SUSE/networkmanager: update.
16420
16421 2005-08-11  Dan Williams  <dcbw@redhat.com>
16422
16423         * src/nm-dhcp-manager.c
16424                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
16425                         an gateway returned from DHCP, try to use the address of the DHCP
16426                         server as the gateway instead.  Found by Ralf Ertzinger.
16427
16428 2005-08-10  Robert Love  <rml@novell.com>
16429
16430         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
16431           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
16432
16433 2005-08-10  Dan Williams  <dcbw@redhat.com>
16434
16435         Patch from Bill Moss <bmoss@clemson.edu>
16436         * Consolidate writes of access point information updates to the info daemon
16437                 so that we only do it when the connection to the access point was
16438                 successful.  Also consolidates updates to GConf in the Gnome applet.
16439
16440         * src/nm-netlink-monitor.c
16441                 - Silence compile warning when calling g_object_new()
16442
16443 2005-08-08  Dan Williams  <dcbw@redhat.com>
16444
16445         Patch from Steev <steev@steev.net>:
16446         * src/backends/NetworkManagerGentoo.c
16447                 - Stub new dialup backend functions
16448
16449 2005-08-08  Dan Williams  <dcbw@redhat.com>
16450
16451         Patch from Colin Slater:
16452         * src/backends/NetworkManagerGentoo.c
16453                 - (nm_system_update_dns): Fix exit status check for restarting
16454                         nscd
16455
16456 2005-08-05  Robert Love  <rml@novell.com>
16457
16458         * NetworkManager.h,
16459           gnome/applet/applet-dbus-devices.c,
16460           gnome/applet/applet-dbus-devices.h,
16461           gnome/applet/applet-dbus.c,
16462           gnome/applet/applet.c,
16463           gnome/applet/applet.h,
16464           src/NetworkManager.c,
16465           src/NetworkManagerMain.h,
16466           src/NetworkManagerSystem.h,
16467           src/backends/NetworkManagerRedHat.c,
16468           src/backends/NetworkManagerSuSE.c,
16469           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
16470
16471 2005-08-05  Robert Love  <rml@novell.com>
16472
16473         * gnome/applet/other-network-dialog.c: default the adhoc network to the
16474           machine's hostname to make adhoc creation idiot-proof.
16475
16476 2005-08-04  Robert Love  <rml@novell.com>
16477
16478         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
16479           freed.
16480
16481 2005-08-04  Dan Williams  <dcbw@redhat.com>
16482
16483         * gnome/applet/applet-dbus-info.c
16484           gnome/applet/applet-dbus-info.h
16485                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
16486                         to store key, key type, and auth method rather than just auth method
16487                 - (nmi_dbus_update_network_info): new function
16488                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
16489
16490         * gnome/applet/passphrase-dialog.c
16491                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
16492                         of saving the info ourselves
16493
16494         * gnome/libnm_glib/libnm_glib.c
16495                 - Remove the stupid version check for dbus
16496
16497         * src/NetworkManagerAP.c
16498           src/NetworkManagerAP.h
16499                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
16500
16501         * src/NetworkManagerDbus.c
16502           src/NetworkManagerDbus.h
16503                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
16504                         more than just the auth method
16505
16506         * src/NetworkManagerDevice.c
16507                 - Update network info at the appropriate times
16508
16509 2005-07-29  Ray Strode  <rstrode@redhat.com>
16510
16511         * src/NetworkManager.c (nm_info_handler): don't use input as format
16512         string (Spotted by Ian Jackson).
16513
16514 2005-07-27  Dan Williams  <dcbw@redhat.com>
16515
16516         * src/nm-dbus-nm.c
16517           src/nm-dbus-net.c
16518                 - Random cleanups of spacing
16519
16520         * gnome/applet/applet.h
16521           gnome/applet/other-network-dialog.c
16522           gnome/applet/passphrase-dialog.c
16523                 - Conslidate usage of NMWAEncryptionKeyTypes enum
16524
16525         Patch from Bill Moss:
16526                 - Make Other Wireless Networks work again with encryption keys
16527
16528 2005-07-26  Dan Williams  <dcbw@redhat.com>
16529
16530         Patch from Steev <steev@steev.net>:
16531         * src/backends/NetworkManagerGentoo.c
16532           src/backends/Makefile.am
16533                 - Fix up Gentoo backend
16534
16535 2005-07-26  Robert Love  <rml@novell.com>
16536
16537         * src/backends/NetworkManagerSuSE.c: misc. cleanup
16538
16539 2005-07-25  Robert Love  <rml@novell.com>
16540
16541         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
16542           in the same group as the wireless networks, since they are all
16543           mutually exclusive.
16544
16545 2005-07-24  Ray Strode  <rstrode@redhat.com>
16546
16547         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
16548         remove unneeded NULL arg from g_object_new().  Any
16549         warnings caused by not having the extra NULL are just a
16550         result of a bug in glib 2.7.0 - 2.7.2.
16551
16552 2005-07-22  Robert Love  <rml@novell.com>
16553
16554         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
16555
16556 2005-07-22  Robert Love  <rml@novell.com>
16557
16558         * src/nm-netlink-monitor.c: g_object_new() needs at least three
16559           parameters (gcc 4.0.2 warning fix).
16560
16561 2005-07-18  Robert Love  <rml@novell.com>
16562
16563         Suggested by Aaron Bockover (abockover@novell.com)
16564         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
16565           s/Ascii/ASCII
16566         * gnome/applet/passphrase-dialog.c: ditto
16567         * gnome/applet/wireless-applet.glade: ditto
16568
16569 2005-07-13  Dan Williams  <dcbw@redhat.com>
16570
16571         Patch from Ray Strode <halfline@gmail.com>
16572         * vpn-daemons/vpnc/nm-vpnc-service.c
16573                 - Don't let vpnc daemonize, fixes some races with PID file reading
16574
16575 2005-07-13  Dan Williams  <dcbw@redhat.com>
16576
16577         Patch from Ray Strode <halfline@gmail.com>
16578         * Random cleanups for strict CFLAGS
16579
16580 2005-07-07  Dan Williams  <dcbw@redhat.com>
16581
16582         Patch from Derek Atkins <warlord@MIT.EDU>
16583         * src/nm-dbus-net.c:
16584                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
16585
16586 2005-07-07  Dan Williams  <dcbw@redhat.com>
16587
16588         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
16589         * src/backends/NetworkManagerGentoo.c
16590                 - Gentoo backend Static IP nameserver fixes
16591                 - General Gentoo backend goodness
16592
16593 2005-07-07  Dan Williams  <dcbw@redhat.com>
16594
16595         Patch from Bastien Nocera:
16596         * gnome/applet/applet.c
16597                 - Fix up error reporting when icons or glade files are missing
16598
16599 2005-07-07  Robert Love  <rml@novell.com>
16600
16601         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
16602           are not any VPN connections above it.
16603
16604 2005-07-07  Robert Love  <rml@novell.com>
16605
16606         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
16607
16608 2005-07-05  Robert Love  <rml@novell.com>
16609
16610         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
16611           zero.
16612
16613 2005-07-05  Robert Love  <rml@novell.com>
16614
16615         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
16616           on wired or unencrypted wireless.
16617
16618 2005-07-01  Robert Love  <rml@novell.com>
16619
16620         * src/NetworkManagerSystem.c: Print the error via strerror().
16621
16622 2005-06-30  Robert Love  <rml@novell.com>
16623
16624         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
16625           then exit if the glade file is not found.  currently the application
16626           just hangs.
16627
16628 2005-06-30  Robert Love  <rml@novell.com>
16629
16630         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
16631           explicitly up all interfaces on wake from sleep.
16632
16633 2005-06-30  Robert Love  <rml@novell.com>
16634
16635         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16636           with information about the currently active connection.
16637         * gnome/applet/applet.h: (ditto)
16638         * gnome/applet/wireless-applet.glade: (ditto), new file
16639
16640 2005-06-30  Robert Love  <rml@novell.com>
16641
16642         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16643         * src/nm-dbus-nm.c: print when we sleep and wake up.
16644         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16645         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16646           in /sbin unless D-BUS is, folks).
16647         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16648
16649 2005-06-27  Robert Love  <rml@novell.com>
16650
16651         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16652           case.
16653
16654 2005-06-27  Robert Love  <rml@novell.com>
16655
16656         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16657           items radios.
16658
16659 2005-06-26  Robert Love  <rml@novell.com>
16660
16661         * src/NetworkManagerDevice.c: be specific about which device in
16662           nm_info() message.
16663
16664 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16665
16666         * src/nm-netlink-monitor.c: correct spelling error.
16667
16668 2005-06-23  Robert Love  <rml@novell.com>
16669
16670         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16671         * gnome/applet/passphrase-dialog.c: more of that keyring!
16672
16673 2005-06-23  Robert Love  <rml@novell.com>
16674
16675         * configure.in: remove extraneous GNOMEKEYRING directives.
16676         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16677         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16678         * gnome/applet/passphrase-dialog.c: whitespace.
16679
16680 2005-06-23  Robert Love  <rml@novell.com>
16681
16682         * src/NetworkManagerDevice.c: division in assignment was flipped.
16683
16684 2005-06-23  David Zeuthen  <david@fubar.dk>
16685
16686         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16687         signal to the child to indicate that we got what we wanted when we
16688         see two new-lines right after each other.
16689         (nmwa_vpn_request_password): Pass a structure with several members
16690         instead of just the passwords
16691
16692 2005-06-23  Dan Williams <dcbw@redhat.com>
16693
16694         * src/NetworkManager.c
16695           src/NetworkManagerMain.h
16696                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16697                 - (nm_hal_init): new function, init libhal context then add devices
16698                 - (nm_hal_deinit): new function, clean up libhal context
16699                 - (nm_data_free): Move Hal cleanup here
16700                 - (main): check whether Hal is running, and if so, get a list of
16701                         network devices from it
16702
16703         * src/NetworkManagerDbus.c
16704                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16705                         and when it appears, get a list of network devices from it.  If
16706                         Hal goes away, clean up the libhal context
16707
16708 2005-06-22  Robert Love  <rml@novell.com>
16709
16710         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16711           permissions of scripts before executing.
16712
16713 2005-06-21  Robert Love  <rml@novell.com>
16714
16715         * initscript/SUSE/networkmanager: update.
16716         * src/backends/NetworkManagerSuSE.c: cleanup.
16717
16718 2005-06-21  Robert Love <rml@novell.com>
16719
16720         * gnome/applet/applet.c: use menu mnemonics.
16721         * gnome/applet/menu-items.c: (ditto)
16722
16723 2005-06-21  Robert Love  <rml@novell.com>
16724
16725         * applet/applet-dbus-devices.c: mark non-static functions static.
16726         * applet/applet-dbus-vpn.c: (ditto)
16727         * applet/applet.c: (ditto)
16728         * applet/nm-device.h: (ditto)
16729         * applet/other-network-dialog.c: (ditto)
16730         * applet/passphrase-dialog.c: (ditto)
16731         * NetworkManager.c: (ditto)
16732         * NetworkManagerDbus.c: (ditto)
16733         * NetworkManagerDevice.c: (ditto)
16734         * NetworkManagerPolicy.c: (ditto)
16735         * NetworkManagerUtils.c: (ditto)
16736         * NetworkManagerWireless.c: (ditto)
16737         * NetworkManagerWireless.h: (ditto)
16738         * nm-netlink-monitor.c: (ditto)
16739         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16740         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16741         * autoip.c: include autoip.h.
16742         * autoip.h: new file.  define get_autoip().
16743         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16744         * NetworkManagerDbus.h: remove duplicate definitions.
16745
16746 2005-06-20  Robert Love  <rml@novell.com>
16747
16748         * Makefile.am: Add missing intltool-foo.in generated files to
16749           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16750           with the start of stuff to cleanup on 'distclea'.
16751         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16752           stuff right and 'distcheck' works.
16753         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16754           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16755           Makefile.am for each.  And systray/Makefile needs to be redone.
16756
16757 2005-06-19  Dan Williams <dcbw@redhat.com>
16758
16759         * src/NetworkManagerDevice.c
16760         - (nm_device_wireless_process_scan_results): scan every 20s when
16761           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16762
16763 2005-06-19  Dan Williams <dcbw@redhat.com>
16764
16765         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16766
16767 2005-06-18  Ray Strode <rstrode@redhat.com>
16768
16769         * src/nm-netlink-monitor.c 
16770         (nm_netlink_monitor_event_handler): check for the presence
16771         of either error condition not both. 
16772         
16773         (nm_netlink_monitor_error_handler): emit error signal if
16774         error occurs.
16775
16776         (nm_netlink_monitor_event_handler),
16777         (nm_netlink_monitor_error_handler),
16778         (nm_netlink_monitor_disconnect_handler): if an 
16779         assertion fails disconnect the event handler to prevent 
16780         infinite loops.
16781
16782         * src/nm-netlink-monitor.h: add new error condition
16783         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16784
16785 2005-06-18  Ray Strode <rstrode@redhat.com>
16786
16787         * src/nm-netlink-monitor.c 
16788         (nm_netlink_monitor_event_handler): remove bogus < 0
16789         check on unsigned value and return early if the kernel
16790         didn't send any bytes.
16791
16792 2005-06-17  Robert Love  <rml@novell.com>
16793
16794         * initscript/SUSE/networkmanager: Change the Provides and default
16795         run levels
16796
16797 2005-06-16  Dan Williams <dcbw@redhat.com>
16798
16799         Patch from Robert Love:
16800         * gnome/applet/applet.c
16801                 - Beautify some applet menu item names
16802
16803 2005-06-17  David Zeuthen  <davidz@redhat.com>
16804
16805         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16806         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16807         Also add new methods can_export, import_file and export.
16808
16809         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16810         to the main UI
16811
16812         * gnome/vpn-properties/nm-vpn-properties.c:
16813         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16814         nm-vpn-ui-interface.h.
16815         (update_edit_del_sensitivity): Also update "Export" sensitivity
16816         (add_vpn_connection): Also add new SVC_NAME column
16817         (import_settings): New function
16818         (retrieve_data_from_selected_connection): New function
16819         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16820         this function
16821         (export_cb): New function
16822         (init_app): Also setup the "export" widget
16823         (main): Support the --import-service and --import-file commandline
16824         arguments
16825
16826         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
16827         D-BUS 0.34
16828
16829 2005-06-16  Dan Williams <dcbw@redhat.com>
16830
16831         Patch from Robert Love:
16832         * gnome/applet/menu-items.c
16833                 - (network_menu_item_new): pass -1 as wireless network
16834                         menu items height size request rather than ascent / 2
16835
16836 2005-06-16  Dan Williams <dcbw@redhat.com>
16837
16838         * Clean up wording in Wireless Scan Methods menu items and constants
16839
16840 2005-06-16  Robert Love  <rml@novell.com>
16841
16842         * po/POTFILES.in
16843                 - remove gtkcell* files
16844
16845 2005-06-15  Dan Williams <dcbw@redhat.com>
16846
16847         Patch from Robert Love: make the applet stetic
16848
16849         * gnome/applet/Makefile.am
16850                 - Don't compile the gtkcellview and gtkcellrendererprogress files
16851
16852         * gnome/applet/gtkcellview.h
16853           gnome/applet/gtkcellview.c
16854           gnome/applet/gtkcellrendererprogress.h
16855           gnome/applet/gtkcellrendererprogress.c
16856                 - Removed
16857
16858         * gnome/applet/menu-items.c
16859                 - Progress bars are 5:1 size ratio
16860                 - Use GTK progress bars rather than internal ones
16861
16862 2005-06-15  Dan Williams <dcbw@redhat.com>
16863
16864         Patch from Robert Love:
16865         * initscript/SUSE/networkmanager
16866                 - Fix typo
16867
16868 2005-06-15  Dan Williams <dcbw@redhat.com>
16869
16870         * src/backends/NetworkManagerSuSE.c
16871           src/backends/NetworkManagerRedHat.c
16872           src/backends/NetworkManagerDebian.c
16873                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
16874
16875 2005-06-15  Dan Williams <dcbw@redhat.com>
16876
16877         * src/backends/NetworkManagerDebian.c
16878                 - Add nm_system_device_get_use_dhcp() to debian backend
16879
16880         Patch from Kay Sievers:
16881         * src/backends/NetworkManagerSuSE.c
16882                 - Update debian backend for static IP nameservers
16883
16884         * src/NetworkManagerDevice.c
16885                 - Actually set the device to use static IP or DHCP rather
16886                         than always DHCP
16887
16888 2005-06-15  Dan Williams <dcbw@redhat.com>
16889
16890         Patch from Thom May:
16891         * src/backends/NetworkManagerDebian.c
16892                 - Update debian backend for static IP nameservers
16893
16894 2005-06-15  Dan Williams <dcbw@redhat.com>
16895
16896         Patches from Robert Love:
16897         * gnome/applet/wireless-applet.glade
16898                 - Tighten up wording
16899
16900         * src/NetworkManagerDevice.c
16901                 - Remove misplaced ';'
16902
16903         * configure.in
16904           initscript/Makefile.am
16905           initscript/SUSE/Makefile.am
16906           initscript/SUSE/networkmanager
16907                 - Add SUSE initscript
16908
16909 2005-06-12  David Zeuthen  <davidz@redhat.com>
16910
16911         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
16912
16913         * gnome/vpn-properties/nm-vpn-properties.glade: New file
16914
16915         * gnome/vpn-properties/nm-vpn-properties.c: New file
16916
16917         * gnome/vpn-properties/Makefile.am: New file
16918
16919         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
16920         array of passwords
16921
16922         * src/vpn-manager/nm-vpn-manager.c
16923         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
16924         instead of just a single one
16925
16926         * src/vpn-manager/nm-dbus-vpn.c:
16927         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
16928         here
16929         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
16930
16931         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
16932         Change the interface here to give a list of passwords. Also, don't
16933         require username, but do require service
16934
16935         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
16936         the binary for the auth-dialog and use that instead of putting up a
16937         dialog asking for a single password
16938
16939         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
16940         however do remember the service
16941
16942         * gnome/applet/main.c (main): Setup i18n
16943
16944         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
16945         connection to '%s'" to the tooltip if we are connected using VPN
16946         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
16947         key to determine whether we the auth-dialog needs to
16948         reprompt. Also cope with the fact that the auth-dialog now returns
16949         an array of passwords.
16950         (nmwa_menu_configure_vpn_item_activate): New handler for
16951         "Configure VPN..." menu item
16952         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
16953         (is_vpn_available): New function to determine if we got any
16954         NM-compatible VPN software installed
16955         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
16956         items only if we have NM-compatible VPN software installed
16957         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
16958         logic for detecting when VPN connections are removed
16959
16960         * gnome/applet/applet-dbus.h: Removed the prototypes for 
16961         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
16962         since these are defined elsewhere
16963
16964         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
16965         function used to keep track of whether the last attempt succeded
16966         (nmwa_dbus_filter): Update last_attempt according to whether the
16967         VPN connection could be established or not
16968
16969         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
16970         Change prototype to take an array of passwords, not just a single
16971         password
16972
16973         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
16974         update service, not user
16975         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
16976         dbus_active_vpn_name is not NULL before using it
16977         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
16978         string array instead of assuming a single password
16979
16980         * gnome/applet/applet-dbus-info.c:
16981         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
16982         user name; don't read from gconf
16983
16984         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
16985         VPN_NAME_FILES_DIR
16986
16987         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
16988
16989         * configure.in: Add checks for gmodule-2.0.
16990         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
16991         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
16992         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
16993         for details
16994
16995         * vpn-daemons/Makefile.am: Removed
16996
16997         * vpn-daemons/README: New file to describe extensions points for VPN
16998         software
16999
17000 2005-06-10  Dan Williams <dcbw@redhat.com>
17001
17002         * src/backends/NetworkManagerRedHat.c
17003                 - (get_current_profile_name): new function, grab current network profile name from
17004                         /etc/sysconfig/network
17005                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
17006                         update an IP4 Config structure's settings from it
17007                 - (nm_system_device_get_system_config): if we're using static IP on this device,
17008                         get DNS info from current network profile
17009
17010 2005-06-09  Dan Williams <dcbw@redhat.com>
17011
17012         Patch from Robert Love:
17013         * src/NetworkManagerDevice.c
17014           src/NetworkManagerUtils.c
17015                 - 64-bit build fixes
17016
17017 2005-06-09  Dan Williams <dcbw@redhat.com>
17018
17019         Patch from Kay Sievers and Robert Love:
17020         * configure.in
17021           src/backends/Makefile.am
17022           src/backends/NetworkManagerSuSE.c
17023                 - Add SuSE support
17024
17025 2005-06-09  Dan Williams <dcbw@redhat.com>
17026
17027         * NetworkManager.h
17028                 - Add NMWirelessScanMethod enum for scan methods
17029
17030         * gnome/applet/applet-dbus-devices.c
17031                 - (nmwa_dbus_update_scanning_enabled_cb): remove
17032                 - (nmwa_dbus_update_scanning_enabled): remove
17033                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
17034                         since it got removed
17035                 - (nmwa_dbus_enable_scanning): remove
17036
17037         * gnome/applet/applet-dbus-info.c
17038                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
17039                         update the wireless scanning method from NMI
17040                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
17041                         method value to NetworkManager
17042                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
17043
17044         * gnome/applet/applet-dbus-info.h
17045                 - Add prototype for nmi_dbus_signal_update_scan_method
17046
17047         * gnome/applet/applet.c
17048                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
17049                         Wireless Scanning menu based on current wireless scan method
17050                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
17051                         signal for Wireless Scanning menu items, tell NetworkManager the new method
17052                         and update our menu items to make sure the right one is checked
17053                 - (nmwa_set_scanning_enabled_cb): remove
17054                 - (nmwa_context_menu_update): remove references to pause_scanning_item
17055                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
17056                         Scanning menu item
17057                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
17058                         from GConf
17059                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
17060                         so we get notified of preference values too
17061                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
17062
17063         * gnome/applet/applet.h
17064                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
17065                 - Add wireless scan method member to applet data
17066                 - Remove pause_scanning_item, add Wireless Scanning submenu
17067
17068         * src/NetworkManager.c
17069                 - (nm_data_new): default to NM_SCAN_METHOD_ON
17070                 - (main): grab scanning method from NMI if we can
17071
17072         * src/NetworkManagerDbus.c
17073                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
17074                         nm_dbus_update_wireless_scan_method()
17075                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
17076                         from NMI
17077                 - (nm_dbus_nmi_is_running): redundant function, removed
17078                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
17079                         when NMI comes back
17080
17081         * src/NetworkManagerDevice.c
17082                 - (nm_device_is_activated): return TRUE if the device is activated
17083                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
17084                         and we are activated
17085
17086         * src/nm-dbus-nm.c
17087                 - (nm_dbus_nm_set_scanning_enabled): removed
17088                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
17089                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
17090
17091 2005-06-09  Dan Williams <dcbw@redhat.com>
17092
17093         * NetworkManager.h
17094           src/vpn-manager/nm-vpn-service.c
17095                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
17096
17097 2005-05-27  Dan Williams <dcbw@redhat.com>
17098
17099         * vpn-daemons/vpnc/nm-vpnc-service.c
17100                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
17101                         Should fix the bug where the VPN connection terminates the first time.
17102
17103 2005-05-20  Dan Williams <dcbw@redhat.com>
17104
17105         * NetworkManager.h
17106                 - Differentiate VPN config signals between bad VPN config options
17107                         and bad IP config
17108
17109         * gnome/applet/applet-dbus-info.h
17110                 - Add prototypes for wireless network and vpn connection update functions
17111
17112         * gnome/applet/applet-dbus.c
17113                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
17114
17115         * gnome/applet/applet.c
17116                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
17117                         error signals
17118                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
17119                         propogation to NetworkManager
17120                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
17121                         notify propogation to NetworkManager
17122
17123         * src/NetworkManagerDbus.c
17124                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
17125                         are updating so a network can be removed from it if necessary
17126
17127         * src/vpn-manager/nm-vpn-manager.c
17128                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
17129
17130         * vpn-daemons/vpnc/nm-vpnc-service.c
17131                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
17132                 - (nm_vpnc_dbus_signal_launch_failed): remove
17133                 - (nm_vpnc_dbus_signal_connect_failed): remove
17134                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
17135                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
17136                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
17137                         for new generalized error signal function, remove config file stuff
17138                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
17139                         we can write configuration options to it
17140                 - (nm_vpnc_config_file_generate): removed
17141                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
17142                 - (nm_vpnc_config_options_validate): validate the config options we receive
17143                         from NetworkManager to block potential exploits
17144                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
17145                         starting vpnc
17146                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
17147                         to NetworkManager
17148
17149 2005-05-16  Dan Williams  <dcbw@redhat.com>
17150
17151         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
17152                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
17153                         is not "connect"
17154
17155 2005-05-16  Dan Williams  <dcbw@redhat.com>
17156
17157         Patch from Tomislav Vujec <tvujec@redhat.com>
17158         * gnome/applet/applet-dbus-info.c
17159                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
17160                         GConf and pass them to NetworkManager.  New key is 'routes' under
17161                         the VPN connection, and should be a string list
17162
17163         * src/NetworkManagerSystem.c
17164                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
17165                         set them on the device when we set the rest of the VPN config.  Ensure
17166                         they are in the correct format since they are passed directly to the
17167                         command line.
17168
17169         * src/backends/NetworkManagerRedHat.c
17170           src/backends/NetworkManagerDebian.c
17171                 - (nm_system_device_add_route_via_device_with_iface): new function
17172
17173         * src/vpn-manager/nm-dbus-vpn.c
17174                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
17175
17176         * src/vpn-manager/nm-vpn-manager.c
17177                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
17178                         them into the IP4 config functions
17179
17180 2005-05-15  Dan Williams  <dcbw@redhat.com>
17181
17182         From Filip Miletic:
17183         * po/sr.po
17184           po/sr@Latn.po
17185           configure.in
17186                 - Serbian translation added
17187
17188 2005-05-15  Dan Williams  <dcbw@redhat.com>
17189
17190         * dispatcher-daemon/NetworkManagerDispatcher.c
17191                 - (main): sync arguments with NetworkManager and the applet, now use
17192                         "--no-daemon" rather than "daemon=no"
17193                 - (nmd_print_usage): Fix script path in usage message
17194
17195 2005-05-15  Dan Williams  <dcbw@redhat.com>
17196
17197         * src/NetworkManagerDevice.[ch]
17198           src/NetworkManagerPolicy.c
17199           src/NetworkManager.c
17200           src/nm-dbus-nm.c
17201                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
17202                         longer send the DeviceNoLongerActive signal unconditionally, but only
17203                         when the device is actually active.
17204
17205         * dispatcher-daemon/NetworkManagerDispatcher.c
17206                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
17207                         and simplify the logic
17208                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
17209                         we free it later on
17210
17211         * initscript/RedHat/Makefile.am
17212           initscript/RedHat/NetworkManagerDispatcher
17213                 - Add initscript for NetworkManagerDispatcher
17214
17215
17216         Patch from Bill Moss:
17217         * dispatcher-daemon/NetworkManagerDispatcher.c
17218                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
17219
17220         * src/NetworkManagerDbus.c
17221                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
17222                         and DeviceNowActive gets signaled, then the device has a new IP address
17223                         anyway.  There's no need for a separate signal.
17224
17225         * src/NetworkManagerDevice.c
17226                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
17227
17228         * src/NetworkManagerPolicy.c
17229                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
17230                         activates successfully.  This kind of went missing when I reworked the
17231                         activation code.
17232
17233 2005-05-15  Dan Williams  <dcbw@redhat.com>
17234
17235         * configure.in
17236                 - Check for dhcdbd and error if its not found
17237
17238         * src/dhcp-manager/Makefile.am
17239           src/dhcp-manager/nm-dhcp-manager.c
17240                 - Use path to dhcdbd that configure found
17241
17242 2005-05-14  Dan Williams  <dcbw@redhat.com>
17243
17244         * gnome/applet/nm-device.c
17245                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
17246                         sort wireless networks alphabetically
17247
17248         * gnome/applet/applet-dbus-devices.c
17249                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
17250                         before copying them over to the GUI
17251
17252 2005-05-14  Dan Williams  <dcbw@redhat.com>
17253
17254         * src/NetworkManager.c
17255                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
17256                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
17257                         the device list, as does nm_get_active_device() which is called from
17258                         nm_vpn_manager_deactivate_vpn_connection().
17259
17260 2005-05-14  Dan Williams  <dcbw@redhat.com>
17261
17262         * NetworkManager.h
17263                 - Add signals for VPN Launch and Connect failures
17264
17265         * gnome/applet/applet-dbus.c
17266                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
17267
17268         * gnome/applet/applet.c
17269                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
17270                         function to handle all VPN failure messages
17271                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
17272                         function to hanlde all VPN failure  messages
17273                 - (show_warning_dialog): work around focus-stealing prevention
17274
17275         * gnome/applet/other-network-dialog.c
17276           gnome/applet/passphrase-dialog.c
17277                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
17278                         problem where it never enabled for ASCII Key and Hex Key types
17279
17280         * gnome/applet/wireless-applet.glade
17281                 - Add window title to Other Wireless Network Dialog
17282
17283         * src/vpn-manager/nm-dbus-vpn.c
17284                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
17285                         function to handle all VPN failure messages
17286
17287         * src/vpn-manager/nm-vpn-manager.c
17288                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
17289
17290         * vpn-daemons/vpnc/nm-vpnc-service.c
17291                 - (nm_vpnc_dbus_signal_launch_failed): new function
17292                 - (nm_vpnc_dbus_signal_connect_failed): new function
17293                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
17294                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
17295                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
17296                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
17297
17298 2005-05-11  Dan Williams  <dcbw@redhat.com>
17299
17300         * vpn-daemons/vpnc/nm-vpnc-service.c
17301                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
17302                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
17303                         file exists before trying to write it out.
17304
17305 2005-05-10  Dan Williams  <dcbw@redhat.com>
17306
17307     * gnome/applet/applet-dbus-device.c
17308         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
17309             prevented just entering ESSID and leaving key and key type up to
17310             NetworkManager (which should have them already cached)
17311
17312 2005-05-08  Dan Williams  <dcbw@redhat.com>
17313
17314         * src/NetworkManagerPolicy.c
17315                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
17316                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
17317                         fix a situation where NM is told to terminate and the device stops activation,
17318                         but the main thread isn't aware of that because it would never have run
17319                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
17320                         had already quit.
17321
17322         * src/NetworkManagerDevice.c
17323                 - (nm_device_probe_wired_link_state): cosmetic fixes
17324                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
17325                         we've failed to activate or been canceled.
17326                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
17327
17328 2005-05-08  Dan Williams  <dcbw@redhat.com>
17329
17330         * src/NetworkManagerWireless.c
17331                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
17332                         value of WEXT quality structures, and add a debug message when we cannot
17333                         determine any quality % at all
17334
17335 2005-05-08  Dan Williams  <dcbw@redhat.com>
17336
17337         * src/dhcp-manager/nm-dhcp-manager.c
17338                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
17339                         it goes down.
17340
17341 2005-05-06  Dan Williams  <dcbw@redhat.com>
17342
17343         * gnome/applet/applet-dbus-device.c
17344           gnome/applet/applet-dbus-info.c
17345           gnome/applet/applet-dbus.c
17346           gnome/applet/applet.c
17347           gnome/applet/applet.h
17348                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
17349
17350         * gnome/applet/applet-dbus.c
17351                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
17352                         so we notice when wired device's carriers come back on.  Should
17353                         fix issue with wired devices being grayed out even if the cable
17354                         is in, for devices that support carrier detection.
17355
17356         * gnome/applet/applet.c
17357                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
17358                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
17359                         tooltip message
17360                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
17361                         Fix situation where applet wouldn't respond to menu selections
17362
17363         * src/NetworkManager.c
17364           src/NetworkManagerDevice.c
17365           src/NetworkManagerDbus.c
17366           src/NetworkManagerDbus.h
17367                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
17368
17369         * src/NetworkManagerDbus.c
17370                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
17371                         Remove, no longer used or relevant
17372                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
17373                 - (nm_dbus_schedule_device_status_change_signal): add
17374
17375         * src/NetworkManagerDevice.c
17376                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
17377                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
17378                         ie don't deactivate them unless explicitly told to by the user.  Also send
17379                         CARRIER_OFF / CARRIER_ON signals when link changes
17380                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
17381                         Don't print error message when device is no longer around
17382                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
17383                         not just during activation
17384
17385         * src/NetworkManagerPolicy.c
17386                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
17387                         auto-device-selection.
17388                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
17389
17390         * src/NetworkManagerSystem.c
17391                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
17392                         is no longer present (Bill Moss)
17393
17394         * src/backends/shvar.c
17395                 - (svOpenFile): Open read-only to make SELinux happy
17396
17397         * src/backends/NetworkManagerRedHat.c
17398                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
17399                         the path to the ifcfg-* files
17400
17401 2005-05-05  Dan Williams  <dcbw@redhat.com>
17402
17403         * Expose activation stages to NetworkManager clients, like the applet
17404         * Add Diana's progress icons to the applet, cued off NM activation stage
17405         * Use more descriptive tooltips, cued off NM activation stage
17406
17407 2005-05-05  Ray Strode  <rstrode@redhat.com>
17408
17409         * src/nm-netlink-monitor.c:
17410                 - Use clear_event_source instead of g_nullify_pointer() again.
17411
17412 2005-05-05  Dan Williams  <dcbw@redhat.com>
17413
17414         * gnome/applet/main.c
17415                 - Fix session management so the applet is actually managed now
17416
17417         * gnome/applet/passphrase-dialog.c
17418                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
17419
17420 2005-05-05  Dan Williams  <dcbw@redhat.com>
17421
17422         Patch from Bill Moss:
17423         * gnome/libnm_glib/libnm_glib.c
17424                 - Fix for dbus-0.33
17425
17426 2005-05-05  Dan Williams  <dcbw@redhat.com>
17427
17428         Suggestion from Bill Moss:
17429         * src/NetworkManagerSystem.c
17430                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
17431
17432
17433         * src/NetworkManager.c
17434                 - (nm_data_free): move destruction of the various managers after
17435                         release of device list, because deactivating and freeing a device
17436                         requires at least the named manager
17437                 - (nm_poll_and_update_wireless_link_state):
17438                   (nm_device_link_activated):
17439                   (nm_device_link_deactivated):
17440                         don't grab the device list lock when actually updating device
17441                         link status or strength, since nm_device_set_link_active()
17442                         needs to call nm_get_active_device(), which also locks the device list.
17443
17444         * src/NetworkManagerDevice.c
17445                 - (nm_device_set_link_active): if a device's link switches from off->on,
17446                         and it's wired, and the active device is wireless (or there is no
17447                         active device), activate the new device whose link just came on
17448                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
17449                         my only calling the link to the current ap "failed" when more than 2
17450                         consecutive link checks have failed
17451
17452 2005-05-04  Dan Williams  <dcbw@redhat.com>
17453
17454         * src/NetworkManagerDevice.c
17455                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
17456                         but let link_to_specific_ap() do the locking where it needs
17457
17458         Patch from Bill Moss:
17459         * src/NetworkManagerSystem.c
17460                 - Set MTU of VPN devices to 1412
17461
17462 2005-05-04  Dan Williams  <dcbw@redhat.com>
17463
17464         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
17465
17466         * Fix some holes in device activation and retaining the currently connected
17467                 access point
17468
17469 2005-05-03  Dan Williams  <dcbw@redhat.com>
17470
17471         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
17472           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
17473           means you need dhcdbd, which you can get here (get the latest one):
17474
17475                 http://people.redhat.com/jvdias/dhcdbd/
17476
17477           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
17478           interface as dhcdbd.
17479
17480         * Rewrite device activation to facilitate the new DHCP infrastructure and
17481           future improvements.  Its now "activation request" based, ie there is a single
17482           activation request composed of the device, access point, and other info which
17483           follows the entire activation process.  There are 5 stages of the activation
17484           process which correspond to:
17485
17486                 1) Device preparation
17487                 2) Device configuration (bring it up, set ESSID/Key/etc)
17488                 3) IP Config Start (fire off DHCP if we're using it)
17489                 4) IP Config Get (grab config from DHCP or static config files)
17490                 5) IP Config Commit (set device's IP address, DNS, etc)
17491
17492           Note that there is no longer a "scanning" step, since the access point must
17493           be known _before_ activation starts.  If the access point drops out or does
17494           not exist for some reason, the entire activation process fails and must be
17495           restarted for a different access point or device.
17496
17497         Patch from Bill Moss:
17498         * gnome/applet/applet.c
17499                 - Fix type of vpn_failure dialog -> vpn_banner dialog
17500
17501 2005-04-27  Dan Williams  <dcbw@redhat.com>
17502
17503         * gnome/applet/applet-dbus-vpn.c
17504           gnome/applet/applet.c
17505           gnome/applet/applet.h
17506                 - Fix up active VPN handling so that we reliably know when a VPN
17507                         connection has been deactivated
17508
17509         * src/vpn-manager/nm-vpn-manager.c
17510                 - Remove duplicate VPNConnectionChange signal
17511
17512 2005-04-27  Dan Williams  <dcbw@redhat.com>
17513
17514         Patch from Peter Jones:
17515         * Remove usage of varargs to fix crashes on PPC (RH #154336)
17516
17517         Patch from Bill Moss:
17518         * src/NetworkManagerSystem.c
17519                 - Fix checking of return value from ioctl()
17520
17521 2005-04-27  Dan Williams  <dcbw@redhat.com>
17522
17523         * Fix choosing of wireless networks and "Other wireless network..." from the applet
17524         * Warn and exit if icons cannot be found
17525
17526 2005-04-27  Dan Williams  <dcbw@redhat.com>
17527
17528         Patch from Tom Parker:
17529         * Update debian backend
17530
17531 2005-04-27  Dan Williams  <dcbw@redhat.com>
17532
17533         * Merge the applet and the info-daemon, and move the converged
17534                 applet under gnome/applet
17535         * Move libnm_glib to gnome/libnm_glib
17536         * Convert most dbus calls between the applet, info-daemon, and NM
17537                 into async calls
17538         * Fix a few things valgrind noticed
17539         * Make NM broadcast state more reliably
17540
17541 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
17542
17543         * configure.in: Added ne in ALL_LINGUAS
17544
17545 2005-04-15  Dan Williams  <dcbw@redhat.com>
17546
17547         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
17548                 code for dbus 0.2x versions
17549
17550 2005-04-15  Dan Williams  <dcbw@redhat.com>
17551
17552         Patches from Tom Parker:
17553         - Fix memleaks
17554         - Join with worker thread rather than polling for its exit
17555
17556         Patch from Bill Moss:
17557         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
17558
17559 2005-04-15  Dan Williams  <dcbw@redhat.com>
17560
17561         - Fixes to pass 'make distcheck'
17562
17563 2005-04-15  Dan Williams  <dcbw@redhat.com>
17564
17565         Initial VPN Support
17566                 - supports 'vpnc'
17567                 - reworks device IP configuration, backend files have changed and will need
17568                         to be updated for all distributions.  I will try to do what I can for
17569                         them, but I cannot test them.
17570
17571         - Move named directory to src/named-manager
17572         - Make backends directory self-contained
17573
17574 2005-04-06  Dan Williams  <dcbw@redhat.com>
17575
17576         Add debug code for socket/file descriptor leaks.  We register every socket
17577         that we open (except for stuff in dhcpcd/) for tracking, and print out the
17578         list of sockets that we forgot to close on shutdown.  This also consolidates
17579         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
17580
17581 2005-04-06  Dan Williams  <dcbw@redhat.com>
17582
17583         * dhcpcd/dhcpcd.c
17584                 - (dhcp_interface_free): fix a file descriptor leak that may have
17585                         caused network drivers to not unload due to refcounts > 0
17586
17587 2005-04-04  Dan Williams  <dcbw@redhat.com>
17588
17589         * panel-applet/NMWirelessAppletDbus.c
17590                 - (nmwa_dbus_call_nm_method): remove some commented code
17591
17592         * src/NetworkManagerAPList.[ch]
17593                 - (nm_ap_list_remove_ap_by_essid): new function
17594
17595         * src/NetworkManagerDevice.c
17596                 - (nm_device_wireless_force_use): remove access points from the ignore list
17597                         when the user forces them
17598
17599         * src/nm-dbus-device.c
17600                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
17601
17602 2005-04-04  Dan Williams  <dcbw@redhat.com>
17603
17604         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
17605
17606 2005-04-04  Dan Williams  <dcbw@redhat.com>
17607
17608         * src/NetworkManagerDevice.c:
17609                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
17610                         of only erroring after the second consecutive scan times out.  Also
17611                         don't exit when the card requires more time than we can give it, just
17612                         log the event and continue.
17613
17614 2005-04-01  Steve Murphy  <murf@e-tools.com>
17615
17616         * configure.in: Added "rw" to ALL_LINGUAS.
17617
17618 2005-04-01  Dan Williams <dcbw@redhat.com>
17619
17620         Perform scans during device activation, if needed.  Both activation 
17621         and scans run in the same GMainContext.  Therefore, if an access point
17622         is not found by the time the device starts activation, it will not
17623         be available until after activation.  We now try to scan during
17624         activation (in nm_wa_test) every 15s so that all available access
17625         points are more likely to be found and available for the activation
17626         procedure.
17627
17628         Also change nm_wireless_link_state_handle() to only update the "best"
17629         AP if we are not forcing a device and if we are not about to change
17630         state.  This attempts to work around a race when forcing a device,
17631         where the forced AP would get cleared out too soon by the link state
17632         checking timeout in the main thread, and the activation attempt with
17633         that AP would fail.
17634
17635 2005-04-01  Dan Williams <dcbw@redhat.com>
17636
17637         * po/POTFILES.in
17638                 - Update with new translatables
17639
17640 2005-03-31  Dan Williams <dcbw@redhat.com>
17641
17642         * panel-applet/NMWirelessAppletDbus.c
17643                 - Fix device names now that hal has changed device parenting for
17644                         network devices.
17645
17646 2005-03-31  Dan Williams <dcbw@redhat.com>
17647
17648         Tighten up handling of wireless devices that don't support wireless
17649         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17650         hadn't been doing pseudo-scanning for a while either and would just
17651         spin waiting for an access point.  They are now manual devices where
17652         the user must choose the access point from the menu every time.  All
17653         "allowed" access points are listed in the applet's menu regardless
17654         of whether or not they can be seen by the card, since it can't scan
17655         anyway.
17656
17657         * src/NetworkManager.c
17658                 - (nm_wireless_link_state_handle): new function, but only update
17659                         the "best" ap for non-scanning devices when its not activating,
17660                         and when no device is being forced on the card
17661                 - (nm_link_state_monitor): split wireless link state handling out
17662                         into separate function
17663
17664         * src/NetworkManagerDevice.c
17665                 - (nm_device_copy_allowed_to_dev_list): new function
17666                 - (nm_device_new): populate non-scanning cards' AP lists with
17667                         access points from the "allowed" list
17668                 - (nm_device_new): don't start a scanning timeout for devices that
17669                         can't scan
17670                 - (nm_device_activation_schedule_finish): new parameter, should be
17671                         the AP that failed to be connected to, pass it on to the
17672                         activation finish function in NetworkManagerPolicy.c
17673                 - (nm_device_activate_wireless): don't ever try to get a new AP
17674                         for non-scanning devices, just fail.  The user must choose
17675                         a new access point manually.
17676                 - (nm_device_activate): grab the AP that failed connection and
17677                         pass it on
17678                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17679                         a link to it, user must manually choose a new one
17680                 - (nm_device_do_pseudo_scan): remove function
17681                 - (nm_device_wireless_process_scan_results): remove bits for non-
17682                         scanning cards since they never get here
17683                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17684                         and fake the scan list for test devices a bit earlier
17685
17686         * src/NetworkManagerPolicy.c
17687                 - (nm_policy_activation_finish): use the failed_ap that we get
17688                         passed rather than getting the best_ap from the card, which
17689                         may have changed since we were scheduled
17690                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17691                         update their scan list directly from the allowed list when
17692                         we get updates to the allowed list from NetworkManagerInfo
17693
17694         * src/NetworkManagerPolicy.h
17695                 - New member for failed access point in NMActivationResult
17696
17697   -------------------------------------
17698
17699         Driver Notification patch: notifies the user when their driver
17700                 sucks.  Gives them the option to ignore further insertions
17701                 of the card that has the sucky driver.
17702
17703         * NetworkManager.h
17704                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17705                         enum and replace it with NO_CARRIER_DETECT and
17706                         NO_WIRELESS_SCAN
17707
17708         * panel-applet/NMWirelessApplet.[ch]
17709                 - Merge essid.glade -> wireless-applet.glade
17710                 - Implement the "Your driver sucks" notification dialog
17711
17712         * panel-applet/NMWirelessAppletDbus.c
17713                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17714                 - Grab hardware address for each device from NM too
17715                 - Check whether the driver for each device sucks or not whenever
17716                         a new device is noticed
17717
17718         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17719                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17720
17721         * src/NetworkManager.c
17722                 - Fix a double-unref on device removal
17723
17724         * src/NetworkManagerUtils.c
17725                 - Set appropriate driver support level on a device that doesn't
17726                         support scanning or carrier detection
17727
17728         * src/nm-dbus-device.c
17729                 - New "getHWAddress" dbus method on devices
17730                 - getSupportsCarrierDetect -> getDriverSupportLevel
17731
17732 2005-03-31  Dan Williams <dcbw@redhat.com>
17733
17734         * src/NetworkManagerDevice.c
17735                 - (nm_device_wireless_scan): Fix leak of scan results in some
17736                         instances
17737
17738 2005-03-29  Dan Williams <dcbw@redhat.com>
17739
17740         * src/NetworkManager.c
17741                 - (nm_poll_and_update_wireless_link_state): make code less indented
17742
17743         Patch from Bill Moss:
17744         * src/NetworkManager.c
17745                 - (nm_device_update_link_state): Update signal strength on wireless
17746                         devices every time we update link state too.
17747
17748 2005-03-29  Dan Williams <dcbw@redhat.com>
17749
17750         * src/NetworkManagerDevice.c
17751                 - (nm_device_set_essid): Work around Orinoco cards which need
17752                         extra time after setting the ESSID
17753
17754 2005-03-29  Dan Williams <dcbw@redhat.com>
17755
17756         * src/NetworkManagerDevice.c
17757                 - Merge one more bit of Peter Jones' completion patch
17758
17759 2005-03-29  Dan Williams <dcbw@redhat.com>
17760
17761         * src/NetworkManagerDevice.c
17762                 - (nm_device_force_use): Fix possible segfault
17763
17764 2005-03-29  Dan Williams <dcbw@redhat.com>
17765
17766         * src/NetworkManagerDevice.c
17767                 - Use iw_get_ext() where we should rather than iw_set_ext()
17768
17769 2005-03-29  Dan Williams <dcbw@redhat.com>
17770
17771         * src/NetworkManagerDevice.c
17772                 - (nm_device_set_up_down): remove check for unsupported devices
17773                         that caused NM to not bring devices up when they were
17774                         added to the device list.
17775
17776 2005-03-28  Dan Williams <dcbw@redhat.com>
17777
17778         * src/NetworkManagerDevice.c
17779                 - (mdio_read): Fix two bugs that caused all devices to fail
17780                         the MII carrier detection support checks
17781
17782 2005-03-26  Dan Williams <dcbw@redhat.com>
17783
17784         * src/NetworkManagerDevice.c
17785                 - (nm_device_wireless_scan): Remove duplicated scanning code
17786
17787 2005-03-25  Dan Williams <dcbw@redhat.com>
17788
17789         * panel-applet/NMWirelessApplet.c
17790                 - (nmwa_about_cb): Add some more contributors
17791                 - (nmwa_update_state): show the applet when there's no connection
17792                 - Enable the "Stop/Resume all wireless devices" option in the
17793                         context menu
17794                 - New "no connection" icon
17795
17796         * src/NetworkManager.c
17797                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17798                         wireless is disabled or we're asleep
17799
17800         * src/NetworkManagerDHCP.c
17801                 - Remove trailing "\n" on debug messages
17802
17803         * src/NetworkManagerDbus.c
17804                 - (nm_dbus_network_status_from_data): new state "asleep"
17805
17806         * src/NetworkManagerDevice.c
17807                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17808                         latency and wait times for most operations
17809                 - (nm_device_wireless_scan): Don't scan when asleep
17810
17811         * src/NetworkManagerPolicy.c
17812                 - (nm_policy_get_best_device): return no device when asleep
17813                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17814                         for all wireless devices on update, not just active device
17815
17816         * src/NetworkManagerUtils.c
17817                 - Merge Peter Jones' "completion" patch
17818
17819         * src/nm-dbus-nm.c
17820                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17821                         we're told to disable them
17822                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17823
17824         * utils/nm-utils.h
17825                 - New variants of the warn/info/error/debug print functions that can take
17826                         variables rather than static strings
17827
17828 2005-03-24  Dan Williams <dcbw@redhat.com>
17829
17830         * src/NetworkManagerUtils.c
17831                 - (nm_get_device_driver_name): driver names are now on the parents of
17832                         "Network Interface" objects, so look for them there
17833
17834 2005-03-24  Dan Williams <dcbw@redhat.com>
17835
17836         * test/nmtest.c
17837                 - Escape some forgotten object paths before we shove them through dbus
17838
17839 2005-03-24  Dan Williams <dcbw@redhat.com>
17840
17841         * dhcpcd/dhcpcd.[ch]
17842           src/NetworkManagerDHCP.c
17843                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
17844                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
17845
17846         * src/NetworkManagerDbus.c
17847                 - spacing cleanups
17848
17849         * src/nm-dbus-dhcp.c
17850                 - Make the API suck less.  There is now only 1 type of each function,
17851                         ie only "getInteger" and no longer also "getIntegerv".  All types
17852                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
17853                         that will never have more than 1 element.  This should simplify
17854                         things greatly.
17855
17856         * test/nm-dhcp-opt-test.c
17857                 - Make the tool not segfault
17858                 - adapt to new DHCP Options API
17859
17860 2005-03-22  Dan Williams <dcbw@redhat.com>
17861
17862         * src/NetworkManager.c
17863                 - (nm_wired_link_deactivated): actually ignore netlink events from
17864                         wireless devices.
17865
17866 2005-03-22  Dan Williams <dcbw@redhat.com>
17867
17868         * src/NetworkManager.c
17869                 - (nm_wired_link_activated): actually ignore netlink events from
17870                         wireless devices.
17871
17872 2005-03-17  Dan Williams <dcbw@redhat.com>
17873
17874         Patch from Tom Parker:
17875         * src/nm-netlink-monitor.c
17876                 - Include unistd.h
17877         * info-daemon/NetworkManagerInfoDbus.c
17878                 - (nmi_dbus_update_network_auth_method): free GConf values
17879
17880         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
17881         * src/NetworkManagerDevice.c
17882                 - (nm_device_set_wireless_config): wait for successful
17883                         association longer for some cards (Atheros a/b/g)
17884
17885 2005-03-15  Ray Strode  <rstrode@redhat.com>
17886
17887         * src/NetworkManager.c:
17888         (sigterm_pipe_handler):
17889         remove bogus FIXME
17890
17891 2005-03-15  Ray Strode  <rstrode@redhat.com>
17892
17893         * src/NetworkManagerDbus.c:
17894         Fix some sign weirdness that gcc4 doesn't like,
17895         and add a header file so PPC can hopefully find
17896         SIGTRAP
17897
17898 2005-03-14  Ray Strode  <rstrode@redhat.com>
17899         
17900         Fourth (probably working) cut at porting to
17901         dbus 0.30 api and new hal. This cut adds
17902         some new logging macros to make debugging
17903         easier.
17904
17905         * dispatcher-daemon/NetworkManagerDispatcher.c:
17906         * info-daemon/NetworkmanagerInfo.c:
17907         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
17908         * info-daemon/NetworkManagerInfoVPN.c:
17909         * src/NetworkManager.c:
17910         * src/NetworkManagerAP.c:
17911         * src/NetworkManagerAPList.c:
17912         * src/NetworkManagerDHCP.c:
17913         * src/NetworkManagerDbus.c:
17914         * src/NetworkManagerDevice.c:
17915         * src/NetworkManagerPolicy.c:
17916         * src/NetworkManagerSystem.c:
17917         * src/NetworkManagerUtils.c:
17918         * src/NetworkManagerWireless.c:
17919         * src/autoip.c:
17920         * src/nm-dbus-nm.c:
17921         * src/backends/NetworkManagerDebian.c:
17922         * src/backends/NetworkManagerGentoo.c:
17923         * src/backends/NetworkManagerRedHat.c:
17924         * src/backends/NetworkManagerSlackware.c:
17925         use new logging macros.
17926
17927         * dispatcher-daemon/NetworkManagerDispatcher.c:
17928         (nmd_dbus_filter): s/dbus_free/g_free/
17929
17930         * info-daemon/Makefile.am: link in utils library.
17931         * info-daemon/NetworkmanagerInfo.c: use new logging 
17932         macros.
17933         (nmi_dbus_get_network): don't assume enumerations
17934         are 32-bit.
17935         (nmi_dbus_nmi_message_handler): don't free what 
17936         doesn't belong to us.
17937
17938         * libnm_glib/libnm_glib.c:
17939         (libnm_glib_get_nm_status): 
17940         (libnm_glib_init): don't free what doesn't
17941         belong to us.
17942         (libnm_glib_dbus): strdup result, so it doesn't get
17943         lost when message is unref'd.
17944
17945         * panel-applet/NMWirelessAppletDbus.c:
17946         (nmwa_dbus_update_devices): s/dbus_free/g_free/
17947
17948         * src/NetworkManager.c:
17949         (nm_monitor_wired_link_state): request initial status 
17950         dump of all cards when we start up, instead of relying
17951         on /sys/.../carrier.
17952         (nm_info_handler), (nm_set_up_log_handlers): 
17953         log handlers to specify what syslog priorites 
17954         the logging macros default to.
17955
17956         * src/NetworkManagerAPList.c: 
17957         (nm_ap_list_populate_from_nmi):
17958         s/dbus_free_string_array/g_strfreev/
17959
17960         * src/NetworkManagerDbus.c:
17961         (nm_dbus_get_network_object):
17962         validate d-bus message argument types.
17963         Advance message iterator after reading argument,
17964         prepend instead of append to GSList.
17965
17966         * src/NetworkManagerDevice.c:
17967         (nm_device_probe_wired_link_status):
17968         remove redundant /sys in /sys path. remove wrong
17969         contents == NULL means has carrier assumption.
17970
17971         * src/nm-netlink-monitor.c 
17972         (nm_netlink_monitor_request_status): implement
17973         function to ask kernel to dump interface link
17974         status over netlink socket.
17975
17976         * test/*.c: s/dbus_free/g_free/
17977
17978         * utils/nm-utils.h:
17979         (nm_print_backtrace): new macro to print backtrace.
17980         (nm_get_timestamp): new macro to get sub-second precise
17981         unix timestamp.
17982         (nm_info), (nm_debug), (nm_warning), (nm_error):
17983         new logging functions. nm_info just prints,
17984         nm_debug includes timestamp and function,
17985         nm_warning includes function, nm_error includes
17986         backtrace and sigtrap.
17987
17988 2005-03-11  Ray Strode  <rstrode@redhat.com>
17989
17990         Third (unfinished, partially working) cut at porting to 
17991         dbus 0.30 api and new hal.
17992
17993         * info-daemon/NetworkManagerInfoDbus.c:
17994                 don't free null arrays.
17995
17996         * panel-applet/NMWirelessAppletDbus.c: 
17997         * src/nm-dbus-device.c:
17998         * src/nm-dbus-net.c: 
17999         * src/NetworkManagerDbus.c: more 
18000         STRING -> OBJECT_PATH fun
18001         * src/NetworkManagerDevice.c:
18002         * src/NetworkManagerDevice.h:
18003         (rename nm_device_get_link_active): rename to 
18004         nm_device_has_active_link
18005         (nm_device_wireless_link_active): rename to
18006         nm_device_probe_wireless_link_state
18007         (nm_device_wired_link_active): rename to
18008         nm_device_probe_wired_link_state.  Rewrite to
18009         use carrier file since hal doesn't maintain
18010         link state anymore.
18011         (nm_device_update_link_active): rename to
18012         nm_device_update_link_state
18013         * src/NetworkManagerPolicy.c 
18014           (nm_policy_activation_finish): check for NULL
18015           MAC address.
18016
18017         * src/Makefile.am:
18018         * src/NetworkManagerMain.h: 
18019         * src/NetworkManager.c:
18020         * src/nm-netlink-monitor.c:
18021         * src/nm-netlink-monitor.h: New class to support
18022         monitoring wired ethernet link status, since HAL
18023         doesn't export that information anymore.
18024
18025 2005-03-09  Ray Strode  <rstrode@redhat.com>
18026
18027         Second (unfinished, unworking) cut at porting to 
18028         dbus 0.30 api.
18029
18030         * dispatcher-daemon/NetworkManagerDispatcher.c:
18031         * info-daemon/NetworkManagerInfoDbus.c:
18032         * panel-applet/NMWirelessAppletDbus.c:
18033         * src/NetworkManagerDbusUtils.c:
18034         * src/NetworkManagerDbusUtils.h:
18035         * src/nm-dbus-device.c:
18036         * src/nm-dbus-nm.c:
18037         * test/nmtest.c: support dbus "object path" type
18038
18039         * configure.in: 
18040         * Makefile.am:
18041         * info-daemon/Makefile.am:
18042         * libnm_glib/Makefile.am:
18043         * panel-applet/Makefile.am:
18044         * dispatcher-daemon/Makefile.am
18045         * src/Makefile.am:
18046         * test/Makefile.am:
18047         * utils/Makefile.am: 
18048         * utils/nm-utils.c: 
18049         * utils/nm-utils.h: new utils static lib
18050
18051 2005-03-07  Ray Strode  <rstrode@redhat.com>
18052
18053         * info-daemon/NetworkManagerInfoDbus.c:
18054         * libnm_glib/libnm_glib.c:
18055         * panel-applet/NMWirelessAppletDbus.c:
18056         * src/NetworkManager.c:
18057         * src/NetworkManagerDbus.c:
18058         * src/NetworkManagerDevice.c:
18059         * src/NetworkManagerUtils.c:
18060         * src/nm-dbus-device.c:
18061         * src/nm-dbus-dhcp.c:
18062         * src/nm-dbus-net.c:
18063         * src/nm-dbus-nm.c:
18064         * test/nminfotest.c:
18065         First (unfinished, unworking) cut at porting to dbus 0.30 api.
18066
18067 2005-03-04  Dan Williams  <dcbw@redhat.com>
18068
18069         * configure.in
18070                 - Mark HEAD as 0.4
18071
18072 2005-03-04  Dan Williams  <dcbw@redhat.com>
18073
18074         Patch from Peter Jones:
18075         - Make stuff work with gcc 4.0
18076
18077 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
18078
18079         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
18080
18081 2005-02-27  Jim Huang  <jserv@kaffe.org>
18082
18083         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
18084
18085 2005-02-27  Dan Williams  <dcbw@redhat.com>
18086
18087         Patch from Bill Moss:
18088         * panel-applet/NMWirelessAppletDbus.c
18089                 - Make sure strength for current access point is up-to-date when we
18090                         update the gui data model
18091
18092 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
18093
18094         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
18095
18096 2005-02-27  Dan Williams  <dcbw@redhat.com>
18097
18098         * src/backends/NetworkManagerRedHat.c
18099                 - (nm_system_init): Kill any dhclient processes lying around as well
18100                         as stopping 'nifd' if its already been started.  NetworkManager
18101                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
18102
18103 2005-02-27  Dan Williams  <dcbw@redhat.com>
18104
18105         * panel-applet/NMWirelessApplet.c
18106                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
18107                         dbus data model, not the GUI data model twice.
18108
18109 2005-02-27  Dan Williams  <dcbw@redhat.com>
18110
18111         * panel-applet/NMWirelessApplet.[ch]
18112           panel-applet/NMWirelessAppletDbus.[ch]
18113                 - Move to incremental network updates.  Instead of blowing away our list
18114                         of devices every time we get a signal from NetworkManager, we now
18115                         incrementally add/remove networks when NetworkManager notifies us that
18116                         a new network has appeared or disappered.  Strength updates now happen
18117                         on-the-fly for each access point as well.  There are now two copies of
18118                         data from NetworkManager: one for the dbus side, and one for the gui side.
18119                         When the dbus side data is modified, it is copied over to the gui side
18120                         so we don't have to hold the data_mutex for long periods of time (and
18121                         therefore block animation of the applet's icon).
18122                 - Clean up some memleaks too
18123
18124         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18125                 - Minor code beautification
18126
18127         * src/NetworkManagerAPList.c
18128                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
18129                         completely new and whether or not an existing one's strength was updated.
18130                         Try to fix multiple access points and signal strength by using the highest
18131                         signal strength in each scan for any given ESSID.
18132
18133         * src/NetworkManagerDbus.[ch]
18134                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
18135                         wireless networks; now we have only WirelessNetworkUpdate which includes
18136                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
18137                 - Kill usage of DbusMessageIter
18138
18139         * src/NetworkManagerDevice.c
18140                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
18141                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
18142                         AP rather than all-at-once.  Also don't ever remove the AP a card is
18143                         currently associated with from the network list.
18144                 - Update for new signals during scan, send out Appeared, Disappeared, or
18145                         StrengthChanged when necessary.
18146
18147 2005-02-25  Dan Williams  <dcbw@redhat.com>
18148
18149         * README
18150                 - Line break the README
18151
18152 2005-02-25  Dan Williams  <dcbw@redhat.com>
18153
18154         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18155                 - Remove usage of gtk_window_set_default_size()
18156
18157         * panel-applet/essid.glade
18158                 - Stick default size here
18159                 - Add in random crap that current glade wants to add in now
18160
18161 2005-02-25  Dan Williams  <dcbw@redhat.com>
18162
18163         * src/backends/NetworkManagerRedHat.c
18164                 - For non-caching-nameserver/non-named case, ensure that nscd is running
18165                         and that we actually tell nscd to reload the hosts cache when it changes
18166
18167 2005-02-25  Dan Williams  <dcbw@redhat.com>
18168
18169         * info-daemon/NetworkManagerInfoDbus.c
18170                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
18171
18172         * test/nminfotest.c
18173                 - Whack usage of DbusMessageIter
18174                 - Clean up DbusError and DbusMessage handling and freeing
18175                 - Remove unused unregister handler
18176
18177         * test/nmtest.c
18178                 - Whack usage of DbusMessageIter
18179
18180         * test/nmtestdevices.c
18181                 - Whack usage of DbusMessageIter
18182
18183 2005-02-25  Dan Williams  <dcbw@redhat.com>
18184
18185         * NetworkManager.h
18186                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
18187                         signal
18188
18189 2005-02-25  Dan Williams  <dcbw@redhat.com>
18190
18191         * named/nm-named-manager.c
18192                 - Ensure that pid and watch variables for child named process get cleared out
18193                         when the child goes away.
18194
18195 2005-02-22  Dan Williams  <dcbw@redhat.com>
18196
18197         * src/NetworkManagerPolicy.c
18198                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
18199                         and NULL out data->active_device so that we have to choose another one.
18200                         This may make NetworkManager keep attempting to connect to a wired network
18201                         if it fails, but if it keeps failing the wired network has more problems than
18202                         just NetworkManager.
18203
18204         * src/backends/NetworkManagerRedHat.c
18205                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
18206                         is already running
18207
18208         * named/nm-named-manager.c
18209                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
18210                         named so that the distro can flush whatever name service caching
18211                         daemon it uses
18212
18213 2005-02-21  Dan Williams  <dcbw@redhat.com>
18214
18215         * src/NetworkManagerDHCP.[ch]
18216                 - (nm_device_dhcp_remove_timeouts): new function
18217
18218         * src/NetworkManagerDevice.c
18219                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
18220                         remove the DHCP timeouts.
18221
18222 2005-02-21  Dan Williams  <dcbw@redhat.com>
18223
18224         * panel-applet/NMWirelessApplet.[ch]
18225           panel-applet/menu-info.[ch]
18226                 - Give the panel applet some major love: menu items are no longer
18227                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
18228                         This allows the applet to actually reflect theme changes correctly,
18229                         since themeing of subclassed items in GTK _sucks_.
18230
18231 2005-02-18  Dan Williams  <dcbw@redhat.com>
18232
18233         * libnm_glib/libnm_glib.[ch]
18234           test/libnm_glib_test.c
18235                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
18236                         and its data, and doesn't have to free the callback data anymore
18237
18238 2005-02-18  Dan Williams  <dcbw@redhat.com>
18239
18240         * panel-applet/NMWirelessApplet.c
18241                 - Revert 2005-02-18 William Jon McCann fix for standard
18242                         copyright string until it passes 'make distcheck'.
18243                         With standard copyright string, xgettext complains
18244                         about "Non-ASCII string at ...".
18245
18246 2005-02-18  Dan Williams  <dcbw@redhat.com>
18247
18248         * panel-applet/essid.glade
18249           panel-applet/NMWirelessAppletOtherNetworksDialog.c
18250                 - Correct spelling of "adaptor"->"adapter"
18251
18252 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18253
18254         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
18255         (nmwa_about_cb): Use standard copyright string.  Update comment
18256         text to reflect that it is a notification area applet.  Remove
18257         leading newline in authors list.
18258         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
18259         instead of on parent menu item activation.  Fixes #167550.
18260
18261 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18262
18263         * panel-applet/essid.glade: Capitalize items as per HIG.
18264           Fixes #167632
18265
18266 2005-02-16  William Jon McCann  <mccann@jhu.edu>
18267
18268         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
18269         files for GTK 2.4 or lower, since now public in GTK 2.6.
18270
18271         * panel-applet/essid.glade: Don't specify window size.
18272         
18273 2005-02-17  Dan Williams  <dcbw@redhat.com>
18274
18275         Caught by Bill Moss:
18276         * dhcpcd/client.c
18277                 - Time remaining for DHCP transaction calculation was incorrectly
18278                         inside a #ifdef DEBUG
18279
18280 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
18281
18282         * configure.in: Added fr (French) to ALL_LINGUAS.
18283
18284 2005-02-14  Dan Williams  <dcbw@redhat.com>
18285
18286         * src/NetworkManagerDHCP.c
18287                 - (set_domain_searches): Fix free of invalid pointer
18288
18289 2005-02-14  Dan Williams  <dcbw@redhat.com>
18290
18291         Patch from Peter Jones:
18292         * dhcpcd/client.c
18293                 - Ensure we return RET_DHCP_CEASED everywhere we should
18294         * dhcpcd/udpipgen.c
18295                 - Use faster TOS for IP packets
18296                 - Don't set ip_id since we're UDP
18297
18298         Patch from Tomislav Vujec:
18299         * src/nm-dbus-dhcp.c
18300           test/nm-dhcp-opt-test.c
18301                 - Clean up warnings to enable cvs tree compilation.
18302
18303 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
18304
18305         * configure.in
18306           po/hr.po
18307                 - Add the Croatian locale.
18308
18309 2005-02-14  Colin Walters  <walters@verbum.org>
18310
18311         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
18312         list of domains to search.
18313         
18314         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
18315
18316 2005-02-13  Dan Williams  <dcbw@redhat.com>
18317
18318         * dhcpcd/client.c
18319                 - Debug output cleanups of DHCP option printing and parsing.
18320
18321 2005-02-13  Dan Williams  <dcbw@redhat.com>
18322
18323         Patch from Dan Reed:  DHCP options D-BUS API
18324                 Exposes the DHCP options that a device receives to clients over D-BUS.
18325
18326         * configure.in
18327                 - A few cleanups
18328
18329         * dhcpcd/client.h
18330                 - Correct names, option length, and types for DHCP options
18331
18332         * dhcpcd/dhcpcd.[ch]
18333                 - Clarify function names that access DHCP options & data
18334
18335         * src/NetworkManagerDHCP.c
18336                 - Use new DHCP data access functions
18337
18338         * src/NetworkManagerDbus.c
18339                 - Message handler for DHCP functions
18340
18341         * src/nm-dbus-dhcp.[ch] (new)
18342                 - DHCP dbus methods
18343
18344         * test/nm-dhcp-opt-test.c
18345                 - Test DHCP D-BUS API and return all present DHCP options
18346
18347 2005-02-12  Dan Williams  <dcbw@redhat.com>
18348
18349         * test/Makefile.am
18350           test/nmclienttest.c
18351           test/nmtest.c
18352                 - Move nmclienttest.c -> nmtest.c
18353
18354 2005-02-12  Dan Williams  <dcbw@redhat.com>
18355
18356         * dhcpcd/buildmsg.c
18357                 - Pad DHCP packets until they are at least 300 bytes in size.
18358
18359 2005-02-11  Dan Williams  <dcbw@redhat.com>
18360
18361         * dhcpcd/client.c
18362                 - (dhcp_init): only print out client ID and class ID if they are specified
18363
18364         * src/NetworkManagerDbus.[ch]
18365           src/nm-dbus-nm.[ch]
18366           src/nm-dbus-device.[ch]
18367           src/nm-dbus-net.[ch]
18368                 - Move NM, Device, and Net functions to separate files and use the
18369                         dbus method list stuff in NetworkManagerDbusUtils.c to do
18370                         method dispatching
18371
18372         * src/NetworkManagerDbusUtils.c
18373                 - Add new validate_method called before each dispatch (if present)
18374                         that can validate the method call
18375
18376         * src/NetworkManagerWireless.c
18377                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
18378                         levels never to be evaluated
18379
18380         Patch from j@bootlab.org
18381         * src/NetworkManagerDevice.c
18382                 - Add typedef for "u64"
18383
18384         * src/backends/NetworkManagerDebian.c
18385                 - Copy in Dave Woodhouse's fixes for IPv6
18386
18387 2005-02-11  Dan Williams  <dcbw@redhat.com>
18388
18389         Patch from Dave Woodhouse for IPv6:
18390         * src/NetworkManagerUtils.c
18391                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
18392                         and multicast addresses
18393
18394         * src/NetworkManagerDevice.c
18395                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
18396                         after bringing up a card.
18397
18398 2005-02-10  Dan Williams  <dcbw@redhat.com>
18399
18400         Patch from Dave Woodhouse:
18401         * src/NetworkManagerSystem.h
18402           src/backends/NetworkManagerDebian.c
18403           src/backends/NetworkManagerGentoo.c
18404           src/backends/NetworkManagerSlackware.c
18405                 - New nm_system_device_add_ip6_link_address() function to add link-local
18406                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
18407
18408         * src/backends/NetworkManagerRedHat.c
18409                 - (nm_system_device_add_ip6_link_address): implement
18410                 - (nm_system_device_flush_addresses): revert to previous behavior of
18411                         flushing all addresses
18412
18413 2005-02-10  Dan Williams  <dcbw@redhat.com>
18414
18415         Patch from Tom Parker:
18416         * src/NetworkManagerDevice.c
18417                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
18418                         mii.h headers are broken, and instead use our own typedefs
18419
18420 2005-02-10  Dan Williams  <dcbw@redhat.com>
18421
18422         * dhcpcd/buildmsg.c
18423                 - (fill_host_and_class_id): only fill in client and class IDs if
18424                         they are set by callers.
18425
18426         * dhcpcd/client.c
18427                 - (class_id_setup): don't autogenerate a class ID, only use one
18428                         we're given, if any.
18429                 - (client_id_setup): don't autogenerate a client ID, only use one
18430                         we're given, if any.
18431
18432         * dhcpcd/dhcpcd.c
18433                 - (dhcp_interface_init): ensure that client options are correctly
18434                         NULL terminated
18435
18436         * src/NetworkManagerDHCP.c
18437                 - (nm_device_dhcp_request): pass hostname to dhcp library
18438
18439 2005-02-10  Dan Williams  <dcbw@redhat.com>
18440
18441         * dhcpcd/client.c
18442                 - #rh147661# Don't send kernel version in DHCP requests
18443
18444         * src/NetworkManagerSystem.h
18445           src/backends/NetworkManagerDebian.c
18446           src/backends/NetworkManagerGentoo.c
18447           src/backends/NetworkManagerRedHat.c
18448           src/backends/NetworkManagerSlackware.c
18449                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
18450                         functions, they are no longer used anyway
18451
18452         * src/backends/NetworkManagerRedHat.c
18453                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
18454                         addresses in an attempt to keep IPv6 local-scope addresses around
18455
18456 2005-02-10  Dan Williams  <dcbw@redhat.com>
18457
18458         * src/NetworkManager.c
18459                 - (nm_create_device_and_add_to_list): change the add message slightly
18460
18461         * src/NetworkManagerUtils.c
18462                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
18463                         Return driver name to calling function
18464                 - (nm_get_driver_support_level): print out the driver a device is using
18465                         during the support check
18466
18467         Patch from Dave Woodhouse:
18468         * dhcpcd/udpipgen.c
18469                 - (in_cksum): copy last byte of odd-sized packets into a
18470                         'u_short' rather than a 'u_char', should fix wrong checksums
18471                         on big-endian platforms
18472
18473 2005-02-09  Dan Williams  <dcbw@redhat.com>
18474
18475         * Clean up usage of GSList objects and looping through their members
18476         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
18477                 now.
18478         * Fix problem where even if scanning was turned off, card would still
18479                 cycle through frequencies.
18480
18481 2005-02-08  Dan Williams  <dcbw@redhat.com>
18482
18483         * panel-applet/NMWirelessApplet.c
18484                 - Fix for gtk 2.4
18485
18486 2005-02-08  Dan Williams  <dcbw@redhat.com>
18487
18488         Patch from Bill Moss
18489         * panel-applet/NMWirelessApplet.c
18490                 - Restore correct ESSID in tooltips
18491
18492 2005-02-07  Dan Williams  <dcbw@redhat.com>
18493
18494         * panel-applet/NMWirelessApplet.[ch]
18495                 - Add a context menu that contains:
18496                         Pause/Resume Wireless Scanning
18497                         Stop/Start All Wireless Devices
18498                         About...
18499                 - Grab active device strength off active device,
18500                         not its network
18501
18502         * panel-applet/NMWirelessAppletDbus.[ch]
18503                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
18504                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
18505                 - Update active device strength every 2 seconds, not every 1 second
18506
18507         * panel-applet/menu-info.c
18508                 - Only disable wired devices in the menu when they support carrier detection,
18509                         and don't currently have a link.  Non-carrier-detect devices will always
18510                         remain choosable
18511
18512         * src/Makefile.am
18513           src/NetworkManagerDbusUtils.[ch]
18514                 - Add new new dbus utils sources
18515
18516         * src/NetworkManager.c
18517                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
18518                         with the boolean parameter
18519                 - Set scanning_enabled & wireless_enabled to TRUE
18520
18521         * src/NetworkManagerDbus.c
18522                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
18523                 - Implement scanning & wireless enable/disable calls
18524                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
18525
18526         * src/NetworkManagerDevice.c
18527                 - New link detection stuff again...
18528                         o  Create device's mainloop earlier (but don't run it earlier)
18529                         o  Hook up new carrier-detect support stuff
18530                         o  Add in the ethtool & mii support detection code
18531                 - Don't scan if scanning is disabled
18532
18533         * src/NetworkManagerPolicy.c
18534                 - Never automatically choose a device that doesn't support carrier detection
18535                 - Don't automatically choose a wireless device if wireless is disabled
18536
18537 2005-02-07  Dan Williams  <dcbw@redhat.com>
18538
18539         * libnm_glib/libnm_glib.c
18540                 - Small cleanup in element list iteration
18541
18542 2005-02-07  Dan Williams  <dcbw@redhat.com>
18543
18544         * src/NetworkManagerWireless.c
18545                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
18546                         to be in line with the WEXT quality specification
18547
18548 2005-02-02  Dan Williams  <dcbw@redhat.com>
18549
18550         Patch from Nathan Fredrickson <nathan@silverorange.com>
18551         * Fix up compile for deprecation of libgnomeui
18552                 - Switch to <glib/gi18n.h> from <libintl.h>
18553                 - Remove <libgnomeui/libgnomeui.h> includes
18554                 - Use gtk_window_set_default_icon_from_file() rather than
18555                         gnome_window_set_default_icon_from_file()
18556
18557         * named/nm-named-manager.c
18558                 - (generate_named_conf): Fix return-nothing in non-void
18559                         function
18560
18561 2005-02-02  Dan Williams  <dcbw@redhat.com>
18562
18563         * Clean up unused variables and the like
18564
18565 2005-02-02  Dan Williams  <dcbw@redhat.com>
18566
18567         * src/NetworkManagerAPList.c
18568                 - (nm_ap_list_merge_scanned_ap): merge strength too
18569
18570         * src/NetworkManagerUtils.c
18571                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
18572                         of locking issues by printing out prettier information than g_mutex_lock
18573                 - Print out names of mutexes registered with nm_register_mutex_desc()
18574                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
18575                         us to seemingly block here for too long
18576
18577         * src/NetworkManager.c
18578           src/NetworkManagerAPList.c
18579           src/NetworkManagerDevice.c
18580                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
18581                         so we get better debug information printed
18582
18583         * src/NetworkManagerDbus.c
18584                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
18585                         since it sometimes has locking side effects
18586                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
18587                         from 10s
18588                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
18589                         we don't need a switch.  This gets called often enough that we can't block
18590                         until the scan mutex is acquired, because we'll block on device activation
18591                         and a few other things, which hangs main thread for too long.
18592
18593         * src/NetworkManagerPolicy.c
18594                 - (nm_policy_auto_get_best_device): reduce the possiblity that
18595                         nm_device_need_ap_switch() will be called               
18596
18597 2005-02-02  Dan Williams  <dcbw@redhat.com>
18598
18599         * panel-applet/NMWirelessApplet.c
18600                 - Display name of wireless network we are connecting to or connected to
18601                         in the tooltip of the applet
18602
18603 2005-02-02  Dan Williams  <dcbw@redhat.com>
18604
18605         * src/NetworkManagerDHCP.c
18606                 - Hopefully fix double-default-route problem by cleaning up the default
18607                         route added by DHCP code right before the DHCP transaction begins
18608
18609 2005-02-02  Dan Williams  <dcbw@redhat.com>
18610
18611         * named/nm-named-manager.c
18612                 - Write out valid resolv.conf when we exit
18613
18614 2005-02-01  Dan Williams  <dcbw@redhat.com>
18615
18616         Patch from Colin Walters:
18617         * named/nm-named-manager.c
18618                 - Make multi-domain search options work
18619
18620 2005-01-31  Dan Williams  <dcbw@redhat.com>
18621
18622         * info-daemon/NetworkManagerInfoDbus.c
18623                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
18624
18625         * src/NetworkManagerDevice.c
18626                 - (nm_device_new): Don't store the entire range struct, use only what we need
18627                         (which is currently avg_quality, max_quality, and frequencies).  Also
18628                         zero device structure when we've free'd it to maybe expose errors down
18629                         the line.
18630                 - (nm_device_update_signal_strength): grab the scan mutex before getting
18631                         quality data from the card since quality will be useless during a scan.
18632                         Call updated wireless qual-to-percent function with values stored in
18633                         nm_device_new() earlier.
18634                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18635                         nm_device_get_bad_crypt_packets())
18636                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18637                         nm_device_new()
18638                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18639                         list if available.  Problem was this: when the WEP key is wrong, NM will
18640                         try OS then SK modes, and then get stuck in SK mode after that.  This
18641                         should reset it.
18642                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18643                         function
18644
18645         * src/NetworkManagerWireless.c
18646                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18647                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18648                         if that's all present, otherwise fall back to signal-to-noise ratios.
18649
18650 2005-01-29  Dan Williams  <dcbw@redhat.com>
18651
18652         * initscript/RedHat/NetworkManager
18653                 - Don't spit out sysctl stuff to console
18654
18655         * libnm_glib/libnm_glib.c
18656                 - (libnm_glib_init): call dbus_g_thread_init()
18657
18658         * panel-applet/NMWirelessAppletDbus.c
18659                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18660
18661         * src/NetworkManager.c
18662                 - (main): call dbus_g_thread_init()
18663
18664         * src/NetworkManagerAPList.c
18665                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18666                         so we can actually see what's there in a normal syslog
18667
18668         * src/NetworkManagerDevice.c
18669                 - (nm_device_activate_wireless): print out the "waiting for access point"
18670                         message only once, then say what access point we actually got after
18671                         the wait.
18672                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18673                         function, wait until the scan is done.  Scans may change the ESSID of
18674                         the card, making this function think we need to switch access points
18675                 - (nm_device_wireless_process_scan_results): for artificial access points
18676                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18677                         prevents collisions with the scanning code, which may change the card's
18678                         ESSID and cause the access point to get dropped from the device's AP
18679                         list.  Also increase the keep-around time to 2m from 60s since the max
18680                         scan interval could be 60s in some cases.
18681
18682         * src/NetworkManagerPolicy.c
18683                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18684                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18685                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18686                         between NM and NMI.
18687
18688 2005-01-27  Dan Williams  <dcbw@redhat.com>
18689
18690         * info-daemon/NetworkManagerInfoDbus.c
18691                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18692                         GConf, make a minimal entry for it (essid & timestamp)
18693
18694         * src/NetworkManagerAPList.c
18695                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18696                         NetworkManagerInfo isn't running
18697
18698         * src/NetworkManagerDbus.[ch]
18699                 - (nm_dbus_nmi_is_running): new function
18700
18701         * src/NetworkManagerDevice.c
18702                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18703                         address to garbage.
18704
18705         * src/NetworkManagerPolicy.c
18706                 - (nm_policy_activation_finish): On successful activation, make sure
18707                         the "best" AP has a MAC address, and don't tell NMI to add the
18708                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18709                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18710                         access point after refreshing our allowed list if it doesn't already
18711                         have a "best" access point.
18712
18713 2005-01-25  Dan Williams  <dcbw@redhat.com>
18714
18715         * panel-applet/NMWirelessAppletDbus.c
18716                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18717                         so we check for NM_DBUS_SERVICE rather than not for it
18718
18719         * libnm_glib/libnm_glib.c
18720                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18721                         ServiceOwnerChanged signal
18722
18723 2005-01-25  Dan Williams  <dcbw@redhat.com>
18724
18725         * configure.in
18726                 - Check DBUS version in configure, and set the C macros
18727                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18728
18729         * info-daemon/NetworkManagerInfoDbus.c
18730                 - Remove #if 0-d section of code that quit NMI if NM went away.
18731
18732         * panel-applet/NMWirelessAppletDbus.c
18733                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18734
18735         * src/NetworkManager.c
18736           src/NetworkManagerMain.h
18737           src/NetworkManagerDbus.c
18738                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18739                 - Make updating of our Allowed Wireless Network lists from NMI
18740                         an idle function in the main thread now, with a high priority.
18741
18742 2005-01-24  Dan Williams  <dcbw@redhat.com>
18743
18744         * panel-applet/gtkcellview.[ch]
18745           panel-applet/menu-info.c
18746                 - Fix GTK version checks to be <= rather than <
18747
18748         * test/Makefile.am
18749                 - Include the libtool archive of libnm_glib rather than
18750                         trying to pull in the .so
18751
18752 2005-01-24  Dan Williams  <dcbw@redhat.com>
18753
18754         * src/NetworkManagerDevice.c
18755           src/NetworkManagerDevicePrivate.h
18756                 - Block nm_device_new() until our device's worker thread has had a
18757                         chance to start up.  Fixes a race between main thread and worker
18758                         thread starting that caused activation requests to get lost.
18759
18760 2005-01-24  Dan Williams  <dcbw@redhat.com>
18761
18762         * initscript/RedHat/NetworkManager
18763                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18764                         to add the NM startup script at priority 50, which was
18765                         way too early
18766
18767 2005-01-24  Colin Walters  <walters@redhat.com>
18768
18769         * named/named.conf: Use any port for query source instead of
18770         restricting to port 53.
18771
18772 2005-01-24  Dan Williams  <dcbw@redhat.com>
18773
18774         * initscript/RedHat/NetworkManager
18775                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18776                         to add the NM startup script at priority 50, which was
18777                         way too early
18778
18779 2005-01-24  Dan Williams  <dcbw@redhat.com>
18780
18781         Patch from Tom Parker <palfrey@tevp.net>
18782         * Fix up compile warnings & errors in the wireless applet
18783
18784 2005-01-24  Dan Williams  <dcbw@redhat.com>
18785
18786         * panel-applet/NMWirelessApplet.c
18787                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18788
18789 2005-01-24  Dan Williams  <dcbw@redhat.com>
18790
18791         * panel-applet/gtkcellview.[ch]
18792                 - Only compile these files for GTK 2.4 or lower, since 
18793                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18794                         when choosing "Other Wireless Networks" from the panel
18795                         applet menu
18796
18797 2005-01-21  Dan Williams  <dcbw@redhat.com>
18798
18799         * src/NetworkManager.c
18800                 - Daemonize earlier so that glib doesn't get confused (?)
18801
18802 2005-01-21  Dan Williams  <dcbw@redhat.com>
18803
18804         * panel-applet/NMWirelessApplet.[ch]
18805           panel-applet/NMWirelessAppletDbus.c
18806           panel-applet/menu-info.c
18807           src/NetworkManagerDevice.c
18808                 - Disable wired devices in the menu when they have no link.
18809
18810 2005-01-21  Dan Williams  <dcbw@redhat.com>
18811
18812         * Cache last-known-good wireless authentication method in
18813                 NetworkManagerInfo, and use that method first during
18814                 wireless device activation.  Should speed up devices that
18815                 need Shared Key authentication method since Open System is
18816                 now the default.
18817
18818         * Remove the hack to not do full activation on wired connections
18819                 that are active when we launch, it causes too many problems
18820                 with name resolution and was a hack in the first place.
18821
18822         * Re-work wireless device activation again somewhat to have a
18823                 clearer chain of events and to use last-known-good
18824                 authentication method of the access point.  Also provide
18825                 better status throughout activation to ensure the applet
18826                 can tell the user exactly what's going on.
18827
18828         * Remove the "find wireless network" code and now simply attempt
18829                 to activate with that access point.  This reduces the delay
18830                 between selecting "Other wireless Network" and actually
18831                 connecting to that network.
18832
18833         * Correctly stop the device's worker thread when its removed.
18834
18835 2005-01-21  Dan Williams  <dcbw@redhat.com>
18836
18837         * dhcpcd/client.c
18838                 - Clean up some of the debug messages
18839
18840 2005-01-21  Dan Williams  <dcbw@redhat.com>
18841
18842         * Add new icons, more frames of animation
18843         * Remove some hacks to get the panel applet to display correct
18844                 status, an NM update will soon follow that will fix the
18845                 real issue.
18846
18847 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
18848
18849         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
18850         the first include for working i18n. Also, don't include it in .h files
18851         * panel-applet/NMWirelessApplet.h: Same
18852         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
18853         * panel-applet/menu-info.c: Same
18854
18855 2005-01-18  Dan Williams <dcbw@redhat.com>
18856
18857         * dhcpcd/client.c
18858                 - Remove some debug messages
18859                 - Wrap others in #ifdef DEBUG/#endif
18860
18861         * src/NetworkManager.c
18862                 - Remove some debug messages
18863                 - Clarify some debug messages
18864                 - Remove code related to old single-thread wireless scanning
18865
18866         * src/NetworkManagerAP.[ch]
18867                 - New AP property "last_seen" to track how recently an AP was
18868                         found in a scan
18869                 - Start using 'const' more in function arguments
18870
18871         * src/NetworkManagerAPList.[ch]
18872                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
18873                         of an AP found in an AP list from a source AP, or if not found
18874                         in the list add the source AP
18875                 - (nm_ap_list_combine): remove, no longer needed
18876
18877         * src/NetworkManagerDevice.c
18878                 - Each device now has a "worker" thread from start to end of its life.
18879                         Scanning for wireless devices now happens in that thread,
18880                         not in a single "wireless scanning thread" for all devices as
18881                         previously.  Activation consists of adding an idle handler to the
18882                         thread's main loop/context, which gets run at the next available
18883                         opportunity.
18884                 - Wireless scanning is also simplified, there is now only one list of
18885                         access points per wireless device, and APs older than 60s are
18886                         removed from the list.  Previously, we kept results for the last
18887                         3 scans and merged whole lists, which was complicated.
18888                 - Cleaned up activation debug messages.
18889                 - Wireless activation and access-point search routines now use Open System
18890                         authentication before trying Shared Key.
18891                 - Removed some code in nm_device_update_best_ap() that could cause cards
18892                         to loose their link to the access point.
18893                 - Scanning now uses a backoff algorithm, where the inverval becomes
18894                         progressively longer between scans when the list of scanned access
18895                         points doesn't change.  A change will revert to the shortest scan
18896                         interval (20s).
18897
18898         * src/NetworkManagerWireless.[ch]
18899                 - Remove code related to old single-thread wireless scanning
18900
18901 2005-01-18  Colin Walters  <walters@redhat.com>
18902
18903         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
18904         of older nameservers.
18905
18906 2005-01-18  Colin Walters  <walters@redhat.com>
18907
18908         * named/nm-named-manager.c (generate_named_conf): Many fixes
18909         to config file generation.
18910         (safer_kill): Remove, was too much trouble for little gain.
18911         (nm_named_manager_start): Run named as NM_NAMED_USER.
18912
18913         * configure.in: Add option --with-named-user.
18914
18915 2005-01-14  Colin Walters  <walters@redhat.com>
18916
18917         Patch from ed@catmur.co.uk (Ed Catmur)
18918
18919         * named/nm-named-manager.c: Add "context" property.
18920         Use it to add child watch source in specific GMainContext.
18921
18922         * src/NetworkManager.c (nm_data_new): Initialize
18923         named with correct main context.  Start named only
18924         after forking.
18925
18926 2005-01-14  Colin Walters  <walters@redhat.com>
18927
18928         * named/nm-named-manager.c (generate_named_conf): Write config
18929         and pid files into NM_NAMED_DATA_DIR; this allows things to
18930         work better with FC3 named SELinux policy.  Also fix up silly
18931         format error.
18932
18933         * configure.in: Add --with-named-dir option.
18934
18935 2005-01-14  Colin Walters  <walters@redhat.com>
18936
18937         * configure.in: Make named support require passing --with-named.
18938
18939         * named/nm-named-manager.c: Support writing resolv.conf directly
18940         without running named.
18941
18942 2005-01-13  Dan Williams <dcbw@redhat.com>
18943
18944         * named/nm-named-manager.c
18945                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
18946
18947         * src/NetworkManagerDevice.c
18948                 - Rework wireless link detection code to be more reliable
18949
18950 2005-01-12  Dan Williams <dcbw@redhat.com>
18951
18952         * initscripts/RedHat/NetworkManager
18953                 - Change initial level to "-" rather than "345" so that
18954                         we don't activate ourselves by default on install
18955
18956 2005-01-12  Dan Williams <dcbw@redhat.com>
18957
18958         * libnm_glib/
18959                 - Client library for applications using glib
18960
18961         * configure.in
18962           various Makefiles
18963                 - Split NM_CFLAGS and NM_LIBS into separate variables
18964                         like DBUS_*, HAL_* and GLIB_*
18965
18966         * src/NetworkManager.c
18967           src/NetworkManagerMain.h
18968                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
18969                         broadcast a status changed signal over DBUS from the main thread.
18970                         Still unused anywhere for the moment.
18971
18972         Patch from j@bootlab.org
18973         * panel_applet/NMWirelessAppletDbus.c
18974           src/NetworkManagerDbus.c
18975                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
18976                         for the "getMode" method call
18977
18978 2005-01-10  Dan Williams <dcbw@redhat.com>
18979
18980         * src/NetworkManagerDevice.c
18981                 - Minor fixups & corrections to "auto" frequency mode, make it
18982                         less chatty with syslog
18983
18984 2005-01-10  Dan Williams <dcbw@redhat.com>
18985
18986         * src/NetworkManagerDevice.c
18987                 - Implement "auto" frequency/channel support, since cards like Atheros
18988                         can't use other frequencies at all when you've told it to use a
18989                         specific one, even for scanning.
18990                 - Grab the scan mutex around places where we can't tolerate wireless
18991                         settings changing underneath us, like nm_device_wireless_network_exists()
18992                         and nm_device_activate_wireless()
18993
18994         * src/NetworkManagerWireless.c
18995                 - Back scan interval off to 20s instead of 14s
18996
18997 2005-01-09  Dan Williams <dcbw@redhat.com>
18998
18999         * src/NetworkManagerDevice.c
19000                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
19001                         already set.  Stops some drivers like Atmel from continually
19002                         reloading the firmware, which they do upon every configuration
19003                         change.
19004
19005 2005-01-09  Dan Williams <dcbw@redhat.com>
19006
19007         * dhcpcd/client.c
19008                 - Use correct timeout value
19009
19010         * info-daemon/NetworkManagerInfoDbus.c
19011           src/NetworkManagerDbus.c
19012                 - Consolidate communication between NM and NMI by doing only 1 dbus
19013                         method call to get Wireless Network info from NMI instead of 6
19014
19015         * src/NetworkManager.c
19016                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
19017                         when we didn't have an AP to use, we'd wait for one forever without
19018                         quitting
19019
19020         * src/NetworkManagerDevice.c
19021                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
19022                         activation, dhcp might not have started yet but we don't quit activation
19023                         before starting it, so the quit signal gets lost
19024
19025 2005-01-07  Dan Williams <dcbw@redhat.com>
19026
19027         * dhcpcd/client.c
19028                 - Rework the DHCP client code to be much less chatty when
19029                         it receives non-DHCP UDP packets during the DHCP run
19030                         (reported by and preliminary patches from Bill Moss)
19031
19032         * Move wireless scanning to a separate thread.  This thread forwards the
19033                 results to the main thread when done where they are integrated into
19034                 the device's access point lists.  This keeps the main thread (which
19035                 does all the DBUS communication) from being blocked for long periods
19036                 of time by wireless scanning.
19037
19038         * Make state modification an idle routine in the main loop, and trigger
19039                 state changes rather than polling for them.
19040
19041         * src/backends/NetworkManagerGentoo.c
19042                 - Fix up invalid C90 code (reported by Christoph Ruessler)
19043
19044         * src/NetworkManagerDevice.c
19045                 - Revert IPv6 patch for wired devices from 2004-12-22 for
19046                         router advertisements, causing problems and infinite loop
19047                         during "best" device determination due to link going up/down
19048                         (reported by Bill Moss)
19049
19050         Apply patch from Peter Jones
19051         * src/NetworkManagerDevice.c
19052                 - Shortcut for link-checking for ipw2x00 cards
19053                 - Split out association check into separate routine
19054
19055 2004-01-05  Colin Walters  <walters@redhat.com>
19056
19057         * named/named.conf: Add PID_FILE.
19058
19059         * named/nm-named-manager.c: Always generate a pid
19060         file, since older BIND versions don't support
19061         "pid-file none".
19062
19063 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
19064
19065         * configure.in (ALL_LINGUAS): Added ja (Japanese).
19066
19067 2004-12-22  Dan Williams <dcbw@redhat.com>
19068
19069         * src/NetworkManagerDevice.c
19070                 - Silently fail when setting bitrate doesn't work
19071
19072
19073         Patches from j@bootlab.org:
19074         * src/backends/NetworkManagerDebian
19075                 - Update backend to match functionality in RedHat backend
19076         * src/NetworkManagerDevice.c
19077                 - Take down then bring up wired devices after connection so
19078                 they send out ipv6 router advertisements
19079
19080 2004-12-21  Colin Walters  <walters@verbum.org>
19081
19082         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
19083         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
19084
19085 2004-12-21  Colin Walters  <walters@redhat.com>
19086
19087         * configure.in: Correct named detection.
19088
19089 2004-12-21  Colin Walters  <walters@redhat.com>
19090
19091         * src/NetworkManager.c (nm_data_new): Initialize named.
19092         Also, set up a signal handler for SIGINT/SIGTERM, and exit
19093         the mainloop when these signals are received.
19094         (nm_data_free): Unref named.
19095         (sigterm_handler, sigterm_pipe_handler): New functions for
19096         exiting mainloop.
19097         
19098         * src/NetworkManagerMain.h (NMData): Add signal handling and
19099         nameserver bits.
19100
19101         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
19102         unref.
19103
19104         * src/NetworkManagerDHCP.c (set_nameservers): New function;
19105         set nameservers from DHCP response data.
19106         (set_domain_search): Set domain search from DHCP response.
19107         (nm_device_dhcp_configure): Invoke them.
19108
19109         * src/NetworkManagerSystem.c
19110         (nm_system_device_update_resolv_conf): Delete.  Deleting
19111         code is totally sweet.
19112
19113         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
19114
19115         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
19116         implements an object which controls a nameserver.  Currently
19117         uses bind 9.
19118
19119         * configure.in: Check for named.
19120
19121         * Makefile.am (SUBDIRS): Add named dir.
19122
19123         * named/named.conf: New template config file.
19124
19125 2004-12-20  Colin Walters  <walters@redhat.com>
19126
19127         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
19128         instead of '='.
19129
19130 2004-12-17  Dan Williams  <dcbw@redhat.com>
19131
19132         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
19133                 link-local addresses instead of doing DHCP.
19134
19135         * In the panel applet, there's a new "Create new Wireless Network..." item
19136
19137         * The panel applet also sticks around now even if NetworkManager dies, but
19138                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
19139                 a bug, I'll fix that later.
19140
19141         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
19142                 lookups after a switch rather than actually doing them.
19143
19144         * Clean up some of those warnings in nm_ap_list_* functions
19145
19146         * Delay between scans changed to 15s instead of 10s
19147
19148 2004-12-15  Dan Williams  <dcbw@redhat.com>
19149
19150         Patch from Tom Parker
19151         * Add autoip/Link Local Addressing support when we fail to get a DHCP
19152                 address
19153
19154         * Longer pause after setting ESSID on cards that support a larger number
19155                 of channels to give the card time to find the right channel
19156
19157         * Add system hook to restart mDNSResponder (or whatever the local implementation
19158                 of Multicast DNS is) when we activate interfaces
19159
19160 2004-12-15  Dan Williams  <dcbw@redhat.com>
19161
19162         * Rework the DHCP code again to revert to sending full ethernet frames
19163                 rather then relying on the kernel to do the right thing with our
19164                 packets.
19165
19166 2004-12-06  Dan Williams  <dcbw@redhat.com>
19167
19168         * dhcpcd/client.c
19169                 - Fix some minor errors in dhcp_handle_transaction() that caused
19170                         unexpected early timeouts of DHCP transactions
19171
19172         * dhcpcd/client.h
19173                 - DHCP retransmit time from 4s -> 5s
19174
19175 2004-12-05  Dan Williams  <dcbw@redhat.com>
19176
19177         * Major rework of the DHCP code, taking some cues from pump.  We don't
19178                 write raw Ethernet packets anymore, which simplifies the code quite
19179                 a bit.  The new code should be more robust, not hang in recvfrom()
19180                 as much, and generally work better.  This also means that we need
19181                 to force HAL/dbus to use a created GMainContext rather than the
19182                 default context, since having the DHCP renew/rebind thread using
19183                 its own GMainContext seemed to give dbus a fit.  There is also more
19184                 debugging information printed from the DHCP loop to help with future
19185                 problems.
19186
19187         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
19188                 assume that the default gateway should be the DHCP server.
19189
19190         Patch from Matthew Schick <matt oss-institute org>
19191         * src/backends/NetworkManagerGentoo.c
19192                 - Fix compilation error due to missing "ip4_broadcast"
19193
19194 2004-12-03  Dan Williams  <dcbw@redhat.com>
19195
19196         * initscript/Makefile.am
19197         * initscript/Debian/NetworkManager
19198         * initscript/Gentoo/NetworkManager
19199         * initscript/RedHat/NetworkManager
19200         * initscript/NMLaunchHelper.c
19201                 - Remove NMLaunchHelper, if you need to wait until the network
19202                         comes up, use the dead code from CVS.
19203
19204 2004-12-01  Colin Walters  <walters@redhat.com>
19205         
19206         * configure.in: Suck in gcc warnings code from Rhythmbox,
19207         but use fewer default flags, and in particular add -Wno-unused,
19208         since the codebase has a lot of unused variables.
19209
19210         * test/nmtestdevices.c (create_device): 
19211         * test/nminfotest.c (get_network_string_property) 
19212         (get_networks_of_type): 
19213         * test/nmclienttest.c (main): 
19214         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
19215         * initscript/NMLaunchHelper.c (get_nm_status): 
19216         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
19217         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
19218         Fix declarations after statements.
19219
19220 2004-12-01  Colin Walters  <walters@redhat.com>
19221
19222         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
19223         (nmi_dbus_get_vpn_userpass): New method.
19224         (nmi_dbus_nmi_message_handler): Invoke it.
19225
19226         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
19227
19228         * info-daemon/NetworkManagerInfoVPN.h,
19229         info-daemon/NetworkManagerInfoVPN.c: New files; responds
19230         to requests for VPN passwords.
19231
19232         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
19233
19234 2004-12-01  Colin Walters  <walters@redhat.com>
19235
19236         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
19237         includes.
19238
19239 2004-12-01  Colin Walters  <walters@redhat.com>
19240
19241         * panel-applet/NMWirelessAppletDbus.c
19242         (nmwa_dbus_update_active_device_strength): Fix missing
19243         return value.
19244
19245 2004-12-01  Colin Walters  <walters@redhat.com>
19246
19247         * panel-applet/NMWirelessApplet.c: Add missing include.
19248
19249 2004-12-01  Colin Walters  <walters@redhat.com>
19250
19251         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
19252         Remove useless CLAMP (); the value is unsigned, and the case tests
19253         qual->qual < 100, so the value must always be between 0 and 100.
19254
19255 2004-12-01  Colin Walters  <walters@redhat.com>
19256
19257         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
19258
19259 2004-11-22  Colin Walters  <walters@verbum.org>
19260
19261         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
19262         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
19263         which is essentially a noop since nscd caches hosts on disk too.
19264         
19265 2004-11-22  Colin Walters  <walters@redhat.com>
19266
19267         * src/Makefile.am (NetworkManager_SOURCES): Add
19268         NetworkManagerDevicePrivate.h.
19269
19270 2004-11-22  Dan Williams <dcbw@redhat.com>
19271
19272         * src/NetworkManagerDevicePrivate.h
19273                 - Split out the NMDevice struct to a different file so that stuff like
19274                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
19275
19276         * dhcpcd/client.c
19277                 - fprintf->syslog
19278                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
19279                         need to cancel the dhcp request during the send and recv
19280
19281         * dhcpcd/client.h
19282                 - Move the DHCP option enum to dhcpcd.h
19283
19284         * src/NetworkManagerDHCP.c
19285                 - Split out the actual IP/netmask/etc setting code
19286                 - New Renew/Rebind functions
19287                 - New timer setup function for renew/rebind operations
19288
19289         * src/NetworkManagerDevice.c
19290                 - For device activation, if we are using DHCP then keep the activation thread
19291                         alive until device deactivation.  We need to renew/rebind the DHCP address
19292                         after the T1 (renew) and T2 (rebind) times have expired.
19293                 - Increase some timeouts after bringing wireless cards up/down
19294
19295 2004-11-17  Dan Williams <dcbw@redhat.com>
19296
19297         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
19298                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
19299                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
19300                 show known access points that don't broadcast their ESSID in the menus without
19301                 any user intervention whatsoever.
19302
19303         * info-daemon/NetworkManagerInfoDbus.c
19304                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
19305                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
19306
19307         * src/NetworkManagerAP.[ch]
19308                 - Add a "user_addresses" data member to the NMAccessPoint structure
19309                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
19310                         the user_addresses data member
19311
19312         * src/NetworkManagerAPList.c
19313                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
19314                         the AP's reported address
19315                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
19316
19317         * src/NetworkManagerDHCP.c
19318                 - Increase DHCP timeout from 25s -> 30s
19319
19320         * src/NetworkManagerDbus.[ch]
19321                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
19322                         user addresses
19323
19324         * src/NetworkManagerDevice.c
19325                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
19326                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
19327                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
19328                         So, we take the card down to clear it out.
19329                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
19330                         too, since that's where the user_addresses are
19331
19332         * src/NetworkManagerPolicy.c
19333                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
19334                         that wireless networks' user_addresses list upon successful activation
19335
19336 2004-11-16  Dan Williams <dcbw@redhat.com>
19337
19338         * src/NetworkManagerDevice.[ch]
19339                 - (nm_device_clear_activation_fail): new function
19340
19341         * src/NetworkManagerPolicy.c
19342                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
19343                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
19344
19345 2004-11-16  Dan Williams <dcbw@redhat.com>
19346
19347         * src/NetworkManagerDevice.c
19348                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
19349                         leak the structure, better updating of now_scanning status
19350                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
19351
19352 2004-11-15  Dan Williams <dcbw@redhat.com>
19353
19354         Major rework of link detection code.  We now use DHCP
19355         as part of the link detection which proves to be much more robust,
19356         and also supports Open System authentication for wireless networks.
19357
19358         We no longer use external DHCP client programs.  Instead, we use 
19359         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
19360         which was written by:
19361                 Yoichi Hariguchi <yoichi@fore.com>
19362                 Sergei Viznyuk <sv@phystech.com>
19363                 http://www.phystech.com/download/
19364         It resides in the "dhcpcd" directory and was refactored into a general
19365         purpose DHCP client library by me.
19366
19367         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
19368         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
19369
19370 2004-11-15  Dan Williams <dcbw@redhat.com>
19371
19372         Patch from Tom Parker <palfrey@tevp.net>:
19373
19374         * src/NetworkManagerDevice.c
19375                 - Less output to console when no access
19376                         points are found during a scan
19377
19378 2004-11-15  Dan Williams <dcbw@redhat.com>
19379
19380         Patch from Tom Parker <palfrey@tevp.net>:
19381
19382         * src/backends/interface_parser.c
19383                 - Use g_strdup ()
19384                 - Check for inp == NULL
19385                 - use syslog ()
19386
19387 2004-11-13  Colin Walters  <walters@redhat.com>
19388
19389         Patch from Tom Parker <palfrey@tevp.net>:
19390
19391         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
19392         
19393         * src/backends/NetworkManagerRedHat.c: Switch to
19394         including shvar.h instead of shvar.c.
19395
19396         * src/backends/NetworkManagerDebian.c: Don't include
19397         interface_parser.c in source file.
19398
19399         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
19400         and interface_parser.[ch].
19401         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
19402         Include shvar.c and shvar.h here.
19403         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
19404         interface_parser.c and interface_parser.h here.
19405
19406 2004-11-12  Colin Walters  <walters@redhat.com>
19407
19408         * configure.in: Strip out TARGET_DISTRO and
19409         SYSTEM_BACKEND_FILE variables.  Switch to Automake
19410         conditionals.
19411
19412         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
19413         (libnmbackend_la_SOURCES): Use Automake conditionals
19414         to add distro-specific files.
19415
19416         * initscript/Makefile.am (SUBDIRS): Update to
19417         use conditionals.
19418
19419 2004-11-12  Colin Walters  <walters@redhat.com>
19420
19421         Patches from j bootlab org
19422
19423         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
19424         Add interface_parser.[ch].
19425
19426         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
19427         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
19428
19429 2004-11-12  Colin Walters  <walters@redhat.com>
19430
19431         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
19432         call to nmi_dbus_is_running too, not necessary anymore.
19433         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
19434         pick up exit().
19435
19436 2004-11-11  Colin Walters  <walters@verbum.org>
19437
19438         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
19439         Delete.
19440         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
19441         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
19442         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
19443         This avoids a race condition that made it pretty easily
19444         possible to get two NetworkManagerInfo daemons running.
19445
19446 2004-11-11  Colin Walters  <walters@verbum.org>
19447         
19448         * src/NetworkManager.c (main): Use daemon(3).
19449
19450         * info-daemon/NetworkManagerInfo.c (main): Ditto.
19451
19452         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
19453
19454 2004-11-10 Dan Williams <dcbw@redhat.com>
19455
19456         Patches from j bootlab org
19457         * src/NetworkManagerDevice.c
19458                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
19459                         whether the card has a link or not, some cards are slow
19460                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
19461
19462         * info-daemon/NetworkManagerInfoPassphraseDialog.c
19463                 - Disable the "Login" button on the passphrase dialog until the user
19464                         enters a valid passphrase or key
19465
19466         Patches from Tom Parker <palfrey tevp net>
19467         * src/backends/NetworkManagerDebian.c
19468                 - Add static IP support to the debian backend
19469
19470         * src/backends/interface_parser.[ch]
19471                 - Parse debian interface config files
19472
19473 2004-11-08 Dan Williams <dcbw@redhat.com>
19474
19475         * src/NetworkManagerDevice.c
19476                 - Some random fprintf->syslog conversions
19477                 - (nm_device_wireless_network_exists): double-check for network
19478                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
19479
19480         * src/NetworkManagerWireless.[ch]
19481                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
19482                         so that the binary->ascii conversion works (if unsigned, the bitshift
19483                         will fill with zeros, which is what's required).  Also mask bitshift
19484                         result with 0xF for futher assurance.
19485
19486 2004-11-06 Dan Williams <dcbw@redhat.com>
19487
19488         * src/NetworkManagerUtils.c
19489                 - (nm_get_wireless_driver_support_level): default to
19490                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
19491                         flip this when changing from whitelist->blacklist of
19492                         wireless drivers
19493
19494 2004-11-05 Dan Williams <dcbw@redhat.com>
19495
19496         Patch from Robert Paskowitz:
19497         * src/backends/NetworkManagerGentoo.c
19498                 - Update static IP config code
19499
19500 2004-11-05 Dan Williams <dcbw@redhat.com>
19501
19502         * info-daemon/NetworkManagerInfoDbus.c
19503           src/NetworkManagerDbus.[ch]
19504           src/NetworkManagerDevice.c
19505                 - Keep track of the # of attempts to get the WEP key
19506                         from the user and pass that along to the info daemon
19507
19508 2004-11-05 Dan Williams <dcbw@redhat.com>
19509
19510         * src/NetworkManagerUtils.c
19511                 - Blacklist wireless cards rather than whitelisting them.
19512                 - Grab driver name from HAL rather than trying to find it
19513                         ourselves.
19514
19515 2004-11-03 Dan Williams <dcbw@redhat.com>
19516
19517         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
19518                 - Disable OK button until valid data is entered
19519                         for encryption stuff too
19520
19521         * panel-applet/NMWirelessApplet.c
19522                 - Report card strength for current AP if the card
19523                         doesn't report strength data for scanned access
19524                         points
19525
19526         * src/NetworkManagerDevice.c
19527                 - Smooth out cards reported quality, Atmel card was
19528                         intermittently reporting no quality data but soon
19529                         recovers
19530
19531         * src/NetworkManagerWireless.c
19532                 - Better quality data percentage calculation.  Atmel
19533                         cards (mine at least) seem to report the quality
19534                         in percentage format already, so honor that
19535
19536         Patch from <j@bootlab.org>
19537         * NetworkManager.h
19538           info-daemon/NetworkManagerInfoPassphraseDialog.c
19539           info-daemon/passphrase.glade
19540           panel-applet/NMWirelessAppletOtherNetworkDialog.c
19541           panel-applet/essid.glade
19542           src/NetworkManagerAP.c
19543           src/NetworkManagerDevice.c
19544           src/NetworkManagerWireless.[ch]
19545                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
19546
19547 2004-11-03 Dan Williams <dcbw@redhat.com>
19548
19549         * src/NetworkManagerDevice.[ch]
19550                 - (nm_device_set_enc_key): Add parameter to set Authentication
19551                         Mode (Open System, Shared Key, or None).  We're still using
19552                         Shared Key for now though.
19553
19554 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
19555
19556         * panel-applet/menu-info.c: change from bold text to light
19557         colored, may cause problems with some themes, i've tested a lot
19558         and they seem fine. 
19559
19560         * panel-applet/NMWirelessApplet.c: fix strength tooltip
19561
19562 2004-11-01  Colin Walters  <walters@verbum.org>
19563
19564         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
19565         (nm_wireless_128bit_key_from_passphrase): Add const.
19566
19567         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
19568         (nm_ap_set_enc_key_source): Add const.
19569         
19570 2004-11-01  Colin Walters  <walters@verbum.org>
19571
19572         * .cvsignore: Update.
19573
19574 2004-10-29 Dan Williams <dcbw@redhat.com>
19575
19576         * src/NetworkManagerDevice.c
19577                 - (nm_device_wireless_network_exists): Actually use the encryption
19578                         key we got from the applet when attempting to find a wireless network
19579                 - Don't bring devices down so much since on some cards it triggers
19580                         firmware hotplugs each time
19581
19582         * src/NetworkManagerDbus.c
19583                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
19584                         from the caller
19585
19586 2004-10-29 Dan Williams <dcbw@redhat.com>
19587
19588         * src/NetworkManager.c
19589                 - (nm_hal_device_property_modified): unlock a locked active
19590                         wireless device when a wired connection gets a link.
19591                         (Means you'll switch to wired whenever you plug in no
19592                         matter what).
19593
19594 2004-10-29 Dan Williams <dcbw@redhat.com>
19595
19596         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
19597                 - New files, implement the "Other wireless network" dialog
19598
19599         * panel-applet/NMWirelessApplet.c
19600                 - Move "other wireless network" dialog to separate file
19601
19602         * panel-applet/NMWirelessAppletDbus.[ch]
19603                 - Take key and key_type paramaters for the set_device function
19604
19605         * panel-applet/essid.glade
19606                 - Add UI bits for encryption settings
19607
19608         * src/NetworkManagerDbus.c
19609                 - Retrieve key and key_type params for "setActiveDevice" method call
19610                         and pass them on
19611                 - unref AP returned from nm_device_get_best_ap() when needed
19612
19613         * src/NetworkManagerDevice.c
19614                 - (nm_device_get_best_ap): ref the ap before returning it
19615                 - unref AP returned from nm_device_get_best_ap() when needed
19616                 - (nm_device_activate_wireless): add "ap" parameter so we don't
19617                         need to call nm_device_get_best_ap() here, it was pretty much
19618                         redundant anyway
19619                 - (AP_NEED_KEY): break second link check condition out into separate
19620                         function, and fix segfault when ap->enc_key_source was NULL
19621                 - (nm_device_find_and_use_essid): take key and key_type parameters and
19622                         pass them along to nm_device_wireless_network_exists().  If the
19623                         network does exist, set the passed-in key+key_type on the AP
19624
19625         * src/NetworkManagerPolicy.c
19626                 - unref AP returned from nm_device_get_best_ap() when needed
19627
19628 2004-10-28 Dan Williams <dcbw@redhat.com>
19629
19630         * src/NetworkManagerUtils.c
19631                 - (nm_spawn_process): Fix a potential dereference of NULL
19632
19633         Patches from Peter Jones:
19634
19635         * src/NetworkManagerDevice.c
19636                 - (nm_device_test_wireless_extensions): Better check for
19637                         wireless devices
19638
19639         * src/NetworkManagerUtils.c
19640                 - (nm_spawn_process): Pass in valid stdout and stderr so
19641                         executed programs don't randomly SIGPIPE and fail
19642                 - (nm_get_wired_driver_support_level): quash hal warning
19643                         when checking for USB ethernet device
19644
19645 2004-10-27 Dan Williams <dcbw@redhat.com>
19646
19647         * info-daemon/NetworkManagerInfo.c
19648           info-daemon/NetworkManagerInfoDbus.c
19649           info-daemon/NetworkManagerInfoPassphraseDialog.c
19650           panel-applet/NMWirelessApplet.c
19651                 - Properly escape gconf keys
19652
19653         * src/NetworkManager.c
19654                 - remove unused variables
19655
19656         * src/NetworkManagerAP.c
19657                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19658                         refcount since it got set in nm_ap_new()
19659
19660         * src/NetworkManagerAPList.c
19661                 - (nm_ap_list_combine): Give up ownership of newly created
19662                         access points to the ap list, fixes memleak
19663
19664         * src/NetworkManagerDevice.c
19665                 - Remove cached_ap_list4 member since its not really needed
19666                 - (nm_device_wireless_network_exists): Try to get correct
19667                         encryption status of a found AP if its already in our
19668                         device list
19669                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19670                         memory allocs/deallocs a bit clearer and shorter-lived
19671
19672 2004-10-26 Ray Strode <rstrode@redhat.com>
19673
19674         * panel-applet/NMWirelessApplet.c:
19675           (custom_essid_item_selected):  kill some compiler
19676         warnings 
19677
19678 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19679
19680         * info-daemon/NetworkManagerInfoDbus.c
19681                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19682                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19683
19684 2004-10-23 Dan Williams <dcbw@redhat.com>
19685
19686         * info-daemon/NetworkManagerInfoDbus.c
19687                 - Trap the "DeviceActivationFailed" signal
19688
19689         * docs/NetworkManager DBUS API.txt
19690                 - Add "DeviceActivationFailed" signal
19691
19692         * panel-applet/NMWirelessAppletDbus.c
19693                 - Quash the "NetworkManager service not available" message
19694
19695         * src/NetworkManagerDbus.[ch]
19696                 - Add the "DeviceActivationFailed" signal
19697
19698         * src/NetworkManagerDevice.c
19699                 - Add support for activation_failed flag
19700                 - Fix deadlock where activation thread didn't clean itself up, making
19701                         main thread still believe it was alive forever (didn't reset activation
19702                         flags like activating, just_activated, etc when IP configuration
19703                         failed)
19704
19705         * src/NetworkManagerPolicy.c
19706                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19707                         for wireless networks, try to fall back to some other access point
19708
19709 2004-10-23 Dan Williams <dcbw@redhat.com>
19710
19711         * panel-applet/NMWirelessApplet.[ch]
19712                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19713                         to the applet object, so we can get tooltips
19714                 - Add tooltips (RH #136866)
19715
19716         * src/NetworkManagerDevice.c
19717                 - When trying to find a wireless network, try to connect with encryption
19718                         turned on first, so that we can more accurately detect whether or not
19719                         we need to use encryption for the actual association later on
19720
19721 2004-10-21 Dan Williams <dcbw@redhat.com>
19722
19723         * Add some support for telling NetworkManagerInfo to tell the user
19724                 that they are using a device that's not fully supported
19725
19726         * Fix some assertions in debug messages due to null access point args
19727
19728 2004-10-21 Dan Williams <dcbw@redhat.com>
19729
19730         * src/NetworkManagerDevice.c
19731                 - Don't try to activate/bring up/down unsupported
19732                         devices
19733
19734         * src/NetworkManagerUtils.c
19735                 - Fix case of PCI ID checks for driver support levels
19736
19737 2004-10-21 Dan Williams <dcbw@redhat.com>
19738
19739         * NetworkManager.h
19740                 - New file, now contains commonly used structures and bits
19741                         for the dbus API of NetworkManager
19742
19743         * Makefile.am
19744                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19745
19746         * src/NetworkManager.h
19747                 - Rename -> src/NetworkManagerMain.c
19748
19749         * Various fixups all around to use NetworkManager.h and new
19750                 src/NetworkManagerMain.h, remove redundant bits that got
19751                 moved into NetworkManager.h
19752
19753         * src/NetworkManagerDevice.[ch]
19754           src/NetworkManagerUtils.[ch]
19755           src/NetworkManagerPolicy.c
19756           src/NetworkManagerDbus.c
19757                 - Whitelist wireless drivers, and blacklist some wired
19758                         drivers.  Also blacklist cipsec and ethernet-over-usb
19759                         devices at this time (RH #135722, RH #135648)
19760                 - Don't leak unsupported devices out over dbus, or allow
19761                         them to be set as the active device.  Skip over them
19762                         during automatic device picking
19763
19764         * test/nmclienttest.c
19765                 - Clean up the dbus code a lot
19766
19767 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19768
19769         * configure.in: post release bump.
19770
19771 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19772
19773         * configure.in:
19774         * NEWS: Released NetworkManager-0.3.1
19775
19776 2004-10-18 Dan Williams <dcbw@redhat.com>
19777
19778         Patches from Thom May:
19779         * test/nmtestdevices.c
19780                 - Include <string.h>
19781         * src/backends/NetworkManagerDebian.c:
19782                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19783                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19784                         Move to using g_strdup_printf rather than arbitrary buffers
19785                 - (nm_system_device_setup_static_ip4_config) Implement function.
19786                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19787
19788 2004-10-17 Dan Williams <dcbw@redhat.com>
19789
19790         * info-daemon/NetworkManagerInfoDbus.c
19791                 - Display name of network in the "network not found" dialog
19792
19793         * panel-applet/NMWirelessAppletDbus.c
19794                 - (nmwa_dbus_call_nm_method): new function replaces all other
19795                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19796                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19797                         consolidated into nmwa_dbus_get_object_name()
19798
19799 2004-10-15 Dan Williams <dcbw@redhat.com>
19800
19801         * src/NetworkManagerDbus.c
19802           info-daemon/NetworkManagerInfoDbus.c
19803                 - Display an error dialog when the user tries to use an
19804                         "Other wireless network" that's not found.
19805
19806 2004-10-15 Dan Williams <dcbw@redhat.com>
19807
19808         * panel-applet/NMWirelessApplet.[ch]
19809                 - Fix up corner cases in applet state, making it
19810                         look more responsive.  Change state to "connecting" when
19811                         the user is forcing a device too.
19812
19813 2004-10-15 Dan Williams <dcbw@redhat.com>
19814
19815         * src/NetworkManagerAPList.c
19816                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19817
19818         * src/NetworkManagerDbus.c
19819                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19820
19821         * src/NetworkManagerDevice.c
19822                 - Disown APs after the device's AP list takes ownership
19823
19824 2004-10-15 Dan Williams <dcbw@redhat.com>
19825
19826         * panel-applet/NMWirelessApplet.c
19827                 - Update our applet state from the GUI thread
19828
19829         * panel-applet/NMWirelessAppletDbus.c
19830                 - Greatly simplify the locking to make the GUI thread
19831                         smoother.  Update a private copy of the device list
19832                         and active device and only when done talking to
19833                         NetworkManager turn it over to the GUI thread.
19834
19835 2004-10-15 Dan Williams <dcbw@redhat.com>
19836
19837         * src/NetworkManagerAP.[ch]
19838                 - Add "artificial" get/set functions, set for APs that
19839                         aren't discovered as part of a scan but instead
19840                         discovered by force-setting the ESSID
19841
19842         * src/NetworkManagerDevice.[ch]
19843                 - (nm_device_wireless_network_exists): pass back whether
19844                         or not the discovered AP was encrypted.  Also, try
19845                         falling back to encrypted mode on the card if unencrypted
19846                         association doesn't work
19847                 - (nm_device_find_and_use_essid): If the network requested
19848                         did in fact exists, but it wasn't in our scan list, add
19849                         an "artificial" entry for it.  Some Cisco cards don't
19850                         see non-ESSID-broadcasting APs in their scan but can still
19851                         associate with them if you know the ESSID, this works around
19852                         that behavior
19853                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
19854                         to scan if the card is currently associated with that AP
19855
19856 2004-10-15 Dan Williams <dcbw@redhat.com>
19857
19858         ---- We have a website ----
19859         http://people.redhat.com/dcbw/NetworkManager
19860
19861         Patch from Robert Paskowitz:
19862         * src/NetworkManager.c
19863                 - (main): Make sure we are run as root
19864         * src/NetworkManagerDevice.c
19865                 - Fix type in ad-hoc setting function
19866
19867         Patch from Thom May:
19868         * src/backends/NetworkManagerDebian.c
19869                 - Make Debian backend compile again
19870
19871 2004-10-14 Dan Williams <dcbw@redhat.com>
19872
19873         * Tagged NetworkManager-0_3
19874
19875 2004-10-14 Dan Williams <dcbw@redhat.com>
19876
19877         Patch from Robert Paskowitz:
19878         * NEWS
19879           src/NetworkManagerDevice.[ch]
19880           src/backends/NetworkManagerDebian.c
19881           src/backends/NetworkManagerGentoo.c
19882           src/backends/NetworkManagerRedHat.c
19883           src/backends/NetworkManagerSlackware.c
19884                 - Add support for grabbing and using a broadcast address
19885                         from system config files
19886                 - Some Gentoo backend fixes for grabbing network config
19887                 - Fix LOG_WARN->LOG_WARNING
19888
19889 2004-10-14 Dan Williams <dcbw@redhat.com>
19890
19891         * NEWS: a few small fixes in the credits
19892
19893 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
19894
19895         * NEWS: prep for release.
19896
19897 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
19898
19899         * panel-applet/NMWirelessAppletDbus.c
19900         (nmwa_dbus_update_device_wireless_networks): remove warnings.
19901
19902 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
19903
19904         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
19905         applet->state == APPLET_STATE_NO_NM animation.
19906
19907         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
19908         set the text correctly.
19909
19910 2004-10-14 Dan Williams <dcbw@redhat.com>
19911
19912         * src/NetworkManager.c
19913                 - Only accept and manager 802.3 and 802.11 devices
19914
19915         * src/NetworkManagerDbus.[ch]
19916                 - (nm_dbus_nm_set_active_device): move most of the actual activation
19917                         logic into NetworkManagerDevice.c
19918                 - (nm_dbus_network_status_from_data): new function
19919                 - (nm_dbus_signal_network_status_change): new function, unused for now
19920                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
19921
19922         * src/NetworkManagerDevice.[ch]
19923                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
19924                         a random ESSID.
19925
19926 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
19927
19928         * info-daemon/NetworkManagerInfo.c 
19929                 - (main): Added session management
19930
19931 2004-10-14 Dan Williams <dcbw@redhat.com>
19932
19933         * panel-applet/NMWirelessAppletDbus.[ch]
19934                 - Expose network_device_[un]ref()
19935                 - Expose wireless_network_[un]ref()
19936                 - (wireless_network_new_with_essid): new function, create and return
19937                         a wireless network with a particular essid
19938
19939         * panel-applet/NMWirelessApplet.c
19940                 - Hook up the "other network" dialog to do something
19941
19942 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
19943
19944         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
19945         doesn't work yet, but it looks okay.
19946
19947         * panel-applet/icons/*png: Resize to 22x22 and install in the
19948         right place.
19949
19950 2004-10-13 Dan Williams <dcbw@redhat.com>
19951
19952         * panel-applet/NMWirelessApplet.c
19953                 - Add function to print out applet_state in a readable
19954                         manner
19955
19956         * src/NetworkManager.c
19957                 - (main): Don't segfault when nm_dbus_init() fails, we had
19958                         a left-over call to hal_shutdown() into which we passed NULL
19959
19960         * src/NetworkManagerAP.c
19961                 - (nm_ap_set_essid): Allow NULL essids
19962
19963         * src/NetworkManagerAPList.[ch]
19964                 - More use of nm_ap_list_[un]lock ()
19965                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
19966                         network/essid, just return nothing.  Also skip over NULL
19967                         essid access points in the list when searching
19968                 - (nm_ap_list_get_ap_by_address): new function
19969                 - (nm_ap_list_update_network): set the access point's key source to
19970                         NULL when the key returned from NetworkManagerInfo is NULL or
19971                         of 0 length
19972                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
19973                         copy timestamp over too
19974                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
19975                         find the correct ESSID for a blank-essid access point by searching
19976                         through another list and matching access point MAC addresses
19977                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
19978
19979         * src/NetworkManagerDbus.c
19980                 - (nm_dbus_nm_set_active_device): deal with random networks the user
19981                         may specify.  This is mainly for access points that don't
19982                         broadcast their essid.  So if the user tells us to associate with
19983                         some random ESSID that's not in our access point list, we find
19984                         out if the access point does in fact exist (by attempting association
19985                         and then matching that access point's MAC address with the essid the
19986                         user gave us) and then we switch to it.
19987                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
19988                         to the returned list of networks for the "getNetworks" method
19989
19990         * src/NetworkManagerDevice.[ch]
19991                 - Extra debugging info for link detection
19992                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
19993                         based on MAC address
19994                 - (nm_device_get_path_for_ap): ignore blank-essid access points
19995                 - (nm_device_wireless_network_exists): new function, find out whether
19996                         a random ESSID exists by attempting to associate with it
19997                 - (nm_device_do_normal_scan): allow blank-essid access points in our
19998                         device list as long as they have an AP MAC address we can use.
19999                         Also send WirelessNetwork[Dis]Appeared signals for non-active
20000                         devices too.  Lets the applet update more frequently.
20001
20002         * src/backends/NetworkManagerGentoo.c
20003                 - Patch from: Robert Paskowitz
20004                         - Update backend code for Gentoo
20005                         - Implement nm_system_device_update_config_info ()
20006
20007         * test/nmclienttest.c
20008                 - (set_network_device): new function, takes a command-line argument
20009                         and tells NetworkManager to use that wireless network
20010
20011 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
20012
20013         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
20014         if the notification icon crashes 5 times within 5 seconds of each respawn 
20015
20016 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
20017
20018         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
20019         g_print.
20020
20021 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
20022
20023         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
20024
20025         * panel-applet/NMWirelessApplet.c: (animation_timeout),
20026         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
20027         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
20028         Change the name of the icons.
20029
20030         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
20031         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
20032         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
20033         (nm_menu_wireless_expose_event): Really bad hack to get the style
20034         to draw in the right color.
20035
20036 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
20037
20038         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
20039         Notification if it crashes
20040
20041 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
20042
20043         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
20044         (nmwa_dbus_get_string): remove unused functions
20045
20046         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
20047         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
20048         remove unused functions
20049
20050         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
20051
20052 2004-10-12 Dan Williams <dcbw@redhat.com>
20053
20054         * panel-applet/NMWirelessAppletDbus.c
20055                 - New functions:
20056                         wireless_network_new
20057                         wireless_network_copy
20058                         network_device_new
20059                         network_device_copy
20060
20061         * src/NetworkManagerDevice.[ch]
20062                 - New functions:
20063                         nm_device_set_mode_managed
20064                         nm_device_set_mode_adhoc
20065                 - Use these functions where appropriate
20066                 - When creating a new wireless device, force the card
20067                         to managed/Infrastructure mode as soon as possible
20068
20069 2004-10-12 Dan Williams <dcbw@redhat.com>
20070
20071         * src/NetworkManagerDevice.c
20072                 - Force wireless cards into Infrastructure mode before we use them
20073
20074 2004-10-12 Dan Williams <dcbw@redhat.com>
20075
20076         * TODO
20077                 - Remove bit about static IP address support
20078
20079         * src/NetworkManagerUtils.c
20080                 - (nm_spawn_process): Add some error reporting
20081
20082         * src/NetworkManagerDevice.c
20083                 - (nm_device_activation_configure_ip): hook up to the static config
20084                         routines in the backends
20085
20086         * src/backends/NetworkManagerRedHat.c
20087                 - (nm_system_device_update_config_info): use shvar.c routines to
20088                         parse the config file iformation, not our own
20089                 - (nm_system_device_setup_static_ip4_config): new function, based
20090                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
20091                         with a static IP address and gateway
20092
20093         * src/backends/shvar.[ch]
20094                 - Parser (filched from initscripts package) for ifcfg-* files
20095
20096         * src/backends/NetworkManagerSystem.h
20097           src/backends/NetworkManagerGentoo.c
20098           src/backends/NetworkManagerDebian.c
20099           src/backends/NetworkManagerSlackware.c
20100                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
20101
20102 2004-10-11 Dan Williams <dcbw@redhat.com>
20103
20104         * TODO
20105                 - Remove bit about more robust AP diffing since I just implemented it
20106
20107 2004-10-11 Dan Williams <dcbw@redhat.com>
20108
20109         * src/NetworkManagerAP.c
20110                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
20111                         enough RAM to allocate new AP structures, but return NULL instead
20112
20113         * src/NetworkManagerAPList.[ch]
20114                 - (nm_ap_list_is_empty): new function
20115                 - (nm_ap_list_combine): new function, combine two access point lists
20116                 - (nm_ap_list_copy_keys): new function, copy keys from one list
20117                         into another
20118
20119         * src/NetworkManagerDevice.[ch]
20120                 - Rename some functions to be clearer:
20121                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
20122                         nm_device_just_activated     -> nm_device_is_just_activated
20123                         nm_device_activating         -> nm_device_is_activating
20124                         nm_device_now_scanning       -> nm_device_is_scanning
20125                 - Cache the last 4 scans so that the access point list is more stable.
20126                         We combine the lastest two scans and use that as the AP list,
20127                         and diff that combined list against the combination of the earliest
20128                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
20129
20130 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20131
20132         * info-daemon/NWManagerInfo.h
20133                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
20134
20135         * info-daemon/NWManagerInfoDbus.c
20136                 - (shutdown_callback): new function
20137                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
20138                         if NetworkManager goes away.  Kill the timeout
20139                         if NetworkManager restarts before the 30 seconds
20140                         are up.
20141                 - (nmi_dbus_service_init): 
20142                         - call gtk_main_quit if NetworkManager is not running
20143                         - add filters to monitor dbus service creations and
20144                                 deletions
20145         
20146 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20147
20148         * panel-applet/NMWirelessApplet.c
20149                 - (nmwa_update_state): Hide notification icon if we are only
20150                         showing one wired card and no wireless interfaces 
20151                         (Red Hat Bug #134895)
20152
20153         * panel-applet/NMWirelessAppletDbus.c
20154                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
20155
20156         * info-daemon/NWManagerInfo.c
20157                 - (main): Terminated the notification_icon_cmd array with a NULL
20158
20159 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
20160
20161         * configure.in (ALL_LINGUAS): Added de (German).
20162
20163 2004-10-08 Dan Williams <dcbw@redaht.com>
20164
20165         * src/NetworkManagerDevice.c
20166                 - Be a bit more robust about link checking, ie make sure that
20167                         the WEP key we were given actually has some data in it
20168
20169 2004-10-08 Dan Williams <dcbw@redhat.com>
20170
20171         * info-daemon/NetworkManagerInfo.c (main):
20172                 - Initialize GError object to NULL
20173
20174 2004-10-08 Dan Williams <dcbw@redhat.com>
20175
20176         * panel-applet/NMWirelessAppletDbus.c
20177                 - Die if NetworkManagerInfo dies, since it manages our lifetime
20178
20179 2004-10-08 Dan Williams <dcbw@redhat.com>
20180
20181         * info-daemon/NetworkManagerInfo.[ch]
20182           info-dameon/NetworkManagerInfoDbus.[ch]
20183           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
20184                 - Preserve original label text in the passphrase dialog so that
20185                         it actually gets updated with the new network name the next
20186                         time around.  Previously, we were overwriting it so you'd get
20187                         the wrong network name to enter a key for
20188                 - Add a "Key Type" combo to the passphrase dialog, user selects
20189                         encryption key type now, type is stored in GConf too
20190                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
20191
20192         * src/NetworkManagerAP.[ch]
20193                 - Remove all the encyption method magic.  It's now set by the user
20194                         and NetworkManager retrieves the type of encryption key from
20195                         NetworkManagerInfo
20196
20197         * src/NetworkManagerAPList.[ch]
20198           src/NetworkManagerDbus.[ch]
20199                 - Adjust to new way of setting encryption key and method
20200                 - Pull encryption method down from NMI along with key
20201
20202         * src/NetworkManagerDevice.[ch]
20203                 - Removed encryption method fallback magic as the method is now
20204                         determined by the user.  This greatly simplifies the connection
20205                         logic.
20206                 - More robust connection/link logic.  Besides removing the encryption
20207                         method fallback magic, check whether or not the card is receiving
20208                         invalidly encrypted packets, which usually indicates that we have
20209                         a bad WEP key set.
20210                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
20211
20212         * test/nminfotest.c
20213                 - Test out new "Key Type" stuff in the NMI passphrase dialog
20214
20215 2004-10-07 Dan Williams <dcbw@redhat.com>
20216
20217         * info-daemon/NetworkManagerInfo.conf
20218                 - Allow root user to run NMI too
20219
20220 2004-10-06 Dan Williams <dcbw@redhat.com>
20221
20222         * src/NetworkManagerDevice.[ch]
20223           src/NetworkManagerDbus.c
20224           doc/NetworkManager DBUS API.txt
20225                 - Add a new status tag "scanning", which is set when there
20226                         is no active network connection, but NetworkManager is
20227                         looking for an access point to associate with
20228
20229         * panel-applet/main.c
20230                 - Cast the applet appropriately for gtk_widget_show_all ()
20231
20232 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
20233
20234         * panel-applet/eggtrayicon.[ch]:
20235         * panel-applet/main.c: Add missing file
20236
20237 2004-10-04 Dan Williams <dcbw@redhat.com>
20238
20239         * src/NetworkManagerDevice.[ch]
20240                 - Add a slightly more robust method of determining if the WEP key
20241                         is correct or not, by checking the WEP-discarded packet count
20242                         on the card
20243
20244         * info-daemon/NetworkManagerInfo.c
20245                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
20246                         un-escape values we pull out rather than escaping them
20247
20248 2004-10-03  Marcel Telka  <marcel@telka.sk>
20249
20250         * configure.in (ALL_LINGUAS): Added sk.
20251
20252 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
20253
20254         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
20255         and feel.  We should be back to working, and have a good, clean
20256         look.
20257
20258 2004-09-30 Dan Williams <dcbw@redhat.com>
20259
20260         * info-daemon/NetworkManagerInfo.c
20261           info-daemon/NetworkManagerInfoDbus.c
20262           test/nminfotest.c
20263                 - Escape ESSIDs in gconf
20264
20265         * src/NetworkManagerDevice.c
20266                 - Fix pseudo-scanning to use netowrk list from info daemon
20267
20268 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
20269
20270         * configure.in: Add a temporary --enable-notification-icon.  This
20271         will prolly go away.
20272
20273         * info-daemon/Makefile.am:
20274         * info-daemon/NetworkManagerInfo.c:
20275         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
20276
20277         * panel-applet/Makefile.am:
20278         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
20279         * panel-applet/NMWirelessApplet.h:
20280
20281 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
20282
20283         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
20284         before 'select custom ESSID'.
20285
20286         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
20287         fully complete, but syncing in prep for merge.
20288
20289         * panel-applet/icons/*png: New images
20290
20291 2004-09-28 Dan Williams <dcbw@redhat.com>
20292
20293         * src/NetworkManager.c
20294           src/NetworkManagerDevice.c
20295           src/NetworkManagerPolicy.c
20296                 - Don't blow away an active wired connection on startup
20297
20298 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
20299
20300         Changes from J5
20301         
20302         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
20303
20304         * info-daemon/NetworkManagerInfoDbus.c: added service name to
20305         syslog output
20306
20307 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
20308
20309         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
20310         have a wireless card.
20311
20312 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
20313
20314         * panel-applet/NMWirelessApplet.c: move the custom essid item.
20315         Also, get the right device strings.
20316
20317 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
20318
20319         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
20320         the logic to make this right.
20321
20322         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
20323         devices so that wired networks are always first.
20324
20325 2004-09-22    <clarkbw@cvs.gnome.org>
20326
20327         * initscript/Debian/.cvsignore:
20328         * initscript/Slackware/.cvsignore:
20329         Added new cvsignores for Makefile, Makefile.in
20330         
20331         * test/.cvsignore:
20332         Added nmtestdevices
20333         
20334         * src/NetworkManagerDevice.c: 
20335         * src/NetworkManager.c: 
20336         Updated the wireless/wired HAL device strings from net.ethernet to
20337         net.80203 or net.80211 depending on wired or wireless respectively
20338         
20339         * examples/python/NetworkManager.py: 
20340         s/Quality/Strength/
20341
20342         * examples/python/systray/network_tray.py:
20343         Lots of little changes and fixes.  been rotting for a while so I
20344         figured I'd finally sync them all with CVS
20345
20346 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
20347
20348         * configure.in: Add graphics
20349
20350         * panel-applet/Makefile.am: Add graphics
20351
20352         * panel-applet/icons/*: Add graphics
20353
20354         * panel-applet/NMWirelessApplet.c: Use new menu times to display
20355         the icons fully lined up.
20356
20357         * panel-applet/menu-info.c: 
20358         * panel-applet/menu-info.h: Add another menu type.
20359
20360 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
20361
20362         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
20363
20364         * panel-applet/menu-item.[ch]: Wireless menu item.
20365
20366 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
20367
20368         * info-daemon/NetworkManagerInfo.conf
20369                 - Created a more robust security policy for the DBus service
20370                         - everything is denied by default
20371                         - root can own and send to the service
20372                         - users logged in at the console can send to the service
20373
20374 2004-09-13  Dan Williams <dcbw@redhat.com>
20375
20376         * src/NetworkManagerDevice.c
20377                 - (nm_device_get_essid): use iw_get_basic_config() rather than
20378                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
20379                         the latter
20380
20381 2004-09-13  Dan Williams <dcbw@redhat.com>
20382
20383         * TODO: fix typo
20384
20385         * docs/NetworkManager DBUS API.txt
20386                 - Update for new signal strength changes
20387
20388         * panel-applet/NMWirelessApplet.c
20389                 - Make panel icon show strength of the current connection
20390                 - Cleanups and memleak fixes
20391
20392         * panel-applet/NMWirelessApplet.h
20393                 - Add data members for signal strength on devices and networks
20394
20395         * panel-applet/NMWirelessAppletDbus.c
20396                 - Free more DBusErrors
20397                 - Update for new signal strength changes
20398                 - Make devices and networks more like real objects, use ref/unref methods
20399                 - Actually unlock the mutex when updating the active device
20400
20401         * src/NetworkManagerAP.c
20402                 - Change AP functions and data members from "quality"->"strength"
20403
20404         * src/NetworkManagerDbus.c
20405                 - Kill "getMaxQuality" and "getQuality" methods
20406                 - Add "getStrength" methods for Networks and Devices
20407
20408         * src/NetworkManagerDevice.[ch]
20409                 - Add accessors for device strength
20410                 - Add functions to update strength for a device.  Note that not all drivers
20411                         actually support signal strength for scanned access points (Atmel drivers
20412                         being one)
20413                 - Calculate signal strength for each AP during scan
20414
20415         * src/NetworkManagerWireless.[ch]
20416                 - Add function to return signal strength % from a device and a raw quality struct
20417
20418         * test/nmclienttest.c
20419                 - Update for new signal strength changes
20420
20421 2004-09-11  Dan Williams <dcbw@redhat.com>
20422
20423         * src/NetworkManager.c
20424                 - Fix race condition between initscripts and NM on card insertion
20425                         which could cause a card to keep an IP address and routes around
20426                         even when it was not the active device
20427
20428         * src/NetworkManagerDbus.c
20429                 - Fix compile errors, free more DBusErrors
20430
20431 2004-09-11  Dan Williams <dcbw@redhat.com>
20432
20433         * docs/NetworkManager DBUS API.txt
20434                 - Add an explanation of NM's API
20435
20436         * src/NetworkManagerDbus.c
20437                 - Free some more DBusErrors if needed
20438
20439 2004-09-11  Dan Williams <dcbw@redhat.com>
20440
20441         * panel-applet/NMWirelessApplet.c
20442           panel-applet/NMWirelessAppletDbus.c
20443                 - Start using NetworkDevice/WirelessNetwork structures in more places
20444                 - Update for unified device/network forcing in NetworkManager
20445
20446         * src/NetworkManager.c
20447                 - some code consolidation
20448
20449         * src/NetworkManagerDbus.c
20450                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
20451                         or two arguments:  the first is the NM ID of the device to switch to,
20452                         and the second (optional) argument is the ESSID of a wireless network
20453                         to use as well.
20454                 - Get rid of "setNetwork" method due to above change
20455
20456         * src/NetworkManagerDevice.c
20457                 - (nm_device_new): perform scan and update best AP on device creation
20458                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
20459                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
20460                         spin waiting for cancellation to finish before returning
20461
20462         * src/NetworkManagerPolicy.c
20463                 - Changes here clarify the situations in which a device switch occurs, and 
20464                         make sure to keep using a forced device and network if the user gives
20465                         us one
20466                 - Remove old unused code
20467
20468 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
20469
20470         * configure.in: Added Danish (da) to ALL_LINGUAS.
20471
20472 2004-09-09  Dan Williams <dcbw@redhat.com>
20473
20474         * panel-applet/NMWirelessAppletDbus.c
20475                 - Pull fresh devices and networks from NM when wireless networks
20476                         change.  Provides faster feedback of a forced wireless network
20477
20478         * src/NetworkManagerDbus.c
20479                 - Return error when "getMaxQuality" is called on a wired device
20480                 - Make best_ap freezing actually work again, and signal cancellation
20481                         of activation if there's already a device activation when the user
20482                         freezes the best_ap
20483
20484         * src/NetworkManagerDevice.c
20485                 - Don't clear out the best_ap for wireless devices when the link goes
20486                         down, that's done elsewhere
20487                 - Kill any dhcp daemons when cancelling device activation since they
20488                         may be stuck waiting for a DHCP address, and since we're cancelling
20489                         activation we don't care about that anymore
20490
20491         * src/NetworkManagerPolicy.c
20492                 - Make sure to unref the device we ref earlier (we refed it to make sure
20493                         it stuck around during device activation and such)
20494                 - If we were going to change the best device, but its activating currently
20495                         (and therefore the change didn't occur due to the check earlier)
20496                         we mark the state changed to we come back to it later when device
20497                         activation has canceled and its no longer activating
20498
20499         * src/backends/NetworkManagerRedHat.c
20500                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
20501
20502 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
20503
20504         * info-daemon/passphrase.glade: 
20505         set passphrase input to activates_default : True
20506
20507         * examples/python/systray/network_tray.py
20508         (network_tray.sort_networks):
20509
20510         Added support for having wireless always scanning
20511
20512 2004-09-09  Dan Williams <dcbw@redhat.com>
20513
20514         NOTE: this commit changes the behavior of wireless devices in
20515         NetworkManager.  They are now up all the time, scanning all
20516         the time.  Only the active device has an IP address and routing
20517         information set up however.  Also, NetworkManager will no longer
20518         opportunistically switch wireless networks when a better one
20519         comes in range, it will remain associated with one wireless network
20520         until that one drops out.
20521
20522         * panel-applet/NMWirelessApplet.c
20523           panel-applet/NMWirelessAppletDbus.c
20524                 - List all wireless cards and their respective networks
20525
20526         * src/NMLoadModules
20527                 - Use full path to /sbin/ip
20528
20529         * src/NetworkManager.c
20530                 - Keep wireless devices up all the time so they can scan
20531
20532         * src/NetworkManagerDbus.c
20533                 - On a WirelessNetworkUpdate signal from NMI, don't update
20534                         the "best" AP
20535
20536         * src/NetworkManagerDevice.c
20537                 - (nm_device_set_link_active): clear out the best ap for
20538                         wireless devices when the link is set to FALSE
20539                 - Scan on all wireless cards, all the time
20540                 - (nm_device_activation_worker): split out the wireless card
20541                         link-waiting code to a separate function
20542                 - Keep wireless cards up even if device activation fails
20543                 - Don't update the "best" ap as much
20544
20545         * src/NetworkManagerPolicy.c
20546                 - Don't update the best ap when checking if its frozen,
20547                         let link checking clear out a frozen best ap for us
20548
20549         * src/NetworkManagerWireless.c
20550                 - Scan on all wireless cards, all the time
20551
20552 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
20553
20554         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
20555
20556 2004-09-09  Ankit Patel <ankit@redhat.com>
20557
20558         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
20559
20560 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
20561
20562         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
20563
20564 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
20565
20566         * examples/python/NetworkManager.py: 
20567         added CONNECTED, CONNECTING, and DISCONNECTED states
20568         added methods to return number of devices of a single type
20569
20570         * examples/python/systray/network_tray.py: 
20571         did some tweaks to get the menu looking near what it is supposed
20572         to look like.  Also did a Airo card hack to make it show the
20573         correct AP quality
20574
20575 2004-09-08  Dan Williams <dcbw@redhat.com>
20576
20577         * panel-applet/no-networkmanager.png
20578           panel-applet/Makefile.am
20579           panel-applet/NMWirelessApplet.c
20580                 - Add a "NetworkManager not running" icon and use it
20581                 - Use new consolidated GConf keys rather than Preferred/Trusted
20582
20583         * TODO: update
20584
20585         * info-daemon/NetworkManagerInfo.c
20586           info-daemon/NetworkManagerInfoDbus.[ch]
20587           info-daemon/NetworkManagerInfoPassphraseDialog.c
20588                 - There are now no longer two separate lists of wireless networks,
20589                         but one list where each network is "trusted" or not trusted
20590                 - Add a "getNetworkTrusted" dbus method
20591                 - "WirelessNetworkUpdate" signal now sent rather than
20592                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
20593                 - Start freeing some dbus errors (not completed yet)
20594
20595         * info-daemon/passphrase.glade
20596                 - Remove the "don't show" hints for pager and taskbar
20597                 - Add a title since its going to be in the taskbar
20598
20599         * src/NetworkManager.[ch]
20600           src/NetworkManagerAPList.[ch]
20601                 - There are now no longer two separate lists of wireless networks,
20602                         but one list where each network is "trusted" or not trusted
20603
20604         * src/NetworkManagerAP.[ch]
20605                 - Add get/set "trusted" accessors and data bit
20606
20607         * src/NetworkManagerDbus.[ch]
20608                 - Add function to get "trusted" status of a network from NetworkManagerInfo
20609                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
20610
20611         * src/NetworkManagerDevice.[ch]
20612                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
20613                 - (nm_device_new): Get device config from backend when initializing devices
20614                 - (nm_device_activation_worker): Split out device configuration on
20615                         activation to deal with static/dynamic IP differences, and try encryption
20616                         fallbacks on a device if the encryption method for the best AP is not good
20617                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
20618                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
20619
20620         * src/NetworkManagerWireless.c
20621                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
20622
20623         * src/backends/NetworkManagerRedHat.c
20624           src/backends/NetworkManagerSystem.h
20625                 - (nm_system_device_update_config_info): Add function to get device configuration
20626                         from system data in ifcfg-* files
20627
20628         * src/backends/NetworkManagerDebian.c
20629           src/backends/NetworkManagerGentoo.c
20630           src/backends/NetworkManagerSlackware.c
20631                 - Add stub functions for getting device configuration
20632
20633 2004-09-07  Dan Williams <dcbw@redhat.com>
20634
20635         * src/backends/NetworkManagerRedhat.c
20636           src/backends/NetworkManagerSlackware.c
20637                 - Use full path to /sbin/ip everywhere
20638
20639 2004-09-07  Dan Williams <dcbw@redhat.com>
20640
20641         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20642
20643         * configure.in
20644           initscript/Makefile.am
20645           initscript/Slackware/Makfile.am
20646           initscript/Slackware/rc.networkmanager
20647           src/Makefile.am
20648           src/backends/NetworkManagerSlackware.c
20649                 - Add Slackware support
20650
20651 2004-09-07  Dan Williams <dcbw@redhat.com>
20652
20653         Patches below from:
20654                 <j@bootlab.org>
20655                 Mark Roach <mrroach@okmaybe.com>
20656                 Thom May <thom@debian.org>
20657
20658         * configure.in
20659           initscript/Debian/NetworkManager
20660           initscript/Debian/Makefile.am
20661                 - Initscript for Debian
20662
20663         * src/backends/NetworkManagerDebian.c
20664                 - Add missing system init function to allow compilation
20665                         on Debian
20666
20667 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20668
20669         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20670
20671 2004-09-03  Akagic Amila <bono@linux.org.ba>
20672
20673         * configure.in: Added 'bs' to ALL_LINGUAS.
20674
20675 2004-09-02  Colin Walters  <walters@verbum.org>
20676
20677         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20678         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20679         g_strdup_printf instead of arbitrarily sized buffers.
20680
20681 2004-09-01  Colin Walters  <walters@verbum.org>
20682
20683         * NetworkManager.pc.in: New file.
20684
20685         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20686
20687 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20688         
20689         * configure.in: Punjabi(pa) is added to po/.
20690
20691 2004-08-31  Dan Williams <dcbw@redhat.com>
20692
20693         * Remove 'debug' extern global from all files since we now
20694                 use syslog()
20695
20696         * src/NetworkManager.[ch]
20697                 - Break out routine that get the net.interface property from HAL,
20698                         removing that logic from nm_create_device_and_add_to_list()
20699                 - (nm_create_device_and_add_to_list): make this a bit more general so
20700                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20701                         the create of test devices.
20702                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20703                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20704                         which makes NetworkManager listen for dbus commands to create test
20705                         devices, which have no backing hardware.  Use when you're on a plane
20706                         for example, and/or forgot your wireless card at home.  Test devices
20707                         _cannot_ be created unless NM is started with --enable-test-devices.
20708
20709         * src/NetworkManagerDbus.[ch]
20710                 - New "getLinkActive" method for devices
20711                 - New "setLinkActive" method for devices (only works on test devices)
20712                 - New "createTestDevice" method on NetworkManager object to create a test
20713                         device of a specified type (ie wired, wireless).  UDI is created from
20714                         scratch, as is the interface name.  Only works when NM is started with
20715                         --enable-test-devices switch.
20716                 - New "removeTestDevice" method on NetworkManager object which removes a
20717                         test device.  Only works when NM is started with --enable-test-devices
20718
20719         * src/NetworkManagerDevice.[ch]
20720                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20721                         whether a device is a test device or not, and what its link status is.
20722                 - Deal with test devices in most functions.  For those that work directly on hardware
20723                         special-case test devices.
20724                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20725                         command-line.
20726                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20727                         checking to separate functions to facilitate test device link checking.
20728                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20729                         don't make a distinction between System Authentication and Encryption
20730                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20731                         on the card.  We don't deal with Shared Key auth yet.
20732                 - (nm_device_activation_worker): split the activation cancel check logic out into
20733                         a separate routine nm_device_activation_cancel_if_needed()
20734                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20735                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20736                         a list of fake access points that they can "see"
20737                 - (nm_device_is_test_device): return whether or not a device is a test device
20738
20739         * src/NetworkManagerPolicy.c
20740                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20741                         previously if you "locked"/forced NM to use a wireless device but then
20742                         selected a wireless network for NM to use, it would switch to a wired device.
20743                         So, if the active device is wireless and it has a "forced" best AP, use it
20744                         if the "forced" best AP is still valid
20745                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20746                         there were no usable network devices, or the last one was removed
20747
20748         * src/backends/NetworkManager*.c
20749                 - Deal with test devices, mostly just return success for operations like getting
20750                         a DHCP address
20751
20752         * test/nmtestdevices.c
20753                 - Test tool to create/remove/link-switch test devices
20754
20755 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20756
20757         * examples/python/NetworkManager.py: 
20758         added convience functions has_wired_device and has_wireless_device
20759
20760         * examples/python/systray/network_tray.py: 
20761         cleaned up a bunch of cruft, added support for listing wireless
20762         networks just like the real applet.  This is probably all I'm
20763         going to work on this applet from now on.
20764         TODO: add support for actually changing networks and devices
20765
20766         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20767         changed "nm.networks" into a dict from a list so I can store all
20768         the cool information about networks in there
20769
20770         * examples/python/systray/network_tray.py: 
20771         Added nice message when you try to run without running make first
20772
20773         * examples/python/NetworkManager.py: 
20774         Bug fixes to the code so we get all the device information
20775         that we need in get_device()
20776         
20777         * examples/python/NMTester.py: 
20778         Fixed _print_device_list to print_device_list
20779
20780 2004-08-29  Seth Nickell  <seth@gnome.org>
20781
20782         * configure.in:
20783
20784         Actually properly setup the Debian backend in configure.
20785         
20786 2004-08-29  Colin Walters  <walters@verbum.org>
20787
20788         * test/nminfotest.c: Include string.h and stdlib.h.
20789         (get_network_string_property, get_networks_of_type): Return NULL.
20790
20791         * test/nmclienttest.c (get_device_name, get_active_device): Return
20792         NULL.
20793
20794         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20795         use strlen, fgets always NULL-terminates the string.
20796
20797         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20798         dbus_message_get_member): Remove /* in comment.
20799
20800         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20801
20802         * src/NetworkManager.c (quit): Unused, delete.
20803         (nm_data_free): Cast arg to GFunc.
20804
20805         * panel-applet/NMWirelessAppletDbus.c: Need to include
20806         string.h, and dbus-glib-lowlevel.h (the latter is needed
20807         for dbus_connection_setup_with_g_main at present).
20808         (nmwa_dbus_update_wireless_network_list): Parenthesize
20809         assignment in conditional.
20810         (nmwa_dbus_worker): Return NULL.
20811
20812         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20813         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20814         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20815         (nmwa_populate_menu): Return NULL on failure, instead of just
20816         return;
20817
20818         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20819
20820         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20821         variables.
20822
20823         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20824         delete.
20825         
20826 2004-08-29  Colin Walters  <walters@verbum.org>
20827
20828         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
20829         a GTimeVal instead of time_t.  This is easier to work with,
20830         since time_t may be a long or double, we don't know.
20831
20832         * src/NetworkManagerDbus.h: Update prototype.
20833         
20834         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
20835         instead of time_t.
20836         (nm_ap_get_timestamp): Update to return GTimeVal.
20837         (nm_ap_set_timestamp): Update to take GTimeVal.
20838         
20839         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
20840         to handle GTimeVal.
20841
20842         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
20843         GTimeVal change.
20844         (nm_ap_list_print_members): Fix warnings in printf format.
20845
20846 2004-08-29  Colin Walters  <walters@verbum.org>
20847         
20848         * panel-applet/NMWirelessApplet.c: Include config.h.
20849
20850 2004-08-29  Colin Walters  <walters@verbum.org>
20851
20852         * configure.in: Generate config.h.
20853
20854         * configure.in: Dump dependency on OpenSSL; we can't
20855         use it since this package is GPL:
20856         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
20857         Instead, check for libgcrypt, use it if available,
20858         otherwise use included MD5 code.
20859
20860         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
20861         Suck in from gnome-keyring, munge a bit.
20862         
20863         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
20864         gnome-keyring-md5.h gnome-keyring-md5.c.
20865         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
20866
20867         * src/NetworkManagerWireless.c (nm_md5): New function, uses
20868         libgcrypt or included gnome-keyring md5 bits.
20869         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
20870
20871 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
20872
20873         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
20874
20875 2004-08-27  Bryan Clark  <bclark@redhat.com>
20876
20877         * examples/python/systray/Makefile: 
20878
20879         Updated the clean section
20880         
20881         * examples/python/systray/trayiconmodule.c: 
20882         * examples/python/systray/trayicon.override: 
20883         * examples/python/systray/network_tray.py: 
20884         * examples/python/systray/eggtrayicon.h: 
20885         * examples/python/systray/eggtrayicon.c: 
20886         * examples/python/systray/Makefile: 
20887         * examples/python/README: 
20888         * examples/python/NetworkManager.py: 
20889         * examples/python/NMTester.py: 
20890
20891         Initial commit of these python example files
20892
20893 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
20894
20895         * panel-applet/NMWirelessApplet.c
20896                 - Make current device bold
20897                 - Show more user-friendly device name if we got one from hal
20898
20899         * panel-applet/NMWirelessAppletDbus.c
20900                 - Grab "info.product" key from hal for network devices
20901                 - Cache the current active device
20902
20903 2004-08-27  Adam Weinberger  <adamw@gnome.org>
20904
20905         * configure.in: Added en_CA to ALL_LINGUAS.
20906
20907 2004-08-27  Christian Rose  <menthos@menthos.com>
20908
20909         * configure.in: Added "sv" to ALL_LINGUAS.
20910
20911 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20912
20913         * Tag NetworkManager-0.2
20914
20915 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
20916
20917         * initscripts/Makefile.am
20918         * configure.in: Make pass distcheck
20919
20920         * po/ChangeLog: added
20921
20922 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20923
20924         * panel-applet/NMWirelessApplet.c
20925                 - Remove debugging code
20926                 - Enable device switching from menus
20927
20928         * panel-applet/NMWirelessAppletDbus.[ch]
20929                 - Method for asking NM to switch devices
20930
20931         * src/NetworkManagerDevice.c
20932                 - Set dev->activating earlier, avoids race between
20933                         the dbus signal of "DeviceActivating" and setting
20934                         dev->activating (which is what NM's "status" method call
20935                         looks at)
20936
20937 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20938
20939         * panel-applet/NMWirelessApplet.[ch]
20940                 - Rework menu code to add devices to menu, and to show
20941                         signal strength for each access point.  Code cleanups
20942                         too.
20943
20944         * panel-applet/NMWirelessAppletDbus.c
20945                 - Grab network devices from NetworkManager too
20946                 - Grab quality information from NM for wireless networks
20947
20948         * src/NetworkManagerDbus.[ch]
20949                 - Add dbus methods for getting the HAL UDI from a device and
20950                         for getting its base quality, if its wireless
20951                 - Consolidate some functions (wireless network notifications,
20952                         device notifications)
20953                 - Add method for requesting NM to use a particular device
20954
20955         * src/NetworkManager.c
20956                 - Change for function consolidations from NetworkManagerDbus.c
20957                 - Implement active device locking and user-requested devices
20958                         (ie, tell NM to use a particular device instead of the one
20959                         it autochose)
20960
20961         * src/NetworkManagerDevice.c
20962                 - Add method for getting the base quality of a device, if its
20963                         wireless
20964                 - Grab device base quailty info from iwlib during scans
20965
20966         * src/NetworkManagerPolicy.c
20967                 - Use a user-requested device rather than the auto-chosen device
20968                         if we are told to
20969
20970 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
20971
20972         * Makefile.am: add po as a supdir
20973
20974         * autogen.sh: use gnome-autogen.sh
20975
20976         * initscript/Gentoo/.cvsignore:
20977         * initscript/RedHat/.cvsignore: Shut up cvs
20978
20979         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
20980
20981         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
20982         (nmwa_fill): Use gettext.
20983
20984         * configure.in: add gettext support
20985         * po/.cvsignore:
20986         * po/NetworkManager.pot:
20987         * po/POTFILES.in:
20988
20989 2004-08-26  Seth Nickell  <seth@gnome.org>
20990
20991         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
20992         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
20993         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
20994         (nmwa_dispose_menu_items), (nmwa_populate_menu),
20995         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
20996         * panel-applet/NMWirelessApplet.h:
20997
20998         Use a menu bar instead of a button for the main clickable
20999         thingy.
21000         
21001 2004-08-25  Dan Williams <dcbw@redhat.com>
21002
21003         * src/NetworkManagerDevice.c
21004                 - (nm_device_set_enc_key): always set device to "open" mode instead of
21005                         turning encryption off, because the Cisco driver doesn't associate
21006                         with WEP-enabled access points unless we are in "open"
21007
21008 2004-08-25  Dan Williams <dcbw@redhat.com>
21009
21010         * src/NetworkManagerWireless.c
21011                 - Don't try to defererence blank passphrases
21012
21013 2004-08-25  Dan Williams <dcbw@redhat.com>
21014
21015         * panel-applet/NMWirelessApplet.c
21016                 - Rebuild the menu whenever a user clicks
21017
21018 2004-08-25  Dan Williams <dcbw@redhat.com>
21019
21020         * panel-applet/NMWirelessApplet.c
21021                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
21022                         when NM isn't around or when its not connected
21023
21024         * src/NetworkManagerDevice.c
21025                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
21026                         canceled.
21027
21028 2004-08-25  Dan Williams <dcbw@redhat.com>
21029
21030         * panel-applet/NMWirelessAppletDbus.c
21031                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
21032                         for getting encryption, and don't stop on "val" once we've gotten it
21033                         from NetworkManager.  Short form:  encryption should now show up.
21034
21035 2004-08-25  Dan Williams <dcbw@redhat.com>
21036
21037         * panel-applet/NMWirelessApplet.c
21038                 - Set ESSID on a gconf trusted network too when force-setting the wireless
21039                         network to associate with
21040
21041 2004-08-25  Dan Williams <dcbw@redhat.com>
21042
21043         * panel-applet/*
21044                 - Rework the panel applet to do all DBUS communication in a separate
21045                         thread
21046
21047 2004-08-25  Dan Williams <dcbw@redhat.com>
21048
21049         * info-daemon/NetworkManagerInfo.[ch]
21050                 - Remove "get_next_priority" function
21051
21052         * info-daemon/NetworkManagerInfoDbus.[ch]
21053                 - Convert "priority" functions to "timestamp"
21054
21055 2004-08-25  Dan Williams <dcbw@redhat.com>
21056
21057         * src/NetworkManagerAP.[ch]
21058                 - Add a "enc_method_good" member and accessors to an Access Point
21059                         to signal when we've found the correct encryption method
21060                         for an access point
21061                 - Add a "timestamp" member and accessors, remove "priority" member
21062                         and accessors (use timestamps instead)
21063                 - Rename "wep_key"->"enc_key"
21064                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
21065                         for a specified encryption method using the access points
21066                         source encryption key/passphrase
21067
21068         * src/NetworkManagerAPList.c
21069                 - When updating a network with dbus, grab timestamp now instead of
21070                         priority
21071
21072         * src/NetworkManagerDBus.[ch]
21073                 - Add signal for "DeviceActivating"
21074                 - Switch priority->timestamp
21075
21076         * src/NetworkManagerDevice.c
21077                 - Change references of "wep_key" -> "enc_key" or "key"
21078                 - Signal DeviceActivating when starting activation
21079                 - When activating a wireless device, if the access point we are connecting
21080                         to is encrypted, and we have a source key, try to generate a mangled
21081                         key and use that (ie, generate real WEP key from a passphrase)
21082                 - Rework device activation to fallback to other encryption methods if
21083                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
21084                         first, then if that doesn't work fall back to direct hex key).
21085                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
21086                         priority.  We now prefer the latest access point used, rather than using
21087                         a priority scheme
21088                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
21089                         points we've just discovered, and merge in correct info from the global
21090                         access point lists
21091
21092 2004-08-25  Seth Nickell  <seth@gnome.org>
21093
21094         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
21095         Debian support.
21096         
21097         * src/Makefile.am:
21098         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
21099         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
21100         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
21101         (nm_system_delete_default_route),
21102         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
21103         (nm_system_load_device_modules):
21104
21105 2004-08-24  Dan Willemsen <dan@willemsen.us>
21106
21107         * src/NetworkManager.c
21108           src/backends/NetworkManagerGentoo.c
21109           src/backends/NetworkManagerRedHat.c
21110           src/backends/NetworkManagerSystem.h
21111                 - Implement preliminary Gentoo support, adding a
21112                         nm_system_init function to the backend specification
21113
21114         * configure.in
21115                 - Distribution auto-detection, lowercase any user-fed
21116                         distribution names
21117
21118         * initscript/.cvsignore
21119           initscript/Makefile.am
21120           initscript/RedHat/Makefile.am
21121           initscript/RedHat/NetworkManager
21122           initscript/Gentoo/Makefile.am
21123           initscript/Gentoo/NetworkManager
21124                 - Refactored initscript code separately for each
21125                         distribution
21126
21127 2004-08-23  Dan Williams <dcbw@redhat.com>
21128
21129         * configure.in
21130           src/Makefile.am
21131           src/NetworkManagerDevice.c
21132           src/NetworkManager.c
21133           src/NetworkManagerUtils.[ch]
21134           src/backends/NetworkManagerSystem.h
21135           src/backends/NetworkManagerRedHat.c
21136           src/backends/NetworkManagerGentoo.c
21137                 - Refactor system-specific code into separate backends for
21138                         each distribution
21139
21140 2004-08-23  Dan Willemsen <dan@willemsen.us>
21141
21142         * dispatcher-daemon/NetworkManagerDispatcher.c
21143           info-daemon/NetworkManagerInfo.[ch]
21144           info-daemon/NetworkManagerInfoDbus.c
21145           info-daemon/NetworkManagerInfoPassphraseDialog.c
21146           src/NetworkManager.c
21147           src/NetworkManagerAP.c
21148           src/NetworkManagerAPList.c
21149           src/NetworkManagerDbus.c
21150           src/NetworkManagerDevice.c
21151           src/NetworkManagerPolicy.c
21152           src/NetworkManagerUtils.[ch]
21153           src/NetworkManagerWireless.c
21154                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
21155
21156         * src/NetworkManager.c
21157                 - Fixed usage wording for --no-daemon
21158
21159 2004-08-23  Dan Williams <dcbw@redhat.com>
21160
21161         * panel-applet/NMWirelessApplet.c
21162                 - Update our state every second to get more responsive panel icon
21163                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
21164                         was causing our marching ants status blips to never move when
21165                         looking for a wireless network
21166
21167         * src/NetworkManagerDevice.c
21168                 - (nm_device_activation_begin): return if activation has already begun
21169                 - (nm_device_do_normal_scan): merge WEP key and priority from the
21170                         trusted/preferred network into the device's access point when the
21171                         scan list is processed
21172
21173 2004-08-23  Dan Williams <dcbw@redhat.com>
21174
21175         * initscript/NetworkManager
21176                 - Use NMLaunchHelper rather than sleeping
21177
21178         * initscript/NMLaunchHelper.c
21179           Makefile.am
21180                 - Add helper program that exits only when NM activates a device,
21181                         or 10 seconds have passed, whichever happens first.  This
21182                         stops the boot processes until we have a network connection,
21183                         which NM can't do because it daemonizes and brings the connection
21184                         up in the background.  Allows stuff like NFS to not die.
21185
21186 2004-08-20  Dan Williams <dcbw@redhat.com>
21187
21188         * info-daemon/NetworkManagerInfoPassphraseDialog.c
21189                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
21190                         for a network, set the essid as well since it may not exist yet
21191                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
21192                         since WEP keys/passphrases are long and prone to entry-error
21193
21194         * panel-applet/Makefile.am
21195           panel-applet/wired.png
21196                 - Add (pulled from system-config-network temporarily)
21197
21198         * panel-applet/NMWirelessApplet.[ch]
21199                 - Show wired picture when a wired connection is used
21200                 - Rename wireless icon enums, adding WIRELESS
21201
21202         * src/NetworkManagerDevice.c
21203                 - (nm_device_activate_wireless): unset encryption before bringing
21204                         down the card and setting the essid
21205                 - (nm_device_activatin_worker): request a key from the user if the
21206                         AP we are connecting to is encrypted but we don't have a key
21207                         for it yet
21208                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
21209                         strcmp() that prevented a user-entered key from actually getting
21210                         used
21211
21212 2004-08-16  Dan Williams <dcbw@redhat.com>
21213
21214         * initscript/NetworkManager
21215                 - Check for /sbin/ip
21216                 - Do sysctl magic that network service does
21217                 - sleep 4s after start to allow network time to come up [hack]
21218
21219         * src/Makefile.am
21220           src/NMLoadModules
21221                 - Load all network device kernel modules (hal doesn't know devices
21222                         are ethernet until the module is loaded, and therefore we don't know)
21223
21224         * src/NetworkManager.c
21225                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
21226                         network devices, and bring up the loopback device explicitly
21227
21228         * src/NetworkManagerUtils.[ch]
21229                 - (nm_enable_loopback): new function
21230
21231 2004-08-13  Dan Williams <dcbw@redhat.com>
21232
21233         * configure.in
21234           panel-applet/Makefile.am
21235                 - Fix up cleanfiles and server_DATA/server_in_files
21236
21237         * README
21238                 - Update with some comments on theory of operation
21239
21240         * CONTRIBUTING
21241           Makefile.am
21242                 - Add CONTRIBUTING
21243
21244 2004-08-12  Dan Williams <dcbw@redhat.com>
21245
21246         * info-daemon/passphrase.glade
21247                 - Set window title to " "
21248
21249         * panel-applet/Makefile.am
21250           panel-applet/keyring.png
21251                 - Deliver to correct place
21252
21253         * panel-applet/NMWirelessApplet.[ch]
21254                 - Add comments
21255                 - Remove applet->have_active_device as its no longer used
21256                 - (nmwa_load_theme): load keyring.png too
21257                 - (error_dialog): remove
21258                 - (show_warning_dialog): subsume functionality of error dialog too
21259                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
21260                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
21261                         the networks menu
21262                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
21263                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
21264                         and when we get broadcasts of changed wireless access points only, not when the
21265                         user clicks on the button to display the menu (too long of a wait)
21266                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
21267                         networks that are encrypted
21268                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
21269                         menu item with g_object_set_data()
21270
21271         * panel-applet/NMWirelessAppletDbus.[ch]
21272                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
21273                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
21274                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
21275                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
21276                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
21277                         activation/deactivation signals and rebuild the menu when they happen
21278
21279         * src/NetworkManager.c
21280                 - (main): use new nm_spawn_process() rather than system()
21281
21282         * src/NetworkManagerDbus.c
21283                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
21284                         instead.  Since we can now force best_aps to stick around, the AP structure to which
21285                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
21286                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
21287                         to freeze the best_ap.
21288
21289         * src/NetworkManagerDevice.[ch]
21290                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
21291                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
21292                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
21293                         ap list
21294
21295         * src/NetworkManagerUtils.[ch]
21296                 - (nm_spawn_process): add replacement for system() usage
21297
21298 2004-08-11  Dan Williams <dcbw@redhat.com>
21299
21300         * panel-applet/NMWirelessApplet.[ch]
21301                 - Fix up copyright and credits to include Bastien and Eskil,
21302                         who created the gnome-applets wireless applet, from whose
21303                         skeleton this one was created
21304                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
21305                         pixmap to draw is computed during nmwa_update_state()
21306                 - Applet now shows itself all the time due to panel packing issues
21307                         which caused the applet to previously never come back after hiding.
21308                         When a wired device is the active device, the applet shows "not connected"
21309
21310         * panel-applet/NMWirelessAppletDbus.[ch]
21311                 - Clean up error messages and show what function they are from
21312                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
21313                 - Add new device type getters, and a status getter
21314
21315         * src/NetworkManagerDbus.c
21316                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
21317                         network is actually in the device's ap list
21318                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
21319
21320         * src/NetworkManagerDevice.c
21321                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
21322                         card
21323
21324         * test/nmclienttest.c
21325                 - Report status of NetworkManager too
21326
21327 2004-08-11  Dan Williams <dcbw@redhat.com>
21328
21329         * info-daemon/NetworkManagerInfo.c:
21330                 - (main): clean up Seth's code style
21331
21332         * info-daemon/NetworkManagerInfoDbus.c:
21333                 - Use the more aptly-named path/service/interface constants from NetworkManager
21334                 - Don't return empty strings ("") as object paths ever, instead return errors
21335
21336         * panel-applet/NMWirelessApplet.c:
21337                 - Clean up Seth's code style
21338
21339         * src/NetworkManager.[ch]
21340                 - (nm_remove_device_from_list): remove anything having to do with pending_device
21341                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
21342
21343         * src/NetworkManagerAPList.[ch]
21344                 - Move Iter struct right above the iter functions to preserve opacity
21345                 - (nm_ap_list_remove_ap): implement
21346                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
21347                         remove AP if NetworkManagerInfo doesn't know anything about it
21348                 - (nm_ap_list_diff): user NMAPList iterators
21349                 - (nm_ap_list_print_members): implement debugging function
21350
21351         * src/NetworkManagerDbus.[ch]
21352                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
21353                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
21354                         and move the actual key setting stuff into NetworkManagerDevice.c
21355                 - (nm_dbus_get_network_priority): return -1 now on errors
21356                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
21357                         get lost, and force the active device to update its "best" ap when AP lists change
21358                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
21359                         method call due to pending_device member removal
21360
21361         * src/NetworkManagerDevice.[ch]
21362                 - Move NMDevice structure to the top
21363                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
21364                 - Remove Pending Action stuff from everywhere
21365                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
21366                         activation for us.  This thread blocks until all conditions for activation have
21367                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
21368                         then setup up the interface and runs dhclient.  We have to do this because there
21369                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
21370                         run our main loop and respond to dbus method calls or HAL device removals/inserts
21371                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
21372                         can tell nm_device_activation_worker() that we've got a key
21373                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
21374                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
21375                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
21376                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
21377
21378         * src/NetworkManagerPolicy.c
21379                 - Remove anything to do with pending_device
21380                 - Adjust device activation to deal with activation-in-worker-thread
21381
21382         * src/NetworkManagerUtils.c
21383                 - Clean up locking debugging a bit
21384
21385         * src/NetworkManagerWireless.[ch]
21386                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
21387                         was badly named and is better as a device function
21388
21389         * panel-applet/.cvsignore: add
21390
21391 2004-08-09  Seth Nickell  <seth@gnome.org>
21392
21393         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
21394         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
21395         (nmwa_new):
21396         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
21397
21398         Don't load the menus until clicked on (also removes a call outside
21399         normal code paths at first load).
21400
21401         Hide applet when NM is not present.
21402         
21403         Improve printf debugging stuff.
21404         
21405 2004-08-09  Dan Williams <dcbw@redhat.com>
21406
21407         * dispatcher-daemon/NetworkManagerDispatcher.c:
21408                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
21409                 - Use constants for NetworkManager interface, service, and path
21410
21411 2004-08-09  Dan Williams <dcbw@redhat.com>
21412
21413         * src/NetworkManagerDbus.c:
21414                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
21415                         instead return an error message
21416                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
21417                         on a wired device.  Also never return an empty object path, instead return an error message
21418
21419 2004-08-06  Seth Nickell  <seth@gnome.org>
21420
21421         * panel-applet/NMWirelessApplet.c: (nmwa_new):
21422
21423         Check the error code when getting a connection.
21424         
21425         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
21426
21427         Check if the NM service exists when initializing (rather than
21428         assuming it does not).
21429         
21430         * src/NetworkManagerDbus.c: (nm_dbus_init):
21431
21432         Don't acquire the well-known service name until we have
21433         registered object/path handlers and can actually receive
21434         calls.
21435         
21436 2004-08-06  Dan Williams <dcbw@redhat.com>
21437
21438         * panel-applet/*
21439                 - Add panel applet
21440
21441         * src/NetworkManagerPolicy.c
21442           src/NetworkManager.c
21443                 - Get access point lists from NetworkManagerInfo on-demand,
21444                         and look for ServiceCreate/ServiceDeleted signals to see when
21445                         we should query NMI for lists
21446         * src/NetworkManagerAPList.c
21447                 - Make sure to init the list's mutex
21448                 - Convert traversals of the list over to the list iter functions
21449
21450         * src/NetworkManagerDbus.[ch]
21451                 - Use more aptly-named path/service/interface constants
21452                 - Treat both active and pending devices the same for "getActiveDevice"
21453                 - Add a "status" method returning "connected", "connecting", or "disconnected"
21454
21455         * src/NetworkManagerDevice.c
21456                 - Honor "ignored" network list when picking best ap to use
21457
21458 2004-08-06  Seth Nickell  <seth@gnome.org>
21459
21460         * aclocal.m4:
21461
21462         Autogenerated, remove from CVS.
21463         
21464         * autogen.sh:
21465
21466         Don't hardcode automake version.
21467         
21468         * configure.in:
21469         * info-daemon/Makefile.am:
21470         * info-daemon/NetworkManagerInfo.c: (main):
21471
21472         Use GnomeProgram et al. for doing session management.
21473         Use popt stuff for argument parsing rather than doing
21474         it manugally.
21475         
21476 2004-08-05  Dan Williams <dcbw@redhat.com>
21477
21478         * test/nminfotest.c
21479                 - Update to new NMI dbus API, check different network types
21480
21481         * info-daemon/NetworkManagerInfoDbus.c
21482                 - Update to new NM dbus API, ie network type sent in query message
21483
21484 2004-08-05  Dan Williams <dcbw@redhat.com>
21485
21486         * An assload of changes
21487
21488 2004-08-02  Dan Williams <dcbw@redhat.com>
21489
21490         * TODO
21491                 - new task: proper logging support
21492
21493         * info-daemon/NetworkManagerInfo.c
21494                 - Correct spelling of "canceled"
21495                 - Correct casting of objects for g_signal_connect()
21496
21497         * info-daemon/NetworkManagerInfoDbus.c
21498                 - Add defines for NetworkManager namespace and object path, and use them
21499                 - Add filter function to trap new signals from NetworkManager:
21500                         WirelessNetworkAppeared, WirelessNetworkDisappeared
21501
21502         * info-daemon/passphrase.glade
21503                 - Change name of "ok" button to "Login to Network..."
21504                 - Mark invisible
21505
21506         * src/NetworkManager.c
21507                 - Code and debug message cleanups
21508                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
21509                 - (nm_add_initial_devices) Check returned string array of devices
21510                         and don't try to add devices if array is NULL
21511                 - (main) Initialize libhal a bit later, make code a bit clearer
21512
21513         * src/NetworkManagerAP.[ch]
21514                 - New accessor and data member "matched": used to speed up AP list
21515                         diffing
21516                 - New accessor and data member "enc_method": will be used during key
21517                         fallback to cache which passphrase->key conversion actually works
21518                         so we don't have to do it every time
21519
21520         * src/NetworkManagerAPList.[ch]
21521                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
21522                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
21523                         between them, and send WirelessNetworkAppeared/Disappeared signals over
21524                         dbus in response to those differences
21525
21526         * src/NetworkManagerDbus.[ch]
21527                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
21528                         make an object path for that access point (NOTE that we don't yet check to
21529                         make sure that access point is actually in the device's AP list yet)
21530                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
21531                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
21532                         New: signal appearance/disappearance of wireless networks
21533                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
21534                         key entry
21535
21536         * src/NetworkManagerDevice.[ch]
21537                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
21538                 - (nm_device_ap_list_get) New: return the AP list (static function)
21539                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
21540                         new one resulting from the scan with the old one
21541
21542         * src/NetworkManagerWireless.c
21543                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
21544
21545         * test/nminfotest.c
21546                 - #define object paths and namespaces and use the #defines rather than static strings
21547                 - Test out user-key functionality of NetworkManagerInfo too
21548
21549 2004-07-29  Dan Williams <dcbw@redhat.com>
21550
21551         * info-daemon/NetworkManagerInfoDbus.c
21552           src/NetworkManagerDbus.c
21553                 - Update to current DBus (ie don't use decomposed paths when registering
21554                         object paths/fallbacks)
21555
21556 2004-07-27  Dan Williams <dcbw@redhat.com>
21557
21558         * Remove various Makefile.in files
21559
21560         * TODO
21561                 - Add some more items
21562
21563         * configure.in
21564                 - Add checks for OpenSSL/md5 headers and libs
21565
21566         * src/Makefile.am
21567                 - Use OpenSSL CFLAGS
21568
21569         * src/NetworkManagerAP.[ch]
21570                 - Remove 'stamp' functions, replace with 'invalid' functions
21571                         to support user cancelling WEP key entry
21572
21573         * src/NetworkManagerDbus.c
21574                 - Remove 'stamp' return functions
21575                 - Treat returned user key as a passphrase and convert to a WEP key,
21576                         but don't actually use the WEP key yet.  We use the returned user
21577                         key as a hexadecimal WEP key until we can figure out a UI for
21578                         passphrase-vs-hex key
21579
21580         * src/NetworkManagerWireless.[ch]
21581                 - Add passphrase-to-128bit-key function
21582
21583 2004-07-27  Dan Williams <dcbw@redhat.com>
21584
21585         * TODO
21586                 - Add a couple of items
21587
21588 2004-07-27  Dan Williams <dcbw@redhat.com>
21589
21590         * info-daemon/NetworkManagerInfo.c
21591                 - Update allowed network's GConf key when user enters a WEP key explicitly
21592
21593         * info-daemon/NetworkManagerDbus.c
21594                 - Fix some comments
21595                 - nmi_dbus_get_allowed_networks(): kill warning
21596
21597 2004-07-27  Dan Williams <dcbw@redhat.com>
21598
21599         * initscript/Makefile.in
21600                 - Remove
21601
21602         * initscript/Makefile.am
21603                 - Add correct rules to install the init.d initscript
21604
21605         * info-daemon/NetworkManagerInfoDbus.c
21606                 - Remove debug fprintf
21607
21608         * src/NetworkManagerDbus.[ch]
21609                 - Remove debug fprintfs
21610                 - Add macros for NetworkManagerInfo object path/namespace
21611                 - Use said macros instead of constant strings
21612
21613 2004-07-27  Dan Williams <dcbw@redhat.com>
21614
21615         * initscript/.cvsignore
21616                 - Add
21617
21618         * info-daemon/Makefile.am
21619                 - Install .glade files and keyring.png
21620                 - Fix stupid omission of a \ that caused half the flags not to be
21621                         passed to gcc
21622
21623         * info-daemon/NetworkManagerInfo.c
21624                 - gtk_signal_connect->g_signal_connect
21625                 - Alert NetworkManagerInfo to new glade file location
21626
21627 2004-07-27  Dan Williams <dcbw@redhat.com>
21628
21629         * test/nmclienttest.c
21630           test/nminfotest.c
21631                 - Add missing <dbus/dbus.h> headers
21632                 - Add GPL message at top
21633
21634 2004-07-27  Dan Williams <dcbw@redhat.com>
21635
21636         * src/NetworkManagerAPList.[ch]
21637           src/Makefile.am
21638                 - Add.  Deal with allowed network list additions, deletions, and updates
21639
21640         * dispatcher-daemon/NetworkManagerDispatcher.c
21641                 - Add missing <dbus/dbus.h> header
21642
21643         * info-daemon/NetworkManagerInfo.[ch]
21644                 - Add missing <dbus/dbus.h> header
21645                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21646                         network change
21647                 - Better error checking
21648
21649         * info-daemon/NetworkManagerInfoDbus.[ch]
21650                 - Add missing <dbus/dbus.h> header
21651                 - Convert to using dbus_message_append_args/dbus_message_get_args
21652                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21653                         that an allowed network changed.  We don't want to signal on individual
21654                         keys _inside_ an allowed network really, just want NM to query the info
21655                         daemon for updated info on all keys.
21656                 - Better error checking
21657
21658         * src/NetworkManager.[ch]
21659                 - Add missing <dbus/dbus.h> header
21660                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21661                 - Zero out NMData structure on free
21662                 - No longer use a thread for allowed_ap_list updating, instead its now done
21663                         through dbus queries against NetworkManagerInfo
21664                 - Populate allowed_ap_list initially before adding existing network devices
21665                         to the device list, so wireless devices can get their "best" AP
21666
21667         * src/NetworkManagerDbus.[ch]
21668                 - Convert to using dbus_message_append_args/dbus_message_get_args
21669                 - Better error checking
21670                 - Implement Allowed Network info functions to request allowed network
21671                         info from NetworkManagerInfo
21672                 - Implement the filter function to process signals from NetworkManagerInfo
21673                         about changing allowed networks
21674
21675         * src/NetworkManagerDevice.c
21676                 - Fix file descriptor leak in nm_device_update_ip4_address()
21677
21678 2004-07-27  Dan Williams <dcbw@redhat.com>
21679
21680         * .cvsignore
21681           src/.cvsignore
21682           test/.cvsignore
21683           dispatcher-daemon/.cvsignore
21684           info-daemon/.cvsignore
21685                 - Add .cvsignore files to reduce noise when diffing
21686
21687 2004-07-24  Dan Williams <dcbw@redhat.com>
21688
21689         * src/NetworkManager.[ch]
21690           src/NetworkManagerDbus.[ch]
21691           src/NetworkManagerDevice.[ch]
21692           src/NetworkManagerPolicy.c
21693           src/NetworkManagerWireless.[ch]
21694                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21695                 - Pass the NMData application data structure through all calls
21696                         that need it so we can get rid of nm_get_global_data()
21697                 - Change deallocation of the allowed_ap_list GSList in preparation
21698                         for not completely clearing it every time we get an update,
21699                         but instead getting incremental updates via GConf/dbus
21700
21701 2004-07-22  Dan Williams <dcbw@redhat.com>
21702
21703         * configure.in
21704                 - Add checks for GConf libs & headers & flags
21705
21706         * info-daemon/Makefile.am
21707                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21708
21709         * info-daemon/NetworkManagerInfo.[ch]
21710                 - Don't use gquarks for data storage, just use normal data storage
21711                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21712
21713         * info-daemon/NetworkManagerDbus.[ch]
21714                 - Add method call for getting allowed networks
21715                 - Add method calls for getting an allowed network's essid, priority, and key
21716                 - Hook the method calls up to GConf
21717                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21718                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21719                 
21720         * src/NetworkManagerDbus.[ch]
21721                 - Switch for enumeration of networks to using essid instead
21722
21723         * test/Makefile.am
21724           test/nminfotest.c
21725                 - Add test program for NetworkManagerInfo
21726
21727 2004-07-19  Dan Williams <dcbw@redhat.com>
21728
21729         * src/NetworkManagerDbus.c
21730                 - Switch from indexed device paths to names.  Less code, more efficient.
21731                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21732
21733 2004-07-19  Dan Williams <dcbw@redhat.com>
21734
21735         * dispatcher-daemon/NetworkManagerDispatcher.c
21736                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21737
21738 2004-07-19  Dan Williams <dcbw@redhat.com>
21739
21740         * Makefile.am
21741                 - Add info-daemon directory
21742
21743         * configure.in
21744                 - Check for glade libs and headers
21745                 - Add info-daemon directory
21746
21747         * src/NetworkManagerAP.c
21748                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21749                         copied over to the new AP.
21750
21751         * src/NetworkManagerDbus.c
21752           src/NetworkManagerDbus.h
21753                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21754                 - Remove nm_dbus_signal_need_key_for_network()
21755                 - Add disabled code for asynchronous user wep key callbacks
21756                 - Add functions for getting, setting, and cancelling user key operations
21757                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21758                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21759
21760         * src/NetworkManagerDevice.c
21761           src/NetworkManagerDevice.h
21762                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21763                         logic is in device activation now
21764                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21765                         key is wrong) trigger get-user-key pending action
21766                 - Implement get-user-key pending action stuff, tie to dbus messages
21767                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21768                 - Add nm_device_ap_list_get_ap_by_essid()
21769                 - Instead of copying "best" access points, ref them instead so that the key we set
21770                         sticks around
21771
21772         * src/NetworkManagerPolicy.c
21773                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21774                 - Don't cancel pending actions on a device if its the same device as last iteration
21775                 - Only promote pending_device->active_device if activation was successfull
21776
21777         * src/Makefile.am
21778                 - Rename nmclienttest->nmtest
21779
21780         * info-daemon/Makefile.am
21781           info-daemon/NetworkManagerInfo.c
21782           info-daemon/NetworkManagerInfo.h
21783           info-daemon/NetworkManagerInfoDbus.c
21784           info-daemon/NetworkManagerInfoDbus.h
21785           info-daemon/passphrase.glade
21786           info-daemon/NetworkManagerInfo.conf
21787           info-daemon/keyring.png
21788                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21789                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21790                         lists to NetworkManager by proxying user's GConf
21791           
21792
21793 2004-07-15  Dan Williams <dcbw@redhat.com>
21794
21795         * src/Makefile.am
21796                 - Turn on warnings
21797
21798         * src/NetworkManager.c
21799                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21800                         that doing the deactivation ourselves
21801                 - Cancel an pending actions on a device if its being removed
21802                 - Break up link state checking a bit, make non-active wireless cards
21803                         deactivated to save power
21804                 - Remove unused variables
21805
21806         * src/NetworkManager.h
21807                 - Add support for "pending" device
21808
21809         * src/NetworkManagerAP.h
21810           src/NetworkManagerAP.c
21811                 - Add support for determining whether and AP has encryption enabled or not
21812                 - AP address is now "struct ether_addr" rather than a string
21813
21814         * src/NetworkManagerDbus.h
21815           src/NetworkManagerDbus.c
21816                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21817                 - Changes for AP address from struct ether_addr->string
21818
21819         * src/NetworkManagerDevice.h
21820           src/NetworkManagerDevice.c
21821                 - Remove unused variables, fix warnings
21822                 - Add support for Pending Actions (things that block a device from being "active"
21823                         until they are completed).
21824                 - First pending action:  Get a WEP key from the user
21825                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
21826                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
21827                 - Update wireless link checking to try to determine if the AP we are associated
21828                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
21829                         trigger the GetUserKey pending action on the device
21830                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
21831                         up in that case, otherwise we can't scan or link-check on it
21832                 - Add IP address change notifications at appropriate points (still needs some work)
21833                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
21834
21835         * src/NetworkManagerPolicy.h
21836           src/NetworkManagerPolicy.c
21837                 - Split out "best" access point determiniation into separate function
21838                 - Make device activation 2-stage:  first the device is pending, then
21839                         in the next iteration through it becomes "active" unless it has
21840                         pending actions
21841
21842         * src/NetworkManagerUtils.h
21843           src/NetworkManagerUtils.c
21844                 - Clean up unused variables and warnings
21845                 - Wrap our debug macros in {} to prevent possible confusion
21846
21847         * src/NetworkManagerWireless.c
21848                 - Forgot to return current best priority, which lead to last available AP always
21849                         being chosen no matter what its priority was.  Corrected.
21850
21851 2004-07-15  Dan Williams <dcbw@redhat.com>
21852
21853         * dispatcher-daemon/Makefile.am
21854                 - Turn on warnings
21855
21856         * dispatcher-daemon/NetworkManagerDispatcher.c
21857                 - Remove unused variables due to warnings
21858                 - Fix some comments
21859                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
21860
21861 2004-07-06  Dan Williams <dcbw@redhat.com>
21862
21863         * src/NetworkManager.c
21864                 - Add IPv4 address update for active device during link state check
21865                 - Don't allow wireless cards to be powered up when they are not the
21866                         active device
21867
21868         * src/NetworkManagerDbus.c
21869           src/NetworkManagerDbus.h
21870                 - Add DBUS IPv4 address change signal
21871                 - Add DBUS IPv4 address get method for devices
21872
21873         * src/NetworkManagerDevice.c
21874                 - Make setting the WEP key actually work
21875                 - Move IP address get/set/update stuff here, per-device
21876                 - Power down/bring down wireless device when deactivated
21877                 - For scanning wireless devices, if first scan returned ENODATA, try again
21878
21879         * src/NetworkManagerPolicy.c
21880                 - Only set the WEP key for an allowed access point if there is one.
21881                         We were setting it to be blank if one wasn't specified.
21882
21883         * src/NetworkManagerUtils.h
21884           src/NetworkManagerUtils.c
21885                 - Move the IP address stuff to NetworkManagerDevice.c
21886
21887         * dispatcher-daemon/NetworkManagerDispatcher.c
21888                 - Add device IPv4 address change notification stuff
21889
21890 2004-07-05  Dan Williams <dcbw@redhat.com>
21891
21892         * dispatcher-daemon/NetworkManagerDispatcher.c
21893                 - A bit more descriptive state message
21894                 - Don't segfault when reading directory
21895
21896         * src/NetworkManager.h
21897                 - Remove NMData desired_ap member, its now
21898                         per-device rather than global
21899
21900         * src/NetworkManager.c
21901                 - Remove references to desired_ap
21902                 - Move the allowed AP list refresh stuff into a thread
21903
21904         * src/NetworkManagerDevice.c
21905           src/NetworkManagerDevice.h
21906                 - Each wireless device now has a "best ap"
21907                 - Make device activate/deactivate functions per-device
21908                 - Make wireless scanning per-device
21909                 - Add IPv4 address discover functions, stub IPv6 ones
21910                 - Move ethernet address validation functions to NetworkManagerUtils.c
21911                 - Add wireless access point accessor function
21912                 - Get/Set functions for "best ap"
21913
21914         * src/NetworkManagerPolicy.c
21915                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
21916                 - Deal with per-device "best ap" rather than data->desired_apa
21917                 - Implement allowed access point worker thread
21918                 - Add nm_policy_essid_is_allowed() function
21919
21920         * src/NetworkManagerUtils.c
21921           src/NetworkManagerUtils.h
21922                 - Add nm_ethernet_address_is_valid() function
21923                 - Add IPv4/IPv6 address get functions
21924
21925         * src/NetworkManagerWireless.c
21926           src/NetworkManagerWireless.h
21927                 - Move scanning stuff into NetworkManagerDevice.c, per-device
21928
21929 2004-06-29  Dan Williams <dcbw@redhat.com>
21930
21931         * dispatcher-daemon/NetworkManagerDispatcher.c
21932                 - Implement script callout functionality
21933
21934 2004-06-24  Dan Williams <dcbw@redhat.com>
21935
21936         * NetworkManager.c
21937             - Spacing cleanups
21938             - Flush device routes and ip addresses when added to the device list
21939
21940         * NetworkManagerDbus.c
21941             - Spacing cleanups
21942             - Add missing returns in the two signal functions
21943         
21944         * NetworkManagerPolicy.c
21945             - Spacing and variable cleanups
21946
21947 2004-06-24  Dan Williams <dcbw@redhat.com>
21948
21949         * Makefile.am
21950           Makefile.in
21951           configure.in
21952           dispatcher-daemon/Makefile.am
21953           dispatcher-daemon/Makefile.in
21954           dispatcher-daemon/NetworkManagerDispatcher.c
21955             - Add a daemon that receives signals from NetworkManager
21956                         and will (eventually) call scripts in /etc/somewhere
21957                         when devices go up or down.
21958         
21959         * NetworkManager.c
21960             - Spacing cleanups
21961             - Flush device routes and ip addresses when added to the device list
21962
21963         * NetworkManagerDbus.c
21964             - Spacing cleanups
21965             - Add missing returns in the two signal functions
21966         
21967         * NetworkManagerPolicy.c
21968             - Spacing and variable cleanups
21969             - Rename nm_policy_switch_interface->nm_policy_switch_device
21970             - nm_policy_switch_device():
21971                                 Use kill (pid) instead of system ("kill <pid>")
21972             - nm_state_modification_monitor():
21973                                 Add wireless essid to output of debug statements
21974                                 Correct typo in device compare to switch or not (should be !=)
21975                                 Don't sleep after sending "no longer active" signal, was useless
21976
21977 2004-06-24  Dan Williams <dcbw@redhat.com>
21978
21979         * Initial import