2008-11-20 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-11-20  Dan Williams  <dcbw@redhat.com>
2
3         * libnm-util/Makefile.am
4           libnm-util/nm-utils-private.h
5                 - New header for internal utils private functions
6
7         * libnm-util/libnm-util.ver
8           libnm-util/nm-utils.c
9           libnm-util/nm-utils.h
10                 - Document some functions
11                 - (nm_utils_string_in_list, nm_utils_string_list_contains,
12                    nm_utils_string_slist_validate): un-export, only used within
13                         libnm-util or of limited use in general, and very easy to
14                         re-implement by apps if needed
15
16         * libnm-util/nm-setting-8021x.c
17           libnm-util/nm-setting-wired.c
18           libnm-util/nm-setting-wireless-security.c
19           libnm-util/nm-setting-wireless.c
20                 - Update for private nm_utils_string_* functions
21
22 2008-11-20  Dan Williams  <dcbw@redhat.com>
23
24         * libnm-util/libnm-util.ver
25           libnm-util/nm-setting.c
26           libnm-util/nm-setting.h
27                 - Add NMSetting errors
28                 - (nm_setting_update_secrets): return errors
29
30         * libnm-util/nm-connection.c
31           libnm-util/nm-connection.h
32                 - (nm_connection_update_secrets): return errors
33
34         * libnm-util/nm-setting-vpn.c
35           src/nm-activation-request.c
36           src/vpn-manager/nm-vpn-connection.c
37                 - Handle update secrets errors
38
39 2008-11-20  Dan Williams  <dcbw@redhat.com>
40
41         * libnm-util/nm-setting.c
42           libnm-util/nm-setting.h
43           libnm-util/libnm-util.ver
44                 - (nm_setting_new_from_hash): rename from nm_setting_from_hash() to be
45                         consistent with nm_connection_new_from_hash()
46
47         * src/nm-activation-request.c
48           libnm-util/nm-connection.c
49                 - Handle rename
50
51 2008-11-19  Dan Williams  <dcbw@redhat.com>
52
53         * configure.in
54           Makefile.am
55           docs/libnm-util/Makefile.am
56           docs/libnm-util/libnm-util.types
57                 - Start to document libnm-util
58
59 2008-11-19  Dan Williams  <dcbw@redhat.com>
60
61         * libnm-util/nm-connection.h
62           libnm-util/nm-connection.c
63                 - Document public functions
64
65 2008-11-19  Dan Williams  <dcbw@redhat.com>
66
67         * libnm-util/nm-setting.h
68           libnm-util/nm-setting.c
69           src/nm-device.c
70           src/nm-manager.c
71           system-settings/plugins/ifcfg-fedora/plugin.c
72                 - Prefix compare flag defines with NM_SETTING_
73
74 2008-11-19  Dan Williams  <dcbw@redhat.com>
75
76         * libnm-util/nm-connection.c
77           libnm-util/nm-connection.h
78                 - (nm_connection_replace_settings): take a GError
79
80         * libnm-glib/nm-settings.c
81           libnm-glib/nm-dbus-connection.c
82           src/nm-manager.c
83           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
84           system-settings/plugins/keyfile/nm-keyfile-connection.c
85           system-settings/plugins/keyfile/plugin.c
86                 - Handle, or don't handle, errors from nm_connection_replace_settings()
87
88 2008-11-19  Dan Williams  <dcbw@redhat.com>
89
90         * libnm-util/libnm-util.ver
91           libnm-util/nm-connection.c
92                 - (nm_setting_register, nm_setting_unregister): unexport; they are
93                         private and don't have a use outside libnm-util
94
95 2008-11-17  Dan Williams  <dcbw@redhat.com>
96
97         * src/nm-hso-gsm-device.c
98                 - (real_connection_secrets_updated): handle PIN/PUK correctly for HSO
99                         devices
100
101 2008-11-17  Dan Williams  <dcbw@redhat.com>
102
103         * system-settings/plugins/ifcfg-fedora/reader.c
104                 - (read_mac_address): clean up
105                 - (make_wireless_setting): pass NULL array to read_mac_address() like it
106                         expects
107
108         * system-settings/plugins/ifcfg-fedora/plugin.c
109                 - (read_one_connection): don't segfault on NULL errors
110
111 2008-11-14  Dan Williams  <dcbw@redhat.com>
112
113         * Tag 0.7.0-rc2
114
115 2008-11-14  Dan Williams  <dcbw@redhat.com>
116
117         Handle gateways on different subnets
118
119         * src/NetworkManagerSystem.c
120                 - (add_ip4_route_to_gateway): gateway route should be link scope and
121                         a host route
122                 - (replace_default_ip4_route): use a destination address too; gateway
123                         address should be /0; don't leak the gateway route object
124
125 2008-11-14  Dan Williams  <dcbw@redhat.com>
126
127         * libnm-glib/libnm_glib.ver
128           libnm-glib/nm-dbus-settings-system.c
129           libnm-glib/nm-dbus-settings-system.h
130                 - Add libnm-glib bits for CanModify
131
132 2008-11-14  Dan Williams  <dcbw@redhat.com>
133
134         * introspection/nm-settings-system.xml
135           system-settings/src/dbus-settings.c
136           system-settings/src/dbus-settings.h
137                 - Add a "CanModify" property to indicate if any plugins support
138                         connection modification
139
140 2008-11-14  Dan Williams  <dcbw@redhat.com>
141
142         Relicense libnm-glib to LGPLv2+ with agreement from contributors
143
144 2008-11-14  Dan Williams  <dcbw@redhat.com>
145
146         * vpn-manager/nm-vpn-connection.c
147                 - (plugin_state_changed): clear VPN secrets on error to ensure they
148                         are always requested from the settings service (rh #429287)
149
150 2008-11-13  Dan Williams  <dcbw@redhat.com>
151
152         * libnm-util/crypto.c
153                 - (crypto_get_private_key_data): fix bad initial arg type checking
154                         from pkcs#12 patch
155
156 2008-11-13  Dan Williams  <dcbw@redhat.com>
157
158         Add support for PKCS#12 private keys (bgo #558982)
159
160         * libnm-util/crypto.c
161           libnm-util/crypto.h
162                 - (parse_old_openssl_key_file): rename from parse_key_file(); adapt to
163                         take a GByteArray instead of a filename
164                 - (file_to_g_byte_array): handle private key files too
165                 - (decrypt_key): take a GByteArray rather than data + len
166                 - (crypto_get_private_key_data): refactor crypto_get_private_key() into
167                         one function that takes a filename, and one that takes raw data;
168                         detect pkcs#12 files as well
169                 - (crypto_load_and_verify_certificate): detect file type
170                 - (crypto_is_pkcs12_data, crypto_is_pkcs12_file): add pkcs#12 detection
171                         functions
172
173         * libnm-util/crypto_gnutls.c
174                 - (crypto_decrypt): take GByteArray rather than data + len; fix a bug
175                         whereby tail padding was incorrectly handled, leading to erroneous
176                         successes when trying to decrypt the data
177                 - (crypto_verify_cert): rework somewhat
178                 - (crypto_verify_pkcs12): validate pkcs#12 keys
179
180         * libnm-util/crypto_nss.c
181                 - (crypto_init): enable various pkcs#12 ciphers
182                 - (crypto_decrypt): take a GByteArray rather than data + len
183                 - (crypto_verify_cert): clean up
184                 - (crypto_verify_pkcs12): validate pkcs#12 keys
185
186         * libnm-util/test-crypto.c
187                 - Handle pkcs#12 keys
188
189         * libnm-util/nm-setting-8021x.c
190           libnm-util/nm-setting-8021x.h
191           libnm-util/libnm-util.ver
192                 - Add two new properties, 'private-key-password' and
193                         'phase2-private-key-password', to be used in conjunction with
194                         pkcs#12 keys
195                 - (nm_setting_802_1x_set_ca_cert_from_file,
196                    nm_setting_802_1x_set_client_cert_from_file,
197                    nm_setting_802_1x_set_phase2_ca_cert_from_file,
198                    nm_setting_802_1x_set_phase2_client_from_file): return certificate
199                         type
200                 - (nm_setting_802_1x_get_private_key_password,
201                    nm_setting_802_1x_get_phase2_private_key_password): return private
202                         key passwords
203                 - (nm_setting_802_1x_set_private_key_from_file,
204                    nm_setting_802_1x_set_phase2_private_key_from_file): set the private
205                         key from a file, and update the private key password at the same time
206                 - (nm_setting_802_1x_get_private_key_type,
207                    nm_setting_802_1x_get_phase2_private_key_type): return the private
208                         key type
209
210         * src/supplicant-manager/nm-supplicant-settings-verify.c
211                 - Whitelist private key passwords
212
213         * src/supplicant-manager/nm-supplicant-config.c
214                 - (nm_supplicant_config_add_setting_8021x): for pkcs#12 private keys,
215                         add the private key password to the supplicant config, but do not
216                         add the client certificate (as required by wpa_supplicant)
217
218 2008-11-12  Tambet Ingo  <tambet@gmail.com>
219
220         * system-settings/plugins/keyfile/nm-keyfile-connection.c (copy_one_secret)
221         (add_secrets): Don't add empty secrets to the secrets hash table.
222
223 2008-11-07  Dan Williams  <dcbw@redhat.com>
224
225         * libnm-util/nm-setting-wireless.c
226                 - (nm_setting_wireless_get_seen_bssid): fix bug from accessor conversion
227                         that cased this function to return garbage, breaking hidden AP
228                         detection
229
230 2008-11-07  Dan Williams  <dcbw@redhat.com>
231
232         Fix deletion of VPN gateway route on DHCP renew (bgo #558133)
233
234         * src/NetworkManagerSystem.c
235           src/NetworkManagerSystem.h
236                 - (nm_system_device_set_ip4_route): return the route that was added
237                 - (nm_system_add_ip4_vpn_gateway_route): make add_vpn_gateway_route()
238                         public, clean up, and return the route that was added
239                 - (nm_system_apply_ip4_config): remove VPN related stuff to simplify,
240                         since nm_system_add_ip4_vpn_gateway_route() is now available; add
241                         flags to allow only certain attributes of the NMIP4Config to be
242                         applied
243
244         * src/nm-device.c
245                 - (handle_dhcp_lease_change): don't touch the DHCP4 config on failure
246                 - (nm_device_set_ip4_config): use nm_ip4_config_diff() to only apply
247                         what's really changed between the old and new configs; don't export
248                         the new IP4 config on failure; always send the DNS info to the
249                         named manager
250
251         * src/vpn-manager/nm-vpn-connection.c
252                 - (device_ip4_config_changed, nm_vpn_connection_new, dispose): track the
253                         parent device's IP4Config and re-add the VPN gateway route when it
254                         changes
255                 - (nm_vpn_connection_ip4_config_get): add the VPN gateway route (since
256                         nm_system_apply_ip4_config() no longer does) and cache it for later
257                 - (connection_state_changed): move cleanup code to its own function
258                 - (vpn_cleanup): delete any previously added VPN gateway route; and
259                         re-apply the parent device's addresses and routes using
260                         nm_system_apply_ip4_config(), not nm_device_set_ip4_config()
261
262 2008-11-07  Dan Williams  <dcbw@redhat.com>
263
264         * src/nm-ip4-config.c
265           src/nm-ip4-config.h
266                 - (nm_ip4_config_diff): new function; return the difference between two
267                         IP4 configs
268                 - (nm_ip4_config_compare): change into nm_ip4_config_diff
269
270 2008-11-05  Dan Williams  <dcbw@redhat.com>
271
272         * nm-ip4-config.c
273           nm-ip4-config.h
274                 - (nm_ip4_config_compare): compare two IP4 configs
275
276 2008-11-05  Dan Williams  <dcbw@redhat.com>
277
278         * src/NetworkManagerPolicy.c
279                 - (update_etc_hosts): only add newline if not the last line of the file
280                         (Jonathan Miner)
281
282 2008-11-05  Dan Williams  <dcbw@redhat.com>
283
284         * src/dhcp-manager/nm-dhcp-dhclient.c
285                 - (get_leasefile_for_iface): move lease files back to where dhclient
286                         puts them
287
288 2008-11-05  Michael Biebl  <mbiebl@gmail.com>
289
290         * initscripts/Debian/NetworkManager
291                 - Update to what Debian is actually using
292
293 2008-11-05  Tambet Ingo  <tambet@gmail.com>
294
295         * libnm-util/nm-setting-8021x.c: Verify PEAP settings as well.
296
297 2008-11-03  Dan Williams  <dcbw@redhat.com>
298
299         * system-settings/src/main.c
300                 - (add_default_dhcp_connection): make the fallback connection read-only
301
302         * libnm-glib/nm-settings.c
303           libnm-glib/nm-settings.h
304                 - Add detailed errors
305                 - (impl_exported_connection_update, impl_exported_connection_delete):
306                         return an error if the connection is read-only
307
308         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
309           system-settings/plugins/keyfile/nm-keyfile-connection.c
310           system-settings/src/main.c
311                 - Use more detailed errors
312
313         * system-settings/src/nm-system-config-error.c
314           system-settings/src/nm-system-config-error.h
315           system-settings/src/dbus-settings.c
316                 - Remove NM_SYSCONFIG_SETTINGS_ERROR_INVALID_CONNECTION, replaced by
317                         NM_SETTINGS_ERROR_INVALID_CONNECTION
318
319 2008-11-02  Dan Williams  <dcbw@redhat.com>
320
321         * Add license headers to everything in src/
322
323 2008-11-02  Dan Williams  <dcbw@redhat.com>
324
325         * Tag 0.7.0-rc1
326
327 2008-11-02  Dan Williams  <dcbw@redhat.com>
328
329         * src/NetworkManagerAP.c
330                 - (nm_ap_new_fake_from_connection): treat only lack of a wireless security
331                         setting as unencrypted; fixes a bug where NM wouldn't ask for new
332                         secrets when connecting to an encrypted network failed
333
334 2008-10-30  Dan Williams  <dcbw@redhat.com>
335
336         * libnm-util/libnm-util.ver
337           libnm-util/nm-setting-ip6-config.c
338           libnm-util/nm-setting-ip6-config.h
339           libnm-util/Makefile.am
340                 - Make properties private and add accessor functions
341                 - Hide IPv6 stuff from public API, it's incomplete and completely unused
342
343         * libnm-util/nm-connection.c
344           libnm-util/nm-utils.c
345           libnm-util/nm-utils.h
346                 - Ignore IPv6 stuff for now
347
348 2008-10-30  Dan Williams  <dcbw@redhat.com>
349
350         * libnm-util/libnm-util.ver
351           libnm-util/nm-setting-8021x.c
352           libnm-util/nm-setting-8021x.h
353                 - Make properties private and add accessor functions
354
355         * src/supplicant-manager/nm-supplicant-config.c
356           system-settings/plugins/ifcfg-suse/parser.c
357                 - Use 802.1x setting accessors
358
359 2008-10-30  Dan Williams  <dcbw@redhat.com>
360
361         * libnm-util/libnm-util.ver
362           libnm-util/nm-setting-wireless-security.c
363           libnm-util/nm-setting-wireless-security.h
364                 - Make properties private and add accessor functions
365
366         * libnm-util/nm-setting-wireless.c
367           src/NetworkManagerAP.c
368           src/nm-device-wifi.c
369           src/supplicant-manager/nm-supplicant-config.c
370           system-settings/plugins/ifcfg-fedora/reader.c
371           system-settings/plugins/ifcfg-suse/parser.c
372                 - Use wireless security accessors
373
374 2008-10-30  Dan Williams  <dcbw@redhat.com>
375
376         * src/nm-device-ethernet.c
377           src/nm-device-wifi.c
378           src/nm-device.c
379           src/ppp-manager/nm-ppp-manager.c
380                 - Harmonize return checking of ioctl
381
382         * system-settings/plugins/ifcfg-fedora/reader.c
383                 - (is_wireless_device): fall back to SIOCGIWNAME (rh #466340)
384
385 2008-10-30  Dan Williams  <dcbw@redhat.com>
386
387         * src/ppp-manager/nm-ppp-manager.c
388                 - (nm_ppp_manager_start): if /dev/ppp doesn't exist, load the
389                         ppp_generic module to create it (bgo #533064)
390
391 2008-10-30  Dan Williams  <dcbw@redhat.com>
392
393         Patch from Alexander Sack <asac@canonical.com>
394
395         Fix "ppp connections don't honour ip4 connection settings"
396
397         * src/nm-device-ethernet.c
398                 - (real_act_stage4_get_ip4_config): merge ip4config settings
399                         with results from ppp manager
400
401         * src/nm-serial-device.c
402                 - (real_act_stage4_get_ip4_config): merge ip4config settings
403                         with results from ppp manager
404
405 2008-10-29  Dan Williams  <dcbw@redhat.com>
406
407         * libnm-util/libnm-util.ver
408           libnm-util/nm-setting-ip4-config.c
409           libnm-util/nm-setting-ip4-config.h
410                 - Make properties private and add accessor functions
411
412         * callouts/nm-dispatcher-action.c
413           libnm-glib/libnm-glib-test.c
414           libnm-util/nm-utils.c
415           src/NetworkManagerPolicy.c
416           src/NetworkManagerSystem.c
417           src/NetworkManagerUtils.c
418           src/dhcp-manager/nm-dhcp-dhclient.c
419           src/dhcp-manager/nm-dhcp-manager.c
420           src/dnsmasq-manager/nm-dnsmasq-manager.c
421           src/nm-device-wifi.c
422           src/nm-device.c
423           src/nm-hso-gsm-device.c
424           src/nm-ip4-config.c
425           src/nm-ip4-config.h
426           src/ppp-manager/nm-ppp-manager.c
427           src/vpn-manager/nm-vpn-connection.c
428           system-settings/plugins/ifcfg-fedora/reader.c
429           system-settings/plugins/ifcfg-suse/parser.c
430           system-settings/plugins/ifcfg-suse/plugin.c
431           system-settings/plugins/ifupdown/parser.c
432           test/nm-tool.c
433           vpn-daemons/vpnc/properties/nm-vpnc.c
434                 - Use IP4 accessor functions
435
436 2008-10-29  Tambet Ingo  <tambet@gmail.com>
437
438         Half of it by Dan Williams <dcbw@redhat.com>
439
440         * libnm-util/libnm-util.ver
441         libnm-util/nm-setting-vpn.c
442         libnm-util/nm-setting-vpn.h
443                 - Make properties private and add accessor functions.
444
445         * src/vpn-manager/nm-vpn-connection.c
446         src/vpn-manager/nm-vpn-manager.c
447         system-settings/plugins/keyfile/reader.c
448         vpn-daemons/openvpn/properties/auth-helpers.c
449         vpn-daemons/openvpn/properties/import-export.c
450         vpn-daemons/openvpn/properties/nm-openvpn.c
451         vpn-daemons/openvpn/src/nm-openvpn-service.c
452         vpn-daemons/pptp/auth-dialog/main.c
453         vpn-daemons/pptp/properties/advanced-dialog.c
454         vpn-daemons/pptp/properties/nm-pptp.c
455         vpn-daemons/pptp/src/nm-pptp-service.c
456         vpn-daemons/vpnc/properties/nm-vpnc.c
457         vpn-daemons/vpnc/src/nm-vpnc-service.c
458                 - Use VPN setting accessors.
459
460 2008-10-28  Dan Williams  <dcbw@redhat.com>
461
462         Patch from Tambet Ingo <tambet@gmail.com>
463
464         * libnm-util/libnm-util.ver
465           libnm-util/nm-setting-wireless.c
466           libnm-util/nm-setting-wireless.h
467                 - Make properties private and add accessor functions
468
469         * src/NetworkManagerAP.c
470           src/nm-device-wifi.c
471           src/nm-manager.c
472           src/supplicant-manager/nm-supplicant-config.c
473           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
474           system-settings/plugins/ifcfg-fedora/reader.c
475           system-settings/plugins/ifcfg-suse/parser.c
476           system-settings/plugins/ifupdown/parser.c
477                 - Use wireless setting accessors
478
479 2008-10-27  Dan Williams  <dcbw@redhat.com>
480
481         Patch from Tambet Ingo <tambet@gmail.com>
482
483         * libnm-util/libnm-util.ver
484           libnm-util/nm-setting-ppp.c
485           libnm-util/nm-setting-ppp.h
486                 - Make properties private and add accessor functions
487
488         * src/ppp-manager/nm-ppp-manager.c
489                 - Use ppp setting accessors
490
491 2008-10-27  Dan Williams  <dcbw@redhat.com>
492
493         Patch from Tambet Ingo <tambet@gmail.com>
494
495         * libnm-util/nm-setting.h
496           libnm-util/nm-setting.c
497                 - Make properties private and add accessor functions
498
499         * libnm-util/nm-connection.c
500           libnm-util/nm-setting-8021x.c
501           libnm-util/nm-setting-cdma.c
502           libnm-util/nm-setting-connection.c
503           libnm-util/nm-setting-gsm.c
504           libnm-util/nm-setting-ip4-config.c
505           libnm-util/nm-setting-ip6-config.c
506           libnm-util/nm-setting-ppp.c
507           libnm-util/nm-setting-pppoe.c
508           libnm-util/nm-setting-serial.c
509           libnm-util/nm-setting-template.c
510           libnm-util/nm-setting-vpn.c
511           libnm-util/nm-setting-wired.c
512           libnm-util/nm-setting-wireless-security.c
513           libnm-util/nm-setting-wireless.c
514           system-settings/plugins/keyfile/reader.c
515           system-settings/plugins/keyfile/writer.c
516                 - Use setting accessors
517
518 2008-10-27  Dan Williams  <dcbw@redhat.com>
519
520         * libnm-util/libnm-util.ver
521           libnm-util/nm-setting-connection.c
522           libnm-util/nm-setting-connection.h
523                 - Add a 'read-only' property that indicates the connection cannot be
524                         modified
525
526         * system-settings/plugins/ifcfg-fedora/reader.c
527           system-settings/plugins/ifcfg-suse/parser.c
528           system-settings/plugins/ifupdown/parser.c
529                 - These plugins are read-only at the moment
530
531         * system-settings/plugins/keyfile/reader.c
532           system-settings/plugins/keyfile/writer.c
533                 - Read-only shouldn't get saved out to files or read in from them
534
535 2008-10-27  Tambet Ingo  <tambet@gmail.com>
536
537         * src/nm-device-ethernet.c (nm_device_ethernet_get_speed): Implement
538         correct speed reporting for fast devices (kernel >= 2.6.27).
539
540 2008-10-26  Dan Williams  <dcbw@redhat.com>
541
542         Attempt to compensate for modems that don't enable full AT parsing before
543         the PIN has been entered.
544
545         * src/nm-gsm-device.c
546                 - (init_modem): accept different init strings
547                 - (init_done): try different init strings on failure
548                 - (check_pin_done): on PIN success, do full modem init
549
550 2008-10-26  Dan Williams  <dcbw@redhat.com>
551
552         Patch from Tambet Ingo <tambet@gmail.com>
553
554         * libnm-util/libnm-util.ver
555           libnm-util/nm-setting-connection.c
556           libnm-util/nm-setting-connection.h
557                 - Make properties private and add accessor functions
558
559         * src/NetworkManagerPolicy.c
560           src/nm-cdma-device.c
561           src/nm-device-ethernet.c
562           src/nm-device-interface.c
563           src/nm-device-wifi.c
564           src/nm-gsm-device.c
565           src/nm-manager.c
566           src/ppp-manager/nm-ppp-manager.c
567           src/vpn-manager/nm-vpn-connection.c
568           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
569           system-settings/plugins/ifcfg-fedora/plugin.c
570           system-settings/plugins/ifcfg-fedora/reader.c
571           system-settings/plugins/ifcfg-suse/parser.c
572           system-settings/plugins/ifupdown/parser.c
573           system-settings/plugins/keyfile/nm-keyfile-connection.c
574           system-settings/plugins/keyfile/plugin.c
575           system-settings/plugins/keyfile/writer.c
576           system-settings/src/main.c
577                 - Use those accessors
578
579 2008-10-26  Dan Williams  <dcbw@redhat.com>
580
581         Patch from Tambet Ingo <tambet@gmail.com>
582
583         * libnm-util/libnm-util.ver
584           libnm-util/nm-setting-gsm.c
585           libnm-util/nm-setting-gsm.h
586                 - Make properties private and add accessor functions
587
588         * src/nm-gsm-device.c
589           src/nm-hso-gsm-device.c
590           src/ppp-manager/nm-ppp-manager.c
591                 - Use those accessors
592
593 2008-10-26  Dan Williams  <dcbw@redhat.com>
594
595         Patch from Tambet Ingo <tambet@gmail.com>
596
597         * libnm-util/libnm-util.ver
598           libnm-util/nm-setting-cdma.c
599           libnm-util/nm-setting-cdma.h
600                 - Make properties private and add accessor functions
601
602         * src/nm-cdma-device.c
603           src/ppp-manager/nm-ppp-manager.c
604                 - Use those accessors
605
606 2008-10-26  Dan Williams  <dcbw@redhat.com>
607
608         Patch from Tambet Ingo <tambet@gmail.com>
609
610         * libnm-util/libnm-util.ver
611           libnm-util/nm-setting-pppoe.c
612           libnm-util/nm-setting-pppoe.h
613                 - Make properties private and add accessor functions
614
615         * src/nm-device-ethernet.c
616           src/ppp-manager/nm-ppp-manager.c
617                 - Use those accessors
618
619 2008-10-26  Dan Williams  <dcbw@redhat.com>
620
621         Patch from Tambet Ingo <tambet@gmail.com>
622
623         * libnm-util/libnm-util.ver
624           libnm-util/nm-setting-wired.c
625           libnm-util/nm-setting-wired.h
626                 - Make properties private and add accessor functions
627
628         * src/nm-device-ethernet.c
629           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
630           system-settings/plugins/ifcfg-suse/parser.c
631           system-settings/src/main.c
632                 - Use those accessors
633
634 2008-10-26  Dan Williams  <dcbw@redhat.com>
635
636         Patch from Tambet Ingo <tambet@gmail.com>
637
638         * libnm-util/libnm-util.ver
639           libnm-util/nm-setting-serial.c
640           libnm-util/nm-setting-serial.h
641           src/nm-serial-device.c
642                 - Make properties private and use accessors instead
643
644 2008-10-26  Dan Williams  <dcbw@redhat.com>
645
646         * src/supplicant-manager/nm-supplicant-interface.c
647           src/supplicant-manager/nm-supplicant-interface.h
648           src/supplicant-manager/nm-supplicant-manager.c
649           src/supplicant-manager/nm-supplicant-manager.h
650                 - Add state-to-string conversion functions
651
652         * src/nm-device-wifi.c
653           src/nm-device-ethernet.c
654                 - Normalize state info logging and use strings instead of numbers
655
656 2008-10-26  Dan Williams  <dcbw@redhat.com>
657
658         * src/NetworkManagerPolicy.c
659                 - (update_routing_and_dns): ignore host routes when determining whether
660                         a VPN connection should own the default route (bgo #552594)
661
662 2008-10-24  Dan Williams  <dcbw@redhat.com>
663
664         * src/nm-gsm-device.c
665                 - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
666
667 2008-10-23  Dan Williams  <dcbw@redhat.com>
668
669         * src/ppp-manager/nm-ppp-manager.c
670                 - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
671                         add really important stuff to the command line to ensure that NM
672                         overrides /etc/ppp/options (bgo #556781)
673
674 2008-10-22  Dan Williams  <dcbw@redhat.com>
675
676         * src/NetworkManagerSystem.c
677           src/nm-device.c
678                 - Use the device's IP interface where appropriate (Per Hallsmark)
679
680 2008-10-22  Dan Williams  <dcbw@redhat.com>
681
682         * src/nm-gsm-device.c
683                 - (schedule_automatic_registration_again): use a short timeout here
684                         instead of an idle handler to avoid using too much CPU polling for
685                         something we should be waiting a bit for anyway
686
687 2008-10-22  Dan Williams  <dcbw@redhat.com>
688
689         * include/NetworkManager.h
690           introspection/nm-device.xml
691                 - Add device state change reason for carrier changes
692
693         * src/nm-device-ethernet.c
694                 - (set_carrier): use the carrier change reason when changing device
695                         state in response to carrier changes
696
697 2008-10-21  Dan Williams  <dcbw@redhat.com>
698
699         * src/NetworkManagerPolicy.c
700                 - (update_etc_hosts): don't leak errors, and ensure that
701                         g_file_set_contents() gets a valid error placeholder (rh #461933)
702
703 2008-10-21  Dan Williams  <dcbw@redhat.com>
704
705         * src/nm-manager.c
706                 - (free_get_settings_info): don't use the DBusGProxy which could be
707                         disposed of by the time the function is called
708                 - (internal_new_connection_cb): save connection scope
709                 - (connection_get_settings_cb): don't replace a connection unless it's
710                         actually different from the existing one; fixes an issue where
711                         killing the settings service wouldn't deactivate an active connection
712                         provided by that settings service, because it was using a connection
713                         that had already been replaced in the system or user hash
714
715 2008-10-21  Dan Williams  <dcbw@redhat.com>
716
717         * src/NetworkManager.c
718                 - (main): keep the DHCP manager around since it's a singleton; fixes
719                         a use-after-free exposed by r4196 since the DHCP manager singleton
720                         variable isn't cleared when the DHCP manager object is finalized
721
722 2008-10-20  Dan Williams  <dcbw@redhat.com>
723
724         * libnm-util/nm-setting-wireless-security.c
725                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
726
727 2008-10-20  Dan Williams  <dcbw@redhat.com>
728
729         * src/supplicant-manager/nm-supplicant-config.c
730                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
731
732 2008-10-20  Dan Williams  <dcbw@redhat.com>
733
734         * src/dhcp-manager/nm-dhcp-manager.c
735                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
736                         manager object already refs it once
737                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
738                         also get cleaned up by nm_dhcp_device_destroy() to prevent
739                         double-frees
740
741 2008-10-20  Dan Williams  <dcbw@redhat.com>
742
743         * src/nm-manager.c
744                 - (initial_get_connections): use private dbus manager, don't keep
745                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
746                         manager object.
747
748 2008-10-18  Dan Williams  <dcbw@redhat.com>
749
750         * libnm-glib/nm-settings.c
751           libnm-glib/nm-settings.h
752                 - Rename the "get_secrets" virtual function "service_get_secrets" to
753                         clarify when it's used; NMExportedConnetion is a base-class for both
754                         the client and service side, which is sort of confusing, and
755                         get_secrets only makes sense on the service side.
756
757         * libnm-glib/nm-dbus-connection.c
758                 - (get_secrets): remove, unused, and clients need to do extra work to
759                         get secrets anyway since the call can block on the remote side
760
761         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
762           system-settings/plugins/keyfile/nm-keyfile-connection.c
763                 - Fix up for get_secrets -> service_get_secrets
764
765 2008-10-16  Dan Williams  <dcbw@redhat.com>
766
767         * src/nm-device-wifi.c
768                 - (constructor): correctly determine encryption capabilities
769
770 2008-10-15  Dan Williams  <dcbw@redhat.com>
771
772         * src/nm-device-wifi.c
773                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
774                         (Johannes Berg)
775
776 2008-10-15  Dan Williams  <dcbw@redhat.com>
777
778         * src/NetworkManagerSystem.c
779                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
780                         if the ip4_dest is in a smaller subnet contained within a subnet
781                         the machine is currently on, the destination is in the same subnet
782                 - (nm_system_device_set_ip4_route): move subnet checks to callers
783                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
784                         subnet as the parent device, and if so, don't add the direct
785                         host route via the parent device's gateway (bgo #481620)
786                 - (nm_system_apply_ip4_config): check whether the route to be added
787                         is contained within a subnet the device is already on
788
789 2008-10-11  Dan Williams  <dcbw@redhat.com>
790
791         * include/NetworkManager.h
792           introspection/nm-device.xml
793           include/NetworkManagerVPN.h
794                 - Add a few more state reasons for the device deactivated state
795
796         * src/nm-device-interface.c
797           src/nm-device-interface.h
798                 - (nm_device_interface_deactivate): add a 'reason' argument
799
800         * src/nm-device.c
801           src/nm-device.h
802                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
803                 - (nm_device_state_changed): pass the state change reason to
804                         nm_device_take_down()
805                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
806                         to the state change function
807
808         * src/nm-manager.c
809           src/nm-manager.h
810                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
811                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
812                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
813                         something reasonable along to VPN deactivation
814
815         * src/vpn-manager/nm-vpn-manager.c
816           src/vpn-manager/nm-vpn-manager.h
817                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
818                         pass that along to nm_vpn_connection_disconnect()
819
820 2008-10-11  Dan Williams  <dcbw@redhat.com>
821
822         * src/nm-device-wifi.c
823                 - (can_scan): remove old madwifi hack for not scanning while connected
824
825 2008-10-11  Dan Williams  <dcbw@redhat.com>
826
827         Add support for VPN subnet gateways (bgo #549196)
828
829         * include/NetworkManager.h
830                 - Add key for internal VPN subnet gateway
831
832         * src/vpn-manager/nm-vpn-connection.c
833                 - (ip_address_to_string): return a const from a static buffer so we
834                         don't leak a lot of strings
835                 - (print_vpn_config): print internal VPN gateway as well
836                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
837                         VPN service too
838                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
839
840         * src/NetworkManagerSystem.c
841           src/NetworkManagerSystem.h
842                 - (nm_system_device_replace_default_ip4_route): split into two, one for
843                         VPN connections and one for normal devices
844                 - (replace_default_ip4_route): break out route stuff into its own function
845                 - (nm_system_replace_default_ip4_route_vpn,
846                    nm_system_replace_default_ip4_route): simplify by having two cases,
847                         one for VPNs and one for normal devices
848
849         * src/NetworkManagerPolicy.c
850                 - (update_routing_and_dns): simplify, use split default route replacement
851                         functions
852
853 2008-10-10  Dan Williams  <dcbw@redhat.com>
854
855         Rework default route handling to consolidate decisions in the policy,
856         and to take active VPN connections into account when changing the default
857         route (bgo #545912)
858
859         * src/NetworkManager.c
860                 - (main): pass the vpn_manager to the policy so it knows about active
861                         VPN connections; clean up the named manager which wasn't done before
862
863         * src/NetworkManagerPolicy.c
864           src/NetworkManagerPolicy.h
865                 - (nm_policy_new): get a clue about the vpn_manager
866                 - (update_default_route): remove, fold into update_routing_and_dns()
867                 - (update_routing_and_dns): handle active VPN connections too; an
868                         active VPN connection becomes the default route if it does not have
869                         server-specified or user-specified custom routes.  Otherwise, the
870                         best active device gets the default route
871                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
872                    nm_policy_destroy): track VPN connection activation and deactivation
873                         and update the default route when appropriate
874
875         * src/NetworkManagerSystem.c
876           src/NetworkManagerSystem.h
877                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
878                         in the VPN connection itself
879                 - (nm_system_vpn_device_set_from_ip4_config,
880                    nm_system_device_set_from_ip4_config): merge together to make
881                         nm_system_apply_ip4_config()
882                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
883                         via the parent device
884                 - (nm_system_apply_ip4_config): simplify
885                 - (add_ip4_route_to_gateway): new function; add a direct route to the
886                         gateway if needed
887                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
888                         route stuff out into add_ip4_route_to_gateway() for clarity
889
890         * src/nm-device.c
891                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
892
893         * src/vpn-manager/nm-vpn-connection.c
894           src/vpn-manager/nm-vpn-connection.h
895                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
896                    nm_vpn_connection_get_parent_device): add
897                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
898                         device explicit
899                 - (connection_state_changed): update the named manager now that
900                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
901                         useful on errors
902
903         * src/vpn-manager/nm-vpn-manager.c
904           src/vpn-manager/nm-vpn-manager.h
905                 - Add a 'connection-activated' signal
906                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
907                         policy to find out about active VPN connections
908
909 2008-10-10  Tambet Ingo  <tambet@gmail.com>
910
911         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
912         a daemon to prevent NM logging spew on console on startup and shutdown (due
913         to dependency loop between NM and syslog).
914
915 2008-10-10  Alexander Sack  <asac@ubuntu.com>
916
917         Implement managed mode. We bind devices configured in /etc/network/interfaces
918         to their connections by updating wired/wireless setting with the
919         mac address of the device.
920
921         * system-settings/plugins/ifupdown/plugin.c
922                 - (get_net_address_for_udi): implement function to retrieve MAC
923                         address of udi from hal in GByteArray format
924                 - (bind_device_to_connection): bind mac address of device to
925                         wired/wireless system connection
926                 - (hal_device_added_cb): call bind_device_to_connection for
927                         system connections with a matching interface.name
928                 - (hal_device_added_cb): ensure that all code paths
929                         properly free the "iface" string.
930
931 2008-10-10  Alexander Sack  <asac@ubuntu.com>
932
933         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
934         mode of the ifupdown system config plugin.
935
936         * system-settings/plugins/ifupdown/plugin.c
937                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
938                         private unmanage_well_known state field accordingly
939
940 2008-10-10  Alexander Sack  <asac@ubuntu.com>
941
942         Implement unmanaged mode that will prevent all devices in the
943         well_known_udis set from being touched by NetworkManager
944
945         * system-settings/plugins/ifupdown/plugin.c
946                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
947                         unmanage_well_known field used to turn on/off unmanaged
948                         mode
949                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
950                         signal when well_known_udis get added/removed
951                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
952                         if we are in unmanaged mode
953
954 2008-10-10  Alexander Sack  <asac@ubuntu.com>
955
956         Add support to track network devices that have a configuration
957         with a matching interface.name in /etc/network/interfaces
958
959         * system-settings/plugins/ifupdown/plugin.c
960                 - (typedef struct SCPluginIfupdownPrivate): add hash table
961                         to track |well_known_udis|
962                 - (get_iface_for_udi): helper function to get interface.name
963                         for a udi
964                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
965                         that add and remove devices to and from the well_known_udis
966                         set depending on whether their |interface.name| matches
967                         any interface definition in /etc/network/interfaces
968                 - (SCPluginIfupdown_init): connect callbacks from above with
969                         hal_mgr and setup well_known_udis hashtable
970                 - (GObject__dispose): destroy well_known_udis hashtable
971                 - (hal_device_added_cb2): implement wrapper callback with GFunc
972                         signature. user_data is supposed to be a triple (hal_mgr,
973                         config and devtype)
974                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
975                         startup and call hal_device_added_cb2
976
977 2008-10-10  Alexander Sack  <asac@ubuntu.com>
978
979         Remove implementation for not used NMSystemConfigInterface callback functions
980         in ifupdown plugin
981
982         * system-settings/plugins/ifupdown/plugin.c
983                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
984                 - (SCPluginIfupdown_connection_added): removed
985
986 2008-10-08  Dan Williams  <dcbw@redhat.com>
987
988         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
989
990         * src/NetworkManagerUtils.c
991                 - (nm_utils_call_dispatcher): add a 'hostname' action
992
993         * src/NetworkManagerPolicy.c
994                 - (set_system_hostname): dispatch hostname changes
995
996         * callouts/nm-dispatcher-action.c
997                 - (nm_dispatcher_action): handle 'hostname' actions
998
999 2008-10-08  Dan Williams  <dcbw@redhat.com>
1000
1001         * src/NetworkManagerSystem.c
1002                 - (find_route): ref the route so it doesn't get destroyed when the cache
1003                         is cleared
1004                 - (nm_system_device_set_priority): unref the route here after it's done
1005                         being used
1006
1007 2008-10-08  Dan Williams  <dcbw@redhat.com>
1008
1009         * src/nm-serial-device.c
1010                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
1011
1012 2008-10-08  Tambet Ingo  <tambet@gmail.com>
1013
1014         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
1015         connection with new settings before saving it.
1016
1017 2008-10-06  Dan Williams  <dcbw@redhat.com>
1018
1019         * src/nm-ip4-config.c
1020           src/nm-ip4-config.h
1021                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
1022
1023         * src/nm-device-interface.c
1024                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
1025                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
1026                         by using '/' for the object path
1027
1028         * src/nm-device.c
1029                 - (src/nm-device.c): marshal missing/unexported ip4-config through
1030                         dbus as '/' since dbus-glib can't handle NULL objects nor can
1031                         dbus handle NULL object paths
1032
1033 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1034
1035         Implement system hostname support for debian/ubuntu
1036
1037         * system-settings/plugins/ifupdown/plugin.c
1038                 - (GObject__get_property): extend announced capabilities; add
1039                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
1040                 - (GObject__set_property,write_system_hostname): implement
1041                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
1042                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
1043                    update_system_hostname, get_hostname):
1044                         implement hostname property that watches and
1045                         parses /etc/hostname
1046
1047 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1048
1049         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
1050           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
1051           system-settings/plugins/ifcfg-fedora/Makefile.am
1052           system-settings/src/nm-inotify-helper.c
1053           system-settings/src/nm-inotify-helper.h
1054           src/Makefile.am
1055                 - Move ifcfg-fedora inotify helpers to the system settings service so
1056                         they are available to all plugins
1057
1058 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1059
1060         Implement support for wep-tx-keyidx in ifupdown system
1061         config plugin.
1062
1063         * system-settings/plugins/ifupdown/parser.c
1064                 - (update_wireless_security_setting_from_if_block): introduce
1065                         free_type_mapping func table; rename a few local
1066                         variables to improve readability; add wpa security mapping
1067                         for wep-tx-keyidx property
1068                 - (string_to_gpointerint): new function used for the auto_type_mapping
1069                         of new wep-tx-keyidx property
1070                 - (slist_free_all): free func used for mapped slist types
1071
1072 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1073
1074         * system-settings/src/main.c:
1075                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
1076                         always used as the hash key; fixes a crash when removing wired
1077                         devices
1078
1079 2008-10-02  Dan Williams  <dcbw@redhat.com>
1080
1081         * src/nm-gsm-device.c
1082                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
1083                         pass the required GSM secret along via user_data rather than keeping
1084                         it around in the private data where it sometimes didn't get cleared
1085                 - (real_get_ppp_name): implement using the GSM username
1086
1087 2008-10-02  Dan Williams  <dcbw@redhat.com>
1088
1089         * src/ppp-manager/nm-ppp-manager.c
1090           src/ppp-manager/nm-ppp-manager.h
1091                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
1092                         the settings daemon for completely new ones
1093                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
1094                         local PPP peer name; allow PPP debuging by launching NM with
1095                         the environment variable NM_PPP_DEBUG defined
1096                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
1097                         create_pppd_cmd_line()
1098
1099         * src/nm-serial-device.c
1100           src/nm-serial-device.h
1101                 - New 'get_ppp_name' function for subclasses to implement to return the
1102                         local PPP peer name
1103                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
1104                         and pass that name to the PPP manager
1105
1106         * src/nm-device-ethernet.c
1107                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
1108                         the local peer name
1109
1110         * src/nm-cdma-device.c
1111                 - (real_get_ppp_name): implement using the CDMA username
1112
1113 2008-10-02  Dan Williams  <dcbw@redhat.com>
1114
1115         Patch from Alexander Sack <asac ubuntu com>
1116
1117         * system-settings/plugins/ifupdown/parser.c
1118                 - Implement more graceful ip4 config parsing for cases where
1119                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
1120                   by using default values
1121
1122 2008-10-02  Dan Williams  <dcbw@redhat.com>
1123
1124         * src/NetworkManagerPolicy.c
1125                 - (device_state_changed): when marking a connection invalid, clear its
1126                         secrets too so that fresh secrets get requested the next time
1127
1128 2008-10-01  Dan Williams  <dcbw@redhat.com>
1129
1130         * system-settings/src/dbus-settings.c
1131                 - (nm_sysconfig_settings_init): cache system hostname on startup as
1132                         a fallback if no plugin provides a hostname
1133                 - (get_property): fall back to cached hostname if no plugin provides
1134                         a hostname
1135
1136 2008-10-01  Dan Williams  <dcbw@redhat.com>
1137
1138         Fix setting value comparison issue that caused some settings to look the
1139         same when they were really different (rh #464417)
1140
1141         * libnm-util/nm-param-spec-specialized.c
1142                 - (type_is_fixed_size): return fundamental size of the fixed type too
1143                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
1144                         in the comparison so that the _entire_ fixed type collection gets
1145                         compared rather than just the first 'len1' bytes
1146
1147 2008-09-30  Dan Williams  <dcbw@redhat.com>
1148
1149         * src/NetworkManagerPolicy.c
1150                 - (lookup_thread_worker): don't store the idle handler ID becuase the
1151                         idle handler could have already run and freed the LookupThread
1152                         structure
1153
1154 2008-09-30  Tambet Ingo  <tambet@gmail.com>
1155
1156         * src/nm-device.c (nm_device_get_priority): Implement.
1157         (nm_device_set_ip4_config): Send the device priority to system ip4 
1158         config setter.
1159
1160         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
1161         Add priority argument and if it's >= 0, set the priority of the network
1162         route added automatically by netlink (or kernel?).
1163         (nm_system_device_set_priority): Implement.
1164
1165         * src/NetworkManagerPolicy.c (get_best_device): Use 
1166         nm_device_get_priority() instead of home-grown version. Revert the
1167         meaning, best priority is the lowest one.
1168
1169 2008-09-29  Dan Williams  <dcbw@redhat.com>
1170
1171         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
1172         when it returns EAGAIN (rh #362421)
1173
1174         * src/nm-device-wifi.c
1175                 - (wireless_get_range): try GIWRANGE a few times until the card responds
1176                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
1177
1178 2008-09-28  Dan Williams  <dcbw@redhat.com>
1179
1180         * src/nm-serial-device.c
1181           src/nm-serial-device.h
1182                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
1183                         cleaned at the right times when subclasses close the serial port too
1184                 - (nm_serial_device_send_command): use a default send delay; don't
1185                         spin forever on EAGAIN
1186                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
1187                         remove, no longer used
1188                 - (find_response): return the matched response if any
1189                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
1190                         while doing so
1191                 - (wait_for_reply_done): pass the matched response to the callback
1192                 - (wait_for_reply_got_data): save the matched response; simplify timeout
1193                         handling
1194                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
1195                         const since they never get modified
1196                 - (cleanup_device): split out common cleanup stuff to a new function
1197                 - (real_deactivate_quickly, finalize): use cleanup_device()
1198
1199         * src/nm-gsm-device.c
1200                 - (modem_get_reply): remove, unused
1201                 - (set_apn): give the card a bit more time to respond
1202                 - (manual_registration_again, schedule_manual_registration_again,
1203                    manual_registration_response, manual_registration): handle manual
1204                         registration timeouts better by retrying registration a few times
1205                         because cards are a bit slow after CFUN=1
1206                 - (automatic_registration_get_network, get_network_response): use
1207                         modem_wait_for_reply() because it interacts better with the serial
1208                         buffer and does more intelligent matching; need to wait for 'OK'
1209                         rather than just matching terminators
1210                 - (schedule_automatic_registration_again,
1211                    automatic_registration_response, automatic_registration): retry
1212                         registration a few times on timeout or "searching" because cards
1213                         take a bit to find a network after being powered up with CFUN=1
1214                 - (power_up_response, power_up, init_full_done, enter_pin,
1215                    check_pin_done): power up the card with CFUN=1 before trying to
1216                         register with the network
1217                 - (init_modem_full, init_modem): use more standard 3G init strings
1218
1219         * src/nm-hso-gsm-device.c
1220                 - (modem_get_reply): remove, unused
1221                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
1222                         modem_wait_for_reply() to match actual responses instead of single
1223                         termination characters; it doesn't leave stuff in the serial buffer
1224                         that might confuse later calls
1225                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
1226                         to ensure that the call is really disconnected and not leave extra
1227                         stuff in the serial buffer
1228
1229         * src/nm-cdma-device.c
1230                 - (power_up_response, power_up, init_done): try Sierra-style modem
1231                         power up before attempting to connect
1232
1233 2008-09-27  Dan Williams  <dcbw@redhat.com>
1234
1235         * libnm-util/nm-setting-gsm.c
1236                 - (verify): verify GSM network ID
1237
1238 2008-09-25  Dan Williams  <dcbw@redhat.com>
1239
1240         * libnm-util/nm-setting-gsm.c
1241           libnm-util/nm-setting-gsm.h
1242                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
1243                         technology terms (bgo #551361)
1244
1245 2008-09-25  Dan Williams  <dcbw@redhat.com>
1246
1247         Fix bgo #549401 (inspired by patch from Alexander Sack)
1248
1249         * src/nm-device-ethernet.c
1250                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1251                 - (remove_supplicant_interface_error_handler): remove the supplicant
1252                         error idle callback too
1253                 - (supplicant_interface_release): rename from supplicant_interface_clean
1254                         to match nm-device-wifi.c; clean up supplicant interface-related
1255                         state tasks when the supplicant interface is disposed of
1256                 - (schedule_state_handler): add scheduled tasks to a list so they can
1257                         be cleaned up later
1258                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1259                    supplicant_iface_connection_state_cb_handler): use
1260                         finish_supplicant_task() to clean up each completed task
1261                 - (supplicant_iface_connection_error_cb_handler,
1262                    supplicant_connection_timeout_cb): clear source id when the task is
1263                         complete
1264                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1265                         later cleanup
1266                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
1267                         tasks
1268
1269         * src/nm-device-wifi.c
1270                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1271                 - (remove_supplicant_interface_error_handler): remove the supplicant
1272                         error idle callback too
1273                 - (supplicant_interface_release): clean up supplicant interface-related
1274                         state tasks when the supplicant interface is disposed of
1275                 - (schedule_state_handler): add scheduled tasks to a list so they can
1276                         be cleaned up later
1277                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1278                    supplicant_iface_connection_state_cb_handler): use
1279                         finish_supplicant_task() to clean up each completed task
1280                 - (supplicant_iface_connection_error_cb_handler): clear source id when
1281                         the task is complete
1282                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1283                         later cleanup
1284                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
1285
1286 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1287
1288         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
1289         method and get/set hostname property.
1290
1291 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1292
1293         * src/supplicant-manager/nm-supplicant-interface.c
1294         (nm_supplicant_interface_disconnect): Don't increment the reference 
1295         count when disconnecting. The problem is on shutdown, when the replies
1296         to these commands do not arrive before NM exits, resulting on never
1297         calling supplicant interface's dispose(), which removes the interface
1298         from supplicant.
1299
1300 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1301
1302         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
1303         all the public function arguments.
1304
1305 2008-09-22  Tambet Ingo  <tambet@gmail.com>
1306
1307         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
1308         "Failure" signal from VPN plugins, store the failure reason, and
1309         use it when the state is changed to failure.
1310
1311         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
1312         description.
1313
1314         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
1315         reason to the end of the list to not break the API.
1316         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
1317         so it can be shared by plugins and daemon.
1318
1319 2008-09-18  Dan Williams  <dcbw@redhat.com>
1320
1321         Patch from Alexander Sack <asac@ubuntu.com>
1322
1323         * configure.in
1324           system-settings/plugins/Makefile.am
1325           system-settings/plugins/ifupdown/Makefile.am
1326           system-settings/plugins/ifupdown/interface_parser.c
1327           system-settings/plugins/ifupdown/interface_parser.h
1328           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
1329           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
1330           system-settings/plugins/ifupdown/parser.c
1331           system-settings/plugins/ifupdown/parser.h
1332           system-settings/plugins/ifupdown/plugin.c
1333           system-settings/plugins/ifupdown/plugin.h
1334                 - Implement a Debian/Ubuntu legacy network configuration plugin
1335                         (gnome.org #551941)
1336
1337 2008-09-18  Dan Williams  <dcbw@redhat.com>
1338
1339         Implement support for honoring configured and automatic hostnames, and for
1340         setting the configured hostname.
1341
1342         * introspection/nm-ip4-config.xml
1343           src/nm-ip4-config.c
1344           src/nm-ip4-config.h
1345           src/dhcp-manager/nm-dhcp-manager.c
1346                 - Remove useless hostname property; it's not really part of the IPv4
1347                         config
1348
1349         * introspection/nm-settings-system.xml
1350           libnm-glib/nm-dbus-settings-system.c
1351           libnm-glib/nm-dbus-settings-system.h
1352                 - Add SetHostname() call to system settings D-Bus interface
1353                 - Add Hostname property to system settings D-Bus interface
1354                 - (nm_dbus_settings_system_save_hostname,
1355                    nm_dbus_settings_system_get_hostname): implement
1356
1357         * src/nm-device.c
1358           src/nm-device.h
1359                 - (nm_device_get_dhcp4_config): implement
1360
1361         * src/nm-manager.c
1362           src/nm-manager.h
1363                 - Fetch and track system settings service hostname changes, and proxy
1364                         the changes via a GObject property of the manager
1365
1366         * system-settings/src/nm-system-config-interface.c
1367           system-settings/src/nm-system-config-interface.h
1368                 - Replace nm_system_config_interface_supports_add() with a capabilities
1369                         bitfield
1370
1371         * system-settings/src/nm-system-config-error.c
1372           system-settings/src/nm-system-config-error.h
1373                 - Add additional errors
1374
1375         * system-settings/src/dbus-settings.c
1376           system-settings/src/dbus-settings.h
1377                 - (get_property, nm_sysconfig_settings_class_init): add hostname
1378                         property; first plugin returning a hostname wins
1379                 - (impl_settings_add_connection): use plugin capabilities instead of
1380                         nm_system_config_interface_supports_add()
1381                 - (impl_settings_save_hostname): implement hostname saving
1382
1383         * src/NetworkManagerPolicy.c
1384                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
1385                    lookup_thread_die): implement an asynchronous hostname lookup thread
1386                         which given an IPv4 address tries to look up the hostname for that
1387                         address with reverse DNS
1388                 - (get_best_device): split out best device code from
1389                         update_routing_and_dns()
1390                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
1391                         to preserve the 127.0.0.1 reverse mapping that so many things require
1392                 - (set_system_hostname): set a given hostname
1393                 - (update_system_hostname): implement hostname policy; a configured
1394                         hostname (from the system settings service) is used if available,
1395                         otherwise an automatically determined hostname from DHCP, VPN, etc.
1396                         If there was no automatically determined hostname, reverse DNS of
1397                         the best device's IP address will be used, and as a last resort the
1398                         hostname 'localhost.localdomain' is set.
1399                 - (update_routing_and_dns): use get_best_device(); update the system
1400                         hostname when the network config changes
1401                 - (hostname_changed): update system hostname if the system settings
1402                         service signals a hostname change
1403                 - (nm_policy_new): list for system settings service hostname changes
1404                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
1405                         gets told to die
1406
1407         * system-settings/plugins/keyfile/plugin.c
1408           system-settings/plugins/ifcfg-suse/plugin.c
1409                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
1410                         capabilities properties
1411
1412         * system-settings/plugins/ifcfg-fedora/shvar.c
1413                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
1414                         writes out /etc/sysconfig/network now
1415
1416         * system-settings/plugins/ifcfg-fedora/plugin.c
1417                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
1418                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
1419                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
1420                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
1421                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
1422                         hostname get/set and capabilities get
1423
1424 2008-09-18  Dan Williams  <dcbw@redhat.com>
1425
1426         * libnm-util/nm-setting-wireless.c
1427                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
1428                         group ciphers if the wireless-security setting explicitly specified
1429                         them, effectively making the default be "all ciphers"  (idea from
1430                         Alexander Sack)
1431
1432 2008-09-15  Dan Williams  <dcbw@redhat.com>
1433
1434         Patch from Alexander Sack <asac@ubuntu.com>
1435
1436         * src/named-manager/nm-named-manager.c
1437                 - (dispatch_resolvconf): respect resolvconf exit code
1438
1439 2008-09-12  Tambet Ingo  <tambet@gmail.com>
1440
1441         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
1442         again. Add some debugging.
1443
1444 2008-09-11  Dan Williams  <dcbw@redhat.com>
1445
1446         * system-settings/plugins/keyfile/plugin.c
1447                 - (update_connection_settings): update connection manually, since
1448                         nm_exported_connection_update() does authentication
1449                 - (dir_changed): update_connection_settings() doesn't need to return
1450                         an error
1451
1452 2008-09-09  Dan Williams  <dcbw@redhat.com>
1453
1454         * libnm-glib/nm-vpn-plugin-ui-interface.c
1455           libnm-glib/nm-vpn-plugin-ui-interface.h
1456           libnm-glib/libnm_glib_vpn.ver
1457                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
1458                         should clean up resources related to the connection (like keyring
1459                         secrets)
1460                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
1461                         should save user-scope secrets (like to the keyring)
1462
1463 2008-09-08  Dan Williams  <dcbw@redhat.com>
1464
1465         Patch from Alexander Sack <asac@ubuntu.com>
1466
1467         * libnm-util/crypto_gnutls.c
1468           libnm-util/crypto_nss.c
1469                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
1470
1471         * libnm-util/nm-utils.c
1472           libnm-util/nm-utils.h
1473           libnm-util/libnm-util.ver
1474                 - (nm_utils_init): initialize libnm-util
1475                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
1476
1477         * libnm-util/nm-setting-8021x.c
1478                 - (nm_setting_802_1x_class_init): init libnm-util when needed
1479
1480 2008-09-05  Dan Williams  <dcbw@redhat.com>
1481
1482         Patch from Roy Marples <roy@marples.name> and others
1483
1484         * configure.in
1485           src/named-manager/nm-named-manager.c
1486                 - Add support for resolvconf; use --with-resolvconf at configure time
1487                         to enable it
1488
1489 2008-09-05  Dan Williams  <dcbw@redhat.com>
1490
1491         * libnm-util/crypto_nss.c
1492           libnm-util/crypto_gnutls.c
1493           libnm-util/crypto.h
1494                 - (crypto_init): return error when init fails
1495
1496 2008-09-05  Dan Williams  <dcbw@redhat.com>
1497
1498         * libnm-glib/nm-device-wifi.c
1499                 - (access_point_removed_proxy): clean up the active access point too
1500                         just in case the active ap changed signal didn't come through yet
1501                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
1502
1503 2008-09-05  Dan Williams  <dcbw@redhat.com>
1504
1505         * libnm-glib/nm-client.c
1506                 - (constructor): get initial state after we know whether NM is running
1507                         or not
1508
1509 2008-09-05  Dan Williams  <dcbw@redhat.com>
1510
1511         * libnm-glib/nm-ip4-config.c
1512           libnm-glib/nm-dhcp4-config.c
1513                 - (finalize): clean up the DBusGProxy
1514
1515 2008-09-04  Dan Williams  <dcbw@redhat.com>
1516
1517         * src/nm-ip4-config.c
1518           src/nm-ip4-config.h
1519                 - (nm_ip4_config_new): don't export over D-Bus here
1520                 - (nm_ip4_config_export): new function; export the config over D-Bus
1521                 - (nm_ip4_config_is_exported): new function
1522
1523         * src/nm-device.c
1524                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
1525                         objects by balancing the IP4Config constructor; the device holds
1526                         a reference to the IP4Config already
1527                 - (nm_device_set_ip4_config): export the IP4Config when needed
1528
1529 2008-09-04  Dan Williams  <dcbw@redhat.com>
1530
1531         * src/supplicant-manager/nm-supplicant-settings-verify.c
1532                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
1533
1534 2008-09-04  Dan Williams  <dcbw@redhat.com>
1535
1536         * libnm-util/nm-setting-vpn.c
1537           libnm-util/nm-setting-vpn.h
1538                 - Split VPN secrets from VPN data so that settings services can actually
1539                         figure out that they are secrets and store them accordingly
1540
1541         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1542           system-settings/plugins/keyfile/reader.c
1543           system-settings/plugins/keyfile/reader.h
1544           system-settings/plugins/keyfile/writer.c
1545                 - Store VPN secrets separately from VPN data so that they can be fetched
1546                         on demand
1547                 - Implement the get_secrets() call so that (a) secrets don't leak out
1548                         to unprivileged callers, and (b) secrets can be sent to privileged
1549                         callers when needed
1550
1551         * vpn-daemons/vpnc/src/nm-vpnc-service.c
1552                 - Handle split VPN secrets
1553
1554 2008-08-27  Dan Williams  <dcbw@redhat.com>
1555
1556         * system-settings/plugins/ifcfg-fedora/reader.c
1557                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
1558
1559 2008-08-27  Dan Williams  <dcbw@redhat.com>
1560
1561         Ensure zombie children get cleaned up.  To get notifications when children
1562         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
1563         that requires calling waitpid() yourself if you've removed the child watch
1564         handler before the process has actually died, which NM needs to do in a few
1565         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
1566         cleans up after the child when required.  Should fix problems trying to
1567         activate mobile broadband connections after a previous failure.
1568
1569         * src/dhcp-manager/nm-dhcp-dhclient.c
1570           src/dhcp-manager/nm-dhcp-dhcpcd.c
1571                 - Use G_SPAWN_DO_NOT_REAP_CHILD
1572
1573         * src/dhcp-manager/nm-dhcp-manager.c
1574                 - (nm_dhcp_device_destroy): ensure child is cleaned up
1575                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
1576                         block on child quitting, since the non-blocking functionality was
1577                         never actually used
1578
1579         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1580                 - (dm_watch_cb): child is already reaped here
1581                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
1582
1583         * src/nm-device.c
1584                 - (aipd_cleanup): block until child is dead
1585
1586         * src/named-manager/nm-named-manager.c
1587                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
1588                         event bothering to watch the child
1589
1590         * src/ppp-manager/nm-ppp-manager.c
1591                 - (ppp_watch_cb): child is already reaped here
1592                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
1593
1594         * src/vpn-manager/nm-vpn-service.c
1595                 - (vpn_service_watch_cb): child is already reaped here
1596                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
1597                         status of the child is actually tracked
1598                 - (ensure_killed, finalize): block until child is dead
1599
1600 2008-08-26  Dan Williams  <dcbw@redhat.com>
1601
1602         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1603                 - (update): Update filename of the connection if the connection id
1604                         was changed
1605
1606         * system-settings/plugins/keyfile/plugin.c
1607                 - (dir_changed): first pass at handling connection renames correctly
1608
1609         * system-settings/plugins/keyfile/writer.c
1610           system-settings/plugins/keyfile/writer.h
1611                 - (write_connection): replace '/' with '*' when writing out the filename
1612                         from the connection id
1613
1614 2008-08-26  Dan Williams  <dcbw@redhat.com>
1615
1616         Add connection UUIDs, since connection names can be changed, and since
1617         old-style connection IDs could change over the life of the connection.  The
1618         UUID should be assigned at connection creation time, be stable for a given
1619         connection, and should be unique among all connections for a given settings
1620         service.
1621
1622         * configure.in
1623           libnm-util/Makefile.am
1624                 - Require libuuid
1625
1626         * introspection/nm-exported-connection.xml
1627                 - Remove "GetID" method
1628
1629         * libnm-glib/nm-dbus-connection.c
1630           libnm-glib/nm-settings.c
1631           libnm-glib/nm-settings.h
1632                 - Remove id-related stuff
1633
1634         * libnm-util/nm-utils.c
1635           libnm-util/nm-utils.h
1636           libnm-util/libnm-util.ver
1637                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
1638                         utility functions to generate UUIDs
1639
1640         * libnm-util/nm-setting-connection.c
1641           libnm-util/nm-setting-connection.h
1642                 - Add 'uuid' member to the connection setting
1643                 - (verify): require valid 'uuid' for a valid connection
1644
1645         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
1646           system-settings/plugins/ifcfg-fedora/reader.c
1647           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
1648           system-settings/plugins/ifcfg-suse/parser.c
1649           system-settings/plugins/keyfile/nm-keyfile-connection.c
1650           system-settings/src/main.c
1651                 - Remove id-related stuff
1652                 - Give connections UUIDs where needed
1653
1654 2008-08-25  Dan Williams  <dcbw@redhat.com>
1655
1656         * libnm-util/crypto_gnutls.c
1657           libnm-util/crypto_nss.c
1658                 - (crypto_init, crypto_deinit): refcount init/deinit
1659                 - (crypto_md5_hash): allow NULL salt
1660
1661 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
1662
1663         * libnm-glib/Makefile.am
1664           libnm-util/Makefile.am
1665           libnm-glib/libnm_glib.ver
1666           libnm-glib/libnm_glib_vpn.ver
1667           libnm-util/libnm-util.ver
1668                 - Use linker version scripts to control the list of exported 
1669                 symbols. List each exported symbol explicitely.
1670         * libnm-util/Makefile.am
1671                 - Fix compilation of the test-crypto binary. The crypto
1672                 functions are no longer part of the libnm-util API. Add 
1673                 crypto_*.c to test_crypto_SOURCES and link against the correct
1674                 crypto libraries.
1675
1676 2008-08-19  Dan Williams  <dcbw@redhat.com>
1677
1678         * configure.in
1679           test/Makefile.am
1680                 - Don't build test/test-common
1681                 - Remove unused stuff
1682
1683         * test/nm-set-fallback
1684           test/nmtestdevices.c
1685           test/test-common/.cvsignore
1686           test/test-common/Makefile.am
1687           test/test-common/test-common.c
1688           test/test-common/test-common.h
1689                 - delete
1690
1691 2008-08-18  Dan Williams  <dcbw@redhat.com>
1692
1693         * libnm-util/nm-utils.c
1694           libnm-util/nm-utils.h
1695                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1696                         export anything that needs to be converted with this function
1697
1698         * src/dhcp-manager/nm-dhcp-manager.c
1699                 - (garray_to_string): convert a byte array to a UTF-8 string with
1700                         minimal validation; the DHCP client sends it in ASCII anyway
1701                 - (get_option, copy_option): use garray_to_string()
1702
1703 2008-08-18  Dan Williams  <dcbw@redhat.com>
1704
1705         * include/NetworkManager.h
1706           introspection/nm-device.xml
1707                 - Add a "missing firmware" device state reason
1708
1709         * src/NetworkManagerSystem.c
1710           src/NetworkManagerSystem.h
1711                 - (nm_system_device_set_up_down): add a no_firmware argument
1712                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1713                         IFF_UP is ENOENT, that almost always means missing firmware
1714
1715         * src/backends/NetworkManagerGeneric.c
1716           src/nm-device-ethernet.c
1717           src/nm-device-private.h
1718           src/nm-device-wifi.c
1719           src/nm-device.c
1720           src/nm-device.h
1721           src/nm-hso-gsm-device.c
1722           src/vpn-manager/nm-vpn-connection.c
1723                 - Pass no_firmware along; check it where appropriate
1724
1725 2008-08-18  Dan Williams  <dcbw@redhat.com>
1726
1727         Patch from Robert Buchholz <rbu@gentoo.org>
1728
1729         * autogen.sh
1730           configure.in
1731                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1732                         1003.1-1988, allowing for file names longer than 99 characters
1733
1734 2008-08-17  Dan Williams  <dcbw@redhat.com>
1735
1736         * include/NetworkManager.h
1737           introspection/nm-device.xml
1738           src/nm-gsm-device.c
1739                 - Finer-grained GSM registration failure error codes
1740
1741 2008-08-17  Dan Williams  <dcbw@redhat.com>
1742
1743         * callouts/Makefile.am
1744           src/Makefile.am
1745                 - Move dispatcher directory creation to callouts/Makefile.am
1746
1747         * system-settings/plugins/keyfile/Makefile.am
1748                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1749
1750 2008-08-15  Dan Williams  <dcbw@redhat.com>
1751
1752         Do connection sharing in a cleaner manner; all required iptables rules
1753         are now stored in the activation request and pertain only to the device
1754         which is being shared to other computers. (rh #458625)
1755
1756         * src/nm-activation-request.c
1757           src/nm-activation-request.h
1758                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1759                         the activation request which will get torn down automatically when
1760                         the activation request dies
1761                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1762                         is started, and tear them down when sharing is stopped
1763
1764         * src/nm-device.c
1765                 - (start_sharing): start up sharing by doing the required iptables magic
1766                 - (share_init): poke the right bits of the kernel and load the right
1767                         modules for NAT
1768                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1769                         connection if it's a 'shared' connection
1770
1771         * src/NetworkManagerPolicy.c
1772                 - Remove all sharing stuff; done in the device code itself
1773
1774 2008-08-15  Dan Williams  <dcbw@redhat.com>
1775
1776         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1777                 - (create_dm_cmd_line): send the right router address
1778
1779 2008-08-15  Dan Williams  <dcbw@redhat.com>
1780
1781         * src/ppp-manager/nm-ppp-manager.c
1782                 - (pppd_timed_out): ensure timeouts fail the connection
1783
1784 2008-08-14  Dan Williams  <dcbw@redhat.com>
1785
1786         * src/nm-properties-changed-signal.c
1787           src/nm-properties-changed-signal.h
1788                 - Add a property spec flag for "don't export this property" in
1789                         property changed signals
1790
1791         * src/nm-hso-gsm-device.c
1792           src/nm-gsm-device.c
1793           src/nm-cdma-device.c
1794                 - Don't export monitor interface or netdev interface properties
1795
1796 2008-08-14  Dan Williams  <dcbw@redhat.com>
1797
1798         * src/NetworkManagerPolicy.c
1799                 - (update_routing_and_dns): 'hso' devices can be default even if they
1800                         don't have a gateway
1801
1802 2008-08-14  Dan Williams  <dcbw@redhat.com>
1803
1804         * src/nm-device.c
1805                 - (nm_device_deactivate_quickly): tear down activation request after
1806                         calling device-specific deactivation
1807
1808         * src/nm-hso-gsm-device.c
1809                 - (real_deactivate_quickly): terminate connection when deactivating
1810
1811 2008-08-14  Dan Williams  <dcbw@redhat.com>
1812
1813         * src/nm-activation-request.h
1814                 - Add HSO secrets caller
1815
1816         * src/nm-gsm-device.c
1817           src/nm-gsm-device.h
1818                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1819                         something to the callback function
1820                 - (set_apn, set_apn_done): call class dial function, not a static one
1821                 - (nm_gsm_device_class_init): add a class 'dial' function
1822
1823         * src/nm-hal-manager.c
1824                 - (get_hso_netdev): find the hso-driven hardware's net device
1825                 - (modem_device_creator): recognize hso-driven hardware and create the
1826                         right type of device object for it
1827
1828         * src/Makefile.am
1829           src/nm-hso-gsm-device.c
1830           src/nm-hso-gsm-device.h
1831                 - Implement support for devices driven by the 'hso' driver as a subclass
1832                         of NMGsmDevice
1833
1834 2008-08-14  Dan Williams  <dcbw@redhat.com>
1835
1836         * src/NetworkManagerSystem.c
1837                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1838                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1839                         success if the operation really was successful
1840
1841 2008-08-14  Dan Williams  <dcbw@redhat.com>
1842
1843         * src/nm-netlink-monitor.c
1844           src/nm-netlink-monitor.h
1845           src/nm-device-ethernet.c
1846                 - (nm_netlink_monitor_request_status): return an error on failure
1847                 - (constructor): don't segfault on missing error
1848
1849 2008-08-13  Dan Williams  <dcbw@redhat.com>
1850
1851         * callouts/nm-dispatcher-action.c
1852                 - Add IP4 config info to script environment
1853
1854 2008-08-12  Dan Williams  <dcbw@redhat.com>
1855
1856         * src/nm-device.c
1857                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1858                         that want to use DHCP hostnames should use dispatcher scripts
1859                         for that
1860
1861         * src/NetworkManagerSystem.h
1862           src/backends/NetworkManagerArch.c
1863           src/backends/NetworkManagerDebian.c
1864           src/backends/NetworkManagerFrugalware.c
1865           src/backends/NetworkManagerGeneric.c
1866           src/backends/NetworkManagerGeneric.h
1867           src/backends/NetworkManagerGentoo.c
1868           src/backends/NetworkManagerMandriva.c
1869           src/backends/NetworkManagerPaldo.c
1870           src/backends/NetworkManagerRedHat.c
1871           src/backends/NetworkManagerSlackware.c
1872           src/backends/NetworkManagerSuSE.c
1873                 - Remove nm_system_set_hostname(), no longer used
1874           
1875         * src/backends/Makefile.am
1876           src/backends/shvar.c
1877           src/backends/shvar.h
1878                 - Remove shvar.*; no longer used
1879
1880 2008-08-12  Dan Williams  <dcbw@redhat.com>
1881
1882         Revert most of the 'hostname' patch.  Too much stuff still breaks when
1883         hostname is updated at runtime.  Distros or users who want hostname updates
1884         can use dispatcher scripts to update the hostname if they need it.
1885
1886 2008-08-12  Dan Williams  <dcbw@redhat.com>
1887
1888         * introspection/nm-settings-system.xml
1889           system-settings/src/dbus-settings.c
1890           system-settings/src/dbus-settings.h
1891                 - Add a 'Hostname' property (rw) which represents the configured
1892                         hostname and domain of the system, if any
1893
1894         * system-settings/src/nm-system-config-error.c
1895           system-settings/src/nm-system-config-error.h
1896           system-settings/src/nm-system-config-interface.c
1897           system-settings/src/nm-system-config-interface.h
1898                 - Add a 'hostname' property to the plugin interface
1899                 - Add a method to send updated hostname to plugins to save in their
1900                         backing configuration store
1901
1902         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1903           system-settings/plugins/keyfile/plugin.c
1904           system-settings/plugins/keyfile/writer.c
1905           system-settings/plugins/keyfile/writer.h
1906           system-settings/plugins/ifcfg-suse/plugin.c
1907                 - Add minimal hostname support
1908
1909         * system-settings/plugins/ifcfg-fedora/plugin.c
1910                 - Add support for updating system hostname in /etc/sysconfig/network
1911
1912 2008-08-12  Dan Williams  <dcbw@redhat.com>
1913
1914         * system-settings/plugins/ifcfg-fedora/shvar.c
1915           system-settings/plugins/ifcfg-fedora/shvar.c
1916                 - Fix double-free caused by svSetValue() followed by svCloseFile()
1917
1918 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1919
1920         * Makefile.am: Fix distcheck.
1921
1922 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1923
1924         * libnm-glib/*.c. Document some more.
1925
1926 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1927
1928         Start documenting libnm-glib public API using gtk-doc.
1929
1930         * libnm-glib/nm-serial-device.c: 
1931         * libnm-glib/nm-object.c: 
1932         * libnm-glib/nm-gsm-device.c: 
1933         * libnm-glib/nm-device.c: 
1934         * libnm-glib/nm-device-wifi.c: 
1935         * libnm-glib/nm-device-ethernet.c: 
1936         * libnm-glib/nm-client.c: 
1937         * libnm-glib/nm-cdma-device.c: Document the public API.
1938
1939         * docs/libnm-glib/libnm-glib.types: Implement.
1940
1941         * docs/libnm-glib/Makefile.am: Implement.
1942
1943         * autogen.sh: 
1944         * configure.in: 
1945         * Makefile.am: Add gtk-doc support.
1946
1947 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1948
1949         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
1950
1951         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
1952         the composite result of all the IP4 configurations and call a distro
1953         specific update_resolv_conf().
1954         (update_resolv_conf): Implement one for directly writing to 
1955         /etc/resolv.conf and one for opensuse to call netconfig.
1956
1957 2008-08-11  Dan Williams  <dcbw@redhat.com>
1958
1959         * src/ppp-manager/nm-ppp-manager.c
1960                 - (impl_ppp_manager_need_secrets): pass interface as required
1961
1962 2008-08-11  Dan Williams  <dcbw@redhat.com>
1963
1964         Merge the vpn-properties setting with the vpn setting since it was pointless
1965         to keep both of them around.  Convert the vpn 'data' hash table to a hash
1966         of string:string (instead of string:variant) so that system settings plugins
1967         can have an easier time dealing with the arbitrary key/value pairs.
1968
1969 2008-08-11  Dan Williams  <dcbw@redhat.com>
1970
1971         * libnm-util/nm-utils.c
1972                 - (nm_utils_register_value_transformations): add value transform for
1973                         a hash table of string:string
1974
1975 2008-08-10  Dan Williams  <dcbw@redhat.com>
1976
1977         * libnm-glib/nm-vpn-plugin.c
1978                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
1979                         an idle handler so the Connect reply gets delivered before the
1980                         stop StateChanged signal
1981
1982 2008-08-10  Dan Williams  <dcbw@redhat.com>
1983
1984         * src/nm-ip4-config.c
1985                 - (get_property): use common ip4 address/route conversion functions
1986                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
1987                         copy the new route here, not take ownership
1988
1989 2008-08-08  Tambet Ingo  <tambet@gmail.com>
1990
1991         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
1992         Update the IP4 setting's method name.
1993
1994 2008-08-07  Dan Williams  <dcbw@redhat.com>
1995
1996         * introspection/nm-ip4-config.xml
1997           libnm-glib/libnm-glib-test.c
1998           libnm-glib/nm-ip4-config.c
1999           libnm-glib/nm-ip4-config.h
2000           src/NetworkManagerSystem.h
2001           src/backends/NetworkManagerArch.c
2002           src/backends/NetworkManagerDebian.c
2003           src/backends/NetworkManagerFrugalware.c
2004           src/backends/NetworkManagerGeneric.c
2005           src/backends/NetworkManagerGeneric.h
2006           src/backends/NetworkManagerGentoo.c
2007           src/backends/NetworkManagerMandriva.c
2008           src/backends/NetworkManagerPaldo.c
2009           src/backends/NetworkManagerRedHat.c
2010           src/backends/NetworkManagerSlackware.c
2011           src/backends/NetworkManagerSuSE.c
2012           src/dhcp-manager/nm-dhcp-manager.c
2013           src/nm-device.c
2014           src/nm-ip4-config.c
2015           src/nm-ip4-config.h
2016                 - Remove NIS logic; should be done from dispatcher scripts instead
2017
2018 2008-08-07  Dan Williams  <dcbw@redhat.com>
2019
2020         * src/dhcp-manager/nm-dhcp-manager.c
2021                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
2022                         mis-handling of DHCP responses that returned more than one router
2023                         (found by Grant Williamson)
2024
2025 2008-08-07  Dan Williams  <dcbw@redhat.com>
2026
2027         * callouts/nm-dispatcher-action.c
2028                 - (nm_dispatcher_action): grab device path and create the device; pass
2029                         the device's DHCP4 config to script caller
2030                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
2031                         scripts
2032
2033         * libnm-glib/nm-dhcp4-config.c
2034           libnm-glib/nm-dhcp4-config.h
2035                 - (nm_dhcp4_config_get_options): expose
2036                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
2037
2038 2008-08-07  Dan Williams  <dcbw@redhat.com>
2039
2040         * include/NetworkManager.h
2041                 - Add the DHCP4Config D-Bus interface
2042
2043         * libnm-glib/Makefile.am
2044           libnm-glib/nm-dhcp4-config.c
2045           libnm-glib/nm-dhcp4-config.h
2046                 - Handle DHCP4 config objects exported by NM over D-Bus
2047
2048         * libnm-glib/nm-device.c
2049           libnm-glib/nm-device.h
2050                 - Add a 'dhcp4-config' property
2051
2052         * libnm-glib/libnm-glib-test.c
2053                 - Print out DHCP4 config for devices
2054                 - Fix some crashes when no connections are active
2055
2056         * src/nm-device-interface.c
2057           src/nm-device.c
2058           src/nm-dhcp4-config.c
2059           src/nm-dhcp4-config.h
2060                 - Treat dhcp4-config object as an object path at the D-Bus interface so
2061                         that when it doesn't exist we can proxy it as "/" which dbus-glib
2062                         doesn't let us do when the property type is G_TYPE_OBJECT
2063
2064 2008-08-07  Dan Williams  <dcbw@redhat.com>
2065
2066         * src/NetworkManager.c
2067           src/NetworkManagerSystem.h
2068           src/backends/NetworkManagerArch.c
2069           src/backends/NetworkManagerDebian.c
2070           src/backends/NetworkManagerFrugalware.c
2071           src/backends/NetworkManagerGeneric.c
2072           src/backends/NetworkManagerGeneric.h
2073           src/backends/NetworkManagerGentoo.c
2074           src/backends/NetworkManagerMandriva.c
2075           src/backends/NetworkManagerPaldo.c
2076           src/backends/NetworkManagerRedHat.c
2077           src/backends/NetworkManagerSlackware.c
2078           src/backends/NetworkManagerSuSE.c
2079                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
2080
2081 2008-08-06  Dan Williams  <dcbw@redhat.com>
2082
2083         * libnm-glib/nm-ip4-config.c
2084           libnm-glib/nm-ip4-config.h
2085                 - Add 'routes' property
2086
2087         * libnm-util/nm-setting-vpn.c
2088           libnm-util/nm-setting-vpn.h
2089                 - Remove 'routes' property
2090
2091         * libnm-util/nm-setting-ip4-config.c
2092           libnm-util/nm-setting-ip4-config.h
2093                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
2094                 - Add 'ignore-auto-routes' property
2095                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
2096                         accomodate route metrics
2097                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
2098
2099         * libnm-util/nm-utils.c
2100           libnm-util/nm-utils.h
2101                 - Add helpers for marshalling IP4 routes
2102
2103         * src/NetworkManagerUtils.c
2104                 - (nm_utils_merge_ip4_config): handle property renames and new route
2105                         structure
2106
2107         * src/NetworkManagerSystem.c
2108                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
2109                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
2110
2111         * src/dhcp-manager/nm-dhcp-manager.c
2112                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
2113
2114         * system-settings/plugins/ifcfg-fedora/reader.c
2115           system-settings/plugins/ifcfg-fedora/writer.c
2116                 - Handle routes separately from addresses now that routes have a different
2117                         format
2118
2119         * introspection/nm-ip4-config.xml
2120           src/nm-ip4-config.c
2121           src/nm-ip4-config.h
2122                 - Rename internal routing functions
2123                 - 'static-routes' renamed to 'routes'
2124
2125 2008-08-04  Dan Williams  <dcbw@redhat.com>
2126
2127         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
2128
2129         * src/NetworkManager.c
2130           src/nm-manager.c
2131           src/nm-manager.h
2132                 - More explicitly make the NMManager a singleton
2133
2134 2008-08-04  Dan Williams  <dcbw@redhat.com>
2135
2136         * libnm-util/nm-connection.c
2137           libnm-util/nm-connection.h
2138                 - (nm_connection_verify): return error on missing 'connection' setting
2139                         (found by Sjoerd Simons)
2140
2141 2008-08-04  Dan Williams  <dcbw@redhat.com>
2142
2143         Handle multiple concurrent PPP connections.
2144
2145         * src/ppp-manager/nm-ppp-manager.c
2146           src/ppp-manager/nm-ppp-manager.h
2147                 - (constructor): only PPP Manager request bus name once; each
2148                         NMPPPManager object gets a unique object path
2149                 - (nm_ppp_manager_class_init, get_property, set_property,
2150                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
2151                         at construct time
2152                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
2153                         remove timeout until PPP manager gets an IP4 config
2154                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
2155                         the plugin can call back to this specific PPP manager instance
2156
2157         * src/nm-device-ethernet.c
2158           src/nm-serial-device.c
2159                 - Pass parent device in nm_ppp_manager_new()
2160
2161         * src/nm-gsm-device.c
2162           src/nm-cdma-device.c
2163                 - (device_state_changed): don't close serial device on NEED_AUTH
2164                         state changed, that's not a failure case like the rest are
2165
2166         * src/ppp-manager/nm-pppd-plugin.c
2167                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
2168                         binds one interface to any pppd process, thus the correct index
2169                         is always 0; send PHASE_DEAD on error to alert NM immediately of
2170                         problems; try harder to get a peer address in spite of pppd
2171                 - (plugin_init): use 'ipparam' as the object path back to our specific
2172                         PPP manager instance
2173
2174 2008-08-04  Dan Williams  <dcbw@redhat.com>
2175
2176         * src/ppp-manager/nm-ppp-manager.c
2177                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
2178                         since the GSM and CDMA settings now implement need_secrets, we can
2179                         rely on them to do the right thing.  Where secrets are not required,
2180                         just pass empty strings back to the pppd plugin.
2181                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
2182                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
2183                         on successful IP4 config receipt
2184
2185 2008-08-04  Dan Williams  <dcbw@redhat.com>
2186
2187         * libnm-util/nm-setting-cdma.c
2188           libnm-util/nm-setting-gsm.c
2189                 - (verify): validate username & password if they exist
2190                 - (need_secrets): if username given, require a password too
2191
2192 2008-08-04  Dan Williams  <dcbw@redhat.com>
2193
2194         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2195                 - (create_dm_cmd_line): really don't listen on lo, despite what the
2196                         manpage says about --listen-address without --interface
2197                         (bgo #546033)
2198
2199 2008-08-01  Dan Williams  <dcbw@redhat.com>
2200
2201         * libnm-glib/nm-device.c
2202                 - (proxy_get_string): util function for querying a HAL property
2203                 - (get_ancestor_device): split out from get_product_and_vendor()
2204                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
2205                         from PCI devices by querying subsys properties
2206                 - (nm_device_update_description): simplify
2207
2208 2008-08-01  Dan Williams  <dcbw@redhat.com>
2209
2210         * libnm-util/nm-setting-ip4-config.c
2211           libnm-util/nm-setting-ip4-config.h
2212                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
2213                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
2214                         settings, and they don't necessarily use DHCP.
2215
2216         * src/NetworkManagerPolicy.c
2217           src/nm-device.c
2218           system-settings/plugins/ifcfg-fedora/reader.c
2219           system-settings/plugins/ifcfg-suse/parser.c
2220                 - Fixup for method changes
2221
2222 2008-07-31  Dan Williams  <dcbw@redhat.com>
2223
2224         * src/nm-activation-request.c
2225           src/vpn-manager/nm-vpn-connection.c
2226                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
2227                         itself should be attached to the activation request or the VPN
2228                         connection, not the NMConnection object, since the call is not
2229                         expected to live as long as the NMConnection itself
2230
2231 2008-07-31  Dan Williams  <dcbw@redhat.com>
2232
2233         * src/nm-device-wifi.c
2234                 - (real_act_stage2_config): fix issue where association would continue
2235                         even though secrets were needed; 'goto out' was in wrong scope and
2236                         result of handle_auth_or_fail() should have been dumped directly to
2237                         'ret' to ensure that the association was postponed until secrets
2238                         are available
2239
2240 2008-07-31  Dan Williams  <dcbw@redhat.com>
2241
2242         * system-settings/plugins/ifcfg-fedora/plugin.c
2243           system-settings/plugins/ifcfg-fedora/reader.c
2244                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
2245                         valid NM connection
2246
2247 2008-07-29  Dan Williams  <dcbw@redhat.com>
2248
2249         * src/nm-gsm-device.c
2250                 - (automatic_registration_response, automatic_registration): recognize
2251                         denied registration and reorder responses
2252
2253 2008-07-29  Dan Williams  <dcbw@redhat.com>
2254
2255         * src/nm-serial-device.c
2256                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
2257                         time(2) is used for current time, which returns seconds, we shouldn't
2258                         be multiplying by 1000.
2259
2260 2008-07-28  Dan Williams  <dcbw@redhat.com>
2261
2262         Patch from Fabrice Bellet <fabrice@bellet.info>
2263
2264         * src/NetworkManagerSystem.c
2265                 - (route_in_same_subnet): mask addresses and compare them so that the
2266                         function actually does what it says it's going to do (rh #456685)
2267
2268 2008-07-27  Dan Williams  <dcbw@redhat.com>
2269
2270         * libnm-util/nm-setting-ip6-config.c
2271                 - (set_property): add missing break that caused routes to be overwritten
2272                         with addresses
2273
2274         * libnm-util/nm-setting-ip6-config.c
2275                 - (verify): validate routes and return GError everywhere on invalid setting
2276                 - (finalize): don't leak routes
2277                 - (set_property): add missing break that caused routes to be overwritten
2278                         with addresses
2279
2280 2008-07-27  Dan Williams  <dcbw@redhat.com>
2281
2282         * libnm-util/*
2283                 - Relicense to LGPLv2+
2284
2285 2008-07-27  Dan Williams  <dcbw@redhat.com>
2286
2287         * system-settings/plugins/ifcfg-fedora/reader.c
2288                 - (make_ip4_setting): fix parsing automatic configs
2289
2290 2008-07-27  Dan Williams  <dcbw@redhat.com>
2291
2292         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2293           src/nm-device.c
2294           src/ppp-manager/nm-ppp-manager.c
2295                 - Ensure child process gets reaped.  The child watch function may be
2296                         removed from the mainloop before the child gets killed, so we have
2297                         to make sure the child is reaped when it's told to die intentionally
2298
2299 2008-07-27  Dan Williams  <dcbw@redhat.com>
2300
2301         Patch from Roy Marples <roy@marples.name>
2302
2303         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2304                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
2305
2306 2008-07-27  Dan Williams  <dcbw@redhat.com>
2307
2308         * src/nm-gsm-device.c
2309                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
2310                         Huawei devices turn echo back on after CPIN (rh #456770)
2311
2312 2008-07-24  Tambet Ingo  <tambet@gmail.com>
2313
2314         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
2315         format argument to g_set_error() call.
2316
2317         * src/backends/interface_parser.[ch]: Remove.
2318
2319         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
2320
2321 2008-07-21  Dan Williams  <dcbw@redhat.com>
2322
2323         * src/ppp-manager/nm-ppp-manager.c
2324                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
2325                         to prevent pppd from picking up some random local address from an
2326                         interface that doesn't have anything to do with the one we're
2327                         interested in (rh #455348)
2328
2329 2008-07-17  Dan Williams  <dcbw@redhat.com>
2330
2331         * libnm-util/nm-utils.c
2332                 - (string_to_utf8): general function for conversion to UTF-8 assisted
2333                         by locale
2334                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
2335                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
2336
2337 2008-07-17  Dan Williams  <dcbw@redhat.com>
2338
2339         * introspection/Makefile.am
2340           introspection/nm-device.xml
2341           introspection/nm-dhcp4-config.xml
2342                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
2343                         itself
2344         * src/nm-device-interface.c
2345           src/nm-device-interface.h
2346                 - Add the DHCP4Config property
2347
2348         * src/nm-device.c
2349                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
2350                         D-Bus clients when it changes
2351
2352         * src/nm-dhcp4-config.c
2353           src/nm-dhcp4-config.h
2354                 - Simple object to store DHCP4 options, export them over D-Bus, and
2355                         notify when they change
2356
2357         * src/dhcp-manager/nm-dhcp-manager.c
2358           src/dhcp-manager/nm-dhcp-manager.h
2359                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
2360                         filter server-returned DHCP options into an NMDHCP4Config object
2361
2362 2008-07-16  Dan Williams  <dcbw@redhat.com>
2363
2364         * introspection/nm-device.xml
2365                 - Add device state reasons
2366
2367 2008-07-16  Dan Williams  <dcbw@redhat.com>
2368
2369         Patch from Roy Marples <roy@marples.name>
2370
2371         * configure.in
2372                 - Add --with-dhcp-client option
2373
2374         * src/dhcp-manager/Makefile.am
2375                 - pass DHCP_CLIENT_PATH on compile line
2376
2377         * src/dhcp-manager/nm-dhcp-manager.c
2378           src/dhcp-manager/nm-dhcp-manager.h
2379                 - Genericize for both dhcpcd and dhclient
2380
2381         * src/dhcp-manager/nm-dhcp-dhclient.c
2382                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
2383
2384         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2385                 - Implement support for dhcpcd too
2386
2387 2008-07-16  Tambet Ingo  <tambet@gmail.com>
2388
2389         * system-settings/src/nm-system-config-interface.c 
2390         (nm_system_config_interface_supports_add): Implement.
2391         (nm_system_config_interface_add_connection): Return a boolean to notify
2392         of errors.
2393
2394         * system-settings/src/nm-polkit-helpers.c: 
2395         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
2396         a separate file.
2397
2398         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
2399         Return an error when none of the plugins support add or if addition
2400         failed for some reason.
2401
2402         * system-settings/src/nm-system-config-error.h: 
2403         * system-settings/src/nm-system-config-error.c: New files, mostly moved
2404         here from nm-polkit-helpers.[ch].
2405
2406         * system-settings/src/Makefile.am: Build new files.
2407
2408         * system-settings/plugins/keyfile/reader.c 
2409         (read_array_of_array_of_uint): Make it more general so that it would
2410         work for routes as well.
2411
2412         * system-settings/plugins/keyfile/writer.c
2413         (write_array_of_array_of_uint): Ditto.
2414         Fix the netmask/prefix writing.
2415
2416         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
2417         boolean to notify errors.
2418
2419         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
2420         Return more specific error.
2421         (delete): Ditto.
2422
2423 2008-07-11  Dan Williams  <dcbw@redhat.com>
2424
2425         Modify the NMDevice::state-changed signal to include the previous state
2426         and reason. Enables the applet to provide more information why device
2427         activation failed.
2428
2429 2008-07-09  Dan Williams  <dcbw@redhat.com>
2430
2431         * callouts/Makefile.am
2432           callouts/nm-avahi-autoipd-action.c
2433           callouts/nm-avahi-autoipd.conf
2434                 - avahi-autoipd callout to send options back to NM
2435
2436         * src/autoip.c
2437           src/autoip.h
2438                 - remove
2439
2440         * src/nm-device.c
2441           src/nm-device-private.h
2442           src/nm-manager.c
2443                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
2444                         old custom stuff
2445
2446 2008-07-07  Dan Williams  <dcbw@redhat.com>
2447
2448         * system-settings/plugins/ifcfg-fedora/reader.c
2449                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
2450                         handle PREFIX too; clean up
2451
2452 2008-07-07  Dan Williams  <dcbw@redhat.com>
2453
2454         Convert to using IPv4 prefixes instead of netmasks.
2455
2456 2008-07-03  Dan Williams  <dcbw@redhat.com>
2457
2458         * libnm-util/nm-setting-ip4-config.c
2459           libnm-util/nm-setting-ip4-config.h
2460                 - Add properties for DHCP Client Identifier and DHCP Hostname
2461
2462         * src/dhcp-manager/nm-dhcp-manager.c
2463           src/dhcp-manager/nm-dhcp-manager.h
2464                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
2465                         setting as an argument to pass on to the dhclient config file
2466                         creation function
2467                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
2468                         DHCP is torn down
2469                 - (dhclient_run): punt config file handling to create_dhclient_config()
2470                 - (create_dhclient_config): create an interface-specific dhclient
2471                         config file since there may need to be interface-specific options
2472                         passed to dhclient
2473                 - (merge_dhclient_config): merge normal distro dhclient config file and
2474                         add options from the connection
2475                 - (nm_dhcp_device_new): generate the interface specific dhclient
2476                         config file path once
2477                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
2478                         dhclient config file path
2479
2480         * src/nm-device.c
2481                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
2482                         DHCP manager when starting DHCP
2483
2484 2008-07-02  Dan Williams  <dcbw@redhat.com>
2485
2486         * libnm-util/nm-setting-8021x.c
2487                 - (verify): allow forcing the PEAP label to 0
2488
2489 2008-07-02  Dan Williams  <dcbw@redhat.com>
2490
2491         * introspection/nm-active-connection.xml
2492           introspection/nm-vpn-connection.xml
2493           libnm-glib/nm-active-connection.c
2494           src/nm-activation-request.c
2495           src/nm-active-connection.h
2496           src/vpn-manager/nm-vpn-connection.c
2497                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
2498                         and libnm-glib API since sharing didn't get implemented that way
2499
2500 2008-07-02  Dan Williams  <dcbw@redhat.com>
2501
2502         * src/nm-device-wifi.c
2503                 - (can_scan): don't scan when a shared connection is activated since
2504                         that makes drivers mad (causing disconnects); also NM doesn't need
2505                         to hedge against disconnects by keeping up-to-date network topology
2506                         because the connection originates from the local machine, and thus
2507                         there should be no disconnects
2508
2509 2008-07-01  Dan Williams  <dcbw@redhat.com>
2510
2511         Fix mobile broadband username/password issues.  NM was never requesting
2512         mobile broadband secrets, nor was it passing back the username and password
2513         if it had them.
2514
2515         * marshallers/nm-marshal.list
2516                 - Add some new types for activation request objects
2517
2518         * src/nm-activation-request.c
2519           src/nm-activation-request.h
2520                 - (get_secrets_cb): pass the caller type in the signal
2521                 - (nm_act_request_request_connection_secrets): take a caller type, so
2522                         that GetSecrets() reply handlers know who asked for the secrets in
2523                         the first place; use secret hints too so the settings service can
2524                         figure out exactly what NM wants (ie, PIN or the PPP password)
2525
2526         * src/ppp-manager/nm-ppp-manager.c
2527           src/ppp-manager/nm-ppp-manager.h
2528                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
2529                         detect needed secrets when the secret could be blank, like GSM/CDMA
2530                         passwords.  So always ask for secrets, and send a hint as to what
2531                         secret we really want.
2532                 - (nm_ppp_manager_update_secrets): make function more generic by making
2533                         the device specific class figure out the username and password, and
2534                         accept an error argument to return back over D-Bus
2535
2536         * src/nm-device-wifi.c
2537                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2538                         nm_act_request_request_connection_secrets()
2539                 - (real_connection_secrets_updated): update for 'caller' changes
2540
2541         * src/nm-device.c
2542           src/nm-device.h
2543                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
2544                         for 'caller' changes
2545
2546         * src/nm-device-ethernet.c
2547                 - (real_connection_secrets_updated): update for 'caller' changes and
2548                         move logic for getting PPPoE username and password here before
2549                         calling nm_ppp_manager_update_secrets()
2550                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2551                         nm_act_request_request_connection_secrets()
2552
2553         * src/nm-cdma-device.c
2554                 - (real_connection_secrets_updated): pass username and password back
2555                         to the PPP manager when required
2556
2557         * src/nm-gsm-device.c
2558                 - (enter_pin): send the required secret name to the settings service
2559                 - (real_connection_secrets_updated): pass username and password back
2560                         to the PPP manager when required
2561
2562 2008-06-30  Dan Williams  <dcbw@redhat.com>
2563
2564         * src/nm-device-wifi.c
2565                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
2566
2567 2008-06-30  Dan Williams  <dcbw@redhat.com>
2568
2569         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
2570         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
2571         priv->supplicant.iface.  When either condition is false, the device should
2572         transition back to UNAVAILABLE because it cannot be used.
2573
2574         * src/nm-device-wifi.c
2575                 - (constructor): cleanup; connect to supplicant manager here since the
2576                         supplicant manager is always around
2577                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
2578                         ensure the supplicant manager is in the IDLE state
2579                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
2580                         cancel any pending scans too
2581                 - (real_bring_up): don't set up the supplicnat interface here, because
2582                         we need the supplicant interface at times when the device may not
2583                         be "up"
2584                 - (real_take_down): just remove the periodic source
2585                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
2586                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
2587                         do anything if there's no supplicant interface
2588                 - (cleanup_association_attempt): cleanup
2589                 - (supplicant_iface_state_cb_handler): request an immediate scan when
2590                         the interface enters the READY state; transition to UNAVAILABLE
2591                         state when the interface goes down because the device can't be used
2592                         without a supplicant interface
2593                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
2594                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
2595                         acquire the supplicant interface and transition to DISCONNECTED
2596                         if the radio isn't killed
2597                 - (nm_device_wifi_dispose): move most of device_cleanup() here
2598                 - (state_changed_cb): release any existing supplicant interface; if the
2599                         radio is enabled then try to acquire a new supplicant interface;
2600                         if the radio is enabled and a supplicant interface has been acquired,
2601                         we can transition to DISCONNECTED
2602                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
2603                         don't enable the radio, because HAL probably lied to us about the
2604                         killswitch being off.  If bringing the hardware up worked, then
2605                         try to grab a supplicant interface, and if that was successful,
2606                         transition to DISCONNECTED
2607
2608 2008-06-30  Dan Williams  <dcbw@redhat.com>
2609
2610         * src/supplicant-manager/nm-supplicant-interface.c
2611                 - (request_scan_results, nm_supplicant_interface_dispose,
2612                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
2613                         the id of the timeout, not a GSource
2614
2615 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2616
2617         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
2618         bunch of typoes introduced by "Patch from David Cantrell 
2619         <dcantrell@redhat.com> and me".
2620
2621 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2622
2623         * src/nm-serial-device.c: 
2624         * src/nm-gsm-device.c: 
2625         * src/nm-cdma-device.c: Move the pending call handling to a common location
2626         in serial device. Handle setting device state to failed in one place as well.
2627
2628 2008-06-29  Dan Williams <dcbw@redhat.com>
2629
2630         * src/nm-hal-manager.c
2631                 - Rework killswitch handling to query killswitch status immediately
2632                         when the first killswitch is added, so that rfkill state is
2633                         known as early as possible
2634                 - Also treat failure of GetPower() as rfkill when the dbus method
2635                         call times out (but not when the HAL callout returns an error)
2636
2637 2008-06-26  Dan Williams <dcbw@redhat.com>
2638
2639         Patch from David Cantrell <dcantrell@redhat.com> and me
2640
2641         * include/nm-dbus-glib-types.h
2642                 - Add IP6 address types
2643
2644         * libnm-util/Makefile.am
2645           libnm-util/nm-setting-ip6-config.c
2646           libnm-util/nm-setting-ip6-config.h
2647                 - Add IP6 settings object
2648
2649         * libnm-util/nm-connection.c
2650                 - (register_default_settings): register ip6 settings object
2651
2652         * libnm-util/nm-utils.c
2653           libnm-util/nm-utils.h
2654                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
2655                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
2656                         ip6 address conversion functions
2657         
2658 2008-06-26  Dan Williams <dcbw@redhat.com>
2659
2660         Patch from David Cantrell <dcantrell@redhat.com>
2661         
2662         * Use inet_ntop() and inet_pton() everwhere and check for errors
2663
2664 2008-06-26  Dan Williams <dcbw@redhat.com>
2665
2666         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
2667
2668 2008-06-26  Dan Williams <dcbw@redhat.com>
2669
2670         Patch from Adel Gadllah <adel.gadllah@gmail.com>
2671
2672         * src/nm-device-wifi.c
2673                 - (link_timeout_cb): don't ignore disconnects due to scanning
2674                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2675                         a longer timeout when scanning; avoids case where supplicant can't
2676                         find the AP and just keeps scanning forever but isn't connected
2677
2678 2008-06-26  Dan Williams <dcbw@redhat.com>
2679
2680         Patch from Michael Biebl <biebl@debian.org>
2681
2682         * Clean up build system stuff
2683
2684 2008-06-23  Christian Persch  <chpe@gnome.org>
2685
2686         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2687         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2688         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2689         (impl_get_object):
2690         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2691         (impl_get_object):
2692         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2693         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2694         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2695         (impl_get_object):
2696         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2697         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2698         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2699         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2700         * vpn-daemons/pptp/properties/vpnui_opt.c:
2701         (vpnui_opt_connect_signals):
2702         * vpn-daemons/pptp/properties/vpnui_opt.h:
2703         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2704         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2705         deprecated gtk type macros. Bug #539325.
2706
2707 2008-06-20  Dan Williams  <dcbw@redhat.com>
2708
2709         * libnm-glib/nm-vpn-plugin-ui-interface.c
2710           libnm-glib/nm-vpn-plugin-ui-interface.h
2711                 - 'validity-changed' -> 'changed' to work better with the connection
2712                         editor.  Plugin UI widgets should emit 'changed' whenever their
2713                         UI values change in a meaningful way.
2714                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2715                         update_connection member now returns validity of the UI widget
2716
2717 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2718
2719         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2720
2721 2008-06-17  Dan Williams  <dcbw@redhat.com>
2722
2723         * libnm-glib/nm-vpn-plugin-ui-interface.c
2724           libnm-glib/nm-vpn-plugin-ui-interface.h
2725                 - Add "desc" property for longer descriptions of the VPN plugin
2726
2727 2008-06-16  Dan Williams  <dcbw@redhat.com>
2728
2729         * configure.in
2730           libnm-glib/libnm_glib_vpn.pc.in
2731                 - add a .pc file for libnm_glib_vpn
2732
2733         * libnm-glib/nm-vpn-plugin-ui-interface.c
2734           libnm-glib/nm-vpn-plugin-ui-interface.h
2735                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2736                         rework it substantially
2737
2738 2008-06-12  Dan Williams  <dcbw@redhat.com>
2739
2740         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2741         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2742         returns a descriptive GError when verification fails.
2743
2744 2008-06-11  Dan Williams  <dcbw@redhat.com>
2745
2746         Patch from Tambet Ingo <tambet@gmail.com>
2747
2748         * libnm-util/nm-setting-gsm.c
2749                 - (verify): validate APN
2750
2751         * src/nm-gsm-device.c
2752                 - (manual_registration_done): start setting APN if needed
2753                 - (set_apn, set_apn_done): set the APN
2754                 - (do_dial): use the APN when dialing
2755
2756 2008-06-11  Dan Williams  <dcbw@redhat.com>
2757
2758         * src/NetworkManagerSystem.c
2759                 - (nm_system_device_set_ip4_route,
2760                    nm_system_device_replace_default_ip4_route): check for the right
2761                         return value from rtnl_route_add() to know when to add a gateway
2762                         route (from Tambet)
2763
2764 2008-06-11  Dan Williams  <dcbw@redhat.com>
2765
2766         * src/NetworkManagerPolicy.c
2767                 - do_ipt_cmd -> do_cmd
2768                 - (sharing_init): use do_cmd() instead of system()
2769
2770 2008-06-10  Dan Williams  <dcbw@redhat.com>
2771
2772         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2773         and use "wifi" everwhere instead.
2774
2775 2008-06-10  Dan Williams  <dcbw@redhat.com>
2776
2777         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2778
2779 2008-06-10  Dan Williams  <dcbw@redhat.com>
2780
2781         Patch from Tambet Ingo <tambet@gmail.com>
2782
2783         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2784                 changes.
2785
2786         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2787                 a signal to emit these changes over dbus.
2788
2789         * src/Makefile.am: Genereate nm-serial-device-glue.
2790
2791         * libnm-glib/nm-serial-device.[ch]: Implement.
2792
2793         * libnm-glib/nm-cdma-device.[ch]
2794           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2795
2796         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2797
2798         * introspection/nm-device-serial.xml: Implement.
2799
2800         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2801
2802         * introspection/Makefile.am: Add nm-device-serial.xml.
2803
2804         * include/NetworkManager.h: Add a DBus interface for serial device.
2805
2806 2008-06-10  Dan Williams  <dcbw@redhat.com>
2807
2808         * configure.in
2809                 - Add TARGET_* define to config.h to distinguish distros
2810
2811         * src/dhcp-manager/nm-dhcp-manager.c
2812                 - (dhclient_run): use distro-specific path for dhclient config file
2813
2814 2008-06-09  Dan Williams  <dcbw@redhat.com>
2815
2816         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2817           src/dnsmasq-manager/nm-dnsmasq-manager.h
2818                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2819                         calculate the addresses passed to dnsmasq instead of hard-coding
2820                         them
2821
2822         * src/nm-device.c
2823                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2824                         IP addresses for shared connections to guard against shared
2825                         connection address collisions
2826                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2827                         error conditions
2828                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2829                         the dnsmasq manager
2830
2831 2008-06-09  Dan Williams  <dcbw@redhat.com>
2832
2833         * src/NetworkManagerPolicy.c
2834                 - (update_routing_and_dns): set the default connection _after_ unsetting
2835                         default on all non-default connections so that two connections can
2836                         never be default at the same time
2837                 - (device_state_changed): start and stop connection sharing when
2838                         needed
2839                 - (active_connection_default_changed): restart or stop sharing when
2840                         the default connection changes to keep shared connections always
2841                         NAT-ed through the default connection
2842                 - (check_sharing): handle activation/deactivation of shared connections
2843                 - (sharing_restart): atom-bomb approach to connection sharing until we
2844                         can use libnl; reinit all sharing when the default connection or
2845                         shared connections change
2846                 - (sharing_init, sharing_stop): evil functions that init and deinit
2847                         iptables
2848
2849 2008-06-09  Dan Williams  <dcbw@redhat.com>
2850
2851         * src/nm-activation-request.c
2852           src/nm-activation-request.h
2853                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2854                    nm_act_request_get_device): new functions to facilitate connection
2855                         sharing
2856
2857 2008-06-09  Dan Williams  <dcbw@redhat.com>
2858
2859         * src/nm-device.c
2860                 - (clear_act_request): unset the 'default' property of the activation
2861                         request when clearing it to ensure the property changed signal gets
2862                         delivered and handled
2863
2864 2008-06-09  Dan Williams  <dcbw@redhat.com>
2865
2866         * libnm-glib/nm-device-802-11-wireless.c
2867                 - (access_point_removed_proxy): actually unref the AP after removing
2868                         it from the device's AP list.  Fixes refcounting bug for APs that
2869                         caused them to get mixed up in the applet's menu.
2870
2871 2008-06-09  Tambet Ingo  <tambet@gmail.com>
2872
2873         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
2874         (nm_dhcp_device_destroy): Destroy the device options hash table.
2875
2876 2008-06-06  Dan Williams <dcbw@redhat.com>
2877
2878         * system-settings/src/nm-polkit-helpers.c
2879                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
2880                         unref the context if the initialization fails; also avoid spew when
2881                         the error isn't set
2882
2883 2008-06-06  Dan Williams <dcbw@redhat.com>
2884
2885         Patch from Tambet Ingo  <tambet@gmail.com>
2886
2887         * src/NetworkManagerSystem.c
2888           src/NetworkManagerSystem.h
2889                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
2890                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
2891                 - (nm_system_device_set_ip4_route): clean up
2892                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
2893
2894         * src/nm-device.c
2895                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
2896
2897         * src/vpn-manager/nm-vpn-connection.c
2898                 - (ip_address_to_string): new function
2899                 - (print_vpn_config): use ip_address_to_string
2900                 - (merge_vpn_routes): add user-defined routes to the ip4 config
2901                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
2902
2903         * include/NetworkManagerVPN.h
2904                 - Add 'routes' key
2905
2906 2008-06-05  Dan Williams <dcbw@redhat.com>
2907
2908         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2909
2910         * test/nm-tool.c
2911                 - Show which device is the default device
2912
2913 2008-06-05  Tambet Ingo  <tambet@gmail.com>
2914
2915         Fix memory leaks.
2916
2917         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
2918         Free data returned from dbus method call.
2919
2920         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
2921         dbus_g_method_get_sender() returns a duplicated string, free it 
2922         when done.
2923         (check_polkit_privileges): Looks like policykit sometimes returns
2924         error and non-null return value, don't leak errors in that case.
2925
2926         * system-settings/src/main.c (find_plugin): Don't leak existing 
2927         plugin names.
2928         (load_stuff): Don't leak device list and list items.
2929         (have_connection_for_device): Don't leak connection list.
2930
2931         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
2932         Free the data received from g_keyfile_get_*.
2933
2934         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
2935         the key when the security object is updated.
2936
2937         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
2938         Free data returned from dbus method call.
2939         (iface_state_cb): Ditto.
2940         (add_network_cb): Ditto.
2941         (nm_supplicant_interface_add_cb): Don't make another copy of already
2942         duplicated object path.
2943         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
2944         when done.
2945
2946         * src/supplicant-manager/nm-supplicant-config.c 
2947         (ADD_STRING_LIST_VAL): Fix a memory leak.
2948
2949         * src/nm-manager.c (free_get_settings_info): Free the allocated
2950         memory slice.
2951         (list_connections_cb): Free data returned from dbus method call.
2952         (system_settings_get_unmanaged_devices_cb): Ditto.
2953
2954         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
2955
2956         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
2957         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
2958         * src/backends/shvar.c (svCloseFile): Free the duplicated content
2959         of the GList.
2960
2961         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
2962         arguments after the object is created.
2963
2964 2008-06-04  Dan Williams <dcbw@redhat.com>
2965
2966         * libnm-util/Makefile.am
2967                 - Don't distribute nm-param-spec-specialized.h
2968
2969 2008-06-02  Tambet Ingo  <tambet@gmail.com>
2970
2971         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
2972
2973         * src/nm-ip4-config.[ch]: Store the static routes as a list of
2974         NMIP4Address, update the getters and setters.
2975
2976         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2977         Use the updated NMIP4Config routes api.
2978
2979         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
2980         static routes as well.
2981
2982         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
2983         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
2984         routes api.
2985
2986 2008-05-30  Dan Williams <dcbw@redhat.com>
2987
2988         * src/named-manager/nm-named-manager.c
2989           src/named-manager/nm-named-manager.h
2990                 - Remove stale/obsolete bits for controlling bind over DBus
2991
2992 2008-05-29  Dan Williams <dcbw@redhat.com>
2993
2994         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2995           src/dnsmasq-manager/nm-dnsmasq-manager.h
2996                 - (nm_dnsmasq_manager_new): move iface argument here
2997                 - (constructor): remove, not needed
2998                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
2999                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
3000
3001         * src/nm-device.c
3002                 - (real_act_stage4_get_ip4_config,
3003                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
3004                         changes
3005
3006 2008-05-29  Dan Williams <dcbw@redhat.com>
3007
3008         * src/nm-device.c
3009                 - (dnsmasq_state_changed_cb): new function; fail the connection if
3010                         something happens to dnsmasq
3011                 - (nm_device_new_ip4_shared_config): new function; create a new
3012                         ip4-config for shared connections.  Shared connections always use a
3013                         fixed static IP address.
3014                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
3015                         autoip connections by actually using the returned ip4-config and
3016                         not leaking it
3017                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
3018                         connections
3019                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
3020                         if its active
3021
3022 2008-05-29  Dan Williams <dcbw@redhat.com>
3023
3024         * src/nm-device-802-11-wireless.c
3025                 - (real_get_best_auto_connection): auto-activate 'shared' method
3026                         connections too
3027
3028 2008-05-29  Dan Williams <dcbw@redhat.com>
3029
3030         * libnm-util/nm-setting-ip4-config.c
3031           libnm-util/nm-setting-ip4-config.h
3032                 - Add a 'shared' method to indicate that this connection should be
3033                         brought up with a DHCP and proxy DNS server to facilitate
3034                         connection sharing.
3035                 - (verify): 'shared' method doesn't allow DNS or searches either
3036
3037 2008-05-29  Dan Williams <dcbw@redhat.com>
3038
3039         * configure.in
3040           src/Makefile.am
3041           src/dnsmasq-manager/Makefile.am
3042           src/dnsmasq-manager/nm-dnsmasq-manager.c
3043           src/dnsmasq-manager/nm-dnsmasq-manager.h
3044                 - Add a dnsmasq daemon manager to facilitate connection sharing
3045
3046 2008-05-29  Dan Williams <dcbw@redhat.com>
3047
3048         * src/nm-device-private.h
3049                 - Remove unused prototypes and clean up
3050
3051         * src/nm-device.c
3052                 - Remove anything related to system_config_data, which is no longer used
3053                 - (nm_device_new_ip4_autoip_config): make static
3054
3055 2008-05-29  Tambet Ingo  <tambet@gmail.com>
3056
3057         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
3058         (file_changed): Fix a bug where suse system settings plugin didn't
3059         update the connections automatically when the files changed.
3060
3061 2008-05-28  Dan Williams  <dcbw@redhat.com>
3062
3063         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
3064
3065 2008-05-28  Dan Williams  <dcbw@redhat.com>
3066
3067         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3068
3069         * src/NetworkManagerSystem.c
3070                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
3071                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
3072                         was causing -EINVAL errors since the libnl code actually does flush
3073                         the routes on VPN interfaces now
3074
3075         * src/backends/NetworkManagerArch.c
3076           src/backends/NetworkManagerDebian.c
3077           src/backends/NetworkManagerFrugalware.c
3078           src/backends/NetworkManagerGeneric.c
3079           src/backends/NetworkManagerGentoo.c
3080           src/backends/NetworkManagerMandriva.c
3081           src/backends/NetworkManagerPaldo.c
3082           src/backends/NetworkManagerRedHat.c
3083           src/backends/NetworkManagerSlackware.c
3084           src/backends/NetworkManagerSuSE.c
3085                 - (nm_system_device_flush_ip4_routes,
3086                    nm_system_device_flush_ip4_routes_with_iface): remove
3087
3088 2008-05-28  Dan Williams  <dcbw@redhat.com>
3089
3090         * libnm-util/nm-setting-wireless.c
3091           libnm-util/nm-setting-wireless.h
3092                 - (set_property, get_property, nm_setting_wireless_class_init): add the
3093                         'adhoc-create' property, which when TRUE indicates that NM should
3094                         create this connection as an adhoc wifi network if it's not found
3095                         as an adhoc network during scanning.  Can be used to auto-create
3096                         adhoc networks when used in combination with autoconnect.
3097
3098 2008-05-28  Tambet Ingo  <tambet@gmail.com>
3099
3100         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
3101
3102         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
3103         checked, it doesn't work on some devices.
3104
3105 2008-05-28  Tambet Ingo  <tambet@gmail.com>
3106
3107         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
3108         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
3109
3110         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
3111         Use inet_aton() everywhere to improve error detection.
3112         Don't fall back to 'dhcp_server_identifier' if the gateway is not
3113         provided.
3114
3115 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3116
3117         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
3118         Fix a typo.
3119
3120 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3121
3122         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
3123         reference counting issue.
3124
3125 2008-05-23  Dan Williams  <dcbw@redhat.com>
3126
3127         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3128
3129         * src/backends/NetworkManagerGeneric.c
3130                 - (nm_generic_enable_loopback): use libnl
3131
3132 2008-05-23  Dan Williams  <dcbw@redhat.com>
3133
3134         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3135
3136         * src/NetworkManagerSystem.h
3137           src/backends/NetworkManagerArch.c
3138           src/backends/NetworkManagerDebian.c
3139           src/backends/NetworkManagerFrugalware.c
3140           src/backends/NetworkManagerGentoo.c
3141           src/backends/NetworkManagerMandriva.c
3142           src/backends/NetworkManagerPaldo.c
3143           src/backends/NetworkManagerRedHat.c
3144           src/backends/NetworkManagerSlackware.c
3145           src/backends/NetworkManagerSuSE.c
3146                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
3147                    nm_system_flush_arp_cache): remove, unused
3148
3149         * src/backends/NetworkManagerGeneric.c
3150           src/backends/NetworkManagerGeneric.h
3151                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
3152                    nm_generic_flush_arp_cache): remove, unused
3153
3154 2008-05-23  Dan Williams  <dcbw@redhat.com>
3155
3156         * system-settings/plugins/ifcfg-fedora/reader.c
3157                 - (make_ip4_setting): honor PEERDNS setting
3158
3159 2008-05-23  Dan Williams  <dcbw@redhat.com>
3160
3161         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3162
3163         * src/NetworkManagerSystem.c
3164                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
3165                         libnl
3166
3167         * src/backends/NetworkManagerArch.c
3168           src/backends/NetworkManagerDebian.c
3169           src/backends/NetworkManagerFrugalware.c
3170           src/backends/NetworkManagerGentoo.c
3171           src/backends/NetworkManagerMandriva.c
3172           src/backends/NetworkManagerPaldo.c
3173           src/backends/NetworkManagerRedHat.c
3174           src/backends/NetworkManagerSlackware.c
3175           src/backends/NetworkManagerSuSE.c
3176                 - (nm_system_device_flush_ip4_addresses,
3177                    nm_system_device_flush_ip4_addresses_with_iface): remove
3178
3179         * src/backends/NetworkManagerGeneric.c
3180                 - (nm_generic_device_flush_ip4_addresses,
3181                    nm_generic_device_flush_ip4_addresses_with_iface): remove
3182
3183 2008-05-23  Dan Williams  <dcbw@redhat.com>
3184
3185         * src/supplicant-manager/nm-supplicant-settings-verify.c
3186                 - Switch 'bssid' from bytes to keyword type
3187                 - (validate_type_keyword): allow NULL keyword lists
3188
3189         * src/supplicant-manager/nm-supplicant-config.c
3190                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
3191                         a byte array to string form, which is what the supplicant expects
3192
3193 2008-05-23  Tambet Ingo  <tambet@gmail.com>
3194
3195         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
3196         information received from DHCP.
3197
3198         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
3199         to make it possible to ignore the DNS information (both servers and 
3200         searches) returned by DHCP server.
3201
3202         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
3203         name servers and searches if "ignore_dhcp_dns" is set.
3204
3205         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
3206         (nm_ip4_config_reset_searches): Implement.
3207
3208 2008-05-22  Dan Williams  <dcbw@redhat.com>
3209
3210         Remove anything mDNS related.  This is better done from a distro-specific
3211         dispatcher script.  Plus, any distro using avahi doesn't need to restart
3212         avahi, since avahi can handle interface changes just fine using netlink.
3213
3214         * configure.in
3215                 - Remove --with-mdns-provider
3216
3217         * src/NetworkManagerPolicy.c
3218                 - (global_state_changed): don't restart the mdns provider
3219
3220         * src/NetworkManagerSystem.h
3221           src/backends/NetworkManagerArch.c
3222           src/backends/NetworkManagerDebian.c
3223           src/backends/NetworkManagerFrugalware.c
3224           src/backends/NetworkManagerGentoo.c
3225           src/backends/NetworkManagerMandriva.c
3226           src/backends/NetworkManagerPaldo.c
3227           src/backends/NetworkManagerRedHat.c
3228           src/backends/NetworkManagerSlackware.c
3229           src/backends/NetworkManagerSuSE.c
3230                 - (nm_system_restart_mdns_responder): remove
3231
3232         * src/backends/NetworkManagerGeneric.c
3233           src/backends/NetworkManagerGeneric.h
3234                 - (nm_generic_restart_mdns_responder): remove
3235
3236 2008-05-22  Dan Williams  <dcbw@redhat.com>
3237
3238         * configure.in
3239                 - clean up crypto options; just use --with-crypto=nss or
3240                         --with-crypto=gnutls
3241
3242 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3243
3244         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
3245         anymore, do it right away.
3246
3247 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3248
3249         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
3250         serial device open when we're not connecting or connected.
3251
3252         * src/nm-cdma-device.c (device_state_changed): Ditto.
3253
3254 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3255
3256         Don't remove all devices on waking up, sync with HAL.
3257
3258         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
3259         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
3260         (hal_manager_hal_reappeared_cb): Just call sync_devices.
3261
3262 2008-05-21  Tambet Ingo  <tambet@gmail.com>
3263
3264         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
3265         If the default gateway is unreachable, add a route to gateway and try
3266         again.
3267
3268 2008-05-20  Dan Williams  <dcbw@redhat.com>
3269
3270         * system-settings/plugins/ifcfg-fedora/reader.c
3271                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
3272
3273 2008-05-19  Dan Williams  <dcbw@redhat.com>
3274
3275         * system-settings/plugins/ifcfg-fedora/reader.c
3276                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
3277                         if the ifcfg doesn't specify one (rh #446527)
3278
3279 2008-05-19  Dan Williams  <dcbw@redhat.com>
3280
3281         Make the system settings service exit when the bus goes away.  Since it's
3282         a bus-activated service, it's lifetime is limited to the bus that activated
3283         it (rh #444976).
3284
3285         * system-settings/src/Makefile.am
3286           system-settings/src/nm-system-config-hal-manager-private.h
3287                 - Remove nm-system-config-hal-manager-private.h
3288
3289         * system-settings/src/nm-system-config-hal-manager.c
3290                 - (nm_system_config_hal_manager_reinit_dbus,
3291                    nm_system_config_hal_manager_deinit_dbus): remove
3292
3293         * system-settings/src/main.c
3294                 - (dbus_reconnect): remove
3295                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
3296                 - (destroy_cb): just quit when the bus goes away
3297                 - (start_dbus_service, dbus_init): simplify
3298                 - (main): destroy the wired devices hash table after destroying
3299                         the HAL manager so we don't have to disconnect signals from the
3300                         HAL manager
3301
3302 2008-05-15  Tambet Ingo  <tambet@gmail.com>
3303
3304         Move crypto functions from nm-applet to libnm-util.
3305
3306         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
3307         (nm_setting_802_1x_set_client_cert)
3308         (nm_setting_802_1x_set_phase2_ca_cert)
3309         (nm_setting_802_1x_set_phase2_client_cert)
3310         (nm_setting_802_1x_set_private_key)
3311         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
3312         file (or private key and it's password), read the certificate data.
3313
3314         * libnm-util/crypto_nss.c: 
3315         * libnm-util/crypto_gnutls.c: 
3316         * libnm-util/crypto.[ch]: Move here from nm-applet.
3317
3318         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
3319
3320         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
3321         Imlement WPA-EAP configuration reading from sysconfig.
3322
3323 2008-05-16  Dan Williams  <dcbw@redhat.com>
3324
3325         * src/nm-device-802-11-wireless.c
3326                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
3327                         wireless
3328
3329 2008-05-14  Dan Williams  <dcbw@redhat.com>
3330
3331         Fix Linus' bug in rh #134886
3332
3333         * src/nm-device-802-3-ethernet.c
3334                 - (constructor): request initial carrier state
3335
3336         * src/nm-netlink-monitor.c
3337                 - (nm_netlink_monitor_request_status): schedule emission of carrier
3338                         signals after refilling the link cache.  Because the refill is a 
3339                         synchronous operation, the normal message hander won't get called
3340                         since libnl has already consumed the messages.
3341                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
3342
3343 2008-05-14  Dan Williams  <dcbw@redhat.com>
3344
3345         * src/NetworkManagerSystem.c
3346                 - (nm_system_device_is_up_with_iface): clean up
3347
3348 2008-05-13  Dan Williams  <dcbw@redhat.com>
3349
3350         Fix refcounting issues over sleep/wake when a VPN connection was active that
3351         caused NM to try registering an object path for a device upon wake that was
3352         the same as an already registered object path.
3353
3354         * src/nm-device.c
3355                 - (nm_device_take_down): properly handle cases where the device is
3356                         no longer active but was just active, and therefore must be
3357                         deactivated.  When a device moves to unmanaged mode, this function
3358                         previously would not deactivate the device, because the state was
3359                         already unmanaged by the time this function was called.
3360
3361         * src/vpn-manager/nm-vpn-connection.c
3362                 - (device_state_changed): properly handle multiple devices states in
3363                         which the device is now deactivated.  Code previously didn't handle
3364                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
3365                         UNMANAGED states.
3366
3367 2008-05-13  Dan Williams  <dcbw@redhat.com>
3368
3369         * src/nm-device-private.h
3370           src/nm-device.c
3371                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
3372
3373         * src/nm-device-802-11-wireless.c
3374                 - (nm_device_802_11_wireless_set_enabled): take devices up
3375                         and down as appropriate for the rfkill state
3376
3377 2008-05-13  Dan Williams  <dcbw@redhat.com>
3378
3379         * marshallers/nm-marshal.list
3380                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
3381
3382         * system-settings/plugins/ifcfg-fedora/Makefile.am
3383           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
3384           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
3385                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
3386                         events.  Solely for use watching ifcfg files to pick up changes
3387                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
3388
3389         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3390                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
3391                         file contents change
3392                 - (finalize): clean up inotify watches
3393                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
3394                         and the connection ifcfg for changes on their hardlinks
3395                 - (files_changed_cb): proxy the changed signal back out to listeners
3396
3397         * system-settings/plugins/ifcfg-fedora/plugin.c
3398                 - (dir_changed): 
3399                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
3400                         changes
3401                 - (read_one_connection): connect to change signals on the new connection
3402                 - (dir_changed, connection_changed_handler,
3403                    handle_connection_remove_or_new): break out connection change
3404                         handling and connection new/remove handling so it can be used from
3405                         both the GFileMonitor callback and the NMIfcfgConnection changed
3406                         signals
3407
3408         * system-settings/plugins/ifcfg-fedora/reader.c
3409           system-settings/plugins/ifcfg-fedora/reader.h
3410                 - (connection_from_file): return the keyfile path the connection would use
3411
3412 2008-05-13  Tambet Ingo  <tambet@gmail.com>
3413
3414         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
3415         single PolKitContext which is shared by all. PolKitContext::unref leaks
3416         just about everything, including all open file descriptiors and results
3417         in 99% cpu usage when data arrives to any of the fds that don't belong
3418         to any context anymore.
3419
3420 2008-05-12  Dan Williams  <dcbw@redhat.com>
3421
3422         * gfilemonitor/glocaldirectorymonitor.c
3423           gfilemonitor/glocaldirectorymonitor.h
3424                 - (g_local_directory_monitor_constructor): actually subscribe to the
3425                         watch
3426                 - (_g_local_directory_monitor_new): ensure that inotify is started up
3427
3428         * gfilemonitor/glocalfilemonitor.c
3429           gfilemonitor/glocalfilemonitor.h
3430                 - (g_local_file_monitor_constructor): actually subscribe to the watch
3431                 - (_g_local_file_monitor_new): ensure that inotify is started up
3432
3433 2008-05-11  Dan Williams  <dcbw@redhat.com>
3434
3435         * configure.in
3436                 - record PolicyKit version
3437
3438         * system-settings/src/nm-polkit-helpers.c
3439                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
3440                         with PolicyKit <= 0.6
3441
3442 2008-05-11  Dan Williams  <dcbw@redhat.com>
3443
3444         Update Fedora system-settings plugin to support latest API and use
3445         GFileMonitor rather than home-rolled inotify code.
3446
3447         * system-settings/plugins/ifcfg-fedora/Makefile.am
3448           system-settings/plugins/ifcfg-fedora/common.h
3449           system-settings/plugins/ifcfg-fedora/plugin.c
3450                 - Update to latest system settings plugin API; use GIO instead of
3451                         custom inotify code; use NMIfcfgConnection objects instead of
3452                         ConnectionData structures tacked onto NMConnection objects
3453
3454         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3455           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
3456                 - Implement an NMExportedConnection subclass mapping ifcfg files to
3457                         connections
3458
3459         * system-settings/plugins/ifcfg-fedora/reader.c
3460           system-settings/plugins/ifcfg-fedora/reader.h
3461                 - Move ifcfg parsing bits here from parser.c
3462
3463         * system-settings/plugins/ifcfg-fedora/parser.c
3464           system-settings/plugins/ifcfg-fedora/parser.h
3465                 - Remove; most code moved to reader.c
3466
3467 2008-05-11  Dan Williams  <dcbw@redhat.com>
3468
3469         * configure.in
3470           Makefile.am
3471           gfilemonitor/*
3472                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
3473                         implementation, so that the same change monitoring code can be used
3474                         on systems without glib-2.14 (like Fedora 8)
3475
3476         * system-settings/plugins/keyfile/Makefile.am
3477           system-settings/plugins/keyfile/plugin.c
3478           system-settings/plugins/ifcfg-suse/Makefile.am
3479           system-settings/plugins/ifcfg-suse/plugin.c
3480                 - Use private gfilemonitor code if GIO is not present
3481
3482 2008-05-09  Tambet Ingo  <tambet@gmail.com>
3483
3484         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
3485         NMExportedConnection's 'update' and 'delete' and return error with
3486         descriptive message.
3487
3488 2008-05-08  Dan Williams  <dcbw@redhat.com>
3489
3490         Patch from Markus Becker <mab@comnets.uni-bremen.de>
3491
3492         * src/nm-gsm-device.c
3493           src/nm-cdma-device.c
3494                 - (real_get_best_auto_connection): implement; allow autoconnection
3495                         to GSM & CDMA devices
3496
3497 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3498
3499         Use PolicyKit to authorize the system settings' AddConnection method
3500         and the system settings connections' Update and Delete methods.
3501         
3502         * libnm-glib/nm-settings.c (impl_exported_connection_update)
3503         (impl_exported_connection_delete, nm_exported_connection_update)
3504         (nm_exported_connection_delete): Return boolean and fill GError
3505         to notify the callers of the reasons why it might have failed.
3506
3507         * libnm-glib/nm-dbus-settings-system.c
3508         (nm_dbus_settings_system_add_connection): Return the error from dbus
3509         call so that the callers can see why it failed.
3510
3511         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
3512         signatures.
3513
3514         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
3515
3516         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
3517         abstract base class that checks PolicyKit permissions.
3518
3519         * system-settings/src/dbus-settings.c:
3520         (impl_settings_add_connection): Check the policy before carring out
3521         the request.
3522
3523         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
3524         Inherit from NMSysconfigConnection, check the policies before
3525         allowing updating or removing.
3526
3527         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
3528         Inherit from NMSysconfigConnection.
3529
3530         * introspection/nm-exported-connection.xml: Annotate "Update" and 
3531         "Delete" methods with async flag so that the implementations can get
3532         access to DBusGMethodInvocation.
3533
3534         * system-settings/src/dbus-settings.c 
3535         (settings_add_connection_check_privileges): Implement.
3536         (impl_settings_add_connection): Check the privileges before adding a new
3537         connection. Improve error reporting.
3538
3539         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
3540         async so that the implementation can access DBusGMethodInvocation.
3541
3542         * configure.in: Check for PolicyKit.
3543
3544         * policy/org.freedesktop.network-manager-settings.system.policy: 
3545         New file.
3546
3547         * policy/Makefile.am: Install the policy file.
3548
3549         * configure.in: Add 'policy' subdir.
3550
3551 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3552
3553         Rewrite the suse system settings plugin.
3554
3555         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
3556
3557         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
3558
3559         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
3560
3561         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
3562
3563         * system-settings/src/dbus-settings.c: Fix connection reference counting.
3564
3565         * system-settings/src/main.c (load_plugins): Improve error reporting.
3566
3567         * system-settings/src/sha1.[ch] Add.
3568
3569         * system-settings/src/Makefile.am: Add sha1[ch] to build.
3570
3571 2008-05-07  Dan Williams  <dcbw@redhat.com>
3572
3573         * system-settings/plugins/keyfile/reader.c
3574                 - (read_one_setting_value): handle IP address items separately
3575                 - (read_array_of_uint): read IPv4 DNS option as a string array
3576                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
3577                         array
3578
3579         * system-settings/plugins/keyfile/writer.c
3580                 - (write_setting_value): handle IP address items separately
3581                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
3582                         not an array of uint, so that it's user-editable
3583                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
3584                         arrays, so they are user-editable
3585
3586 2008-05-07  Dan Williams  <dcbw@redhat.com>
3587
3588         * system-settings/plugins/keyfile/Makefile.am
3589                 - Change location of the keyfile plugin settings to
3590                         /etc/NetworkManager/system-connections
3591
3592 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3593
3594         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
3595
3596         * system-settings/plugins/keyfile/plugin.c: Work with
3597         NMKeyfileConnections.
3598
3599         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
3600         Plugins are supposed to return NMExportedConnections now and handle the
3601         updated(), removed(), and GetSecrets().
3602         Store the internal list of connections in hash table to make it easier
3603         to find duplicates.
3604
3605 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3606
3607         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
3608         for multiple IP addresses.
3609
3610 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3611
3612         Patch from André Lemos.
3613
3614         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
3615         corruption.
3616
3617 2008-05-06  Dan Williams  <dcbw@redhat.com>
3618
3619         * src/dhcp-manager/nm-dhcp-manager.c
3620                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
3621                         NMIP4Config to support multiple IP addresses
3622
3623         * src/NetworkManagerUtils.c
3624                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
3625
3626         * src/nm-ip4-config.c
3627           src/nm-ip4-config.h
3628                 - Store a list of IPv4 address/netmask/gateway tuples
3629                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
3630                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
3631                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
3632                    nm_ip4_config_set_address): remove
3633                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
3634                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
3635                         new functions; handle multiple IPv4 addresses
3636
3637         * src/nm-device.c
3638           src/ppp-manager/nm-ppp-manager.c
3639           src/vpn-manager/nm-vpn-connection.c
3640           src/NetworkManagerPolicy.c
3641           test/nm-tool.c
3642           libnm-glib/libnm-glib-test.c
3643                 - update for changes to NMIP4Config for multiple IPv4 addresses
3644
3645         * src/NetworkManagerSystem.c
3646                 - (nm_system_device_set_ip4_route): don't add the route if any address
3647                         is on the same subnet as the destination
3648                 - (check_one_address): ignore the exact match, just match family and
3649                         interface index
3650                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
3651                         an interface
3652                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
3653                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
3654
3655         * introspection/nm-ip4-config.xml
3656                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
3657                 - Add 'addresses' property which is an array of (uuu) tuples of
3658                         address/netmask/gateway
3659
3660         * libnm-util/nm-setting-ip4-config.c
3661                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
3662
3663         * libnm-glib/nm-ip4-config.c
3664           libnm-glib/nm-ip4-config.h
3665                 - Handle D-Bus interface changes to support multiple IP addresses
3666
3667 2008-05-06  Dan Williams  <dcbw@redhat.com>
3668
3669         * libnm-util/nm-utils.c
3670           libnm-util/nm-utils.h
3671                 - (nm_utils_ip4_addresses_from_gvalue,
3672                    nm_utils_ip4_addresses_to_gvalue): new functions
3673
3674 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3675
3676         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3677         the returned connection paths.
3678
3679 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3680
3681         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3682         "PropertiesChanged" signal signature.
3683
3684         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3685         defined in nm-dbus-glib-types.h.
3686         Don't register the connection on dbus, we're a proxy class to 
3687         communicate with an already registered connection over dbus.
3688
3689 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3690
3691         Implement new subclasses of NMSettings and NMExportedConnection to make
3692         it easier for the applet to access and modify system settings.
3693
3694         * libnm-glib/nm-dbus-connection.[ch]:
3695         * libnm-glib/nm-dbus-settings.[ch]:
3696         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3697
3698         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3699         bindings and glue.
3700
3701         * include/NetworkManager.h: Define the system settings DBus interface.
3702
3703 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3704
3705         Implement additional C API for exported connections to make them identical
3706         with the DBus API. Change the (list_connections) virtual function to be
3707         more usable from C - instead of requiring implementers to return a GPtrArray
3708         of dbus paths, return a list of connections.
3709
3710         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3711         (nm_settings_list_connections):
3712         (nm_exported_connection_new):
3713         (nm_exported_connection_update):
3714         (nm_exported_connection_delete): Implement.
3715
3716         (impl_settings_list_connections):
3717         (impl_exported_connection_update):
3718         (impl_exported_connection_delete): Use the new public functions to make 
3719         sure the C and dbus interfaces stay in sync.
3720
3721         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3722         connections.
3723
3724 2008-05-02  Dan Williams  <dcbw@redhat.com>
3725
3726         * system-settings/plugins/ifcfg-fedora/plugin.c
3727                 - (dispose): use right unref call on the DBusGConnection
3728
3729 2008-05-02  Dan Williams  <dcbw@redhat.com>
3730
3731         * src/nm-serial-device.c
3732                 - (find_terminator): don't compare the whole line, just the size of the
3733                         terminator, since some modems put stuff after the terminator, like
3734                         "CONNECT 9600"
3735
3736 2008-05-01  Dan Williams  <dcbw@redhat.com>
3737
3738         Patch from Michael Biebl <biebl@debian.org>
3739
3740         * callouts/Makefile.am
3741           callouts/org.freedesktop.nm_dispatcher.service.in
3742           system-settings/src/Makefile.am
3743           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3744                 - use the right install location for dbus-activated stuff
3745
3746 2008-04-30  Dan Williams  <dcbw@redhat.com>
3747
3748         * src/nm-gsm-device.c
3749                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3750                         PIN or PUK
3751
3752 2008-04-30  Dan Williams  <dcbw@redhat.com>
3753
3754         * src/nm-manager.c
3755                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3756
3757 2008-04-30  Dan Williams  <dcbw@redhat.com>
3758
3759         * src/nm-device-802-3-ethernet.c
3760           src/nm-device-802-11-wireless.c
3761                 - (real_is_up): return true instead of chaining up to unimplemented
3762                         parent method
3763
3764 2008-04-30  Dan Williams  <dcbw@redhat.com>
3765
3766         * src/NetworkManagerSystem.c
3767           src/NetworkManagerSystem.h
3768                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3769                         functions to check device flags for IFF_UP
3770
3771         * src/nm-serial-device.c
3772                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3773                         implement is_up
3774
3775         * src/nm-device-802-3-ethernet.c
3776           src/nm-device-802-11-wireless.c
3777                 - (real_hw_is_up): call nm_system_device_is_up()
3778
3779         * src/nm-device.c
3780                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3781                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3782                         does not implement
3783
3784 2008-04-29  Dan Williams  <dcbw@redhat.com>
3785
3786         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3787
3788         * marshallers/nm-marshal.list
3789                 - Add marshaller
3790
3791         * src/NetworkManager.c
3792                 - (main): let the NMManager handle the NMHalManager
3793
3794         * src/nm-hal-manager.c
3795           src/nm-hal-manager.h
3796                 - convert to a GObject, and emit singals when stuff changes.  Let the
3797                         NMManager handle the signals, instead of the NMHalManager calling
3798                         into the NMManager.  
3799
3800         * src/nm-manager.c
3801           src/nm-manager.h
3802                 - (remove_one_device): consolidate device removals here
3803                 - (dispose): use remove_one_device()
3804                 - (nm_manager_get_device_by_udi): make static
3805                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3806                         manager for devices at startup or wakeup time
3807                 - (nm_manager_new): create and monitor the HAL manager
3808                 - (hal_manager_udi_added_cb): new function; do what
3809                         nm_manager_add_device() used to do when signalled by the hal manager
3810                 - (hal_manager_udi_removed_cb): new function; do what
3811                         nm_manager_remove_device() used to do when signalled by the hal
3812                         manager
3813                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3814                         hal manager
3815                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3816                         in our device list that aren't known to HAL
3817                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3818                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3819                         commits ago
3820                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3821                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3822                    nm_manager_wireless_hardware_enabled,
3823                    nm_manager_set_wireless_hardware_enabled): remove, unused
3824
3825 2008-04-28  Dan Williams  <dcbw@redhat.com>
3826
3827         Fix the device up/down ambiguities.  Up/down state used to be a
3828         conglomeration of hardware state (IFF_UP) and any device-specific things
3829         (supplicant, periodic timers, etc) that the device used to indicate
3830         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3831         reason, then the device specific stuff wouldn't get run, and the device
3832         would be stuck.
3833
3834         * src/nm-device.c
3835           src/nm-device.h
3836                 - Create hw_is_up, hw_bring_up, and hw_take_down
3837                 - Rename bring_down -> take_down
3838                 - (real_hw_is_up): check interface flags for IFF_UP
3839                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3840                 - (nm_device_is_up): make static; only used locally
3841                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3842                         if the device is already up; if the device isn't up, bring it up
3843                 - (nm_device_hw_take_down): just take down hardware
3844                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3845                 - (nm_device_take_down): always deactivate device when called; always
3846                         try to take hardware down too
3847                 - (nm_device_state_changed): take device down when entering unmanaged
3848                         state from a higher state
3849
3850         * src/nm-device-802-11-wireless.c
3851                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3852                         check IFF_UP really
3853                 - (real_take_down, supplicant_iface_state_cb_handler, 
3854                    supplicant_iface_connection_state_cb_handler,
3855                    supplicant_mgr_state_cb_handler): fix some messages
3856
3857         * src/nm-device-802-3-ethernet.c
3858                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3859                         check IFF_UP really
3860
3861 2008-04-28  Dan Williams  <dcbw@redhat.com>
3862
3863         * src/nm-manager.c
3864           src/nm-manager.h
3865                 - (nm_manager_error_get_type): add new error
3866                 - (nm_manager_remove_device): don't bother taking down the device here,
3867                         the state change from unmanaging the device will do it
3868                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
3869                         uses it; when going to sleep, just unmanage the device instead of
3870                         taking it down, because stuff will cleaned up correctly when the
3871                         device gets unmanaged
3872
3873 2008-04-28  Dan Williams  <dcbw@redhat.com>
3874
3875         * src/nm-hal-manager.c
3876                 - (add_initial_devices): convert to a GSourceFunc prototype
3877                 - (nm_manager_state_changed): when coming out of sleep, punt the
3878                         device re-addition to an idle handler to let D-Bus events go out
3879                         first, fixing a potential dbus-glib assert if the old device was
3880                         not yet disposed (due to references held while emitting the D-Bus
3881                         signals) but the new device was found, because the mainloop didn't
3882                         run between signal emission and add_initial_devices()
3883
3884 2008-04-27  Dan Williams  <dcbw@redhat.com>
3885
3886         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3887
3888         * initscript/paldo/NetworkManager.in
3889           initscript/SUSE/networkmanager.in
3890                 - Remove last bits of dhcdbd
3891
3892 2008-04-27  Dan Williams  <dcbw@redhat.com>
3893
3894         * src/nm-device-802-11-wireless.c
3895                 - (link_timeout_cb): don't ask for secrets when disconnected during
3896                         association/authentication phase, drivers are still just too crappy
3897
3898 2008-04-27  Dan Williams  <dcbw@redhat.com>
3899
3900         * Makefile.am
3901           configure.in
3902           dispatcher-daemon/Makefile.am
3903           dispatcher-daemon/NetworkManagerDispatcher.c
3904           initscript/Arch/Makefile.am
3905           initscript/Arch/networkmanager-dispatcher.in
3906           initscript/Gentoo/Makefile.am
3907           initscript/Gentoo/NetworkManagerDispatcher.in
3908           initscript/Mandriva/Makefile.am
3909           initscript/Mandriva/networkmanagerdispatcher.in
3910           initscript/RedHat/Makefile.am
3911           initscript/RedHat/NetworkManagerDispatcher.in
3912           initscript/SUSE/Makefile.am
3913           initscript/SUSE/networkmanager-dispatcher.in
3914           initscript/Slackware/Makefile.am
3915           initscript/Slackware/rc.networkmanager-dispatcher.in
3916           initscript/paldo/Makefile.am
3917           initscript/paldo/NetworkManagerDispatcher.in
3918           man/Makefile.am
3919           man/NetworkManagerDispatcher.8.in
3920                 - Remove the dispatcher daemon
3921
3922 2008-04-27  Dan Williams  <dcbw@redhat.com>
3923
3924         * callouts/Makefile.am
3925           callouts/nm-dispatcher-action.c
3926           callouts/nm-dispatcher-action.h
3927           callouts/nm-dispatcher.conf
3928           callouts/nm-dispatcher.xml
3929           callouts/org.freedesktop.nm_dispatcher.service
3930                 - Re-implement the dispatcher as a system-bus activated service that
3931                         NM calls on-demand, rather than an always running daemon
3932
3933         * src/Makefile.am
3934                 - Add callouts dir to includes to pick up dispatcher defines
3935
3936         * src/nm-device.c
3937                 - (nm_device_state_changed): call dispatcher on device activated/
3938                         deactivated
3939
3940         * src/vpn-manager/nm-vpn-connection.c
3941                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
3942                         go up and down
3943
3944         * src/NetworkManagerUtils.c
3945           src/NetworkManagerUtils.h
3946                 - (nm_utils_call_dispatcher): helper to call dispatcher
3947
3948 2008-04-27  Dan Williams  <dcbw@redhat.com>
3949
3950         * src/NetworkManagerUtils.c
3951           src/NetworkManagerUtils.h
3952                 - remove unneeded includes
3953                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
3954                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
3955                    nm_timeval_cmp, nm_timeval_add): remove, unused
3956                 - clean up formatting
3957                 - (nm_spawn_process): de-uglify
3958
3959         * src/nm-device-802-11-wireless.c
3960                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
3961
3962 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
3963
3964         * initscript/Gentoo/NetworkManager.in:
3965                 Fix for starting the daemon.
3966
3967 2008-04-25  Dan Williams  <dcbw@redhat.com>
3968
3969         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3970
3971         * src/NetworkManagerSystem.c
3972                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
3973
3974 2008-04-25  Dan Williams  <dcbw@redhat.com>
3975
3976         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3977
3978         * src/NetworkManagerSystem.c
3979                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
3980                         implementation of nm_system_device_replace_default_route()
3981
3982         * src/NetworkManagerPolicy.c
3983                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
3984
3985         * src/backends/NetworkManagerArch.c
3986           src/backends/NetworkManagerDebian.c
3987           src/backends/NetworkManagerFrugalware.c
3988           src/backends/NetworkManagerGeneric.c
3989           src/backends/NetworkManagerGeneric.h
3990           src/backends/NetworkManagerGentoo.c
3991           src/backends/NetworkManagerMandriva.c
3992           src/backends/NetworkManagerPaldo.c
3993           src/backends/NetworkManagerRedHat.c
3994           src/backends/NetworkManagerSlackware.c
3995           src/backends/NetworkManagerSuSE.c
3996                 - (nm_system_device_replace_default_route): remove
3997
3998 2008-04-25  Dan Williams  <dcbw@redhat.com>
3999
4000         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4001
4002         * src/NetworkManagerSystem.c
4003                 - (validate_ip4_route): remove; use nl_addr_parse() instead
4004                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
4005                         replace nm_system_device_add_route_via_device_with_iface() in the
4006                         backends
4007
4008         * src/backends/NetworkManagerArch.c
4009           src/backends/NetworkManagerDebian.c
4010           src/backends/NetworkManagerFrugalware.c
4011           src/backends/NetworkManagerGeneric.c
4012           src/backends/NetworkManagerGeneric.h
4013           src/backends/NetworkManagerGentoo.c
4014           src/backends/NetworkManagerMandriva.c
4015           src/backends/NetworkManagerPaldo.c
4016           src/backends/NetworkManagerRedHat.c
4017           src/backends/NetworkManagerSlackware.c
4018           src/backends/NetworkManagerSuSE.c
4019                 - Remove nm_system_device_add_route_via_device_with_iface()
4020
4021 2008-04-25  Dan Williams  <dcbw@redhat.com>
4022
4023         * system-settings/plugins/ifcfg-fedora/parser.c
4024                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
4025
4026 2008-04-24  Dan Williams  <dcbw@redhat.com>
4027
4028         * dispatcher-daemon/NetworkManagerDispatcher.c
4029                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
4030
4031 2008-04-24  Dan Williams  <dcbw@redhat.com>
4032
4033         * initscript/RedHat/NetworkManager.in
4034           initscript/RedHat/NetworkManagerDispatcher.in
4035                 - Be active at runlevel 2
4036                 - Adjust priorities earlier
4037
4038 2008-04-22  Dan Williams  <dcbw@redhat.com>
4039
4040         * src/NetworkManagerPolicy.c
4041                 - (update_routing_and_dns): when checking for a gateway, look at the
4042                         composite IP4 config, not the connection's ip4-config setting, which
4043                         doesn't include DHCP-returned information
4044
4045 2008-04-22  Tambet Ingo  <tambet@gmail.com>
4046
4047         Implement GKeyFile system settings plugin.
4048         Implement writing system settings (currently supported only by GKeyFile plugin).
4049
4050         * system-settings/src/main.c: 
4051         * system-settings/src/dbus-settings.c: Move the communication with plugins
4052         from main.c to dbus-settings.c. Makes it possible to talk to all registered
4053         plugins for adding/updating/removing connections.
4054
4055         * system-settings/src/nm-system-config-interface.c
4056         (nm_system_config_interface_add_connection): Implement
4057         (nm_system_config_interface_update_connection): Implement.
4058         (nm_system_config_interface_remove_connection): Implement.
4059
4060         * system-settings/plugins/keyfile/Makefile.am:
4061         * system-settings/plugins/keyfile/plugin.[ch]:
4062         * system-settings/plugins/keyfile/writer.[ch]:
4063         * system-settings/plugins/keyfile/reader.[ch]: Implement.
4064
4065         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
4066
4067         * configure.in: Generate GKeyFile Makefile.
4068
4069         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
4070         corruption, need to duplicate the returned string.
4071         (impl_exported_connection_update): Implement.
4072         (impl_exported_connection_delete): Implement.
4073
4074         * introspection/nm-settings-system.xml: Add "AddConnection" method.
4075
4076         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
4077
4078 2008-04-22  Dan Williams  <dcbw@redhat.com>
4079
4080         Patch from Charles R. Anderson (cra@wpi.edu)
4081
4082         * src/NetworkManagerPolicy.c
4083                 - (update_routing_and_dns): don't select devices without a gateway
4084                         as having the default route (rh #437338)
4085
4086 2008-04-21  Dan Williams  <dcbw@redhat.com>
4087
4088         * src/nm-activation-request.c
4089           src/nm-activation-request.h
4090                 - (dispose): ensure to disconnect from the device's state-changed signal
4091                         when appropriate so the signal doesn't get handled by an already
4092                         disposed NMActRequest
4093                 - (device_state_changed): update is_default here too just to make sure
4094                         default is only True when the child device is activated
4095                 - (nm_act_request_set_default): new function
4096
4097         * src/NetworkManagerPolicy.c
4098                 - (update_routing_and_dns): set 'default' on the active connection which
4099                         has the default route and DNS
4100
4101 2008-04-21  Dan Williams  <dcbw@redhat.com>
4102
4103         * src/NetworkManagerPolicy.c
4104                 - (device_state_changed): update routing and DNS when a device goes
4105                         into unmanaged or unavailable states too (like rfkill or carrier loss)
4106
4107 2008-04-21  Dan Williams  <dcbw@redhat.com>
4108
4109         * include/NetworkManager.h
4110                 - Add NMActiveConnectionState enum
4111
4112         * introspection/nm-active-connection.xml
4113           introspection/nm-vpn-connection.xml
4114                 - Add 'State' property for overall active connection state
4115                 - Add 'Default' property, when True means this active connection
4116                         has the default route
4117                 - Add PropertyChanged signals so changes actually go out over the bus
4118
4119         * src/nm-active-connection.h
4120                 - Add defines for State & Default properties
4121
4122         * src/nm-activation-request.c
4123                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
4124                         signal to determine active connection state
4125
4126         * src/vpn-manager/nm-vpn-connection.c
4127           src/vpn-manager/nm-vpn-connection.h
4128           src/vpn-manager/nm-vpn-manager.c
4129           src/vpn-manager/nm-vpn-service.c
4130                 - Rename old 'state' to 'vpn-state'
4131                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
4132                 - Add 'state' and 'default' properties, hook up to the vpn connection's
4133                         'vpn-state-changed' signal
4134
4135         * libnm-glib/nm-active-connection.c
4136           libnm-glib/nm-active-connection.h
4137                 - Add new 'state' and 'default' properties and accessors
4138
4139         * libnm-glib/nm-vpn-connection.c
4140           libnm-glib/nm-vpn-connection.h
4141                 - Rename old 'state' property to 'vpn-state'
4142                 - Add new 'state' and 'default' properties and accessors
4143
4144 2008-04-21  Dan Williams  <dcbw@redhat.com>
4145
4146         * src/nm-ip4-config.c
4147                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
4148                         not specified (rh #443474)
4149
4150 2008-04-20  Dan Williams  <dcbw@redhat.com>
4151
4152         * src/NetworkManagerUtils.c
4153           src/NetworkManagerUtils.h
4154                 - (nm_utils_merge_ip4_config): new function; merge settings from an
4155                         NMSettingIP4Config to an NMIP4Config object
4156
4157         * src/nm-device.c
4158                 - (merge_ip4_config): move to NetworkManagerUtils.c
4159
4160         * src/vpn-manager/nm-vpn-connection.c
4161                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
4162                         too
4163
4164 2008-04-18  Dan Williams  <dcbw@redhat.com>
4165
4166         * libnm-util/nm-setting-ppp.c
4167           libnm-util/nm-setting-ppp.h
4168                 - Add 'no-vj-comp' option for TCP header compression
4169                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
4170                         uint32
4171
4172 2008-04-18  Dan Williams  <dcbw@redhat.com>
4173
4174         * libnm-util/nm-setting-ppp.c
4175           libnm-util/nm-setting-ppp.h
4176           src/ppp-manager/nm-ppp-manager.c
4177                 - Add 'refuse-pap' and 'refuse-mschapv2' options
4178
4179 2008-04-18  Dan Williams  <dcbw@redhat.com>
4180
4181         * libnm-util/nm-setting-ppp.c
4182           libnm-util/nm-setting-ppp.h
4183           src/ppp-manager/nm-ppp-manager.c
4184                 - Remove the 'usepeerdns' option and always request DNS servers from
4185                         the PPP server; the connection chooses to use/override/ignore the
4186                         DNS servers returned from the PPP server
4187
4188 2008-04-18  Dan Williams  <dcbw@redhat.com>
4189
4190         * libnm-util/nm-setting-ppp.c
4191           libnm-util/nm-setting-ppp.h
4192           src/ppp-manager/nm-ppp-manager.c
4193                 - Remove the 'require-mppc' option, because pppd doesn't support it and
4194                         it seems to have been an erroneous addition to the PPTP plugin in
4195                         the first place (from which the ppp-manager is derived)
4196
4197 2008-04-17  Dan Williams  <dcbw@redhat.com>
4198
4199         * libnm-util/nm-setting-pppoe.c
4200                 - (verify): require a PPP setting too
4201
4202         * src/ppp-manager/nm-ppp-manager.c
4203                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
4204                         segfaulting
4205
4206 2008-04-17  Dan Williams  <dcbw@redhat.com>
4207
4208         * src/nm-device.c
4209                 - (nm_device_state_changed): do deactivation and and promotion to
4210                         unavailable here, so that the device gets cleaned up before the
4211                         manager runs and starts emitting signals; do the
4212                         FAILED->DISCONNECTED transition from an idle handler rather than
4213                         immediately to guard against recursion
4214                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
4215                         FAILED->DISCONNECTED handler if it's scheduled
4216
4217 2008-04-17  Dan Williams  <dcbw@redhat.com>
4218
4219         * src/nm-device-802-11-wireless.c
4220                 - (state_changed_cb): clear AP list when device transitions to
4221                         unavailable or unmanaged
4222                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
4223                         since this is already done in device_cleanup()
4224                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
4225                         isn't available or managed
4226                 - (device_cleanup): use remove_all_aps()
4227                 - (remove_all_aps): consolidate code removing all APs
4228
4229 2008-04-17  Dan Williams  <dcbw@redhat.com>
4230
4231         * src/nm-serial-device.c
4232           src/nm-serial-device.h
4233                 - (wait_for_reply_got_data): break input into lines, and search each
4234                         line for responses _and_ terminator strings; also make sure that
4235                         the read loop doesn't continue after the timeout is supposed to fire
4236                 - (nm_serial_device_wait_for_reply): take an array of terminators too
4237
4238         * src/nm-gsm-device.c
4239           src/nm-cdma-device.c
4240                 - Send terminators to nm_serial_device_wait_for_reply()
4241
4242 2008-04-16  Dan Williams  <dcbw@redhat.com>
4243
4244         Patch from 陈鑫 <znscnchen@gmail.com>
4245
4246         * src/ppp-manager/nm-pppd-plugin.c
4247                 - (get_credentials): return correct value for success; handle case where
4248                         pppd just does some checking but doesn't want a password
4249                 - (plugin_init): make CHAP work too
4250
4251 2008-04-16  Dan Williams  <dcbw@redhat.com>
4252
4253         Patch from 陈鑫 <znscnchen@gmail.com>
4254
4255         * src/ppp-manager/nm-ppp-manager.c
4256                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
4257
4258 2008-04-16  Dan Williams  <dcbw@redhat.com>
4259
4260         Patch from 陈鑫 <znscnchen@gmail.com>
4261
4262         * src/nm-device-802-3-ethernet.c
4263                 - (real_deactivate_quickly): clear the IP interface name on
4264                         deactivation, otherwise the wrong interface might get used later
4265                         for routing and IP management
4266
4267 2008-04-15  Dan Williams  <dcbw@redhat.com>
4268
4269         * libnm-glib/nm-device.c
4270                 - (get_product_and_vendor): handle serial devices correctly
4271                 - (nm_device_update_description): pass device to get_product_and_vendor()
4272
4273 2008-04-15  Dan Williams  <dcbw@redhat.com>
4274
4275         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4276
4277         * src/NetworkManagerSystem.h
4278           src/backends/NetworkManagerArch.c
4279           src/backends/NetworkManagerDebian.c
4280           src/backends/NetworkManagerFrugalware.c
4281           src/backends/NetworkManagerGeneric.c
4282           src/backends/NetworkManagerGeneric.h
4283           src/backends/NetworkManagerGentoo.c
4284           src/backends/NetworkManagerMandriva.c
4285           src/backends/NetworkManagerPaldo.c
4286           src/backends/NetworkManagerRedHat.c
4287           src/backends/NetworkManagerSlackware.c
4288           src/backends/NetworkManagerSuSE.c
4289           src/nm-device.c
4290                 - (nm_generic_device_add_ip6_link_address,
4291                    nm_system_device_add_ip6_link_address): remove
4292
4293 2008-04-15  Dan Williams  <dcbw@redhat.com>
4294
4295         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4296
4297         * src/backends/NetworkManagerArch.c
4298           src/backends/NetworkManagerDebian.c
4299           src/backends/NetworkManagerFrugalware.c
4300           src/backends/NetworkManagerGeneric.c
4301           src/backends/NetworkManagerGeneric.h
4302           src/backends/NetworkManagerGentoo.c
4303           src/backends/NetworkManagerMandriva.c
4304           src/backends/NetworkManagerPaldo.c
4305           src/backends/NetworkManagerRedHat.c
4306           src/backends/NetworkManagerSlackware.c
4307           src/backends/NetworkManagerSuSE.c
4308           src/NetworkManagerSystem.h
4309                 - flush_routes -> flush_ip4_routes
4310                 - flush_addresses -> flush_ip4_addresses
4311
4312         * src/NetworkManagerSystem.c
4313           src/nm-device.c
4314           src/vpn-manager/nm-vpn-connection.c
4315                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
4316
4317 2008-04-15  Dan Williams  <dcbw@redhat.com>
4318
4319         Remove exposure of wireless-tools mode types in the API.
4320
4321         * include/NetworkManager.h
4322                 - Define NM80211Mode enum
4323
4324         * introspection/generic-types.xml
4325                 - Describe NM_802_11_MODE enum
4326                 - Remove IW_MODE_* enum
4327
4328         * introspection/nm-access-point.xml
4329           libnm-glib/nm-access-point.c
4330           libnm-glib/nm-access-point.h
4331                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4332
4333         * introspection/nm-device-802-11-wireless.xml
4334           libnm-glib/nm-device-802-11-wireless.c
4335           libnm-glib/nm-device-802-11-wireless.h
4336                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4337
4338         * libnm-util/nm-setting-wireless.c
4339           src/NetworkManagerAP.c
4340           src/NetworkManagerAP.h
4341           src/nm-device-802-11-wireless.c
4342           src/nm-device-802-11-wireless.h
4343           test/nm-tool.c
4344                 - Use NM80211Mode not IW_MODE_*
4345
4346 2008-04-15  Dan Williams  <dcbw@redhat.com>
4347
4348         Enhance nm-online based on a patch from Bill Nottingham.
4349
4350         * test/nm-online.c
4351                 - Add a '-q' option
4352                 - Add help messages and option summary
4353                 - Add long-format options
4354                 - Add a '-x' option to exit if NM isn't running or isn't connecting
4355
4356 2008-04-15  Tambet Ingo  <tambet@gmail.com>
4357
4358         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
4359
4360         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
4361
4362 2008-04-15  Dan Williams  <dcbw@redhat.com>
4363
4364         * nm-setting-ip4-config.c
4365                 - (ip4_addresses_from_gvalue): handle NULL address array
4366
4367         * nm-setting-8021x.c
4368                 - (verify_tls, verify_ttls): warn on failed verification
4369
4370 2008-04-10  Dan Williams  <dcbw@redhat.com>
4371
4372         * src/nm-gsm-device.c
4373                 - (automatic_registration): accept "+CREG: 0,0"
4374                 - (automatic_registration_response): fail on "+CREG: 0,0"
4375
4376 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4377
4378         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
4379
4380 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4381
4382         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
4383         Make it compile again by commenting out broken code that at first didn't work and
4384         now didn't compile either.
4385
4386 2008-04-08  Dan Williams  <dcbw@redhat.com>
4387
4388         * libnm-glib/nm-object-cache.c
4389           libnm-glib/nm-settings.c
4390           src/dhcp-manager/nm-dhcp-manager.c
4391           system-settings/plugins/ifcfg-fedora/plugin.c
4392           system-settings/plugins/ifcfg-suse/plugin.c
4393           system-settings/src/nm-system-config-hal-manager.c
4394           libnm-util/nm-utils.c
4395                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
4396                         not threadsafe anyway
4397
4398 2008-04-08  Dan Williams  <dcbw@redhat.com>
4399
4400         * system-settings/src/main.c
4401                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
4402                         callbacks take a device type too
4403
4404 2008-04-08  Dan Williams  <dcbw@redhat.com>
4405
4406         The system settings service will now create a new default DHCP connection
4407         for wired devices that have no existing applicable connection.
4408
4409         * system-settings/src/nm-system-config-hal-manager.c
4410           system-settings/src/nm-system-config-hal-manager.h
4411                 - (nm_system_config_hal_manager_get_type_for_udi): new function
4412
4413         * system-settings/src/dbus-settings.c
4414           system-settings/src/dbus-settings.h
4415                 - (nm_sysconfig_settings_get_connections): new function
4416                 - (nm_sysconfig_settings_is_device_managed): new function
4417
4418         * system-settings/src/main.c
4419                 - (load_stuff): check for wired devices that need a default connection
4420                 - (get_details_for_udi): get interface and MAC address from HAL
4421                 - (add_default_dhcp_connection): add a default connection for a wired
4422                         device if needed
4423                 - (device_added_cb, device_removed_cb): do the right thing with
4424                         wired devices and their default connections on HAL device events
4425
4426 2008-04-07  Dan Williams  <dcbw@redhat.com>
4427
4428         * libnm-glib/nm-device.c
4429           libnm-glib/nm-device.h
4430                 - Proxy the 'managed' property
4431
4432 2008-04-07  Dan Williams  <dcbw@redhat.com>
4433
4434         * src/nm-gsm-device.c
4435           src/nm-cdma-device.c
4436                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4437                         handler to transition to DISCONNECTED
4438
4439 2008-04-07  Dan Williams  <dcbw@redhat.com>
4440
4441         Patch from Bill Nottingham
4442
4443         * dispatcher-daemon/NetworkManagerDispatcher.c
4444                 - ignore backup/packaging crufy (rh #440143)
4445
4446 2008-04-07  Dan Williams  <dcbw@redhat.com>
4447
4448         * include/NetworkManager.h
4449                 - Remove the DOWN and CANCELLED device states
4450                 - Add UNMANAGED and UNAVAILABLE device states
4451                 - Document the device states
4452
4453         * introspection/nm-device.xml
4454           src/nm-device-interface.c
4455           src/nm-device-interface.h
4456                 - Add the 'managed' property
4457
4458         * test/nm-tool.c
4459                 - (detail_device): print out device state
4460
4461         * src/NetworkManagerSystem.h
4462           src/backends/NetworkManagerArch.c
4463           src/backends/NetworkManagerDebian.c
4464           src/backends/NetworkManagerFrugalware.c
4465           src/backends/NetworkManagerGentoo.c
4466           src/backends/NetworkManagerMandriva.c
4467           src/backends/NetworkManagerPaldo.c
4468           src/backends/NetworkManagerRedHat.c
4469           src/backends/NetworkManagerSlackware.c
4470           src/backends/NetworkManagerSuSE.c
4471                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
4472                    nm_system_device_free_system_config): remove; they were unused and
4473                         their functionality should be re-implemented in each distro's
4474                         system settings service plugin 
4475
4476         * src/nm-gsm-device.c
4477           src/nm-gsm-device.h
4478           src/nm-cdma-device.c
4479           src/nm-cdma-device.h
4480                 - (*_new): take the 'managed' argument
4481
4482         * src/nm-device.c
4483                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
4484                 - (nm_device_init): start in unmanaged state, not disconnected
4485                 - (constructor): don't start device until the system settings service
4486                         has had a chance to figure out if the device is managed or not
4487                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
4488                         don't set device state here, let callers handle that as appropriate
4489                 - (nm_device_dispose): don't touch the device if it's not managed
4490                 - (set_property, get_property, nm_device_class_init): implement the
4491                         'managed' property
4492                 - (nm_device_state_changed): bring the device up if its now managed,
4493                         and deactivate it if it used to be active
4494                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
4495                         with the managed state
4496
4497         * src/nm-hal-manager.c
4498                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
4499                         take initial managed state and pass it along to device constructors
4500                 - (create_device_and_add_to_list): get managed state and pass to
4501                         type creators
4502
4503         * src/nm-device-802-11-wireless.c
4504                 - (real_can_activate): fold in most of
4505                         nm_device_802_11_wireless_can_activate()
4506                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
4507                 - (link_timeout_cb): instead of deactivating, change device state and
4508                         let the device state handler to it
4509                 - (real_update_hw_address): clean up
4510                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4511                         handler to transition to DISCONNECTED if the device isn't rfkilled
4512
4513         * src/nm-device-802-3-ethernet.c
4514                 - (set_carrier): move above callers and get rid of prototype
4515                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
4516                         idle handler to transition to DISCONNECTED if the device has a
4517                         carrier
4518                 - (real_update_hw_address): clean up
4519                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
4520                         deactivation directly as deactivation doesn't change state anymore
4521
4522         * src/NetworkManagerPolicy.c
4523                 - (schedule_activate_check): yay, remove wireless_enabled hack since
4524                         the NMManager and wireless devices work that out themselves now
4525                 - (device_state_changed): change to a switch and update for new device
4526                         states
4527                 - (device_carrier_changed): remove; device handles this now through
4528                         state changes
4529                 - (device_added): don't care about carrier any more; the initial
4530                         activation check will happen when the device transitions to
4531                         DISCONNECTED
4532
4533         * src/nm-manager.c
4534                 - (dispose): clear unmanaged devices
4535                 - (handle_unmanaged_devices): update unmanaged device list and toggle
4536                         the managed property on each device when needed
4537                 - (system_settings_properties_changed_cb): handle signals from the
4538                         system settings service
4539                 - (system_settings_get_unmanaged_devices_cb): handle callback from
4540                         getting the unmanaged device list method call
4541                 - (query_unmanaged_devices): ask the system settings service for its
4542                         list of unmanaged devices
4543                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
4544                         devices
4545                 - (manager_set_wireless_enabled): push rfkill state down to wireless
4546                         devices directly and let them handle the necessary state transitions
4547                 - (manager_device_state_changed): update for new device states
4548                 - (nm_manager_add_device): set initial rfkill state on wireless devices
4549                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
4550                 - (nm_manager_activate_connection): return error if the device is
4551                         unmanaged
4552                 - (nm_manager_sleep): handle new device states correctly; don't change
4553                         the state of unavailable/unmanaged devices
4554
4555         * libnm-glib/nm-device-802-11-wireless.c
4556                 - (state_changed_cb): update for new device states
4557
4558 2008-04-07  Dan Williams  <dcbw@redhat.com>
4559
4560         * marshallers/nm-marshal.list
4561                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
4562
4563 2008-04-07  Dan Williams  <dcbw@redhat.com>
4564
4565         * system-settings/src/main.c
4566                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
4567                         plugins to the dbus settings object
4568                 - (load_stuff): start the dbus service after grabbing unmanaged devices
4569                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
4570                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
4571                 - (main): switch default logging to syslog with a 'debug' option to
4572                         output to console; start up the HAL manager
4573
4574 2008-04-07  Dan Williams  <dcbw@redhat.com>
4575
4576         * introspection/nm-settings-system.xml
4577           introspection/Makefile.am
4578                 - Define the unmanaged devices interface for the system settings service
4579
4580         * system-settings/src/nm-system-config-hal-manager.c
4581           system-settings/src/nm-system-config-hal-manager.h
4582           system-settings/src/nm-system-config-hal-manager-private.h
4583           system-settings/src/Makefile.am
4584                 - Add a lightweight HAL manager object for tracking network devices for
4585                         the purpose of determining unmanaged devices and which devices need
4586                         the default DHCP connections
4587
4588         * system-settings/src/nm-system-config-interface.c
4589           system-settings/src/nm-system-config-interface.h
4590                 - (nm_system_config_interface_init): add the HAL manager as an argument
4591                 - (nm_system_config_interface_get_unmanaged_devices): implement
4592                 - Define 'unmanaged-devices-changed' signal
4593
4594         * system-settings/src/dbus-settings.c
4595           system-settings/src/dbus-settings.h
4596                 - Implement the unmanaged devices interface; some cleanups
4597
4598         * system-settings/plugins/ifcfg-suse/plugin.c
4599                 - Fixup for plugin interface changes
4600
4601         * system-settings/plugins/ifcfg-fedora/plugin.c
4602                 - (get_ether_device_udi): new function; find the device that has
4603                         a specified MAC address and return its UDI
4604                 - (get_udi_for_connection): new function; try to find the specific
4605                         device a connection is locked to, if any
4606                 - (device_added_cb, device_removed_cb): update unmanaged device list in
4607                         response to HAL events
4608                 - (get_unmanaged_devices): new function; return unmanaged device list
4609                 - (build_one_connection): set the connection's locked device, if any
4610                 - (write_auto_wired_connection): remove
4611                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
4612                 - (handle_connection_changed): alert listeners that the unmanaged device
4613                         list has changed
4614                 - (init): fixup for plugin interface changes, implement unmanaged devices
4615
4616         * system-settings/plugins/ifcfg-fedora/parser.c
4617           system-settings/plugins/ifcfg-fedora/parser.h
4618                 - (connection_data_free): clean up connection UDI
4619
4620 2008-04-07  Dan Williams  <dcbw@redhat.com>
4621
4622         * system-settings/plugins/ifcfg-fedora/parser.c
4623                 - (make_ip4_setting): fix parsing of DNS servers
4624
4625 2008-04-05  Dan Williams  <dcbw@redhat.com>
4626
4627         * Makefile.am
4628           configure.in
4629           marshallers/Makefile.am
4630           marshallers/nm-marshal-main.c
4631           marshallers/nm-marshal.list
4632                 - Consolidate marshallers
4633
4634         * libnm-glib/nm-marshal-main.c
4635           libnm-glib/nm-marshal.list
4636           src/marshallers/Makefile.am
4637           src/marshallers/nm-marshal-main.c
4638           src/marshallers/nm-marshal.list
4639                 - Remove
4640
4641         * libnm-glib/Makefile.am
4642           src/Makefile.am
4643           src/dhcp-manager/Makefile.am
4644           src/ppp-manager/Makefile.am
4645           src/supplicant-manager/Makefile.am
4646           src/vpn-manager/Makefile.am
4647                 - Use consolidated marshallers
4648
4649 2008-04-04  Dan Williams  <dcbw@redhat.com>
4650
4651         * src/nm-hal-manager.c
4652           src/nm-hal-manager.h
4653                 - (hal_init): don't look for hardware here
4654                 - (nm_hal_manager_start): new function; look for hardware here instead,
4655                         which can be done at a later time than hal_init()
4656
4657         * src/NetworkManager.c
4658                 - (main): start HAL manager after entering the main loop
4659
4660 2008-04-03  Dan Williams  <dcbw@redhat.com>
4661
4662         * libnm-glib/nm-settings.c
4663           libnm-glib/nm-settings.h
4664             - (nm_exported_connection_get_id): new function
4665                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
4666
4667 2008-04-02  Dan Williams  <dcbw@redhat.com>
4668
4669         * src/nm-device-interface.c
4670           src/nm-device-interface.h
4671           src/nm-device.c
4672           src/nm-device.h
4673                 - Rename check_connection_conflicts() to check_connection_compatible()
4674
4675         * src/nm-device-802-11-wireless.c
4676                 - (real_check_connection_conflicts): remove
4677                 - (real_check_connection_compatible): implement; match MAC address
4678
4679         * src/nm-device-802-3-ethernet.c
4680                 - (real_check_connection_conflicts): remove
4681                 - (real_check_connection_compatible): implement; match MAC address
4682                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4683
4684         * src/nm-manager.c
4685                 - (check_connection_allowed): remove; unused until PolicyKit integration
4686                 - (internal_activate_device): check whether the connection is compatible
4687                         with the device before trying to activate it
4688
4689 2008-04-02  Dan Williams  <dcbw@redhat.com>
4690
4691         * system-settings/plugins/ifcfg-fedora/parser.c
4692                 - (read_mac_address): new function; read in MAC address and stuff it
4693                         into the connection
4694                 - (add_one_wep_key): remove debug spew
4695                 - (make_wireless_security_setting): validate the default TX key; don't
4696                         add the wireless-security setting if the connection doesn't need
4697                         security; don't leak the keys shvarFile on error cases
4698                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4699                         address
4700
4701 2008-04-02  Dan Williams  <dcbw@redhat.com>
4702
4703         * libnm-util/nm-setting-connection.c
4704           libnm-util/nm-setting-connection.h
4705                 - (set_property, get_property, nm_setting_connection_class_init): remove
4706                         the 'lockdown' property; it's functionality will be replaced by
4707                         PolicyKit instead
4708
4709 2008-04-01  Dan Williams  <dcbw@redhat.com>
4710
4711         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4712
4713         * configure.in
4714           initscript/Makefile.am
4715           initscript/Mandriva/Makefile.am
4716           initscript/Mandriva/networkmanager.in
4717           initscript/Mandriva/networkmanagerdispatcher.in
4718           src/backends/Makefile.am
4719           src/backends/NetworkManagerMandriva.c
4720           system-settings/plugins/Makefile.am
4721                 - Add Mandriva support
4722
4723 2008-03-31  Dan Williams  <dcbw@redhat.com>
4724
4725         * src/vpn-manager/nm-vpn-service.c
4726                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4727                         errors can be passed back to the caller; also no longer scheduled
4728                         as an idle handler, but called directly; and bump up VPN service
4729                         spawn timeout, 2s is really short
4730                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4731                         but call it directly so that errors are reported on return from
4732                         ActivateConnection() and don't get lost.  If scheduled as an idle
4733                         handler, clients don't have the time to query NM for the new VPN
4734                         connection's properties before the VPN connection is torn down again
4735                         if the service couldn't be launched, and therefore launch errors
4736                         get lost.
4737
4738 2008-03-31  Dan Williams  <dcbw@redhat.com>
4739
4740         * src/vpn-manager/nm-vpn-connection.c
4741                 - (device_state_changed): send correct state on device failure too
4742                 - (plugin_state_changed): failed state means unexpected disconnection,
4743                         thus if the service goes away while the VPN connection is activated
4744                         that's a failure too
4745
4746 2008-03-31  Dan Williams  <dcbw@redhat.com>
4747
4748         * src/vpn-manager/nm-vpn-manager.c
4749           src/vpn-manager/nm-vpn-manager.h
4750                 - Make VPNManager errors more available; add a service-start-failed error
4751
4752 2008-03-31  Dan Williams  <dcbw@redhat.com>
4753
4754         * libnm-glib/nm-client.c
4755           libnm-glib/nm-client.h
4756                 - (activate_cb): pass the new active connection to callback; fix
4757                         message when no callback is specified
4758
4759 2008-03-30  Dan Williams  <dcbw@redhat.com>
4760
4761         * libnm-util/nm-setting-wireless-security.c
4762                 - (need_secrets): only require key0 if the transmit key index is also
4763                         0
4764                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4765
4766 2008-03-29  Dan Williams  <dcbw@redhat.com>
4767
4768         * libnm-util/nm-setting-8021x.c
4769           libnm-util/nm-setting-ip4-config.c
4770           libnm-util/nm-setting-vpn-properties.c
4771           libnm-util/nm-setting-vpn.c
4772           libnm-util/nm-setting-wireless-security.c
4773           libnm-util/nm-setting-wireless.c
4774           libnm-util/nm-utils.c
4775           src/dhcp-manager/nm-dhcp-manager.c
4776           src/nm-activation-request.c
4777           src/nm-ip4-config.c
4778           src/nm-manager.c
4779           src/nm-properties-changed-signal.c
4780           src/ppp-manager/nm-pppd-plugin.c
4781           src/supplicant-manager/nm-supplicant-interface.c
4782           src/vpn-manager/nm-vpn-connection.c
4783                 - consistently use nm-dbus-glib-types.h
4784
4785 2008-03-29  Dan Williams  <dcbw@redhat.com>
4786
4787         * src/vpn-manager/nm-vpn-connection.c
4788                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4789                         not string
4790
4791         * src/nm-activation-request.c
4792                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4793                         not string
4794
4795 2008-03-29  Dan Williams  <dcbw@redhat.com>
4796
4797         * libnm-glib/nm-device-802-11-wireless.c
4798                 - (access_point_added_proxy): create new APs if not found
4799
4800 2008-03-29  Dan Williams  <dcbw@redhat.com>
4801
4802         * libnm-glib/nm-client.c
4803                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4804                         before freeing them
4805
4806 2008-03-29  Dan Williams  <dcbw@redhat.com>
4807
4808         * system-settings/plugins/ifcfg-fedora/parser.c
4809                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4810                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4811
4812 2008-03-29  Dan Williams  <dcbw@redhat.com>
4813
4814         * system-settings/plugins/ifcfg-fedora/parser.c
4815                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4816
4817 2008-03-27  Dan Williams  <dcbw@redhat.com>
4818
4819         * nm-object.c
4820                 - (nm_object_queue_notify): don't notify multiple times for the same
4821                         property
4822
4823         * nm-object-private.h
4824                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4825                         if it has zero elements
4826
4827         * nm-ip4-config.c
4828                 - (finalize): use g_ptr_array_foreach() when freeing domains
4829                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4830
4831         * nm-active-connection.c
4832                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4833
4834         * nm-device-802-11-wireless.c
4835           nm-device-802-11-wireless.h
4836                 - (nm_device_802_11_wireless_get_access_points): return const; use
4837                         handle_ptr_array_return()
4838
4839         * nm-types.c
4840                 - (nm_object_array_demarshal): always create an array, even of length
4841                         zero, to distinguish between "NM returned no items" and "haven't
4842                         asked NM yet"
4843
4844         * nm-client.c
4845                 - (dispose): free active connections too
4846                 - (proxy_name_owner_changed): free active connections too when NM goes
4847                         away
4848                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4849                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4850
4851 2008-03-26  Dan Williams  <dcbw@redhat.com>
4852
4853         Rework VPN connection handling for a more consistent D-Bus API.  The
4854         VPNManager object has been removed, and active VPN connections are now the
4855         same as any other active connection.  The Manager object's ActivateConnection
4856         and DeactivateConnection methods are used to start and stop a VPN connection,
4857         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4858         When activating a VPN connection, pass the path of the active connection
4859         to which the VPN connection is tied in the 'specific_object' argument.
4860
4861         Consequently, the libnm-glib API has been reworked to match this arrangement,
4862         with the VPNManager object removed, and the NMVPNConnection objects now
4863         being subclasses of NMActiveConnection.
4864
4865 2008-03-25  Dan Williams  <dcbw@redhat.com>
4866
4867         Patch from Björn Martensen <bjoern.martensen@gmail.com>
4868
4869         * initscript/Arch/networkmanager.in
4870           initscript/Arch/networkmanager-dispatcher.in
4871                 - Updates for Arch Linux (gnome.org #523701)
4872
4873 2008-03-25  Dan Williams  <dcbw@redhat.com>
4874
4875         * libnm-glib/nm-ip4-config.c
4876           libnm-glib/nm-active-connection.c
4877           libnm-glib/nm-access-point.c
4878                 - Use nm_object_queue_notify() instead of g_object_notify()
4879
4880         * libnm-glib/nm-device.c
4881                 - (demarshal_ip4_config): distinguish between successful but missing
4882                         ip4-config request, and unsuccessful and missing ip4-config request
4883                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
4884                         path
4885                 - Use nm_object_queue_notify() instead of g_object_notify()
4886
4887         * libnm-glib/nm-device-802-11-wireless.c
4888                 - (demarshal_active_ap): distinguish between successfull but missing
4889                         active-ap request, and unsuccessful and missing active-ap request
4890                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
4891                         code
4892                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
4893                         for the NMClient to notify the device that wireless is disabled,
4894                         and therefore to clear the AP list and active AP
4895                 - Use nm_object_queue_notify() instead of g_object_notify()
4896
4897         * libnm-glib/nm-client.c
4898                 - (poke_wireless_devices_with_rf_status): new function
4899                 - (update_wireless_status): notify wireless devices of the rfkill status
4900                         so they can clean up if needed
4901                 - Use nm_object_queue_notify() instead of g_object_notify()
4902
4903 2008-03-25  Dan Williams  <dcbw@redhat.com>
4904
4905         * libnm-glib/nm-object.c
4906           libnm-glib/nm-object-private.h
4907                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
4908                         signals to an idle handler
4909                 - (nm_object_get_property): add a timeout to the D-Bus method call
4910
4911 2008-03-25  Dan Williams  <dcbw@redhat.com>
4912
4913         * introspection/nm-device-cdma.xml
4914           introspection/nm-device-gsm.xml
4915           introspection/Makefile.am
4916           introspection/all.xml
4917                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
4918
4919         * src/nm-gsm-device.h
4920           src/nm-gsm-device.c
4921           src/nm-cdma-device.h
4922           src/nm-cdma-device.c
4923           src/Makefile.am
4924                 - Implement PropertiesChanged signals
4925
4926         * libnm-glib/nm-cdma-device.c
4927           libnm-glib/nm-cdma-device.c
4928                 - Attach to PropertiesChanged signals
4929
4930 2008-03-24  Dan Williams  <dcbw@redhat.com>
4931
4932         * libnm-glib/nm-client.c
4933                 - (client_device_added_proxy): add new devices to the internal device
4934                         list so they appear to clients
4935
4936 2008-03-24  Dan Williams  <dcbw@redhat.com>
4937
4938         Massive fixup of libnm-glib to:
4939         a) have all objects (with the exception of VPN) cache their properties and
4940                 update them asynchronously on PropertiesChanged signals from NM
4941         b) return internal const data for most attributes/properties instead of
4942                 allocated values that the caller must free
4943         c) cache wrapped objects such that a given D-Bus path will always map to the
4944                 same GObject returned by libnm-glib
4945         d) remove a few signals and move them to GObject property notifications
4946         e) match recent NM D-Bus API changes for activation/deactivation
4947         f) remove some private functions from libnm-glib headers
4948
4949 2008-03-20  Dan Williams  <dcbw@redhat.com>
4950
4951         * src/nm-manager.c
4952                 - (nm_manager_update_state, manager_device_state_changed,
4953                    nm_manager_activate_device, connection_added_default_handler,
4954                    impl_manager_activate_connection, impl_manager_deactivate_connection):
4955                         queue PropertyChanged singals when the active connections change
4956
4957 2008-03-20  Dan Williams  <dcbw@redhat.com>
4958
4959         * introspection/nm-manager.xml
4960           introspection/nm-manager-client.xml
4961                 - (ActivateConnection): return the object path of the active connection
4962                         on success
4963                 - (GetActiveConnections): remove
4964                 - (DeactivateConnection): new function; deactivate a currently active
4965                         connection
4966                 - Add an ActiveConnections property which returns an array of
4967                         active connection object paths
4968
4969         * introspection/nm-device.xml
4970                 - (Deactivate): remove
4971
4972         * introspection/all.xml
4973                 - Add ActiveConnection introspection
4974
4975         * introspection/nm-active-connection.xml
4976                 - Add the ActiveConnection object
4977
4978         * include/NetworkManager.h
4979                 - Add the Connection.Active D-Bus interface
4980
4981         * src/nm-device-interface.c
4982                 - (impl_device_deactivate): remove
4983
4984         * src/nm-activation-request.c
4985           src/nm-activation-request.c
4986           src/Makefile.am
4987                 - Implement the Connection.Active D-Bus interface
4988
4989         * src/nm-manager.c
4990                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
4991                 - (nm_manager_activate_device): return the active connection path
4992                 - (connection_added_default_handler, impl_manager_activate_connection):
4993                         return the active connection to the caller
4994                 - (add_one_connection_element, impl_manager_get_active_connections):
4995                         remove
4996                 - (impl_manager_deactivate_connection): new function; deactivate an
4997                         active connection
4998
4999         * libnm-glib/nm-device.c
5000           libnm-glib/nm-device.h
5001                 - Remove Deactivate() function
5002
5003 2008-03-19  Dan Williams  <dcbw@redhat.com>
5004
5005         * introspection/nm-manager.xml
5006           introspection/nm-manager-client.xml
5007                 - Rename the ActivateDevice method to ActivateConnection to better
5008                         reflect it's usage; it's arguments get reordered a bit too
5009                 - Convert GetActiveConnections method return from a struct to a dict
5010
5011         * include/NetworkManager.h
5012                 - Define the dict keys for return value of GetActiveConnections
5013
5014         * src/nm-manager.c
5015                 - impl_manager_activate_device -> impl_manager_activate_connection
5016                 - (add_one_connection_element): return a populated hash table, not
5017                         a structure
5018
5019         * libnm-glib/nm-client.c
5020           libnm-glib/nm-client.h
5021                 - nm_client_activate_device -> nm_client_activate_connection
5022                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
5023                 - (nm_client_get_active_connections): return a GSList of GHashTables,
5024                         instead of the custom structures.  Each element of the returned list
5025                         must be freed with nm_client_free_active_connections_element()
5026
5027 2008-03-18  Dan Williams  <dcbw@redhat.com>
5028
5029         * system-settings/plugins/ifcfg-fedora/parser.c
5030           system-settings/plugins/ifcfg-fedora/parser.h
5031           system-settings/plugins/ifcfg-fedora/plugin.c
5032                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
5033                         profiles.  DNS servers and searches must now be stored in the ifcfg
5034                         files themselves
5035
5036 2008-03-18  Tambet Ingo  <tambet@gmail.com>
5037
5038         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
5039         print out username and password, it's supposed to be a secret.
5040
5041         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
5042         request and set the device state accordingly.
5043
5044 2008-03-18  Tambet Ingo  <tambet@gmail.com>
5045
5046         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
5047
5048         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
5049
5050 2008-03-18  Dan Williams  <dcbw@redhat.com>
5051
5052         * src/vpn-manager/nm-vpn-connection.c
5053                 - (get_secrets_cb): handle new GetSecrets return format
5054
5055 2008-03-18  Dan Williams  <dcbw@redhat.com>
5056
5057         Adapt system settings service for split 802.1x.
5058
5059         * system-settings/src/nm-system-config-interface.h
5060                 - clarify return value of get_secrets()
5061
5062         * system-settings/src/dbus-settings.c
5063                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
5064                 - (check_for_secrets): check if there actually secrets returned by a
5065                         plugin
5066                 - (exported_connection_get_secrets): just return the plugin-returned
5067                         hash of settings' secrets if it looks valid
5068
5069         * system-settings/plugins/ifcfg-fedora/plugin.c
5070                 - (get_secrets): add split secrets with correct format to reply hash
5071
5072         * system-settings/plugins/ifcfg-fedora/parser.c
5073           system-settings/plugins/ifcfg-fedora/parser.h
5074                 - (copy_one_cdata_secret, connection_data_copy_secrets,
5075                    connection_data_free, connection_data_add): keep secrets for
5076                         different settings in different hashes
5077
5078 2008-03-17  Tambet Ingo  <tambet@gmail.com>
5079
5080         Clean up activating device deactivation.
5081
5082         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
5083         should be done whether the device activation gets cancelled or the device
5084         is just getting deactivated.
5085         (nm_device_activation_cancel): Remove.
5086         (nm_device_deactivate_quickly): Handle the case where device is activating.
5087
5088         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
5089         It does the exact same thing as real_deactivate_quickly().
5090
5091 2008-03-17  Dan Williams  <dcbw@redhat.com>
5092
5093         Split the 802.1x bits out of the wireless-security setting so they are
5094         generalized enough for wired 802.1x to use too.
5095
5096         * introspection/nm-exported-connection.xml
5097                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
5098                         of just a hash of the secrets for one setting
5099
5100         * libnm-util/nm-setting-wireless-security.c
5101           libnm-util/nm-setting-wireless-security.h
5102                 - Remove 802.1x-specific stuff
5103                 - Added leap-username and leap-password properties for old-school LEAP
5104
5105         * src/nm-device.c
5106           src/nm-device.h
5107                 - (connection_secrets_updated_cb): take a list of updated settings names,
5108                         not just one
5109
5110         * src/supplicant-manager/nm-supplicant-config.c
5111           src/supplicant-manager/nm-supplicant-config.h
5112                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
5113                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
5114                         to nm_supplicant_config_add_setting_8021x()
5115                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
5116                         the supplicant config
5117
5118         * src/nm-device-802-11-wireless.c
5119                 - (build_supplicant_config): pass in the 802.1x setting too, if any
5120                 - (real_connection_secrets_updated): take a list of updated settings
5121                         names, not just one
5122
5123         * src/nm-device-802-3-ethernet.c
5124           src/nm-cdma-device.c
5125           src/nm-gsm-device.c
5126                 - (real_connection_secrets_updated_cb): take a list of updated settings
5127                         names, not just one
5128
5129         * src/nm-activation-request.c
5130           src/nm-activation-request.h
5131                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
5132                         now passes a list of updated settings names, not just one
5133                 - (update_one_setting): new function; handle one updated setting
5134                 - (get_secrets_cb): handle multiple settings returned from the
5135                         settings service; have to be careful of ordering here as there are
5136                         some dependencies between settings (ex. wireless-security and 802.1x
5137                         in some cases)
5138
5139         * src/marshallers/nm-marshal.list
5140                 - new marshaller for connection-secrets-updated signal
5141
5142         * libnm-util/nm-setting-8021x.c
5143                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
5144                         methods
5145                 - (verify): a valid 'eap' property is now required
5146
5147         * libnm-util/nm-connection.c
5148                 - (register_default_settings): add priorities to settings; there are
5149                         some dependencies between settings, and during the need_secrets
5150                         calls this priority needs to be respected.  For example, only the
5151                         wireless-security setting knows whether or not the connection is
5152                         going to use 802.1x or now, so it must be asked for secrets before
5153                         any existing 802.1x setting is
5154                 - (nm_connection_lookup_setting_type): expose
5155
5156         * libnm-util/nm-setting-wireless.c
5157                 - (verify): should verify even if all_settings is NULL; otherwise won't
5158                         catch the case where there is missing security
5159
5160         * libnm-util/nm-setting-wireless-security.c
5161                 - Remove everything to do with 802.1x
5162                 - Add old-school LEAP specific properties for username and password
5163                 - (need_secrets): rework LEAP secrets checking
5164                 - (verify): rework for LEAP and 802.1x verification
5165
5166 2008-03-17  Dan Williams  <dcbw@redhat.com>
5167
5168         * src/NetworkManagerPolicy.c
5169                 - (auto_activate_device): always remove the current activation check
5170                         from the pending activation list, otherwise when the policy gets
5171                         destroyed on NM exit it will attempt to free the already freed
5172                         activation check
5173
5174 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5175
5176         * src/backends/NetworkManagerSlackware.c 
5177         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
5178
5179         * src/backends/NetworkManagerSuSE.c: Add missing includes.
5180
5181 2008-03-14  Dan Williams  <dcbw@redhat.com>
5182
5183         * src/nm-manager.c
5184                 - (nm_device_interface_get_iface): g_object_get() will return an
5185                         allocated value, so this function must not return const
5186                 - (nm_device_interface_activate): free returned iface
5187
5188 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5189
5190         * libnm-util/Makefile.am: Add new files to build.
5191
5192         * libnm-util/nm-connection.c: Register NMSetting8021x.
5193
5194         * libnm-util/nm-setting-8021x.c
5195         * libnm-util/nm-setting-8021x.h: Implement.
5196
5197 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5198
5199         * libnm-util/Makefile.am: Add new files to build.
5200
5201         * libnm-util/nm-connection.c: Register NMSetting8021x.
5202
5203         * libnm-util/nm-setting-8021x.c
5204         * libnm-util/nm-setting-8021x.h: Implement.
5205
5206 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5207
5208         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
5209         data.
5210
5211 2008-03-14  Dan Williams  <dcbw@redhat.com>
5212
5213         * include/wireless-helper.h
5214           include/Makefile.am
5215                 - One place for all the junk needed for #including wireless.h
5216
5217         * test/nm-tool.c
5218           src/NetworkManagerAP.c
5219           src/wpa.c
5220           src/Makefile.am
5221           libnm-util/nm-utils.c
5222           libnm-util/nm-setting-wireless.c
5223           libnm-glib/nm-device-802-11-wireless.c
5224           libnm-glib/nm-access-point.c
5225           libnm-glib/libnm-glib-test.c
5226                 - include wireless-helper.h, not iwlib.h
5227
5228         * configure.in
5229                 - Don't need libiw really, just need to check for wireless.h
5230
5231         * src/kernel-types.h
5232                 - Remove; used types moved into wpa.c
5233
5234         * src/nm-device-802-11-wireless.c
5235                 - (nm_device_802_11_wireless_update_signal_strength,
5236                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
5237                    nm_device_802_11_wireless_set_mode,
5238                    nm_device_802_11_wireless_get_frequency,
5239                    nm_device_802_11_wireless_get_ssid,
5240                    nm_device_802_11_wireless_set_ssid,
5241                    nm_device_802_11_wireless_get_bitrate,
5242                    nm_device_802_11_wireless_get_bssid,
5243                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
5244                         instead of iwlib functions
5245
5246 2008-03-14  Dan Williams  <dcbw@redhat.com>
5247
5248         * src/ppp-manager/nm-ppp-manager.c
5249                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
5250                         should only take the DBusGMethodInvocation argument, not user/pass
5251                         too.  With dbus-glib, async functions only take 2 C arguments since
5252                         the real dbus method arguments get passed back with
5253                         dbus_g_method_return()
5254
5255 2008-03-13  Tambet Ingo  <tambet@gmail.com>
5256
5257         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
5258         Adapt the changes of NMSettingIP4Config.
5259
5260 2008-03-13  Dan Williams  <dcbw@redhat.com>
5261
5262         * src/NetworkManagerUtils.c
5263           src/NetworkManagerUtils.h
5264                 - (nm_ether_ntop): replacement for iw_ether_ntop()
5265
5266         * src/NetworkManagerAP.c
5267           src/nm-device-802-11-wireless.c
5268           src/nm-device-802-3-ethernet.c
5269                 - s/iw_ether_ntop/nm_ether_ntop/g
5270
5271 2008-03-13  Dan Williams  <dcbw@redhat.com>
5272
5273         * src/NetworkManagerPolicy.c
5274                 - (update_routing_and_dns): never set the default route through an
5275                         IPv4LL addressed device
5276
5277 2008-03-13  Dan Williams  <dcbw@redhat.com>
5278
5279         * NetworkManagerUtils.c
5280           NetworkManagerUtils.h
5281                 - Remove NMSock stuff
5282                 - Remove the completion stuff
5283
5284         * nm-device.c
5285           nm-device.h
5286           NetworkManager.c
5287           NetworkManagerSystem.c
5288           autoip.c
5289           nm-device-802-11-wireless.c
5290           nm-device-802-3-ethernet.c
5291                 - Remove NMSock and completion stuff
5292                 - Remove nm_ioctl_info()
5293
5294 2008-03-12  Dan Williams  <dcbw@redhat.com>
5295
5296         * src/nm-device.c
5297                 - (merge_ip4_config): avoid duplicates
5298
5299 2008-03-12  Dan Williams  <dcbw@redhat.com>
5300
5301         * libnm-util/nm-setting-ip4-config.c
5302           libnm-util/nm-setting-ip4-config.h
5303                 - Remove 'manual' and 'autoip' properties
5304                 - Add 'method' property
5305                 - (verify): fix verification with 'method'
5306                 - (finalize): free 'method'
5307                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
5308                         up for 'method'
5309
5310         * src/nm-device.c
5311                 - (real_act_stage3_ip_config_start): check IP4Config method
5312                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
5313                         the future
5314                 - (merge_ip4_config): IP settings are valid with DHCP too
5315                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
5316                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
5317
5318         * src/nm-device-802-11-wireless.c
5319                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
5320                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
5321                         only on demand
5322
5323         * system-settings/plugins/ifcfg-fedora/parser.c
5324           system-settings/plugins/ifcfg-suse/parser.c
5325                 - (make_ip4_setting): fix up for 'method'
5326
5327 2008-03-12  Dan Williams  <dcbw@redhat.com>
5328
5329         * system-settings/plugins/ifcfg-fedora/parser.c
5330           system-settings/plugins/ifcfg-fedora/parser.h
5331                 - (get_ifcfg_name): ignore more file suffixes
5332                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
5333
5334 2008-03-12  Dan Williams  <dcbw@redhat.com>
5335
5336         * configure.in
5337                 - Bring in the bits of gnome-common we actually use (all 15 lines)
5338
5339 2008-03-12  Dan Williams  <dcbw@redhat.com>
5340
5341         * system-settings/plugins/ifcfg-fedora/plugin.c
5342                 - (write_auto_wired_connection): new function; write out an auto
5343                         wired connection file since the applet isn't doing it any more
5344                 - (reload_all_connections): write out the auto wired connection file
5345                         if there aren't any wired connections already
5346                 - (init): don't leak a GError
5347
5348 2008-03-12  Dan Williams  <dcbw@redhat.com>
5349
5350         * src/nm-device-interface.c
5351                 - (nm_device_interface_activate): print the ID of the connection
5352                         that's about to be activated
5353
5354 2008-03-12  Dan Williams  <dcbw@redhat.com>
5355
5356         Harmonize the 802.11 bitrate API
5357
5358         * introspection/nm-access-point.xml
5359                 - 'Rate' -> 'MaxBitrate'; clarify units
5360
5361         * introspection/nm-device-802-11-wireless.xml
5362                 - Clarify units of 'Bitrate'
5363
5364         * src/NetworkManagerAP.c
5365           src/NetworkManagerAP.h
5366                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
5367                         property to 'max-bitrate'
5368                 - (foreach_property_cb): convert rate to Kb/s
5369
5370         * src/nm-device-802-11-wireless.c
5371                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
5372
5373         * libnm-glib/nm-access-point.c
5374           libnm-glib/nm-access-point.h
5375                 - 'rate' -> 'max-bitrate'
5376
5377         * test/nm-tool.c
5378           libnm-glib/libnm-glib-test.c
5379                 - Fix up for these changes
5380
5381 2008-03-12  Dan Williams  <dcbw@redhat.com>
5382
5383         * src/nm-device.c
5384                 - (nm_device_set_ip4_config): don't send property notifications when
5385                         the ip4 config is set to NULL; it causes a PropertyChanged signal
5386                         which dbus-glib can't parse because the value is NULL, which isn't
5387                         a legal object path.  Setting the IP4 config to NULL is only
5388                         valid when deactivating a device anyway, so the device state change
5389                         will alert listeners that the ip4 config is invalid.
5390
5391 2008-03-12  Dan Williams  <dcbw@redhat.com>
5392
5393         * src/nm-properties-changed-signal.c
5394                 - (add_to_string): better handling of NULL objects
5395
5396 2008-03-12  Dan Williams  <dcbw@redhat.com>
5397
5398         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
5399         convert the libnm-glib NMDevice8023Ethernet to cached properties
5400
5401         * introspection/nm-device-802-3-ethernet.xml
5402                 - New 'Carrier' property
5403                 - New 'PropertiesChanged' signal
5404
5405         * introspection/nm-device.xml
5406                 - Remove 'Carrier' property
5407                 - Remove 'CarrierChanged' signal
5408
5409         * src/nm-device-interface.c
5410           src/nm-device-interface.h
5411                 - (nm_device_interface_init): remove 'carrier' property and
5412                         'carrier-changed' signal
5413
5414         * src/nm-device.c
5415           src/nm-device.h
5416                 - (nm_device_get_carrier, nm_device_set_carrier): remove
5417                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
5418                         the link here; wired device will handle that
5419                 - (handle_dhcp_lease_change): don't bother updating link here
5420                 - (get_property, nm_device_class_init): remove carrier property
5421
5422         * src/nm-device-802-11-wireless.c
5423                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
5424                         real_update_link(); wireless devices don't use carrier at all
5425                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
5426                    supplicant_iface_connection_state_cb_handler,
5427                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
5428
5429         * src/nm-device-802-3-ethernet.c
5430           src/nm-device-802-3-ethernet.h
5431                 - (nm_device_802_3_ethernet_carrier_on,
5432                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
5433                         instead of nm_device_set_carrier()
5434                 - (device_state_changed): update link from sysfs on activation;
5435                         replaces real_update_link()
5436                 - (real_update_link): remove, replaced by device_state_changed()
5437                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
5438                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
5439                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
5440                         new get_carrier function
5441                 - (get_property): add 'carrier' property
5442                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
5443                         hook into property-changed signal helper
5444
5445         * src/NetworkManagerPolicy.c
5446                 - (device_carrier_changed): will only ever be called with a wired device
5447                 - (device_added): only hook up to carrier-changed for wired devices
5448
5449         * libnm-glib/nm-device.c
5450           libnm-glib/nm-device.h
5451                 - (constructor, nm_device_class_init): remove carrier-changed signal
5452                 - (device_carrier_changed_proxy): remove; unused
5453                 - (nm_device_get_carrier): remove; carrier a property of wired devices
5454
5455         * libnm-glib/nm-device-802-3-ethernet.c
5456           libnm-glib/nm-device-802-3-ethernet.h
5457                 - Convert to cached properties like AP and Wireless objects
5458                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
5459                         instead of a 'char *', return value should not be freed
5460                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
5461                 - (constructor): hook into properties-changed helper
5462                 - (set_property, get_property): new functions
5463                 - (nm_device_802_3_ethernet_class_init): export GObject properties
5464
5465         * test/nm-tool.c
5466                 - (detail_device): strdup the wired hardware address too since it's
5467                         cached now
5468
5469         * libnm-glib/libnm-glib-test.c
5470                 - (dump_wired): strdup the wired hardware address too since it's
5471                         cached now
5472
5473 2008-03-12  Dan Williams  <dcbw@redhat.com>
5474
5475         * libnm-util/nm-setting-ip4-config.c
5476           libnm-util/nm-setting-ip4-config.h
5477                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
5478                         the 'autoip' property from the spec
5479
5480 2008-03-11  Dan Williams  <dcbw@redhat.com>
5481
5482         * src/backends/NetworkManagerGeneric.c
5483           src/backends/NetworkManagerGeneric.h
5484                 - (nm_generic_device_get_use_dhcp): remove
5485
5486 2008-03-11  Dan Williams  <dcbw@redhat.com>
5487
5488         * src/nm-device.c
5489                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
5490                         already in nm_device_set_ip4_config()
5491                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
5492                         due to a DHCP rebind fails
5493                 - (nm_device_set_ip4_config): send property notifications when the
5494                         ip4 config changes
5495                 - (get_property): only report IP4Config property during valid states
5496
5497         * src/NetworkManagerPolicy.c
5498                 - (update_routing_and_dns): ignore devices that don't have an ip4
5499                         config; add parameter 'force_update' to allow callers to specify
5500                         that changes should be made even if the default device doesn't change
5501                 - (device_ip4_config_changed): update DNS and routing when the device's
5502                         IP4Config changes, like for DHCP updates
5503                 - (device_added): listen for ip4-config property changes
5504
5505 2008-03-11  Dan Williams  <dcbw@redhat.com>
5506
5507         Fix address handling as a result of DHCP rebind/renew/reboot.
5508
5509         * src/NetworkManagerSystem.c
5510                 - (check_one_address): delete an address if it doesn't match a given
5511                         one for the same interface
5512                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
5513                         be smarter about flushing addresses (only flush ones that don't
5514                         match the one we're about to apply)
5515
5516         * src/backends/NetworkManagerDebian.c
5517           src/backends/NetworkManagerSuSE.c
5518           src/backends/NetworkManagerArch.c
5519           src/backends/NetworkManagerSlackware.c
5520           src/backends/NetworkManagerRedHat.c
5521           src/backends/NetworkManagerPaldo.c
5522           src/backends/NetworkManagerFrugalware.c
5523           src/backends/NetworkManagerGentoo.c
5524                 - (nm_system_delete_default_route): remove
5525
5526         * src/backends/NetworkManagerGeneric.c
5527           src/backends/NetworkManagerGeneric.h
5528                 - (nm_generic_enable_loopback): fix the loopback device label
5529                 - (nm_generic_delete_default_route): remove; no longer used
5530
5531 2008-03-11  Dan Williams  <dcbw@redhat.com>
5532
5533         * src/nm-device-interface.h
5534                 - Delimit property name words with '-', otherwise g_object_notify()
5535                         doesn't work the way we expect
5536
5537 2008-03-11  Tambet Ingo  <tambet@gmail.com>
5538
5539         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
5540
5541 2008-03-11  Dan Williams  <dcbw@redhat.com>
5542
5543         * src/NetworkManagerPolicy.c
5544                 - (update_routing_and_dns): don't change anything if the default device
5545                         hasn't changed; print something out when switching the default route
5546                         and DNS
5547
5548 2008-03-10  Tambet Ingo  <tambet@gmail.com>
5549
5550         Implement PPPoE.
5551
5552         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
5553         setting. Use "nic-$eth".
5554
5555         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
5556         the device is activating here to fix a race condition.
5557
5558         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
5559
5560         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
5561         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
5562         (nm_ppp_manager_start): Take activation request instead of connection, we might
5563         need it for asking secrets.
5564         (nm_ppp_manager_update_secrets): Implement.
5565
5566         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
5567         ppp manager start. It might be needed for asking secrets.
5568
5569         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
5570         (ppp_state_changed): Handle pppd daemon disappearing.
5571         (pppoe_stage2_config): Send activation request to ppp manager start.
5572
5573         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
5574
5575         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
5576         username and password.
5577         
5578 2008-03-10  Dan Williams  <dcbw@redhat.com>
5579
5580         * src/nm-device.c
5581                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
5582                         response to a DHCP lease change
5583                 - (dhcp_state_changed): handle DHCP lease changes while activated
5584                 - (nm_device_set_ip4_config): remove a previously set named config
5585                         when setting an ip4 config
5586
5587 2008-03-10  Dan Williams  <dcbw@redhat.com>
5588
5589         * src/nm-serial-device.c
5590                 - (nm_serial_device_send_command): report errno on error
5591                 - (get_reply_got_data): limit the size of the overall buffer
5592                 - (wait_for_reply_info_destroy): destroy result string
5593                 - (wait_for_reply_got_data): append received data to an overall buffer
5594                         until timeout, filled buffer, or error instead of keeping a per-call
5595                         buffer.  Some devices send data slowly enough that this function
5596                         gets called multiple times for the same command stream.
5597                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
5598                         wait_for_reply_got_data() here
5599
5600 2008-03-10  Dan Williams  <dcbw@redhat.com>
5601
5602         * src/nm-cdma-device.c
5603                 - (do_dial, init_modem): handle errors from
5604                         nm_serial_device_send_command_string()
5605
5606         * src/nm-gsm-device.c
5607                 - (do_dial, manual_registration, automatic_registration_get_network,
5608                    automatic_registration, enter_pin, check_pin, init_modem): handle
5609                         errors from nm_serial_device_send_command_string()
5610
5611 2008-03-10  Dan Williams  <dcbw@redhat.com>
5612
5613         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
5614
5615         * src/named-manager/nm-named-manager.c
5616                 - (compute_searches): prefer searches before domains
5617                 - (compute_domain): new function
5618                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
5619                 - (merge_one_ip4_config): if there are no searches in the source config,
5620                         merge domains of the source config into the target config
5621                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
5622
5623 2008-03-10  Dan Williams  <dcbw@redhat.com>
5624
5625         * src/nm-serial-device.c
5626                 - (get_reply_got_data): clean up indentation, shrink serial buffer
5627                 - (wait_for_reply_got_data): try to handle slower serial devices where
5628                         the reply is broken up into multiple reads by concatenating replies
5629                         together until either an error is received or the search string is
5630                         found
5631
5632 2008-03-10  Dan Williams  <dcbw@redhat.com>
5633
5634         * src/nm-device.c
5635                 - (nm_device_bring_down): deactivate the device if it's activating too,
5636                         not just if it's already activated.  This makes sure that everything
5637                         from an association attempt is cleaned up (like DHCP for example)
5638
5639 2008-03-10  Dan Williams  <dcbw@redhat.com>
5640
5641         * src/nm-serial-device.c
5642                 - (config_fd): report error from TCSETA
5643                 - (nm_serial_device_open): fail when config_fd() fails
5644
5645 2008-03-10  Dan Williams  <dcbw@redhat.com>
5646
5647         * src/nm-ip4-config.c
5648                 - (nm_ip4_config_init): allocate searches list
5649                 - (finalize): free searches list
5650
5651 2008-03-09  Dan Williams  <dcbw@redhat.com>
5652
5653         Patch from Bas Zoetekouw <bas@debian.org>
5654
5655         * src/dhcp-manager/nm-dhcp-manager.c
5656                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
5657
5658 2008-03-09  Dan Williams  <dcbw@redhat.com>
5659
5660         Patch from Bas Zoetekouw <bas@debian.org>
5661
5662         * src/nm-ip4-config.c
5663           src/nm-ip4-config.h
5664                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
5665                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
5666                         domains.  'searches' is the correct way to store multiple search
5667                         domains, whereas 'domains' is really just supposed to store one
5668                         domain.  Some sites abuse the DHCP 'domain-name' option to push
5669                         search domains to the client.
5670                 - (nm_ip4_config_add_domain): group with related functions (my patch)
5671
5672 2008-03-09  Dan Williams  <dcbw@redhat.com>
5673
5674         * src/dhcp-manager/nm-dhcp-manager.c
5675                 - (dhclient_run): send interface-specific config files to dhclient
5676
5677 2008-03-07  Dan Williams  <dcbw@redhat.com>
5678
5679         * system-settings/plugins/ifcfg-fedora/parser.c
5680                 - (is_wireless_device): new function; test a device for wireless
5681                         extensions
5682                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5683                         test the device for wireless extensions to determine the type
5684
5685 2008-03-07  Dan Williams  <dcbw@redhat.com>
5686
5687         Change manager's StateChange signal to StateChanged for consistency.
5688
5689         * introspection/nm-manager.xml
5690                 - Add 'StateChanged' signal
5691                 - Move 'StateChange' down to the deprecated section
5692
5693         * src/nm-hal-manager.c
5694                 - (nm_hal_manager_new): connect to 'state-changed' instead
5695
5696         * src/NetworkManagerPolicy.c
5697                 - (nm_policy_new): connect to 'state-changed' instead
5698
5699         * src/nm-manager.c
5700           src/nm-manager.h
5701                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5702                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5703                         of 'state-change'
5704
5705         * libnm-glib/nm-client.c
5706           libnm-glib/nm-client.h
5707                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5708                         track and proxy 'state-changed' instead of 'state-change'
5709
5710 2008-03-07  Dan Williams  <dcbw@redhat.com>
5711
5712         First pass of multiple active device support.  Expect bugs.
5713
5714         * src/nm-ip4-config.c
5715           src/nm-ip4-config.h
5716                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5717                         there are better ways to do this in the named manager
5718
5719         * src/nm-device.c
5720           src/nm-device.h
5721                 - (nm_device_can_activate): return whether the device can activate a
5722                         connection right now; taking into account things like carrier state
5723                         and rfkill state
5724                 - (nm_device_get_best_auto_connection): renamed from
5725                         nm_device_get_best_connection
5726                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5727                         device subclasses themselves, so that each device can override the
5728                         MTU from it's NMSetting subclass if needed
5729                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5730                         in NetworkManagerSystem.c, not here
5731
5732         * src/named-manager/nm-named-manager.c
5733           src/named-manager/nm-named-manager.h
5734                 - (nm_named_manager_name_owner_changed,
5735                    nm_named_manager_dbus_connection_changed): fix for changes to
5736                         rewrite_resolv_conf()
5737                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5738                         from parameter list
5739                 - (merge_one_ip4_config): new function; merge ip4 configs together
5740                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5741                         ip4 configs; the VPN config takes precedence, then the best
5742                         device config, then the rest of the configs
5743                 - (get_domain_for_config): take the NMNamedManager as an argument
5744                         to check whether the config is the VPN config
5745                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5746                         attribute from ip4 configs
5747                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5748                 - (remove_ip4_config_from_named): fix for changes to
5749                         get_domain_for_config()
5750                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5751                         based on its type; callers must pass in the type now
5752                 - (get_last_default_domain): remove, unused
5753                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5754
5755         * src/nm-device-802-11-wireless.c
5756                 - (real_can_activate): new function
5757                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5758                 - (real_act_stage4_get_ip4_config): handle MTU override
5759
5760         * src/nm-device-802-3-ethernet.c
5761                 - (real_can_activate): new function
5762                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5763                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5764
5765         * src/vpn-manager/nm-vpn-connection.c
5766                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5767                         attribute on the ip4 config
5768
5769         * src/NetworkManagerPolicy.c
5770                 - (nm_policy_auto_get_best_device): remove
5771                 - (nm_policy_device_change_check): remove
5772                 - (update_default_route): new function; set the default route via
5773                         the specified device
5774                 - (get_device_priority): new function; return the priority number of
5775                         a device type WRT which one should have the default route.  Order is
5776                         (highest to lowest)  wired, wireless, GSM, CDMA.
5777                 - (update_routing_and_dns): new function; determine which device should
5778                         have the default route, then update the routing table and DNS
5779                 - (maybe_auto_activate_device): new function; if a device is now
5780                         available for activation, find out what connection it would like to
5781                         activate and do it
5782                 - (schedule_activate_check): new function; if a device can be activated
5783                         now, schedule the activation.  Each device may have only one
5784                         pending activation at a given time.
5785                 - (device_state_changed): if activation was canceled, try again,
5786                         possibly with another connection; if the device was activated,
5787                         update routing and DNS; if the device was deactivated, try again
5788                         with another connection
5789                 - (device_carrier_changed): if there is no carrier, deactivate the
5790                         device; otherwise schedule an activation check for the device
5791                 - (wireless_networks_changed): schedule an activation check for the
5792                         device
5793                 - (device_added): keep track of the signal handler IDs so they can
5794                         be removed when the device goes away
5795                 - (device_removed): remove any signal handlers that might be attached
5796                         to the device; update routing and DNS
5797                 - (schedule_activate_all): new function
5798                 - (connections_added, connection_added, connection_updated): when
5799                         connections change, schedule all devices for an activation check
5800                 - (connection_removed): when a device is deactivated because its
5801                         connection was removed, schedule another activation check for it
5802                 - (nm_policy_destroy): destroy pending activations and disconnect
5803                         all device signal handlers
5804
5805         * src/nm-manager.c
5806                 - (nm_manager_activate_device): if the device was already actived,
5807                         deactivate it
5808                 - (deactivate_old_device): remove
5809                 - (connection_added_default_handler, impl_manager_activate_device):
5810                         don't deactivate other devices when activating this one
5811
5812         * src/backends/NetworkManagerGentoo.c
5813           src/backends/NetworkManagerFrugalware.c
5814           src/backends/NetworkManagerPaldo.c
5815           src/backends/NetworkManagerRedHat.c
5816           src/backends/NetworkManagerSlackware.c
5817           src/backends/NetworkManagerArch.c
5818           src/backends/NetworkManagerSuSE.c
5819           src/backends/NetworkManagerDebian.c
5820                 - (nm_system_get_mtu): remove; MTU should be provided through the
5821                         distro's system settings service plugin instead
5822                 - (nm_system_device_add_default_route_via_device): remove
5823                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5824                 - (nm_system_device_replace_default_route): new function; call
5825                         generic implementation
5826
5827         * src/backends/NetworkManagerGeneric.c
5828           src/backends/NetworkManagerGeneric.h
5829                 - (nm_generic_device_add_default_route_via_device,
5830                    nm_generic_device_add_default_route_via_device_with_iface): remove
5831                 - (nm_generic_device_replace_default_route): replace the default route
5832                         with the given route via some gateway
5833
5834         * src/NetworkManagerSystem.c
5835           src/NetworkManagerSystem.h
5836                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5837                         to routing and DNS; but set the MTU here
5838                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5839                         ip_iface of the active device; use the standard MTU setting function
5840                 - (nm_system_set_mtu): remove
5841                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5842
5843 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5844
5845         Rework the interaction between ppp manager and pppd plugin. Register a well
5846         known DBUS service in manager and let the plugin call it's methods instead
5847         of listening plugin's signals.
5848
5849         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5850         of emitting signals.
5851
5852         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5853
5854         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5855
5856         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5857         nm_ppp_manager_start().
5858
5859         * introspection/nm-ppp-manager.xml: New file.
5860
5861         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5862         the case correctly where driver is trying to send -1 for the speed, which gets
5863         casted to u16 and thus is always > 0.
5864
5865 2008-03-07  Dan Williams  <dcbw@redhat.com>
5866
5867         * src/nm-hal-manager.c
5868                 - (nm_get_device_driver_name): use net.originating_device first, fall
5869                         back to physical device.  HAL has deprecated physical_device.
5870
5871         * libnm-glib/nm-device.c
5872                 - (get_product_and_vendor): use net.originating_device first, fall
5873                         back to physical device.  HAL has deprecated physical_device.
5874                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
5875
5876 2008-03-07  Dan Williams  <dcbw@redhat.com>
5877
5878         * src/nm-netlink.c
5879                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
5880                         last commit; fix that
5881                 - (get_link_cache): print error string
5882
5883 2008-03-07  Dan Williams  <dcbw@redhat.com>
5884
5885         * src/nm-netlink.c
5886                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
5887                         don't need this hack any more (Benoit Boissinot)
5888
5889 2008-03-06  Dan Williams  <dcbw@redhat.com>
5890
5891         * autogen.sh
5892                 - Die gnome-common, die
5893
5894 2008-03-04  Dan Williams  <dcbw@redhat.com>
5895
5896         Patch from Michael Biebl <biebl@debian.org>
5897
5898         * NetworkManager.pc.in
5899                 - doesn't actually depend on dbus-1
5900
5901         * libnm-util/nm-utils.h
5902                 - remove unused #include <dbus/dbus.h>
5903
5904         * libnm-glib/libnm_glib.pc.in
5905                 - depends on glib and dbus-glib
5906
5907 2008-03-02  Dan Williams  <dcbw@redhat.com>
5908
5909         * src/NetworkManagerPolicy.c
5910                 - s/device_state_changed_idle_id/update_state_id/
5911
5912 2008-03-02  Dan Williams  <dcbw@redhat.com>
5913
5914         * src/nm-device.c
5915           src/nm-device.h
5916           src/nm-device-802-11-wireless.c
5917           src/nm-device-802-3-ethernet.c
5918           src/NetworkManagerPolicy.c
5919                 - s/link_active/carrier
5920                 - nm_device_set_active_link() -> nm_device_set_carrier()
5921                 - nm_device_has_active_link() -> nm_device_get_carrier()
5922
5923 2008-03-02  Dan Williams  <dcbw@redhat.com>
5924
5925         * system-settings/plugins/ifcfg-fedora/parser.c
5926                 - (make_wireless_setting): fail connection creation on missing SSID
5927
5928 2008-02-29  Dan Williams  <dcbw@redhat.com>
5929
5930         * src/NetworkManagerPolicy.c
5931                 - (nm_policy_device_change_check): ensure that a previously active
5932                         device with a system connection has a link before denying a switch
5933                         to a user connection
5934
5935 2008-02-29  Dan Williams  <dcbw@redhat.com>
5936
5937         * src/nm-device-802-11-wireless.c
5938                 - (link_timeout_cb): try again if scanning; deactivate the device when
5939                         activated if the link dies
5940                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
5941                         15 seconds
5942
5943 2008-02-29  Dan Williams  <dcbw@redhat.com>
5944
5945         * src/nm-device-802-11-wireless.c
5946           src/nm-device-802-11-wireless.h
5947                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
5948                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
5949                 - (device_cleanup): reset the scan interval lower when the device
5950                         deactivates
5951                 - (can_scan): base decision mostly off device state, not supplicant
5952                         interface state since the supplicant interface state isn't a
5953                         great indicator of whether the device is active or not
5954                 - (request_wireless_scan): clean up; schedule the next scan here
5955                 - (schedule_scan): only back the scan interval off if a new scan
5956                         actually gets scheduled; and make scan intervals tighter when the
5957                         device is disconnected
5958                 - (supplicant_iface_state_cb_handler): fold in the bits of
5959                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
5960                         interval to minimum
5961                 - (activation_success_handler): reset scan interval to something
5962                         reasonable 
5963
5964 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
5965
5966         reviewed by: Steev <steev@steev.net>
5967
5968         * configure.in:
5969         * src/backends/NetworkManagerGentoo.c:
5970         (nm_system_restart_mdns_responder):
5971                 Howl is no longer a supported mDNS provider
5972
5973 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5974
5975         Get rid of a bunch of unused distro specific functions.
5976
5977 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5978
5979         Implement suse plugin for system settings daemon.
5980
5981         * system-settings/plugins/ifcfg-suse/*: Implement.
5982
5983         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
5984         suse.
5985
5986         * configure.in: Check (without failing) for gio.
5987         Create ifcfg-suse plugin's Makefile.
5988
5989 2008-02-20  Dan Williams  <dcbw@redhat.com>
5990
5991         * libnm-util/nm-connection.c
5992           libnm-util/nm-connection.h
5993                 - (nm_connection_compare): accept compare flags and pass them to the
5994                         setting compare function
5995
5996         * libnm-util/nm-setting.c
5997           libnm-util/nm-setting.h
5998                 - (nm_setting_compare): accept compare flags; ignore properties that are
5999                         marked fuzzy
6000
6001         * libnm-util/nm-setting-connection.c
6002           libnm-util/nm-setting-wireless.c
6003           libnm-util/nm-setting-ppp.c
6004           libnm-util/nm-setting-wired.c
6005                 - Mark some setting properties as ignorable when doing a fuzzy compare
6006
6007         * src/nm-device.c
6008                 - (device_activation_precheck): use exact compare
6009
6010 2008-02-20  Dan Williams  <dcbw@redhat.com>
6011
6012         * src/NetworkManagerPolicy.c
6013                 - (nm_policy_device_change_check): get scope off the connection, not
6014                         using the manager helper
6015
6016         * src/nm-manager.c
6017           src/nm-manager.h
6018                 - (get_scope_for_proxy): rename from get_type_for_proxy()
6019                 - (connection_get_settings_cb): set scope and path on connection, not
6020                         using GObject data items
6021                 - (get_connection_for_proxy): don't need to return path, since that
6022                         can be gotten from the connection
6023                 - (get_connection_for_proxy): get path off the connection, not from
6024                         parameters
6025                 - (connection_removed_cb, connection_updated_cb): don't need to get
6026                         path from get_connection_for_proxy(); get scope off the connection
6027                         instead of using GObject data items
6028                 - (connection_added_default_handler, add_one_connection_element): use
6029                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
6030                 - (nm_manager_get_connection_dbus_path): remove
6031                 - (nm_manager_get_connection_scope): remove
6032
6033 2008-02-20  Dan Williams  <dcbw@redhat.com>
6034
6035         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
6036                 on confusing names
6037
6038         * Add 'path' and 'scope' properties to NMConnection since both NM and the
6039                 applet were having to hack this in anyway.  Remove the 'path' stuff from
6040                 NMExportedConnection
6041
6042         * Internally rename NMConnectionType -> NMConnectionScope
6043
6044         * Provide default implementations of the 'get_id' and 'get_settings' methods
6045                 of NMExportedConnection
6046
6047 2008-02-15  Dan Williams  <dcbw@redhat.com>
6048
6049         * src/nm-device-802-11-wireless.c
6050                 - (device_cleanup): release the AP list here too so that the AP list
6051                         doesn't survive across suspend/resume and up/down.  There is some
6052                         room for optimization, for example blow the list away when the card
6053                         brought back up, but only if the device has only been down for a
6054                         minute or more.
6055
6056 2008-02-15  Dan Williams  <dcbw@redhat.com>
6057
6058         * src/nm-hal-manager.c
6059                 - (modem_device_creator): recognize new HAL modem capabilities
6060
6061 2008-02-12  Dan Williams  <dcbw@redhat.com>
6062
6063         * system-settings/plugins/ifcfg-fedora/plugin.c
6064                 - (watch_path): handle IN_DELETE_SELF too
6065                 - (handle_connection_changed): notify when removing a connection
6066                 - (stuff_changed): don't warn on unknown inotify watches; handle the
6067                         case of a file moving out of the profile directory
6068
6069 2008-02-12  Dan Williams  <dcbw@redhat.com>
6070
6071         * system-settings/plugins/ifcfg-fedora/parser.c
6072                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
6073
6074 2008-02-12  Dan Williams  <dcbw@redhat.com>
6075
6076         * libnm-util/nm-utils.c
6077                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
6078                         just any empty array
6079
6080 2008-02-12  Dan Williams  <dcbw@redhat.com>
6081
6082         * system-settings/src/nm-system-config-interface.c
6083           system-settings/src/nm-system-config-interface.h
6084                 - (load_connections): get_connections() should now return an allocated
6085                         GSList that the system settings service will free
6086
6087         * system-settings/plugins/ifcfg-fedora/plugin.c
6088           system-settings/plugins/ifcfg-fedora/parser.h
6089           system-settings/plugins/ifcfg-fedora/parser.c
6090                 - Fix up inotify issues; handle keys-* files, handle new files appearing
6091                         in the profile directory, handle resolv.conf file changes
6092
6093 2008-02-10  Dan Williams  <dcbw@redhat.com>
6094
6095         * src/nm-device-802-3-ethernet.c
6096                 - (real_bring_up): save the supplicant interface state signal id
6097                 - (real_bring_down): disconnect from the supplicant interface state
6098                         signal
6099
6100 2008-02-07  Dan Williams  <dcbw@redhat.com>
6101
6102         * initscript/RedHat/NetworkManager.in
6103           initscript/RedHat/NetworkManagerDispatcher.in
6104                 - Add new-style LSB init headers
6105
6106 2008-02-07  Dan Williams  <dcbw@redhat.com>
6107
6108         * system-settings/src/dbus-settings.c
6109           system-settings/src/dbus-settings.h
6110                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
6111                         table of secrets
6112                 - (connection_settings_get_secrets): consolidate error returns into
6113                         one place; use the new get_secrets() plugin interface function to
6114                         get secrets from the plugin itself rather than using GObject data
6115                         magic
6116
6117         * system-settings/src/main.c
6118                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
6119                    load_connections): keep a private list of the plugin-returned
6120                         connections, don't use the plugin's GSList
6121
6122         * system-settings/plugins/ifcfg-fedora/plugin.c
6123                 - (watch_path): watch the path, not the filename (duh)
6124                 - (reload_all_connections): use the direct hash/equal functions; the
6125                         ones for int aren't appropriate here
6126                 - (get_secrets, system_config_interface_init): implement the
6127                         get_secrets() function
6128                 - (build_one_connection, find_connection_by_path): ifcfg file path is
6129                         now in the connection's ConnectionData instead of being a GObject
6130                         data property
6131                 - (handle_profile_item_changed): ifcfg file path is now in the
6132                         connection's ConnectionData instead of being a GObject data property;
6133                         be sure to copy secrets over from the new connection to the existing
6134                         connection when updating the connection's settings
6135                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
6136                         file descriptor
6137
6138         * system-settings/plugins/ifcfg-fedora/parser.c
6139           system-settings/plugins/ifcfg-fedora/parser.h
6140                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
6141                    connection_data_copy_secrets, connection_data_free,
6142                    connection_data_add): new functions; connection data manipulation
6143                 - (make_wireless_security_setting): stuff secrets into the
6144                         connection data, not as GObject data items; make sure to close
6145                         the keys ifcfg file
6146                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
6147                         connection data to the connection
6148
6149 2008-02-07  Dan Williams  <dcbw@redhat.com>
6150
6151         * system-settings/src/nm-system-config-interface.c
6152           system-settings/src/nm-system-config-interface.h
6153                 - Add a get_secrets() interface function to retrieve secrets for a
6154                         specific setting of a specific connection.  Document the interface
6155                         a bit more too.
6156
6157 2008-02-07  Dan Williams  <dcbw@redhat.com>
6158
6159         * src/nm-device-802-11-wireless.c
6160                 - (handle_auth_or_fail): new function; consolidate device activation
6161                         failure check after a certain number of failures getting secrets
6162                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
6163                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
6164                         the connection if secrets were requested more than a few times
6165                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
6166                         tries here; otherwise they are cleared before the IP configure
6167                         timeout, which happens with open system WEP when key is wrong
6168                 - (activation_success_handler): clear wireless secrets tries here too
6169
6170 2008-02-07  Dan Williams  <dcbw@redhat.com>
6171
6172         * src/NetworkManagerPolicy.c
6173                 - (connection_updated): clear invalid tag when connection gets updated
6174                         to allow that connection to be tried again
6175                 - (nm_policy_new): save signal ids so they can be disconnected when
6176                         the policy is destroyed
6177                 - (nm_policy_destroy): stop any in-progress state change idle handler,
6178                         and disconnect all signals from the manager object so that none
6179                         of the policy functions gets called after the policy is destroyed
6180
6181 2008-02-06  Dan Williams  <dcbw@redhat.com>
6182
6183         * src/nm-manager.c
6184                 - (finalize): remove devices a bit earlier; clean up system settings
6185                         poke
6186                 - (nm_manager_name_owner_changed): clean up system settings poke when
6187                         the service appears, and try to restart it if it fails
6188                 - (poke_system_settings_daemon_cb): try to get the system settings
6189                         service started through D-Bus service activation
6190                 - (initial_get_connections): start the system settings daemon if it's
6191                         not already running
6192
6193 2008-02-05  Dan Williams  <dcbw@redhat.com>
6194
6195         * src/supplicant-manager/nm-supplicant-config.c
6196                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
6197                         broadcast networks too
6198
6199 2008-02-04  Dan Williams  <dcbw@redhat.com>
6200
6201         * system-settings/plugins/ifcfg-fedora/parser.c
6202                 - (make_wireless_security_setting): fix spelling; unencrypted networks
6203                         need key_mgmt set too
6204                 - (parser_parse_file): validate ifcfg file name and don't try to parse
6205                         .bak files; ensure that an error is set whenever NULL gets returned
6206
6207 2008-02-04  Dan Williams  <dcbw@redhat.com>
6208
6209         * system-settings/src/Makefile.am
6210                 - Install D-Bus service activation file for the system settings
6211                         service
6212
6213         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
6214                 - D-Bus service activation file for system settings service
6215
6216 2008-02-04  Dan Williams  <dcbw@redhat.com>
6217
6218         * system-settings/src/main.c
6219                 - (parse_config_file): parse a config file
6220                 - (main): accept --config option and read plugins from config file
6221
6222 2008-02-04  Dan Williams  <dcbw@redhat.com>
6223
6224         * system-settings/plugins/ifcfg-fedora/plugin.c
6225                 - Change reported name to 'ifcfg-fedora'
6226                 - Use IFCFG_PLUGIN_NAME
6227
6228         * system-settings/plugins/ifcfg-fedora/plugin.c
6229                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
6230
6231 2008-02-04  Dan Williams  <dcbw@redhat.com>
6232
6233         * system-settings/plugins/ifcfg-fedora/parser.c
6234                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
6235                 - (make_connection_setting): use get_ifcfg_name()
6236                 - (make_wireless_security_setting): handle shadow key files
6237                 - (get_one_wep_key): treat empty string as NULL
6238
6239 2008-02-04  Dan Williams  <dcbw@redhat.com>
6240
6241         * src/supplicant-manager/nm-supplicant-manager.c
6242                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
6243                         glib automatically reschedule
6244                 - (nm_supplicant_manager_init): immediately try to start the supplicant
6245                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
6246                         the supplicant
6247
6248 2008-02-01  Dan Williams  <dcbw@redhat.com>
6249
6250         * src/NetworkManagerPolicy.c
6251                 - (device_state_changed): schedule a change check when a device gets
6252                         deactivated so something happens if you disconnect GSM/CDMA
6253
6254 2008-01-31  Dan Williams  <dcbw@redhat.com>
6255
6256         * src/nm-device-802-11-wireless.h
6257           src/nm-device-802-11-wireless.c
6258                 - (ap_list_get_ap_by_ssid, is_associated,
6259                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
6260                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
6261                 - (nm_device_802_11_wireless_get_activation_ap): collapse
6262                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
6263                         function
6264
6265 2008-01-30  Dan Williams  <dcbw@redhat.com>
6266
6267         * system-settings/plugins/ifcfg
6268         * system-settings/plugins/ifcfg-fedora
6269                 - Move the ifcfg plugin to ifcfg-fedora
6270
6271 2008-01-24  Dan Williams  <dcbw@redhat.com>
6272
6273         * libnm-glib/nm-device-802-11-wireless.c
6274                 - (get_access_point): move the "/" check here; check for invalid path
6275                         too
6276                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
6277                         to get_access_point()
6278                 - (access_point_added_proxy, access_point_removed_proxy): don't try
6279                         to send signals for non-existent access points
6280
6281 2008-01-24  Dan Williams  <dcbw@redhat.com>
6282
6283         * libnm-glib/nm-device-802-11-wireless.c
6284                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
6285
6286 2008-01-23  Dan Williams  <dcbw@redhat.com>
6287
6288         * libnm-glib/libnm_glib.c
6289                 - (libnm_glib_init): make thread joinable
6290                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
6291
6292 2008-01-23  Dan Williams  <dcbw@redhat.com>
6293
6294         * test/libnm_glib_test.c
6295                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
6296                 - (main): set up signal handlers; call libnm_glib_shutdown
6297
6298 2008-01-21  Dan Williams  <dcbw@redhat.com>
6299
6300         * include/NetworkManager.h
6301                 - Add CDMA mobile broadband card device type
6302
6303         * src/nm-hal-manager.c
6304                 - (modem_device_creator): handle both CDMA and GSM modems; the device
6305                         must now be tagged with 'cdma' or 'gsm' capability
6306
6307         * src/nm-cdma-device.c
6308           src/nm-cdma-device.h
6309           src/Makefile.am
6310                 - Add the CDMA mobile broadband card device class
6311
6312         * libnm-util/nm-connection.c
6313                 - (register_default_settings): add NMSettingCdma
6314
6315         * libnm-util/nm-setting-cdma.c
6316           libnm-util/nm-setting-cdma.h
6317           libnm-util/Makefile.am
6318                 - Add the CDMA mobile broadband card setting class
6319
6320         * libnm-glib/nm-cdma-device.c
6321           libnm-glib/nm-cdma-device.h
6322           libnm-glib/Makefile.am
6323                 - Add the CDMA mobile broadband card GLib proxy class
6324
6325         * libnm-glib/nm-client.c
6326                 - (get_device): handle CDMA devices too
6327
6328 2008-01-21  Dan Williams  <dcbw@redhat.com>
6329
6330         * src/ppp-manager/nm-ppp-manager.c
6331                 - (ip4_config_get): set peer address too
6332
6333         * src/ppp-manager/nm-pppd-plugin.c
6334                 - (nm_ip_up): try harder to get the peer's address
6335
6336         * src/NetworkManagerSystem.c
6337                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
6338                         address, use that too.  Otherwise, some PPP connections won't work.
6339
6340 2008-01-19  Dan Williams  <dcbw@redhat.com>
6341
6342         * src/NetworkManagerPolicy.c
6343                 - (nm_policy_device_change_check): system connections override user
6344                         connections; don't activate a user connection if there's a currently
6345                         active system connection, and new, better system connections always
6346                         interrupt user connections
6347
6348 2008-01-19  Dan Williams  <dcbw@redhat.com>
6349
6350         * src/nm-manager.h
6351                 - (nm_manager_get_connection_type): new function
6352
6353 2008-01-19  Dan Williams  <dcbw@redhat.com>
6354
6355         * src/nm-device-802-11-wireless.c
6356                 - (real_get_best_connection): collapse find_best_connection() into this
6357                         function
6358
6359 2008-01-19  Dan Williams  <dcbw@redhat.com>
6360
6361         * src/nm-device-802-3-ethernet.c
6362                 - (real_get_best_connection): collapse find_best_connection() into this
6363                         function
6364
6365 2008-01-18  Dan Williams  <dcbw@redhat.com>
6366
6367         * src/nm-device-802-3-ethernet.c
6368                 - (find_best_connection): check MAC address too
6369                 - (real_get_best_connection): let autoconnect=True connections activate
6370                         for devices that don't have carrier detection
6371
6372         * src/nm-device-802-11-wireless.c
6373                 - (find_best_connection): check MAC address too
6374
6375 2008-01-18  Dan Williams  <dcbw@redhat.com>
6376
6377         * system-settings/plugins/ifcfg/parser.c
6378                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
6379
6380 2008-01-17  Dan Williams  <dcbw@redhat.com>
6381
6382         * src/nm-device-802-3-ethernet.c
6383                 - (nm_device_802_3_ethernet_carrier_on,
6384                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
6385                         carrier events that might come in for devices that don't support
6386                         carrier detect
6387
6388 2008-01-17  Dan Williams  <dcbw@redhat.com>
6389
6390         * src/nm-device-interface.c
6391                 - (nm_device_interface_check_connection_conflicts): need to actually
6392                         get the interface, not cast to the object
6393
6394         * src/nm-device.c
6395                 - (nm_device_check_connection_conflicts): need to get the device class,
6396                         not cast the device to the device class
6397
6398 2008-01-17  Dan Williams  <dcbw@redhat.com>
6399
6400         * src/nm-device-802-11-wireless.c
6401                 - (real_check_connection_conflicts): ignore connections that aren't
6402                         wireless connections
6403
6404 2008-01-17  Dan Williams  <dcbw@redhat.com>
6405
6406         * src/NetworkManagerPolicy.c
6407                 - (nm_policy_device_change_check): clear change check idle here
6408                 - (device_change_check_done): remove
6409                 - (schedule_change_check): simplify
6410
6411 2008-01-17  Dan Williams  <dcbw@redhat.com>
6412
6413         * src/nm-manager.c
6414                 - (check_connection_allowed): take an NMDeviceInterface instead of
6415                         an NMDevice object as an argument
6416                 - (nm_manager_activate_device): pass an NMDeviceInterface to
6417                         check_connection_allowed()
6418
6419 2008-01-13  Dan Williams  <dcbw@redhat.com>
6420
6421         * libnm-glib/nm-device-802-11-wireless.c
6422                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
6423
6424 2008-01-12  Dan Williams  <dcbw@redhat.com>
6425
6426         * src/nm-device-802-11-wireless.c
6427                 - (activation_success_handler): if a match was found in the scan list
6428                         and that match is a hidden AP, update that AP's SSID
6429
6430 2008-01-11  Dan Williams  <dcbw@redhat.com>
6431
6432         * src/NetworkManagerAP.c
6433                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
6434
6435         * src/nm-device-802-11-wireless.c
6436                 - (get_active_ap): do two passes over the scan list if the caller
6437                         requests that hidden APs get matched too; during the second pass
6438                         when matching hidden APs, ignore the SSID since hidden APs in the
6439                         scan list don't have an SSID yet
6440                 - (periodic_update): move some checks to
6441                         nm_device_802_11_periodic_update() because not all callers need them
6442                 - (nm_device_802_11_periodic_update): move some checks here from
6443                         perodic_update()
6444                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
6445                         matching on incoming scan results, because the fake AP's flags
6446                         might be slightly different (yet still compatible) with the incoming
6447                         scan result's flags and they might actually be the same AP; update
6448                         the rate on merged APs too
6449                 - (activation_success_handler): update the frequency of the fake AP
6450                         on successful connection; match hidden APs too since if the
6451                         current AP is fake, there might already be a scan result in the
6452                         scan list for the desired AP, just without it's SSID filled in yet
6453
6454 2008-01-10  Dan Williams  <dcbw@redhat.com>
6455
6456         * src/NetworkManagerAP.c
6457                 - (foreach_property_cb): catch more hidden SSID formats
6458
6459 2008-01-10  Dan Williams  <dcbw@redhat.com>
6460
6461         Fix gnome.org #464215.  Requires the kernel patch titled
6462         "Introduce WEXT scan capabilities" but will handle the patch not being
6463         present, you'll just continue to have problems with hidden SSIDs when
6464         using mac80211-based drivers.
6465
6466         * src/supplicant-manager/nm-supplicant-config.h
6467           src/supplicant-manager/nm-supplicant-config.c
6468                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
6469                         whether the driver supports SSID scans or not.  If it does, and if
6470                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
6471
6472         * src/nm-device-802-11-wireless.c
6473                 - (constructor): check whether or not the driver supports SSID scans
6474                 - (build_supplicant_config): pass driver SSID scan capability when
6475                         building the wireless bits of the supplicant config
6476
6477 2008-01-09  Dan Williams  <dcbw@redhat.com>
6478
6479         * src/nm-device.c
6480           src/nm-device.h
6481                 - (device_activation_precheck, check_connection_complete): remove this
6482                         virtual function; incomplete connections should be invalid by
6483                         definition, complete-ness should be checked in the setting's
6484                         verify function
6485
6486         * src/nm-serial-device.c
6487           src/nm-gsm-device.c
6488                 - (real_check_connection_complete): remove
6489
6490         * libnm-util/nm-setting-serial.c
6491                 - (verify): new function; ensure there is a PPP setting too
6492
6493         * libnm-util/nm-setting-gsm.c
6494                 - (verify): ensure there is a serial setting too
6495
6496 2008-01-06  Dan Williams  <dcbw@redhat.com>
6497
6498         * src/dhcp-manager/nm-dhcp-manager.c
6499                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
6500                         (gnome.org #332953)
6501
6502 2008-01-04  Dan Williams  <dcbw@redhat.com>
6503
6504         * src/named-manager/nm-named-manager.c
6505                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
6506                         nameservers if the secondary config doesn't have any
6507                         (gnome.org #346833)
6508
6509 2008-01-02  Tambet Ingo  <tambet@gmail.com>
6510
6511         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
6512         with G_PARAM_CONSTRUCT so that they get the default values.
6513
6514         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
6515         the monitoring device and prints out the output for now. Or more precicely, doesn't
6516         do absolutely anything right now since the montoring device argument is never set.
6517
6518         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
6519         requires it's own knob to turn it on.
6520         (config_fd): Add NMSettingSerial to the arguments list.
6521         (nm_serial_device_open): Ditto.
6522         (get_reply_got_data): Ignore the terminators at the beginning of the output.
6523         (nm_serial_device_get_io_channel): Implement.
6524
6525         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
6526         a new reference every time (and forgetting to release it sometimes) is a pain and
6527         it's not like NMManager could work without dbus.
6528         (nm_manager_add_device): Register the added device on dbus here.
6529
6530         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
6531         device.
6532
6533         * src/nm-device.c (constructor): Don't export the device here, instead export
6534         it when it's added to the NMManager's device list.
6535
6536 2007-12-31  Dan Williams  <dcbw@redhat.com>
6537
6538         * src/nm-device-interface.c
6539           src/nm-device-interface.h
6540                 - (nm_device_interface_check_connection_conflicts): new function
6541
6542         * src/nm-device.c
6543           src/nm-device.h
6544                 - (nm_device_check_connection_conflicts): new function
6545                 - (device_activation_precheck): don't require subclasses to implement
6546                         check_connection_complete()
6547                 - check_connection() -> check_connection_complete()
6548
6549         * src/nm-device-802-11-wireless.c
6550                 - (real_check_connection): remove; unused
6551                 - (real_check_connection_conflicts): implement, handle lockdown for
6552                         system connections
6553
6554         * src/nm-device-802-3-ethernet.c
6555                 - (real_check_connection): remove; unused
6556
6557         * src/nm-manager.c
6558                 - (check_connection_allowed): new function
6559                 - (nm_manager_activate_device): ensure the connection being requested
6560                         is allowed to be activated
6561
6562         * src/nm-serial-device.c
6563           src/nm-gsm-device.c
6564                 - real_check_connection() -> real_check_connection_complete()
6565
6566 2007-12-27  Dan Williams  <dcbw@redhat.com>
6567
6568         * src/nm-device-interface.c
6569           src/nm-device-interface.h
6570                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
6571                         normalize and expand errors
6572                 - (nm_device_interface_init): register errors so they can be marshalled
6573                         through dbus-glib
6574                 - (nm_device_interface_activate): ensure that failure of activation
6575                         returns an error
6576
6577         * src/nm-device.c
6578           src/nm-device.h
6579                 - (device_activation_precheck): implementations of check_connection()
6580                         now take a GError and must fill it in if the check fails.  Return
6581                         more descriptive error if the requested connection is already
6582                         activating
6583                 - (nm_device_activate): actually try to return descriptive errors on
6584                         failures
6585
6586         * src/nm-device-802-11-wireless.c
6587           src/nm-device-802-3-ethernet.c
6588           src/nm-serial-device.c
6589           src/nm-gsm-device.c
6590                 - (real_check_connection): return more descriptive errors on failure
6591
6592         * src/NetworkManagerPolicy.c
6593                 - (nm_policy_device_change_check): print activation errors in the logs
6594
6595         * src/nm-manager.c
6596                 - (nm_manager_error_quark, nm_manager_error_get_type,
6597                    nm_manager_class_init): new errors
6598                 - (nm_manager_activate_device): handle errors
6599                 - (nm_manager_error_new): removed
6600                 - (wait_for_connection_expired, connection_added_default_handler,
6601                    impl_manager_activate_device): better error handling
6602
6603 2007-12-27  Dan Williams  <dcbw@redhat.com>
6604
6605         Fixes gnome.org #466954
6606
6607         * src/supplicant-manager/nm-supplicant-settings-verify.c
6608                 - Allow 'frequency' network property
6609
6610         * src/supplicant-manager/nm-supplicant-config.c
6611           src/supplicant-manager/nm-supplicant-config.h
6612                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
6613                         for callers to specify the frequency an Ad-Hoc network should operate
6614                         on.  Some drivers require this to successfully create an Ad-Hoc
6615                         network.
6616
6617         * src/nm-device-802-11-wireless.c
6618                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
6619                         guint32 value in MHz
6620                 - (constructor, nm_device_802_11_wireless_get_frequency): use
6621                         iw_freq_to_uint32()
6622                 - (find_supported_frequency): new function; find a free supported
6623                         frequency for a user-created Ad-Hoc network
6624                 - (build_supplicant_config): if no frequency was specified for a user-
6625                         created Ad-Hoc network, find a free one to use
6626                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
6627                         a specific object as user-created
6628
6629 2007-12-27  Dan Williams  <dcbw@redhat.com>
6630
6631         * libnm-util/nm-utils.c
6632           libnm-util/nm-utils.h
6633                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
6634                         for adhoc networks
6635
6636 2007-12-24  Dan Williams  <dcbw@redhat.com>
6637
6638         * libnm-util/nm-setting-wireless.c
6639                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
6640                         185, 187, 188, 192, and 196
6641
6642 2007-12-24  Dan Williams  <dcbw@redhat.com>
6643
6644         * src/nm-device-802-11-wireless.c
6645                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
6646                         a channel # instead of a frequency
6647
6648 2007-12-24  Dan Williams  <dcbw@redhat.com>
6649
6650         * src/NetworkManagerAP.c
6651           src/NetworkManagerAP.h
6652                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
6653                 - (freq_to_channel): handle split band tables
6654                 - (channel_to_freq): handle split band tables, take a band argument
6655
6656 2007-12-24  Dan Williams  <dcbw@redhat.com>
6657
6658         * libnm-util/nm-setting-connection.h
6659           libnm-util/nm-setting-connection.c
6660                 - Add 'lockdown' member
6661
6662 2007-12-22  Dan Williams  <dcbw@redhat.com>
6663
6664         * libnm-util/nm-setting-wireless.c
6665                 - (nm_setting_wireless_class_init): add missing 'rate' property
6666                         specification
6667
6668 2007-12-18  Dan Williams  <dcbw@redhat.com>
6669
6670         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
6671
6672         * src/nm-netlink-monitor.c
6673           src/nm-netlink-monitor.h
6674                 - Remove handrolled netlink, use libnl instead
6675
6676         * src/nm-device-802-3-ethernet.c
6677                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6678                    nm_device_802_3_ethernet_carrier_on): use new names
6679
6680 2007-12-17  Dan Williams  <dcbw@redhat.com>
6681
6682         * configure.in
6683                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6684                         and fixes memory leaks)
6685
6686         * src/nm-netlink.c
6687                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6688                         automatically handle the netlink PID
6689
6690 2007-12-17  Dan Williams  <dcbw@redhat.com>
6691
6692         Patch from Michael Biebl <biebl@debian.org>
6693
6694         * configure.in
6695           src/ppp-manager/Makefile.am
6696                 - fix up install dir of pppd plugin
6697                 - clean up configure.in a bit
6698
6699 2007-12-12  Dan Williams  <dcbw@redhat.com>
6700
6701         * system-settings/src/nm-system-settings.conf
6702                 - Allow non-root clients (like the applet) to read settings
6703
6704 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6705
6706         * Replace all occurences of 'UMTS' with 'GSM'.
6707
6708 2007-12-07  Dan Williams  <dcbw@redhat.com>
6709
6710         * src/nm-serial-device.c
6711                 - (real_is_up): serial devices are always "up"
6712
6713 2007-12-07  Dan Williams  <dcbw@redhat.com>
6714
6715         * src/nm-netlink.c
6716           src/NetworkManagerSystem.c
6717                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6718                         twice (gnome.org #491047)
6719                 - Make more robust against allocation-related failures should they occur
6720
6721 2007-12-07  Dan Williams  <dcbw@redhat.com>
6722
6723         Noticed by Christian Persch <chpe@gnome.org>
6724
6725         Always chain up to parent object in dispose and finalize handlers.
6726                 (gnome.org #433112)
6727
6728 2007-12-07  Dan Williams  <dcbw@redhat.com>
6729
6730         * src/nm-device-802-11-wireless.c
6731                 - Wrap #include of linux/mii.h to fix redefined structures due to
6732                         incorrect kernel headers (gnome.org #350061)
6733
6734 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6735
6736         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6737         before doing anything else.
6738         (init_modem): Move modem initialization here.
6739
6740         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6741         (nm_serial_device_flash): Implement.
6742
6743         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6744         changes signal is "StateChanged" and not "Status".
6745         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6746
6747 2007-12-06  Dan Williams  <dcbw@redhat.com>
6748
6749         * src/supplicant-manager/nm-supplicant-config.c
6750                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6751                         to only send some options when they make sense; also send phase2
6752                         option to the supplicant (possible fix for rh #399631)
6753
6754 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6755
6756         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6757         arguments: This whole file shouldn't really know anything about NMDevices, it
6758         should deal only with device interfaces. Devices might have different ifaces for
6759         different stuff and this place shouldn't know anything about it.
6760
6761         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6762         (global_state_changed): Implement. In the current NM it's not really important,
6763         but will be required in the case of multiple active devices. (Or even better,
6764         if stuff like that gets moved out from NM).
6765
6766         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6767         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6768         instead.
6769
6770         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6771         devices like serial devices (ttyS0 and ppp0 for example).
6772         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6773         set.
6774         (nm_device_set_ip_iface): Implement.
6775         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6776         after setting ip4_config from here ...
6777         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6778         than this function should call nm_system_device_set_from_ip4_config() because no
6779         other code has enough information on which arguments to use. So instead, other code
6780         could just set the new ip4 config using this function and everyone is happy.
6781
6782         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6783         if we happen to get deactivated while something is pending.
6784         (automatic_registration): Handle the response that indicates pending network
6785         registration and wait until the pending registration is done.
6786         (real_deactivate_quickly): If there's a pending operation, cancel it.
6787
6788         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6789         (real_deactivate_quickly): ... and remove it when it's down.
6790         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6791         it if needed.
6792         (nm_serial_device_wait_for_reply): Ditto.
6793
6794 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6795
6796         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6797         (get_network_done): Remove newline, nm_info() does it already.
6798         (real_act_stage1_prepare): Turn the modem echo off.
6799
6800         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6801         device, set the route to the device interface. This is a hack.
6802
6803         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6804         return, no need for a new-line.
6805         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6806         Change the device iface here (ugh).
6807         (real_act_stage4_get_ip4_config): Implement.
6808         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6809         Restore the device iface.
6810
6811         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6812         device is not wired or wireless (eg, automatically upped) device.
6813
6814         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6815         it isn't.
6816         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6817
6818         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6819         before calling it's is_device_fn().
6820
6821 2007-12-05  Dan Williams  <dcbw@redhat.com>
6822
6823         * libnm-util/nm-utils.c
6824                 - (nm_utils_register_value_transformations,
6825                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6826                         GHashTables of GValues too
6827
6828 2007-12-04  Dan Williams  <dcbw@redhat.com>
6829
6830         * initscript/RedHat/NetworkManager.in
6831                 - No longer start named; it's D-Bus interface is going away
6832
6833 2007-12-04  Dan Williams  <dcbw@redhat.com>
6834
6835         Patch from Michael Biebl <biebl@debian.org>
6836
6837         * system-settings/plugins/ifcfg/Makefile.am
6838           system-settings/src/main.c
6839           system-settings/src/Makefile.am
6840                 - Put system settings plugins in NM plugins dir
6841
6842         * src/ppp-manager/Makefile.am
6843           src/ppp-manager/nm-ppp-manager.c
6844                 - Move pppd plugin to NM plugins dir
6845
6846 2007-12-04  Dan Williams  <dcbw@redhat.com>
6847
6848         * libnm-util/nm-setting-vpn-properties.h
6849                 - Clarify usage of the 'data' member of the setting
6850
6851         * libnm-util/nm-setting-vpn-properties.c
6852                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6853                 - (set_property): just remove all the settings; don't recreate the has
6854                 - (update_one_secret): don't need to create the hash table here since
6855                         it should always be present
6856
6857 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6858
6859         Implement PIN and PUK requesting.
6860
6861         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6862         (enter_pin): Handle PIN and PUK requests.
6863         (real_act_stage1_prepare): Clear the secret type.
6864         (real_connection_secrets_updated): Implement this class method to get
6865         notified when new secrets arrive.
6866         (nm_umts_device_class_init): Add private data back to the umts device class
6867         to store the required secret type.
6868
6869 2007-12-01  Dan Williams  <dcbw@redhat.com>
6870
6871         * system-settings/plugins/ifcfg/parser.c
6872                 - (parser_parse_file): don't try to verify NULL connections
6873
6874 2007-12-01  Dan Williams  <dcbw@redhat.com>
6875
6876         * system-settings/src/main.c
6877                 - (load_connections, add_connection_to_settings): actually export
6878                         plugin-provided connections over D-Bus so NM can get them
6879
6880 2007-12-01  Dan Williams  <dcbw@redhat.com>
6881
6882         * system-settings/plugins/ifcfg/parser.c
6883           system-settings/plugins/ifcfg/parser.h
6884           system-settings/plugins/ifcfg/plugin.c
6885                 - Hook up more inotify bits (untested)
6886
6887 2007-11-29  Dan Williams  <dcbw@redhat.com>
6888
6889         * system-settings/src/nm-system-config-interface.h
6890           system-settings/src/nm-system-config-interface.c
6891                 - (nm_system_config_interface_init,
6892                    nm_system_config_interface_get_connections): add
6893
6894         * system-settings/src/main.c
6895                 - (load_plugins, load_connections, main): use a GSList for plugins
6896                         to ensure priority ordering
6897
6898         * system-settings/plugins/ifcfg/parser.c
6899                 - (ifcfg_error_quark): move to plugin.c, and rename
6900
6901         * system-settings/plugins/ifcfg/plugin.h
6902           system-settings/plugins/ifcfg/plugin.c
6903                 - (ifcfg_plugin_error_quark): move here from parser.c
6904                 - rework connection loading and initialization
6905                 - Add preliminary inotify support for network profile config file
6906
6907 2007-11-28  Tambet Ingo  <tambet@gmail.com>
6908
6909         Merge the beginnings of the new GSM card support.
6910
6911         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
6912         ppp watch source before killing pppd - If this happens from g_object_unref()
6913         then the ppp manager is already destroyed by the time the watch callback runs.
6914
6915         * src/nm-hal-manager.c: Add a device_type_name string to the device
6916         creators, so that we can print a nice human readable string when a
6917         device is added.
6918
6919         * src/nm-umts-device.c (automatic_registration_get_network): Query
6920         for the activated network, not much is done with the result thought.
6921
6922         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
6923         (ppp_ip4_config): Change the device state to activated here for now.
6924         (real_check_connection): Make sure the connection includes ppp setting.
6925
6926         * libnm-glib/nm-client.c (get_device): Handle umts devices.
6927
6928         * libnm-glib/Makefile.am: Add the new files to build.
6929
6930         * libnm-glib/nm-umts-device.c: 
6931         * libnm-glib/nm-umts-device.h: Implement.
6932
6933 2007-11-26  Tambet Ingo  <tambet@gmail.com>
6934
6935         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
6936         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
6937
6938         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
6939         the timeout source - this function is only called when the timeout source has
6940         been removed.
6941         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
6942         to be big enough to contain the terminating zero element as well.
6943         The timeout argument is meant to be in seconds now.
6944         (real_deactivate_quickly): Implement.
6945
6946         * src/NetworkManager.conf: Allow root to own 
6947         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
6948
6949         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
6950         (not unsigned ints).
6951
6952         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
6953         small issue with parity bounds - capital letters have lower ascii codes
6954         than lower case letters.
6955
6956         * libnm-util/nm-connection.c (register_default_settings): Register serial
6957         and umts settings.
6958
6959 2007-11-22  Tambet Ingo  <tambet@gmail.com>
6960
6961         Remove the "index" property from devices as not all device types have this.
6962
6963         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
6964
6965         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
6966         (wired_device_creator): Get the device interface from hal to create the device.
6967         (wireless_device_creator): Ditto.
6968
6969         * src/nm-device.c (nm_device_init): Remove the index member.
6970         (constructor): Remove the checks for index property, make interface property
6971         a require constructor property.
6972         Use the HAL udi for DBus path for devices.
6973         (nm_device_get_index): Remove.
6974         (set_property): Remove index handling.
6975         (get_property): Ditto.
6976         (nm_device_get_dbus_path): Remove.
6977
6978         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
6979         property.
6980
6981         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
6982         Access the device index through it's interface.
6983         (nm_device_802_3_ethernet_link_deactivated): Ditto.
6984         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
6985         index argument. Add interface argument.
6986
6987         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
6988         the useless test_dev argument. Remove index argument. Add interface arugment.
6989
6990         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
6991         device index through interface.
6992         (nm_system_set_mtu): Ditto.
6993
6994         * introspection/nm-device.xml: Remove the "Index" property.
6995
6996 2007-11-21  Tambet Ingo  <tambet@gmail.com>
6997
6998         * src/nm-serial-device.c: 
6999         * src/nm-serial-device.c: 
7000         * src/nm-umts-device.c:
7001         * src/nm-umts-device.h: Implement.
7002
7003         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
7004         allocated by libhal.
7005         (modem_device_creator): Implement.
7006         (register_built_in_creators): Register the modem creator.
7007
7008         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
7009         Remove the unused test_dev argument.
7010
7011         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
7012
7013         * src/Makefile.am: Add new files to build.
7014         Link in ppp-manager.
7015
7016         * libnm-util/nm-setting-umts.c: 
7017         * libnm-util/nm-setting-umts.h: 
7018         * libnm-util/nm-setting-serial.c: 
7019         * libnm-util/nm-setting-serial.h: Implement.
7020
7021         * libnm-util/Makefile.am: Add new files to build.
7022
7023 2007-11-28  Dan Williams  <dcbw@redhat.com>
7024
7025         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
7026
7027         Support DHCP-provided static routes.
7028
7029         * src/nm-ip4-config.h
7030           src/nm-ip4-config.c
7031                 - Add get/set functions for static routes
7032
7033         * src/dhcp-manager/nm-dhcp-manager.c
7034                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
7035                         DHCP response
7036
7037         * src/NetworkManagerSystem.c
7038                 - (nm_system_device_set_from_ip4_config): set any static routes on the
7039                         interface when applying the IP4Config
7040
7041 2007-11-28  Dan Williams  <dcbw@redhat.com>
7042
7043         * src/nm-device-802-11-wireless.c
7044                 - (real_act_stage1_prepare): mark APs created for hidden networks
7045                         as non-broadcasting
7046
7047 2007-11-27  Dan Williams  <dcbw@redhat.com>
7048
7049         * system-settings/src/nm-system-config-interface.h
7050                 - Note how to store secrets on NMSetting objects
7051
7052         * system-settings/src/dbus-settings.c
7053                 - (connection_settings_get_secrets): implement
7054
7055 2007-11-27  Dan Williams  <dcbw@redhat.com>
7056
7057         * system-settings/plugins/ifcfg/Makefile.am
7058           system-settings/plugins/ifcfg/parser.c
7059           system-settings/plugins/ifcfg/parser.h
7060           system-settings/plugins/ifcfg/plugin.c
7061                 - Parse wireless connections too
7062
7063         * system-settings/src/dbus-settings.c
7064           system-settings/src/dbus-settings.h
7065           system-settings/src/main.c
7066                 - Handle connection update/removal if the plugin supports it
7067
7068 2007-11-27  Dan Williams  <dcbw@redhat.com>
7069
7070         * src/nm-dbus-manager.h
7071           src/nm-hal-manager.c
7072                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
7073                         do it for them
7074
7075         * src/Makefile.am
7076           src/NetworkManagerDbusUtils.c
7077           src/NetworkManagerDbusUtils.h
7078                 - Remove these two source files; they are unused
7079
7080 2007-11-27  Dan Williams  <dcbw@redhat.com>
7081
7082         * src/vpn-manager/nm-vpn-manager.c
7083                 - (impl_vpn_manager_connect): fix system settings check (found by
7084                         James M. Leddy)
7085
7086 2007-11-26  Dan Williams  <dcbw@redhat.com>
7087
7088         * Fix warnings so everything compiles with --enable-more-warnings
7089
7090 2007-11-25  Dan Williams  <dcbw@redhat.com>
7091
7092         * system-settings/*
7093                 - Rework structure and code to use GModule-loaded plugins and a plugin
7094                         interface that plugins export to the system settings service
7095
7096 2007-11-21  Dan Williams  <dcbw@redhat.com>
7097
7098         * system-settings/*
7099                 - Add Soren's system settings service.  Needs work for distros other
7100                         than Fedora; the backends from NM should mostly migrate to here
7101                         and be converted to GObjects
7102
7103 2007-11-21  Dan Williams  <dcbw@redhat.com>
7104
7105         * libnm-util/nm-setting-vpn-properties.c
7106                 - (set_property): must deep-copy the given settings hash, otherwise
7107                         double-free errors occur when the setting is disposed of
7108
7109 2007-11-21  Dan Williams  <dcbw@redhat.com>
7110
7111         * src/vpn-manager/nm-vpn-act-request.h
7112           src/vpn-manager/nm-vpn-act-request.c
7113                 - Remove; unused
7114
7115 2007-11-20  Dan Williams  <dcbw@redhat.com>
7116
7117         * libnm-util/nm-utils.c
7118                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
7119                    nm_utils_convert_ip4_addr_struct_array_to_string,
7120                    nm_utils_register_value_transformations): print out the readable
7121                         values of more types of properties of NMSettings subclasses
7122
7123 2007-11-20  Dan Williams  <dcbw@redhat.com>
7124
7125         * libnm-util/nm-setting-ip4-config.c
7126                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
7127                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
7128                         marshal GValueArrays inside collections, so switch to types that it
7129                         can actually marshal/demarshal
7130
7131 2007-11-16  Dan Williams  <dcbw@redhat.com>
7132
7133         * libnm-util/nm-setting-wireless-security.c
7134                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
7135                         minimal verification of EAP methods too
7136                 - (verify): verify phase1 eap methods too
7137
7138 2007-11-15  Dan Williams  <dcbw@redhat.com>
7139
7140         * libnm-glib/nm-device.h
7141           libnm-glib/nm-device.c
7142                 - (nm_device_get_product, nm_device_get_vendor): should be returning
7143                         const char *
7144
7145 2007-11-15  Dan Williams  <dcbw@redhat.com>
7146
7147         * libnm-glib/nm-device.c
7148                 - (get_product_and_vendor): don't try to free things that should be
7149                         freed
7150
7151 2007-11-15  Dan Williams  <dcbw@redhat.com>
7152
7153         * src/NetworkManagerUtils.c
7154                 - (nm_ethernet_address_is_valid): unbreak previous fix
7155
7156 2007-11-15  Dan Williams  <dcbw@redhat.com>
7157
7158         * src/supplicant-manager/nm-supplicant-config.c
7159                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
7160                         options
7161
7162 2007-11-15  Dan Williams  <dcbw@redhat.com>
7163
7164         * src/NetworkManagerUtils.c
7165                 - (nm_ethernet_address_is_valid): fix style, clarify
7166                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
7167
7168         * src/nm-device-802-11-wireless.c
7169                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
7170                 - (nm_device_802_11_wireless_get_ssid,
7171                    nm_device_802_11_wireless_get_bssid,
7172                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
7173                         before calling the ioctl; fixes valgrind-reported jump depends on
7174                         uninitialized value errors
7175
7176 2007-11-15  Dan Williams  <dcbw@redhat.com>
7177
7178         * libnm-util/nm-setting.c
7179                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
7180                         unecessary to serialize 'name'
7181
7182         * src/nm-activation-request.c
7183                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
7184                         the GetSecrets call
7185
7186 2007-11-15  Dan Williams  <dcbw@redhat.com>
7187
7188         * libnm-util/nm-setting-connection.h
7189           libnm-util/nm-setting-connection.c
7190                 - Rename the 'name' property to 'id', because it conflicted with the
7191                         NMSetting superclass' 'name' property.
7192
7193         * libnm-util/nm-setting.c
7194                 - (nm_setting_to_hash): serialize the 'name' property
7195                 - (one_property_cb): ignore 'name' on deserialization of a connection
7196
7197         * src/nm-device-802-11-wireless.c
7198           src/vpn-manager/nm-vpn-connection.c
7199           src/NetworkManagerPolicy.c
7200                 - Fix up for NMSettingConnection 'name'->'id' changes
7201
7202 2007-11-13  Dan Williams  <dcbw@redhat.com>
7203
7204         * libnm-glib/nm-device-802-11-wireless.h
7205           libnm-glib/nm-device-802-11-wireless.c
7206                 - (nm_device_802_11_wireless_get_hw_address): return should be const
7207
7208         * test/nm-tool.c
7209           libnm-glib/libnm-glib-test.c
7210                 - Fixes for above change
7211
7212 2007-11-12  Dan Williams  <dcbw@redhat.com>
7213
7214         * src/supplicant-manager/nm-supplicant-settings-verify.c
7215                 - Allow fragment_size option
7216
7217         * src/supplicant-manager/nm-supplicant-settings-verify.c
7218                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
7219                         EAP fragment size than the default to help some TLS connections
7220
7221 2007-11-12  Dan Williams  <dcbw@redhat.com>
7222
7223         Make certs actually work.  The private key is now a secret, and should be
7224         decrypted when requested by NM.  The private key and phase2 private key
7225         passwords are no longer interesting to NM because they should be used by
7226         the settings service to decrypt the private key itself before passing it
7227         to NM, and hence have been removed as fields.
7228
7229         * libnm-util/nm-setting-wireless-security.h
7230           libnm-util/nm-setting-wireless-security.c
7231                 - Remove private-key-passwd and phase2-private-key-passwd from
7232                         properties
7233                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
7234                    need_secrets): use property #defines instead strings to keep things
7235                         consistent
7236                 - (need_secrets_tls): if a client certificate is present but no
7237                         private key, request the private key
7238                 - (set_property, get_property, nm_setting_wireless_security_class_init):
7239                         remove private key password stuff, mark private keys as secret
7240
7241         * src/supplicant-manager/nm-supplicant-settings-verify.c
7242                 - Remove private_key_passwd and private_key2_passwd from opt_table
7243
7244 2007-11-09  Dan Williams  <dcbw@redhat.com>
7245
7246         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
7247         Since the vpn-properties are managed and known by the VPN daemons themselves,
7248         libnm-util doesn't know what's secret and what's in the setting's 'data'
7249         member.
7250
7251         * libnm-util/nm-setting.h
7252           libnm-util/nm-setting.c
7253                 - Add the ability for subclasses to override update_one_secret
7254
7255         * libnm-util/nm-setting-vpn-properties.c
7256                 - Override update_one_secret and just copy the values into the
7257                         internal table
7258
7259 2007-11-09  Dan Williams  <dcbw@redhat.com>
7260
7261         * libnm-glib/nm-settings.h
7262           libnm-glib/nm-settings.c
7263                 - (nm_settings_new_error): remove
7264                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
7265                         clients should use g_set_error() with NM_SETTINGS_ERROR
7266
7267 2007-11-09  Dan Williams  <dcbw@redhat.com>
7268
7269         * src/supplicant-manager/nm-supplicant-config.c
7270                 - (nm_supplicant_config_add_setting_wireless_security): private key
7271                         passwords are never sent to wpa_supplicant, because the supplicant
7272                         should never be reading random files from the disk.  Clients like
7273                         the applet are required to decrypt the private keys and send NM
7274                         the decrypted blobs.
7275
7276 2007-11-08  Dan Williams  <dcbw@redhat.com>
7277
7278         * libnm-util/nm-setting-wireless-security.h
7279           libnm-util/nm-setting-wireless-security.c
7280                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
7281                         members to 802-11-wireless-security structure.  This should be used
7282                         to indicate that the values in private-key and phase2-private-key
7283                         are already decrypted by the user agent, and that no
7284                         private-key-passwd or phase2-private-key-passwd should be expected.
7285                         It is not meant to be a stored configuration value, but meant to
7286                         be set when the conneciton is sent to NM over dbus.
7287
7288 2007-11-08  Dan Williams  <dcbw@redhat.com>
7289
7290         * libnm-util/nm-connection.h
7291           libnm-util/nm-connection.c
7292                 - (nm_connection_need_secrets): add argument to return hints
7293
7294         * src/nm-device-802-11-wireless.c
7295                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7296                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
7297                         nm_connection_need_secrets() change
7298
7299 2007-11-07  Tambet Ingo  <tambet@gmail.com>
7300
7301         Rework NMSetting structures: Move each setting to it's own file.
7302         Convert to GObject. Remove home grown setting types and use GTypes.
7303         Use GObject property introspection for hash conversion, enumerating
7304         properties, etc.
7305
7306         * libnm-util/nm-setting-connection.[ch]
7307         * libnm-util/nm-setting-ip4-config.[ch]
7308         * libnm-util/nm-setting-ppp.[ch]
7309         * libnm-util/nm-setting-vpn.[ch]
7310         * libnm-util/nm-setting-vpn-properties.[ch]
7311         * libnm-util/nm-setting-wired.[ch]
7312         * libnm-util/nm-setting-wireless.[ch]
7313         * libnm-util/nm-setting-wireless-security.[ch]
7314
7315         New files, each containing a setting.
7316
7317         * libnm-util/nm-setting-template.[ch]: A template for creating new
7318         settings. To use it, just replace 'template' with the new setting
7319         name, and you're half-way done.
7320
7321         * libnm-util/nm-setting.c: Convert to GObject and use GObject
7322         introspection instead of internal types and tables.
7323
7324         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
7325
7326         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
7327         GValue types defined by dbus-glib for composed types like collections,
7328         structures and maps.
7329
7330         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
7331         a setting from connection takes the setting type now. Also, since
7332         the settings are in multiple files, include relevant settings.
7333
7334 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
7335
7336         * configure.in:
7337         * src/backends/NetworkManagerGentoo.c:
7338         (nm_system_restart_mdns_responder): Implement restarts for other mdns
7339         providers in Gentoo.
7340
7341 2007-10-31  Dan Williams  <dcbw@redhat.com>
7342
7343         * libnm-util/nm-connection.c
7344                 - (gvalue_to_string): handle UINT32 arrays
7345
7346 2007-10-31  Dan Williams  <dcbw@redhat.com>
7347
7348         * libnm-glib/nm-device.h
7349           libnm-glib/nm-device.c
7350                 - (nm_device_get_description): remove
7351                 - (nm_device_get_product, nm_device_get_vendor): add
7352                 - (nm_device_update_description): new function (private); walk HAL
7353                         devices to get product and vendor IDs for a specific device
7354
7355 2007-10-31  Dan Williams  <dcbw@redhat.com>
7356
7357         * src/nm-device-802-11-wireless.c
7358                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
7359
7360 2007-10-29  Dan Williams  <dcbw@redhat.com>
7361
7362         * src/nm-hal-manager.c
7363                 - (device_added, device_new_capability): ignore device additions while
7364                         asleep.  Fixes crash caused when NM goes to sleep, a network device
7365                         kernel module is unloaded and reloaded and recognized by NM again.
7366
7367 2007-10-26  Dan Williams  <dcbw@redhat.com>
7368
7369         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
7370
7371         * src/NetworkManagerAP.c
7372           src/NetworkManagerAP.h
7373           libnm-glib/nm-access-point.c
7374           libnm-glib/nm-access-point.h
7375                 - Make 'rate' property a guint32 to better match with WEXT and
7376                         wpa_supplicant and to allow representation of higher bitrates
7377
7378         * src/nm-device-802-11-wireless.c
7379           introspection/nm-device-802-11-wireless.xml
7380           libnm-glib/nm-device-802-11-wireless.c
7381           libnm-glib/nm-device-802-11-wireless.h
7382                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
7383
7384         * src/nm-device-802-3-ethernet.c
7385           src/nm-device-802-3-ethernet.h
7386           introspection/nm-device-802-3-ethernet.xml
7387           libnm-glib/nm-device-802-3-ethernet.c
7388           libnm-glib/nm-device-802-3-ethernet.h
7389                 - Make 'speed' property a guint32 to match other speed/rate types
7390                 - Make nm_device_802_3_ethernet_get_speed() static
7391
7392         * test/nm-tool.c
7393                 - Update for the changes above
7394
7395 2007-10-26  Dan Williams  <dcbw@redhat.com>
7396
7397         * src/named-manager/nm-named-manager.c
7398                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
7399                     not calling fclose() twice on some error conditions
7400
7401 2007-10-26  Dan Williams  <dcbw@redhat.com>
7402
7403         * src/nm-activation-request.c
7404                 - (dispose): clean up indentation; get the right DBusGProxy object to
7405                         cancel the GetSecrets pending call on.  Need to use the Secrets
7406                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
7407                         pending call doesn't get canceled, and pressing Cancel in the
7408                         applet's password dialog could cause get_secrets_cb() to be called
7409                         after the activation request has already been destroyed
7410
7411 2007-10-24  Dan Williams  <dcbw@redhat.com>
7412
7413         * src/supplicant-manager/nm-supplicant-config.c
7414                 - (nm_supplicant_config_add_blob): pass blob data and length for
7415                         verification
7416                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
7417
7418 2007-10-24  Dan Williams  <dcbw@redhat.com>
7419
7420         * src/supplicant-manager/nm-supplicant-settings-verify.c
7421                 - (opt_table): max length for certificates should be 65536
7422
7423 2007-10-24  Dan Williams  <dcbw@redhat.com>
7424
7425         * src/supplicant-manager/nm-supplicant-interface.c
7426                 - (blob_free): correctly free blob data after use
7427                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
7428
7429 2007-10-24  Dan Williams  <dcbw@redhat.com>
7430
7431         * libnm-util/nm-setting.c
7432                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
7433                         EAP method need secrets
7434
7435 2007-10-24  Dan Williams  <dcbw@redhat.com>
7436
7437         * src/backends/NetworkManagerRedHat.c
7438                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
7439
7440 2007-10-23  Dan Williams  <dcbw@redhat.com>
7441
7442         * libnm-util/nm-setting.c
7443           libnm-util/nm-setting.c
7444                 - (nm_setting_compare): implement
7445                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
7446                    compare_one_hash_gvalue): compare the contents of a setting
7447
7448         * libnm-util/nm-connection.c
7449                 - (nm_connection_compare): implement
7450
7451 2007-10-23  Dan Williams  <dcbw@redhat.com>
7452
7453         * src/nm-activation-request.c
7454                 - (get_secrets_cb): handle getting a setting back that is more than
7455                         just secrets (ie, user changed auth or EAP method or something)
7456
7457 2007-10-23  Dan Williams  <dcbw@redhat.com>
7458
7459         * libnm-util/nm-setting.c
7460           libnm-util/nm-setting.h
7461                 - (nm_setting_verify): new function; verify one setting
7462                 - (nm_settings_verify_all): rename from nm_settings_verify()
7463                 - (setting_connection_verify, setting_wireless_verify): allow NULL
7464                         all_settings
7465
7466         * libnm-util/nm-connection.c
7467                 - (nm_connection_replace_settings, nm_connection_verify,
7468                    nm_connection_new_from_hash): handle nm_settings_verify() rename
7469
7470 2007-10-23  Dan Williams  <dcbw@redhat.com>
7471
7472         * src/nm-device-802-11-wireless.c
7473                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
7474                         desired behavior
7475
7476 2007-10-23  Dan Williams  <dcbw@redhat.com>
7477
7478         * src/supplicant-manager/nm-supplicant-settings-verify.c
7479                 - eap_allowed, phase2_allowed: harmonize with allowed values from
7480                         nm-settings.c
7481
7482 2007-10-23  Dan Williams  <dcbw@redhat.com>
7483
7484         * src/nm-device-802-11-wireless.c
7485                 - (real_act_stage2_config): after the first association failure,
7486                         if the connection still needs secrets ask the user for them
7487                         explicitly.  After the fourth association failure due to bad
7488                         secrets, fail the connection entirely.  Handles the GetSecrets
7489                         loop that NM gets into when the provided secrets don't match up
7490                         with the connection details.
7491
7492 2007-10-23  Dan Williams  <dcbw@redhat.com>
7493
7494         * src/supplicant-manager/nm-supplicant-config.c
7495                 - (nm_supplicant_config_add_setting_wireless_security): only add
7496                         WPA-specific options when WPA is in use
7497
7498 2007-10-23  Dan Williams  <dcbw@redhat.com>
7499
7500         * src/supplicant-manager/nm-supplicant-config.c
7501                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
7502                         secret doesn't need to be unhexified
7503
7504 2007-10-23  Dan Williams  <dcbw@redhat.com>
7505
7506         * libnm-util/nm-setting.c
7507                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
7508                         before trying to do something with it
7509
7510 2007-10-23  Dan Williams  <dcbw@redhat.com>
7511
7512         * src/nm-device-802-11-wireless.c
7513                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
7514
7515 2007-10-23  Dan Williams  <dcbw@redhat.com>
7516
7517         * src/nm-device-802-11-wireless.c
7518                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
7519                         non-SSID-broadcasting APs
7520
7521 2007-10-23  Dan Williams  <dcbw@redhat.com>
7522
7523         * src/NetworkManagerAP.c
7524                 - (match_cipher, security_compatible): remove
7525                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
7526                         libnm-util instead
7527
7528 2007-10-23  Dan Williams  <dcbw@redhat.com>
7529
7530         * libnm-util/nm-utils.c
7531           libnm-util/nm-utils.h
7532                 - (nm_utils_ap_security_compatible): common function for checking
7533                         whether a specific AP is compatible with an NMConnection
7534
7535 2007-10-23  Dan Williams  <dcbw@redhat.com>
7536
7537         * libnm-util/nm-setting.c
7538                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
7539                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
7540                    need_secrets_password, setting_wireless_security_verify): fix
7541                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
7542                         secrets logic for each supported EAP method
7543
7544 2007-10-23  Dan Williams  <dcbw@redhat.com>
7545
7546         * src/supplicant-manager/nm-supplicant-config.c
7547                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
7548                         config option name, should be "private_key2_passwd"
7549
7550 2007-10-22  Tambet Ingo  <tambet@gmail.com>
7551
7552         Implement support for static IP addresses, additional/overridden DNS and
7553         DNS domain search lists.
7554
7555         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
7556         (ip4_addresses_to_gvalue): Implement.
7557         (convert_array_to_byte_array): Implement.
7558         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
7559         NM_S_TYPE_IP4_ADDRESSES.
7560         (nm_setting_hash): Ditto.
7561         (default_setting_clear_secrets): Add a default case for the switch: IP address
7562         shouldn't be secret, ever.
7563         (setting_ip4_config_verify): Update, requires addresses in case of manual
7564         configurations.
7565         (setting_ip4_config_destroy): Free stuff.
7566
7567         * src/nm-device.c (merge_ip4_config): Implement.
7568         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
7569
7570 2007-10-22  Dan Williams  <dcbw@redhat.com>
7571
7572         * libnm-util/nm-setting.c
7573                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
7574                         pairwise cipher options for Dynamic WEP
7575
7576 2007-10-21  Dan Williams  <dcbw@redhat.com>
7577
7578         * src/NetworkManagerAP.c
7579           src/NetworkManagerAP.h
7580                 - Rename 'articifical' -> 'fake' since that's what they are until
7581                         noticed in scans
7582                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
7583                         from the attributes in an NMConnection object
7584                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
7585                         WPA Enterprise
7586                 - (nm_ap_match_in_list): find a matching AP in a scan list
7587
7588         * src/nm-device-802-11-wireless.c
7589                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
7590                         AP when searching the scan list; match on frequency and mode too
7591                 - (nm_device_802_11_wireless_get_frequency): implement
7592                 - (merge_scanned_ap): replace duplicate matching logic with
7593                         nm_ap_match_in_list()
7594                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
7595                         the user is trying to connect to a hidden network that is not yet
7596                         known from the scan list
7597                 - (activation_success_handler): now that the card knows the AP's BSSID,
7598                         there may already be a scanned AP in the scan list that is what
7599                         we really wanted to connect to, but didn't know at the time.  Use
7600                         that instead of the 'fake' AP created at activation start and get
7601                         rid of the 'fake' AP 
7602                 - (cull_scan_list): don't remove fake APs
7603
7604 2007-10-21  Dan Williams  <dcbw@redhat.com>
7605
7606         * src/nm-activation-request.h
7607           src/nm-activation-request.c
7608                 - (nm_act_request_set_specific_object): new function; allow setting the
7609                         specific object if one isn't set yet
7610
7611 2007-10-20  Dan Williams  <dcbw@redhat.com>
7612
7613         * src/supplicant-manager/nm-supplicant-config.h
7614           src/supplicant-manager/nm-supplicant-config.c
7615                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
7616                         table to store blobs
7617                 - (nm_supplicant_config_add_blob): new function; add blob to internal
7618                         blob hash table
7619                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
7620                 - (nm_supplicant_config_add_setting_wireless_security): handle
7621                         options that use certificates (ie, blobs)
7622
7623         * src/nm-device-802-11-wireless.c
7624                 - (build_supplicant_config): pass a UID (just use the connection path)
7625                         to the supplicant config as now required
7626
7627         * src/supplicant-manager/nm-supplicant-interface.c
7628                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
7629                         there are any blobs to send to wpa_supplicant, send those first
7630                         before sending the network configuration
7631
7632 2007-10-19  Dan Williams  <dcbw@redhat.com>
7633
7634         Split the GetSecrets() call off to a separate D-Bus interface so that it
7635         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
7636         should be able to call GetSecrets().
7637
7638         * include/NetworkManager.h
7639                 - Define the connection secrets D-Bus interface
7640
7641         * src/vpn-manager/nm-vpn-connection.c
7642                 - (clear_need_auth): get the right proxy object for the connection
7643                         secrets interface
7644                 - (get_connection_secrets): use the connection secrets proxy; send
7645                         empty hints in get secrets request
7646
7647         * src/nm-activation-request.c
7648                 - (nm_act_request_request_connection_secrets): use the connection
7649                         secrets proxy; send empty hints in get secrets request
7650
7651         * src/nm-manager.c
7652           src/nm-manager.h
7653                 - (connection_get_settings_cb): set the connection secrets proxy on
7654                         the connection object too
7655                 - (internal_new_connection_cb): create the connection secrets proxy
7656
7657         * introspection/nm-settings-connection.xml
7658                 - Define Connection.Secrets interface and move GetSecrets there
7659                 - Add a 'hints' argument to GetSecrets
7660
7661         * libnm-glib/nm-settings.c
7662           libnm-glib/nm-settings.h
7663                 - (impl_connection_settings_get_secrets): add 'hints' argument
7664
7665 2007-10-19  Dan Williams  <dcbw@redhat.com>
7666
7667         * src/nm-device.c
7668                 - (constructor): add message about what path a device is exported as
7669                         to help in debugging rh #339011
7670
7671 2007-10-17  Dan Williams  <dcbw@redhat.com>
7672
7673         * libnm-util/nm-utils.h
7674           libnm-util/nm-utils.c
7675                 - (nm_utils_security_valid): common function to help find the intersection
7676                         of capabilities of devices and (optionally) access points
7677
7678 2007-10-17  Dan Williams  <dcbw@redhat.com>
7679
7680         * src/nm-device-802-11-wireless.c
7681                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7682                         don't get erroneously cleared
7683
7684 2007-10-17  Dan Williams  <dcbw@redhat.com>
7685
7686         * src/nm-manager.h
7687           src/nm-manager.c
7688           src/nm-hal-manager.c
7689                 - (device_removed, finalize, nm_manager_remove_device,
7690                    nm_manager_sleep): add a 'deactivate' argument to 
7691                    nm_manager_remove_device() to fully deactivate devices when necessary
7692                    (ie, always except when waking up)
7693
7694 2007-10-16  Dan Williams  <dcbw@redhat.com>
7695
7696         * libnm-util/nm-setting.c
7697                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7698                         also isn't valid phase2 autheap method
7699
7700 2007-10-16  Dan Williams  <dcbw@redhat.com>
7701
7702         * libnm-glib/nm-client.c
7703                 - (update_wireless_status): consolidate updates of wireless status
7704                 - (constructor): use update_wireless_status()
7705                 - (manager_running): set wireless status off when NM goes away; requery
7706                         the wireless status when NM comes back
7707
7708 2007-10-16  Dan Williams  <dcbw@redhat.com>
7709
7710         * libnm-glib/nm-client.c
7711                 - (nm_client_activate_device): actually use the fixed-up specific
7712                         object path
7713
7714 2007-10-16  Dan Williams  <dcbw@redhat.com>
7715
7716         * src/nm-hal-manager.c
7717                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7718                         killswitch error messages once
7719
7720 2007-10-16  Dan Williams  <dcbw@redhat.com>
7721
7722         * src/nm-manager.c
7723                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7724                         if it's disabled in hardware; don't touch network devices while
7725                         NM is asleep
7726
7727 2007-10-16  Dan Williams  <dcbw@redhat.com>
7728
7729         * libnm-util/nm-client.c
7730                 - (nm_client_activate_device): convert NULL specific_object to "/",
7731                         which is used in place of NULL
7732
7733         * src/nm-manager.c
7734                 - (impl_manager_activate_device): convert "/" specific_object back into
7735                         NULL
7736
7737 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7738
7739         Implement a generic NMSetting creator from setting name.
7740         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7741         add a virtual function 'populate_fn'.
7742
7743         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7744         (register_default_creators): Register setting creators instead of functions
7745         that create and then populate.
7746         (parse_one_setting): Use the common setting creator and then setting specific
7747         poplulation function.
7748
7749         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7750         they all looked exactly the same.
7751         Add a 'populate_fn' virtual function to NMSetting.
7752         Use default virtual functions in case they are not overriden.
7753         (nm_setting_populate_from_hash): Implement.
7754
7755         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7756         name, use a defined string.
7757         (real_act_stage4_get_ip4_config): Ditto.
7758
7759 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7760
7761         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7762         HAL is int, not uint.
7763
7764 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7765
7766         Implement killswitch polling through HAL.
7767
7768         * src/nm-manager.c: Add wireless hardware status property. Add 
7769         'properties-changed' signal for changes in wireless and wireless hardware
7770         state changes.
7771
7772         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7773         and update NMManager's wireless hardware state when it has changed.
7774         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7775         already does that.
7776
7777         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7778         values of wireless state and wireless hardware state. Listen for the
7779         'properties-changed' signals, update the cached values and emit notify.
7780
7781         * include/NetworkManager.h: Fix a typo in a comment.
7782
7783 2007-10-14  Dan Williams  <dcbw@redhat.com>
7784
7785         * libnm-util/nm-setting.c
7786                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7787
7788 2007-10-13  Dan Williams  <dcbw@redhat.com>
7789
7790         * libnm-util/nm-setting.h
7791           libnm-util/nm-setting.c
7792           src/supplicant-manager/nm-supplicant-config.c
7793                 - Make the 'proto' field of the 802-11-wireless-security field a
7794                         string list
7795
7796 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7797
7798         Rework the "properties-changed" signal listening implementation.
7799         Add a generic implementation to NMObject class that listens for
7800         the signal and calls property setters of the target NMObject.
7801
7802         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7803
7804         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7805         code to the end of file so that all the static functions are available
7806         without extra declarations.
7807         Remove the "properties-changed" signal handling and use the framework from
7808         NMObject.
7809         Implement property setters for properties that change with 
7810         "properties-changed" signal.
7811
7812         * libnm-glib/nm-access-point.c: Ditto.
7813
7814 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7815
7816         Rework the "properties-changed" signal implementation.
7817         In classes that need to use it, just emit "GObject::notify" and the new
7818         framework takes care of the rest to make the signal available on dbus.
7819         The framework queues the notifications and tries to send as many together
7820         in one signal as possible.
7821
7822         * src/nm-properties-changed-signal.c:
7823         * src/nm-properties-changed-signal.h: Implement.
7824
7825         * src/Makefile.am: Add new files to build.
7826
7827         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7828         signal.
7829
7830         * src/nm-device-802-11-wireless.c: Ditto.
7831
7832 2007-10-10  Dan Williams  <dcbw@redhat.com>
7833
7834         * src/nm-manager.c
7835                 - (wait_for_connection_expired): ensure info is valid
7836                 - (connection_added_default_handler): Should only remove pending
7837                         connection info when the manager has the connection that it's
7838                         waiting for.  Fixes segfault in wait_for_connection_info().  
7839
7840 2007-10-10  Dan Williams  <dcbw@redhat.com>
7841
7842         * libnm-util/nm-setting.c
7843           libnm-util/nm-setting.h
7844                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7845                         can use if they choose.  Should be filled in by the settings service
7846                         on-the-fly with the currently logged in user's username
7847
7848 2007-10-10  Dan Williams  <dcbw@redhat.com>
7849
7850         * src/nm-device-802-11-wireless.c
7851                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7852                         as such, because even if the manager fills in the SSID, NM still
7853                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7854                         its SSID
7855
7856 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7857
7858         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7859         code that used NM's own version of dbus signal handling and custom dictionary
7860         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7861         and we get to maintain over 2000 lines less code.
7862
7863         * libnm-util/dbus-dict-helpers.c:
7864         * libnm-util/dbus-dict-helpers.h: Remove.
7865
7866         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
7867
7868         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
7869
7870         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
7871         handlers.
7872
7873         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
7874
7875         * configure.in: Remove test/libnm-util/Makefile creation.
7876
7877         * test/Makefile.am: Remove libnm-util from SUBDIRS.
7878
7879         * test/libnm-util/: Remove the whole directory.
7880
7881 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7882
7883         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
7884         device_state_changed_idle_id variable or it would contain some random value and the
7885         schedule_change_check calls would not do anything.
7886
7887 2007-10-09  Dan Williams  <dcbw@redhat.com>
7888
7889         * src/nm-device-802-11-wireless.c
7890                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
7891                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
7892                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
7893                         merging of non-SSID-broadcasting APs
7894
7895 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7896
7897         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
7898         "guint8 *" since it's usually used with GByteArray->data.
7899         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
7900
7901 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7902
7903         * src/NetworkManagerUtils.c
7904         (nm_utils_is_empty_ssid):
7905         (nm_utils_escape_ssid):
7906         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
7907         lot of places, so they belong to libnm-utils instead.
7908
7909         Now with 100% less compiler warnings:
7910
7911         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
7912         (nm_dbus_unescape_object_path): Ditto.
7913         (nm_utils_ssid_to_utf8): Ditto.
7914         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
7915         (nm_utils_escape_ssid): Ditto.
7916         (nm_utils_same_ssid): Ditto.
7917
7918         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
7919         (add_one_connection_element): Remove an unused variable.
7920         (impl_manager_get_active_connections): Ditto.
7921
7922         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
7923         variable.
7924
7925         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
7926         from the previous commit.
7927
7928         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
7929         (real_act_stage1_prepare): Ditto.
7930         (activation_success_handler): Ditto.
7931         (get_property): Ditto.
7932
7933         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
7934         variable.
7935
7936         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
7937         it's always set.
7938
7939         * src/supplicant-manager/nm-supplicant-config.c 
7940         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
7941         to expected "char *".
7942         (nm_supplicant_config_add_setting_wireless): Ditto.
7943         (nm_supplicant_config_remove_option): Remove, not used.
7944
7945         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
7946         not double.
7947         (test_wireless_enabled): Ifdef out unused function.
7948         (device_deactivate): Ditto.
7949         (device_state_changed): Ditto.
7950         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
7951         (nm_utils_escape_ssid): Ditto.
7952
7953         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
7954         (nm_utils_is_empty_ssid): Ditto.
7955
7956         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
7957         unused variable.
7958
7959         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
7960         (setting_vpn_properties_update_secrets): Ditto.
7961         (int_to_gvalue): Ifdef out for now, not used.
7962         (byte_to_gvalue): Ditto.
7963
7964         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
7965         Unused, remove.
7966
7967 2007-10-08  Tambet Ingo  <tambet@gmail.com>
7968
7969         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
7970         about dbus manager, not named manager.
7971         Make sure hal_manager and dbus_mgr are created before trying to unreference.
7972
7973         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
7974         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
7975         However, the same signal is emitted when we destroy it and there's 
7976         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
7977
7978         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
7979         releasing the DBusGConnection, since proxy needs a conneciton.
7980         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
7981
7982 2007-10-08  Dan Williams  <dcbw@redhat.com>
7983
7984         * src/NetworkManager.c
7985                 - (main): error on unknown command-line options
7986
7987 2007-10-08  Dan Williams  <dcbw@redhat.com>
7988
7989         Reimplement the invalid connection list.  Don't try to re-activate a
7990         connection that just failed or was canceled.
7991
7992         * src/nm-device.c
7993                 - (connection_secrets_failed_cb): fail device activation, don't just
7994                         deactivate the device.  Listeners have to know about the failure.
7995
7996         * src/NetworkManagerPolicy.c
7997                 - (nm_policy_auto_get_best_device): exclude invalid connections from
7998                         the connection list given to a device's get_best_connection()
7999                         method
8000                 - (device_state_changed): tag failed connections as invalid; clear the
8001                         tag from successful connections
8002
8003 2007-10-08  Dan Williams  <dcbw@redhat.com>
8004
8005         Fix problems with interrupted activation.  Previously, choosing an AP
8006         from the menu, then choosing another one before the first connection was
8007         successful wouldn't deactivate the device before starting the new connection
8008         on that same device.
8009
8010         * src/NetworkManagerPolicy.c
8011                 - (deactivate_old_device, device_state_changed, state_changed,
8012                    nm_policy_new): wrong place to deactivate old devices
8013
8014         * src/nm-manager.c
8015                 - (pending_connection_info_destroy, finalize,
8016                    wait_for_connection_expired): decouple destruction of the pending
8017                         connection info from the manager device
8018                 - (connection_added_default_handler): deactivate any active or
8019                         activating device before starting a new activation
8020                 - (impl_manager_activate_device): deactivate any active or activating
8021                         device before starting a new activation; be sure not to leak
8022                         pending connection info if a new activation request arrives but
8023                         there's already a pending one in-process
8024
8025 2007-10-08  Dan Williams  <dcbw@redhat.com>
8026
8027         * src/NetworkManagerAP.h
8028           src/NetworkManagerAP.c
8029                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
8030                         should handle default SSIDs and whether or not to autoconnect
8031                         to them
8032
8033 2007-10-08  Dan Williams  <dcbw@redhat.com>
8034
8035         * src/NetworkManagerPolicy.c
8036                 - (nm_policy_device_change_check): print out connection name where
8037                         possible
8038
8039 2007-10-08  Dan Williams  <dcbw@redhat.com>
8040
8041         * src/nm-device-802-11-wireless.c
8042           src/nm-device-802-11-wireless.h
8043                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
8044                         'hidden-ap-found' signal (for internal use only) that allows the
8045                         NMManager to fill in the AP's SSID if a connection has that AP's
8046                         BSSID in its seen-bssids list
8047
8048         * src/nm-manager.c
8049                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
8050                         wireless device's hidden-ap-found signal and fill in the APs SSID
8051                         if possible
8052
8053 2007-10-07  Dan Williams  <dcbw@redhat.com>
8054
8055         * src/nm-manager.c
8056           src/nm-manager.h
8057                 - Add a 'connections-added' signal to batch together updates of large
8058                         numbers of connections, like when reading from a settings service
8059                         the first time.  Otherwise, the policy would just activate the first
8060                         suitable connection it saw rather than waiting for the full list
8061                         to arrive.
8062                 - (nm_manager_class_init): register new signal
8063                 - (get_type_for_proxy, connection_get_settings_cb,
8064                    get_connection_for_proxy): centralize places where a proxy's setting
8065                         service is determined
8066                 - (free_get_settings_info): if the call being freed is the last call
8067                         in a pending call group, fire off the connections-added signal
8068                 - (internal_new_connection_cb): add call to a pending call group if
8069                         requested
8070                 - (list_connections_cb): always create a call group here, because this
8071                         call results in a batch of new connections
8072                 - (initial_get_connections): start getting system connections first
8073                 - (nm_manager_connections_destroy, emit_removed): actually emit the
8074                         removed signal when destroying connections
8075
8076         * src/NetworkManagerPolicy.c
8077                 - (nm_policy_new, connections_added): handle connections-added signal
8078                         from the manager
8079
8080 2007-10-06  Dan Williams  <dcbw@redhat.com>
8081
8082         * src/nm-device-802-11-wireless.c
8083                 - (constructor): fix leaked socket
8084
8085 2007-10-06  Dan Williams  <dcbw@redhat.com>
8086
8087         * src/NetworkManagerPolicy.c
8088                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
8089                         connection in the list returned by nm_manager_get_connections() is
8090                         reffed, but they weren't getting unreffed before returning
8091
8092 2007-10-06  Dan Williams  <dcbw@redhat.com>
8093
8094         * src/nm-manager.c
8095                 - (connections_to_slist): sort connections first on autoconnect, then
8096                         on timestamp
8097
8098 2007-10-06  Dan Williams  <dcbw@redhat.com>
8099
8100         * libnm-util/nm-connection.c
8101                 - (gvalue_to_string): handle UINT64
8102
8103 2007-10-06  Dan Williams  <dcbw@redhat.com>
8104
8105         * src/NetworkManagerPolicy.c
8106                 - (connection_updated, nm_policy_new): recheck state when a connection
8107                         gets updated
8108
8109 2007-10-06  Dan Williams  <dcbw@redhat.com>
8110
8111         * src/nm-manager.c
8112           src/nm-manager.h
8113                 - (nm_manager_get_connection_dbus_path): make static
8114                 - (nm_manager_update_connections): remove; unused
8115                 - Add a connection-updated signal
8116                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
8117                         handle connection object updates
8118
8119 2007-10-06  Dan Williams  <dcbw@redhat.com>
8120
8121         * src/NetworkManagerPolicy.c
8122                 - (connection_removed): deactivate removed connections
8123
8124 2007-10-06  Dan Williams  <dcbw@redhat.com>
8125
8126         * libnm-util/nm-connection.c
8127           libnm-util/nm-connection.h
8128                 - (nm_connection_replace_settings): new function
8129
8130 2007-10-06  Dan Williams  <dcbw@redhat.com>
8131
8132         * libnm-glib/nm-device-802-11-wireless.c
8133                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
8134                         on error when getting the active access point over D-Bus from NM
8135
8136 2007-10-05  Dan Williams  <dcbw@redhat.com>
8137
8138         * libnm-util/nm-setting.c
8139                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
8140                         to the NMSettingWireless table; it's now a string array not an array
8141                         of byte arrays
8142
8143 2007-10-05  Dan Williams  <dcbw@redhat.com>
8144
8145         * libnm-glib/nm-device-802-11-wireless.c
8146                 - Cache properties and update cached properties on D-Bus signals from NM
8147
8148 2007-10-05  Dan Williams  <dcbw@redhat.com>
8149
8150         * src/nm-device-802-11-wireless.c
8151                 - (set_current_ap): consolidate current_ap handling code into one place
8152                         to ensure that PropertiesChanged signals are emitted in all cases
8153                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
8154                    nm_device_802_11_wireless_dispose): use set_current_ap()
8155
8156 2007-10-05  Dan Williams  <dcbw@redhat.com>
8157
8158         * libnm-glib/nm-access-point.c
8159           libnm-glib/nm-access-point.h
8160                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
8161                         because the value is cached internally now.  Callers should not
8162                         free the internal value.
8163                 - Make signal name defines private
8164
8165         * test/nm-tool.c
8166           libnm-glib/libnm-glib-test.c
8167                 - Don't free value returned from nm_access_point_get_hw_address()
8168
8169 2007-10-04  Dan Williams  <dcbw@redhat.com>
8170
8171         * introspection/nm-device-802-11-wireless.xml
8172           src/nm-device-802-11-wireless.h
8173           src/nm-device-802-11-wireless.c
8174                 - Add a PropertiesChanged signal for wireless device
8175                 - Store currently associated access point
8176                 - (periodic_update): generalize; update rate here too and emit the
8177                         correct PropertiesChanged signal when stuff changes
8178                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
8179                    real_activation_cancel_handler): clear current_ap when device is
8180                         deactivated
8181                 - (link_to_specific_ap, get_ap_blacklisted,
8182                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
8183                         code
8184                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
8185                         outside this file
8186                 - (real_set_hw_address): emit property changed signal if the card's
8187                         MAC address changes
8188                 - (real_act_stage1_prepare): set the initial current_ap to the AP
8189                         the card is supposed to be connecting to
8190                 - (activation_success_handler): send out property updates on successful
8191                         activation
8192                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
8193                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
8194                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
8195                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
8196                         is now boxed; add PropertiesChanged signal
8197
8198 2007-10-04  Dan Williams  <dcbw@redhat.com>
8199
8200         * libnm-util/nm-connection.c
8201           libnm-util/nm-connection.h
8202                 - (nm_connection_verify): new function
8203
8204 2007-10-04  Dan Williams  <dcbw@redhat.com>
8205
8206         * libnm-util/nm-setting.c
8207                 - (nm_settings_verify): use #defines when possible rather than strings
8208                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
8209                 - (setting_vpn_verify): tighter validity check on 'service_type'
8210
8211 2007-10-04  Dan Williams  <dcbw@redhat.com>
8212
8213         * libnm-glib/nm-settings.c
8214                 - (nm_connection_settings_class_init): provide correct type for argument
8215                         to the Updated signal so that dbus-glib knows how to marshal it
8216
8217 2007-10-03  Dan Williams  <dcbw@redhat.com>
8218
8219         * src/nm-device-802-3-ethernet.c
8220                 - (real_get_best_connection): don't create automatic connections
8221                         internally; clients should provide a setting that applies to
8222                         the device with 'autoconnect: True'.  Problem was that these
8223                         internally auto-created connections don't have a proxy or service
8224                         name becuase they weren't created by a settings daemon, and therefore
8225                         clients have no idea what to do with them.
8226
8227 2007-10-03  Dan Williams  <dcbw@redhat.com>
8228
8229         * src/nm-device-802-11-wireless.c
8230           src/nm-device-802-11-wireless.h
8231           introspection/nm-device-802-11-wireless.xml
8232                 - GetActiveNetworks -> GetAccessPoints
8233                 - ActiveNetwork -> ActiveAccessPoint
8234                 - NetworkAdded -> AccessPointAdded
8235                 - NetowrkRemoved -> AccessPointRemoved
8236
8237         * libnm-glib/nm-device-802-11-wireless.c
8238           libnm-glib/nm-device-802-11-wireless.h
8239                 - network-added signal -> access-point-added
8240                 - network-removed signal -> access-point-removed
8241                 - nm_device_802_11_wireless_get_active_network() ->
8242                         nm_device_802_11_wireless_get_active_access_point()
8243                 - nm_device_802_11_wireless_get_network_by_path() ->
8244                         nm_device_802_11_wireless_get_access_point_by_path()
8245                 - nm_device_802_11_wireless_get_networks() ->
8246                         nm_device_802_11_wireless_get_access_points()
8247
8248         * libnm-glib/libnm-glib-test.c
8249           test/nm-tool.c
8250           src/NetworkManagerPolicy.c
8251                 - Fixups for Network -> AccessPoint
8252
8253 2007-10-03  Dan Williams  <dcbw@redhat.com>
8254
8255         Add a GetActiveConnections() method on the Manager object.
8256
8257         * src/nm-manager.c
8258           src/nm-manager.h
8259           introspection/nm-manager.xml
8260                 - (connection_get_settings_cb): keep connection type around too
8261                 - (impl_manager_get_active_connections, add_one_connection_element):
8262                         implement; returns all active connections and what devices they
8263                         apply to
8264
8265         * libnm-glib/nm-client.c
8266           libnm-glib/nm-client.h
8267           introspection/nm-manager-client.xml
8268                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
8269                         by the caller; free here to avoid memory leak
8270                 - (nm_client_get_active_connections): implement; return the list of
8271                         active connections
8272                 - (nm_client_free_active_connection_element): implement; free an element
8273                         of the GSList returned by nm_client_get_active_connections()
8274
8275 2007-10-03  Dan Williams  <dcbw@redhat.com>
8276
8277         * src/nm-device-802-11-wireless.c
8278                 - (nm_device_802_11_wireless_update_bssid): remove
8279                 - (get_active_ap): new function; find the AP in the scan list which
8280                         matches the current BSSID and SSID of the wireless device
8281                 - (nm_device_802_11_periodic_update): get current AP using
8282                         get_active_ap() and print AP roam messages
8283
8284 2007-10-01  Dan Williams  <dcbw@redhat.com>
8285
8286         * libnm-util/nm-setting.h
8287                 - Add a 'timestamp' option to NMSettingConnection
8288                 - Add a UINT64 type
8289
8290         * libnm-util/nm-setting.c
8291                 - (uint64_to_gvalue): new function
8292                 - (nm_setting_populate_from_hash, nm_setting_hash,
8293                    default_setting_clear_secrets): handle UINT64 type
8294                 - con_table: add 'timestamp' member
8295
8296 2007-10-01  Dan Williams  <dcbw@redhat.com>
8297
8298         * src/nm-manager.c
8299                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
8300                         value when the connection can be activated immediately
8301
8302 2007-10-01  Dan Williams  <dcbw@redhat.com>
8303
8304         * libnm-glib/nm-device.c
8305                 - (nm_device_class_init): actually tell glib about the carrier-changed
8306                         signal
8307
8308 2007-10-01  Dan Williams  <dcbw@redhat.com>
8309
8310         * configure.in
8311           src/marshallers/Makefile.am
8312           src/marshallers/nm-marshal.list
8313           src/marshallers/nm-marshal-main.c
8314                 - Consolidate glib marshallers into one place
8315
8316         * src/dhcp-manager/Makefile.am
8317           src/dhcp-manager/nm-dhcp-manager.c
8318           src/supplicant-manager/Makefile.am
8319           src/supplicant-manager/nm-supplicant-manager.c
8320           src/supplicant-manager/nm-supplicant-interface.c
8321           src/ppp-manager/Makefile.am
8322           src/ppp-manager/nm-ppp-manager.c
8323           src/vpn-manager/Makefile.am
8324           src/vpn-manager/nm-vpn-connection.c
8325           src/Makefile.am
8326                 - Use consolidated marshallers
8327
8328         * src/dhcp-manager/nm-dhcp-marshal.list
8329           src/dhcp-manager/nm-dhcp-marshal-main.c
8330           src/supplicant-manager/nm-supplicant-marshal-main.c
8331           src/supplicant-manager/nm-supplicant-marshal.list
8332           src/nm-marshal-main.c
8333           src/nm-marshal.list
8334           src/ppp-manager/nm-ppp-marshal-main.c
8335           src/ppp-manager/nm-ppp-marshal.list
8336           src/vpn-manager/nm-vpn-marshal-main.c
8337           src/vpn-manager/nm-vpn-marshal.list
8338                 - Remove
8339
8340 2007-10-01  Dan Williams  <dcbw@redhat.com>
8341
8342         * include/NetworkManagerVPN.h
8343                 - define VPN connection state change reason codes
8344
8345         * src/vpn-manager/Makefile.am
8346           src/vpn-manager/nm-vpn-marshal.list
8347           src/vpn-manager/nm-vpn-marshal-main.c
8348                 - Add marshallers for StateChanged signal
8349
8350         * introspection/nm-vpn-connection.xml
8351                 - New Banner property
8352                 - StateChanged signal now includes a 'reason' argument
8353
8354         * src/vpn-manager/nm-vpn-connection.c
8355           src/vpn-manager/nm-vpn-connection.h
8356                 - Add a "Banner" property that contains the returned VPN server login
8357                         banner (if any); valid only in the ACTIVATED state
8358                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
8359                         a 'reason' argument and emits that reason along with the
8360                         state-changed signal
8361                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
8362                 - (nm_vpn_connection_ip4_config_get): save banner for later
8363                 - (nm_vpn_connection_get_banner, get_property,
8364                    nm_vpn_connection_class_init): implement Banner property
8365
8366         * src/vpn-manager/nm-vpn-service.c
8367                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
8368                         connection list because elements may get added/removed from it
8369                         while iterating over the list
8370                 - (connection_state_changed): signal now includes the 'reason' argument
8371
8372         * libnm-glib/nm-vpn-connection.c
8373           libnm-glib/nm-vpn-connection.h
8374                 - (nm_vpn_connection_get_banner): new function
8375                 - (state_changed_proxy): handle reason argument
8376
8377 2007-09-28  Tambet Ingo  <tambet@gmail.com>
8378
8379         * src/nm-manager.c:
8380         * src/nm-manager.h:
8381         Implement device activation through NMManager.
8382         Implement "pending device activation" here - If the connection isn't found,
8383         we try to wait for up to 5 seconds for the connection to be provided.
8384         Add NMConnectionType argument to "connection-added" and "connection-removed"
8385         signals.
8386         (nm_manager_get): Remove. Finally.
8387
8388         * src/nm-activation-request.c: 
8389         * src/nm-activation-request.h: 
8390         Remove all the deferred activation code.
8391
8392         * src/nm-device.c: Remove all the deferred activation code. Once the device
8393         activation is started, it's started. Update the activation virtual function
8394         signature.
8395
8396         * src/nm-device-interface.c:
8397         * src/nm-device-interface.h:
8398         Device activation now takes only NMActRequest argument.
8399         Don't expose device activation directly on dbus, it's supposed to go through
8400         NMManager now.
8401
8402         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
8403         a bit more compact.
8404         Use the new device activation methods through NMManager.
8405
8406         * introspection/nm-manager-client.xml: 
8407         * introspection/nm-manager.xml: 
8408         * libnm-glib/nm-client.c:
8409         * libnm-glib/nm-client.h:
8410         Add device activation method.
8411         
8412         * libnm-glib/nm-device.c: 
8413         * libnm-glib/nm-device.h: 
8414         * introspection/nm-device.xml: 
8415         Remove device activation method. It's done through NMManager now.
8416
8417         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
8418         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
8419
8420 2007-09-28  Dan Williams  <dcbw@redhat.com>
8421
8422         * libnm-glib/nm-vpn-connection.c
8423                 - (nm_vpn_connection_get_state): try to update state if the current
8424                         state is UNKNOWN
8425
8426 2007-09-27  Dan Williams  <dcbw@redhat.com>
8427
8428         Patch from Bill Nottingham
8429
8430         * src/supplicant-manager/nm-supplicant-config.c
8431                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
8432                         data to the supplicant
8433
8434 2007-09-27  Dan Williams  <dcbw@redhat.com>
8435
8436         * src/NetworkManagerSystem.c
8437                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
8438                         and all address manipulation here should be happening on the
8439                         _VPN_ device, not the active device
8440
8441 2007-09-26  Dan Williams  <dcbw@redhat.com>
8442
8443         * src/nm-manager.c
8444           src/nm-manager.h
8445           src/nm-activation-request.c
8446           src/nm-activation-request.h
8447                 - Move the GetSecrets stuff out of the NMManager instance because it
8448                         doesn't really need to be there and complicates things
8449
8450         * src/nm-device.c
8451                 - (connection_secrets_failed_cb, device_activation_go): connect to the
8452                         connection-secrets-failed signal and deactivate the device if
8453                         the GetSecrets call fails
8454
8455         * src/nm-device-802-11-wireless.c
8456                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8457                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
8458                         secrets and give correct hints about whether new secrets should be
8459                         asked for by the client or not
8460
8461 2007-09-26  Dan Williams  <dcbw@redhat.com>
8462
8463         * src/vpn-manager/nm-vpn-connection.c
8464                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
8465                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
8466                         to the secrets-updated signal of the NMConnection since updating
8467                         the secrets is done within the scope of the NMVPNConnection object
8468                         already
8469                 - (get_connection_secrets): fix an uninialized variable usage error
8470
8471 2007-09-26  Dan Williams  <dcbw@redhat.com>
8472
8473         * libnm-util/nm-setting.c
8474                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
8475                         actually get updated when the user enters them
8476
8477 2007-09-26  Dan Williams  <dcbw@redhat.com>
8478
8479         * libnm-glib/nm-vpn-plugin.c
8480                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
8481
8482 2007-09-26  Dan Williams  <dcbw@redhat.com>
8483
8484         * include/NetworkManagerVPN.h
8485                 - Add a NEED_AUTH state
8486
8487         * src/vpn-manager/nm-vpn-connection.c
8488                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
8489                         the connection needs secrets, and if so, then ask the settings
8490                         service to fill in the secrets.  Then start the connection.
8491
8492 2007-09-26  Dan Williams  <dcbw@redhat.com>
8493
8494         * src/vpn-manager/nm-vpn-manager.c
8495                 - (new_vpn_error, impl_vpn_manager_connect): set errors
8496
8497 2007-09-26  Dan Williams  <dcbw@redhat.com>
8498
8499         * introspection/nm-vpn-plugin.xml
8500           libnm-glib/nm-vpn-plugin.c
8501           libnm-glib/nm-vpn-plugin.h
8502                 - (impl_vpn_plugin_need_secrets): implement a call that should return
8503                         the name of the NMSetting in an NMConnection that may require
8504                         secrets specific to that VPN plugin
8505
8506 2007-09-26  Dan Williams  <dcbw@redhat.com>
8507
8508         * src/nm-manager.c
8509           src/nm-manager.h
8510                 - (nm_manager_get_connection_secrets): make static, unused outside
8511                         the file
8512                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
8513
8514 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8515
8516         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
8517         method.
8518         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
8519         unreference the connection.
8520
8521         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
8522         passing properties hash and routes string list, pass NMConnection (in hashed form).
8523
8524         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
8525         as GSList, no need to copy stuff around anymore.
8526         (nm_vpn_connection_activate): Update the plugin activation method.
8527
8528         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
8529         routes argument to GSList.
8530
8531 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8532
8533         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
8534         state and try to get the secrets.
8535
8536         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
8537         connections from NMManager and let the device to choose the best from the list.
8538         Since the connection list is sorted by system ones first and user ones later,
8539         the devices still prefer system connections like they did before.
8540         (deactivate_old_device): Implement. When a device starts activation, we have a
8541         policy (for now at least) to deactivate any other device that might be either
8542         active or still activating.
8543
8544         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
8545         It's set on construction, there will be no other way to access it.
8546
8547         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
8548         device events and drive the device, not the other way around.
8549
8550         * src/nm-device-802-3-ethernet.c: Ditto.
8551
8552         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
8553         sent along, pass it on to virtual functions.
8554
8555         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
8556         for now, but should really be public instead of nm_device_get_iface() since iface
8557         is a property of the DeviceInterface, not Device.
8558         (impl_device_activate): Don't touch NMManager!
8559
8560 2007-09-26  Jürg Billeter  <j@bitron.ch>
8561
8562         * initscript/paldo/NetworkManager.in:
8563         * initscript/paldo/NetworkManagerDispatcher.in:
8564         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
8565         (nm_system_flush_loopback_routes): update paldo backend
8566
8567 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8568
8569         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
8570         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
8571         which means none of the devices get brought down properly, which in turn leaves
8572         DHCP client running.
8573
8574         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
8575         (supplicant_connection_timeout_cb): Ditto.
8576
8577 2007-09-25  Dan Williams  <dcbw@redhat.com>
8578
8579         * src/nm-device.c
8580                 - (device_activation_go): small hack to work around race when
8581                         activating deferred connections; should solve this in a better way
8582
8583 2007-09-25  Dan Williams  <dcbw@redhat.com>
8584
8585         * introspection/nm-device.xml
8586           libnm-glib/nm-device.c
8587           libnm-glib/nm-device.h
8588                 - Add 'Carrier' property to exported NMDevice objects
8589
8590         * src/nm-device-interface.h
8591           src/nm-device-interface.c
8592           src/nm-device.c
8593                 - Add a 'carrier' property to internal NMDevice objects
8594
8595 2007-09-25  Dan Williams  <dcbw@redhat.com>
8596
8597         * src/nm-device-802-11-wireless.c
8598                 - (ap_auth_enforced): also return the encryption status of the AP so
8599                         that callers can differentiate easily between unencrypted APs
8600                         and encrypted ones, in addition to whether the AP has an
8601                         authenticator
8602                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8603                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
8604                         previously would request secrets from unencrypted APs at times
8605
8606 2007-09-25  Dan Williams  <dcbw@redhat.com>
8607
8608         * src/nm-manager.c
8609                 - (nm_manager_update_state): new function; updates state and emits
8610                         appropriate signals ensuring a state-change signal for the same state
8611                         never gets emitted twice in a row.
8612                 - (manager_device_state_changed): handle more device state to get a
8613                         better picture of the overall NM state
8614
8615 2007-09-25  Dan Williams  <dcbw@redhat.com>
8616
8617         * libnm-glib/nm-settings.c
8618           libnm-glib/nm-settings.h
8619                 - (new_error -> nm_settings_new_error): make public so that subclasses
8620                         can use the same error domain.  Also pass a valid error code to
8621                         g_error_new_literal() so that libdbus doesn't assert when converting
8622                         the GError into a DBusError
8623                 - (impl_settings_list_connections, impl_connection_settings_get_id,
8624                    impl_connection_settings_get_settings,
8625                    impl_connection_settings_get_secrets): use new error creator
8626                         function
8627
8628 2007-09-25  Dan Williams  <dcbw@redhat.com>
8629
8630         * src/NetworkManager.c
8631                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
8632
8633 2007-09-25  Dan Williams  <dcbw@redhat.com>
8634
8635         * src/supplicant-manager/nm-supplicant-manager.c
8636                 - (poke_supplicant_cb, nm_supplicant_manager_init,
8637                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
8638                    nm_supplicant_manager_startup): when the supplicant isn't running,
8639                         try to start it periodically via system bus activation.  Fixes
8640                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
8641                         for the supplicant to come back
8642
8643 2007-09-25  Dan Williams  <dcbw@redhat.com>
8644
8645         Ensure that old activation requests are forgotten about; previously
8646         hitting Cancel in the password dialog would deactivate whatever device
8647         that password was requested for, even if that wasn't the currently
8648         activating connection.
8649
8650         * src/nm-manager.c
8651           src/nm-manager.h
8652                 - (nm_manager_get_connection_secrets): track the pending call
8653                         object so it can be canceled later if needed
8654                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
8655                         GetSecrets call for a particular connection
8656
8657         * src/nm-activation-request.c
8658                 - (dispose): cancel any outstanding GetSecrets calls on the
8659                         connection
8660
8661 2007-09-25  Dan Williams  <dcbw@redhat.com>
8662
8663         * src/NetworkManagerPolicy.c
8664                 - (nm_policy_device_change_check): handle devices that have a
8665                         deferred activation.  These devices are not really active _yet_,
8666                         but need to be treated as such here.  Don't interrupt them
8667                         automatically.
8668
8669         * src/nm-device-interface.c
8670                 - (impl_device_activate): handle devices that have a deferred activation
8671                         like activating or active devices.  When multiple active devices
8672                         get committed, the device shouldn't be deactivated until the
8673                         connection details are available to avoid DoS and such.  Currently,
8674                         any active, activating, or deferred activation device is deactivated
8675                         here before starting the new activation request.
8676
8677 2007-09-25  Dan Williams  <dcbw@redhat.com>
8678
8679         Properly re-query secrets from the settings daemon when stuff fails.
8680
8681         * src/nm-device-802-11-wireless.c
8682                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8683                         between Shared Key and Open System auth modes
8684                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8685                    real_act_stage4_ip_config_timeout): clear existing secrets and
8686                         request new ones when something fails due to a suspected wrong key
8687                 - (real_act_stage2_config): fix for new request_new argument to
8688                         nm_manager_get_connection_secrets()
8689
8690         * src/nm-manager.c
8691           src/nm-manager.h
8692                 - (nm_manager_get_connection_secrets): return error status; pass
8693                         new request_new argument on to the settings daemon
8694
8695         * introspection/nm-settings-connection.xml
8696                 - New 'request_new' argument to the GetSecrets call that hints to the
8697                         settings daemon to ask the user for completely new secrets
8698
8699         * libnm-glib/nm-settings.c
8700           libnm-glib/nm-settings.h
8701                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8702                         argument
8703
8704 2007-09-25  Dan Williams  <dcbw@redhat.com>
8705
8706         * libnm-util/nm-connection.c
8707           libnm-util/nm-connection.h
8708                 - (nm_connection_clear_secrets): new function; clear secrets out of
8709                         each NMSetting in an NMConnection
8710
8711         * libnm-util/nm-setting.h
8712           libnm-util/nm-setting.c
8713                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8714                         secrets out of an NMSetting
8715                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8716                    nm_setting_wired_new, nm_setting_wireless_new,
8717                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8718                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8719                         to default handler default_setting_clear_secrets()
8720
8721 2007-09-25  Dan Williams  <dcbw@redhat.com>
8722
8723         * src/nm-activation-request.c
8724           src/nm-activation-request.h
8725                 - (nm_act_request_is_deferred): new function
8726
8727 2007-09-24  Dan Williams  <dcbw@redhat.com>
8728
8729         * src/nm-device-802-11-wireless.c
8730                 - (activation_success_handler): update signal strength immediately
8731                         after activation
8732
8733 2007-09-24  Dan Williams  <dcbw@redhat.com>
8734
8735         * libnm-util/nm-setting.c
8736                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8737
8738 2007-09-24  Dan Williams  <dcbw@redhat.com>
8739
8740         * src/NetworkManagerPolicy.c
8741                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8742                         device by deactivating it because it doesn't have a "best connection".
8743                         Since autoconnect=False connections aren't automatically chosen,
8744                         NM would interrupt activation of such a connection because it
8745                         would never be "best" due to autoconnect=False.
8746
8747 2007-09-24  Dan Williams  <dcbw@redhat.com>
8748
8749         * src/nm-manager.c
8750                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8751                         actually has some time to enter a key before the GetSecrets call
8752                         times out
8753
8754 2007-09-24  Dan Williams  <dcbw@redhat.com>
8755
8756         * introspection/nm-manager.xml
8757           src/nm-manager.c
8758                 - (impl_manager_legacy_state): fix 'state' method call return value
8759
8760 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8761
8762         * test/Makefile.am: Install nm-tool
8763
8764 2007-09-24  Dan Williams  <dcbw@redhat.com>
8765
8766         Patch from Ross Burton <ross@burtonini.com>
8767
8768         * test/nm-tool.c
8769           callouts/nm-dhcp-client-action.c
8770           src/nm-netlink.c
8771           src/vpn-manager/nm-vpn-connection.c
8772           libnm-glib/libnm-glib-test.c
8773                 - warning fixes
8774
8775 2007-09-24  Dan Williams  <dcbw@redhat.com>
8776
8777         * libnm-util/nm-utils.h
8778           libnm-util/nm-utils.c
8779                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8780                         remove, unused
8781
8782 2007-09-23  Dan Williams  <dcbw@redhat.com>
8783
8784         * vpn-daemons/vpnc/properties/nm-vpnc.c
8785                 - Update for new VPN properties API bits; instead of passing around
8786                         a lot of random things, everything goes into the NMConnection
8787                         object.
8788
8789 2007-09-23  Dan Williams  <dcbw@redhat.com>
8790
8791         * libnm-util/nm-setting.c
8792                 - Correctly dispose of settings objects if creating them from a hash
8793                         table fails
8794
8795 2007-09-23  Dan Williams  <dcbw@redhat.com>
8796
8797         * libnm-util/nm-setting.c
8798                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8799                         the hash table in a standard manner.  Clients of libnm-util should
8800                         only call g_hash_table_remove_all(), never destroy the hash table
8801                         and recreate it.
8802
8803 2007-09-22  Dan Williams  <dcbw@redhat.com>
8804
8805         * src/nm-device-802-11-wireless.c
8806                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8807                         real reason to do it so often, and reduces wakeups for clients.
8808
8809 2007-09-21  Dan Williams  <dcbw@redhat.com>
8810
8811         * src/nm-device-802-11-wireless.c
8812                 - (build_supplicant_config): wpa_supplicant requires the option
8813                         key_mgmt=NONE for unencrypted networks
8814                 - (real_act_stage2_config): clarify log message on activation
8815
8816 2007-09-21  Dan Williams  <dcbw@redhat.com>
8817
8818         * test/nm-supplicant-test.c
8819           test/Makefile.am
8820                 - Remove supplicant test binary; no longer applicable
8821
8822 2007-09-21  Dan Williams  <dcbw@redhat.com>
8823
8824         * src/supplicant-manager/nm-supplicant-manager.c
8825                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8826                         activate it on the system bus
8827
8828 2007-09-20  Dan Williams  <dcbw@redhat.com>
8829
8830         * initscript/RedHat/NetworkManager.in
8831                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8832
8833 2007-09-20  Dan Williams  <dcbw@redhat.com>
8834
8835         * src/nm-device.c
8836                 - (nm_device_is_activating): work around a race between auto-activation
8837                         and the user activating the same device that is being auto-activated
8838
8839 2007-09-20  Dan Williams  <dcbw@redhat.com>
8840
8841         * src/nm-device-interface.c
8842                 - (impl_device_activate): until multiple active device support lands,
8843                         ensure only one device can be active at a time
8844
8845 2007-09-20  Dan Williams  <dcbw@redhat.com>
8846
8847         * src/supplicant-manager/nm-supplicant-config.c
8848           src/supplicant-manager/nm-supplicant-config.h
8849                 - (nm_supplicant_config_add_option): hide secrets from system logs
8850
8851 2007-09-20  Dan Williams  <dcbw@redhat.com>
8852
8853         * src/NetworkManagerPolicy.c
8854                 - (nm_policy_device_change_check): re-enable the wireless device change
8855                         checking code; insted of checking for SSIDs, check for the same
8856                         connection instead
8857
8858 2007-09-20  Dan Williams  <dcbw@redhat.com>
8859
8860         * src/nm-device-802-11-wireless.c
8861                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8862                         composite link state when determining when to start the disconnection
8863                         timer; that link state is already based on the supplicant interface's
8864                         status which is exactly what's already being examined, plus the link
8865                         state is a conglomeration of various things that we don't want here
8866
8867 2007-09-20  Dan Williams  <dcbw@redhat.com>
8868
8869         * libnm-glib/nm-access-point.c
8870                 - (handle_property_changed): strength is a UCHAR
8871
8872 2007-09-20  Dan Williams  <dcbw@redhat.com>
8873
8874         * src/supplicant-manager/nm-supplicant-config.c
8875                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
8876                         string list keywords too since that's what wpa_supplicant wants
8877
8878 2007-09-20  Dan Williams  <dcbw@redhat.com>
8879
8880         * libnm-util/nm-setting.c
8881                 - (convert_strv_to_slist): dupe the values in the list because since
8882                         the list is a boxed value, it'll get destroyed when it's container
8883                         (like a hash table or whatever) gets destroyed
8884
8885 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8886
8887         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
8888         GSList.
8889
8890         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
8891
8892         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
8893         just use (g_object_set_data_full).
8894
8895         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
8896         that NMSettingVPN->routes is a GSList, convert it to char **.
8897         (nm_vpn_connection_ip4_config_get): Free routes when done.
8898         (nm_vpn_connection_activate): Ditto.
8899
8900         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
8901         (real_act_stage2_config): Use defined setting names.
8902
8903 2007-09-20  Dan Williams  <dcbw@redhat.com>
8904
8905         * src/nm-device-802-11-wireless.c
8906           src/nm-manager.c
8907           src/nm-manager.h
8908                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
8909                         so that the device can be deactivated if secrets are wrong
8910
8911 2007-09-20  Dan Williams  <dcbw@redhat.com>
8912
8913         * introspection/nm-settings-connection.xml
8914           libnm-glib/nm-settings.c
8915           libnm-glib/nm-settings.h
8916                 - Make GetSecrets asynchronous on the server side
8917
8918 2007-09-20  Dan Williams  <dcbw@redhat.com>
8919
8920         * src/nm-manager.h
8921           src/nm-device.c
8922                 - (nm_device_activate): actually check if a given connection
8923                         exists before assuming it doesn't
8924
8925 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8926
8927         * libnm-util/nm-connection.c (register_default_creators): Use defined
8928         setting names. Register NMSettingVPN and NMSettingVPNProperties.
8929
8930         * libnm-util/nm-setting.c: Define property name strings, use them.
8931         Implement NMSettingVPN and NMSettingVPNProperties settings.
8932         Implement NM_S_TYPE_GVALUE_HASH.
8933         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
8934         (setting_connection_verify): Rename 'devtype' property to 'type'.
8935
8936         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
8937         properties.
8938
8939         * src/vpn-manager/nm-vpn-service.c: Ditto.
8940
8941         * src/vpn-manager/nm-vpn-connection.c: Ditto.
8942
8943         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
8944         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
8945
8946         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
8947         names. NMSettingConnection->devtype got renamed to 'type'.
8948
8949         * src/nm-device-802-3-ethernet.c (find_best_connection):
8950         (real_get_best_connection): Ditto.
8951
8952         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
8953
8954         * libnm-glib/nm-vpn-manager.[ch]: Update.
8955
8956 2007-09-19  Dan Williams  <dcbw@redhat.com>
8957
8958         * src/NetworkManagerAP.c
8959           src/NetworkManagerAP.h
8960           introspection/nm-access-point.xml
8961                 - Change strength-changed signal into a properties-changed signal
8962                         for all properties, not just strength.  Export that signal over dbus
8963                         so listeners don't have to poll NM for changes.
8964                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
8965                         get exported over D-Bus, so break up the logic and let other bits
8966                         decided when to export the AP
8967                 - (nm_ap_new_from_ap): remove, unused
8968
8969         * src/nm-device-802-11-wireless.c
8970                 - (merge_scanned_ap): only export APs that are actually on the device
8971                         list, not every AP created internally
8972
8973         * libnm-glib/nm-access-point.c
8974           libnm-glib/nm-access-point.h
8975                 - Cache properties internally and only hit DBus when needed.  Get
8976                         property updates from NM signals
8977
8978 2007-09-16  Dan Williams  <dcbw@redhat.com>
8979
8980         * libnm-util/nm-connection.c
8981           libnm-util/nm-connection.h
8982                 - (nm_connection_for_each_setting_value): new function; iterate over
8983                         each setting's value and call a user-provided function with details
8984                         about that value
8985
8986         * libnm-util/nm-setting.c
8987           libnm-util/nm-setting.h
8988                 - (nm_setting_enumerate_values): new function; enumerate the values
8989                         of a specific NMSetting subclass for a user-provided function with
8990                         details about that value
8991                 - Change wep_tx_keyidx to a uint32
8992                 - Create settings value tables for each setting defining their type,
8993                         key name, offset into the NMSetting subclass' structure, and whether
8994                         they are required and/or a secret
8995                 - (nm_setting_populate_from_hash): generic function to populate an
8996                         NMSetting from a GHash table, make all settings use it
8997                 - (nm_setting_hash): generic function to derive a GHashTable from
8998                         an NMSetting object, make all settings use it
8999
9000 2007-09-14  Dan Williams  <dcbw@redhat.com>
9001
9002         Remove unused stuff in libnm-util
9003
9004         * configure.in
9005           libnm-util/Makefile.am
9006           libnm-util/cipher-private.h
9007           libnm-util/cipher-wep-ascii.c
9008           libnm-util/cipher-wep-ascii.h
9009           libnm-util/cipher-wep-hex.c
9010           libnm-util/cipher-wep-hex.h
9011           libnm-util/cipher-wep-passphrase.c
9012           libnm-util/cipher-wep-passphrase.h
9013           libnm-util/cipher-wpa-psk-hex.c
9014           libnm-util/cipher-wpa-psk-hex.h
9015           libnm-util/cipher-wpa-psk-passphrase.c
9016           libnm-util/cipher-wpa-psk-passphrase.h
9017           libnm-util/cipher.c
9018           libnm-util/cipher.h
9019           libnm-util/dbus-helpers.c
9020           libnm-util/dbus-helpers.h
9021           libnm-util/gnome-keyring-md5.c
9022           libnm-util/gnome-keyring-md5.h
9023           libnm-util/sha1.c
9024           libnm-util/sha1.h
9025           src/nm-device-802-11-wireless.c
9026           test/libnm-util/Makefile.am
9027           test/libnm-util/test-ciphers.c
9028           test/libnm-util/test-dbus-helpers.c
9029           test/libnm-util/test-inputs.h
9030                 - Removed
9031
9032 2007-09-14  Dan Williams  <dcbw@redhat.com>
9033
9034         * libnm-util/dbus-method-dispatcher.c
9035           libnm-util/dbus-method-dispatcher.h
9036                 - Remove, unused
9037
9038 2007-09-14  Dan Williams  <dcbw@redhat.com>
9039
9040         Implement deferred activation support in the device class.
9041
9042         * src/nm-device-interface.c
9043           src/nm-device-interface.h
9044                 - (nm_device_interface_activate): take more arguments to support
9045                         deferred activation; callers must pass one of (connection) OR
9046                         (service_name, connection_path)
9047                 - (impl_device_activate): connection validation is punted to the device
9048                         to be able to handle deferred activation.  Yes, this means errors
9049                         don't get returned from the Activate() dbus call, and yes, that
9050                         should be fixed somehow later.
9051
9052         * src/nm-device.c
9053           src/nm-device.h
9054                 - (clear_act_request): clear additional deferred activation stuff too
9055                 - (deferred_activation_timeout_cb): new function; clean up when
9056                         deferred activation times out.
9057                 - (deferred_activation_start_cb): new function; when the connection
9058                         finally becomes available, start device activation
9059                 - (nm_device_activate): attach to the right signals of the activation
9060                         request if we need to defer activation until the connection is valid
9061
9062         * src/NetworkManagerPolicy.c
9063                 - (nm_policy_device_change_check): update for additional arguments
9064                         required for nm_device_interface_activate().  Pass NULL for these
9065                         though because this function already knows exactly which
9066                         NMConnection to use
9067
9068 2007-09-14  Dan Williams  <dcbw@redhat.com>
9069
9070         Implement deferred activation handling in the NMActRequest class.  When a
9071         client wants to activate a device but must create the NMConnection details
9072         on the fly, there likely hasn't been enough time yet for NM to receive the
9073         new connection signal and grab all the connection details.  So the
9074         activation is deferred (and bounded by a timer) for a while, and if the
9075         connection appears within the window, it is activated.
9076
9077         * src/nm-activation-request.c
9078           src/nm-activation-request.h
9079                 - (nm_act_request_class_init): two new signals to support deferred
9080                         activation, to allow the listener to handle both timeout and success
9081                 - (nm_act_request_new_deferred): new function, starts the deferred
9082                         activation timeout handler and listens to the NMManager for
9083                         new-connection signals to notice when the connection comes in
9084
9085 2007-09-14  Dan Williams  <dcbw@redhat.com>
9086
9087         * src/nm-manager.h
9088           src/nm-manager.c
9089                 - (nm_manager_get_connection_service_name,
9090                    nm_manager_get_connection_dbus_path): get details about a connection
9091                         known internally by the NMManager
9092                 - (nm_manager_class_init): fix connection add/remove signal marshalers
9093                         because NMConnection is now a GObject subclass
9094                 - Use constant for the gobject data tag used on NMConnection objects for
9095                         storing the associated DBusGProxy
9096
9097 2007-09-14  Dan Williams  <dcbw@redhat.com>
9098
9099         * utils/Makefile.am
9100           utils/nm-utils.c
9101           utils/nm-utils.h
9102           src/supplicant-manager/Makefile.am
9103           src/dhcp-manager/Makefile.am
9104           src/backends/Makefile.am
9105           src/named-manager/Makefile.am
9106           src/ppp-manager/Makefile.am
9107           src/vpn-manager/Makefile.am
9108           test/libnm-util/Makefile.am
9109           test/test-common/Makefile.am
9110                 - Remove utils/; it was unused
9111
9112 2007-09-13  Dan Williams  <dcbw@redhat.com>
9113
9114         * libnm-glib/nm-vpn-manager.h
9115           libnm-glib/nm-vpn-manager.c
9116                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
9117
9118 2007-09-13  Dan Williams  <dcbw@redhat.com>
9119
9120         * src/nm-device-802-3-ethernet.c
9121                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
9122                         netlink monitor carrier signals on dispose, not bring down.  The
9123                         carrier signals should be handled over the entire lifetime of the
9124                         device anyway, not created/destroyed on up or down.
9125
9126 2007-09-13  Dan Williams  <dcbw@redhat.com>
9127
9128         * libnm-glib/nm-device.c
9129           libnm-glib/nm-device.h
9130                 - (nm_device_activate): take a connection object path rather than an
9131                         NMConnection because NMConnection isn't exported over D-Bus and
9132                         therefore it dbus-glib can't automatically get an object path from it
9133
9134 2007-09-13  Dan Williams  <dcbw@redhat.com>
9135
9136         * libnm-util/nm-setting.c
9137                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
9138
9139 2007-09-13  Tambet Ingo  <tambet@gmail.com>
9140
9141         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
9142
9143 2007-09-12  Tambet Ingo  <tambet@gmail.com>
9144
9145         * src/vpn-manager/nm-vpn-connection.[ch]: 
9146         * src/vpn-manager/nm-vpn-manager.[ch]:
9147         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
9148         dbus-glib, GObjects, signals etc.
9149
9150         * libnm-glib/nm-vpn-manager.[ch]: 
9151         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
9152         so much, rewrite these too.
9153
9154         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
9155         the new introspection files.
9156
9157         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
9158
9159         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
9160         the header with the same name from libnm-utils.
9161
9162         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
9163
9164         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
9165
9166         * introspection/nm-vpn-plugin.xml: Implement.
9167
9168         * introspection/nm-vpn-connection.xml: Implement.
9169
9170         * introspection/nm-vpn-manager.xml: Implement.
9171
9172         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
9173         the named manager argument, it can just as easily get it as the caller.
9174         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
9175
9176         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
9177
9178         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
9179
9180         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
9181         libnm-utils.
9182
9183         * libnm-util/nm-connection.c: Ditto.
9184
9185         * src/NetworkManagerMain.h: Remove, it's finally empty.
9186
9187         * configure.in: Remove utils/ from build.
9188
9189         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
9190         of hard-coded strings.
9191
9192         * utils/: Move it over to libnm-util.
9193
9194         * test/Makefile.am: Link against libnm-util now that util/ is gone.
9195
9196         * dispatcher-daemon/Makefile.am: Ditto.
9197
9198         * src/Makefile.am: Ditto.
9199
9200 2007-09-12  Dan Williams  <dcbw@redhat.com>
9201
9202         Wireless connections can be made with config data from the applet now.
9203         
9204         Yay.
9205
9206         * src/supplicant-manager/nm-supplicant-config.h
9207           src/supplicant-manager/nm-supplicant-config.c
9208                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
9209                 - (nm_supplicant_config_add_setting_wireless,
9210                    nm_supplicant_config_add_setting_wireless_security): new functions;
9211                         add key/value pairs from the settings objects to the supplicant
9212                         config
9213
9214         * src/nm-device-802-11-wireless.c
9215                 - (cull_scan_list): fix check to not prune currently associated AP
9216                 - (build_supplicant_config, real_act_stage2_config): call the functions
9217                         of the NMSupplicantConfig that parse settings objects rather than
9218                         doing it manually here
9219
9220 2007-09-12  Dan Williams  <dcbw@redhat.com>
9221
9222         * src/supplicant-manager/nm-supplicant-interface.c
9223           src/supplicant-manager/nm-supplicant-marshal.list
9224                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
9225                         "connection-error" signal arguments should be STRING not CHAR
9226
9227 2007-09-12  Dan Williams  <dcbw@redhat.com>
9228
9229         * src/NetworkManagerUtils.c
9230           src/NetworkManagerUtils.h
9231                 - (nm_utils_hexstr2bin): new function
9232
9233 2007-09-11  Dan Williams  <dcbw@redhat.com>
9234
9235         * src/nm-manager.c
9236                 - (connection_get_settings_cb): emit connection-added signal
9237                 - (connection_removed_cb): uncomment bits for system settings service,
9238                         send connection-removed when appropriate
9239                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
9240                         the stack by trying to g_object_set_data() on something that's
9241                         not a GObject; handle case where settings service returns
9242                         empty settings hash table
9243
9244 2007-09-11  Dan Williams  <dcbw@redhat.com>
9245
9246         * src/NetworkManagerPolicy.c
9247                 - (connection_added, connection_removed): trigger device change checks
9248                         on connection changes
9249
9250 2007-09-11  Dan Williams  <dcbw@redhat.com>
9251
9252         * src/nm-activation-request.c
9253                 - (connection_secrets_updated_cb): fix c&p error in signal emission
9254
9255 2007-09-11  Dan Williams  <dcbw@redhat.com>
9256
9257         * src/nm-device-802-11-wireless.c
9258                 - (real_connection_secrets_updated): fix erroneous check
9259
9260 2007-09-11  Dan Williams  <dcbw@redhat.com>
9261
9262         * introspection/nm-device.xml
9263           libnm-glib/nm-device.c
9264           libnm-glib/nm-device.c
9265                 - Fix Activate call argument borkage; Activate takes 3 arguments
9266
9267 2007-09-11  Dan Williams  <dcbw@redhat.com>
9268
9269         * libnm-glib/nm-access-point.c
9270           libnm-glib/nm-access-point.c
9271                 - (nm_access_point_get_frequency): now returns guint32 to match
9272                         property change on 2007-09-10
9273
9274 2007-09-11  Dan Williams  <dcbw@redhat.com>
9275
9276         * src/nm-device-802-11-wireless.c
9277                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
9278                         somewhere defines 'index' and I missed this one when I fixed the
9279                         shadow declaration errors earlier
9280
9281 2007-09-11  Dan Williams  <dcbw@redhat.com>
9282
9283         * libnm-util/nm-connection.c
9284                 - (nm_connection_update_secrets, need_secrets_check): move
9285                         802-11-wireless-security need_secrets checks to the setting object
9286                         itself, where it belongs
9287
9288         * libnm-util/nm-setting.c
9289           libnm-util/nm-setting.h
9290                 - (nm_setting_need_secrets): new function
9291                 - (setting_wireless_security_verify,
9292                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
9293                 - (setting_wireless_security_need_secrets): mostly copy code over
9294                         from nm-connection.c
9295
9296 2007-09-11  Dan Williams  <dcbw@redhat.com>
9297
9298         * libnm-util/nm-setting.c
9299           libnm-util/nm-setting.h
9300                 - (nm_setting_update_secrets): new function; add a virtual function that
9301                         subclasses can implement to update their secrets
9302                 - (setting_wireless_security_update_secrets): implement that function
9303                         for the 802-11-wireless-security subclass
9304
9305         * libnm-util/nm-connection.c
9306           libnm-util/nm-connection.h
9307                 - (nm_connection_update_secrets): update secrets for a Setting and
9308                         emit a signal on success
9309
9310         * src/nm-manager.c
9311           src/nm-manager.h
9312           src/nm-marshal.list
9313                 - (connection_get_settings_cb): enable system settings bits
9314                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
9315                         to request secrets from the settings dbus service and to
9316                         push those secrets to the NMConnection itself
9317
9318         * src/nm-activation-request.c
9319           src/nm-activation-request.h
9320                 - Attach to the 'secrets-updated' signal of the NMConnection that's
9321                         currently being activated, and proxy that signal to other listeners.
9322                         Goes through the activation request because the activation request
9323                         is the thing that manages the lifetime of the NMConnection that's
9324                         being activated.
9325
9326         * src/nm-device-802-11-wireless.c
9327                 - (real_connection_secrets_updated): implement the connection secrets
9328                         updated notification and restart activation when secrets are
9329                         received
9330                 - (real_act_stage2_config): request secrets from the settings dbus
9331                         service if secrets are needed
9332
9333         * src/nm-device.c
9334           src/nm-device.h
9335                 - (clear_act_request, nm_device_activation_cancel,
9336                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
9337                         where the activation request is cleared
9338                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
9339                         updated secrets signal of activation request and add a function
9340                         that subclasses can override to handle it easily
9341
9342 2007-09-11  Tambet Ingo  <tambet@gmail.com>
9343
9344         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
9345         removal of NetworkManagerAPList.
9346
9347 2007-09-10  Dan Williams  <dcbw@redhat.com>
9348
9349         * src/NetworkManagerAP.c
9350           src/NetworkManagerAP.h
9351           introspection/nm-access-point.xml
9352                 - Change 'freq' property to a guint32 instead of a double since we
9353                         weren't using the floating point bits anyway
9354
9355 2007-09-10  Dan Williams  <dcbw@redhat.com>
9356
9357         * NetworkManagerAP.c
9358           NetworkManagerAP.h
9359           NetworkManagerPolicy.c
9360           NetworkManagerSystem.c
9361           NetworkManagerUtils.c
9362           NetworkManagerUtils.h
9363           nm-device-802-11-wireless.c
9364           nm-device-802-3-ethernet.c
9365           nm-hal-manager.c
9366           nm-manager.c
9367           vpn-manager/nm-dbus-vpn.c
9368                 - Warning fixes; casts and removal of unused variables
9369
9370 2007-09-10  Dan Williams  <dcbw@redhat.com>
9371
9372         * include/NetworkManager.h
9373                 - Kill NMNetworkType; AP types don't matter any more
9374
9375         * src/NetworkManagerAPList.c
9376           src/NetworkManagerAPList.h
9377           src/Makefile.am
9378                 - Kill; NMAccessPointList has outlived it's usefulness
9379
9380         * src/NetworkManagerAP.c
9381           src/NetworkManagerAP.h
9382                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
9383                         functions; check if an NMConnection object is compatible with the
9384                         settings of this AP
9385                 - (freq_to_channel, channel_to_freq): utility functions for
9386                         channel <-> frequency conversion
9387
9388         * src/nm-device.c
9389           src/nm-device.h
9390                 - (nm_device_get_best_connection): pass the specific object around
9391                          (which might be the object path of a specific AP to connect to).
9392                          The get_best_connection() call should populate this on return
9393                          if needed (wireless does).
9394
9395         * src/nm-device-802-3-ethernet.c
9396                 - (real_get_best_connection): handle specific_object argument
9397
9398         * src/NetworkManager.c
9399           src/NetworkManagerMain.h
9400                 - Remove unused includes
9401
9402         * src/nm-device-802-11-wireless.c
9403           src/nm-device-802-11-wireless.h
9404                 - Convert the ap_list into a GSList from an NMAccessPointList
9405                 - No need for caching the 'activation_ap' since this is now determined
9406                         from the specific_object of the activation request, which is
9407                         populated from the get_best_connection() call or from a user request
9408                 - (nm_device_802_11_wireless_update_bssid): fix warning
9409                 - (get_wireless_capabilities): fix error message format arguments
9410                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
9411                 - (find_best_connection, real_get_best_connection): implement
9412                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
9413                         move here from NetworkManagerAPList
9414                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
9415                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
9416                         already verified earlier
9417                 - (real_act_stage2_config): use nm_connection_need_secrets()
9418
9419         * src/NetworkManagerPolicy.c
9420                 - (nm_policy_auto_get_best_device): handle specific objects
9421                 - (create_connection): remove; automatic connection creation functionality
9422                         is handled by the Connection objects
9423                 - (nm_policy_device_change_check): handle specific_object
9424
9425         * libnm-util/nm-connection.c
9426                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
9427
9428 2007-09-10  Dan Williams  <dcbw@redhat.com>
9429
9430         * src/nm-manager.c
9431                 - (query_connections): fix uninitialized variable problem that caused
9432                         segfault
9433                 - (nm_manager_add_device): take devices down on startup so that we can
9434                         be assured that nm_device_is_up() won't short-circuit the init
9435                         process.  Hack until the is_up check gets split into two pieces
9436                         that aren't behaviorally confusing.
9437
9438 2007-09-09  Dan Williams  <dcbw@redhat.com>
9439
9440         * introspection/nm-device.xml
9441                 - The 'Activate' method now takes 3 arguments, a service name for the
9442                 settings service (user or system), the object path of the connection
9443                 to activate, and the specific object to activate, if any
9444
9445         * src/nm-device-interface.c
9446                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
9447                 Add error bits
9448                 - (impl_device_activate): adapt to new Activate arguments; validate
9449                 the service name and get the Connection object from the NMManager
9450                 before starting to activate the device with the specified connection
9451
9452         * src/nm-device-802-3-ethernet.c
9453                 - (real_get_best_connection): find the best connection, or create a
9454                 default one if no existing connections can be used
9455
9456         * src/NetworkManagerPolicy.c
9457                 - (nm_policy_auto_get_best_device): Get the device's best connection
9458                 and only pick the device if it has one
9459                 - (nm_policy_device_change_check): disable wireless bits for now until
9460                 wireless get_best_connection() can be implemented (replacing "best_ap");
9461                 don't create a default connection here as the device subclass will do
9462                 that if needed
9463
9464         * src/nm-manager.h
9465           src/nm-manager.c
9466                 - (nm_manager_get): make NMManager a singleton and expose the getter
9467                 internally
9468                 - Rework internal NMManager connection handling to use the same
9469                 routines for both the system and user settings services.  Most calls
9470                 take a new NMConnectionType argument specifying either system or user
9471                 connections
9472                 - (nm_manager_get_connection_by_object_path): new function; get a
9473                 connection keyed on its object path
9474
9475         * src/NetworkManager.c
9476                 - (main): use nm_manager_get()
9477
9478 2007-09-09  Dan Williams  <dcbw@redhat.com>
9479
9480         * src/nm-device.h
9481           src/nm-device.c
9482                 - (nm_device_get_best_connection): new function; get best connection
9483                         for the device at that time
9484
9485 2007-09-09  Dan Williams  <dcbw@redhat.com>
9486
9487         * src/nm-device-interface.h
9488                 - Add NMDeviceInterfaceError with an UnknownConnection error
9489
9490 2007-09-09  Dan Williams  <dcbw@redhat.com>
9491
9492         Stupid mistake on my part; object path and interface for settings service
9493         and connection objects can be the same, only the service name must be
9494         different for the system and user settings services.
9495
9496         * include/NetworkManager.h
9497           src/nm-manager.c
9498           introspection/nm-settings-connection.xml
9499           introspection/nm-settings.xml
9500           libnm-glib/nm-settings.c
9501                 - (nm_connection_settings_init, query_user_connections,
9502                    new_connection_cb): Unify NetworkManagerSettings and Connection
9503                    interface name and object path
9504
9505 2007-09-06  Dan Williams  <dcbw@redhat.com>
9506
9507         * libnm-glib/nm-object.c
9508                 - (nm_object_get_string_property, nm_object_get_object_path_property,
9509                    nm_object_get_int_property, nm_object_get_uint_property,
9510                    nm_object_get_boolean_property, nm_object_get_byte_property,
9511                    nm_object_get_double_property, nm_object_get_byte_array_property):
9512                         clear GValues after copying their contents, fixes memory leaks
9513                         after every property access because dbus-glib copies the values
9514                         from the DBusMessage into the GValue already.
9515
9516 2007-09-06  Dan Williams  <dcbw@redhat.com>
9517
9518         * introspection/nm-access-point.xml
9519                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
9520                         them to be.  There's some magic property name parsing going on in
9521                         dbus-glib that breaks up property names based on studly-caps and
9522                         puts - between words.
9523
9524         * libnm-glib/nm-access-point.c
9525                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
9526                         Fix property names
9527
9528 2007-09-06  Dan Williams  <dcbw@redhat.com>
9529
9530         * src/nm-manager.c
9531                 - (nm_manager_user_connections_destroy): clear the user connections hash
9532                         table, don't destroy it
9533                 - (finalize): only destroy the hash table on NMManager finalization
9534
9535 2007-09-02  Dan Williams  <dcbw@redhat.com>
9536
9537         * include/NetworkManager.h
9538           libnm-glib/nm-settings.c
9539                 - defines for the user settings daemon D-Bus bits
9540
9541         * src/NetworkManager.c
9542                 - Remove stuff that referred to the old NetworkManagerInfo service
9543
9544         * src/vpn-manager/nm-dbus-vpn.h
9545                 - Move old NMI defines to the only place they are used still
9546
9547         * libnm-util/nm-connection.c
9548           libnm-util/nm-connection.h
9549           src/nm-activation-request.c
9550                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
9551
9552         * src/nm-manager.c
9553           src/nm-manager.h
9554                 - Get connections and their settings from the user settings daemon
9555                         at the appropriate times
9556
9557 2007-09-02  Dan Williams  <dcbw@redhat.com>
9558
9559         * libnm-util/nm-setting.c
9560                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
9561                 - (setting_wireless_hash): set the right value on the item
9562
9563 2007-09-02  Dan Williams  <dcbw@redhat.com>
9564
9565         * test/Makefile.am
9566           test/nminfotest.c
9567                 - Remove, no longer useful
9568
9569 2007-08-30  Dan Williams  <dcbw@redhat.com>
9570
9571         * src/Makefile.am
9572           src/NetworkManagerDbus.c
9573           src/NetworkManagerDbus.h
9574           src/vpn-manager/nm-dbus-vpn.c
9575                 - Remove, no longer necessary.  Move last bits to the only place its
9576                 used, in nm-dbus-vpn.c
9577
9578         * src/NetworkManagerAPList.c
9579           src/nm-device.c
9580           src/NetworkManager.c
9581           src/nm-device-802-11-wireless.c
9582           src/vpn-manager/nm-vpn-manager.c
9583           src/vpn-manager/nm-vpn-service.c
9584           src/NetworkManagerPolicy.c
9585           src/nm-manager.c
9586                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
9587                 that was message_is_error()
9588
9589 2007-08-30  Dan Williams  <dcbw@redhat.com>
9590
9591         * libnm-util/sha1.c
9592                 - Include config.h to get defines for endiannes (gnome.org #420216)
9593
9594 2007-08-30  Dan Williams  <dcbw@redhat.com>
9595
9596         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
9597
9598         * src/ppp-manager/Makefile.am
9599                 - use -fPIC (gnome.org #471825)
9600
9601 2007-08-29  Dan Williams  <dcbw@redhat.com>
9602
9603         * include/NetworkManager.h
9604                 - Keep NMConnection object path in sync
9605
9606         * libnm-glib/nm-settings.c
9607           libnm-glib/nm-settings.h
9608                 - Break D-Bus object registration out of the init function, because
9609                 every object that's exported over D-Bus needs to use the _same_
9610                 DBusConnection.  Otherwise, each object would get a different object
9611                 path tree and wouldn't be callable.
9612
9613 2007-08-29  Dan Williams  <dcbw@redhat.com>
9614
9615         * libnm-util/nm-setting.h
9616           libnm-util/nm-setting.c
9617           libnm-util/nm-connection.c
9618           src/NetworkManagerPolicy.c
9619                 - 'info' settings object should be 'connection' says the spec
9620                 at NetworkManagerConfigurationSpecification
9621
9622 2007-08-29  Dan Williams  <dcbw@redhat.com>
9623
9624         * libnm-glib/nm-settings.c
9625           libnm-glib/nm-settings.h
9626                 - make the dbus path a property of the object, and autogenerate it.
9627                 It can't be composed of the 'id' field becuase that's not available
9628                 yet during the GObject creation in nm_connection_settings_init()
9629
9630 2007-08-29  Dan Williams  <dcbw@redhat.com>
9631
9632         * introspection/nm-settings-connection.xml
9633           introspection/nm-settings.xml
9634                 - Service name -> NetworkManagerUserSettings because two services
9635                 can't share part of the same path.  I'm not really sure how we'll use
9636                 the same code with the system-settings daemon...
9637
9638 2007-08-28  Dan Williams  <dcbw@redhat.com>
9639
9640         * src/nm-device-interface.c
9641           src/nm-device-interface.h
9642                 - Kill one more bit of NMData
9643
9644 2007-08-28  Dan Williams  <dcbw@redhat.com>
9645
9646         * src/NetworkManagerSystem.h
9647           src/nm-device.c
9648           src/nm-device.h
9649           src/nm-hal-manager.c
9650           src/NetworkManager.c
9651           src/nm-device-802-11-wireless.c
9652           src/nm-hal-manager.h
9653           src/nm-device-802-3-ethernet.c
9654           src/vpn-manager/nm-vpn-service.h
9655           src/vpn-manager/nm-vpn-manager.c
9656           src/vpn-manager/nm-vpn-manager.h
9657           src/vpn-manager/nm-vpn-service.c
9658           src/nm-device-802-11-wireless.h
9659           src/NetworkManagerMain.h
9660           src/nm-device-802-3-ethernet.h
9661           src/backends/NetworkManagerGentoo.c
9662           src/backends/NetworkManagerPaldo.c
9663           src/backends/NetworkManagerFrugalware.c
9664           src/backends/NetworkManagerRedHat.c
9665           src/backends/NetworkManagerSlackware.c
9666           src/backends/NetworkManagerGeneric.c
9667           src/backends/NetworkManagerArch.c
9668           src/backends/NetworkManagerSuSE.c
9669           src/backends/NetworkManagerGeneric.h
9670           src/backends/NetworkManagerDebian.c
9671                 - Kill NMData
9672
9673 2007-08-28  Dan Williams  <dcbw@redhat.com>
9674
9675         * src/NetworkManagerMain.h
9676           src/nm-device-802-11-wireless.c
9677           src/NetworkManager.c
9678                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9679                 for now we should set the 'invalid' property on individual APs, and when
9680                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9681                 that ESS
9682
9683 2007-08-28  Dan Williams  <dcbw@redhat.com>
9684
9685         * src/NetworkManagerAP.c
9686           src/NetworkManagerAP.h
9687                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9688                         'autoconnect' property instead
9689
9690         * src/NetworkManager.c
9691           src/NetworkManagerMain.h
9692           src/NetworkManagerPolicy.c
9693           src/NetworkManagerPolicy.h
9694                 - Remove the 'allowed_ap_list', which should be replaced by 
9695                         NMConnection/NMSettings instead, since _those_ are the allowed
9696                         things that NM can connect to
9697
9698         * src/nm-device-802-11-wireless.c
9699                 - Remove both allowed_ap_list usage and 'fallback' checking
9700
9701 2007-08-28  Dan Williams  <dcbw@redhat.com>
9702
9703         * src/nm-device.c
9704           src/named-manager/nm-named-manager.c
9705           src/named-manager/nm-named-manager.h
9706           src/NetworkManager.c
9707           src/vpn-manager/nm-vpn-manager.c
9708           src/NetworkManagerMain.h
9709           src/NetworkManagerSystem.c
9710                 - Remove the named-manager object from NMData structure in preparation
9711                 for NMData's timely death.  Make the NMNamedManager the singleton that
9712                 it really is
9713
9714 2007-08-28  Dan Williams  <dcbw@redhat.com>
9715
9716         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9717         each AP's capabilities, and by NMConnection/NMSettings objects for user
9718         defined connections.
9719
9720         * include/NetworkManager.h
9721                 - Redefine 802.11 security properties.  There are now device capabilities
9722                         and AP flags and AP security flags.  It was way to unclear before.
9723
9724         * src/Makefile.am
9725           src/nm-ap-security-leap.h
9726           src/nm-ap-security-leap.c
9727           src/nm-ap-security-wpa-eap.c
9728           src/nm-ap-security-wpa-eap.h
9729           src/nm-ap-security-private.h
9730           src/nm-ap-security-wpa-psk.c
9731           src/nm-ap-security-wpa-psk.h
9732           src/nm-ap-security-wep.c
9733           src/nm-ap-security-wep.h
9734           src/nm-ap-security.c
9735           src/nm-ap-security.h
9736                 - Removed, to be replaced with NMConnection/NMSettings objects
9737
9738         * src/nm-dbus-nmi.c
9739           src/nm-dbus-nmi.h
9740                 - Removed, to be replaced by code that talks to the new info daemon
9741                         interface and gets NMConnection/NMSettings objects
9742
9743         * src/backends/NetworkManagerSuSE.c
9744                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9745                         info-daemon that does the same thing but talks the new info-daemon
9746                         D-Bus interface
9747
9748         * src/NetworkManagerAP.h
9749           src/NetworkManagerAP.c
9750           src/NetworkManagerAPList.c
9751           libnm-glib/libnm-glib-test.c
9752                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9753                         WPA/RSN
9754
9755         * libnm-glib/nm-access-point.c
9756           libnm-glib/nm-access-point.h
9757           introspection/nm-access-point.xml
9758           test/nm-tool.c
9759                 - Adjust to new flags for AP security
9760
9761         * utils/nm-utils.c
9762           utils/nm-utils.h
9763           src/vpn-manager/nm-dbus-vpn.c
9764                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9765                         stuff which is the only place it's used
9766
9767         * src/nm-device-interface.c
9768           src/nm-device-interface.h
9769           introspection/nm-device.xml
9770           src/nm-activation-request.c
9771           src/nm-activation-request.h
9772           src/nm-device.c
9773                 - Add a new 'specific_object' argument that hints to NM what actual
9774                         AP or other device-specific thing the connection should apply to.
9775                         NMConnection objects can apply to more than one actual device/AP.
9776
9777         * libnm-util/nm-connection.c
9778         * libnm-util/nm-connection.h
9779                 - Add 'have_secrets" call stubs
9780
9781         * libnm-util/cipher.h
9782                 - Move NM_AUTH_TYPE_* defines here for now
9783
9784         * src/nm-device-802-11-wireless.c
9785                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9786                         NMSettings objects
9787
9788         * src/NetworkManagerDbus.c
9789         * src/NetworkManagerPolicy.c
9790                 - Remove usage of update_allowed_networks, should be pushing data in
9791                         a different manner
9792
9793 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9794
9795         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9796         dbus-glib frees it when the call is done.
9797
9798 2007-08-26  Dan Williams  <dcbw@redhat.com>
9799
9800         * introspection/nm-device.xml
9801                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9802
9803 2007-08-26  Dan Williams  <dcbw@redhat.com>
9804
9805         * src/nm-device-802-3-ethernet.c
9806                 - (constructor): move connection of interface-connected/disconnected
9807                         signals here from real_bring_up().  Should be listening to netlink
9808                         for carrier events no matter what the initial state of the device
9809                         is.
9810
9811 2007-08-26  Dan Williams  <dcbw@redhat.com>
9812
9813         * src/nm-netlink-monitor.c
9814                 - (nm_netlink_monitor_class_init): fix marshalling types for
9815                         interface-connected/interface-disconnected
9816                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9817                         check
9818
9819 2007-08-26  Dan Williams  <dcbw@redhat.com>
9820
9821         Convert to using interface indexes as the primary method of identifying
9822         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9823         be renamed at any time.  Device object paths now refer to the device
9824         index rather than the name, and you can map those two manually if you like
9825         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9826         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9827         to use interface indexes rather than names.
9828
9829 2007-08-26  Dan Williams  <dcbw@redhat.com>
9830
9831         * src/nm-netlink-monitor.h
9832                 - Remove one last bit of wireless-event signal
9833
9834 2007-08-26  Dan Williams  <dcbw@redhat.com>
9835
9836         * src/nm-netlink-monitor.c
9837                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9838                         don't need the 'wireless-event' signal anymore since that's all
9839                         handled by wpa_supplicant
9840
9841 2007-08-25  Dan Williams  <dcbw@redhat.com>
9842
9843         It's 2007. Remove support for drivers that don't support wireless scanning.
9844
9845         * test/nm-tool.c
9846           include/NetworkManager.h
9847           src/NetworkManagerUtils.c
9848           src/NetworkManagerPolicy.c
9849           src/nm-device-802-11-wireless.c
9850                 - Remove special handling for non-scanning devices and mark them
9851                         as unsupported/unhandled
9852
9853 2007-08-20  Dan Williams  <dcbw@redhat.com>
9854
9855         * src/nm-device-802-11-wireless.c
9856           src/nm-device-802-3-ethernet.c
9857                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9858                         because when the card is pulled or the module removed, the device
9859                         is already !IFF_UP and then device-specific cleanup (removing
9860                         the supplicant interface, periodic checks, etc) never gets done
9861
9862 2007-08-20  Dan Williams  <dcbw@redhat.com>
9863
9864         * src/nm-manager.c
9865                 - (nm_manager_remove_device): bring device down before disconnecting
9866                         signal handlers, so that the 'state' signal will get broadcast when
9867                         the device enters the DOWN state
9868                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
9869                         of states that cause the NMManager to recheck its state
9870
9871 2007-08-20  Dan Williams  <dcbw@redhat.com>
9872
9873         * src/supplicant-manager/nm-supplicant-interface.c
9874                 - (interface_disconnect_done): don't try to dispose of the net proxy
9875                         when it may already have been disposed of
9876
9877 2007-08-20  Dan Williams  <dcbw@redhat.com>
9878
9879         * src/nm-device-802-11-wireless.c
9880                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
9881                         the SSID isn't available; this can happen when the card is pulled
9882                         or the module unloaded, during the post-removal deactivation
9883                         paths, when the ioctl returns ENODEV
9884
9885 2007-08-20  Dan Williams  <dcbw@redhat.com>
9886
9887         * src/nm-device-802-11-wireless.c
9888                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
9889                         frequency, and mode match.  Applets are now responsible for grouping
9890                         access points
9891
9892 2007-08-20  Dan Williams  <dcbw@redhat.com>
9893
9894         * src/NetworkManagerAP.c
9895         * src/NetworkManagerAP.h
9896                 - (nm_ap_print_self): new function
9897
9898         * src/NetworkManagerAPList.c
9899                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
9900                         to do it all here
9901         
9902 2007-08-17  Dan Williams  <dcbw@redhat.com>
9903
9904         * src/nm-device-802-3-ethernet.c
9905                 - (real_bring_down): don't try to dispose of stuff that might not
9906                         exist
9907
9908 2007-08-17  Dan Williams  <dcbw@redhat.com>
9909
9910         * src/NetworkManagerAP.c
9911                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
9912                         applet.  This ensures that the case between the seen-bssids and
9913                         the bssids reported by the driver match.
9914
9915 2007-08-17  Dan Williams  <dcbw@redhat.com>
9916
9917         * src/nm-device-802-11-wireless.c
9918                 - (device_cleanup): disconnect the interface in wpa_supplicant before
9919                         we dispose of the interface proxy in NM
9920
9921 2007-08-16  Dan Williams  <dcbw@redhat.com>
9922
9923         * libnm-glib/nm-client.c
9924                 - (nm_client_init): create VPN connections hash table with key free
9925                         function
9926                 - (proxy_vpn_connection_added): VPN connections hash table key should
9927                         be a duplicated value, not the same memory address as the VPN
9928                         connection name.  This is because the VPN connection name could
9929                         potentially be freed and set to something else during the lifetime
9930                         of the NMVPNConnection object.
9931
9932 2007-08-16  Tambet Ingo  <tambet@gmail.com>
9933
9934         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
9935         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
9936         with the file descriptors. Send a child setup function to change the pppd
9937         progress group.
9938
9939 2007-08-15  Dan Williams  <dcbw@redhat.com>
9940
9941         * src/supplicant-manager/nm-supplicant-interface.c
9942                 - (try_remove_iface): new function, ask wpa_supplicant to remove
9943                         an interface
9944                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
9945                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
9946                         happens on hotplug if wpa_supplicant doesn't tear down and readd
9947                         the interface internally
9948
9949 2007-08-15  Dan Williams  <dcbw@redhat.com>
9950
9951         * src/nm-device-802-11-wireless.c
9952                 - (real_bring_down): move most of this function into device_cleanup()
9953                         so that it can be called from elsewhere
9954                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
9955                         and stuff on dispose.  These would normally get cleaned up when
9956                         the device is marked down and deactivated, but when the device is
9957                         hot-unplugged, it's already down and real_down() never gets run
9958
9959 2007-08-15  Dan Williams  <dcbw@redhat.com>
9960
9961         * src/nm-dbus-nmi.c
9962                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
9963                         caused a reference leak on device for which NM requested a key
9964
9965 2007-08-15  Dan Williams  <dcbw@redhat.com>
9966
9967         * libnm-glib/nm-client.c
9968                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
9969
9970 2007-08-15  Tambet Ingo  <tambet@gmail.com>
9971
9972         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
9973         nothing is using it at the moment, but it'll be all useful and stuff later on.
9974
9975         * libnm-util/nm-setting.h: Define NMSettingPPP.
9976
9977         * libnm-util/nm-setting.c: Implement NMSettingPPP.
9978
9979         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
9980
9981         * src/Makefile.am: Add ppp-manager to SUBDIRS.
9982
9983         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
9984
9985         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
9986
9987 2007-08-14  Tambet Ingo  <tambet@gmail.com>
9988
9989         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
9990
9991         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
9992         an issue with dbus-glib bindings generator. The issue is, the generated C caller
9993         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
9994         name and different arguments and it won't compile anymore. To fix this, we now have
9995         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
9996         that is new API + compatibility API and used by the daemon. The other, 
9997         nm-manager-client.xml is only the new API without compatibility bits and is used
9998         by libnm-glib to make it compile.
9999
10000         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
10001
10002         * src/nm-manager.c (impl_manager_legacy_sleep)
10003         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
10004         interface functions for 0.6 branch.
10005
10006 2007-08-14  Dan Williams  <dcbw@redhat.com>
10007
10008         * src/NetworkManagerAP.c
10009                 - (nm_ap_new_from_properties): fix mistaken check of return value
10010                         from memcmp (should expect 0)
10011
10012 2007-08-14  Dan Williams  <dcbw@redhat.com>
10013
10014         (force-commit to fix wrong comment and partial commit of r2685; this
10015          commit actually applies to r2685)
10016
10017         * src/NetworkManagerUtils.c
10018                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
10019                         ignores trailing nulls in the SSID to work around mismatches in
10020                         expectations between WEXT and what the info-daemon passes back.  The
10021                         info-daemon would pass back the correct length, but due to the
10022                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
10023                         the device would always have an SSID + 1 depending on what versions
10024                         of wpa_supplicant, the kernel, and NM you have.  This was most often
10025                         visible by just quitting the applet and relaunching, which caused
10026                         NM to reassociated to the same network over again when reloading
10027                         the save networks.
10028
10029         * src/NetworkManagerPolicy.c
10030           src/NetworkManagerUtils.h
10031           src/nm-device-802-11-wireless.c
10032                 - Update for new parameter to nm_utils_same_ssid()
10033
10034 2007-08-14  Dan Williams  <dcbw@redhat.com>
10035
10036         * src/NetworkManagerAP.c
10037                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
10038                         I encountered a BSS that wasn't just hiding it's ESSID, it was
10039                         setting the BSSID to all 0s.  That confused the heck out of NM,
10040                         plus it's useless and probably out-of-spec.
10041
10042 2007-08-14  Dan Williams  <dcbw@redhat.com>
10043
10044         * callouts/Makefile.am
10045           src/dhcp-manager/nm-dhcp-manager.c
10046           src/dhcp-manager/nm-dhcp-manager.h
10047           src/dhcp-manager/Makefile.am
10048                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
10049
10050 2007-08-14  Dan Williams  <dcbw@redhat.com>
10051
10052         * src/dhcp-manager/nm-dhcp-manager.c
10053                 - (dhclient_run): don't pass -x to dhclient until we figure out if
10054                         it's really needed, get rid of unused xtra_args parameter
10055
10056 2007-08-14  Dan Williams  <dcbw@redhat.com>
10057
10058         * include/NetworkManagerVPN.h
10059           src/vpn-manager/nm-dbus-vpn.c
10060           src/vpn-manager/nm-dbus-vpn.h
10061           src/vpn-manager/nm-vpn-act-request.c
10062           src/vpn-manager/nm-vpn-act-request.h
10063           src/vpn-manager/nm-vpn-service.c
10064           src/vpn-manager/nm-vpn-service.h
10065           libnm-glib/nm-vpn-connection.c
10066           libnm-glib/nm-vpn-connection.h
10067           libnm-glib/nm-client.h
10068                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
10069                         NMVPNServiceState to clarify what they apply to
10070                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
10071                         NMVPNActStage -> NMVPNConnectionState for the same reason
10072
10073         * libnm-glib/nm-client.c
10074                 - Constant + type renames from above
10075                 - Properly handle NameOwnerChanged/manager_running signals
10076                         for NM service; only emit when state really changes
10077                 - Use hash tables correctly so that the key (which was previously owned
10078                         by the D-Bus message) now has the same lifetime as the value, since
10079                         the key is now taken from the the NMVPNConnection itself.  This
10080                         really fixes the double-VPN names in the applet
10081
10082 2007-08-13  Dan Williams  <dcbw@redhat.com>
10083
10084         Patch from Michael Biebl <biebl@debian.org>
10085
10086         * po/POTFILES.in
10087           po/POTFILES.skip
10088                 - Update for vpn-properties move
10089
10090 2007-08-13  Dan Williams  <dcbw@redhat.com>
10091
10092         * libnm-glib/nm-client.c
10093                 - Convert internal VPN connection tracking from a list to a hash table
10094                         to easily avoid duplicates
10095                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
10096                         must be freed by the caller, like nm_client_get_devices()
10097                 - (nm_client_remove_vpn_connection): don't let the removal signal
10098                         leak through for NMVPNConnection objects that aren't actually
10099                         tracked.
10100                 - (manager_running): throw away VPN connection list when NM goes away,
10101                         like with the device list
10102
10103 2007-08-13  Dan Williams  <dcbw@redhat.com>
10104
10105         * src/dhcp-manager/nm-dhcp-manager.c
10106                 - Stop any dhclient instance that might be already running for a
10107                         particular interface before starting an NM spawned dhclient.  Fixes
10108                         dhclient processes left over if NM crashes, stuff like that.
10109
10110 2007-08-13  Dan Williams  <dcbw@redhat.com>
10111
10112         * src/NetworkManagerAP.c
10113                 - (finalize): don't try to g_array_free (NULL, ...), which happened
10114                         when the AP wasn't broadcasting it's SSID
10115
10116 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
10117
10118         * include/NetworkManager.h: added DBus path for connection settings.
10119
10120         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
10121         nm_connection_settings_signal_updated,
10122         nm_connection_settings_signal_removed): new functions to wrap the
10123         objects' signals.
10124         (nm_connection_settings_init): register GObject with DBus.
10125         (nm_connection_settings_get_dbus_object_path): new function.
10126
10127         * libnm-glib/Makefile.am: added libnmutil to link flags.
10128
10129 2007-08-13  Tambet Ingo  <tambet@gmail.com>
10130
10131         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
10132
10133         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
10134         libnm_glib directory got merged with libnm-glib/.
10135
10136         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
10137
10138         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
10139         Rename the library from libnm-glib to libnm_glib to maintain the library API
10140         compatibility with 0.6 branch.
10141
10142         * Makefile.am: Remove gnome/ SUBDIR.
10143
10144         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
10145
10146         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
10147
10148         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
10149
10150         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
10151         anymore.
10152         Remove checks for wpa_supplicant binary, it's used over dbus.
10153         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
10154
10155         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
10156         Link the binaries with libnm_glib.la.
10157
10158 2007-08-12  Dan Williams  <dcbw@redhat.com>
10159
10160         * src/NetworkManagerPolicy.c
10161                 - (nm_policy_device_change_check): fix policy to deactivate old device
10162                         before activating new one, at least until the multiple active
10163                         device support lands
10164
10165 2007-08-12  Dan Williams  <dcbw@redhat.com>
10166
10167         * src/NetworkManagerPolicy.c
10168                 - (nm_policy_new): hook up to connection-added / connection-removed
10169                         signals instead of connections-changed
10170
10171 2007-08-12  Dan Williams  <dcbw@redhat.com>
10172
10173         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
10174         Robert Frank <rfrank@redhat.com>
10175
10176         * src/dhcp-manager/nm-dhcp-manager.c
10177           src/dhcp-manager/nm-dhcp-manager.c
10178           src/nm-device.c
10179                 - Spawn and communicate with dhclient directly, through means of a
10180                 custom dhclient callout script.  Process callout D-Bus signals
10181                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
10182                 sent via gobject signals rather than being driven by the dhcp manager
10183                 directly.
10184
10185 2007-08-12  Dan Williams  <dcbw@redhat.com>
10186
10187         * callouts/nm-dhcp-client-action.c
10188                 - (build_message): ignore non-DHCP-related environment variables
10189
10190 2007-08-12  Dan Williams  <dcbw@redhat.com>
10191
10192         * Makefile.am
10193           configure.in
10194           callouts/Makefile.am
10195           callouts/nm-dhcp-client-action.c
10196           callouts/nm-dhcp-client.conf
10197                 - Add dhclient-executed callout that takes the place of dhclient-script
10198                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
10199                 NM then listens for
10200
10201 2007-08-09  Tambet Ingo  <tambet@gmail.com>
10202
10203         [Based on patch by Helmut Schaa <hschaa@suse.de>]
10204
10205         * libnm-glib/nm-client.h:
10206         * libnm-glib/nm-object.h:
10207         * libnm-glib/nm-vpn-connection.h:
10208         * libnm-glib/nm-settings.h:
10209         * libnm-glib/nm-device.h:
10210         * libnm-glib/nm-ip4-config.h:
10211         * libnm-glib/nm-access-point.h:
10212         * libnm-glib/nm-device-802-3-ethernet.h:
10213         * libnm-util/nm-setting.h: 
10214         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
10215
10216         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
10217
10218         * libnm-glib/nm-access-point.c: Strength has type char.
10219
10220         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
10221         to fix build. GnomeDruid is deprecated in recent libgnomeui.
10222
10223         * introspection/nm-access-point.xml: Strength property is char, not int.
10224
10225         * src/NetworkManagerAP.c (set_property): Set strength from char.
10226         (get_property): Handle hidden APs (with empty SSID).
10227         Get strength value from char.
10228         (nm_ap_class_init): Strength property has char type.
10229
10230 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
10231
10232         * introspection/Makefile.am:
10233         * introspection/nm-settings.xml:
10234         * introspection/nm-settings-connection.xml: added Settings interfaces.
10235
10236         * libnm-glib/nm-settings.[ch]:
10237         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
10238         containing the DBus implementation.
10239
10240 2007-07-26  Dan Williams  <dcbw@redhat.com>
10241
10242         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
10243
10244         * src/NetworkManagerSystem.c
10245                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
10246                         same subnet (#437396)
10247
10248 2007-07-26  Dan Williams  <dcbw@redhat.com>
10249
10250         Patch from Kelemen Gábor <kelemeng@gnome.hu>
10251
10252         * gnome/vpn-properties/nm-vpn-properties.c
10253                 - Fix translatable strings (#445865)
10254
10255 2007-07-26  Dan Williams  <dcbw@redhat.com>
10256
10257         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
10258
10259         * configure.in
10260                 - Remove useless junk (#412530)
10261
10262 2007-07-10  Christopher Aillon  <caillon@redhat.com>
10263
10264         Patch from Robert Buchholz <rbu@gentoo.org>:
10265
10266         * configure.in:
10267         * Makefile.am:
10268         * introspection/Makefile.am:
10269         Make make distcheck work again.
10270
10271 2007-06-27  Dan Williams  <dcbw@redhat.com>
10272
10273         * Make SSIDs GByteArrays everywhere
10274         * Rename "essid" -> "ssid" everywhere that's appropriate
10275         * Refcount activation_ap member of the 802.11 wireless device class
10276
10277 2007-06-27  Tambet Ingo  <tambet@ximian.com>
10278
10279         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
10280
10281 2007-06-22  Tambet Ingo  <tambet@ximian.com>
10282
10283         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
10284         that we got a new AP when we just update existing AP properties.
10285
10286 2007-06-21  Tambet Ingo  <tambet@ximian.com>
10287
10288         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
10289
10290         * nm-utils.[ch]: Remove.
10291
10292         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
10293         objects for easy property access and dbus connection handling.
10294
10295         * libnm-glib/nm-client.c: Derive from NMObject.
10296
10297         * libnm-glib/nm-device.c: Ditto.
10298
10299         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
10300
10301         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
10302
10303         * libnm-glib/nm-ip4-config.c: Ditto.
10304
10305         * libnm-glib/nm-access-point.c: Ditto.
10306
10307         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
10308         comparision. Currently used by the device activation code to determine if the new
10309         activation is the same as the old one.
10310
10311         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
10312         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
10313         able to ask password for the AP.
10314
10315         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
10316         up if the device is already connected, tear down it's connection (if it isn't the
10317         same as new one) and start the activation.
10318
10319         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
10320
10321         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
10322         the issue where all APs are always listed as encrypted.
10323
10324         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
10325         their own registered paths.
10326
10327         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
10328         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
10329
10330 2007-06-13  Tambet Ingo  <tambet@ximian.com>
10331
10332         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
10333         (0 & 0 == 0, doh)
10334
10335         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
10336         because the handling code will cause the next state change and signal listeners
10337         get the signals in wrong order.
10338
10339         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
10340         correctly in case of pending activation.
10341
10342         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10343         Convert the essid byte array to string correctly, including the terminating NULL.
10344
10345         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
10346         mode with correct types.
10347
10348         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
10349         constructed info to dbus call instead of the activation request.
10350
10351 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10352
10353         Patch from Christian Persch <chpe@gnome.org>
10354
10355         * libnm-glib/Makefile.am:
10356         * dispatcher-daemon/Makefile.am:
10357         Use the correct variables, the correct paths, and correct ordering. (446315)
10358
10359 2007-06-11  Tambet Ingo  <tambet@ximian.com>
10360
10361         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
10362         argument. The activation request is easy to retrieve.
10363
10364         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
10365         just to be a convenient location for devices to store random stuff.
10366
10367 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10368
10369         Patch from Alex Smith <alex@alex-smith.me.uk>
10370
10371         * src/backends/NetworkManagerFrugalware.c:
10372         Update the FrugalWare backend to fix a few segfaults. (#392642)
10373
10374 2007-06-08  Tambet Ingo  <tambet@ximian.com>
10375
10376         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
10377
10378         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
10379         setting.
10380         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
10381
10382 2007-06-06  Tambet Ingo  <tambet@ximian.com>
10383
10384         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
10385         automagically.
10386         Implement NMSettingIP4Config.
10387         Finish NMSettingWired by adding all known members.
10388         (setting_wired_verify): Implement.
10389         Finish NMSettingWireless by adding all known members.
10390         (setting_wireless_verify): Implement.
10391
10392         * libnm-util/nm-connection.c: Register "ipv4" setting.
10393         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
10394         dump function, we can introspect the GHashTable which is used for sending connections
10395         over dbus.
10396
10397         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10398         Take GByteArray for essid, it's really not a string.
10399
10400         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
10401         Start DHCP request if setting is not passed or if it states that DHCP should be used.
10402         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
10403         means overriding the values we got from DHCP.
10404         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
10405         (nm_device_deactivate_quickly): Ditto.
10406
10407         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
10408         for debugging.
10409
10410 2007-05-07  Tambet Ingo  <tambet@ximian.com>
10411
10412         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
10413         NMConnection.
10414
10415         * libnm-glib/nm-device-802-11-wireless.c:
10416         (nm_device_802_3_ethernet_activate): Remove.
10417
10418         * libnm-glib/nm-device-802-3-ethernet.c
10419         (nm_device_802_3_ethernet_activate): Remove.
10420
10421         * libnm-glib/nm-device.c (nm_device_activate): Implement.
10422
10423         * src/nm-device-802-3-ethernet.c: Implement the new activation using
10424         NMConnection.
10425
10426         * src/nm-device-802-11-wireless.c: Store an activation AP once the
10427         activation has started.
10428         Implement the new activation using NMConnection.
10429
10430         * src/nm-activation-request.c: Store a generic connection object instead
10431         of a wireless-specific AP.
10432
10433         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
10434         on device type, create a device specific connection object suitable for
10435         device activation.
10436
10437         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
10438         specific check to validate the connection and on success start the
10439         activation.
10440
10441         * src/nm-device-interface.h: Add a activate virtual function to the
10442         interface definition.
10443
10444         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
10445         (impl_device_activate): Implement.
10446
10447         * introspection/nm-device.xml: Add a generic device activation interface
10448         that accepts an abstract NMConnection structure that has device-specific
10449         information in it.
10450
10451         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
10452         activation interface.
10453
10454         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
10455         activation interface.
10456
10457         * libnm-util/nm-connection.c: 
10458         * libnm-util/nm-connection.h: 
10459         * libnm-util/nm-setting.c:
10460         * libnm-util/nm-setting.h: Add.
10461
10462         * libnm-util/Makefile.am: Build the added files.
10463
10464         * src/nm-dbus-manager.c
10465         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
10466         DbusConnection argument from 'name-owner-changed' signal. The manager
10467         is already passed as a first argument to the signal and the connection
10468         is easy enough to get from it.
10469
10470         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
10471         Update the signature of the function.
10472
10473         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
10474         Ditto.
10475
10476         * src/NetworkManager.c: Ditto.
10477
10478         * src/named-manager/nm-named-manager.c
10479         (nm_named_manager_name_owner_changed): Ditto.
10480
10481         * src/supplicant-manager/nm-supplicant-manager.c
10482         (nm_supplicant_manager_name_owner_changed): Ditto.
10483
10484         * src/nm-hal-manager.c (name_owner_changed): Ditto.
10485
10486         * src/dhcp-manager/nm-dhcp-manager.c
10487         (nm_dhcp_manager_name_owner_changed): Ditto.
10488
10489         * src/nm-hal-manager.c: Add a list of device detectors and creators
10490         to make it easier to add new devices. Each device type has it's own
10491         entry in the table so adding new device types is only a matter of
10492         implementing a couple of functions, one for device detection and the
10493         other for device creation.
10494
10495 2007-04-25  Dan Williams  <dcbw@redhat.com>
10496
10497         * initscript/RedHat/NetworkManager.in: remove trailing backslash
10498                 (gnome.org #432401)
10499
10500 2007-03-30  Dan Williams  <dcbw@redhat.com>
10501
10502         * src/NetworkManagerSystem.c
10503                 - (nm_system_device_set_ip4_route): clean up and fix argument
10504                         to nm_dev_sock_open()
10505
10506 2007-03-28  Tambet Ingo  <tambet@ximian.com>
10507
10508         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
10509         data to correct types instead of always using string.
10510
10511         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
10512         _not_ have NM_802_11_CAP_PROTO_NONE.
10513         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
10514         is not set.
10515
10516 2007-03-27  Tambet Ingo  <tambet@ximian.com>
10517
10518         * libnm-glib/Makefile.am: Fix the build issue.
10519
10520 2007-03-26  Tambet Ingo  <tambet@ximian.com>
10521
10522         * libnm-glib/nm-vpn-connection.h: 
10523         * libnm-glib/nm-vpn-connection.c: Implement.
10524
10525         * libnm-glib/nm-client.c: Add VPN support.
10526
10527         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
10528         handler for VPN.
10529
10530         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
10531         on DBUS again.
10532
10533 2007-03-26  Dan Williams  <dcbw@redhat.com>
10534
10535         * src/NetworkManagerAPList.c
10536         * src/nm-device-802-11-wireless.c
10537         * src/NetworkManagerAP.c:
10538                 - Store last seen as glong instead of GTimeVal.
10539                 - Fix the upper bound of capabilities, it's a bitfield.
10540
10541 2007-03-16  Tambet Ingo  <tambet@ximian.com>
10542
10543         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
10544
10545         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
10546         "manager-running" signal that notifies the appearance/disappearance of NM.
10547         (nm_client_sleep): Implement.
10548
10549         * libnm-glib/nm-device.c:
10550         * libnm-glib/nm-device-802-11-wireless.c: 
10551         * libnm-glib/nm-device-802-3-ethernet.c: 
10552
10553         Don't inherit from DBusGProxy, add a proxy to private
10554         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
10555         for anything but their own dbus interface. DBusGProxy objects support only one
10556         interfaces and to work around this, NMDevice has spearate proxy for each dbus
10557         interface. The nice side effect of this change is that we do not create a new
10558         DBusGProxy object for each property access.
10559
10560 2007-03-15  Tambet Ingo  <tambet@ximian.com>
10561
10562         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
10563         with zeroes before passing them to functions - the functions never do that and
10564         reading the values back may produce wrong values.
10565         (real_bring_up): Store the signal handler id ...
10566         (real_bring_down): ... So that it can be removed here.
10567         Disconnect the supplicant interface here as well.
10568         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
10569         from the access point instead of old $device/Networks/$essid.
10570
10571         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
10572         device state is connected (instead of just having link/carrier).
10573
10574         * src/nm-activation-request.c: Don't store NMData in activation request, it's
10575         already easily accessible through the device.
10576
10577         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
10578         store it within the object.
10579         (nm_ap_get_dbus_path): Export it to public as well.
10580
10581         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
10582         of the singleton.
10583
10584 2007-03-12  Dan Williams  <dcbw@redhat.com>
10585
10586         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
10587         for non-carrier-detect capable devices, and useless for carrier-detect
10588         devices since we get notifications from netlink about carrier status anyway.
10589
10590         * src/nm-device-802-3-ethernet.c
10591                 - remove 'link_source_id' member from private data
10592                 - (probe_link): remove and collapse into real_update_link()
10593                 - (nm_device_802_3_periodic_update): remove
10594                 - (real_is_up): check for sup_iface rather than link_source_id
10595                 - (real_bring_up): return gboolean for success/fail; require that
10596                         sup_iface be valid for device bringup to succeed
10597                 - (real_bring_down): zero out link signal ids
10598
10599         * src/nm-device.c
10600                 - (nm_device_activate_stage2_device_config): fail activation if device
10601                         bringup fails
10602                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
10603                         fails
10604                 - (nm_device_bring_up): return success/fail
10605
10606         * src/nm-device.h
10607                 - bring_up now returns success/fail
10608
10609         * src/nm-device-802-11-wireless.c
10610                 - (real_bring_up): return success from bringup
10611
10612 2007-03-07  Dan Williams  <dcbw@redhat.com>
10613
10614         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
10615         * src/nm-ap-security-wpa-psk.c
10616                 - (real_write_supplicant_config): work with PSKs that may contain
10617                         zeros in the binary format rather than treating it as a string
10618
10619 2007-03-02  Tambet Ingo  <tambet@ximian.com>
10620
10621         * libnm-glib/nm-device-802-11-wireless.c
10622         (nm_device_802_11_wireless_get_capabilities): Implement.
10623
10624         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
10625
10626         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
10627
10628         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
10629         reply only if it's not NULL. Not sure why this started happening right now.
10630
10631         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
10632         code paths for when devices get removed on shutdown or when a device is just
10633         removed.
10634         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
10635         gets freed so any signal from a device (disconnected for instance) would invoke
10636         NMState update which would crash.
10637         (nm_manager_remove_device): Bring the device down when it gets removed.
10638
10639         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
10640         the unused dev_type.
10641
10642         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
10643         reference to the added device, NMManager will own it (if it wants).
10644
10645         * test/nm-tool.c: Rewrite using libnm-glib.
10646
10647         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
10648         We get signalled when it changes.
10649
10650         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
10651         when it changes.
10652
10653         * libnm-glib/nm-device.c: Cache the device state property.
10654
10655         * libnm-glib/nm-access-point.c: Cache the strength property.
10656
10657         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
10658         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
10659         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
10660         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
10661         the device is down, activating, or activated (in case of A/B/G cards).
10662         Remove some old dead ifdef'ed out code that used to configure wireless devices,
10663         it's all done through supplicant now.
10664
10665         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
10666         counting issues with pending calls which caused leaks and crashes when
10667         interface was removed (now that the interface actually gets removed).
10668
10669         * src/nm-call-store.c: Make a copy of data before running a foreach
10670         with user callback on it - The most common usage pattern is to cancel
10671         (and thus remove) all pending calls with foreach which would modify
10672         the hash table we're iterating over.
10673
10674         * src/nm-manager.c: When a device is added, make sure it is "up". When
10675         it's removed or disabled due to disabling wireless or networking, bring
10676         it down.
10677
10678         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10679
10680         * src/nm-device-802-11-wireless.c: 
10681         * src/nm-device-802-3-ethernet.c: 
10682         * src/nm-device.c:
10683                 - Remove "init" virtual function, all gobjects have a place for that
10684                   already (constructor).
10685                 - Replace "start" virtual function with "bring_up", devices can be
10686                   brought up and down more than just on startup now.
10687                 - Add "is_up" virtual function.
10688                 - Implement one way to bring a device down instead of previous 4 different
10689                   ways, each of witch did something different.
10690
10691         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10692         all it needs is the device interface.
10693
10694         Get rid of NMData.dev_list (3 members to go).
10695         Get rif of NMData in a lot of places.
10696
10697         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10698
10699 2007-02-23  Dan Williams  <dcbw@redhat.com>
10700
10701         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10702
10703         * src/NetworkManagerAP.c
10704                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10705                         OR-ing rather than AND-ing
10706
10707 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10708
10709         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10710         "network-removed" signals.
10711
10712         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10713
10714         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10715         when receiving the signal from dbus.
10716
10717         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10718         property.
10719
10720         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10721         deactivation of the previously activated device working again.
10722
10723         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10724         and setter.
10725
10726         * src/nm-device.c (nm_device_is_activated): Remove.
10727         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10728
10729         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10730         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10731         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10732         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10733         Remove NMNetworkStatus and NMActStage enums.
10734
10735 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10736
10737         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10738         Handle device state changes and disconnect VPN if it's device deactivates.
10739
10740         * src/nm-dbus-nm.c: 
10741         * src/nm-dbus-nm.h: 
10742         * src/nm-dbus-device.c: 
10743         * src/nm-dbus-device.c: 
10744         * src/nm-dbus-net.c: 
10745         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10746
10747         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10748
10749         * src/nm-device.c (nm_device_get_by_udi):
10750         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10751         implemented in the correct location (NMManager).
10752         Rip out all the test_device stuff.
10753
10754         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10755         failure handlers, it's all done by NMDevice already.
10756
10757         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10758         Remove the iochannel hack to route the unix signals to the main thread since
10759         we're not threaded anymore.
10760
10761         * src/NetworkManagerAP.c: Implement HWAddress property.
10762
10763         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10764         automatically with dbus-glib.
10765
10766         * src/nm-netlink-monitor.c: 
10767         * src/nm-netlink-monitor.h:
10768                 - Move it low in the class hierarchy, don't reference any NM types.
10769                 - Remove private data from the header.
10770                 - Use type safe checks in public API methods.
10771                 - Make it a singleton so we don't have to pass the single reference around.
10772
10773 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10774
10775         * introspection/nm-ip4-config.xml: Implement.
10776
10777         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10778
10779         * libnm-glib/nm-ip4-config.c:
10780         * libnm-glib/nm-ip4-config.c: Implement.
10781
10782         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10783         securities. APs reference security.
10784
10785         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10786         be exported over DBUS.
10787
10788         * src/nm-device-802-3-ethernet.c: Ditto.
10789
10790         * src/NetworkManagerAP.c:
10791         * src/NetworkManagerAP.h:
10792                 - Convert to GObject, export over DBUS.
10793
10794         * src/nm-ip4-config.h:
10795         * src/nm-ip4-config.h:
10796                 - Convert to GObject, export over DBUS.
10797
10798 2007-02-12  Dan Williams  <dcbw@redhat.com>
10799
10800         Patch from Helmut Schaa <hschaa@suse.de>
10801
10802         * vpn-daemons/pptp/configure.in
10803           vpn-daemons/pptp/Makefile.am
10804           vpn-daemons/openvpn/configure.in
10805           vpn-daemons/openvpn/Makefile.am
10806           vpn-daemons/vpnc/configure.in
10807           vpn-daemons/vpnc/Makefile.am
10808                 - Add --without-gnome switch which disables building gnome bits
10809
10810 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10811
10812         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10813
10814         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10815
10816         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10817         'HwAddress'.
10818
10819         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10820
10821         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10822
10823         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10824
10825         * src/:
10826                 - Remove old low-level dbus interface implementations and replace them
10827                   with dbus-glib one.
10828
10829         * configure.in:
10830                 - Require dbus-glib >= 0.72.
10831                 - Plug in new sources to build.
10832
10833         * libnm-glib/:
10834                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10835                   to make it more convenient to use from GObject based programs.
10836
10837         * introspection/:
10838                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10839
10840 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10841
10842         * src/nm-device-802-11-wireless.c:
10843                 - Add "network-added" and "network-removed" signals.
10844                 - Use gobject boilerplate macros to define the GObject.
10845                 - Implement wireless device activation.
10846                 - Remove activation_failure_handler and activation_success_handler
10847                   and instead listen on state-changed signals and run the same code
10848                   from there.
10849
10850         * src/nm-device.c:
10851                 - Implment NMDeviceInterface::deactivate.
10852                 - Remove activation_failure_handler and activation_success_handler
10853                   virtual methods. Each device which is interested in these events
10854                   can just listen on it's state changed signals.
10855
10856         * src/NetworkManagerPolicy.c:
10857                 - Move a bit more NMData usage to NMManager.
10858                 - Remove activation scheduling bits.
10859                 - Add listeners for wireless device's "network-added" and
10860                   "network-removed" signals.
10861                 - Listen device changed signals and deactivate currently activated
10862                   device when another device start activating (for now).
10863                 - Remove (nm_policy_schedule_device_change_check): There's never a need
10864                   for calling this, the policy code knows exactly when this should happen,
10865                   by listening on events from NMManager and NMDevices.
10866
10867         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
10868         Implement.
10869
10870         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
10871         method on the specific device instead of going to through policy code
10872         and determining the device type by passed in AP's existance.
10873
10874         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
10875         abstract NMDevice deactivation.
10876
10877 2007-02-08  Tambet Ingo  <tambet@ximian.com>
10878
10879         * src/NetworkManager.c:
10880                 - Set up all the shiny new managers.
10881
10882         * src/NetworkManagerPolicy.c:
10883                 - Add the beginnings of new NMPolicy code. Instead of requireing all
10884                   classes to call into policy code, make the policy code kind of like
10885                   a supervisor that monitors what's going on and drives the whole NM.
10886
10887         * src/nm-hal-manager.c: 
10888         * src/nm-hal-manager.h:
10889                 - Collect all libhal code scattered around NM to this one class.
10890                 - Listen libhal and NMManager events and add/remove devices to
10891                   NMManager.
10892
10893         * src/nm-manager.c:
10894         * src/nm-manager.h:
10895                 - Implment a replacement for NMData. NMData is now officially
10896                 deprecated.
10897
10898 2007-02-05  Tambet Ingo  <tambet@ximian.com>
10899
10900         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
10901         * src/supplicant-manager/nm-supplicant-interface.h
10902         * src/supplicant-manager/nm-supplicant-interface.c
10903         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
10904         argument to boolean from enum.
10905
10906         Make NMDevice abstract class, remove almost all references to it's
10907         subclasses (the last place gets removed with new policy manager). Add
10908         NMDeviceInterface (which NMDevice implements) so that when we have
10909         NMDevice exported over DBUS, there's a common NMDevice interface which
10910         all instances have, plus there's a device specific interface for each
10911         specific type.
10912         Remove functions (nm_device_is_802_3_ethernet) and
10913         (nm_device_is_802_11_wireless). There are already standard GObject macros
10914         for type safe checks.
10915         Use the updated supplican manager API.
10916
10917         * src/nm-device-interface.h: 
10918         * src/nm-device-interface.c: 
10919         * src/nm-call-store.h: 
10920         * src/nm-call-store.c: Implement.
10921
10922         * src/supplicant-manager/nm-supplicant-interface.c:
10923         * src/supplicant-manager/nm-supplicant-interface.h:
10924         * src/supplicant-manager/nm-supplicant-manager.c:
10925         * src/supplicant-manager/nm-supplicant-manager.h:
10926                 - Remove all private data type references from public header files.
10927                 - Remove all references to other NM classes, this class is just a
10928                   proxy between wpa_supplicant and NM so it doesn't have to know
10929                   any internals.
10930                 - Convert to dbus-glib bindings.
10931                 - Type safe checks for public methods' arguments.
10932                 - Store pending DBUS call ids to NMCallStore.
10933
10934         * src/supplicant-manager/nm-supplicant-config.c:
10935                 - Store config values in a GHashTable instead of GSList.
10936
10937         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
10938
10939         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
10940         singleton now.
10941
10942         * src/nm-device.c: Use the new DHCP manager API.
10943
10944         * src/nm-activation-request.c:
10945         * src/nm-activation-request.h:
10946                 - Remove all dhcp related properties and methods.
10947
10948         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
10949
10950         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
10951
10952         * src/dhcp-manager/nm-dhcp-manager.c:
10953         * src/dhcp-manager/nm-dhcp-manager.h:
10954                 - Convert it to GObject since we need to signal state changes.
10955                 - Remove all references to other NM classes, this class is one
10956                   of the lowest classes in our hierarchy.
10957                 - One less class to use NMActRequest.
10958                 - Make it singleton, one less user of NMData.
10959                 - Remove a couple of sleep() calls.
10960                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
10961                   One less class to use the NM's custom tailored signal handlig.
10962
10963         * Makefile.am: Generate marshallers, add them to build.
10964
10965 2007-02-02  Dan Williams  <dcbw@redhat.com>
10966
10967         * configure.in
10968           gnome/Makefile.am
10969           nm-applet.desktop
10970           Makefile.am
10971                 - Remove last bits referencing gnome applet
10972
10973 2007-02-02  Dan Williams  <dcbw@redhat.com>
10974
10975         * src/vpn-manager/nm-vpn-service.c
10976                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
10977                         and NBNS server addresses
10978
10979 2007-02-02  Tambet Ingo  <tambet@ximian.com>
10980
10981         * src/nm-dbus-manager.c:
10982         * src/nm-dbus-manager.h:
10983                 - Convert all internal DBUS code to use dbus-glib bindings.
10984                 - Remove GObject properties, we don't need them here.
10985                 - Don't explicitly set things to NULL after freeing, glib is
10986                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
10987                 - Make public API argument checks type safe.
10988                 - Remove unnecessary (and wrong) cast to GObject for the first
10989                   argument to g_signal_* calls - The first argument is a gpointer.
10990                 - Export DBusGConnection to other cool classes that (are going to)
10991                   use dbus-glib.
10992
10993 2007-01-26  Dan Williams  <dcbw@redhat.com>
10994
10995         * libnm-util/dbus-dict-helpers.c
10996           libnm-util/dbus-dict-helpers.h
10997                 - Coordinate style with wpa_supplicant version to minimize diff
10998                 - Add uint32 array support
10999                 - (nmu_dbus_dict_append_uint32_array): new function
11000                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
11001                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
11002                         version; allow adding string array elements individually
11003
11004         * test/libnm-util/test-dbus-dict-helpers.c
11005                 - Test uint32 arrays
11006
11007 2007-01-27  Jürg Billeter  <j@bitron.ch>
11008
11009         * src/backends/NetworkManagerPaldo.c
11010                 - (nm_system_update_dns): clear nscd hosts cache
11011
11012 2007-01-04  Dan Williams  <dcbw@redhat.com>
11013
11014         Threading removal related cleanups:
11015
11016         - Use the glib default main context.  Remove the device main context
11017                 member from NMDevice, and the main_context member from NMData.  Change
11018                 all the idle and timeout scheduler functions to use plain
11019                 g_idle_add() and g_timeout_add().
11020
11021         - As a side-effect of the first change, nm_dbus_manager_get() no longer
11022                 takes an argument; fix that up too.
11023
11024         - Remove all locking, which is useless since we no longer use threads.  For
11025                 example, nm_get_device_by_iface_locked() has been removed.  The global
11026                 device list lock, the AP List lock, and all static locks in
11027                 NetworkManagerPolicy.c have been removed.  The locking utility functions
11028                 in NetworkManagerUtils.c have also been removed.
11029
11030         - Other cleanups in spacing and code style
11031
11032 2007-01-01  Dan Williams  <dcbw@redhat.com>
11033
11034         Found by Bill Moss:
11035
11036         * src/supplicant-manager/nm-supplicant-interface.c
11037                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
11038                         the supplicant interface wasn't already disconnected.  Always
11039                         call removeNetwork and disconnect unless the supplicant interface
11040                         is in the DISCONNECTED or INACTIVE state.
11041
11042 2006-12-28  Dan Williams  <dcbw@redhat.com>
11043
11044         Use a single thread for everything.  With the move to wpa_supplicant
11045         and communication over D-Bus, there's no reason for multiple threads.
11046         Almost all of the blocking code has been removed, with one exception in
11047         the DHCP manager and a few in the VPN manager.  This commit removes the
11048         per-device worker thread and fixes activation cancellation in the absence
11049         of threads.  Further removal of thread-related code would be removing
11050         any locking code (like the device list lock) and simplification of logic
11051         around areas of code or data structures that are currently locked.
11052
11053         * autoip.c
11054           dhcp-manager/nm-dhcp-manager.c 
11055           nm-device-802-11-wireless.c
11056           nm-device-802-3-ethernet.c
11057           nm-device.c
11058           nm-device.h
11059                 - Remove usage of multiple threads
11060
11061 2006-12-19  Dan Williams  <dcbw@redhat.com>
11062
11063         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
11064         plus a few other patches from wpa_supplicant bugzilla.
11065
11066         * src/Makefile.am
11067           src/NetworkManagerPolicy.c
11068           src/NetworkManagerUtils.c
11069           src/NetworkManagerUtils.h
11070           src/nm-ap-security-leap.c
11071           src/nm-ap-security-wep.c
11072           src/nm-ap-security-wpa-eap.c
11073           src/nm-ap-security-wpa-psk.c
11074           src/nm-ap-security.c
11075           src/nm-ap-security.h
11076           src/nm-device-802-11-wireless.c
11077           src/nm-device-802-11-wireless.h
11078           src/supplicant-manager/nm-supplicant-config.c
11079           src/supplicant-manager/nm-supplicant-config.h
11080           src/supplicant-manager/nm-supplicant-interface.c
11081           src/supplicant-manager/nm-supplicant-interface.h
11082           src/supplicant-manager/nm-supplicant-marshal.list
11083           src/supplicant-manager/nm-supplicant-settings-verify.c
11084           src/supplicant-manager/nm-supplicant-settings-verify.h
11085                 - Move all connection management and association handling to
11086                         wpa_supplicant over dbus, rather than spawning a private copy
11087
11088 2006-12-19  Dan Williams  <dcbw@redhat.com>
11089
11090         * src/NetworkManagerPolicy.c
11091                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
11092                         better locking of the device change check handler ID.  Incorrect
11093                         locking was causing lost device change requests
11094
11095 2006-12-18  Dan Williams  <dcbw@redhat.com>
11096
11097         * libnm-util/dbus-dict-helpers.c
11098                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
11099                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
11100                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
11101
11102 2006-12-18  Dan Williams  <dcbw@redhat.com>
11103
11104         * gnome/libnm_glib/libnm_glib.c
11105                 - Change dbus_connection_close() -> dbus_connection_unref()
11106
11107 2006-12-11  Dan Williams  <dcbw@redhat.com>
11108
11109         * src/supplicant-manager/nm-supplicant-interface.c
11110                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
11111                         wpa_supplicant interface state
11112                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
11113                         state before transitioning to READY state
11114
11115 2006-12-04  Dan Williams  <dcbw@redhat.com>
11116
11117         * src/nm-device-802-11-wireless.c
11118                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
11119                         odd length of ESSID returned from ieee80211 stack-based drivers
11120
11121 2006-12-04  Dan Williams  <dcbw@redhat.com>
11122
11123         * src/nm-device-802-11-wireless.c
11124                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
11125                         IE handling blocks that cause mis-parsing of the IE
11126
11127 2006-12-04  Dan Williams  <dcbw@redhat.com>
11128
11129         * src/nm-device-802-11-wireless.c
11130                 - (init_supplicant_interface): new function; pull supplicant interface
11131                         setup code out into standalone function since it must be called from
11132                         two different places
11133                 - (real_init): sup_mgr is now in private object data; get and track
11134                         the supplicant manager object over the NMDevice subclass' lifetime
11135                         and register a signal handler for its state signals; only try to
11136                         initialize the supplicant interface if the supplicant manager is in
11137                         the IDLE state (and therefore is ready for requests)
11138                 - (request_wireless_scan): reschedule the scan request if (a) there is
11139                         no supplicant interface yet (meaning wpa_supplicant isn't running
11140                         or isn't ready yet), or (b) if the supplicant interface isn't ready
11141                         for requests yet
11142                 - (supplicant_iface_connection_state_cb): new function; stub for
11143                         handling supplicant interface connection state signals
11144                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
11145                         comes and goes
11146                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
11147                         supplicant manager object that's being tracked starting with this
11148                         commit
11149
11150 2006-12-04  Dan Williams  <dcbw@redhat.com>
11151
11152         * src/supplicant-manager/nm-supplicant-interface.c
11153                 - (nm_supplicant_interface_set_property): track signal handler ID
11154                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
11155
11156 2006-12-04  Dan Williams  <dcbw@redhat.com>
11157
11158         * src/supplicant-manager/nm-supplicant-interface.[ch]
11159                 - (nm_supplicant_interface_get_state): new function
11160
11161 2006-12-04  Dan Williams  <dcbw@redhat.com>
11162
11163         * src/supplicant-manager/nm-supplicant-interface.c
11164                 - (bssid_properties_cb): don't treat DBus errors as valid
11165                         scanned AP messages
11166
11167 2006-12-04  Dan Williams  <dcbw@redhat.com>
11168
11169         * src/supplicant-manager/nm-supplicant-interface.[ch]
11170                 - (nm_supplicant_interface_get_connection_state): new function
11171                 - define new supplicant connection states
11172                 - send a signal when the supplicant connection state changes
11173
11174 2006-12-03  Dan Williams  <dcbw@redhat.com>
11175
11176         * src/supplicant-manager/Makefile.am
11177           src/supplicant-manager/nm-supplicant-connection.h
11178           src/supplicant-manager/nm-supplicant-connection.c
11179           src/supplicant-manager/nm-supplicant-config.h
11180           src/supplicant-manager/nm-supplicant-config.c
11181           src/supplicant-manager/nm-supplicant-types.h
11182           src/supplicant-manager/nm-supplicant-interface.h
11183           src/supplicant-manager/nm-supplicant-interface.c
11184                 - Rename NMSupplicantConnection -> NMSupplicantConfig
11185
11186 2006-12-03  Dan Williams  <dcbw@redhat.com>
11187
11188         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
11189
11190         * po/POTFILES.in
11191           po/POTFILES.skip
11192                 - Move VPN-related translatables to .skip
11193
11194         * vpn-daemons/pptp/po/POTFILES.in
11195                 - Update with new translatables
11196
11197 2006-12-02  Dan Williams  <dcbw@redhat.com>
11198
11199         Patch from Christian Persch <chpe@gnome.org>
11200
11201         * gnome/applet/Makefile.am
11202           gnome/applet/applet-dbus-devices.c
11203           gnome/applet/applet-notifications.c
11204           gnome/applet/applet.c
11205           gnome/applet/applet.h
11206           gnome/applet/main.c
11207                 - Be a GtkStatusIcon on GTK+ >= 2.10
11208
11209 2006-12-02  Dan Williams  <dcbw@redhat.com>
11210
11211         * gnome/applet/applet.c
11212                 - (nma_update_info): fix two unecessary allocations
11213
11214 2006-12-02  Dan Williams  <dcbw@redhat.com>
11215
11216         Patch from Michael Biebl <biebl@teco.edu>
11217         * configure.in
11218           man/NetworkManager.1.in
11219           man/NetworkManagerDispatcher.1.in
11220           man/NetworkManager.8.in
11221           man/NetworkManagerDispatcher.8.in
11222                 - Add .SH NAME stanzas
11223                 - Move NM & NM Dispatcher manpages to section 8 (admin)
11224
11225 2006-12-02  Dan Williams  <dcbw@redhat.com>
11226
11227         Patch from Christian Persch <chpe@gnome.org>
11228
11229         * configure.in
11230                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
11231
11232 2006-11-29  Tambet Ingo  <tambet@ximian.com>
11233
11234         Patch by Timo Hoenig <thoenig@suse.de>:
11235         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
11236         DBUS-1.0.
11237
11238         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
11239         we can't use the one from the main source directory.
11240
11241 2006-11-27  Dan Williams  <dcbw@redhat.com>
11242
11243         Patch from Christian Persch <chpe@gnome.org>
11244
11245         * gnome/applet/applet-dbus-devices.c
11246                 - (hal_info_product_cb): fix memleak; free duped string.
11247                         Gnome.org #379908
11248
11249 2006-11-27  Dan Williams  <dcbw@redhat.com>
11250
11251         Patch from Christian Persch <chpe@gnome.org>
11252
11253         * gnome/applet/menu-items.c
11254                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
11255                         as gtk_progress_set_percentage is deprecated.  Should
11256                         work as far back as GTK+ 2.4.  Gnome.org #379780
11257
11258 2006-11-26  Dan Williams  <dcbw@redhat.com>
11259
11260         Scan using wpa_supplicant over DBus.
11261
11262         * src/nm-device-802-11-wireless.c
11263                 - remove wireless extensions netlink event handler bits
11264                         (wireless_event_helper, nm_device_802_11_wireless_event)
11265                 - remove wireless extensions scan event handler bits
11266                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
11267                         hex2byte, hex2num, request_and_convert_scan_results,
11268                         free_process_scan_cb_data, scan_results_timeout,
11269                         schedule_scan_results_timeout, cancel_scan_results_timeout)
11270                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
11271                         and request scans from the supplicant interface rather than directly
11272                 - Move functionality of convert_scan_results() to cull_scan_list() and
11273                         supplicant_iface_scanned_ap_cb()
11274                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
11275                         at the scan interval when the current scan has finished
11276                 - (supplicant_iface_state_cb): start scanning when the supplicant
11277                         interface enters the READY state, and stop scanning when it
11278                         enters the DOWN state
11279                 - (cull_scan_list): weed out old access points from the scan list
11280                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
11281                         point into an NMAccessPoint and merge it into the device's scan list
11282
11283         * src/supplicant-manager/nm-supplicant-interface.c
11284           src/supplicant-manager/nm-supplicant-interface.h
11285                 - Add a new signal "scan-result" which is issued when the supplicant
11286                         notifies NM that a scan has completed
11287                 - Add a new signal "scanned-ap" that notifies listeners of a new access
11288                         point found in the scan.  Called once for each access point that
11289                         the supplicant interface object receives from the supplicant as a
11290                         result of the "scanResults" method call
11291                 - (wpas_iface_query_scan_results): don't wait 4s before querying
11292                         for the initial scan results
11293                 - (scan_request_cb): new function; send listeners the result
11294                         (success, error) of a wireless scan request
11295                 - (nm_supplicant_interface_request_scan): new function; ask the
11296                         supplicant to perform an immediate wireless scan
11297
11298 2006-11-25  Dan Williams  <dcbw@redhat.com>
11299
11300         * src/supplicant-manager/Makefile.am
11301                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
11302                         add HAL cflags/includes and named-manager includes directory
11303
11304         * src/supplicant-manager/nm-supplicant-interface.h
11305                 - New state STARTING to handle transition from INIT to READY where
11306                         the addInterface pending call is still outstanding
11307
11308         * src/supplicant-manager/nm-supplicant-interface.c
11309                 - track pending calls differently since we may have more than one
11310                         going on at any given time
11311                 - request scan results from wpa_supplicant; but don't do it more often
11312                         than every 4 seconds.  Drivers that do background scanning
11313                         (like the 'ipw' drivers) send a continuous stream of scan completion
11314                         notifications, so we don't want to hammer the supplicant or dbus
11315                         with requests for all scan results every time we get a completion
11316                         notification.
11317
11318 2006-11-25  Dan Williams  <dcbw@redhat.com>
11319
11320         * src/supplicant-manager/nm-supplicant-types.h
11321                 - new file; move all supplicant manager object typedefs here for
11322                         #include sanity
11323
11324         * src/supplicant-manager/nm-supplicant-interface.c
11325           src/supplicant-manager/nm-supplicant-interface.h
11326                 - new file; an object that interfaces an NMDevice object to the
11327                         supplicant and handles signals from the supplicant.  This object
11328                         does all necessary DBus communication with wpa_supplicant.
11329
11330         * src/supplicant-manager/nm-supplicant-manager.c
11331           src/supplicant-manager/nm-supplicant-manager.h
11332                 - Actually do something.  Track the state of the wpa_supplicant service
11333                         and deal with its comings & goings.  Handle life events of
11334                         supplicant interfaces too.
11335                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
11336
11337         * src/supplicant-manager/nm-supplicant-connection.h
11338                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
11339
11340         * src/supplicant-manager/Makefile.am
11341                 - Add new files to build, and add libnm-util to includes
11342
11343         * src/nm-marshal.list
11344                 - New marshaler type: VOID:UINT,UINT
11345
11346         * src/nm-device-802-3-ethernet.c
11347                 - (real_init): grab a supplicant interface
11348                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
11349                 - (supplicant_iface_state_cb): new function, stub for handling
11350                         supplicant interface state changes
11351
11352         * src/nm-device-802-11-wireless.c
11353                 - (real_init): grab a supplicant interface
11354                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
11355                 - (supplicant_iface_state_cb): new function, stub for handling
11356                         supplicant interface state changes
11357
11358         * src/NetworkManager.c
11359                 - (main): create and keep the supplicant manager around for the lifetime
11360                         of NetworkManager
11361
11362         * src/Makefile.am
11363                 - Link to the supplicant manager sub-library and use the supplicant
11364                         manager includes
11365
11366 2006-11-25  Dan Williams  <dcbw@redhat.com>
11367
11368         Rework DBus manager signal handling to be more flexible.  Previously,
11369         only one signal handler could be registered for a particular interface.
11370         The DBus manager now reference counts DBus bus matches and allows multiple
11371         clients to register signal handlers for the same interface and sender.
11372
11373         * src/NetworkManager.c
11374                 - (main): track NMI signal handler ID and remove it when we quit
11375
11376         * src/NetworkManagerMain.h
11377                 - Keep track of NMI signal handler ID
11378
11379         * src/nm-dbus-manager.c
11380           src/nm-dbus-manager.h
11381                 - rework signal handling; each signal handler references one signal
11382                         match, but a signal match may be referenced by one or more
11383                         signal handlers.  Matches are refcounted and are destroyed when the
11384                         last signal handler that references the match is removed.  This is
11385                         necessary because two signal handlers may end up requiring the same
11386                         dbus bus match, so the match must live until the last signal handler
11387                         is destroyed (for example, with the wpa_supplicant network interface
11388                         dbus interface).
11389
11390         * src/dhcp-manager/nm-dhcp-manager.c
11391                 - (nm_dhcp_manager_new): track DHCP signal handler id
11392                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
11393
11394         * src/vpn-manager/nm-vpn-service.c
11395                 - (nm_vpn_service_add_watch): track VPN service signal handler id
11396                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
11397
11398 2006-11-25  Dan Williams  <dcbw@redhat.com>
11399
11400         Suggested by Helmut Schaa <hschaa@suse.de>
11401
11402         * src/vpn-daemons/nm-vpn-service.c
11403                 - (supplicant_child_setup): new function
11404                 - (supplicant_exec): make child process use a new process group id
11405
11406         * src/nm-device-802-11-wireless.c
11407                 - (nm_vpn_service_child_setup): new function
11408                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
11409                         process group id
11410
11411 2006-11-19  Dan Williams  <dcbw@redhat.com>
11412
11413         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
11414         * gnome/vpn-properties/nm-vpn-properties.c
11415                 - clean up after renamed VPN connection
11416
11417 2006-11-19  Dan Williams  <dcbw@redhat.com>
11418
11419         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
11420         * gnome/applet/applet-dbus-vpn.c
11421                 - (nma_dbus_vpn_properties_cb): sort VPN connections
11422
11423         * gnome/vpn-properties/nm-vpn-properties.c
11424                 - (init_app): sort VPN connections
11425
11426 2006-11-09  Dan Williams  <dcbw@redhat.com>
11427
11428         * src/NetworkManagerAPList.c
11429                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
11430                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
11431                 from the nm_ap_list_get_ap_by_address() call was incorrect and
11432                 broke hidden SSID matching.  Found by Bill Moss.
11433
11434 2006-10-25  Dan Williams  <dcbw@redhat.com>
11435
11436         * src/nm-dbus-nm.c
11437                 - (nm_dbus_nm_set_active_device): return an empty success message on
11438                         success, rather than falling through to the error case.
11439
11440 2006-10-25  Dan Williams  <dcbw@redhat.com>
11441
11442         * src/NetworkManagerUtils.c
11443                 - (nm_utils_supplicant_request_with_check): suppress messages for the
11444                         "SCAN" command
11445
11446 2006-10-24  Dan Williams  <dcbw@redhat.com>
11447
11448         Reduce the number of times the Gnome applet wakes up, especially when
11449         it's doing absolutely nothing and is hidden.  Initial patch by
11450         Chris Aillon.
11451
11452         * gnome/applet/applet-dbus.c
11453                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
11454                         kill the redraw timeout.  When NM starts up, start the redraw
11455                         timeout.  Also, if we get kicked off the bus for some reason,
11456                         start the reconnection timeout if one's not already running.
11457                 - (nma_dbus_init): better handling of error conditions, don't leak
11458                         a half-initialized dbus connection
11459                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
11460                         the applet's data, just call nm_dbus_init_helper()
11461                 - (nma_start_dbus_connection_watch): new function, starts a periodic
11462                         timeout that calls nma_dbus_connection_watcher()
11463                 - (nma_dbus_init_helper): if we get a successful connection, kill the
11464                         reconnection timeout, and don't start the reconnection timeout
11465                         unconditionally anymore
11466
11467         * gnome/applet/applet-dbus.h
11468                 - Expose nma_start_dbus_connection_watch()
11469
11470         * gnome/applet/applet.c
11471                 - (nma_update_state): no longer static, called from applet-dbus.c for
11472                         immediate UI updates on certain events
11473                 - (nma_set_running): new function; take over setting applet->running,
11474                         when not running (ie, NM is not active), don't activate the redraw
11475                         timeout because we're not showing the applet anyway.  When we are
11476                         running (ie, NM is active), and only when we're running, start the
11477                         redraw timeout.
11478                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
11479                         kill any reconnection timeout
11480                 - (nma_get_instance): move one-off dbus initialization code here since
11481                         nm_dbus_init_helper() gets called more than once, possibly by the
11482                         reconnection timeout function too.  And, when we start up, if we
11483                         can't get a connection to the bus, start the reconnection timeout.
11484                         But don't start the redraw timeout yet, only do that when we get
11485                         NM's state and find out if it's running or not.
11486
11487         * gnome/applet/applet.h
11488                 - Add the reconnection GSource ID
11489                 - Add prototypes for nma_set_running() and the no-longer-static
11490                         nma_update_state()
11491
11492 2006-10-24  Dan Williams  <dcbw@redhat.com>
11493
11494         * src/vpn-daemons/nm-dbus-vpnc.c
11495                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
11496                         pending call tracker
11497                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
11498                         pending call tracker; register one-vpn-connection update pending
11499                         call in pending call tracker
11500                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
11501                         update pending call in pending call tracker
11502                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
11503                         update pending call in pending call tracker; don't block waiting
11504                         for call to return
11505
11506 2006-10-19  Robert Love  <rml@novell.com>
11507
11508         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
11509           refresh the cache.
11510
11511 2006-10-14  Dan Williams  <dcbw@redhat.com>
11512
11513         * src/dhcp-manager/nm-dhcp-manager.c
11514                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
11515                 the dbus connection and the device object path rather than
11516                 constructing it inside both functions.  Saves a bit of memory
11517                 and clarifies a failure path.
11518                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
11519                 and allocate device path here rather than each of the two
11520                 functions above.
11521
11522 2006-10-13  Dan Williams  <dcbw@redhat.com>
11523
11524         * src/NetworkManager.c
11525                 - (nm_name_owner_changed_handler): handle NMI coming and going,
11526                 this somehow droppout in the refactor
11527
11528 2006-10-13  Dan Williams  <dcbw@redhat.com>
11529
11530         * Huge DBus refactor:
11531                 - Create a "DBus Manager" object which manages the connection and
11532                 sends signals on NameOwnerChanged and connection/disconnection events,
11533                 handles reconnection to the bus if NM gets kicked off, and abstracts
11534                 signal handling
11535                 - Remove DBusConnection members from places where they are no
11536                 longer needed due to the refactor, like the dbus-connection
11537                 property of the named manager, and from NMData
11538                 - Reformats a bunch of the code to gnome style
11539                 (8-space tabs, braces on same line as statement, 80-col width).
11540                 Consider it open season to reformat any bits to gnome style.
11541                 style that aren't already.
11542
11543 2006-10-13  Dan Williams  <dcbw@redhat.com>
11544
11545         * src/supplicant-manager/Makefile.am
11546                 - Add new files
11547
11548         * src/supplicant-manager/nm-supplicant-manager.[ch]:
11549                 - Make it a minimal GObject
11550
11551         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
11552                 - Verify settings destined for wpa_supplicant
11553
11554         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
11555                 - Minimal GObject to track wpa_supplicant controlled device
11556                 connections
11557
11558 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
11559
11560         * gnome/applet/applet.c: (nma_update_info),
11561         (nma_act_stage_to_pixbuf), (nma_update_state):
11562         Mark missing strings for translation. Fixes bug #343306.
11563
11564 2006-10-01  Dan Williams  <dcbw@redhat.com>
11565
11566         * src/vpn-manager/nm-vpn-manager.c
11567                 - (nm_vpn_manager_load_services): split and clean up
11568                 for readability and correctness.  Restrict VPN service
11569                 files to ending in ".name", as was meant from the
11570                 beginning (but not coded in).  Better error reporting.
11571
11572 2006-10-01  Dan Williams  <dcbw@redhat.com>
11573
11574         * utils/nm-utils.h
11575                 - Clean up formatting of debug/info/warning log messages
11576
11577 2006-09-27  Robert Love  <rml@novell.com>
11578
11579         Patch by Tambet Ingo <tambet@ximian.com>:
11580         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
11581           actually work.
11582
11583 2006-09-07  Dan Williams <dcbw@redhat.com>
11584
11585         * test/Makefile.am
11586           test/libnm-util/Makefile.am
11587           test/nm-supplicant-test.c
11588                 - Add test program emulating the way NM drives wpa_supplicant
11589                 to help debug supplicant issues
11590
11591 2006-08-24  Dan Williams <dcbw@redhat.com>
11592
11593         * configure.in
11594           src/Makefile.am
11595           src/supplicant-manager/Makefile.am
11596           src/supplicant-manager/nm-supplicant-manager.c
11597           src/supplicant-manager/nm-supplicant-manager.h
11598                 - Add skeleton bits of the wpa_supplicant manager
11599
11600 2006-08-24  Dan Williams <dcbw@redhat.com>
11601
11602         Patch from Ed Catmur:
11603         * src/NetworkManagerUtils.c
11604                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
11605                 if netmask is 0 (Gnome #352634)
11606
11607 2006-08-17  Robert Love  <rml@novell.com>
11608
11609         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
11610           package is now DBUS-enabled and listens for the NM signals.
11611
11612 2006-08-14  Dan Williams  <dcbw@redhat.com>
11613
11614         * Patch from Christian Persch <chpe gnome org>
11615         * configure.in
11616           po/LINGUAS
11617           vpn-daemons/openvpn/po/LINGUAS
11618           vpn-daemons/openvpn/configure.in
11619           vpn-daemons/pptp/po/LINGUAS
11620           vpn-daemons/pptp/configure.in
11621           vpn-daemons/vpnc/po/LINGUAS
11622           vpn-daemons/vpnc/configure.in
11623                 - Convert to LINGUAS method so translators don't have to modify
11624                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
11625                 0.35 or higher
11626
11627 2006-08-14  Dan Williams  <dcbw@redhat.com>
11628
11629         Patch from Alex Smith <alex.extreme2@gmail.com>
11630         * configure.in
11631           src/backends/Makefile.am
11632           src/backends/NetworkManagerFrugalware.c
11633                 - Add support for Frugalware
11634
11635 2006-08-13  Dan Williams  <dcbw@redhat.com>
11636
11637         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11638         * src/nm-device-802-11-wireless.c
11639                 - (supplicant_exec): spawn wpa_supplicant without debug spew
11640                 Gnome #346875
11641
11642 2006-08-13  Dan Williams  <dcbw@redhat.com>
11643
11644         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11645         * src/nm-ap-security.c
11646           src/nm-ap-security.h
11647                 - Add authentication_required bits for subclasses to specify whether
11648                 or not real authentication is required for connections, i.e. whether
11649                 the AP rejects us when an encryption key is wrong or not.
11650
11651         * src/nm-ap-security-wep.c
11652           src/nm-ap-security-wpa-eap.c
11653           src/nm-ap-security-wpa-psk.c
11654           src/nm-ap-security-leap.c
11655                 - Implement authentication_required appropriately for each method
11656
11657         * src/nm-device-802-11-wireless.c
11658                 - Be smarter about when to request a key; for example, using a wrong key
11659                 in WEP shared key mode previously just timed out and did not request
11660                 a new key
11661
11662 2006-08-13  Dan Williams  <dcbw@redhat.com>
11663
11664         * gnome/libnm_glib/libnm_glib.c
11665                 - dbus_connection_disconnect() -> dbus_connection_close() for
11666                 dbus >= 0.90
11667
11668 2006-08-07  Dan Williams  <dcbw@redhat.com>
11669
11670         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11671         * src/NetworkManagerSystem.c
11672                 - Respect specified MTU.  Gnome #344967
11673
11674 2006-08-07  Dan Williams  <dcbw@redhat.com>
11675
11676         * src/vpn-manager/nm-vpn-service.c
11677                 - Simplify print_vpn_config() arguments
11678
11679         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11680         * src/vpn-manager/Makefile.am
11681           src/vpn-manager/nm-vpn-service.c
11682                 - Add new API for passing VPN config options as a dict. Gnome #344967
11683
11684 2006-08-06  Dan Williams  <dcbw@redhat.com>
11685
11686         * gnome/applet/applet-dbus-devices.c
11687           gnome/applet/applet-dbus-vpn.c
11688           gnome/applet/applet-dbus.c
11689           gnome/applet/applet-dbus.h
11690           src/nm-dbus-nmi.c
11691           utils/nm-utils.c
11692           utils/nm-utils.h
11693                 - Make pending call tracking code generic,
11694                 so we can use it in NM as well as the applet
11695
11696 2006-08-06  Dan Williams  <dcbw@redhat.com>
11697
11698         * src/nm-activation-request.c
11699                 - Refcount pending call objects
11700
11701 2006-08-06  Dan Williams  <dcbw@redhat.com>
11702
11703         Patch from Christan Chiesa <christanc@gmail.com>
11704         * configure.in
11705                 - Tell sha1.c to use bigendian mode on PPC
11706
11707 2006-08-04  Robert Love  <rml@novell.com>
11708
11709         Glib Memory Slices!
11710         * configure.in: Require glib 2.10 or later.
11711         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11712           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11713           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11714           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11715           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11716           Memory Slices are the greatest thing since bread slices.
11717         * src/NetworkManagerAP.c: Also, fix memory leak.
11718
11719 2006-08-01  Robert Love  <rml@novell.com>
11720
11721         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11722
11723 2006-07-31  Robert Love  <rml@novell.com>
11724
11725         * src/backends/interface_parser.c: Declarations must begin the block.
11726
11727 2006-07-24  Dan Williams  <dcbw@redhat.com>
11728
11729         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11730         * src/backends/Makefile.am
11731           src/backends/NetworkManagerArch.c
11732           src/backends/NetworkManagerDebian.c
11733           src/backends/NetworkManagerGeneric.c
11734           src/backends/NetworkManagerGeneric.h
11735           src/backends/NetworkManagerGentoo.c
11736           src/backends/NetworkManagerPaldo.c
11737           src/backends/NetworkManagerRedHat.c
11738           src/backends/NetworkManagerSlackware.c
11739           src/backends/NetworkManagerSuSE.c
11740                 - Genericize common backend functions
11741
11742 2006-07-18  Robert Love  <rml@novell.com>
11743
11744         * configure.in: Add "--with-notify" option to allow disabling of
11745           libnotify support.
11746
11747 2006-07-13  Dan Williams  <dcbw@redhat.com>
11748
11749         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11750         * gnome/applet/applet.glade
11751           gnome/applet/Makefile.am
11752           gnome/applet/nm-gconf-wso.c
11753           gnome/applet/nm-gconf-wso-leap.c
11754           gnome/applet/nm-gconf-wso-leap.h
11755           gnome/applet/wireless-security-manager.c
11756           gnome/applet/wso-leap.c
11757           gnome/applet/wso-leap.h
11758           include/NetworkManager.h
11759           libnm-util/dbus-helpers.c
11760           libnm-util/dbus-helpers.h
11761           src/Makefile.am
11762           src/NetworkManagerAP.c
11763           src/nm-ap-security.c
11764           src/nm-ap-security-leap.c
11765           src/nm-ap-security-leap.h
11766                 - Add LEAP authentication support
11767
11768 2006-07-13  Dan Williams  <dcbw@redhat.com>
11769
11770         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11771         * configure.in
11772           src/backends/NetworkManagerArch.c
11773           src/backends/NetworkManagerDebian.c
11774           src/backends/NetworkManagerGentoo.c
11775           src/backends/NetworkManagerPaldo.c
11776           src/backends/NetworkManagerRedHat.c
11777           src/backends/NetworkManagerSlackware.c
11778           src/backends/NetworkManagerSuSE.c
11779                 - Convert hardcoding of 'ip' path to configure-time
11780                         detected one
11781
11782 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11783
11784         * configure.in: added ru to ALL_LINGUAS
11785
11786 2006-07-10  Dan Williams  <dcbw@redhat.com>
11787
11788         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11789         * src/nm-device.c
11790                 - (real_act_stage3_ip_config_start): don't infinite loop when
11791                         dhcdbd isn't running (Gnome #346845)
11792
11793 2006-07-09  Dan Williams  <dcbw@redhat.com>
11794
11795         * gnome/applet/applet.c
11796                 - (nma_destroy): don't pass NULL to notify_notification_close
11797                         (RH #197917)
11798
11799 2006-07-09  Dan Williams  <dcbw@redhat.com>
11800
11801         * gnome/applet/applet.c
11802                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11803
11804 2006-07-04  Tor Krill  <tor@krill.nu>
11805
11806         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11807         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11808         (nm_system_restart_mdns_responder), (ArchReadConfig),
11809         (nm_system_device_get_system_config):
11810                 - Explicitly check for DHCP configuration
11811                 - Check if daemons are running before starting them
11812
11813 2006-06-25  Dan Williams  <dcbw@redhat.com>
11814
11815         * libnm-util/dbus-dict-helpers.[ch]
11816           test/libnm-util/test-dbus-dict-helpers.c
11817                 - Add string array support
11818
11819 2006-06-24  Dan Williams  <dcbw@redhat.com>
11820
11821         * src/dhcp-manager/nm-dhcp-manager.c
11822                 - (nm_dhcp_manager_process_signal): clean up spacing
11823
11824 2006-06-21  Dan Williams  <dcbw@redhat.com>
11825
11826         * src/nm-dbus-device.c
11827                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11828                         through dbus
11829
11830 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11831
11832         * configure.in: Added 'lv' to ALL_LINGUAS
11833
11834 2006-06-19  Dan Williams  <dcbw@redhat.com>
11835
11836         * src/NetworkManagerAP.c
11837                 - Clarify usage of user_created
11838
11839         * src/nm-ap-security-wep.c
11840           src/nm-ap-security-wpa-eap.c
11841           src/nm-ap-security-wpa-psk.c
11842           src/nm-ap-security.c
11843           src/nm-ap-security.h
11844                 - s/user_created/adhoc, because we really do mean adhoc
11845
11846         Patch from Bernard Blackham <bernard@blackham.com.au>
11847         * src/nm-device-802-11-wireless.c         
11848                 - (supplicant_send_network_config): instead of user_created,
11849                         use adhoc, and do AP_SCAN 2 for adhoc networks
11850
11851 2006-06-18  Robert Love  <rml@novell.com>
11852
11853         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11854           we have a value to set.  Gconf generates a warning if `val' is NULL.
11855         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11856           unless we actually received a valid private key file passphrase or
11857           password.  Otherwise, we don't know to later ask the applet to pull
11858           the key from the keyring.
11859
11860 2006-06-17  Dan Williams  <dcbw@redhat.com>
11861
11862         * libnm-util/dbus-dict-helpers.[ch]
11863           test/libnm-util/test-dbus-dict-helpers.c
11864                 - Fixes for zero-length byte arrays
11865                 - Replace return values of 0 with FALSE for clarity
11866                 - Test zero-length byte arrays
11867
11868 2006-06-17  Dan Williams  <dcbw@redhat.com>
11869
11870         * libnm-util/dbus-dict-helpers.[ch]
11871           test/libnm-util/test-dbus-dict-helpers.c
11872                 - Add helpers for byte arrays
11873                 - Rework bits of the testcase
11874
11875 2006-06-16  Dan Williams  <dcbw@redhat.com>
11876
11877         * libnm-util/Makefile.am
11878         * libnm-util/dbus-dict-helpers.[ch]
11879                 - Add some helpers to take the pain out of using dict types in
11880                         dbus.
11881
11882         * test/libnm-util/Makefile.am
11883         * test/libnm-util/test-dbus-dict-helpers.c
11884                 - Test cases for the dict helper functions
11885
11886 2006-06-15  Robert Love  <rml@novell.com>
11887
11888         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
11889           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
11890           if there is no key to pass.
11891         * libnm-util/dbus-helpers.c: Given the above, we can trust always
11892           receiving a non-NULL key.
11893
11894 2006-06-14  Robert Love  <rml@novell.com>
11895
11896         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
11897           copy the strings.
11898
11899
11900 2006-06-14  Dan Williams  <dcbw@redhat.com>
11901
11902         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
11903         * src/nm-device-802-11-wireless.c
11904                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
11905                         or ones where the driver is unknown
11906                 - (supplicant_exec): don't wait for supplicant startup here
11907                 - (supplicant_interface_init): finer grained polling for supplicant
11908                         startup
11909
11910 2006-06-13  Robert Love  <rml@novell.com>
11911
11912         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
11913           if it is currently set to TRUE.  Otherwise, we will reset the value
11914           when we connect normally.
11915         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
11916           the old BSSID is valid, too.  The recently added ESSID check may not be
11917           sufficient (we can remove it?).  What we really want to catch is the
11918           case of going from all-zeros to the BSSID of some other network, which
11919           happens on failure.
11920
11921 2006-06-09  Dan Williams  <dcbw@redhat.com>
11922
11923         * src/NetworkManagerSystem.[ch]
11924                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
11925                         it was unused and pointless
11926                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
11927                         fix for set_up_down_with_iface change
11928
11929         * src/vpn-manager/nm-vpn-connection.c
11930                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
11931
11932         * src/backends/NetworkManagerPaldo.c
11933           src/backends/NetworkManagerRedHat.c
11934           src/backends/NetworkManagerSuSE.c
11935           src/backends/NetworkManagerArch.c
11936           src/backends/NetworkManagerDebian.c
11937           src/backends/NetworkManagerGentoo.c
11938                 - (nm_system_enable_loopback): use set_up_down_with_iface where
11939                         appropriate
11940                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
11941                         where appropriate
11942
11943 2006-06-09  Dan Williams  <dcbw@redhat.com>
11944
11945         Patch from Peter Jones:
11946         * src/nm-device-802-11-wireless.c
11947                 - (nm_device_802_11_wireless_update_bssid): make sure that the
11948                         SSID hasn't changed from what we expect before automatically
11949                         updating the saved BSSID from a new AP
11950
11951 2006-06-08  Robert Love  <rml@novell.com>
11952
11953         Add 'fallback' support.  NetworkManager will attempt to brute-force
11954         connect to networks marked as fallback if there are no better wireless
11955         connections available.  This is useful as a method of last resort, to
11956         work around driver problems, and for use with hidden networks.
11957         * gnome/applet/applet-dbus-devices.c,
11958           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
11959         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
11960           pass it on via DBUS.
11961         * gnome/applet/applet.c: No fallback by default.
11962         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
11963           Update other-network-dialog to add UI checkbox toggling fallback.
11964         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
11965           propery from AP object.  Add "fallback" property to AP object.
11966         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
11967         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
11968         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
11969           separate function.  Add get_best_fallback_ap() for returning an AP
11970           on which to attempt fallback.
11971         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
11972         * test/nm-set-fallback: New file.  Sets a given network as fallback.
11973
11974 2006-06-07  Robert Love  <rml@novell.com>
11975
11976         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
11977           checked that the return type was GCONF_VALUE_STRING, not the correct
11978           GCONF_VALUE_BOOL, and thus it never worked.
11979         * src/NetworkManagerAPList.c: Before concluding that two networks are
11980           identical based on their BSSID, make sure that the BSSID in question
11981           is actually valid.  Specifically, an empty or all zero BSSID does not
11982           cut it.
11983         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
11984           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
11985           similar invariant clean up.
11986
11987 2006-06-02  Robert Love  <rml@novell.com>
11988
11989         * gnome/applet/applet.c: Update copyright years.  Add Novell.
11990
11991 2006-05-28  Dan Williams  <dcbw@redhat.com>
11992
11993         * gnome/applet/applet.glade
11994           gnome/vpn-properties/nm-vpn-properties.glade
11995                 - Set window icons on dialogs  (Gnome.org #333420)
11996
11997 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
11998
11999         * gnome/vpn-properties/nm-vpn-properties.glade:
12000         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
12001         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
12002         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
12003                 - Make the VPN properties pages prettier and more HIG
12004                   compliant. Gnome Bug #336913.
12005
12006 2006-05-28  Dan Williams  <dcbw@redhat.com>
12007
12008         Patch from Christian Persch <chpe@gnome.org>
12009         * gnome/vpn-properties/nm-vpn-properties.c
12010         * gnome/vpn-properties/nm-vpn-properties.glade
12011                 - HIG-ification love  (Gnome.org #336846)
12012
12013 2006-05-28  Dan Williams  <dcbw@redhat.com>
12014
12015         Patch from Christian Persch <chpe@gnome.org>
12016         * configure.in
12017           gnome/vpn-properties/nm-vpn-properties.c
12018                 - (main): Fix option parsing.  Gnome.org #336847
12019
12020 2006-05-28  Dan Williams  <dcbw@redhat.com>
12021
12022         * gnome/vpn-properties/nm-vpn-properties.c
12023                 - (find_vpn_ui_by_service_name): protect against NULL service names
12024                 - (update_edit_del_sensitivity): protect against NULL service names
12025                         Gnome.org #341306
12026
12027 2006-05-28  Dan Williams  <dcbw@redhat.com>
12028
12029         Patch from Chris Fuller <crf@grandecom.net>:
12030         * src/nm-device-802-11-wireless.c
12031                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
12032                         don't dispose of wireless-specific stuff unless it is actually
12033                         initialized.  Gnome.org #341263
12034
12035 2006-05-28  Dan Williams  <dcbw@redhat.com>
12036
12037         * src/NetworkManagerPolicy.c
12038                 - (nm_policy_device_change_check): don't switch devices if the "best"
12039                         AP is essentially the same as the current activation request, but
12040                         the current activation request isn't done activating yet.  Fixes
12041                         multiple requests for keyring password on startup for Gnome applet.
12042                         Gnome.org #341297
12043
12044 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
12045
12046         * src/NetworkManager.c: use GOptions instead of getopt
12047         * configure.in: bump glib required version to >= 2.6 for GOption
12048           support
12049
12050 2006-05-25  Robert Love  <rml@novell.com>
12051
12052         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
12053           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
12054           instead of dumping ifdef's throughout the code.
12055         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
12056           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
12057           use nm_ioctl_info() in lieu.
12058
12059 2006-05-25  Robert Love  <rml@novell.com>
12060
12061         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
12062         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
12063           not using gcrypt.  Otherwise, we get a linker error.
12064
12065 2006-05-25  Robert Love  <rml@novell.com>
12066
12067         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
12068         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
12069           configure flag to disable building of the GNOME-based applet.
12070
12071 2006-05-25  Robert Love  <rml@novell.com>
12072
12073         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
12074           parameter from link, because it shadows a global variable with some
12075           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
12076           should never have exported to the entire system a common four letter
12077           word.  But we here at NetworkManager are team players.  Fixes
12078           GNOME bug #336532.
12079
12080 2006-05-25  Arangel Angov <ufo@linux.net.mk>
12081
12082         * configure.in: Added mk.po, Macedonian translation.
12083
12084 2006-05-24  Robert Love  <rml@novell.com>
12085
12086         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
12087           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
12088           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
12089
12090 2006-05-24  Robert Love  <rml@novell.com>
12091
12092         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
12093           libnm-util/Makefile.am, src/Makefile.am,
12094           vpn-daemons/openvpn/auth-dialog/Makefile.am,
12095           vpn-daemons/openvpn/properties/Makefile.am,
12096           vpn-daemons/pptp/auth-dialog/Makefile.am,
12097           vpn-daemons/pptp/properties/Makefile.am,
12098           vpn-daemons/vpnc/auth-dialog/Makefile.am,
12099           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
12100           user passed for --datadir, if anything, when setting the GNOME locale
12101           directory.  It should be a function of the specified datadir and not
12102           the prefix.
12103
12104 2006-05-24  Robert Love  <rml@novell.com>
12105
12106         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
12107           src/NetworkManager.c: Take care to call bindtextdomain with the
12108           location of msgid files.
12109         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
12110           files.
12111
12112 2006-05-22  Robert Love  <rml@novell.com>
12113
12114         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
12115           stage4_timeout on failure unless the wireless network is Ad-Hoc.
12116           99% of the time there is a real problem with wireless, and a
12117           seemingly successful connection via Zeroconf just confuses the user.
12118           And that 1% of the time the network is probably Ad-Hoc, anyhow.
12119
12120 2006-05-22  Robert Love  <rml@novell.com>
12121
12122         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
12123           autofs on interface up if NIS is configured.  On interface down, do
12124           nothing.
12125
12126 2006-05-22  Robert Love  <rml@novell.com>
12127
12128         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
12129           to avoid calling g_object_unref() on stale pointers on error in
12130           nma_icons_free().  This happens because we short-circuit loaded the
12131           icons on the first failure but then free all icons.  Normally we have
12132           no issue because the icons were zero'ed out malloc, but we have stale
12133           pointer data after nma_icon_theme_changed().
12134         * gnome/applet/main.c: Return error code if nma_new() failed.
12135
12136 2060-05-21  Dan Williams  <dcbw@redhat.com>
12137
12138         * initscript/NetworkManager.in
12139                 - Ensure both dhcdbd and named are started before NM
12140
12141 2006-05-21  Dan Williams  <dcbw@redhat.com>
12142
12143         * configure.in
12144                 - Bump version to 0.7 to signify we are in 0.7 development
12145
12146 2006-05-21  Dan Williams  <dcbw@redhat.com>
12147
12148         Patch from Adam Schreiber <sadam@clemson.edu>
12149         * gnome/vpn-properties/nm-vpn-properties.c
12150                 - (main): correct Gnome program name  (gnome.org #342498)
12151
12152 2006-05-21  Dan Williams  <dcbw@redhat.com>
12153
12154         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
12155
12156         * src/NetworkManagerDbus.[ch]
12157                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
12158                         clarify that function's argument should be an escaped dbus object
12159                         path, and look for path segment end before returning a match
12160         * src/nm-dbus-nm.c:
12161                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
12162
12163 2006-05-17  Robert Love  <rml@novell.com>
12164
12165         Functionality to differentiate Ad-Hoc networks from infrastructure
12166         networks in the applet, by displaying a special icon:
12167         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
12168         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
12169         * gnome/applet/menu-items.c: Set a special icon in the scan list for
12170           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
12171           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
12172           networks, encrypted or not.
12173         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
12174           accessor functions to get and set the mode of a given network,
12175           wireless_network_get_mode() and wireless_network_set_mode().
12176
12177 2006-05-17  Robert Love  <rml@novell.com>
12178
12179         Functionality to automatically add BSSIDs to the allowed-MAC list as
12180         one roams from access point to access point on a given network:
12181         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
12182           helper function to compare two ether_addr structures and return TRUE
12183           if they contain the same MAC address.
12184         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
12185           prototype.
12186         * src/nm-device-802-11-wireless.c: New function to update the BSSID
12187           stored with the current AP.  If the BSSID has indeed changed, we
12188           send it out to the applet, allowing the allowed-MAC list to grow
12189           automatically in response to roaming.
12190
12191 2006-05-16  Robert Love  <rml@novell.com>
12192
12193         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
12194           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
12195
12196 2006-05-13  Dan Williams  <dcbw@redhat.com>
12197
12198         * src/nm-device-802-3-ethernet.c
12199                 - (real_get_generic_capabilities): Don't ignore devices that can't do
12200                         carrier detect (Debian bug #366373)
12201
12202 2006-05-11  Dan Williams  <dcbw@redhat.com>
12203
12204         Patch from Michael Biebl <biebl@teco.edu>
12205         * src/backends/NetworkManagerDebian.c
12206                 - Debian backend fixups
12207
12208 2006-05-10  Robert Love  <rml@novell.com>
12209
12210         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
12211
12212 2006-05-09  Robert Love  <rml@novell.com>
12213
12214         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
12215           private certificate passphrase, if any, in the GNOME Keyring.
12216         * libnm-utils/dbus-helpers.c: Update.
12217
12218 2006-05-05  Dan Williams  <dcbw@redhat.com>
12219
12220         * src/nm-device-802-11-wireless.c
12221                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
12222                         nm_device_802_11_wireless_disable_encryption() since that's all
12223                         we use it for anymore; we don't ever set WEP keys ourselves.
12224                 - (real_deactivate_quickly): reset SSID and encryption keys
12225                 - (real_deactivate): move SSID and encryption key reset to
12226                         real_deactivate_quickly(), which gets run before us anyway
12227
12228 2006-05-05  Robert Love  <rml@novell.com>
12229
12230         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
12231           root has a wacky default of its own (or, more common, a user has a
12232           bad umask and uses su/sudo to restart NetworkManager).  Anything
12233           other than 0022 does not do what we want with, for example,
12234           resolv.conf.  This problem is amplified by our judicious use of
12235           fopen(), which uses mode 0666 -- implying that the only way to get
12236           the permissions we want is with a umask of 0022.
12237
12238 2006-05-05  Dan Williams  <dcbw@redhat.com>
12239
12240         * gnome/libnm_glib/libnm_glib.c
12241                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
12242                         to reconnect; instead wait a bit more with each reconnect attempt
12243                         up to a max of one minute.
12244
12245 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
12246
12247         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
12248           the WirelessNetwork structure using the proper function instead of
12249           just casting it directly to (const char *) (gnome.org #336991)
12250
12251 2006-05-03  Robert Love  <rml@novell.com>
12252
12253         * src/backends/NetworkManagerSuSE.c: Respect the variable
12254           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
12255           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
12256           to dynamically update /etc/resolv.conf.
12257
12258 2006-05-02  Peter Jones  <pjones@redhat.com>
12259
12260         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
12261
12262 2006-05-02  Robert Love  <rml@novell.com>
12263
12264         Patch by Timo Hoenig;
12265         * tests/nm-online.c: Print pretty status indicator as timeout winds
12266           down.  Also fix possible race between DBUS startup and failure
12267           return.
12268
12269 2006-05-01  Robert Love  <rml@novell.com>
12270
12271         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
12272           empty, too.
12273
12274 2006-04-27  Jeremy Katz  <katzj@redhat.com>
12275
12276         * src/nm-device.c (discover_device_type): Actually use the hal
12277         device type instead of ioctl poking
12278
12279 2006-04-26  Robert Love  <rml@novell.com>
12280
12281         * tests/nm-online.c: New file.  Simple utility that returns exit status
12282           noting whether the connection is offline or online.  If offline on
12283           start, it waits 30 seconds (or a command-line given value) for an
12284           online signal.  If it times out, it again returns offline.  This is
12285           useful for scripts that want to wait for network connections.
12286
12287 2006-04-25  Robert Love  <rml@novell.com>
12288
12289         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
12290           key mode (the authentication algorithm), e.g. open or shared, when we
12291           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
12292           only shared was broken.  If the user specified a shared key, set it
12293           explicitly, otherwise let wpa_supplicant go with the default.
12294
12295 2006-04-24  Dan Williams  <dcbw@redhat.com>
12296
12297         * src/nm-device-802-11-wireless.c
12298                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
12299
12300 2006-04-24  Dan Williams  <dcbw@redhat.com>
12301
12302         Commit the async scanning patch
12303
12304         * src/nm-device-802-11-wireless.c
12305                 - get rid of scan_mutex
12306                 - (wireless_event_helper): act on wireless scan events
12307                 - (real_start): schedule a pending scan
12308                 - (link_to_specific_ap): fake the link to the AP during a scan
12309                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
12310                         strength during scans
12311                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
12312                         nm_device_set_bitrate): unused with new scanning code, disable
12313                 - (nm_device_wireless_schedule_scan): removed
12314                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
12315                 - (request_and_convert_scan_results): new function; retrieve scan
12316                         results from the driver and schedule the processing function
12317                 - (scan_results_timeout): timeout triggered when card doesn't send
12318                         a scan results wireless event during a certain interval
12319                 - (schedule_scan_results_timeout): new function; schedule the scan
12320                         results timeout
12321                 - (cancel_scan_results_timeout): new function; cancel the scan
12322                         results timeout
12323                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
12324                         to do the scanning.  Otherwise, just request a scan but don't
12325                         grab results here; instead schedule a timeout for scan results and
12326                         let netlink notify us of scan completion events
12327                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
12328                 - (cancel_pending_scan): new function; cancel a pending wireless scan
12329                 - (supplicant_status_cb): ignore disconnect events while scanning
12330                 - (supplicant_exec): wait a bit longer for the supplicant to start up
12331                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
12332                         timeouts
12333                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
12334
12335 2006-04-24  Dan Williams  <dcbw@redhat.com>
12336
12337         * gnome/applet/applet-dbus.c
12338                 - Disable the pending call debug stuff, seems under control now
12339
12340 2006-04-20  Robert Love  <rml@novell.com>
12341
12342         Fix bug where hidden ESSID's would not show up in the applet, even
12343         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
12344         because nm_policy_device_list_update_from_allowed_list() would merge
12345         the data, putting a name to the hidden networks, but never notify NMI
12346         of the changes.  Simple fix is to invoke the function
12347         nm_dbus_signal_wireless_network_change() if we make a mapping.
12348         * src/NetworkManagerAPList.c: Call the function
12349           nm_dbus_signal_wireless_network_change() if we made a successful
12350           BSSID to ESSID mapping, notifying the applet of the "new" network.
12351         * src/NetworkManagerAPList.h: Update the prototypes for both
12352           nm_ap_list_copy_essids_by_address() and
12353           nm_ap_list_copy_one_essid_by_address().
12354
12355 2006-04-20  Robert Love  <rml@novell.com>
12356
12357         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
12358           not set.  Just return zero.
12359
12360 2006-04-20  Robert Love  <rml@novell.com>
12361
12362         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
12363           only one copy of nm-vpn-properties is running at a time via the 'ol
12364           X selection trick.  This prevents the user from opening two "VPN
12365           Connections" windows from within the applet, which leads to mass
12366           hysteria.
12367         * clipboard.c: New file, implementing simple X selection logic.
12368         * clipboard.h: New file.
12369         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
12370
12371 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
12372
12373         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
12374         * configure.in
12375           initscript/Gentoo/Makefile.am
12376           initscript/Gentoo/NetworkManagerDispatcher.in
12377                 - New script
12378         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
12379           Gentopia
12380
12381 2006-04-16  Dan Williams  <dcbw@redhat.com>
12382
12383         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
12384         * configure.in
12385           initscript/Slackware/Makefile.am
12386           initscript/Slackware/rc.networkmanager-dispatcher.in
12387           initscript/Slackware/rc.networkmanager.in
12388                 - Update slackware initscripts
12389
12390 2006-04-10  Robert Love  <rml@novell.com>
12391
12392         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
12393           the "delete_event" signal on the druid's parent window and handle it
12394           our way, lest using the WM to close the druid results in a series of
12395           bloody and ultimately lethal errors.
12396
12397 2006-04-10  Robert Love  <rml@novell.com>
12398
12399         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
12400           'Back' too or else the 'Forward' option is initially disabled despite
12401           valid input.
12402
12403 2006-04-06  Robert Love  <rml@novell.com>
12404
12405         Fix bad but simple bug where an active modem connection did not update
12406         NM's connection state, breaking any app that did online/offline:
12407         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
12408           represented whether a dial up connection is active, or not.
12409         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
12410           to modem activation and deactivation.
12411         * src/NetworkManagerDbus.c: When asked our state, do not return
12412           disconnected if the modem is active.
12413
12414 2006-04-04  Robert Love  <rml@novell.com>
12415
12416         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
12417           applet.  It just confuses the crap out of people and does not make a
12418           lot of sense, as the daemon still runs.
12419
12420 2006-04-02  Tor Krill  <tor@krill.nu>
12421
12422         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
12423           in start of service.
12424         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
12425           get Archlinux backend up to date.
12426
12427 2006-03-29  Robert Love  <rml@novell.com>
12428
12429         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
12430         to add support for per-route MSS and improve support for per-interface
12431         MTU:
12432         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
12433           optionally take an MSS parameter and set it for the given route.
12434           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
12435           NMIP4Config's stored MSS, if any.
12436         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
12437           the interface's MTU and the route's MSS, respectively.  Add functions
12438           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
12439           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
12440           MSS.
12441         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
12442           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
12443           nm_ip4_config_set_mss.
12444         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
12445           VPN daemon.
12446         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
12447           Change the retval of nm_system_get_mtu to guint32.
12448         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
12449           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
12450           servers can specify MTU's, we should set it here if the MTU was not
12451           provided.
12452
12453 2006-03-27  Jürg Billeter  <j@bitron.ch>
12454
12455         * configure.in:
12456         * initscript/Makefile.am:
12457         * initscript/paldo/Makefile.am:
12458         * initscript/paldo/NetworkManager.in:
12459         * initscript/paldo/NetworkManagerDispatcher.in:
12460         * src/backends/Makefile.am:
12461         * src/backends/NetworkManagerPaldo.c:
12462                 - Add paldo support
12463
12464 2006-03-27  Dan Williams  <dcbw@redhat.com>
12465
12466         Patch from Christian Persch <chpe@gnome.org>
12467         * gnome/applet/applet.glade
12468                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
12469
12470 2006-03-27  Dan Williams  <dcbw@redhat.com>
12471
12472         Patch from Diffe <diffie@blazebox.homeip.net>
12473         * src/backends/NetworkManagerSlackware.c
12474                 - Don't restart howl, since it's been replaced by Avahi
12475                         in most distributions
12476
12477 2006-03-27  Dan Williams  <dcbw@redhat.com>
12478
12479         Patch from Tor Krill <bugzilla@krill.nu>
12480         * configure.in
12481           initscript/Makefile.am
12482           src/backends/Makefile.am
12483           src/backends/NetworkManagerArch.c
12484           initscript/Arch/Makefile.am
12485           initscript/Arch/networkmanager-dispatcher.in
12486           initscript/Arch/networkmanager.in
12487                 - Add Arch Linux support, fixes gnome.org #335147
12488
12489 2006-03-27  Dan Williams  <dcbw@redhat.com>
12490
12491         Patch from Diffe <diffie@blazebox.homeip.net>
12492      * initscript/Slackware/rc.networkmanager
12493         - update, fixed gnome.org #333368
12494
12495 2006-03-27  Robert Love  <rml@novell.com>
12496
12497         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
12498           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
12499
12500 2006-03-27  Robert Love  <rml@novell.com>
12501
12502         Patch by Jürg Billeter <j@bitron.ch>:
12503         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
12504           systems.
12505         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
12506           as we prefer glibc over kernel headers, if possible.
12507
12508 2006-03-27  Robert Love  <rml@novell.com>
12509
12510         Patch by Jon Escombe <list@dresco.co.uk>:
12511         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
12512         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
12513           fail, don't bail out.  We don't expect all of the various WPA-EAP
12514           values to be present.
12515         * src/nm-ap-security.c: We need to match all capabilities for each
12516           encryption type, not any one of them.
12517
12518 2006-03-27  Robert Love  <rml@novell.com>
12519
12520         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
12521           restart, not reload, ypbind.  Unfortunately there is no superior
12522           solution.
12523
12524 2006-03-24  Christopher Aillon  <caillon@redhat.com>
12525
12526         * gnome/applet/applet-notifications.c:
12527         When displaying a notification, make sure to get rid of the
12528         previous notification so as to not have competing bubbles,
12529         and stop leaking the old one.
12530
12531         * gnome/applet/applet.c:
12532         * gnome/applet/applet.h:
12533         Add a new 'notification' member to the applet, and zero it out
12534         and free it appropriately.
12535
12536 2006-03-23  Robert Love  <rml@novell.com>
12537
12538         Patch by j <j@bootlab.org>:
12539         * gnome/applet/applet.glade: Don't set the invisible_char property,
12540           which simply overrides the GTK default.  By and by, this behavior
12541           ought to be fixed in Glade.
12542
12543 2006-03-22  Robert Love  <rml@novell.com>
12544
12545         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
12546
12547 2006-03-22  Robert Love  <rml@novell.com>
12548
12549         Bug fix by Timo Hoenig <thoenig@suse.de>:
12550         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
12551           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
12552           and the applet going AWOL.
12553
12554 2006-03-22  Robert Love  <rml@novell.com>
12555
12556         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
12557           preprocessor define and use it instead of open-coded the DHCP
12558           timeout, which is currently 25 seconds, everywhere.
12559
12560 2006-03-22  Robert Love  <rml@novell.com>
12561
12562         Implement "Dynamic WEP", which is basically WPA authentication and WEP
12563         key exchange via WPA, ostensibly providing good security without
12564         requiring hardware that supports full WPA.  Also, add UI elements to
12565         allow the user to select the pairwise & group cipher for WPA Enterprise
12566         networks, too:
12567         * gnome/applet/applet.glade: Update glade file.
12568         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
12569           key type, too, to and from gconf.
12570         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
12571           wso_wpa_create_key_type_model(), noting whether we are handling PSK
12572           or EAP configuration, and in the latter case add in "Dynamic WEP" if
12573           the capabilities match.
12574         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
12575           prototype.
12576         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
12577           serialize from UI to DBUS.
12578         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
12579           one element.
12580         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
12581           nmu_security_serialize_wpa_eap_with_cipher(), and
12582           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
12583           serialize/deserialize the key type via DBUS as the new third DBUS
12584           parameter.
12585         * libnm-util/dbus-helpers.h: Update prototypes.
12586         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
12587           too.  If the key type is WEP104, do Dynamic WEP, which means
12588           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
12589           pairwise and group ciphers (fixes a FIXME).
12590
12591 2006-03-21  Robert Love  <rml@novell.com>
12592
12593         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
12594           nm_system_get_mtu(), which returns a user-provided or system-mandated
12595           MTU value for a given device, if any, or zero if no such value
12596           exists.  Add nm_system_set_mtu() to set the MTU for a given device
12597           if we have a provided value.
12598         * src/nm-device.c: Set the MTU of devices.
12599         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
12600         * src/backends/NetworkManagerDebian.c,
12601           src/backends/NetworkManagerGentoo.c,
12602           src/backends/NetworkManagerRedHat.c,
12603           src/backends/NetworkManagerSlackware.c: Implement stub functions.
12604
12605 2006-03-21  Robert Love  <rml@novell.com>
12606
12607         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
12608           configuration file.
12609
12610 2006-03-17  Robert Love  <rml@novell.com>
12611
12612         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
12613           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
12614           it, in case it is not running in the first place.  We just want its
12615           configuration reloaded.  Also, do not "rcypbind stop" on device down.
12616
12617 2006-03-15  Robert Love  <rml@novell.com>
12618
12619         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
12620           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
12621           label "WEP 40/128-bit" is inconsistent because the physical key size
12622           is 40 or 104-bits, to which a 24-bit initialisation vector is
12623           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
12624           to read "40/104" or "64/128".  I do not care much which, but most
12625           users think of "silver" and "gold" encryption as 64 and 128-bits, so
12626           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
12627           WEP passphrase support only handles 128-bit keys, and any future
12628           64-bit passphrase support will require a new option (no way to auto-
12629           detect the target key size), explicitly label our passphrase support
12630           "WEP 128-bit Passphrase".
12631
12632 2006-03-15  Robert Love  <rml@novell.com>
12633
12634         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
12635           the system init scripts (or some other mechanism) starting it (or a
12636           compatible DBUS service) before NetworkManager runs.  This means that
12637           distributions might need to update their init scripts.  This fixes
12638           possible races and is quite a bit cleaner.
12639         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
12640           starting the NetworkManager daemon.
12641
12642
12643 2006-03-14  Robert Love  <rml@novell.com>
12644
12645         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
12646           before adding anything.
12647
12648 2006-03-13  Robert Love  <rml@novell.com>
12649
12650         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
12651           widgets, too, if they exist, in case the user hit the back button.
12652           Fixes a bug where the details page contains the widgets of multiple
12653           VPN modules (Novell bug #157048).
12654
12655 2006-03-13  Robert Love  <rml@novell.com>
12656
12657         Patch by Timo Hoenig <thoenig@suse.de>:
12658         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
12659           daemon survive DBUS restarts, too.
12660
12661 2006-03-10  Robert Love  <rml@novell.com>
12662
12663         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
12664           passphrase or key.
12665         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12666           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
12667           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
12668           in response to "toggled" signal on new toggle.
12669
12670 2006-03-10  Robert Love  <rml@novell.com>
12671
12672         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12673           serialization if strings are NULL, lest DBUS get angry.
12674
12675 2006-03-10  Robert Love  <rml@novell.com>
12676
12677         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12678
12679 2006-03-09  Robert Love  <rml@novell.com>
12680
12681         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12682           configurations.
12683
12684 2006-03-09  Dan Williams  <dcbw@redhat.com>
12685
12686         Track pending call requests in the applet, and report how many are
12687         outstanding, and how long each completed one takes.
12688         
12689         * gnome/applet/applet-dbus-devices.c
12690           gnome/applet/applet-dbus-vpn.c
12691                 - Track pending calls
12692
12693         * gnome/applet/applet-dbus.[ch]
12694                 - Remove some unused enums
12695                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12696                         new functions to track dbus pending calls and spit out some
12697                         statistics about them
12698
12699 2006-03-09  Robert Love  <rml@novell.com>
12700
12701         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12702           nm_ap_set_timestamp() take the second and micro-second parameters as
12703           direct arguments, which avoids both a dynamic memory allocation and a
12704           structure-to-structure copy!  Add a new interface, the aptly named
12705           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12706           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12707           the return from nm_ap_get_timestamp().  New users should use the new
12708           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12709           the extreme benefit to performance.
12710         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12711           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12712
12713 2006-03-08  Robert Love  <rml@novell.com>
12714
12715         * gnome/applet/applet.glade: Hide the password entry text with
12716           asterisks.
12717
12718 2006-03-08  Robert Love  <rml@novell.com>
12719
12720         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12721           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12722           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12723           a second argument, NMData.
12724         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12725         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12726           config files as trusted.
12727
12728 2006-03-06  Robert Love  <rml@novell.com>
12729
12730         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12731         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12732           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12733           Rivera, detect if the applet was auto-started.  If so, ask the user
12734           if he or she would like to stop automatically running the applet on
12735           login.  If so, disable autostart.
12736
12737 2006-03-06  Robert Love  <rml@novell.com>
12738
12739         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12740           directory in CFLAGS so developers can actually use NetworkManager.h.
12741
12742 2006-03-06  Robert Love  <rml@novell.com>
12743
12744         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12745           open-coded integer constants.  Add state_to_string() to map a given
12746           state to a textual description, and provide that when notifying of
12747           state change.
12748         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12749           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12750           this header directly, but it is currently not installed on most
12751           systems.
12752
12753 2006-03-05  Dan Williams  <dcbw@redhat.com>
12754
12755         Process netlink messages in device subclasses rather than in
12756         NetworkManager.c.  Also add support for recognizing Wireless Events.
12757         
12758         * configure.in
12759                 - Find GLIB_GENMARSHAL
12760
12761         * src/Makefile.am
12762                 - Since we're marshalling custom types for wireless event signals,
12763                         we get to create our own marshallers using GLIB_GENMARSHAL
12764
12765         * src/NetworkManager.c
12766                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12767                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12768                         cut down somewhat.  We no longer process signals here.
12769                 - (nm_data_new): create the netlink monitor here, and remove a
12770                         useless call to nm_policy_schedule_device_change_check()
12771                 - (nm_data_free): get rid of the netlink monitor here
12772                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12773                 - (main): don't create the netlink monitor here, let nm_data_new
12774                         do that.  Call nm_policy_schedule_device_change_check() right
12775                         before we jump to the mainloop to figure out which device
12776                         to use first
12777
12778         * src/NetworkManagerSystem.[ch]
12779                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12780                         convert back and forth from interface names to interface
12781                         indexes
12782
12783         * src/nm-device-802-11-wireless.c
12784                 - (real_init): connect to wireless-event signals from the netlink
12785                         monitor object
12786                 - (nm_device_802_11_wireless_event): new function, schedule handler
12787                         for wireless event signals from the netlink monitor object.  We
12788                         want the handler to run in the device's context
12789                 - (wireless_event_helper): handle wireless-event signals from netlink
12790                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12791                         signal handler
12792
12793         * src/nm-device-802-11-wireless.h
12794                 - remove unused prototype for nm_device_802_11_wireless_new
12795
12796         * src/nm-device-802-3-ethernet.c
12797                 - (real_init): new function; set up signal handlers for link events
12798                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12799                         handler for netlink link activated events on device's main loop
12800                 - (link_activated_helper): when we get a link activated event, set
12801                         the device's link to be active
12802                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12803                         handler for netlink link deactivated events on device's main loop
12804                 - (link_deactivated_helper): when we get a link deactivated event, set
12805                         the device's link to be inactive
12806                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12807                         dispose
12808
12809         * src/nm-device-802-3-ethernet.h
12810                 - remove unused prototype for nm_device_802_3_ethernet_new
12811
12812         * src/nm-device.[ch]
12813                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12814                         but locks the device list
12815                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12816
12817         * src/nm-netlink-monitor.[ch]
12818                 - (nm_netlink_monitor_class_install_signals): New signal
12819                         "wireless-event"
12820                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12821                         at the device list
12822                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12823
12824         * src/nm-marshal-main.c
12825                 - Include generated nm-marshal.c and nm-marshal.h
12826
12827         * src/nm-marshal.list
12828                 - List of custom marshal functions
12829
12830 2006-03-05  Dan Williams  <dcbw@redhat.com>
12831
12832         * gnome/applet/applet-notifications.h
12833                 - Protect prototype of nma_send_event_notification() because it
12834                         includes libnotify-specific types
12835                 - Include libnotify/libnotify.h too, since we technically need it
12836
12837         * gnome/applet/applet.c
12838                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12839                 - (nma_show_vpn_login_banner_dialog): add some error checking
12840
12841 2006-03-04  Dan Williams  <dcbw@redhat.com>
12842
12843         Clean up activation cancellation.  Should be a lot faster now.  Observed
12844         an issue with wireless devices between stage 2 and 3 of activation, where
12845         activation would be cancelled, but the device thread wouldn't notice until
12846         the supplicant association timed out.  Reorganize activation such that
12847         a cancellation handler gets immediately scheduled in the device's thread,
12848         and devices have a chance to perform any custom cleanup too.
12849
12850         * src/nm-device.[ch]
12851                 - (activation_cancel_handler): new device-type-specific function
12852                         for cleaning up device-type-specific stuff on cancellation
12853                 - (cancel_activation): removed
12854                 - (nm_device_activation_cancel): subsume functionality of
12855                         real_cancel_activation, but instead of doing anything, punt
12856                         operation to a handler that's run in device-thread context
12857                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12858                         a warning message
12859                 - (activation_handle_cancel_helper): cancellation handler run in
12860                         device-thread context, calls device-type-specific cancelation,
12861                         then tears down the activation request
12862                 - (real_activation_cancel_handler): generic cancellation handler,
12863                         deals with cancelling any in-process DHCP request
12864                 - (nm_device_activate_stage1_device_prepare,
12865                    nm_device_activate_stage2_device_config,
12866                    nm_device_activate_stage3_ip_config_start,
12867                    nm_device_activate_stage4_ip_config_get,
12868                    nm_device_activate_stage4_ip_config_timeout,
12869                    nm_device_activate_stage5_ip_commit): don't call
12870                         nm_device_schedule_activation_handle_cancel() any more, since
12871                         cancellation will have been already scheduled for us by
12872                         nm_device_activation_cancel().  Just exit the function and
12873                         assume that the cancel handler will be called next.
12874
12875         * src/nm-device-802-3-ethernet.c
12876                 - (real_act_stage2_config): remove; didn't do anything anyway
12877
12878         * src/nm-device-802-11-wireless.c
12879                 - (supplicant_status_cb): ensure we don't do anything if the activation
12880                         got cancelled
12881                 - (real_activation_cancel_handler): implement; cancel user key request
12882                         on activation cancellation
12883
12884 2006-03-04  Dan Williams  <dcbw@redhat.com>
12885
12886         * src/nm-device-802-11-wireless.c
12887                 - (supplicant_send_network_config): assume that drivers that don't
12888                         support WPA pretty much suck, and can't handle NM scanning
12889                         along with wpa_supplicant.
12890
12891 2006-03-03  Robert Love  <rml@novell.com>
12892
12893         * configure.in: Bump version to 0.6.0.
12894         * NEWS: Update.
12895
12896 2006-03-03  Robert Love  <rml@novell.com>
12897
12898         * configure.in: Require DBUS 0.60 or later.
12899
12900 2006-03-03  Dan Williams  <dcbw@redhat.com>
12901
12902         Fix a crash if an "Other wireless network" was chosen, failed, then
12903         chosen again from the applet's menu.  If the other network wasn't
12904         noticed in a scan, it wouldn't have any capabilities, but would still
12905         be listed because the user forced the network.  To fix this, we set
12906         sensible capabilities on the forced network, which will get overwritten
12907         with the correct ones if the network shows up later in a scan.
12908         
12909         * src/nm-ap-security.h
12910                 - Add a new "get_default_capabilities_func" member to the
12911                         NMAPSecurity class
12912
12913         * src/nm-ap-security.c
12914                 - (nm_ap_security_get_default_capabilities): new function
12915
12916         * src/nm-ap-security.c
12917           src/nm-ap-security-wep.c
12918           src/nm-ap-security-wpa-psk.c
12919           src/nm-ap-security-wpa-eap.c
12920                 - Implement get_default_capabilities_func() for all, which
12921                         uses the information contained in a specific NMAPSecurity
12922                         object to determine default AP capabilites necessary
12923                         to support that object
12924
12925         As a secondary measure, we now prune artificial access points that fail
12926         to be activated right away.  The thing failed, and we have no scan data for
12927         it, so it's pretty much useless since security information is only saved
12928         in the applets when a connection is successful.
12929
12930         * src/NetworkManagerAPList.c
12931                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
12932                         not artificial.  If we see it, it's no longer a figment of the
12933                         user's imagination :)
12934
12935         * src/NetworkManagerPolicy.c
12936                 - (nm_policy_activation_failed): send along the failed AP if we
12937                         have it
12938
12939         * src/nm-device-802-11-wireless.c
12940                 - (real_activation_failure_handler): remove artificial APs from
12941                         the device list, because activation failed
12942
12943 2006-03-02  Robert Love  <rml@novell.com>
12944
12945         Add support for retrieving both the per-device speed and the
12946         per-network maximum supported rate.  Then change the getProperties
12947         DBUS API for both networks and devices to report this informaiton.
12948         Finally, display the information via both nm-applet and nm-tool:
12949         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
12950           and set it.
12951         * gnome/applet/applet.c: Display the device's speed in the 'Connection
12952           Information' dialog.
12953         * gnome/applet/applet.glade: Update the UI to show per-device speed.
12954         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
12955           network_device_get_speed() and network_device_set_speed() for
12956           retrieving and setting, respectively, a network device's current
12957           speed.
12958         * src/nm-dbus-device.c: Send the device's speed on getProperties.
12959         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
12960           in the function nm_device_802_11_wireless_get_bitrate() -- it does
12961           not matter (yet) what the units are, because we only feed it its own
12962           output.  Implement SIOCGIRATE and set the per-network maximum
12963           supported rate during scanning.
12964         * src/nm-device-802-11-wireless.h: Export the function
12965           nm_device_802_11_wireless_get_bitrate().
12966         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
12967           function nm_device_802_3_ethernet_get_speed() for returning an
12968           802.3's current speed, in Mb/s.
12969         * test/nm-tool.c: Display the per-device current speed, if available,
12970           and the per-network maximum rate.
12971
12972 2006-03-02  Dan Williams  <dcbw@redhat.com>
12973
12974         * src/nm-device-802-11-wireless.c
12975                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
12976                         card when it gets initialized.  Since devices don't get added to
12977                         the scan list until they are initialized, this function wasn't
12978                         setting the intitial scan interval correctly, and was leaving
12979                         it at 0.  This caused cards to get many scan requests in a short
12980                         amount of time when they were initialized
12981
12982 2006-03-02  Robert Love  <rml@novell.com>
12983
12984         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
12985           active device.  But do not do what we used to do and override the
12986           state, which caused the dreaded icon race of '05.
12987
12988 2006-03-02  Robert Love  <rml@novell.com>
12989
12990         Commit Dan's update of my previous commit:
12991         * src/nm-device-802-11-wireless.c: Always set the mode, because the
12992           set_mode() function itself does the check.  But do only set the
12993           frequency if in Ad-Hoc mode.
12994
12995 2006-03-02  Robert Love  <rml@novell.com>
12996
12997         Patch by Brian Magnuson <magnuson@rcn.com>:
12998         * src/nm-device-802-11-wireless.c: During scanning, only set the
12999           wireless mode to infrastructure if it is not currently in
13000           infrastructure mode.  For some driver, setting the mode is a costly
13001           operation, apparently.
13002
13003 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
13004
13005         * Makefile.am: use the correct dir for autostart mechanism.
13006
13007 2006-02-28  Dan Williams  <dcbw@redhat.com>
13008
13009         Patch from Brian Magnuson <magnuson@rcn.com>
13010         * gnome/applet/applet.c
13011                 - (nma_show_vpn_failure_dialog): fix errors left over from
13012                         libnotify support changes
13013
13014 2006-02-28  Dan Williams  <dcbw@redhat.com>
13015
13016         * src/vpn-manager/nm-vpn-act-request.[ch]
13017                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
13018                         just one value
13019                 - (nm_vpn_act_request_is_failed): new function; return whether or
13020                         not the vpn activation request has failed
13021
13022         * src/vpn-manager/nm-vpn-manager.c 
13023                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
13024                         daemon to kill the connection when the activation request fails.
13025                         Fixes issue where NM would get confused if the VPN activation
13026                         request timed out, and would not allow further VPN connections
13027                         on that service.
13028
13029 2006-02-28  Dan Williams  <dcbw@redhat.com>
13030
13031         * gnome/applet/applet.c
13032                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
13033                         overlapping connection requests, disable all VPN menu items
13034                         but the active VPN connection
13035
13036 2006-02-28  Dan Williams  <dcbw@redhat.com>
13037
13038         * src/vpn-manager/nm-vpn-connection.c
13039                 - (nm_vpn_connection_set_parent_device): fix C&P error which
13040                         called g_object_unref() on the connection's parent device
13041                         when it should have been ref-ed instead.  Fixes crash with
13042                         repeated vpn connect requests
13043
13044 2006-02-28  Christopher Aillon  <caillon@redhat.com>
13045
13046         * gnome/applet/applet.glade:
13047         Mark a few strings non-translatable, since they shouldn't be.
13048
13049 2006-02-28  Dan Williams  <dcbw@redhat.com>
13050
13051         * src/vpn-manager/nm-vpn-service.c
13052                 - (nm_vpn_service_start_connection): if the vpn service daemon is
13053                         already running, don't blindly ask it to connect, but wait until
13054                         it's in the STOPPED state first.  Fixes an assertion when user
13055                         starts a second vpn connection without stopping the first.
13056                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
13057                         dbus service exists before continuing with the connection
13058                         process, and reduce latency while waiting for it to become
13059                         available
13060                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
13061                         waiting for the vpn service daemon to become available
13062                 - General log message cleanups; show progress via "Stage x of 4"
13063                         rather than not telling anyone how many stages there are
13064
13065 2006-02-28  Robert Love  <rml@novell.com>
13066
13067         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
13068         * src/backends/NetworkManagerSuSE.c: Implement the interface
13069           nm_system_should_modify_resolv_conf() for SUSE.
13070         * src/backends/NetworkManagerDebian.c,
13071           src/backends/NetworkManagerGentoo.c,
13072           src/backends/NetworkManagerRedHat.c,
13073           src/backends/NetworkManagerSlackware.c: Add stub.
13074         * src/named-manager/Makefile.am: Grab includes from src.
13075         * src/named-manager/nm-named-manager.c: Allow backends to disable the
13076           automatic updating of resolv.conf.  This is useful for testing,
13077           broken static configurations, and administrator lock-down.
13078
13079 2006-02-28  Dan Williams  <dcbw@redhat.com>
13080
13081         * src/nm-device-802-11-wireless.c
13082                 - Move all the wpa_supplicant-related management stuff into its
13083                         own struct, just for oranization's sake
13084                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
13085                         to a GIOChannel/GSource
13086                 - (supplicant_log_stdout): new function; grab output from the
13087                         wpa_supplicant stdout pipe and write it to our logs.
13088
13089 2006-02-27  Christopher Aillon  <caillon@redhat.com>
13090
13091         * src/nm-device-802-11-wireless.c:
13092         Err, fix thinko in my previous commit.
13093
13094 2006-02-28  Robert Love  <rml@novell.com>
13095
13096         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
13097
13098 2006-02-28  Robert Love  <rml@novell.com>
13099
13100         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
13101           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
13102           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
13103           deserializers are responsible for freeing the returned DBUS strings.
13104
13105 2006-02-27  Christopher Aillon  <caillon@redhat.com>
13106
13107         * src/nm-device-802-11-wireless.c:
13108         The scan list is being pruned prematurely.  We should prune after
13109         the device has gone MIA for three scans, not one.  Split out the
13110         interval to realtime seconds function to better serve this.
13111
13112 2006-02-27  Robert Love  <rml@novell.com>
13113
13114         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
13115           Open the pid file O_TRUNC, so if it already exists we truncate it to
13116           zero length.  Also, be more verbose about warnings generated during
13117           writing out the pid file.  Finally, always write out the pid file if
13118           in daemon mode.  Use "--pid-file" to override the default.
13119
13120 2006-02-27  Robert Love  <rml@novell.com>
13121
13122         Patch by R. Vinay <rvinay@novell.com>:
13123         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
13124           'last_attempt_success' when removing a VPN connection, too.  (Fixes
13125           Novell bug #153628).
13126           
13127 2006-02-27  Robert Love  <rml@novell.com>
13128
13129         * gnome/applet/applet.glade: Set "activates_default" on passphrase
13130           entry so user can hit <ENTER> after entering passphrase (Novell bug
13131           #153738).
13132
13133 2006-02-27  Dan Williams  <dcbw@redhat.com>
13134
13135         * gnome/applet/*
13136                 - Mass search/replace of:
13137                         nmwa -> nma
13138                         NMWirelessApplet -> NMApplet
13139                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
13140                    (it ain't just for wireless anymore, ma!)
13141                 - Fix duplicate function name printing when using nm_warning
13142                 - wireless-applet.glade -> applet.glade
13143
13144 2006-02-27  Dan Williams  <dcbw@redhat.com>
13145
13146         * dispatcher-daemon/NetworkManagerDispatcher.c
13147                 - Accept --pid-file with a path to a pidfile, write it out on
13148                         startup, and delete it on shutdown
13149
13150         * src/NetworkManager.c
13151                 - Accept --pid-file with a path to a pidfile, write it out on
13152                         startup, and delete it on shutdown
13153                 - Move nm_print_usage() lower
13154
13155         * initscripts/RedHat/NetworkManager.in
13156                 - Use new --pid-file option
13157                 - Fix service stopping to wait a bit for NM to quit
13158
13159         * initscripts/RedHat/NetworkManagerDispatcher.in
13160                 - Use new --pid-file option
13161
13162 2006-02-26  Dan Williams  <dcbw@redhat.com>
13163
13164         * src/Makefile.am
13165                 - make and install nm-crash-logger
13166
13167         * src/nm-logging.[ch]
13168                 - New files; consolidate logging and crash handling
13169
13170         * src/nm-crash-logger.c
13171           src/gdb-cmd
13172                 - Standalong crashlogger for NM, grab a backtrace
13173                         using GDB
13174
13175         * src/NetworkManager.[ch]
13176                 - Remove signal handling and put it into nm-logging.c
13177
13178 2006-02-26  Dan Williams  <dcbw@redhat.com>
13179
13180         * configure.in
13181           gnome/applet/Makefile.am
13182                 - Conditionalize all the notify stuff
13183
13184         Merge most of Chris Aillon's notification patch:
13185         
13186         * gnome/applet/applet-notifications.[ch]
13187                 - New files; show a notification
13188         
13189         * gnome/applet/applet-dbus-devices.[ch]
13190                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
13191                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
13192                         new functions, do the right thing when a device change occurs
13193
13194         * gnome/applet/applet-dbus.c
13195                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
13196                         signals, so we can handle them specially
13197
13198         * gnome/applet/applet.[ch]
13199                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
13200                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
13201                 - (nmwa_notify_state): remove
13202                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
13203                         notification work is now done when the appropriate dbus signals
13204                         are received.
13205                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
13206                         defer execution of the notification/dialog stuff.  That was an
13207                         artifact of the previous multi-threaded nature of the applet
13208                         and is now pointless.
13209                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
13210                         no longer needed.  Function folded into applet-notifications.c
13211
13212         * src/NetworkManagerPolicy.c
13213                 - (nm_policy_activation_finish): send the AP along with the device
13214                         status change signal, if the connection is wireless.  Should
13215                         fix the race where applet would show a connection to "unknown"
13216
13217 2006-02-25  Robert Love  <rml@novell.com>
13218
13219         Add WPA Enterprise support:
13220         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
13221           nm-gconf-wso-wpa-eap.h.
13222         * gnome/applet/nm-gconf-wso-wpa-eap.c,
13223           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
13224           serialization and deserialization.
13225         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13226           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
13227           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
13228         * gnome/applet/wireless-applet.glade: Add UI for configurating security
13229           settings related to WPA Enterprise.
13230         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
13231           instantiate WPA Enterprise wireless-security-option.
13232         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
13233           Implement WPA Enterprise wireless-security-option object.
13234         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
13235           defines.  Cleanup.
13236         * libnm-util/cipher-wpa-psk-hex.c,
13237           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
13238         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
13239           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
13240           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
13241           including the cipher to DBUS method, and
13242           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
13243           to output.
13244         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
13245           nm-ap-security-wpa-eap.h
13246         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
13247           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
13248         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
13249           files.  Implement NMAPSecurityWPA_EAP object.
13250         * src/nm-ap-security-wpa-psk.c: Cleanup.
13251         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
13252           an NMAPSecurityWPA_EAP object via the method
13253           nm_ap_security_wpa_eap_new_deserialize().
13254         * src/nm-dbus-nm.c: Cleanup.
13255         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
13256           WPA Enterprise support.
13257
13258 2006-02-24  Robert Love  <rml@novell.com>
13259
13260         Patch from Timo Hoenig <thoenig@suse.de>:
13261         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
13262
13263 2006-02-24  Robert Love  <rml@novell.com>
13264
13265         Patch from Dan Winship <danw@novell.com>:
13266         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
13267           area to transparent.
13268
13269 2006-02-21  Dan Williams  <dcbw@redhat.com>
13270
13271         * gnome/applet/applet.[ch]
13272           gnome/applet/applet-dbus.c
13273                 - Implement notification support for VPN messages too
13274
13275 2006-02-21  Dan Williams  <dcbw@redhat.com>
13276
13277         * gnome/applet/applet-dbus-info.c
13278                 - Clean up warning messages to not double-print the function
13279
13280 2006-02-21  Dan Williams  <dcbw@redhat.com>
13281
13282         * gnome/applet/applet-compat.c
13283                 - (convert_one_entry): accept entries without a key_type and
13284                         convert them to unencrypted networks
13285
13286 2006-02-21  Dan Williams  <dcbw@redhat.com>
13287
13288         * gnome/libnm_glib/libnm_glib.c
13289                 - Use __func__ everywhere we can
13290                 - Code cleanups
13291                 - Use dbus pending calls rather than blocking
13292                 - Reduce busywaits for our thread to start and stop
13293                         (gnome.org #330562)
13294                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
13295                         stomp on others using the default shared dbus connection.
13296                         Fixes #rh177546# and gnome.org #326572
13297
13298 2006-02-21  Dan Williams  <dcbw@redhat.com>
13299
13300         Patch from Rodney Dawes <dobey@novell.com>
13301         * configure.in
13302           gnome/applet/Makefile.am
13303           gnome/applet/applet.c
13304                 - Add libnotify support if '--enable-notify=yes' is passed
13305                   at configure time
13306
13307 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
13308
13309         * configure.in (ALL_LINGUAS): ko added. (Korean)
13310
13311 2006-02-15  Robert Love  <rml@novell.com>
13312
13313         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
13314           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
13315           and WPA_SUPPLICANT_CONTROL_SOCKET.
13316         
13317 2006-02-15  Robert Love  <rml@novell.com>
13318
13319         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
13320           information about what connection stage we are at, provide the total
13321           number of stages, e.g. "Stage 2 of 5", so users know how far along
13322           they are if they experience problems.
13323
13324 2006-02-15  Robert Love  <rml@novell.com>
13325
13326         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
13327           define to $sysconfdir.
13328         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
13329           editing dialog, vpn_edit_widget, which fixes a bug where editing one
13330           type of VPN and then editing another results in a mangled dialog
13331           box containing the widgets from both VPNs (fixes Novell #150854).
13332           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
13333
13334 2006-02-14  Robert Love  <rml@novell.com>
13335
13336         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
13337           syslog's file descriptor.
13338
13339 2006-02-14  Robert Love  <rml@novell.com>
13340
13341         Fix bug around since the change to "deal with APs changing settings on
13342         us," checked in on the fifth of February in the year of the dog, 
13343         wherein connecting to non-broadcast encrypted networks always fails
13344         because nm_ap_get_encrypted() always returns FALSE, even when the user
13345         provided a key, because the newly-created fake AP does not have any
13346         capabilities set, which is a sypmtom of security settings not matching
13347         capabilities (Novell bug #150784):
13348         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
13349           nm_ap_add_capabilities_from_security(), which sets the given AP's
13350           capabilities off the given security settings.  Also improve our
13351           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
13352           NM_AUTH_CIPHER_AUTO.
13353         * src/nm-device-802-11-wireless.c: Call the function
13354           nm_ap_add_capabilities_from_security() to ensure that capabilities
13355           match newly updated security settings.
13356
13357 2006-02-14  Robert Love  <rml@novell.com>
13358
13359         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
13360           error as a string, not an integer, if possible; do not print the
13361           function name twice; always give the interface, if possible; misc.
13362           cleanup.
13363
13364 2006-02-12  Dan Williams  <dcbw@redhat.com>
13365
13366         Patch from Tom Parker <palfrey@tevp.net>
13367         * src/NetworkManagerSystem.h
13368                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
13369                         no longer used
13370
13371         * src/backends/NetworkManagerDebian.c
13372                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
13373                         unused variables
13374
13375 2006-02-12  Dan Williams  <dcbw@redhat.com>
13376
13377         * vpn-daemons/openvpn/intltool-extract.in
13378           vpn-daemons/openvpn/intltool-merge.in
13379           vpn-daemons/openvpn/intltool-update.in
13380           vpn-daemons/pptp/intltool-extract.in
13381           vpn-daemons/pptp/intltool-merge.in
13382           vpn-daemons/pptp/intltool-update.in
13383                 - Remove from CVS, they should get created by intltoolize,
13384                         shouldn't they?
13385
13386 2006-02-12  Dan Williams  <dcbw@redhat.com>
13387
13388         * vpn-daemons/pptp/src/pppd/patchlevel.h
13389         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13390                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
13391                         Makefile-defined VERSION
13392
13393 2006-02-09  Dan Williams  <dcbw@redhat.com>
13394
13395         Patch from: Vinay A R <rvinay@novell.com>
13396         * src/vpn-manager/nm-vpn-act-request.[ch]
13397                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
13398                         IPSec VPNs require them for std gateway.
13399                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
13400                         and 'user_routes_count'
13401                 - (nm_vpn_act_request_get_user_routes): new function; gets user
13402                         defined routes  from NMVPNActRequest object, returns the string
13403                         array of routes.
13404
13405         * src/vpn-manager/nm-vpn-manager.[ch]
13406                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
13407                         for 'user_routes' and 'user_routes_count'
13408         
13409         * src/vpn-manager/nm-dbus-vpn.c
13410                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
13411                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
13412         
13413         * src/vpn-manager/nm-vpn-service.c
13414                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
13415                         the vpn daemon
13416
13417         Modifications by Dan:
13418         * src/vpn-manager/nm-vpn-service.c
13419                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
13420                         arrays into dbus
13421
13422         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13423         * vpn-daemons/pptp/src/nm-pptp-service.c
13424         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13425                 - Grab user routes from dbus message
13426                 - Free all string arrays we got from dbus
13427
13428 2006-02-07  Robert Love  <rml@novell.com>
13429
13430         Patch by Stefan Seyfried <seife@suse.de>:
13431         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
13432
13433 2006-02-06  Robert Love  <rml@novell.com>
13434
13435         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
13436
13437 2006-02-06  Robert Love  <rml@novell.com>
13438
13439         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
13440           test ">=" is never false.  If no newline is found, we loop forever.
13441           We can just check for ">" because the following if() will see the
13442           zero-th argument if the while() gets that far.
13443
13444 2006-02-05  Dan Williams  <dcbw@redhat.com>
13445
13446         Refine handling of non-broadcast networks.
13447
13448         * src/NetworkManagerAPList.c
13449                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
13450                         property from scanned AP to the AP from the device list
13451
13452         * src/nm-device-802-11-wireless.c
13453                 - (supplicant_send_network_config): use ap_scan=1 for all networks
13454                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
13455                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
13456                         networks since those don't have APs.
13457                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
13458                         AP as non-SSID-broadcasting
13459                 - (process_scan_results): don't handle non-SSID-broadcasting here
13460
13461 2006-02-05  Dan Williams  <dcbw@redhat.com>
13462
13463         * src/nm-device-802-11-wireless.c
13464                 - (get_supplicant_timeout): new function; return
13465                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
13466                         14 channels.  These are likely a/b/g cards, like Atheros, and
13467                         slow as hell to scan.
13468                 - (supplicant_timeout_cb, supplicant_monitor_start): use
13469                         get_supplicant_timeout()
13470
13471 2006-02-05  Dan Williams  <dcbw@redhat.com>
13472
13473         * src/dhcp-manager/nm-dhcp-manager.c
13474                 - Loose a commit race with Robert; make sure size check
13475                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
13476
13477 2006-02-05  Robert Love  <rml@novell.com>
13478
13479         Patch by Christoph Brill <chrisbrill@gmx.net>:
13480         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
13481           with DHCP_SERVICE_NAME.
13482
13483 2006-02-05  Dan Williams  <dcbw@redhat.com>
13484
13485         Remove anything having to do with device_setup_func from the
13486         AP security objects, since it's no longer used.
13487
13488         * src/nm-ap-security.h
13489                 - Kill device_setup_func and nm_ap_security_device_setup()
13490
13491         * src/nm-ap-security-wep.c
13492           src/nm-ap-security-wpa-psk.c
13493                 - (real_device_setup): remove
13494
13495         * src/nm-ap-security.c
13496                 - (real_device_setup): remove
13497                 - (nm_ap_security_device_setup): remove
13498
13499         * src/nm-device-802-11-wireless.[ch]
13500                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
13501                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
13502                         and done by wpa_supplicant now anyway
13503
13504 2006-02-05  Dan Williams  <dcbw@redhat.com>
13505
13506         * src/nm-device-802-11-wireless.c
13507                 - (ap_need_key, real_act_stage2_config): deal with APs changing
13508                         settings on us.  Previously NM would loop asking for the
13509                         key but getting the same one back.  Now, if the NMI-supplied
13510                         cipher doesn't overlap with the scanned AP capabilities,
13511                         we request a completely new key from the user.
13512
13513 2006-02-05  Dan Williams  <dcbw@redhat.com>
13514
13515         * src/NetworkManagerUtils.c
13516                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
13517                         Handle newline killing better
13518
13519 2006-02-05  Dan Williams  <dcbw@redhat.com>
13520
13521         * gnome/applet/nm-gconf-wso.c
13522                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
13523                         of unencrypted access point security info.
13524
13525 2006-02-03  Robert Love  <rml@novell.com>
13526
13527         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
13528           user's encryption key, so we print the err_msg_cmd not the command,
13529           if available.  So long as SUPPLICANT_DEBUG is default, this makes
13530           sense.
13531
13532 2006-02-03  Christopher Aillon  <caillon@redhat.com>
13533
13534         * initscript/RedHat/NetworkManagerDispatcher.in:
13535         * initscript/RedHat/NetworkManager.in: modify the pidfile location
13536         Patch from Dan Walsh <dwalsh@redhat.com>
13537
13538 2006-02-03  Robert Love  <rml@novell.com>
13539
13540         * dispatcher-daemon/NetworkManagerDispatcher.c,
13541           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
13542           but use the sysconfdir.
13543
13544 2006-02-03  Robert Love  <rml@novell.com>
13545
13546         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
13547           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
13548           'char *'.
13549         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
13550           nm_ip4_config_get_hostname() and
13551           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
13552         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
13553           leak g_strdup() result.
13554
13555 2006-02-03  Robert Love  <rml@novell.com>
13556
13557         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
13558           broadcast == TRUE.  Also, copy broadcast and artificial properties
13559           from source network to destination in nm_ap_copy().
13560         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
13561           since we now default new networks to non-hidden.
13562
13563 2006-02-03  Dan Williams  <dcbw@redhat.com>
13564
13565         * gnome/applet/main.c
13566                 - (main): change the NEVER->ALWAYS so we start at the
13567                         beginning of the session, if being session-managed
13568
13569 2006-02-03  Dan Williams  <dcbw@redhat.com>
13570
13571         * gnome/applet/main.c
13572                 - (main): in a variation on Robert's patch, change
13573                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
13574                         he wants.
13575
13576 2006-02-02  Robert Love  <rml@novell.com>
13577
13578         * src/Makefile.am: If we aren't going to create the run directory at,
13579           uh, run-time, create it during install.  Then users just doing
13580           'make install' are cool, too.  While we are here, create the
13581           dispatcher.d directory, too.
13582         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
13583           the exact run directory.
13584         * Makefile.am: Install nm-applet.desktop.
13585
13586 2006-02-02  Robert Love  <rml@novell.com>
13587
13588         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
13589           structure, which denotes whether or not the AP is hidden.  This is a
13590           superset of 'artificial' -- we need 'broadcast' because a hidden AP
13591           can show up in the scan list.  Add nm_ap_get_broadcast() and
13592           nm_ap_set_broadcast() accessor interfaces.
13593         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
13594           nm_ap_set_broadcast().
13595         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
13596           "getProperties" method, which denotes whether or not the given
13597           network is hidden.
13598         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
13599           an artificial network.  Set broadcast to TRUE when scanning returns
13600           an ESSID and FALSE when not.
13601         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
13602           from "getProperties" method on a network.  Possible TODO is to
13603           somehow display this.
13604         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
13605
13606 2006-02-02  Dan Williams  <dcbw@redhat.com>
13607
13608         * src/nm-device-802-11-wireless.c
13609                 - (supplicant_interface_init): don't try to create
13610                         /var/run/NetworkManager, since that should be done by
13611                         the distro package.  Causes problems for stuff like SELinux
13612
13613 2006-02-02  Robert Love  <rml@novell.com>
13614
13615         Patch by Sureshkumar T <tsureshkumar@novell.com>:
13616         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
13617           Check for and handle empty string for iface.
13618
13619 2006-02-01  Robert Love  <rml@novell.com>
13620
13621         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
13622           manpage.
13623
13624 2006-01-31  Dan Williams  <dcbw@redhat.com>
13625
13626         * nm-applet.desktop
13627                 - Add --sm-disable to Exec arguments, presuming that when
13628                         using autostart, we don't want session management
13629
13630 2006-01-31  Robert Love  <rml@novell.com>
13631
13632         * src/NetworkManagerAP.c: Add two new manufacturer default network
13633           names: linksys-a and linksys-g.  These are found (at least) on the
13634           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
13635           own ESSID.
13636
13637 2006-01-31  Robert Love  <rml@novell.com>
13638
13639         * src/NetworkManagerAP.c: Optimize the function
13640           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
13641           machine code.  This is the first in a series of code tweaks aiming to
13642           generate better machine code and make NetworkManager all the better.
13643           Just kidding.  Who has time to go through the assembly generated for
13644           every function?  I certainly don't.  I have a wife, a kid, a job,
13645           a mortgage, a mistress.  But this function was so bad, I was called
13646           to arms.  Like the book.
13647
13648 2006-01-31  Robert Love  <rml@novell.com>
13649
13650         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
13651           AP is not broadcasting, to scan with probe request frames.  Required
13652           for non-broadcast networks.
13653
13654 2006-01-31  Robert Love  <rml@novell.com>
13655
13656         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
13657           preprocessor define (still 20s).  Fix message text in nm_info()
13658           s/too too/took too/.
13659
13660 2006-01-30  Dan Williams  <dcbw@redhat.com>
13661
13662         * src/nm-device-802-11-wireless.c
13663                 - (supplicant_monitor_start): increase connect/auth timeout to
13664                         20 seconds from 10 seconds
13665
13666 2006-01-30  Dan Williams  <dcbw@redhat.com>
13667
13668         * src/Makefile.am
13669                 - Define LOCALSTATEDIR
13670
13671         * src/nm-device-802-11-wireless.c
13672                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13673                         socket where we want it to
13674
13675         * src/wpa_ctrl.[ch]
13676                 - (wpa_ctrl_open): accept location to put local control socket
13677
13678 2006-01-30  Robert Love  <rml@novell.com>
13679
13680         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13681           get_ip4_string() for "domain_name".
13682
13683 2006-01-30  Robert Love  <rml@novell.com>
13684
13685         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13686           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13687           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13688           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13689           support for "Automatic" pairwise and group cipher configuration by
13690           letting wpa_supplicant handle the details.  Add UI elements, new
13691           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13692           charm.  Note this does more than add a nice feature, it fixes a bug.
13693           Apparently, some people have AP's where the pairwise cipher does not
13694           match the group cipher.  Insane, but true.
13695
13696 2006-01-30  Dan Williams  <dcbw@redhat.com>
13697
13698         * gnome/applet/applet-dbus-devices.c
13699                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13700                         functions, grab device driver name from NetworkManager
13701                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13702
13703         * gnome/applet/applet.c
13704                 - (nmwa_update_info): show driver name in Connection Information
13705                         dialog
13706
13707         * gnome/applet/nm-device.[ch]
13708                 - (network_device_get_driver, network_device_set_driver): add
13709                         accessors for driver name
13710
13711         * gnome/applet/wireless-applet.glade
13712                 - Add line for driver name to Connection Information dialog
13713
13714         * src/nm-dbus-device.c
13715                 - (nm_dbus_device_get_driver): new function to return driver name
13716                 - (nm_dbus_device_methods): hook up driver name function to dbus
13717
13718         * test/nm-tool.c
13719                 - (get_driver_name): new function
13720                 - (detail_device): grab and show driver name
13721
13722 2006-01-30  Robert Love  <rml@novell.com>
13723
13724         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13725           does not parse the markup if it is not part of the format.
13726
13727 2006-01-30  Robert Love  <rml@novell.com>
13728
13729         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13730           FALSE, we have no security options for this dialog, so we throw up
13731           an error dialog instead of a broken passphrase dialog.  Fixes
13732           Novell #138404.
13733         * gnome/applet/wireless-security-manager.c,
13734           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13735           does not add any security options, not even NONE, print a warning
13736           and return FALSE.  This let's functions constructing a dialog bail
13737           out if the device's capabilities and the network's requirements have
13738           zero overlap.
13739
13740 2006-01-27  Robert Love  <rml@novell.com>
13741
13742         * configure.in: Require wpa_supplicant.  Detect location of binary and
13743           use it.  Override with "--with-wpa_supplicant=foo".
13744         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13745           path to wpa_supplicant but use the auto-detected or user-provided
13746           value from configure.
13747
13748 2006-01-27  Robert Love  <rml@novell.com>
13749
13750         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13751           but the DHCP server did not return a hostname, try to look up our
13752           name via DNS and set the system hostname to that.
13753
13754 2006-01-27  Dan Williams  <dcbw@redhat.com>
13755
13756         * src/backends/NetworkManagerRedHat.c
13757                 - Add NM_CONTROLLED system network script support for RH/Fedora
13758
13759 2006-01-27  Dan Williams  <dcbw@redhat.com>
13760
13761         * src/backends/NetworkManagerGentoo.c
13762                 - (nm_system_device_get_disabled): add missing function.
13763                         Gnome BZ #328780
13764
13765 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13766
13767         * configure.in: Added vi in ALL_LINGUAS line.
13768         
13769 2006-01-26  Robert Love  <rml@novell.com>
13770
13771         * src/Makefile.am, src/kernel-types.h: Now that two different source
13772           files are feeling the crack-addled leakage of kernel types such as
13773           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13774           types in user-space -- define a header and include it as needed.
13775         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13776         * src/nm-device-802-3-ethernet.h: Remove defines.
13777         * src/wpa.c: Remove defines and include kernel-types.h.
13778
13779 2006-01-26  Robert Love  <rml@novell.com>
13780
13781         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13782           work.
13783
13784 2006-01-26  Robert Love  <rml@novell.com>
13785
13786         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13787         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13788           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13789           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13790           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13791           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13792           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13793           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13794           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13795           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13796           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13797           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13798           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13799           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13800           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13801           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13802           Kill unused variables, labels, and static functions.  Don't pass
13803           string literals as the format string for printf-like functions.
13804
13805 2006-01-25  Dan Williams  <dcbw@redhat.com>
13806
13807         * gnome/applet/wireless-applet.glade
13808                 - Remove WPA2 Checkbox
13809
13810         * gnome/applet/wireless-security-manager.c
13811                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13812                         This means the Wireless Security menu now has two WPA options,
13813                         one for "WPA Personal" and one for "WPA2 Personal"
13814
13815         * gnome/applet/wso-wpa-psk.[ch]
13816                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13817                         'wpa2' argument to determine WPA version to use
13818                 - (append_dbus_params_func): pass stored WPA version to cipher
13819                         rather than using the (removed) checkbox
13820
13821 2006-01-24  Robert Love  <rml@novell.com>
13822
13823         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13824           before we g_strdup(), not the ultimate string.
13825
13826 2006-01-23  Dan Williams  <dcbw@redhat.com>
13827
13828         * src/NetworkManagerAP.[ch]
13829                 - (nm_ap_new_from_ap): copy original essid too
13830                 - (nm_ap_unref): free original essid
13831                 - (nm_ap_get_orig_essid): new function
13832                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13833                         but keep original essid around too
13834
13835         * src/nm-device-802-11-wireless.c
13836                 - (supplicant_send_network_config): send wpa_supplicant the
13837                         _original_ essid, and not as a string, but in hex.  Should
13838                         allow us to connect to more APs that use wierd character
13839                         encodings for their essids
13840
13841         * utils/nm-utils.[ch]
13842                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13843                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13844                         use the current locale as a hint for what encoding the essid
13845                         might be in.  Obviously not 100% accurate, but the idea here is
13846                         that if a user's locale is ex. ja_JP, they are more likely than
13847                         not to be in Japan, where access points will likely be in some
13848                         Japanese encoding.
13849
13850 2006-01-23  Dan Williams  <dcbw@redhat.com>
13851
13852         * libnm-util/cipher-private.h
13853           libnm-util/cipher.c
13854           libnm-util/cipher.h
13855                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13856
13857 2006-01-23  Robert Love  <rml@novell.com>
13858
13859         Patch by Timo Hoenig <thoenig@suse.de>:
13860         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13861           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13862           by DHCP and pass it to the backends, allowing distribution-specific
13863           behavior with respect to the DHCP-supplied hostname (if nothing else,
13864           some distributions might not want to set the hostname).
13865         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
13866           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
13867           Also update our NIS behavior.
13868         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
13869           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
13870           Add stub functions.
13871
13872 2006-01-23  Robert Love  <rml@novell.com>
13873
13874         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
13875           gnome-session does autostart.  TODO: We need to install this to
13876           $prefix/share/autostart/.
13877
13878 2006-01-22  Dan Williams  <dcbw@redhat.com>
13879
13880         * src/NetworkManagerAP.[ch]
13881           src/nm-dbus-nmi.c
13882           src/nm-device-802-11-wireless.c         
13883                 - Make nm_ap_get_essid return "const char *"
13884
13885 2006-01-22  Dan Williams  <dcbw@redhat.com>
13886
13887         * src/NetworkManagerAP.[ch]
13888                 - (nm_ap_get_matched, nm_ap_set_matched): remove
13889
13890         * src/NetworkManagerAPList.[ch]
13891                 - (nm_ap_list_diff): removed
13892                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
13893                         deal with access points changing essids on us
13894
13895         * src/nm-device-802-11-wireless.c
13896                 - (add_new_ap_to_device_list): move AP dbus signal logic to
13897                         src/NetworkManagerAPList.c
13898                 - (real_can_interrupt_activation): new function; allow interruption
13899                         of device activation if we are waiting for a network key
13900
13901         * src/NetworkManagerPolicy.c
13902                 - (nm_policy_device_change_check): allow interruption of currently
13903                         activating devices if the device allows it.  Previous behavior
13904                         would refuse to activate a just-plugged wired device if a
13905                         wireless device was waiting for a key.
13906
13907         * src/nm-device.[ch]
13908                 - (nm_device_can_interrupt_activation): new function; ask devices
13909                         whether their activation can be interrupted
13910
13911 2006-01-20  Robert Love  <rml@novell.com>
13912
13913         * Makefile.am, configure.in: Add new man subdirectory.
13914         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
13915           man/Makefile.am: Add man pages for NetworkManager and its
13916           crime-solving bumbling buddy, NetworkManagerDispatcher.
13917         * man/.cvsignore: Add.
13918         * initscript/Debian/NetworkManager,
13919           initscript/Gentoo/NetworkManager.in,
13920           initscript/RedHat/NetworkManager.in,
13921           initscript/RedHat/NetworkManagerDispatcher.in,
13922           initscript/SUSE/networkmanager-dispatcher.in,
13923           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
13924
13925 2006-01-20  Robert Love  <rml@novell.com>
13926
13927         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
13928           instead of queuing.  This prevents the running of multiple NM
13929           daemons concurrently, which does not work whatsoever and results in
13930           neither daemon working correctly.  Also, we don't handle queuing and
13931           name-owner-changes, anyhow.
13932
13933 2006-01-20  Robert Love  <rml@novell.com>
13934
13935         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
13936         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
13937           to sbin, not bin.
13938
13939 2006-01-19  Robert Love  <rml@novell.com>
13940
13941         * configure.in: Require hal 0.5.0 or later.
13942
13943 2006-01-18  Robert Love  <rml@novell.com>
13944
13945         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
13946           Allow backends to flag a device (in whatever distro-dependent way
13947           they so desire) as disabled.  NM will ignore any such device.
13948         * src/backends/NetworkManagerDebian.c,
13949           src/backends/NetworkManagerRedHat.c,
13950           src/backends/NetworkManagerSlackware.c: Add stub function
13951           nm_system_device_get_disabled() that always returns FALSE (enabled).
13952         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
13953           SUSE-specific configuration structure.  Fill it in from the
13954           NM_CONTROLLED variable in the system networking scripts.  If this var
13955           exists and is "no", we ignore the device.
13956
13957 2006-01-17  Robert Love  <rml@novell.com>
13958
13959         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
13960           identical for NM.  For a full discussion, see the thread at
13961           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
13962
13963 2006-01-17  Dan Williams  <dcbw@redhat.com>
13964
13965         * src/nm-device.c
13966                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
13967                         function.  Fixes crash when wired DHCP fails.
13968
13969 2006-01-16  Robert Love  <rml@novell.com>
13970
13971         * src/Makefile.am: Don't install NMLoadModules
13972         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
13973           from src/ to test/ as no one uses it anymore.  Note that I would be
13974           fine with removing it altogether.
13975
13976 2006-01-16  Robert Love  <rml@novell.com>
13977
13978         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
13979           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13980           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
13981           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
13982           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
13983           src/nm-netlink-monitor.c: Don't miss any initializers on structure
13984           declarations, ever.
13985         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
13986           NM_STATE_DISCONNECTED is zero).
13987
13988 2006-01-16  Robert Love  <rml@novell.com>
13989
13990         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
13991           uninitialized parameter and buffer overflow.  Novell #143496.
13992
13993 2006-01-16  Dan Williams  <dcbw@redhat.com>
13994
13995         Apply the PtP Address bits of a patch from Tim Niemueller
13996
13997         * src/nm-ip4-config.[ch]
13998                 - Add ip4_ptp_address member to object
13999                 - (nm_ip4_config_copy): copy ptp address too
14000                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
14001                         new functions
14002                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
14003                         rather than local tunnel ip address
14004
14005         * src/vpn-manager/nm-vpn-service.c
14006                 - (print_vpn_config): update for PtP address
14007                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
14008                         DBusMessageIters in preparation for getting routes from the VPN
14009                         service daemons too
14010
14011         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
14012                 - (send_config_info): update for PtP address, clean up code
14013                 - (main): update for PtP address, clean up code, fix typo
14014
14015         * vpn-daemons/openvpn/src/nm-openvpn-service.c
14016                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
14017
14018         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
14019                 - (pptp_ip_up): update for PtP address
14020
14021         * vpn-daemons/pptp/src/nm-pptp-service.c
14022                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
14023
14024         * vpn-daemons/vpnc/src/nm-vpnc-service.c
14025                 - (print_vpn_config): update for PtP address
14026                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
14027
14028 2006-01-16  Dan Williams  <dcbw@redhat.com>
14029
14030         * gnome/applet/applet.c
14031                 - (nmwa_add_networks_helper): don't indicate an active network
14032                         if NM is disconnected or asleep
14033
14034 2006-01-16  Dan Williams  <dcbw@redhat.com>
14035
14036         * src/NetworkManagerPolicy.c
14037                 - (nm_policy_device_change_check): switch devices if we lose the link
14038                         on an ethernet device. 
14039
14040 2006-01-16  Dan Williams  <dcbw@redhat.com>
14041
14042         * gnome/applet/wso-wpa-psk-hex.[ch]
14043                 - Renamed -> wso-wpa-psk.[ch]
14044
14045         * gnome/applet/wso-wpa-psk.[ch]
14046                 - New files
14047
14048         * gnome/applet/wso-wpa-psk-passphrase.[ch]
14049                 - Removed, rolled into wso-wpa-psk.[ch]
14050
14051         * gnome/applet/Makefile.am
14052                 - Updated for above changes
14053
14054         * gnome/applet/wireless-applet.glade
14055                 - Consolidate WPA-PSK options into one notebook
14056                         widget, and make dialogs invisible by default
14057                         to fix screen oddities
14058
14059         * gnome/applet/wireless-security-manager.c
14060                 - (wsm_set_capabilities): create the new wpa-psk widget rather
14061                         than both the old hex & passphrase ones
14062
14063 2006-01-16  Dan Williams  <dcbw@redhat.com>
14064
14065         * gnome/applet/other-network-dialog.c
14066                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
14067
14068 2006-01-16  Dan Williams  <dcbw@redhat.com>
14069
14070         * gnome/applet/applet.c
14071                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
14072                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
14073                         prevention to realize window before trying to get server
14074                         time
14075
14076         * gnome/applet/other-network-dialog.c
14077                 - (nmwa_other_network_dialog_run): fix up focus-stealing
14078                         prevention to realize window before trying to get server
14079                         time
14080
14081         * gnome/applet/passphrase-dialog.c
14082                 - (nmi_passphrase_dialog_new): fix up focus-stealing
14083                         prevention to realize window before trying to get server
14084                         time
14085
14086 2006-01-16  Robert Love  <rml@novell.com>
14087
14088         Patch from Timo Hoenig  <thoenig@suse.de:
14089         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
14090           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
14091           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
14092           libnm-util/dbus-helpers.h: add checks whether headers are used
14093           within a C++ build.
14094
14095 2006-01-16  Dan Williams  <dcbw@redhat.com>
14096
14097         * gnome/applet/wireless-security-option.c
14098                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
14099
14100 2006-01-16  Dan Williams  <dcbw@redhat.com>
14101
14102         * libnm-util/cipher-wpa-psk-passphrase.c
14103                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
14104                         be 8 - 63 characters inclusive
14105
14106 2006-01-16  Dan Williams  <dcbw@redhat.com>
14107
14108         * src/nm-dbus-nm.c
14109                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
14110
14111 2006-01-13  Robert Love  <rml@novell.com>
14112
14113         Patch by T Sureshkumar <tsureshkuman@novell.com>:
14114         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
14115           modules that do not use an interface.
14116
14117 2006-01-13  Dan Williams  <dcbw@redhat.com>
14118
14119         * src/nm-device.c
14120           src/nm-device.h
14121                 - Allow subclasses to implement deactivate_quickly()
14122                 - (nm_device_deactivate_quickly): call subclass
14123                         deactivate_quickly() methods
14124                 - (nm_device_set_active_link): small cleanups, and don't
14125                         deactivate the device right away because we risk a deadlock
14126                         when called from device thread, waiting for the device
14127                         thread to cancel activation
14128
14129         * src/nm-device-802-11-wireless.c
14130                 - (real_deactivate_quickly): new function
14131                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
14132                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
14133                         so that we kill the supplicant when we sleep too
14134                 - (supplicant_interface_init): work around naive naming attempts of
14135                         wpa_ctrl when naming sockets
14136
14137 2006-01-13  Dan Williams  <dcbw@redhat.com>
14138
14139         * src/nm-device-802-11-wireless.c
14140                 - (supplicant_cleanup): delete old device control sockets too
14141                 - (supplicant_get_device_socket_path): new function to consolidate
14142                         locations that need a path to a device's control socket
14143
14144 2006-01-12  Robert Love  <rml@novell.com>
14145
14146         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
14147           description so that the description is unique for each
14148           pair (device,provider).  Fixes Novell #142773.
14149
14150 2006-01-12  Dan Williams  <dcbw@redhat.com>
14151
14152         * src/nm-device-802-11-wireless.c
14153                 - (supplicant_exec): ensure GError is correctly initialized
14154                         Reported by Diego González (gnome.org #326708)
14155
14156 2006-01-11  Robert Love  <rml@novell.com>
14157
14158         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
14159           define if_mii(), open code the same results, and do so without any
14160           type punning.
14161
14162 2006-01-11  Robert Love  <rml@novell.com>
14163
14164         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
14165           that wso_foo_new() returned non-NULL.  Instead, only append the new
14166           wso to wsm->options if the wso is non-NULL.  The crux is that we
14167           assume that the relevant key types are implied by WEP and WPA as
14168           appropriate.  To be sure, they should be, but we should not expect
14169           drivers to not be oozing piles of wolf fecal matter.
14170
14171 2006-01-11  Robert Love  <rml@novell.com>
14172
14173         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
14174         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
14175           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14176           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
14177           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
14178           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
14179           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
14180         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
14181           comparing values within DBL_EPSILON.  Also fix shadowed variable
14182           usage.
14183
14184 2006-01-11  Dan Williams  <dcbw@redhat.com>
14185
14186         Add options for WPA2 and WPA1+CCMP (AES).
14187
14188         * gnome/applet/wireless-applet.glade
14189                 - Add UI bits for WPA+CCMP
14190
14191         * gnome/applet/other-network-dialog.c
14192                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
14193                         and don't allow creation of WPA2 Ad-Hoc networks since
14194                         wpa_supplicant doesn't support them
14195
14196         * gnome/applet/wireless-security-manager.c
14197                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
14198                         on to the specific wireless security option being created
14199
14200         * gnome/applet/wireless-security-option.[ch]
14201                 - (wso_wpa_create_key_type_model): new utility function to create
14202                         the model required for WPA Key Type combo box
14203
14204         * gnome/applet/wso-private.h
14205           gnome/applet/wireless-security-option.h
14206                 - Move private function prototypes into wso-private.h
14207
14208         * gnome/applet/wso-wpa-psk-hex.[ch]
14209           gnome/applet/wso-wpa-psk-passphrase.[ch]
14210                 - (append_dbus_params_func): get WPA version from checkbox and pass
14211                         it to the dbus serialization helper
14212                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
14213                         key type combo changes
14214                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
14215                         model and options
14216
14217         * libnm-util/cipher-wpa-psk-hex.c
14218           libnm-util/cipher-wpa-psk-passphrase.c
14219                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
14220                         new function; allow the cipher to be changed after object creation
14221
14222         * src/nm-ap-security-wpa-psk.c
14223                 - (set_description): Do WPA2 descriptions too
14224
14225         * src/nm-ap-security.c
14226                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
14227
14228 2006-01-11  Robert Love  <rml@novell.com>
14229
14230         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
14231           is defined in <linux/mii.h> to return the mii_ioctl_data structure
14232           from the ifreq structure in lieu of an open coded solution.  Removes
14233           a life-threatening type-punning.
14234         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
14235           types, ever, whatsoever, baby.
14236
14237 2006-01-11  Robert Love  <rml@novell.com>
14238
14239         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
14240           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
14241           assignments to applet->nm_state into a new nmwa_set_state() function
14242           for both cleanliness and to help debugging.
14243
14244 2006-01-10  Robert Love  <rml@novell.com>
14245
14246         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
14247           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
14248           seconds, exclusive.  That is, we want to sleep x seconds such that
14249           1 < x < 2.
14250
14251 2006-01-10  Robert Love  <rml@novell.com>
14252
14253         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
14254           the attr fields according to the example in the email available at
14255           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
14256           Conversely, we do have to free 'name', so we do so, fixing a leak.
14257
14258 2006-01-10  Robert Love  <rml@novell.com>
14259
14260         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
14261           sure that we close the socket!
14262
14263 2006-01-10  Robert Love  <rml@novell.com>
14264
14265         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
14266           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
14267           src/nm-device.c: Fix a FIXME!  Reimplement the function
14268           nm_device_update_hw_address() in device subclass variants,
14269           nm_device_802_3_ethernet_set_address() and
14270           nm_device_802_11_wireless_set_address(), hook them up, and use them.
14271           This fixes the existing bug where MAC addresses are all zeros.
14272
14273 2006-01-10  Robert Love  <rml@novell.com>
14274
14275         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
14276           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
14277           option to give users ability to globally disconnect and put NM to
14278           sleep.  This is useful as a 'lockdown mode' for flying, security, and
14279           clean disconnect.
14280
14281 2006-01-09  Robert Love  <rml@novell.com>
14282
14283         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
14284           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
14285           User-space does not supply these types, so we have to define them
14286           ourselves.  The relevant kernel maintainer refused to accept a patch
14287           switching these headers to the proper C99 types.
14288
14289 2006-01-09  Dan Williams  <dcbw@redhat.com>
14290
14291         Apply Robert's 'tray icon redo' patch with fixes
14292         * gnome/applet/applet.c
14293           gnome/applet/applet.h
14294                 - Instead of using a menu bar + menu item, simulate menu
14295                         behavior using a popup menu.  Highlight the area around
14296                         the icon more like a menu too, by playing with the
14297                         applet's size requisition
14298
14299 2006-01-09  Timo Hoenig   <thoenig@suse.de>
14300         * libnm-util/dbus-helpers.c
14301           libnm-util/dbus-helpers.h
14302                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
14303                         to 'exception_namespace' (:namespace is a keyword in
14304                         C++)
14305
14306 2006-01-09  Dan Williams  <dcbw@redhat.com>
14307
14308         * src/NetworkManagerPolicy.c
14309                 - (nm_policy_device_change_check): don't autoswitch away from
14310                         Ad-Hoc networks, since there's really no concept of
14311                         "link"
14312
14313         * src/nm-dbus-nm.c
14314                 - (nm_dbus_nm_create_wireless_network): mark created networks
14315                         as Ad-Hoc networks
14316
14317         * src/nm-device-802-11-wireless.c
14318                 - (real_activation_success_handler): add user-created Ad-Hoc
14319                         networks to the device's scan list
14320
14321 2006-01-08  Dan Williams  <dcbw@redhat.com>
14322
14323         We now require a patch for wpa_supplicant to support Ad-Hoc
14324         networks:
14325           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
14326
14327         * src/nm-device-802-11-wireless.c
14328                 - (supplicant_send_network_config): turn off wpa_supplicant's
14329                         scanning.  Fixes Ad-Hoc networks.
14330
14331 2006-01-08  Dan Williams  <dcbw@redhat.com>
14332
14333         * src/nm-ap-security.c
14334           src/nm-ap-security.h
14335                 - Add a user_created argument to the write_supplicant_config
14336                         functions
14337
14338         * src/nm-ap-security-wep.c
14339           src/nm-ap-security-wpa-psk.c
14340           src/nm-device-802-11-wireless.c
14341                 - Make Ad-Hoc mode somewhat work, at least write the
14342                         correct options to wpa_supplicant
14343
14344 2006-01-08  Dan Williams  <dcbw@redhat.com>
14345
14346         * src/nm-device-802-11-wireless.c
14347                 - Remove unused code from the old device activation path
14348
14349 2006-01-08  Dan Williams  <dcbw@redhat.com>
14350
14351         * libnm-util/dbus-helpers.c
14352                 - (nmu_security_serialize_wpa_psk): pass a blank key through
14353                         dbus when key == NULL
14354
14355 2006-01-08  Dan Williams  <dcbw@redhat.com>
14356
14357         * gnome/applet/nm-gconf-wso-wpa-psk.c
14358                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
14359                         correct arguments to nmu_security_deserialize_wpa_psk()
14360
14361         * src/nm-ap-security-wpa-psk.c
14362                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
14363                         arguments to nmu_security_deserialize_wpa_psk()
14364
14365 2006-01-08  Dan Williams  <dcbw@redhat.com>
14366
14367         * gnome/applet/wso-wpa-psk-hex.c
14368           gnome/applet/wso-wpa-psk-passphrase.c
14369                 - Hook up the append_dbus_params_func() function
14370
14371 2006-01-08  Dan Williams  <dcbw@redhat.com>
14372
14373         * src/nm-device-802-11-wireless.c
14374                 - (get_wireless_capabilities): correctly detect driver WPA
14375                         capabilities
14376
14377 2006-01-08  Dan Williams  <dcbw@redhat.com>
14378
14379         * gnome/applet/Makefile.am
14380           gnome/applet/wso-wpa-psk-hex.c
14381           gnome/applet/wso-wpa-psk-hex.h
14382                 - New files, implement WPA-PSK Hex key input
14383
14384         * gnome/applet/wireless-applet.glade
14385                 - Change existing wpa-psk stuff to wpa-psk-hex
14386                 - Add new widgets for wpa-psk-passphrase
14387
14388         * gnome/applet/wireless-security-manager.c
14389                 - (wsm_set_capabilities): enable WPA options
14390
14391         * gnome/applet/wso-wpa-psk-passphrase.c
14392                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
14393                         for WPA-PSK passphrase
14394
14395 2006-01-08  Dan Williams  <dcbw@redhat.com>
14396
14397         * include/NetworkManager.h
14398                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
14399                         applet/info-daemons
14400
14401         * gnome/applet/passphrase-dialog.c
14402                 - Use the constant.  Fixes a bug where the arguments to
14403                         dbus_message_new_error() were incorrect
14404
14405         * src/nm-dbus-nmi.c
14406                 - Use the constant
14407
14408 2006-01-07  Dan Williams  <dcbw@redhat.com>
14409
14410         * src/nm-device-802-11-wireless.c
14411                 - Add a link timeout so we allow the supplicant time to
14412                         reassociate if it can, before we deactivate the card
14413                 - Fix up link status and link updating so things work better
14414
14415 2006-01-07  Dan Williams  <dcbw@redhat.com>
14416
14417         * src/nm-device-802-11-wireless.c
14418                 - Switch over to using wpa_supplicant
14419                 - Add a timeout of 10s for association of the supplicant
14420                 - Start the monitor callback of the supplicant
14421
14422 2006-01-07  Dan Williams  <dcbw@redhat.com>
14423
14424         * src/NetworkManagerUtils.c
14425                 - (nm_utils_supplicant_request,
14426                   nm_utils_supplicant_request_with_check):
14427                         pass correct buffer length to wpa_ctrl_request()
14428
14429 2006-01-07  Dan Williams  <dcbw@redhat.com>
14430
14431         * src/nm-device-private.h
14432           src/nm-device.c
14433                 - (nm_device_activate_schedule_stage3_ip_config_start): make
14434                         this function available to subclasses
14435
14436 2006-01-06  Robert Love  <rml@novell.com>
14437
14438         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
14439           user plugging in a network cable signals their preference for to
14440           switch, unless the user explicitly selected a wireless network and
14441           therefore signaled their preference for said wireless network over
14442           wired.  In other words, do exactly what makes sense.
14443
14444 2006-01-06  Robert Love  <rml@novell.com>
14445
14446         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14447           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
14448           src/NetworkManagerWireless.h: Remove, no longer used and they keep
14449           showing up in my greps.
14450
14451 2006-01-06  Robert Love  <rml@novell.com>
14452
14453         * gnome/applet/applet-dbus-devices.c,
14454           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
14455           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
14456           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
14457           New Network' both failed in the non-encrypted case because we were
14458           not appending the security options to the DBUS message.  And
14459           'Connect to Other' was also failing in the encrypted case because
14460           we were not incrementing to the next DBUS parameter.  All fixed.
14461           Thanks to dcdw for some debugging help.
14462
14463 2006-01-06  Robert Love  <rml@novell.com>
14464
14465         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
14466           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
14467           hangup code and add per-device hangup.  Tie last commit into the
14468           GNOME applet.  TODO:  Save, understand, and respond to the state of
14469           each dialup device.
14470
14471 2006-01-06  Robert Love  <rml@novell.com>
14472
14473         Patch by Timo Hoenig <thoenig@suse.de>:
14474         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
14475           hangup specific dialup devices.
14476         * src/backends/NetworkManagerDebian.c,
14477           src/backends/NetworkManagerGentoo.c,
14478           src/backends/NetworkManagerRedHat.c,
14479           src/backends/NetworkManagerSlackware.c: Add stub backend.
14480         * src/backends/NetworkManagerRedHat.c,
14481           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
14482           hangup specific dialup devices.
14483
14484 2006-01-04  Robert Love  <rml@novell.com>
14485
14486         * gnome/applet/applet-dbus-devices.c,
14487           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
14488           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
14489           connections.
14490
14491 2006-01-04  Dan Williams  <dcbw@redhat.com>
14492
14493         First dump of wpa_supplicant-related code.  It's not hooked up to
14494         anything yet though.  Thanks to Kay Sievers for
14495         wpa_supplicant_wrapper.c, which formed the basis for this work,
14496         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
14497
14498         * src/Makefile.am
14499           src/wpa_ctrl.[ch]
14500                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
14501
14502         * src/NetworkManagerUtils.[ch]
14503                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
14504                         Add convenience functions for talking to wpa_supplicant
14505
14506         * src/nm-ap-security.[ch]
14507           src/nm-ap-security-wep.c
14508           src/nm-ap-security-wpa-psk.[ch]
14509                 - Update and implement real_write_supplicant_config functions
14510                         in all security types
14511                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
14512                         nm-ap-security-wpa-psk.c
14513
14514         * src/nm-device-802-11-wireless.c
14515                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
14516                    wpa_supplicant_start, wpa_supplicant_interface_init,
14517                    wpa_supplicant_send_network_config): add functions to talk to
14518                         wpa_supplicant and write network config to it
14519
14520 2006-01-04  Robert Love  <rml@novell.com>
14521
14522         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
14523           values so that distribution-backends can differentiate between the
14524           various types (modem, ISDN, et cetera) of dialup device that they
14525           support.
14526         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
14527           needed.
14528
14529 2006-01-03  Dan Williams  <dcbw@redhat.com>
14530
14531         * src/NetworkManagerPolicy.c
14532           src/nm-device.[ch]
14533           src/nm-device-802-11-wireless.c
14534                 - Move wireless-specific activation failure and success code
14535                         into wireless device class
14536
14537 2006-01-03  Robert Love  <rml@novell.com>
14538
14539         Patch by Preggna S:
14540         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
14541           IPsec does not require that a VPN client be bound to an interface,
14542           due to the use of the in-kernel IPSec bits.  So make the tunnel
14543           device optional.
14544
14545 2006-01-03  Dan Williams  <dcbw@redhat.com>
14546
14547         * src/NetworkManagerAP.c
14548                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
14549                         the WPA IE specifies that WEP is supported
14550
14551         * src/nm-device-802-11-wireless.c
14552                 - (process_scan_results): don't mark an AP as supporting WEP
14553                         if there's already other encryption capability info
14554
14555 2006-01-03  Dan Williams  <dcbw@redhat.com>
14556
14557         * src/dhcp-manager/nm-dhcp-manager.c
14558                 - Recognize activation cancellation when waiting for DHCP
14559                         configuration from dhcdbd
14560                 - Ignore non-dhcdbd messages
14561
14562         * src/nm-device.c
14563                 - (real_act_stage3_ip_config_start): return to correct behavior
14564                         of letting the dhcp-manager notify us of failure or
14565                         success rather than incorrectly doing that ourselves
14566                 - (nm_device_activate_stage4_ip_config_get): deal with
14567                         activation cancellation a bit earlier
14568
14569 2006-01-03  Dan Williams  <dcbw@redhat.com>
14570
14571         * src/nm-device-802-11-wireless.c
14572           src/nm-device.[ch]
14573                 - Add hooks to subclasses for stage3_ip_config_start and
14574                         stage4_ip_config_timeout
14575
14576         * src/nm-device-802-3-ethernet.c
14577                 - (real_get_generic_capabilities): make devices NM-supported
14578                         by default
14579
14580 2006-01-03  Robert Love  <rml@novell.com>
14581
14582         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
14583           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
14584           latter cannot differentiate between error and the address -1; misc.
14585           clean up.
14586
14587 2006-01-03  Dan Williams  <dcbw@redhat.com>
14588
14589         * src/NetworkManager.c
14590                 - Move link-checking/probing into the device subclasses
14591                         themselves
14592
14593         * src/nm-device.[ch]
14594           src/nm-device-802-11-wireless.c
14595           src/nm-device-802-3-ethernet.c
14596                 - Do periodic link checking in device subclasses rather
14597                         than being triggered from NetworkManager.c
14598                 - discover_wireless_capabilities -> get_wireless_capabilities
14599                 - discover_generic_capabilities -> get_generic_capabilities
14600                 - Device subclass activation routines now return a value of type
14601                         NMActStageReturn to indicate what step to perform next
14602                 - Devices now override stage4_get_ip4_config if they choose
14603
14604 2006-01-01  Dan Williams  <dcbw@redhat.com>
14605
14606         * src/nm-device-802-11-wireless.c
14607                 - (real_init): don't chain up to parent init because we don't
14608                         need to do that anymore
14609
14610         * src/nm-device.c
14611                 - (discover_device_type): fix arguments to ioctl() to correctly
14612                         pass interface name
14613                 - (nm_device_new): consolidate generic device initialization into
14614                         nm_device_new()
14615                 - (real_init): remove, consolidated to nm_device_new()
14616                 - (nm_device_deactivate, real_deactivate): consolidate
14617
14618 2006-01-01  Dan Williams  <dcbw@redhat.com>
14619
14620         * src/nm-activation-request.c
14621                 - Change dhcp_state member of the NMActRequest structure
14622                         from guint8 to guint32
14623
14624         * src/dhcp-manager/nm-dhcp-manager.[ch]
14625                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
14626                         than guint8 to match the dbus argument.  Turns out we were
14627                         overwriting memory since we were passing in only a guint8
14628
14629 2005-12-31  Dan Williams  <dcbw@redhat.com>
14630
14631         * refactor NMDevice into a GObject-based framework with separate
14632                 objects for wired and wireless.  The following files are no
14633                 longer used but should stick around for a bit so we don't
14634                 loose code through the cracks:
14635                         NetworkManagerDevice.c
14636                         NetworkManagerDevice.h
14637                         NetworkManagerWireless.c
14638                         NetworkManagerWireless.h
14639
14640         The intent here is to allow each device type to manage its own
14641         connection & activation life-cycle, ie to allow wireless devices
14642         to interface with wpa_supplicant, etc.  There's a fair bit of
14643         encapsulation breakage right now that should gradually get pulled
14644         back into each device, along with things like periodic property
14645         updates and link probing.
14646
14647 2005-12-29  Dan Williams  <dcbw@redhat.com>
14648
14649         * include/NetworkManager.h
14650                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
14651                         between networks that don't have any encryption at all
14652
14653 2005-12-29  Dan Williams  <dcbw@redhat.com>
14654
14655         * test/test-common.c
14656           test/test-common.h
14657           test/Makefile.am
14658                 - Move to a test-common subdirectory
14659
14660         * test/libnm-util/test-ciphers.c
14661                 - Move test data to test-inputs.h
14662                 - Test WPA ciphers too
14663
14664         * test/libnm-util/test-dbus-helpers.c
14665                 - Test serialization/deserialization of ciphers
14666
14667 2005-12-29  Dan Williams  <dcbw@redhat.com>
14668
14669         * gnome/applet/applet-dbus-devices.c
14670                 - Replace 'enc' parameter with 'capabilities' for wireless networks
14671                         in dbus calls to NM
14672                 - Set capabilities on WirelessNetwork objects
14673                 - Receive and save type-specific device capabilities too
14674
14675         * gnome/applet/applet-dbus-info.c
14676           gnome/applet/applet-dbus.c
14677                 - Passphrase dialog no longer a singleton; new instance gets created
14678                         on each request.  Updates to deal with that.
14679
14680         * gnome/applet/applet.c
14681                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14682                         than single 'encrypted' flag
14683                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14684                         menu items
14685                 - Passphrase dialog updates per above
14686
14687         * gnome/applet/menu-items.c
14688                 - (network_menu_item_update): use AP capabilities to determine
14689                         encryption
14690
14691         * gnome/applet/nm-device.[ch]
14692                 - Add accessors for type-specific device capabilities
14693
14694         * gnome/applet/other-network-dialog.c
14695                 - Rework to respect device capabilities.  i.e., if the device doesn't
14696                         support WPA, remove that option from the security dropdown
14697
14698         * gnome/applet/passphrase-dialog.c
14699                 - Massive rework so that a new instance is created each time
14700                         it's used, to support wireless network capabilities
14701
14702         * gnome/applet/wireless-network.[ch]
14703                 - Add accessors and members for wireless network capabilities
14704
14705         * gnome/applet/wireless-security-manager.[ch]
14706                 - (wsm_set_capabilities): called after creation to set which
14707                         security options get shown to the user
14708
14709 2005-12-29  Dan Williams  <dcbw@redhat.com>
14710
14711         * libnm-util/cipher-wpa-psk-passphrase.c
14712                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14713                         like other ciphers
14714
14715 2005-12-23  Dan Williams  <dcbw@redhat.com>
14716
14717         * gnome/applet/applet-dbus-info.c
14718                 - (nmi_dbus_get_key_for_network): if there's no entry in
14719                         GConf for a network, assume we want a new key
14720                 - (nmi_save_network_info): serialize wireless security info
14721                         into GConf so its saved
14722
14723         * src/nm-dbus-nm.c
14724                 - Fix warning as we may not be passed security info when
14725                         connecting to a wireless network
14726
14727 2005-12-23  Dan Williams  <dcbw@redhat.com>
14728
14729         * gnome/applet/applet-compat.c
14730                 - Fix bugs in GConf entry conversion
14731
14732         * gnome/applet/applet-dbus-info.c
14733                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14734                         list being zero-length
14735
14736         * libnm-util/cipher-*
14737           libnm-util/dbus-helpers.c
14738                 - All ciphers must now return hashed keys as UTF-8 valid
14739                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14740                         through dbus as strings too.
14741                 - Consolidate various functions that do bin->hex and hex->bin
14742                         conversion into cipher.c
14743
14744         * src/nm-ap-security-wep.c
14745           src/nm-ap-security-wpa-psk.c
14746                 - Handle NULL keys since we may not know keys right away
14747
14748         * src/nm-dbus-nmi.c
14749                 - (nm_dbus_get_network_data_cb): actually advance to the start
14750                         of the wireless security info before we try to deserialize it
14751
14752         * libnm-util/test-ciphers.c
14753                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14754
14755 2005-12-22  Dan Williams  <dcbw@redhat.com>
14756
14757         * gnome/applet/applet-compat.[ch]
14758                 - Convert old-format GConf and keyring entries
14759                         when the applet starts up.
14760
14761         * gnome/applet/applet.c
14762                 - (nmwa_get_instance): Call the conversion function
14763                         on startup before dbus is initialized
14764
14765 2005-12-22  Dan Williams  <dcbw@redhat.com>
14766
14767         * gnome/applet/applet-dbus-info.c
14768                 - Remove nmi_dbus_create_error_message() in favor of
14769                         nmu_create_dbus_error_message()
14770                 - (nmi_dbus_get_network_properties): Error message cleanups
14771                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14772                         gconf key rather than 'addresses', since they really are BSSIDs
14773                 - (nmi_dbus_get_network_properties): Dispose of the security
14774                         object when we're done with it
14775
14776 2005-12-21  Dan Williams  <dcbw@redhat.com>
14777
14778         * Consolidate the info-daemon's "updateNetworkInfo" and
14779                 "addNetworkAddress" calls into just "updateNetworkInfo"
14780
14781 2005-12-21  Dan Williams  <dcbw@redhat.com>
14782
14783         * Make connection after key retrieval work again
14784
14785 2005-12-21  Dan Williams  <dcbw@redhat.com>
14786
14787         * gnome/applet/nm-gconf-wso*
14788                 - Make the serialize functions return gboolean
14789                         rather than int
14790
14791         * gnome/applet/nm-gconf-wso.c
14792                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14793                         parent class handling so we don't segfault
14794
14795         * src/NetworkManagerAP.[ch]
14796                 - (nm_ap_get_capabilities): new function, return capabilities
14797                         now that something can use them
14798                 - (nm_ap_set_encrypted): assume that an access point supports
14799                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14800                         we even tell whether it just supports WEP40?
14801
14802         * src/NetworkManagerDevice.c
14803                 - (ap_need_key): resurrect and update for the New World Order
14804                 - (nm_device_wireless_get_activation_ap): if we're not given
14805                         security info to use, create some based on access point
14806                         capabilities
14807
14808         * src/nm-ap-security-wep.c
14809                 - (nm_ap_security_wep_new_from_ap): create a new object
14810                         based on a certain access point's capabilities
14811
14812         * src/nm-ap-security.c
14813                 - (nm_ap_security_new_from_ap): delegate creation of a new
14814                         object based on access point capabilities to a subclass
14815                 - (nm_ap_security_copy_properties): don't segfault if we
14816                         don't have a key yet
14817
14818         * src/nm-dbus-nm.c
14819                 - (nm_dbus_nm_set_active_device): provide more informative
14820                         output when errors occur.  Also construct security info
14821                         for a given access point if we weren't given any
14822
14823 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14824
14825         * configure.in: Added Lithuanian to ALL_LINGUAS.
14826
14827 2005-12-21  Dan Williams  <dcbw@redhat.com>
14828
14829         * test/libnm-util
14830                 - Add some testcases for WEP ciphers
14831
14832 2005-12-17  Dan Williams  <dcbw@redhat.com>
14833
14834         * Fix bugs
14835
14836 2005-12-17  Dan Williams  <dcbw@redhat.com>
14837
14838         * include/NetworkManager.h
14839                 - Finally kill NMEncKeyType
14840
14841         * gnome/applet/applet-dbus-info.c
14842                 - (nmi_save_network_info): convert to NMGConfWSO
14843
14844         * gnome/applet/nm-gconf-wso-*.c
14845                 - Implement gconf serialization functions
14846
14847         * src/NetworkManagerPolicy.c
14848                 - (nm_policy_activation_finish): fix up meaning of
14849                         automatic/user_requested
14850
14851 2005-12-17  Dan Williams  <dcbw@redhat.com>
14852
14853         * gnome/applet/*
14854                 - More applet cleanups
14855                 - Use the dbus-method-dispatcher
14856
14857         * libnm-util/dbus-method-dispatcher.[ch]
14858                 - Generalize the implementation from NM in
14859                         NetworkManagerUtils.c
14860
14861 2005-12-16  Dan Williams  <dcbw@redhat.com>
14862
14863         * gnome/applet/*
14864                 - Fix up the passphrase dialog to use all the
14865                         WirelessSecurityOption stuff (untested)
14866
14867 2005-12-16  Dan Williams  <dcbw@redhat.com>
14868
14869         * Move nm_gconf_get_*_helper() functions to separate files,
14870                 gconf-helpers.c & gconf-helpers.h
14871
14872         * New NMGConfWSO objects for managing the gconf side of things.
14873                 Eventually these should be merged with the
14874                 WirelessSecurityOption objects and a common base (that can
14875                 serialize/deserialize from dbus & gconf) should be
14876                 refactored out, but for now they are separate.
14877
14878 2005-12-16  Robert Love  <rml@novell.com>
14879
14880         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
14881           binaries unless they exist (nm_spawn_process() emits a warning if
14882           asked to spawn a non-existant process).
14883
14884 2005-12-16  Dan Williams  <dcbw@redhat.com>
14885
14886         * gnome/applet/applet-dbus-info.c
14887                 - Clean up lots of gconf-related code
14888
14889 2005-12-16  Robert Love  <rml@novell.com>
14890
14891         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
14892
14893 2005-12-16  Dan Williams  <dcbw@redhat.com>
14894
14895         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
14896
14897         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
14898                 bits still to be done)
14899
14900 2005-12-16  Dan Williams  <dcbw@redhat.com>
14901
14902         * Finally move info-daemon related stuff out of
14903                 NetworkManagerDbus.c to nm-dbus-nmi.c
14904
14905 2005-12-16  Dan Williams  <dcbw@redhat.com>
14906
14907         * Kill auth_method for access points, since that's now done
14908                 by NMAPSecurity objects
14909
14910         * Add a copy-constructor of sorts to NMAPSecurity
14911                 (how do you do this properly in glib???)
14912
14913 2005-12-15  Dan Williams  <dcbw@redhat.com>
14914
14915         * Exorcise encryption key hashing on APs
14916         * Use libnm-util's serialization/deserialization in both the
14917                 applet and NM
14918         * Random other stuff
14919
14920 2005-12-15  Robert Love  <rml@novell.com>
14921
14922         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
14923           is being added to the icon naming spec, so let's use that (Tango CVS
14924           has the icon).  Because it is new, however, we fall back to the
14925           current "gnome-lockscreen" if the new icon is not around, thus
14926           behavior is the same.
14927         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
14928           factory junk.
14929
14930 2005-12-15  Robert Love  <rml@novell.com>
14931
14932         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
14933           well, help to give.  Couple other misc. bits.
14934
14935 2005-12-15  Dan Williams  <dcbw@redhat.com>
14936
14937         * libnm-util/dbus-helpers.[ch]
14938                 - Make this the one-stop-shop for serializing/deserializing
14939                         AP & connection security settings over dbus.  Both NM
14940                         and applets should use this to ensure consistent dbus
14941                         API going forwared.
14942
14943 2005-12-15  Robert Love  <rml@novell.com>
14944
14945         Patch by Timo Hoenig  <thoenig@suse.de>:
14946         * src/NetworkManagerDbus.c
14947                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
14948                         if HAL jumps off the system bus.  Otherwise libdbus
14949                         (dbus_connection_dispatch) will try to run the filter
14950                         function of our libhal context which is already freed.
14951
14952 2005-12-15  Alexander Shopov  <ash@contact.bg>
14953
14954         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
14955
14956 2005-12-14  Dan Williams  <dcbw@redhat.com>
14957
14958         * include/NetworkManager.h
14959           src/NetworkManagerWireless.c
14960                 - Rearrange 802.11 wireless-specific capabilities again
14961
14962         * src/Makefile.am
14963                 - Forgot to add wpa.c/wpa.h to the makefiles
14964
14965         * src/NetworkManagerAP.[ch]
14966                 - Implement access point capabilities and parse the
14967                         WPA/RSN IEs into the capability bitfield
14968                 - Switch the "encrypted" attribute to utilize the bitfield
14969                         and capabilities rather than being independent
14970
14971         * src/NetworkManagerDevice.c
14972                 - (nm_device_wireless_get_activation_ap): break it horribly
14973                         until we can push NMAPSecurity objects into access point
14974                         objects and through the activation chain
14975                 - Stuff WPA & RSN IEs into AP capabilities
14976
14977         * src/nm-dbus-nm.c
14978                 - Take a shot at actually making setActiveDevice work
14979
14980         * src/wpa.[ch]
14981                 - Make the API a bit saner
14982
14983 2005-12-14  Dan Williams  <dcbw@redhat.com>
14984
14985         * include/NetworkManager.h
14986                 - Add 802.11-specific capability for 802.1x key
14987                         management
14988
14989         * src/wpa.[ch]
14990                 - Pull in WPA IE and RSN IE parsing code from
14991                         wpa_supplicant so we can determine access point
14992                         capabilities
14993                 - Move WPA-related constants here from NetworkManagerAP.h
14994                         and NetworkManagerDevice.c
14995
14996         * src/NetworkManagerDevice.c
14997           src/NetworkManagerAP.[ch]
14998                 - Use WPA-related constants from wpa.h
14999
15000 2005-12-14  Dan Williams  <dcbw@redhat.com>
15001
15002         * include/NetworkManager.h
15003                 - Update and split 802.11 wireless-specific capabilities from
15004                         generic device capabilities
15005
15006         * src/NetworkManagerDevice.c
15007           src/NetworkManagerDevicePrivate.h
15008                 - (nm_device_wireless_discover_capabilities): Move 802.11
15009                         wireless-specific capability checks to
15010                         NetworkManagerWireless.c
15011                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
15012                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
15013
15014         * src/NetworkManagerWireless.[ch]
15015                 - (nm_802_11_wireless_discover_capabilities): Check extended
15016                         802.11 wireless-specific capabilities of the driver
15017
15018 2005-12-14  Robert Love  <rml@novell.com>
15019
15020         Patch from Stefan Scheler <sscheler@suse.de>:
15021         * src/NetworkManagerDevice.c: call backend code to activate and
15022           deactivate NIS.
15023         * src/NetworkManagerSystem.h: add new NIS interfaces.
15024         * src/backends/NetworkManagerDebian.c,
15025           src/backends/NetworkManagerGentoo.c,
15026           src/backends/NetworkManagerRedHat.c,
15027           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
15028           support.
15029         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
15030
15031 2005-12-14  Dan Williams  <dcbw@redhat.com>
15032
15033         * src/nm-ap-security*.[ch]
15034                 - Add AP security abstractions to NetworkManager
15035
15036         * src/nm-dbus-device.c
15037                 - Begin to parse new format dbus messages from the applet
15038                         and construct an AP security object from the message
15039
15040         * libnm-util/dbus-helpers.c
15041                 - Use message iters so we can append the key as a fixed
15042                         array of bytes, which actually works rather than
15043                         using dbus_message_append_args() as we were before
15044
15045 2005-12-14  Dan Williams  <dcbw@redhat.com>
15046
15047         * src/NetworkManagerDbus.c
15048           gnome/applet/applet-dbus.c
15049                 - Fix up dbus service replacement options.  The applet
15050                         should allow replacement, NM itself should not.
15051
15052 2005-12-13  Robert Love  <rml@novell.com>
15053
15054         * src/named-manager/nm-named-manager.c: Revert earlier commit.
15055           Instead, fail silently if config is NULL by not asserting and not
15056           returning FALSE.  Also, make sure we always fclose() the file.
15057
15058 2005-12-13  Robert Love  <rml@novell.com>
15059
15060         Patch by Stefan Scheler <sscheler@suse.de>:
15061         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
15062            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
15063            via DHCP.  Still need the backends to commit the NIS domain name and
15064            and servers to yp.conf as needed.
15065
15066 2005-12-13  Robert Love  <rml@novell.com>
15067
15068         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
15069           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
15070
15071 2005-12-13  Robert Love  <rml@novell.com>
15072
15073         * src/named-manager/nm-named-manager.c: Don't unref the config until
15074           after we call rewrite_resolv_conf(), because get_last_default_domain()
15075           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
15076           `config != NULL' failed" assertion failures and "Could not commit DNS
15077           changes" warnings.
15078
15079 2005-12-12  Dan Williams  <dcbw@redhat.com>
15080
15081         * libnm-util/dbus-helpers.[ch]
15082           libnm-util/Makefile.am
15083                 - new helper calls to consolidate locations where
15084                         NM's setDevice method is called
15085
15086         * gnome/applet/applet-dbus-devices.c
15087           gnome/applet/wireless-security-option.c
15088           gnome/applet/wso-*
15089                 - Implement dbus message param append function for
15090                         all wireless security options
15091
15092 2005-12-12  Robert Love  <rml@novell.com>
15093
15094         * libnm-util/cipher-wep-passphrase.c,
15095           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
15096           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
15097           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
15098           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
15099           When handling keys, we don't care what the sign is.  The compiler
15100           guarantees us that we get our 8-bits, which is all we care about.
15101         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
15102
15103 2005-12-12  Dan Williams  <dcbw@redhat.com>
15104
15105         * gnome/applet/applet-dbus-devices.[ch]
15106           gnome/applet/applet.c
15107           gnome/applet/other-network-dialog.c
15108           gnome/applet/wireless-security-manager.[ch]
15109           gnome/applet/wireless-security-option.[ch]
15110           gnome/applet/wso-*
15111                 - Push the wireless security options further into the applet
15112
15113 2005-12-12  Robert Love  <rml@novell.com>
15114
15115         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
15116           return any name servers.  That is perfectly valid.  (Novell #134369).
15117
15118 2005-12-11  Dan Williams  <dcbw@redhat.com>
15119
15120         * gnome/applet/wso-*
15121           gnome/applet/wireless-security-option.*
15122           gnome/applet/Makefile.am
15123                 - split each security option out so we can eventually
15124                         have each one build up their own dbus message
15125                         arguments to send to NM
15126
15127 2005-12-11  Dan Williams  <dcbw@redhat.com>
15128
15129         * Make validation of the key work correctly
15130
15131 2005-12-11  Dan Williams  <dcbw@redhat.com>
15132
15133         * Hook more bits of the Other Network Dialog up to the
15134                 wireless security manager stuff, and restructure
15135                 bits of the dialog so there's less code.
15136
15137 2005-12-10  Dan Williams  <dcbw@redhat.com>
15138
15139         * gnome/applet/Makefile.am
15140                 - Add libnm-util to includes
15141                 - Add libnm-util to link list
15142                 - Add wireless-security-common.* to compile list
15143
15144         * gnome/applet/other-network-dialog.c
15145                 - Convert to using the WirelessSecurityManager code and
15146                         widgets
15147
15148         * gnome/applet/passphrase-dialog.c
15149                 - Comment out references to stuff in the glade file that
15150                         cause runtime errors until it can be fixed up
15151                         to use the WirelessSecurityManager code
15152
15153         * gnome/applet/wireless-applet.glade
15154                 - Rename some widgets
15155                 - Add widgets for the WirelessSecurityManager code
15156                 - Remove passphrase-related stuff since that's now
15157                         handled by the WirelessSecurityManager code
15158
15159 2005-12-10  Dan Williams  <dcbw@redhat.com>
15160
15161         * gnome/applet/applet-dbus-devices.c
15162                 - Print out error message details for dbus pending call callbacks
15163                 - Move nmwa_dbus_update_devices() up
15164
15165         * gnome/applet/applet-dbus-vpn.c
15166                 - Print out error message details for dbus pending call callbacks
15167
15168 2005-12-10  Dan Williams  <dcbw@redhat.com>
15169
15170         * libnm-util/*
15171                 - More fixups
15172                 - Remove cipher-manager.* because we don't need it
15173                 - Forgot to add gnome-keyring-md5 files to compile list
15174
15175 2005-12-09  Dan Williams  <dcbw@redhat.com>
15176
15177         * libnm-util/*
15178           configure.in
15179           Makefile.am
15180                 - Add a utility library for clients of NetworkManager.  It's
15181                         only targetted at applets for the moment, and contains
15182                         a generalized 802.11 cipher framework for different
15183                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
15184
15185 2005-12-09  Robert Love  <rml@novell.com>
15186
15187         * src/NetworkManagerDevice.c: handle error better in
15188           nm_device_set_mode().
15189
15190 2005-12-08  Robert Love  <rml@novell.com>
15191
15192         * include/NetworkManager.h: add WPA capabilities constants
15193         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
15194           or WPA2 and add the capabilities bits as appropriate.
15195
15196 2005-12-08  Robert Love  <rml@novell.com>
15197
15198         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
15199           NetworkManagerDispatcher.
15200         * configure.in, initscript/SUSE/.cvsignore,
15201           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
15202           initscript.
15203
15204 2005-12-08  Robert Love  <rml@novell.com>
15205
15206         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
15207
15208 2005-12-08  Robert Love  <rml@novell.com>
15209
15210         * src/NetworkManagerDevice.c: We want to fall back on and default to
15211           IW_MODE_AUTO, not -1, which is more in line with our previous
15212           behavior.  Otherwise, we try to set the wireless mode to -1 in
15213           nm_device_set_mode().
15214
15215 2005-12-07  Robert Love  <rml@novell.com>
15216
15217         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
15218           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
15219           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
15220           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
15221           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
15222           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
15223           zero.
15224
15225 2005-12-07  Robert Love  <rml@novell.com>
15226
15227         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
15228           supplied IP is invalid, fall back to DHCP.
15229
15230 2005-12-07  Dan Williams  <dcbw@redhat.com>
15231
15232         * Convert NETWORK_MODE_* constants to IW_MODE_*
15233         * Make all the get_mode/set_mode functions take and return 'int'
15234         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
15235
15236 2005-12-07  Robert Love  <rml@novell.com>
15237
15238         * src/NetworkManagerDevice.c: strncpy() buffer check.
15239         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
15240
15241 2005-12-06  Dan Williams  <dcbw@redhat.com>
15242
15243         * gnome/applet/applet-dbus.c
15244                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
15245
15246         * gnome/applet/applet-dbus-vpn.c
15247                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
15248                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
15249                         to TRUE here if stage was ACTIVATED
15250
15251 2005-12-06  Dan Williams  <dcbw@redhat.com>
15252
15253         * Change nm_device_is_* functions to better names:
15254                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
15255                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
15256
15257 2005-12-06  Dan Williams  <dcbw@redhat.com>
15258
15259         * Change naming of NMDeviceType to something more sensible:
15260                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
15261                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
15262                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
15263
15264 2005-12-06  Dan Williams  <dcbw@redhat.com>
15265
15266         * Move NetworkManager.h -> include/NetworkManager.h
15267         * Split out VPN stuff into include/NetworkManagerVPN.h
15268         * Fix up makefiles to include new location
15269         * Fix up sources to include NetworkManagerVPN.h
15270
15271 2005-12-06  Dan Williams  <dcbw@redhat.com>
15272
15273         Various changes in the applet to move VPN connection "state" -> "stage",
15274         which it actually is.  I'd like to change the signal as well when we
15275         break compat in the near future.
15276
15277 2005-12-06  Dan Williams  <dcbw@redhat.com>
15278
15279         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
15280         * initscript/Slackware/rc.networkmanager
15281                 - Cosmetic fix
15282
15283         * src/backends/NetworkManagerSlackware.c
15284                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
15285                         interfaces
15286
15287 2005-12-05  Robert Love  <rml@novell.com>
15288
15289         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
15290           to free, particularly here as it just barfs.
15291
15292 2005-12-05  Dan Williams  <dcbw@redhat.com>
15293
15294         * gnome/applet/applet-dbus.c
15295                 - Work with dbus 0.6 too
15296
15297 2005-12-03  Dan Williams  <dcbw@redhat.com>
15298
15299         * src/NetworkManagerUtils.[ch]
15300           src/nm-ip4-config.c
15301                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
15302                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
15303
15304 2005-12-01  Robert Love  <rml@novell.com>
15305
15306         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
15307           need a NULL for the '...' parameter, too, to fill the so-called
15308           sentinel.
15309
15310 2005-12-01  Robert Love  <rml@novell.com>
15311
15312         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
15313           interface is already gone, so don't call rtnl_link_change() to down
15314           it (which will segfault, anyhow).
15315
15316 2005-11-22  Robert Love  <rml@novell.com>
15317
15318         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
15319           gateway is not set, just print a little note.  Configurations without
15320           gateways are valid.
15321
15322 2005-11-22  Robert Love  <rml@novell.com>
15323
15324         * README: update
15325
15326 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
15327
15328         * configure.in: Added Finnish translation to ALL_LINGUAS
15329
15330 2005-11-14  Robert Love  <rml@novell.com>
15331
15332         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
15333           Niemueller <tim@niemueller.de>.
15334
15335 2005-11-08  Dan Williams  <dcbw@redhat.com>
15336
15337         Patch from Bill Moss <bmoss@clemson.edu>
15338         * src/NetworkManagerDevice.c
15339                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
15340                         of nm_policy_schedule_activation_finish() to prevent a
15341                         race condition that causes the link to be dropped
15342
15343 2005-11-08  Dan Williams  <dcbw@redhat.com>
15344
15345         Patch from Bill Moss <bmoss@clemson.edu>
15346         * src/NetworkManagerAPList.c
15347           src/NetworkManagerDevice.c
15348           src/NetworkManagerDbus.c
15349                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
15350                         we get more readable ether/mac addresses
15351
15352 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15353
15354         * gnome/applet/main.c: Don't set the restart command.  This fixes
15355         the issue where the restart command was getting copies of all its
15356         arguments for each time the applet was restarted.
15357
15358 2005-11-02  Robert Love  <rml@novell.com>
15359
15360         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
15361           if the widget state differs from our saved state.  This ensures we
15362           do not enter an endless loop of death and destruction.  Also, this
15363           guarantees us that we enforce the widget state.
15364
15365 2005-11-02  Robert Love  <rml@novell.com>
15366
15367         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
15368         * gnome/applet/applet-dbus-devices.c: invoke the new function
15369           nmwa_enable_wireless_set_active() to ensure that the state of the
15370           'Enable Wireless' checkbox matches the daemon's state.  This is a
15371           concern because the daemon remembers the state.
15372
15373 2005-11-02  Robert Love  <rml@novell.com>
15374
15375         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
15376           Enabled", as checkboxes should be actions/commands not positive
15377           statements, otherwise they are confusing in the unselected case.  See
15378           examples in GNOME HIG, Chapter 6.
15379
15380 2005-11-02  Robert Love  <rml@novell.com>
15381
15382         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
15383           show a list of wireless networks or the wireless devices or the
15384           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
15385           a bad bug: If wireless is disabled and the user picks a wireless
15386           network, NM will switch to the network, only to immediately switch
15387           back, as wireless is disabled.  This also reassures people that NM
15388           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
15389
15390 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15391
15392         * gnome/applet/applet.c:
15393         * gnome/applet/applet.h:
15394         Partial backout of Dan's timeout animation patch.
15395         Timeout IDs cannot legally be 0, so revert the code in place to handle
15396         a timeout ID of 0 to denote the timeout isn't running.
15397
15398 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15399
15400         * src/NetworkManagerPolicy.c:
15401         (nm_policy_device_change_check) Clarify wireless switch nm_info text
15402
15403 2005-10-28  Robert Love  <rml@novell.com>
15404
15405         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
15406           "Import Saved Configuration..." to make it clear that importing is
15407           not the next step, but an option.  As an aside, a nice TODO would be
15408           to move Importing out of the vpn-specific dialog and into the main
15409           property editor, as Importing goes with Adding, but that will require
15410           some rearchitecting of the VPN stuff I suspect.
15411
15412 2005-10-27  Dan Williams  <dcbw@redhat.com>
15413
15414         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
15415         we should replace most of the distro-specific backend code
15416         with libnl stuff.
15417
15418         Get it here:  http://people.suug.ch/~tgr/libnl/
15419
15420         * configure.in
15421           src/Makefile.am
15422                 - Add checks for libnl pkgconfig file
15423                 - Use LIBNL_LIBS & LIBNL_CFLAGS
15424
15425         * src/NetworkManagerSystem.c
15426           src/nm-ip4-config.[ch]
15427                 - Use libnl rather than ioctl() for most things
15428                 - Remove unused functions
15429
15430 2005-10-27  Robert Love  <rml@novell.com>
15431
15432         * src/backends/NetworkManagerSuSE.c: fix warning message text
15433
15434 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15435
15436         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
15437
15438 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15439
15440         * gnome/applet/applet.c: The applet's about dialog can advertise our 
15441         project page <http://www.gnome.org/projects/NetworkManager/>
15442
15443 2005-10-26  Christopher Aillon  <caillon@redhat.com>
15444
15445         * gnome/applet.c: Also use translator credits if we don't have
15446         the new GtkAboutDialog (older versions of GTK+)
15447
15448 2005-10-26  Robert Love  <rml@novell.com>
15449
15450         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
15451           failure; correct usage text for "--no-daemon"
15452
15453 2005-10-25  Dan Williams  <dcbw@redhat.com>
15454
15455         * src/NetworkManagerDevice.c
15456                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
15457                         no scan results
15458                 - (free_process_scan_cb_data): unref the device when freeing results
15459                 - (nm_device_wireless_process_scan_results): free scan results a bit later
15460                         so we don't unref the device underneath ourselves
15461
15462 2005-10-25  Dan Williams  <dcbw@redhat.com>
15463
15464         * Back out 2005-10-24 commit from Tor Krill.  Patch
15465                 causes nameservers never to be removed from named.
15466
15467 2005-10-24  Dan Williams  <dcbw@redhat.com>
15468
15469         Clean up wireless scanning and wireless link probing.
15470
15471         * src/NetworkManagerDevice.c
15472                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
15473                         just see if there's an activation request on the device, and check the
15474                         current link against the activation request access point's ESSID.
15475                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
15476                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
15477                         don't call process_scan_results() on zero-length data
15478                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
15479                         15 seconds (from 10)
15480
15481 2005-10-24  Dan Williams  <dcbw@redhat.com>
15482
15483         Cleanup some applet stuff:
15484
15485         - Animation timeouts.  If NM died while the applet was animating,
15486                 the applet would not hide itself.  This is now fixed.
15487
15488         - Remove some dead code
15489
15490         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
15491                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
15492
15493         - Track animation timeout using a gboolean rather than the timeout's
15494                 ID, since timeout IDs can legally be 0.
15495
15496 2005-10-24  Dan Williams  <dcbw@redhat.com>
15497
15498         * src/backends/interface_parser.c
15499                 - Add void to function declarations that need it
15500                         to match patch from Engin AYDOGAN
15501
15502         * src/backends/interface_parser.h
15503                 - Remove unused prototype for ifparser_interfaces()
15504
15505         Patch from Engin AYDOGAN <engin@bzzzt.biz>
15506         * src/backends/interface_parser.h:
15507                 - Compile fixes for gcc 4.0.2 (add void)
15508
15509 2005-10-24  Dan Williams  <dcbw@redhat.com>
15510
15511         Patch from Tor Krill <tor@krill.nu>
15512         * src/named-manager/nm-named-manager.c
15513                 - Write more than just the first nameserver to /etc/resolv.conf
15514                 - Write out valid /etc/resolv.conf on exit
15515
15516 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15517
15518         * gnome/applet/applet-dbus-vpn.c:
15519         Get rid of spurious newlines in debug console output
15520
15521 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15522
15523         * src/backends/NetworkManagerGentoo.c:
15524         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
15525
15526 2005-10-20  Robert Love  <rml@novell.com>
15527
15528         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
15529           direct comparison of floating point values, which is never correct.
15530           Also some misc. cleanup.
15531
15532 2005-10-19  Robert Love  <rml@novell.com>
15533
15534         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
15535
15536 2005-10-19  Robert Love  <rml@novell.com>
15537
15538         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
15539           sensitivity of the buttons.  Specificaly, do the right thing if
15540           there are no entries.
15541
15542 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15543
15544         * configure.in: Update check for adequate wireless-tools
15545         with an AC_TRY_COMPILE for the new symbols we use.
15546
15547 2005-10-19  Dan Williams  <dcbw@redhat.com>
15548
15549         * src/NetworkManagerDevice.c
15550                 - (process_scan_results): don't drop the last (or only)
15551                         access point we see
15552
15553 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15554
15555         * src/backends/NetworkManagerSlackware.c:
15556         Patch from Nico <lordllucifer@gmail.com>
15557                 - Update the Slackware backend.
15558
15559 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15560
15561         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
15562         if we've got GLib 2.8.0
15563
15564 2005-10-18  Robert Love  <rml@novell.com>
15565
15566         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
15567           function nm_schedule_state_change_signal_broadcast() when we
15568           deactivate a device, too.
15569
15570 2005-10-18  Robert Love  <rml@novell.com>
15571
15572         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
15573           be used uninitialized.
15574
15575 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15576
15577         * test/libnm_glib_test.c: Test unregistering, too.
15578
15579 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15580
15581         * configure.in: Bump to 0.5.0
15582
15583 2005-10-17  Dan Williams  <dcbw@redhat.com>
15584
15585         * NetworkManager.h
15586                 - Remove WPA-related constants so they aren't part of the
15587                         upcoming release.
15588
15589 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15590
15591         * gnome/applet/applet.c:
15592         * gnome/applet/applet.h:
15593         Desensitize the 'Connection Information' menu item when there is
15594         no active connection.
15595
15596 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15597
15598         * gnome/libnm_glib/libnm_glib.c:
15599         Make libnm_glib_unregister_callback () actually unregister the callback
15600
15601 2005-10-17  Robert Love  <rml@novell.com>
15602
15603         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
15604           two seconds -- tries is updated every 1/10 of a second, not every
15605           second..
15606
15607 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15608
15609         * gnome/applet/applet-dbus-info.c:
15610         Let D-BUS know that we haven't handled a message when we haven't.
15611
15612 2005-10-17  Robert Love  <rml@novell.com>
15613
15614         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
15615           in order to remain 64-bit clean.
15616
15617 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15618
15619         * gnome/applet/applet-dbus-info.c:
15620         Find network encryption keys asynchronously
15621
15622 2005-10-17  Robert Love  <rml@novell.com>
15623
15624         * src/backends/NetworkManagerDebian.c,
15625           src/backends/NetworkManagerRedHat,
15626           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
15627           comment delimiter.
15628
15629 2005-10-17  Robert Love  <rml@novell.com>
15630
15631         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
15632           "/etc"
15633
15634 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15635
15636         * src/NetworkManagerDevice.c: (process_scan_results)
15637         Fix logic that checks to see whether we have an ESSID.
15638
15639 2005-10-15  Dan Williams  <dcbw@redhat.com>
15640
15641         Move scanning code into NetworkManager rather than use iwlib's
15642         iw_scan() function, so that we can figure out AP capabilities.
15643
15644         * NetworkManager.h
15645                 - Add AP capability bits
15646
15647         * src/NetworkManagerAP.[ch]
15648                 - Add capability field to NMAccessPoint structure
15649                 - Add WPA & RSN Information Element fields and accessor
15650                         functions to NMAccessPoint
15651
15652         * src/NetworkManagerDevice.c
15653                 - Remove usage of iw_scan
15654                 - Add scanning code to NetworkManager rather than use
15655                         iw_scan() from iwlib
15656
15657         * src/NetworkManagerUtils.[ch]
15658                 - (nm_dispose_scan_results): remove, unused
15659
15660 2005-10-14  Christopher Aillon  <caillon@redhat.com>
15661
15662         * gnome/libnm_glib/libnm_glib.c:
15663         * gnome/libnm_glib/libnm_glib.h:
15664         Use guint instead of gint for callback IDs.
15665
15666 2005-10-12  Christopher Aillon  <caillon@redhat.com>
15667
15668         * gnome/applet/applet.c:
15669         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
15670         every 1000ms.  It will unconditionally call nmwa_update_state which
15671         kills the existing animation timeout and registers a new one with a
15672         callback to draw a new frame every 100ms.  There are 11 connecting
15673         icon frames, so the last 2 frames kept getting dropped.  Only reset
15674         the animation timeout if we aren't animating.
15675
15676 2005-10-11  Dan Williams  <dcbw@redhat.com>
15677
15678         * gnome/applet/applet-dbus-devices.c
15679                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15680                         We want to grab the product & vendor from net.physical_dev
15681                         rather than info.parent.
15682
15683 2005-10-11  Dan Williams  <dcbw@redhat.com>
15684
15685         * src/NetworkManagerDevice.c
15686                 - Use the driver's WE version for scanning rather than
15687                         the WE version NM was compiled with.  Fixes random
15688                         crashes in iw_scan () in iwlib.
15689
15690 2005-10-10  Dan Williams  <dcbw@redhat.com>
15691
15692         * Remove nm_system_load_device_modules() from backend files
15693                 and from NetworkManager.c
15694
15695 2005-10-10  Dan Williams  <dcbw@redhat.com>
15696
15697         * src/NetworkManagerPolicy.c
15698                 - Fix some bugs introduced by the capabilities patch
15699
15700 2005-10-10  Dan Williams  <dcbw@redhat.com>
15701
15702         * gnome/applet/applet-dbus-info.c
15703                 - (nmi_dbus_get_network_key): hide the menu when putting up
15704                         the keyring dialog.  (not sure if the code is right...)
15705
15706 2005-10-09  Dan Williams  <dcbw@redhat.com>
15707
15708         Patch from Bill Moss <bmoss@clemson.edu>
15709         * src/NetworkManagerDevice.c
15710                 - (nm_device_set_user_key_for_network): don't try to set auth
15711                         mode on the AP from the allowed list if it's NULL
15712
15713 2005-10-09  Dan Williams  <dcbw@redhat.com>
15714
15715         * Replace the "driver support level" stuff with capabilities.  The
15716                 capability field is a bitfield that is more flexible than the
15717                 old driver support level thing.  It's mostly so we can easily
15718                 figure out what supports WPA and what doesn't, but should be
15719                 quite useful later.
15720
15721 2005-10-09  Dan Williams  <dcbw@redhat.com>
15722
15723         * test/nmtest.c
15724                 - Removed
15725
15726         * test/nm-tool.c
15727           test/Makefile.am
15728                 - Added new "nm-tool" tool that gives quite a bit more
15729                         information
15730
15731 2005-10-07  Robert Love  <rml@novell.com>
15732
15733         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15734           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15735           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15736           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15737           appropriate
15738
15739 2005-10-07  Robert Love  <rml@novell.com>
15740
15741         * configure.in: Change our compile flags for the betterment of mankind.
15742           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15743           prototype is very bad on 64-bit platforms as types default to int but
15744           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15745           "-Wmissing-declarations" to warn if we define an exported function
15746           but fail to put it in a header.
15747
15748 2005-10-07  Robert Love  <rml@novell.com>
15749
15750         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15751           by the name nm_update_device_wireless_timeouts() and once tried,
15752           without success, to steal my pet turtle.
15753
15754 2005-10-07  Robert Love  <rml@novell.com>
15755
15756         * Cleanup prototypes: put some functions in header files and mark
15757           others as 'static' -- feel free to invert
15758         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15759           nm_vpn_manager_vpn_connection_list_copy()
15760         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15761           nm_vpn_service_get_dbus_connection()
15762         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15763           nm_vpn_manager_vpn_connection_list_copy()
15764         * src/vpn-manager/nm-vpn-service.c: make
15765           nm_vpn_service_act_request_failed() and
15766           nm_vpn_service_stage2_daemon_wait() static
15767         * src/vpn-manager/nm-vpn-service.h: add prototype for
15768           nm_vpn_service_get_dbus_connection()
15769
15770 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15771
15772         * gnome/applet/applet.c:
15773         * gnome/applet/applet.h:
15774         * gnome/applet/icons/Makefile.am:
15775         Convey information about the current connection stage in the
15776         icons themselves instead of creating a separate progress bar.
15777
15778 2005-10-04  Robert Love  <rml@novell.com>
15779
15780         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15781           convert an ether_addr structure's MAC into a string, because the
15782           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15783           versus 07:3B:04, while the former will not.
15784
15785 2005-10-04  Robert Love  <rml@novell.com>
15786
15787         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15788           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15789           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15790           default route in the 'Connection Information' dialog, send primary
15791           and secondary name servers in in "getProperties" DBUS method, add
15792           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15793           secondary domain name servers are crucial pieces of information
15794           that a user might need in debugging a network problem.
15795
15796 2005-10-04  Robert Love  <rml@novell.com>
15797
15798         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15799           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15800           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15801           default route in the 'Connection Information' dialog, send default
15802           route in "getProperties" DBUS method, add network_device_set_route(),
15803           and network_device_get_route().  The Gateway is a crucial piece of
15804           connection-related information that a user might need in debugging a
15805           network problem.
15806
15807 2005-10-03  Robert Love  <rml@novell.com>
15808
15809         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15810           NULL.
15811
15812 2005-10-02  Dan Williams  <dcbw@redhat.com>
15813
15814         * Shorten time taken to sleep by fastpathing bits of device deactivation
15815                 necessary for sleep.
15816
15817         * Fix issue where deactivating a device might deactivate the active
15818                 VPN connection, even if the VPN was not using the device.
15819
15820 2005-10-02  Dan Williams  <dcbw@redhat.com>
15821
15822         * gnome/applet/applet.c
15823                 - Adjust signal strength -> icon mapping values slightly
15824                         (so that 51% signal doesn't show a 75% icon) by adding
15825                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15826                         shows 50% icon, etc.
15827
15828 2005-09-29  Robert Love  <rml@novell.com>
15829
15830         * src/NetworkManager.c: removed unused variable.
15831
15832 2005-09-28  Dan Williams  <dcbw@redhat.com>
15833
15834         Support for named + DBus, using Red Hat DBus patches for named.  You
15835         can find those patches here, with "dbus" in the patch's filename:
15836
15837                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15838
15839         Don't forget the named dbus service file either.
15840
15841         Instead of writing a config file and spawing a named process, NM will
15842         use an already-running dbus-enabled named if it finds one.  NM will
15843         update named's forwarder configuration on the fly using dbus.
15844
15845         If there is no dbus-enabled named running, NM will automatically fall
15846         back to writing the most-recent DNS server information to /etc/resolv.conf
15847         and calling nm_system_update_dns() to kick the system's resolver.
15848
15849         Accordingly, all named-related configure-time options have been removed.
15850
15851 2005-09-26  Robert Love  <rml@novell.com>
15852
15853         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15854           ISDN support!
15855         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15856           bug in error path if "ASKPASSWORD" is "no".
15857
15858 2005-09-26  Robert Love  <rml@novell.com>
15859
15860         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15861           comment in /etc/resolv.conf -- ';' is not.
15862
15863 2005-09-19  Dan Williams  <dcbw@redhat.com>
15864
15865         * src/backends/NetworkManagerRedHat.c:
15866         * src/backends/NetworkManagerDebian.c:
15867         * src/backends/NetworkManagerSlackware.c:
15868         * src/backends/NetworkManagerGentoo.c:
15869         * src/backends/NetworkManagerSUSE.c:
15870         Fix invocations of "/sbin/ip address" to use short form instead
15871
15872 2005-09-19  Christopher Aillon  <caillon@redhat.com>
15873
15874         * src/nm-dbus-device.c: Don't assert when getting
15875         addresses of a not yet connected interface.
15876
15877         * gnome/applet/applet.c: Free icons if loading fails.
15878         Use translator-credits so translators can make themselves known.
15879
15880 2005-09-15  Christopher Aillon  <caillon@redhat.com>
15881
15882         * src/NetworkManagerAP.c:
15883         * src/NetworkManagerAP.h:
15884         * src/NetworkManagerDevice.c:
15885         Set a blacklist for certain common manufacturer default ESSIDs:
15886         APs with these ESSIDs are extremely likely to be completely
15887         different networks: connecting to one should not make NM
15888         auto-connect to every other AP with the same default ESSID.
15889
15890 2005-09-12  Christopher Aillon  <caillon@redhat.com>
15891
15892         * gnome/applet/wireless-applet.glade:
15893         The passphrase entry should also activate the default
15894
15895         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
15896
15897         * gnome/applet/applet-dbus-devices.c:
15898         * gnome/applet/applet.c:
15899         * gnome/applet/nm-device.c:
15900         * gnome/applet/nm-device.h:
15901         * src/NetworkManagerUtils.c:
15902         * src/NetworkManagerUtils.h:
15903         * src/nm-dbus-device.c:
15904         I've got a fever, and the only cure for it is less ioctl.
15905         Make NM push IP data rather than make the applet open a socket
15906         to the device.
15907
15908 2005-09-10  Christopher Aillon  <caillon@redhat.com>
15909
15910         * gnome/applet/applet.c:
15911         * gnome/applet/applet-dbus-devices.c:
15912         * gnome/applet/applet-dbus-info.c:
15913         * gnome/applet/passphrase-dialog.c:
15914         * gnome/libnm_glib/libnm_glib.c:
15915         * gnome/vpn-properties/nm-vpn-properties.c:
15916         * src/autoip.c:
15917         * src/backends/NetworkManagerRedHat.c:
15918         * src/named-manager/nm-named-manager.c:
15919         * src/NetworkManagerAPList.c:
15920         * src/NetworkManager.c:
15921         * src/NetworkManagerDbus.c:
15922         * src/NetworkManagerDevice.c:
15923         * src/NetworkManagerPolicy.c:
15924         * src/NetworkManagerSystem.c:
15925         * src/nm-dbus-device.c:
15926         * src/nm-dbus-nm.c:
15927         * src/vpn-manager/nm-vpn-manager.c:
15928         * src/vpn-manager/nm-vpn-service.c:
15929         * test/libnm_glib_test.c:
15930         * test/nminfotest.c:
15931         * test/nmtestdevices.c:
15932         Fix a bunch of 'unused variable' compiler warnings
15933
15934         * NetworkManager.h:
15935         * gnome/applet/applet-dbus-info.c:
15936         * gnome/applet/applet-dbus-info.h:
15937         * gnome/applet/applet.c:
15938         * gnome/applet/applet.h:
15939         * src/NetworkManager.c:
15940         * src/NetworkManagerDbus.c:
15941         * src/NetworkManagerDbus.h:
15942         * src/NetworkManagerDevice.c:
15943         * src/NetworkManagerDevice.h:
15944         * src/NetworkManagerMain.h:
15945         * src/NetworkManagerWireless.c:
15946         * src/NetworkManagerWireless.h:
15947         * src/nm-dbus-nm.c:
15948         Make NetworkManager be smart about how frequently to scan
15949         based on its current state.  Remove the UI for choosing when
15950         to scan.  Scanning still may disabled completely by the user
15951         via the "Wireless Enabled" menu item.
15952
15953 2005-09-09  Christopher Aillon  <caillon@redhat.com>
15954
15955         * gnome/applet/applet.c:
15956         Also overlay the vpn connecting icons onto the wired icon,
15957         when appropriate.
15958
15959         * gnome/vpn-properties/nm-vpn-properties.glade:
15960         Clean up a few strings to use better grammar and proper casing.
15961
15962 2005-09-08  Christopher Aillon  <caillon@redhat.com>
15963
15964         * gnome/applet/vpn-connection.c:
15965         * gnome/applet/vpn-connection.h:
15966         Add nmwa_vpn_connection_is_activating ()
15967
15968         * gnome/applet/applet.c:
15969         * gnome/applet/applet.h:
15970         * gnome/applet/icons/nm-vpn-connecting*.png:
15971         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
15972         the user know something's happening between clicking the VPN item and it
15973         actually being connected.
15974
15975 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15976
15977         * gnome/applet/applet-dbus-info.c: need to free attributes in the
15978         failure case as well.
15979
15980 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
15981
15982         * gnome/panel/eggtrayicon.[ch]:
15983         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
15984
15985 2005-09-07  Dan Williams  <dcbw@redhat.com>
15986
15987         Patch from Bill Moss <bmoss@clemson.edu>
15988         * src/applet-dbus.c
15989                 - (nmwa_dbus_filter): strip whitespace from beginning
15990                         and end of VPN login banner
15991
15992 2005-09-07  Dan Williams  <dcbw@redhat.com>
15993
15994         * The great VPN Manager rewrite of 2005
15995
15996 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15997
15998         * gnome/applet/menu-items.c:
15999         * gnome/applet/nm-device.c:
16000         * gnome/applet/wireless-network.c:
16001         * gnome/libnm_glib/libnm_glib.c:
16002         * src/NetworkManagerDbusUtils.c:
16003         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
16004         g_malloc0 doesn't return NULL
16005
16006 2005-09-06  Dan Williams  <dcbw@redhat.com>
16007
16008         Patch from Tomislav Vujec <tvujec@redhat.com>
16009         * src/NetworkManagerDevice.c
16010                 - (nm_get_device_by_udi): don't return a device when we
16011                         actually didn't find what we were looking for
16012
16013 2005-09-06  Christopher Aillon  <caillon@redhat.com>
16014
16015         * gnome/applet/applet-dbus-devices.c:
16016         * gnome/applet/applet-dbus-devices.h:
16017         * gnome/applet/applet-dbus.c:
16018         * src/NetworkManagerDbus.c:
16019         * src/NetworkManagerDbus.h:
16020         * src/NetworkManagerDevice.c:
16021         * src/nm-dbus-device.c:
16022         Make NM push updates about active device strength when it changes,
16023         rather than having the applet poll every 2s.
16024
16025 2005-09-05  Christopher Aillon  <caillon@redhat.com>
16026
16027         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
16028         network_device_set_strength
16029
16030 2005-09-04  Dan Williams  <dcbw@redhat.com>
16031
16032         Patch from Bill Nottingham <notting@redhat.com>
16033         * src/NetworkManagerDevice.c
16034                 - (nm_device_activation_cancel): reset the quit_activation flag
16035
16036 2005-09-04  Dan Williams  <dcbw@redhat.com>
16037
16038         * src/nm-activation-request.c
16039                 - (nm_act_request_unref): actually free the structure,
16040                         which we didn't seem to be doing before
16041
16042 2005-09-04  Dan Williams  <dcbw@redhat.com>
16043
16044         Patch from John Palmieri <johnp@redhat.com>
16045         * gnome/applet/applet-dbus-devices.c
16046                 - Fix up unreffing of DBusMessage objects
16047
16048 2005-09-04  Dan Williams  <dcbw@redhat.com>
16049
16050         Patch from John Palmieri <johnp@redhat.com>
16051         * gnome/applet/nm-device.c
16052                 - (nm_device_unref): clear network_device's memory _before_ freeing it
16053
16054 2005-09-02  Christopher Aillon  <caillon@redhat.com>
16055
16056         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
16057
16058 2005-09-02  Bill Nottingham  <notting@redhat.com>
16059
16060         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
16061
16062 2005-09-01  Dan Williams  <dcbw@redhat.com>
16063
16064         * src/NetworkManager.c
16065                 - (nm_remove_device_from_list): rename to nm_remove_device
16066                 - (nm_hal_device_removed): call nm_remove_device()
16067
16068         * src/NetworkManagerDevice.c
16069                 - Change the NMWirelessScanCB member 'reschedule' which
16070                         wasn't used to 'force' to indicate that we need to
16071                         force a scan when adding a device
16072
16073         * src/nm-dbus-nm.c
16074                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
16075                         from the device list
16076                 - (nm_dbus_nm_wake): Re-add all devices to the device list
16077
16078 2005-09-01  Robert Love  <rml@novell.com>
16079
16080         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
16081           and the check "!iface" in the error case is probably never true.
16082
16083 2005-09-01  Dan Williams  <dcbw@redhat.com>
16084
16085         Patch from Bill Nottingham <notting@redhat.com>
16086         * src/backends/NetworkManagerRedHat.c
16087                 - Add initial dialup support to Red Hat/Fedora backend
16088
16089 2005-09-01  Dan Williams  <dcbw@redhat.com>
16090
16091         * gnome/applet/applet-dbus-devices.c
16092                 - Sort both wireless networks and devices again, which got
16093                         broken when removing threading
16094
16095 2005-09-01  Christopher Aillon  <caillon@redhat.com>
16096
16097         * gnome/applet/applet.c:
16098         Only show the "Stop/Start All Wireless Devices" menuitem
16099         if we actually have wireless devices.
16100
16101         * gnome/applet/applet-dbus-info.c:
16102         * gnome/applet/applet.c:
16103         * gnome/applet/other-network-dialog.c:
16104         * gnome/applet/vpn-password-dialog.c:
16105         Drop the gtk_dialog_run () calls in favor of connecting to
16106         "response" signals, needed now that the applet is not threaded.
16107
16108 2005-08-31  Dan Williams  <dcbw@redhat.com>
16109
16110         Patch from Bill Moss <bmoss@clemson.edu>
16111         * src/NetworkManagerDevice.c
16112                 - (nm_device_wireless_scan): fix scan timeout values
16113
16114 2005-08-30  Dan Williams  <dcbw@redhat.com>
16115
16116         * gnome/applet/wireless-applet.glade
16117                 - HIG-ify the Other Wireless Networks dialog a bit more
16118                 - Fix some potential segfaults in the info dialog
16119
16120 2005-08-30  Dan Williams  <dcbw@redhat.com>
16121
16122         * gnome/applet/applet-dbus-devices.c
16123                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
16124
16125 2005-08-30  Dan Williams  <dcbw@redhat.com>
16126
16127         * gnome/applet/applet-dbus.[ch]
16128                 - Remove all the nmwa_dbus_call_method_xxxx functions since
16129                         they weren't being used anyway
16130
16131 2005-08-30  Bastien Nocera  <hadess@hadess.net>
16132
16133         * test/nmtestdevices.c: (print_usage), (main):
16134         Check the number of arguments, and fix a typo
16135
16136 2005-08-29  Dan Williams  <dcbw@redhat.com>
16137
16138         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
16139         * gnome/applet/applet.c
16140                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
16141
16142 2005-08-29  Dan Williams  <dcbw@redhat.com>
16143
16144         * gnome/applet/*
16145                 - Don't use threads any more.  Anything that blocks
16146                         (like gtk_dialog_run()) will  have to get fixed up which
16147                         should happen quickly.  We really only had threads to make
16148                         the animation smooth, and when everything got converted over
16149                         to DBus Pending Calls, the need for threads kind of went away
16150
16151 2005-08-29  Christopher Aillon  <caillon@redhat.com>
16152
16153         * gnome/applet/applet.c: Draw VPN connections as radio items
16154         since we don't yet support multiple VPNs.
16155         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
16156         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
16157
16158 2005-08-29  Dan Williams  <dcbw@redhat.com>
16159
16160         Patch from j@bootlab.org
16161         - Make --without-named work
16162         - Make --with-dhcdbd work correctly
16163
16164 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
16165
16166         * configure.in: Added "ca" to ALL_LINGUAS.
16167
16168 2005-08-26  Christopher Aillon  <caillon@redhat.com>
16169
16170         * Fix up VPN state handling between the applet and NetworkManager,
16171                 so that the applet doesn't show a VPN as connected when one
16172                 really is not
16173                         - The applet no longer has a pointer to the active VPN's
16174                                 name, but tracks each VPNs state individually
16175                         - NM no longer has a "getActiveVPNConnection" method
16176                         - NM no longer broadcasts the "VPNConnectionChange" signal
16177                         - NM now broadcasts a "VPNConnectionStateChange" signal
16178                                 whenever the state of a VPN changes
16179
16180 2005-08-26  Dan Williams <dcbw@redhat.com>
16181
16182         * gnome/applet/applet-dbus-devices.c
16183           gnome/applet/applet-dbus-vpn.c
16184                 - Remove calls to dbus_pending_call_ref() because we already
16185                         "own" the pending call
16186                 - Remove calls to dbus_pending_call_get_completed() because
16187                         when we are in the callback, the pending call is completed
16188                         by definition
16189
16190 2005-08-22  Dan Williams <dcbw@redhat.com>
16191
16192         Patch by Bill Moss <bmoss@clemson.edu>
16193         * src/dhcp-manager/nm-dhcp-manager.c
16194                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
16195                         some time to send out a RELEASE if they like
16196
16197 2005-08-22  Dan Williams <dcbw@redhat.com>
16198
16199         Noticed by Bill Moss <bmoss@clemson.edu>
16200         * src/NetworkManagerDbus.c
16201                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
16202                         instead of just cancelling its activation
16203
16204         * src/NetworkManagerDevice.c
16205                 - (nm_device_deactivate): some small cleanups
16206                 - (nm_device_set_user_key_for_network): deactivate the device
16207                         instead of just cancelling its activation
16208
16209 2005-08-22  Dan Williams <dcbw@redhat.com>
16210
16211         Noticed by Bill Moss <bmoss@clemson.edu>
16212         * src/NetworkManagerDevice.c
16213                 - (nm_device_wireless_scan): fix scan timeout, we were
16214                         waiting way too long for scans to complete
16215
16216 2005-08-22  Dan Williams <dcbw@redhat.com>
16217
16218         Patch from j@bootlab.org:
16219         * src/backends/NetworkManagerDebian.c
16220                 - Make the Debian backend work for static IP again
16221
16222 2005-08-20  Christopher Aillon  <caillon@redhat.com>
16223
16224         * gnome/applet/other-network-dialog.c:
16225         The "Create New Network" and "Connect to Other Network"
16226         dialogs share alot of code, but shouldn't share a window
16227         title.  Give them different ones.
16228
16229         * gnome/applet/wireless-applet.glade:
16230         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
16231         Some more minor UI tweaks.
16232
16233 2005-08-19  Christopher Aillon  <caillon@redhat.com>
16234
16235         * gnome/applet/other-network-dialog.c:
16236         * gnome/applet/wireless-applet.glade:
16237         Also need mnemonic widgets, and underline enabled.
16238
16239 2005-08-19  Dan Williams <dcbw@redhat.com>
16240
16241         * vpn-daemons/vpnc/nm-vpnc-service.c
16242                 - (vpnc_watch_cb): remove no-longer-relevant comment
16243                 - (write_config_option): new function, helper to write
16244                         config options to vpnc's stdin
16245                 - (nm_vpnc_config_write): use the new helper, make the
16246                         code shorter
16247
16248 2005-08-19  Christopher Aillon <caillon@redhat.com>
16249
16250         * gnome/applet/passphrase-dialog.c:
16251         * gnome/applet/wireless-applet.glade:
16252         Make the passphrase dialog response based, and treat
16253         responses other than OK (such as Esc, [X]) as a cancel.
16254
16255 2005-08-18  Christopher Aillon <caillon@redhat.com>
16256
16257         * initscript/Gentoo/NetworkManager:
16258         * initscript/RedHat/NetworkManager:
16259         * initscript/RedHat/NetworkManagerDispatcher:
16260         * initscript/SUSE/networkmanager:
16261         CVS remove these in place of .in replacements
16262
16263         * configure.in:
16264         * initscript/Gentoo/NetworkManager.in:
16265         * initscript/RedHat/NetworkManager.in:
16266         * initscript/RedHat/NetworkManagerDispatcher.in:
16267         * initscript/SUSE/networkmanager.in:
16268         These scripts now are generated so they work still when
16269         NM is built using a bindir other than /usr/bin
16270
16271 2005-08-18  Dan Williams <dcbw@redhat.com>
16272
16273         * gnome/applet/main.c
16274                 - Revert previous change for --no-session since
16275                         --sm-disable does the same thing
16276
16277 2005-08-18  Dan Williams <dcbw@redhat.com>
16278
16279         * gnome/applet/applet-dbus-info.c
16280                 - (nmi_dbus_create_error_message): new function
16281                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
16282                         functions.  Also don't check for both device _and_ network before
16283                         asking for a user's key, because we may not have gotten all our
16284                         networks back from NM quite yet (due to the dbus pending calls
16285                         coming in later).  Fixes a hang in NM/nm-applet.
16286
16287         * src/NetworkManagerDbus.c
16288                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
16289                         slightly more sane manner, even though we are still broken for
16290                         certain other error conditions.
16291                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
16292                         to the info-daemon too
16293
16294         * src/NetworkManagerDevice.c
16295                 - Fix some debug messages to be info messages instead
16296
16297 2005-08-18  Dan Williams <dcbw@redhat.com>
16298
16299         * gnome/applet/main.c
16300                 - Add new "--no-session" parameter that disables applet
16301                         session management, ie for testing
16302
16303 2005-08-18  Christopher Aillon <caillon@redhat.com>
16304
16305         * gnome/applet/other-network-dialog.c:
16306         * gnome/applet/wireless-applet.glade: More mnemonics
16307
16308 2005-08-17  Robert Love  <rml@novell.com>
16309
16310         * initscript/SUSE/networkmanager: update
16311
16312 2005-08-17  Dan Williams  <dcbw@redhat.com>
16313
16314         * Tag NM_0_4_1_RELEASE
16315
16316 2005-08-17  Christopher Aillon  <caillon@redhat.com>
16317
16318         * gnome/applet/applet.c: More translatable string cleanup
16319
16320
16321 2005-08-17  Dan Williams  <dcbw@redhat.com>
16322
16323         * gnome/applet/applet-dbus-info.c
16324                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
16325                         from the dbus message, which tells us to unconditionally
16326                         ask the user for a new key.  Otherwise, we pull the key from
16327                         the keyring and return it.  If we fail to get the key from the
16328                         keyring, we ask the user for a new key.
16329                 - (nmi_dbus_get_network_key): new function to grab the key for
16330                         an essid from the keyring.
16331                 - (nmi_dbus_get_network_properties): don't access the keyring here.
16332                         Also, don't return any key in the dbus message.
16333
16334         * src/NetworkManagerDbus.[ch]
16335                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
16336                         indicate that we unconditionally want a new key.  This function
16337                         is now also used to get keys from the info-daemon which are
16338                         pre-stored, not just for asking the user for a new key.  The
16339                         "new_key" parameter indicates whether or not we wish to ask the
16340                         user for a new key.
16341                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
16342                         info-daemon in the return message, so use NULL instead.  The
16343                         key will be filled in at connect time by calling
16344                         nm_dbus_get_user_key_for_network()
16345
16346         * src/NetworkManagerDevice.c
16347                 - (nm_device_wireless_configure): update for "new_key" param to
16348                         nm_dbus_get_user_key_for_network().  We initially set new_key
16349                         to FALSE to see if we have a stored key in the info-daemon, but
16350                         if the connection is unsuccessful at this stage we request a
16351                         new one
16352
16353 2005-08-17  Dan Williams  <dcbw@redhat.com>
16354
16355         * gnome/applet/icons/nm-no-connection.png
16356           gnome/applet/icons/nm-device-wired.png
16357                 - Use Diana's new RJ45 connector icons
16358
16359 2005-08-17  Dan Williams  <dcbw@redhat.com>
16360
16361         * src/NetworkManagerPolicy.c
16362                 - (nm_policy_device_change_check): clarify switching rules if
16363                         both new and old devices are valid; mainly, don't switch
16364                         away from user-requested wireless connection back to a wired
16365                         one
16366
16367 2005-08-17  Dan Williams  <dcbw@redhat.com>
16368
16369         * gnome/applet/Makefile.am
16370                 - Relocate the applet to /usr/bin since it is no longer
16371                         executed by anything, but directly by the user
16372
16373 2005-08-17  Dan Williams  <dcbw@redhat.com>
16374
16375         Patch from Bill Moss <bmoss@clemson.edu>
16376
16377         * gnome/applet/applet-dbus-info.[ch]
16378                 - (nmi_save_network_info): save timestamp for network if it
16379                         was a change requested by the user
16380                 - (nmi_dbus_update_network_info): get user_requested from dbus
16381                         message and pass to nmi_save_network_info()
16382
16383         * gnome/applet/applet.c
16384                 - (nmwa_update_network_timestamp): remove
16385                 - (nmwa_menu_item_activate): don't set timestamp on networks
16386                         here, only after a successful connect in nmi_save_network_info()
16387
16388         * src/NetworkManagerDbus.[ch]
16389                 - (nm_dbus_update_network_info): pass user_requested into the 
16390                         dbus message
16391
16392         * src/NetworkManagerPolicy.c
16393                 - (nm_policy_activation_finish): pass user_requested to
16394                         nm_dbus_update_network_info()
16395
16396 2005-08-16  Robert Love  <rml@novell.com>
16397
16398         * gnome/applet/applet.c: Better "Dial Up" menu item.
16399
16400 2005-08-16  Robert Love  <rml@novell.com>
16401
16402         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
16403           "Connection Information" menu item.
16404
16405 2005-08-16  Dan Williams  <dcbw@redhat.com>
16406
16407         Patch from j@bootlab.org
16408         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
16409
16410         * configure.in: allow specifying the path to dhcdbd
16411
16412 2005-08-16  Robert Love  <rml@novell.com>
16413
16414         Patch from j@bootlab.org
16415         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
16416           src/backends/interface_parser.h: Debian dialup support.
16417
16418 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16419
16420         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
16421         * gnome/applet/applet.c: Add some mnemonics for VPNC
16422
16423         * vpn-daemons/.cvsignore: fix this up a little bit
16424
16425 2005-08-16  Robert Love  <rml@novell.com>
16426
16427         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
16428           support.
16429
16430 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16431
16432         * gnome/applet/applet.c: Split markup out of translatable strings
16433         and clean up logic a little bit.  (fixes #309012)
16434
16435 2005-08-15  Christopher Aillon  <caillon@redhat.com>
16436
16437         * gnome/vpn-properties/nm-vpn-properties.c:
16438         * gnome/vpn-properties/nm-vpn-ui-interface.h:
16439         * vpn-daemons/vpnc/properties/nm-vpnc.c:
16440         Makeshift fix to remove newlines from translatable strings.
16441         Note that we now return an allocated string, so callers of
16442         get_confirmation_details () must now call g_free () on the
16443         result. (fixes #309033).
16444
16445 2005-08-12  Robert Love  <rml@novell.com>
16446
16447         * gnome/applet/applet-dbus.c: remove newlines from translatable
16448           strings--not needed here anyway. (fix b.g.o #309011)
16449         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
16450
16451 2005-08-11  Robert Love  <rml@novell.com>
16452
16453         * gnome/applet/applet.c: mark string as translatable.
16454
16455 2005-08-11  Robert Love  <rml@novell.com>
16456
16457         * initscript/SUSE/networkmanager: update.
16458
16459 2005-08-11  Dan Williams  <dcbw@redhat.com>
16460
16461         * src/nm-dhcp-manager.c
16462                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
16463                         an gateway returned from DHCP, try to use the address of the DHCP
16464                         server as the gateway instead.  Found by Ralf Ertzinger.
16465
16466 2005-08-10  Robert Love  <rml@novell.com>
16467
16468         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
16469           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
16470
16471 2005-08-10  Dan Williams  <dcbw@redhat.com>
16472
16473         Patch from Bill Moss <bmoss@clemson.edu>
16474         * Consolidate writes of access point information updates to the info daemon
16475                 so that we only do it when the connection to the access point was
16476                 successful.  Also consolidates updates to GConf in the Gnome applet.
16477
16478         * src/nm-netlink-monitor.c
16479                 - Silence compile warning when calling g_object_new()
16480
16481 2005-08-08  Dan Williams  <dcbw@redhat.com>
16482
16483         Patch from Steev <steev@steev.net>:
16484         * src/backends/NetworkManagerGentoo.c
16485                 - Stub new dialup backend functions
16486
16487 2005-08-08  Dan Williams  <dcbw@redhat.com>
16488
16489         Patch from Colin Slater:
16490         * src/backends/NetworkManagerGentoo.c
16491                 - (nm_system_update_dns): Fix exit status check for restarting
16492                         nscd
16493
16494 2005-08-05  Robert Love  <rml@novell.com>
16495
16496         * NetworkManager.h,
16497           gnome/applet/applet-dbus-devices.c,
16498           gnome/applet/applet-dbus-devices.h,
16499           gnome/applet/applet-dbus.c,
16500           gnome/applet/applet.c,
16501           gnome/applet/applet.h,
16502           src/NetworkManager.c,
16503           src/NetworkManagerMain.h,
16504           src/NetworkManagerSystem.h,
16505           src/backends/NetworkManagerRedHat.c,
16506           src/backends/NetworkManagerSuSE.c,
16507           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
16508
16509 2005-08-05  Robert Love  <rml@novell.com>
16510
16511         * gnome/applet/other-network-dialog.c: default the adhoc network to the
16512           machine's hostname to make adhoc creation idiot-proof.
16513
16514 2005-08-04  Robert Love  <rml@novell.com>
16515
16516         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
16517           freed.
16518
16519 2005-08-04  Dan Williams  <dcbw@redhat.com>
16520
16521         * gnome/applet/applet-dbus-info.c
16522           gnome/applet/applet-dbus-info.h
16523                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
16524                         to store key, key type, and auth method rather than just auth method
16525                 - (nmi_dbus_update_network_info): new function
16526                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
16527
16528         * gnome/applet/passphrase-dialog.c
16529                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
16530                         of saving the info ourselves
16531
16532         * gnome/libnm_glib/libnm_glib.c
16533                 - Remove the stupid version check for dbus
16534
16535         * src/NetworkManagerAP.c
16536           src/NetworkManagerAP.h
16537                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
16538
16539         * src/NetworkManagerDbus.c
16540           src/NetworkManagerDbus.h
16541                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
16542                         more than just the auth method
16543
16544         * src/NetworkManagerDevice.c
16545                 - Update network info at the appropriate times
16546
16547 2005-07-29  Ray Strode  <rstrode@redhat.com>
16548
16549         * src/NetworkManager.c (nm_info_handler): don't use input as format
16550         string (Spotted by Ian Jackson).
16551
16552 2005-07-27  Dan Williams  <dcbw@redhat.com>
16553
16554         * src/nm-dbus-nm.c
16555           src/nm-dbus-net.c
16556                 - Random cleanups of spacing
16557
16558         * gnome/applet/applet.h
16559           gnome/applet/other-network-dialog.c
16560           gnome/applet/passphrase-dialog.c
16561                 - Conslidate usage of NMWAEncryptionKeyTypes enum
16562
16563         Patch from Bill Moss:
16564                 - Make Other Wireless Networks work again with encryption keys
16565
16566 2005-07-26  Dan Williams  <dcbw@redhat.com>
16567
16568         Patch from Steev <steev@steev.net>:
16569         * src/backends/NetworkManagerGentoo.c
16570           src/backends/Makefile.am
16571                 - Fix up Gentoo backend
16572
16573 2005-07-26  Robert Love  <rml@novell.com>
16574
16575         * src/backends/NetworkManagerSuSE.c: misc. cleanup
16576
16577 2005-07-25  Robert Love  <rml@novell.com>
16578
16579         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
16580           in the same group as the wireless networks, since they are all
16581           mutually exclusive.
16582
16583 2005-07-24  Ray Strode  <rstrode@redhat.com>
16584
16585         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
16586         remove unneeded NULL arg from g_object_new().  Any
16587         warnings caused by not having the extra NULL are just a
16588         result of a bug in glib 2.7.0 - 2.7.2.
16589
16590 2005-07-22  Robert Love  <rml@novell.com>
16591
16592         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
16593
16594 2005-07-22  Robert Love  <rml@novell.com>
16595
16596         * src/nm-netlink-monitor.c: g_object_new() needs at least three
16597           parameters (gcc 4.0.2 warning fix).
16598
16599 2005-07-18  Robert Love  <rml@novell.com>
16600
16601         Suggested by Aaron Bockover (abockover@novell.com)
16602         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
16603           s/Ascii/ASCII
16604         * gnome/applet/passphrase-dialog.c: ditto
16605         * gnome/applet/wireless-applet.glade: ditto
16606
16607 2005-07-13  Dan Williams  <dcbw@redhat.com>
16608
16609         Patch from Ray Strode <halfline@gmail.com>
16610         * vpn-daemons/vpnc/nm-vpnc-service.c
16611                 - Don't let vpnc daemonize, fixes some races with PID file reading
16612
16613 2005-07-13  Dan Williams  <dcbw@redhat.com>
16614
16615         Patch from Ray Strode <halfline@gmail.com>
16616         * Random cleanups for strict CFLAGS
16617
16618 2005-07-07  Dan Williams  <dcbw@redhat.com>
16619
16620         Patch from Derek Atkins <warlord@MIT.EDU>
16621         * src/nm-dbus-net.c:
16622                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
16623
16624 2005-07-07  Dan Williams  <dcbw@redhat.com>
16625
16626         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
16627         * src/backends/NetworkManagerGentoo.c
16628                 - Gentoo backend Static IP nameserver fixes
16629                 - General Gentoo backend goodness
16630
16631 2005-07-07  Dan Williams  <dcbw@redhat.com>
16632
16633         Patch from Bastien Nocera:
16634         * gnome/applet/applet.c
16635                 - Fix up error reporting when icons or glade files are missing
16636
16637 2005-07-07  Robert Love  <rml@novell.com>
16638
16639         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
16640           are not any VPN connections above it.
16641
16642 2005-07-07  Robert Love  <rml@novell.com>
16643
16644         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
16645
16646 2005-07-05  Robert Love  <rml@novell.com>
16647
16648         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
16649           zero.
16650
16651 2005-07-05  Robert Love  <rml@novell.com>
16652
16653         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
16654           on wired or unencrypted wireless.
16655
16656 2005-07-01  Robert Love  <rml@novell.com>
16657
16658         * src/NetworkManagerSystem.c: Print the error via strerror().
16659
16660 2005-06-30  Robert Love  <rml@novell.com>
16661
16662         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
16663           then exit if the glade file is not found.  currently the application
16664           just hangs.
16665
16666 2005-06-30  Robert Love  <rml@novell.com>
16667
16668         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
16669           explicitly up all interfaces on wake from sleep.
16670
16671 2005-06-30  Robert Love  <rml@novell.com>
16672
16673         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16674           with information about the currently active connection.
16675         * gnome/applet/applet.h: (ditto)
16676         * gnome/applet/wireless-applet.glade: (ditto), new file
16677
16678 2005-06-30  Robert Love  <rml@novell.com>
16679
16680         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16681         * src/nm-dbus-nm.c: print when we sleep and wake up.
16682         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16683         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16684           in /sbin unless D-BUS is, folks).
16685         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16686
16687 2005-06-27  Robert Love  <rml@novell.com>
16688
16689         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16690           case.
16691
16692 2005-06-27  Robert Love  <rml@novell.com>
16693
16694         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16695           items radios.
16696
16697 2005-06-26  Robert Love  <rml@novell.com>
16698
16699         * src/NetworkManagerDevice.c: be specific about which device in
16700           nm_info() message.
16701
16702 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16703
16704         * src/nm-netlink-monitor.c: correct spelling error.
16705
16706 2005-06-23  Robert Love  <rml@novell.com>
16707
16708         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16709         * gnome/applet/passphrase-dialog.c: more of that keyring!
16710
16711 2005-06-23  Robert Love  <rml@novell.com>
16712
16713         * configure.in: remove extraneous GNOMEKEYRING directives.
16714         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16715         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16716         * gnome/applet/passphrase-dialog.c: whitespace.
16717
16718 2005-06-23  Robert Love  <rml@novell.com>
16719
16720         * src/NetworkManagerDevice.c: division in assignment was flipped.
16721
16722 2005-06-23  David Zeuthen  <david@fubar.dk>
16723
16724         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16725         signal to the child to indicate that we got what we wanted when we
16726         see two new-lines right after each other.
16727         (nmwa_vpn_request_password): Pass a structure with several members
16728         instead of just the passwords
16729
16730 2005-06-23  Dan Williams <dcbw@redhat.com>
16731
16732         * src/NetworkManager.c
16733           src/NetworkManagerMain.h
16734                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16735                 - (nm_hal_init): new function, init libhal context then add devices
16736                 - (nm_hal_deinit): new function, clean up libhal context
16737                 - (nm_data_free): Move Hal cleanup here
16738                 - (main): check whether Hal is running, and if so, get a list of
16739                         network devices from it
16740
16741         * src/NetworkManagerDbus.c
16742                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16743                         and when it appears, get a list of network devices from it.  If
16744                         Hal goes away, clean up the libhal context
16745
16746 2005-06-22  Robert Love  <rml@novell.com>
16747
16748         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16749           permissions of scripts before executing.
16750
16751 2005-06-21  Robert Love  <rml@novell.com>
16752
16753         * initscript/SUSE/networkmanager: update.
16754         * src/backends/NetworkManagerSuSE.c: cleanup.
16755
16756 2005-06-21  Robert Love <rml@novell.com>
16757
16758         * gnome/applet/applet.c: use menu mnemonics.
16759         * gnome/applet/menu-items.c: (ditto)
16760
16761 2005-06-21  Robert Love  <rml@novell.com>
16762
16763         * applet/applet-dbus-devices.c: mark non-static functions static.
16764         * applet/applet-dbus-vpn.c: (ditto)
16765         * applet/applet.c: (ditto)
16766         * applet/nm-device.h: (ditto)
16767         * applet/other-network-dialog.c: (ditto)
16768         * applet/passphrase-dialog.c: (ditto)
16769         * NetworkManager.c: (ditto)
16770         * NetworkManagerDbus.c: (ditto)
16771         * NetworkManagerDevice.c: (ditto)
16772         * NetworkManagerPolicy.c: (ditto)
16773         * NetworkManagerUtils.c: (ditto)
16774         * NetworkManagerWireless.c: (ditto)
16775         * NetworkManagerWireless.h: (ditto)
16776         * nm-netlink-monitor.c: (ditto)
16777         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16778         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16779         * autoip.c: include autoip.h.
16780         * autoip.h: new file.  define get_autoip().
16781         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16782         * NetworkManagerDbus.h: remove duplicate definitions.
16783
16784 2005-06-20  Robert Love  <rml@novell.com>
16785
16786         * Makefile.am: Add missing intltool-foo.in generated files to
16787           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16788           with the start of stuff to cleanup on 'distclea'.
16789         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16790           stuff right and 'distcheck' works.
16791         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16792           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16793           Makefile.am for each.  And systray/Makefile needs to be redone.
16794
16795 2005-06-19  Dan Williams <dcbw@redhat.com>
16796
16797         * src/NetworkManagerDevice.c
16798         - (nm_device_wireless_process_scan_results): scan every 20s when
16799           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16800
16801 2005-06-19  Dan Williams <dcbw@redhat.com>
16802
16803         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16804
16805 2005-06-18  Ray Strode <rstrode@redhat.com>
16806
16807         * src/nm-netlink-monitor.c 
16808         (nm_netlink_monitor_event_handler): check for the presence
16809         of either error condition not both. 
16810         
16811         (nm_netlink_monitor_error_handler): emit error signal if
16812         error occurs.
16813
16814         (nm_netlink_monitor_event_handler),
16815         (nm_netlink_monitor_error_handler),
16816         (nm_netlink_monitor_disconnect_handler): if an 
16817         assertion fails disconnect the event handler to prevent 
16818         infinite loops.
16819
16820         * src/nm-netlink-monitor.h: add new error condition
16821         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16822
16823 2005-06-18  Ray Strode <rstrode@redhat.com>
16824
16825         * src/nm-netlink-monitor.c 
16826         (nm_netlink_monitor_event_handler): remove bogus < 0
16827         check on unsigned value and return early if the kernel
16828         didn't send any bytes.
16829
16830 2005-06-17  Robert Love  <rml@novell.com>
16831
16832         * initscript/SUSE/networkmanager: Change the Provides and default
16833         run levels
16834
16835 2005-06-16  Dan Williams <dcbw@redhat.com>
16836
16837         Patch from Robert Love:
16838         * gnome/applet/applet.c
16839                 - Beautify some applet menu item names
16840
16841 2005-06-17  David Zeuthen  <davidz@redhat.com>
16842
16843         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16844         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16845         Also add new methods can_export, import_file and export.
16846
16847         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16848         to the main UI
16849
16850         * gnome/vpn-properties/nm-vpn-properties.c:
16851         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16852         nm-vpn-ui-interface.h.
16853         (update_edit_del_sensitivity): Also update "Export" sensitivity
16854         (add_vpn_connection): Also add new SVC_NAME column
16855         (import_settings): New function
16856         (retrieve_data_from_selected_connection): New function
16857         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16858         this function
16859         (export_cb): New function
16860         (init_app): Also setup the "export" widget
16861         (main): Support the --import-service and --import-file commandline
16862         arguments
16863
16864         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
16865         D-BUS 0.34
16866
16867 2005-06-16  Dan Williams <dcbw@redhat.com>
16868
16869         Patch from Robert Love:
16870         * gnome/applet/menu-items.c
16871                 - (network_menu_item_new): pass -1 as wireless network
16872                         menu items height size request rather than ascent / 2
16873
16874 2005-06-16  Dan Williams <dcbw@redhat.com>
16875
16876         * Clean up wording in Wireless Scan Methods menu items and constants
16877
16878 2005-06-16  Robert Love  <rml@novell.com>
16879
16880         * po/POTFILES.in
16881                 - remove gtkcell* files
16882
16883 2005-06-15  Dan Williams <dcbw@redhat.com>
16884
16885         Patch from Robert Love: make the applet stetic
16886
16887         * gnome/applet/Makefile.am
16888                 - Don't compile the gtkcellview and gtkcellrendererprogress files
16889
16890         * gnome/applet/gtkcellview.h
16891           gnome/applet/gtkcellview.c
16892           gnome/applet/gtkcellrendererprogress.h
16893           gnome/applet/gtkcellrendererprogress.c
16894                 - Removed
16895
16896         * gnome/applet/menu-items.c
16897                 - Progress bars are 5:1 size ratio
16898                 - Use GTK progress bars rather than internal ones
16899
16900 2005-06-15  Dan Williams <dcbw@redhat.com>
16901
16902         Patch from Robert Love:
16903         * initscript/SUSE/networkmanager
16904                 - Fix typo
16905
16906 2005-06-15  Dan Williams <dcbw@redhat.com>
16907
16908         * src/backends/NetworkManagerSuSE.c
16909           src/backends/NetworkManagerRedHat.c
16910           src/backends/NetworkManagerDebian.c
16911                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
16912
16913 2005-06-15  Dan Williams <dcbw@redhat.com>
16914
16915         * src/backends/NetworkManagerDebian.c
16916                 - Add nm_system_device_get_use_dhcp() to debian backend
16917
16918         Patch from Kay Sievers:
16919         * src/backends/NetworkManagerSuSE.c
16920                 - Update debian backend for static IP nameservers
16921
16922         * src/NetworkManagerDevice.c
16923                 - Actually set the device to use static IP or DHCP rather
16924                         than always DHCP
16925
16926 2005-06-15  Dan Williams <dcbw@redhat.com>
16927
16928         Patch from Thom May:
16929         * src/backends/NetworkManagerDebian.c
16930                 - Update debian backend for static IP nameservers
16931
16932 2005-06-15  Dan Williams <dcbw@redhat.com>
16933
16934         Patches from Robert Love:
16935         * gnome/applet/wireless-applet.glade
16936                 - Tighten up wording
16937
16938         * src/NetworkManagerDevice.c
16939                 - Remove misplaced ';'
16940
16941         * configure.in
16942           initscript/Makefile.am
16943           initscript/SUSE/Makefile.am
16944           initscript/SUSE/networkmanager
16945                 - Add SUSE initscript
16946
16947 2005-06-12  David Zeuthen  <davidz@redhat.com>
16948
16949         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
16950
16951         * gnome/vpn-properties/nm-vpn-properties.glade: New file
16952
16953         * gnome/vpn-properties/nm-vpn-properties.c: New file
16954
16955         * gnome/vpn-properties/Makefile.am: New file
16956
16957         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
16958         array of passwords
16959
16960         * src/vpn-manager/nm-vpn-manager.c
16961         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
16962         instead of just a single one
16963
16964         * src/vpn-manager/nm-dbus-vpn.c:
16965         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
16966         here
16967         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
16968
16969         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
16970         Change the interface here to give a list of passwords. Also, don't
16971         require username, but do require service
16972
16973         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
16974         the binary for the auth-dialog and use that instead of putting up a
16975         dialog asking for a single password
16976
16977         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
16978         however do remember the service
16979
16980         * gnome/applet/main.c (main): Setup i18n
16981
16982         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
16983         connection to '%s'" to the tooltip if we are connected using VPN
16984         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
16985         key to determine whether we the auth-dialog needs to
16986         reprompt. Also cope with the fact that the auth-dialog now returns
16987         an array of passwords.
16988         (nmwa_menu_configure_vpn_item_activate): New handler for
16989         "Configure VPN..." menu item
16990         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
16991         (is_vpn_available): New function to determine if we got any
16992         NM-compatible VPN software installed
16993         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
16994         items only if we have NM-compatible VPN software installed
16995         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
16996         logic for detecting when VPN connections are removed
16997
16998         * gnome/applet/applet-dbus.h: Removed the prototypes for 
16999         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
17000         since these are defined elsewhere
17001
17002         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
17003         function used to keep track of whether the last attempt succeded
17004         (nmwa_dbus_filter): Update last_attempt according to whether the
17005         VPN connection could be established or not
17006
17007         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
17008         Change prototype to take an array of passwords, not just a single
17009         password
17010
17011         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
17012         update service, not user
17013         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
17014         dbus_active_vpn_name is not NULL before using it
17015         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
17016         string array instead of assuming a single password
17017
17018         * gnome/applet/applet-dbus-info.c:
17019         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
17020         user name; don't read from gconf
17021
17022         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
17023         VPN_NAME_FILES_DIR
17024
17025         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
17026
17027         * configure.in: Add checks for gmodule-2.0.
17028         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
17029         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
17030         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
17031         for details
17032
17033         * vpn-daemons/Makefile.am: Removed
17034
17035         * vpn-daemons/README: New file to describe extensions points for VPN
17036         software
17037
17038 2005-06-10  Dan Williams <dcbw@redhat.com>
17039
17040         * src/backends/NetworkManagerRedHat.c
17041                 - (get_current_profile_name): new function, grab current network profile name from
17042                         /etc/sysconfig/network
17043                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
17044                         update an IP4 Config structure's settings from it
17045                 - (nm_system_device_get_system_config): if we're using static IP on this device,
17046                         get DNS info from current network profile
17047
17048 2005-06-09  Dan Williams <dcbw@redhat.com>
17049
17050         Patch from Robert Love:
17051         * src/NetworkManagerDevice.c
17052           src/NetworkManagerUtils.c
17053                 - 64-bit build fixes
17054
17055 2005-06-09  Dan Williams <dcbw@redhat.com>
17056
17057         Patch from Kay Sievers and Robert Love:
17058         * configure.in
17059           src/backends/Makefile.am
17060           src/backends/NetworkManagerSuSE.c
17061                 - Add SuSE support
17062
17063 2005-06-09  Dan Williams <dcbw@redhat.com>
17064
17065         * NetworkManager.h
17066                 - Add NMWirelessScanMethod enum for scan methods
17067
17068         * gnome/applet/applet-dbus-devices.c
17069                 - (nmwa_dbus_update_scanning_enabled_cb): remove
17070                 - (nmwa_dbus_update_scanning_enabled): remove
17071                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
17072                         since it got removed
17073                 - (nmwa_dbus_enable_scanning): remove
17074
17075         * gnome/applet/applet-dbus-info.c
17076                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
17077                         update the wireless scanning method from NMI
17078                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
17079                         method value to NetworkManager
17080                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
17081
17082         * gnome/applet/applet-dbus-info.h
17083                 - Add prototype for nmi_dbus_signal_update_scan_method
17084
17085         * gnome/applet/applet.c
17086                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
17087                         Wireless Scanning menu based on current wireless scan method
17088                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
17089                         signal for Wireless Scanning menu items, tell NetworkManager the new method
17090                         and update our menu items to make sure the right one is checked
17091                 - (nmwa_set_scanning_enabled_cb): remove
17092                 - (nmwa_context_menu_update): remove references to pause_scanning_item
17093                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
17094                         Scanning menu item
17095                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
17096                         from GConf
17097                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
17098                         so we get notified of preference values too
17099                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
17100
17101         * gnome/applet/applet.h
17102                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
17103                 - Add wireless scan method member to applet data
17104                 - Remove pause_scanning_item, add Wireless Scanning submenu
17105
17106         * src/NetworkManager.c
17107                 - (nm_data_new): default to NM_SCAN_METHOD_ON
17108                 - (main): grab scanning method from NMI if we can
17109
17110         * src/NetworkManagerDbus.c
17111                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
17112                         nm_dbus_update_wireless_scan_method()
17113                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
17114                         from NMI
17115                 - (nm_dbus_nmi_is_running): redundant function, removed
17116                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
17117                         when NMI comes back
17118
17119         * src/NetworkManagerDevice.c
17120                 - (nm_device_is_activated): return TRUE if the device is activated
17121                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
17122                         and we are activated
17123
17124         * src/nm-dbus-nm.c
17125                 - (nm_dbus_nm_set_scanning_enabled): removed
17126                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
17127                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
17128
17129 2005-06-09  Dan Williams <dcbw@redhat.com>
17130
17131         * NetworkManager.h
17132           src/vpn-manager/nm-vpn-service.c
17133                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
17134
17135 2005-05-27  Dan Williams <dcbw@redhat.com>
17136
17137         * vpn-daemons/vpnc/nm-vpnc-service.c
17138                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
17139                         Should fix the bug where the VPN connection terminates the first time.
17140
17141 2005-05-20  Dan Williams <dcbw@redhat.com>
17142
17143         * NetworkManager.h
17144                 - Differentiate VPN config signals between bad VPN config options
17145                         and bad IP config
17146
17147         * gnome/applet/applet-dbus-info.h
17148                 - Add prototypes for wireless network and vpn connection update functions
17149
17150         * gnome/applet/applet-dbus.c
17151                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
17152
17153         * gnome/applet/applet.c
17154                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
17155                         error signals
17156                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
17157                         propogation to NetworkManager
17158                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
17159                         notify propogation to NetworkManager
17160
17161         * src/NetworkManagerDbus.c
17162                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
17163                         are updating so a network can be removed from it if necessary
17164
17165         * src/vpn-manager/nm-vpn-manager.c
17166                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
17167
17168         * vpn-daemons/vpnc/nm-vpnc-service.c
17169                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
17170                 - (nm_vpnc_dbus_signal_launch_failed): remove
17171                 - (nm_vpnc_dbus_signal_connect_failed): remove
17172                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
17173                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
17174                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
17175                         for new generalized error signal function, remove config file stuff
17176                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
17177                         we can write configuration options to it
17178                 - (nm_vpnc_config_file_generate): removed
17179                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
17180                 - (nm_vpnc_config_options_validate): validate the config options we receive
17181                         from NetworkManager to block potential exploits
17182                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
17183                         starting vpnc
17184                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
17185                         to NetworkManager
17186
17187 2005-05-16  Dan Williams  <dcbw@redhat.com>
17188
17189         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
17190                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
17191                         is not "connect"
17192
17193 2005-05-16  Dan Williams  <dcbw@redhat.com>
17194
17195         Patch from Tomislav Vujec <tvujec@redhat.com>
17196         * gnome/applet/applet-dbus-info.c
17197                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
17198                         GConf and pass them to NetworkManager.  New key is 'routes' under
17199                         the VPN connection, and should be a string list
17200
17201         * src/NetworkManagerSystem.c
17202                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
17203                         set them on the device when we set the rest of the VPN config.  Ensure
17204                         they are in the correct format since they are passed directly to the
17205                         command line.
17206
17207         * src/backends/NetworkManagerRedHat.c
17208           src/backends/NetworkManagerDebian.c
17209                 - (nm_system_device_add_route_via_device_with_iface): new function
17210
17211         * src/vpn-manager/nm-dbus-vpn.c
17212                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
17213
17214         * src/vpn-manager/nm-vpn-manager.c
17215                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
17216                         them into the IP4 config functions
17217
17218 2005-05-15  Dan Williams  <dcbw@redhat.com>
17219
17220         From Filip Miletic:
17221         * po/sr.po
17222           po/sr@Latn.po
17223           configure.in
17224                 - Serbian translation added
17225
17226 2005-05-15  Dan Williams  <dcbw@redhat.com>
17227
17228         * dispatcher-daemon/NetworkManagerDispatcher.c
17229                 - (main): sync arguments with NetworkManager and the applet, now use
17230                         "--no-daemon" rather than "daemon=no"
17231                 - (nmd_print_usage): Fix script path in usage message
17232
17233 2005-05-15  Dan Williams  <dcbw@redhat.com>
17234
17235         * src/NetworkManagerDevice.[ch]
17236           src/NetworkManagerPolicy.c
17237           src/NetworkManager.c
17238           src/nm-dbus-nm.c
17239                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
17240                         longer send the DeviceNoLongerActive signal unconditionally, but only
17241                         when the device is actually active.
17242
17243         * dispatcher-daemon/NetworkManagerDispatcher.c
17244                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
17245                         and simplify the logic
17246                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
17247                         we free it later on
17248
17249         * initscript/RedHat/Makefile.am
17250           initscript/RedHat/NetworkManagerDispatcher
17251                 - Add initscript for NetworkManagerDispatcher
17252
17253
17254         Patch from Bill Moss:
17255         * dispatcher-daemon/NetworkManagerDispatcher.c
17256                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
17257
17258         * src/NetworkManagerDbus.c
17259                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
17260                         and DeviceNowActive gets signaled, then the device has a new IP address
17261                         anyway.  There's no need for a separate signal.
17262
17263         * src/NetworkManagerDevice.c
17264                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
17265
17266         * src/NetworkManagerPolicy.c
17267                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
17268                         activates successfully.  This kind of went missing when I reworked the
17269                         activation code.
17270
17271 2005-05-15  Dan Williams  <dcbw@redhat.com>
17272
17273         * configure.in
17274                 - Check for dhcdbd and error if its not found
17275
17276         * src/dhcp-manager/Makefile.am
17277           src/dhcp-manager/nm-dhcp-manager.c
17278                 - Use path to dhcdbd that configure found
17279
17280 2005-05-14  Dan Williams  <dcbw@redhat.com>
17281
17282         * gnome/applet/nm-device.c
17283                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
17284                         sort wireless networks alphabetically
17285
17286         * gnome/applet/applet-dbus-devices.c
17287                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
17288                         before copying them over to the GUI
17289
17290 2005-05-14  Dan Williams  <dcbw@redhat.com>
17291
17292         * src/NetworkManager.c
17293                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
17294                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
17295                         the device list, as does nm_get_active_device() which is called from
17296                         nm_vpn_manager_deactivate_vpn_connection().
17297
17298 2005-05-14  Dan Williams  <dcbw@redhat.com>
17299
17300         * NetworkManager.h
17301                 - Add signals for VPN Launch and Connect failures
17302
17303         * gnome/applet/applet-dbus.c
17304                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
17305
17306         * gnome/applet/applet.c
17307                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
17308                         function to handle all VPN failure messages
17309                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
17310                         function to hanlde all VPN failure  messages
17311                 - (show_warning_dialog): work around focus-stealing prevention
17312
17313         * gnome/applet/other-network-dialog.c
17314           gnome/applet/passphrase-dialog.c
17315                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
17316                         problem where it never enabled for ASCII Key and Hex Key types
17317
17318         * gnome/applet/wireless-applet.glade
17319                 - Add window title to Other Wireless Network Dialog
17320
17321         * src/vpn-manager/nm-dbus-vpn.c
17322                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
17323                         function to handle all VPN failure messages
17324
17325         * src/vpn-manager/nm-vpn-manager.c
17326                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
17327
17328         * vpn-daemons/vpnc/nm-vpnc-service.c
17329                 - (nm_vpnc_dbus_signal_launch_failed): new function
17330                 - (nm_vpnc_dbus_signal_connect_failed): new function
17331                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
17332                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
17333                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
17334                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
17335
17336 2005-05-11  Dan Williams  <dcbw@redhat.com>
17337
17338         * vpn-daemons/vpnc/nm-vpnc-service.c
17339                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
17340                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
17341                         file exists before trying to write it out.
17342
17343 2005-05-10  Dan Williams  <dcbw@redhat.com>
17344
17345     * gnome/applet/applet-dbus-device.c
17346         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
17347             prevented just entering ESSID and leaving key and key type up to
17348             NetworkManager (which should have them already cached)
17349
17350 2005-05-08  Dan Williams  <dcbw@redhat.com>
17351
17352         * src/NetworkManagerPolicy.c
17353                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
17354                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
17355                         fix a situation where NM is told to terminate and the device stops activation,
17356                         but the main thread isn't aware of that because it would never have run
17357                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
17358                         had already quit.
17359
17360         * src/NetworkManagerDevice.c
17361                 - (nm_device_probe_wired_link_state): cosmetic fixes
17362                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
17363                         we've failed to activate or been canceled.
17364                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
17365
17366 2005-05-08  Dan Williams  <dcbw@redhat.com>
17367
17368         * src/NetworkManagerWireless.c
17369                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
17370                         value of WEXT quality structures, and add a debug message when we cannot
17371                         determine any quality % at all
17372
17373 2005-05-08  Dan Williams  <dcbw@redhat.com>
17374
17375         * src/dhcp-manager/nm-dhcp-manager.c
17376                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
17377                         it goes down.
17378
17379 2005-05-06  Dan Williams  <dcbw@redhat.com>
17380
17381         * gnome/applet/applet-dbus-device.c
17382           gnome/applet/applet-dbus-info.c
17383           gnome/applet/applet-dbus.c
17384           gnome/applet/applet.c
17385           gnome/applet/applet.h
17386                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
17387
17388         * gnome/applet/applet-dbus.c
17389                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
17390                         so we notice when wired device's carriers come back on.  Should
17391                         fix issue with wired devices being grayed out even if the cable
17392                         is in, for devices that support carrier detection.
17393
17394         * gnome/applet/applet.c
17395                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
17396                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
17397                         tooltip message
17398                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
17399                         Fix situation where applet wouldn't respond to menu selections
17400
17401         * src/NetworkManager.c
17402           src/NetworkManagerDevice.c
17403           src/NetworkManagerDbus.c
17404           src/NetworkManagerDbus.h
17405                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
17406
17407         * src/NetworkManagerDbus.c
17408                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
17409                         Remove, no longer used or relevant
17410                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
17411                 - (nm_dbus_schedule_device_status_change_signal): add
17412
17413         * src/NetworkManagerDevice.c
17414                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
17415                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
17416                         ie don't deactivate them unless explicitly told to by the user.  Also send
17417                         CARRIER_OFF / CARRIER_ON signals when link changes
17418                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
17419                         Don't print error message when device is no longer around
17420                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
17421                         not just during activation
17422
17423         * src/NetworkManagerPolicy.c
17424                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
17425                         auto-device-selection.
17426                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
17427
17428         * src/NetworkManagerSystem.c
17429                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
17430                         is no longer present (Bill Moss)
17431
17432         * src/backends/shvar.c
17433                 - (svOpenFile): Open read-only to make SELinux happy
17434
17435         * src/backends/NetworkManagerRedHat.c
17436                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
17437                         the path to the ifcfg-* files
17438
17439 2005-05-05  Dan Williams  <dcbw@redhat.com>
17440
17441         * Expose activation stages to NetworkManager clients, like the applet
17442         * Add Diana's progress icons to the applet, cued off NM activation stage
17443         * Use more descriptive tooltips, cued off NM activation stage
17444
17445 2005-05-05  Ray Strode  <rstrode@redhat.com>
17446
17447         * src/nm-netlink-monitor.c:
17448                 - Use clear_event_source instead of g_nullify_pointer() again.
17449
17450 2005-05-05  Dan Williams  <dcbw@redhat.com>
17451
17452         * gnome/applet/main.c
17453                 - Fix session management so the applet is actually managed now
17454
17455         * gnome/applet/passphrase-dialog.c
17456                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
17457
17458 2005-05-05  Dan Williams  <dcbw@redhat.com>
17459
17460         Patch from Bill Moss:
17461         * gnome/libnm_glib/libnm_glib.c
17462                 - Fix for dbus-0.33
17463
17464 2005-05-05  Dan Williams  <dcbw@redhat.com>
17465
17466         Suggestion from Bill Moss:
17467         * src/NetworkManagerSystem.c
17468                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
17469
17470
17471         * src/NetworkManager.c
17472                 - (nm_data_free): move destruction of the various managers after
17473                         release of device list, because deactivating and freeing a device
17474                         requires at least the named manager
17475                 - (nm_poll_and_update_wireless_link_state):
17476                   (nm_device_link_activated):
17477                   (nm_device_link_deactivated):
17478                         don't grab the device list lock when actually updating device
17479                         link status or strength, since nm_device_set_link_active()
17480                         needs to call nm_get_active_device(), which also locks the device list.
17481
17482         * src/NetworkManagerDevice.c
17483                 - (nm_device_set_link_active): if a device's link switches from off->on,
17484                         and it's wired, and the active device is wireless (or there is no
17485                         active device), activate the new device whose link just came on
17486                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
17487                         my only calling the link to the current ap "failed" when more than 2
17488                         consecutive link checks have failed
17489
17490 2005-05-04  Dan Williams  <dcbw@redhat.com>
17491
17492         * src/NetworkManagerDevice.c
17493                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
17494                         but let link_to_specific_ap() do the locking where it needs
17495
17496         Patch from Bill Moss:
17497         * src/NetworkManagerSystem.c
17498                 - Set MTU of VPN devices to 1412
17499
17500 2005-05-04  Dan Williams  <dcbw@redhat.com>
17501
17502         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
17503
17504         * Fix some holes in device activation and retaining the currently connected
17505                 access point
17506
17507 2005-05-03  Dan Williams  <dcbw@redhat.com>
17508
17509         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
17510           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
17511           means you need dhcdbd, which you can get here (get the latest one):
17512
17513                 http://people.redhat.com/jvdias/dhcdbd/
17514
17515           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
17516           interface as dhcdbd.
17517
17518         * Rewrite device activation to facilitate the new DHCP infrastructure and
17519           future improvements.  Its now "activation request" based, ie there is a single
17520           activation request composed of the device, access point, and other info which
17521           follows the entire activation process.  There are 5 stages of the activation
17522           process which correspond to:
17523
17524                 1) Device preparation
17525                 2) Device configuration (bring it up, set ESSID/Key/etc)
17526                 3) IP Config Start (fire off DHCP if we're using it)
17527                 4) IP Config Get (grab config from DHCP or static config files)
17528                 5) IP Config Commit (set device's IP address, DNS, etc)
17529
17530           Note that there is no longer a "scanning" step, since the access point must
17531           be known _before_ activation starts.  If the access point drops out or does
17532           not exist for some reason, the entire activation process fails and must be
17533           restarted for a different access point or device.
17534
17535         Patch from Bill Moss:
17536         * gnome/applet/applet.c
17537                 - Fix type of vpn_failure dialog -> vpn_banner dialog
17538
17539 2005-04-27  Dan Williams  <dcbw@redhat.com>
17540
17541         * gnome/applet/applet-dbus-vpn.c
17542           gnome/applet/applet.c
17543           gnome/applet/applet.h
17544                 - Fix up active VPN handling so that we reliably know when a VPN
17545                         connection has been deactivated
17546
17547         * src/vpn-manager/nm-vpn-manager.c
17548                 - Remove duplicate VPNConnectionChange signal
17549
17550 2005-04-27  Dan Williams  <dcbw@redhat.com>
17551
17552         Patch from Peter Jones:
17553         * Remove usage of varargs to fix crashes on PPC (RH #154336)
17554
17555         Patch from Bill Moss:
17556         * src/NetworkManagerSystem.c
17557                 - Fix checking of return value from ioctl()
17558
17559 2005-04-27  Dan Williams  <dcbw@redhat.com>
17560
17561         * Fix choosing of wireless networks and "Other wireless network..." from the applet
17562         * Warn and exit if icons cannot be found
17563
17564 2005-04-27  Dan Williams  <dcbw@redhat.com>
17565
17566         Patch from Tom Parker:
17567         * Update debian backend
17568
17569 2005-04-27  Dan Williams  <dcbw@redhat.com>
17570
17571         * Merge the applet and the info-daemon, and move the converged
17572                 applet under gnome/applet
17573         * Move libnm_glib to gnome/libnm_glib
17574         * Convert most dbus calls between the applet, info-daemon, and NM
17575                 into async calls
17576         * Fix a few things valgrind noticed
17577         * Make NM broadcast state more reliably
17578
17579 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
17580
17581         * configure.in: Added ne in ALL_LINGUAS
17582
17583 2005-04-15  Dan Williams  <dcbw@redhat.com>
17584
17585         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
17586                 code for dbus 0.2x versions
17587
17588 2005-04-15  Dan Williams  <dcbw@redhat.com>
17589
17590         Patches from Tom Parker:
17591         - Fix memleaks
17592         - Join with worker thread rather than polling for its exit
17593
17594         Patch from Bill Moss:
17595         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
17596
17597 2005-04-15  Dan Williams  <dcbw@redhat.com>
17598
17599         - Fixes to pass 'make distcheck'
17600
17601 2005-04-15  Dan Williams  <dcbw@redhat.com>
17602
17603         Initial VPN Support
17604                 - supports 'vpnc'
17605                 - reworks device IP configuration, backend files have changed and will need
17606                         to be updated for all distributions.  I will try to do what I can for
17607                         them, but I cannot test them.
17608
17609         - Move named directory to src/named-manager
17610         - Make backends directory self-contained
17611
17612 2005-04-06  Dan Williams  <dcbw@redhat.com>
17613
17614         Add debug code for socket/file descriptor leaks.  We register every socket
17615         that we open (except for stuff in dhcpcd/) for tracking, and print out the
17616         list of sockets that we forgot to close on shutdown.  This also consolidates
17617         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
17618
17619 2005-04-06  Dan Williams  <dcbw@redhat.com>
17620
17621         * dhcpcd/dhcpcd.c
17622                 - (dhcp_interface_free): fix a file descriptor leak that may have
17623                         caused network drivers to not unload due to refcounts > 0
17624
17625 2005-04-04  Dan Williams  <dcbw@redhat.com>
17626
17627         * panel-applet/NMWirelessAppletDbus.c
17628                 - (nmwa_dbus_call_nm_method): remove some commented code
17629
17630         * src/NetworkManagerAPList.[ch]
17631                 - (nm_ap_list_remove_ap_by_essid): new function
17632
17633         * src/NetworkManagerDevice.c
17634                 - (nm_device_wireless_force_use): remove access points from the ignore list
17635                         when the user forces them
17636
17637         * src/nm-dbus-device.c
17638                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
17639
17640 2005-04-04  Dan Williams  <dcbw@redhat.com>
17641
17642         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
17643
17644 2005-04-04  Dan Williams  <dcbw@redhat.com>
17645
17646         * src/NetworkManagerDevice.c:
17647                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
17648                         of only erroring after the second consecutive scan times out.  Also
17649                         don't exit when the card requires more time than we can give it, just
17650                         log the event and continue.
17651
17652 2005-04-01  Steve Murphy  <murf@e-tools.com>
17653
17654         * configure.in: Added "rw" to ALL_LINGUAS.
17655
17656 2005-04-01  Dan Williams <dcbw@redhat.com>
17657
17658         Perform scans during device activation, if needed.  Both activation 
17659         and scans run in the same GMainContext.  Therefore, if an access point
17660         is not found by the time the device starts activation, it will not
17661         be available until after activation.  We now try to scan during
17662         activation (in nm_wa_test) every 15s so that all available access
17663         points are more likely to be found and available for the activation
17664         procedure.
17665
17666         Also change nm_wireless_link_state_handle() to only update the "best"
17667         AP if we are not forcing a device and if we are not about to change
17668         state.  This attempts to work around a race when forcing a device,
17669         where the forced AP would get cleared out too soon by the link state
17670         checking timeout in the main thread, and the activation attempt with
17671         that AP would fail.
17672
17673 2005-04-01  Dan Williams <dcbw@redhat.com>
17674
17675         * po/POTFILES.in
17676                 - Update with new translatables
17677
17678 2005-03-31  Dan Williams <dcbw@redhat.com>
17679
17680         * panel-applet/NMWirelessAppletDbus.c
17681                 - Fix device names now that hal has changed device parenting for
17682                         network devices.
17683
17684 2005-03-31  Dan Williams <dcbw@redhat.com>
17685
17686         Tighten up handling of wireless devices that don't support wireless
17687         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17688         hadn't been doing pseudo-scanning for a while either and would just
17689         spin waiting for an access point.  They are now manual devices where
17690         the user must choose the access point from the menu every time.  All
17691         "allowed" access points are listed in the applet's menu regardless
17692         of whether or not they can be seen by the card, since it can't scan
17693         anyway.
17694
17695         * src/NetworkManager.c
17696                 - (nm_wireless_link_state_handle): new function, but only update
17697                         the "best" ap for non-scanning devices when its not activating,
17698                         and when no device is being forced on the card
17699                 - (nm_link_state_monitor): split wireless link state handling out
17700                         into separate function
17701
17702         * src/NetworkManagerDevice.c
17703                 - (nm_device_copy_allowed_to_dev_list): new function
17704                 - (nm_device_new): populate non-scanning cards' AP lists with
17705                         access points from the "allowed" list
17706                 - (nm_device_new): don't start a scanning timeout for devices that
17707                         can't scan
17708                 - (nm_device_activation_schedule_finish): new parameter, should be
17709                         the AP that failed to be connected to, pass it on to the
17710                         activation finish function in NetworkManagerPolicy.c
17711                 - (nm_device_activate_wireless): don't ever try to get a new AP
17712                         for non-scanning devices, just fail.  The user must choose
17713                         a new access point manually.
17714                 - (nm_device_activate): grab the AP that failed connection and
17715                         pass it on
17716                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17717                         a link to it, user must manually choose a new one
17718                 - (nm_device_do_pseudo_scan): remove function
17719                 - (nm_device_wireless_process_scan_results): remove bits for non-
17720                         scanning cards since they never get here
17721                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17722                         and fake the scan list for test devices a bit earlier
17723
17724         * src/NetworkManagerPolicy.c
17725                 - (nm_policy_activation_finish): use the failed_ap that we get
17726                         passed rather than getting the best_ap from the card, which
17727                         may have changed since we were scheduled
17728                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17729                         update their scan list directly from the allowed list when
17730                         we get updates to the allowed list from NetworkManagerInfo
17731
17732         * src/NetworkManagerPolicy.h
17733                 - New member for failed access point in NMActivationResult
17734
17735   -------------------------------------
17736
17737         Driver Notification patch: notifies the user when their driver
17738                 sucks.  Gives them the option to ignore further insertions
17739                 of the card that has the sucky driver.
17740
17741         * NetworkManager.h
17742                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17743                         enum and replace it with NO_CARRIER_DETECT and
17744                         NO_WIRELESS_SCAN
17745
17746         * panel-applet/NMWirelessApplet.[ch]
17747                 - Merge essid.glade -> wireless-applet.glade
17748                 - Implement the "Your driver sucks" notification dialog
17749
17750         * panel-applet/NMWirelessAppletDbus.c
17751                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17752                 - Grab hardware address for each device from NM too
17753                 - Check whether the driver for each device sucks or not whenever
17754                         a new device is noticed
17755
17756         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17757                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17758
17759         * src/NetworkManager.c
17760                 - Fix a double-unref on device removal
17761
17762         * src/NetworkManagerUtils.c
17763                 - Set appropriate driver support level on a device that doesn't
17764                         support scanning or carrier detection
17765
17766         * src/nm-dbus-device.c
17767                 - New "getHWAddress" dbus method on devices
17768                 - getSupportsCarrierDetect -> getDriverSupportLevel
17769
17770 2005-03-31  Dan Williams <dcbw@redhat.com>
17771
17772         * src/NetworkManagerDevice.c
17773                 - (nm_device_wireless_scan): Fix leak of scan results in some
17774                         instances
17775
17776 2005-03-29  Dan Williams <dcbw@redhat.com>
17777
17778         * src/NetworkManager.c
17779                 - (nm_poll_and_update_wireless_link_state): make code less indented
17780
17781         Patch from Bill Moss:
17782         * src/NetworkManager.c
17783                 - (nm_device_update_link_state): Update signal strength on wireless
17784                         devices every time we update link state too.
17785
17786 2005-03-29  Dan Williams <dcbw@redhat.com>
17787
17788         * src/NetworkManagerDevice.c
17789                 - (nm_device_set_essid): Work around Orinoco cards which need
17790                         extra time after setting the ESSID
17791
17792 2005-03-29  Dan Williams <dcbw@redhat.com>
17793
17794         * src/NetworkManagerDevice.c
17795                 - Merge one more bit of Peter Jones' completion patch
17796
17797 2005-03-29  Dan Williams <dcbw@redhat.com>
17798
17799         * src/NetworkManagerDevice.c
17800                 - (nm_device_force_use): Fix possible segfault
17801
17802 2005-03-29  Dan Williams <dcbw@redhat.com>
17803
17804         * src/NetworkManagerDevice.c
17805                 - Use iw_get_ext() where we should rather than iw_set_ext()
17806
17807 2005-03-29  Dan Williams <dcbw@redhat.com>
17808
17809         * src/NetworkManagerDevice.c
17810                 - (nm_device_set_up_down): remove check for unsupported devices
17811                         that caused NM to not bring devices up when they were
17812                         added to the device list.
17813
17814 2005-03-28  Dan Williams <dcbw@redhat.com>
17815
17816         * src/NetworkManagerDevice.c
17817                 - (mdio_read): Fix two bugs that caused all devices to fail
17818                         the MII carrier detection support checks
17819
17820 2005-03-26  Dan Williams <dcbw@redhat.com>
17821
17822         * src/NetworkManagerDevice.c
17823                 - (nm_device_wireless_scan): Remove duplicated scanning code
17824
17825 2005-03-25  Dan Williams <dcbw@redhat.com>
17826
17827         * panel-applet/NMWirelessApplet.c
17828                 - (nmwa_about_cb): Add some more contributors
17829                 - (nmwa_update_state): show the applet when there's no connection
17830                 - Enable the "Stop/Resume all wireless devices" option in the
17831                         context menu
17832                 - New "no connection" icon
17833
17834         * src/NetworkManager.c
17835                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17836                         wireless is disabled or we're asleep
17837
17838         * src/NetworkManagerDHCP.c
17839                 - Remove trailing "\n" on debug messages
17840
17841         * src/NetworkManagerDbus.c
17842                 - (nm_dbus_network_status_from_data): new state "asleep"
17843
17844         * src/NetworkManagerDevice.c
17845                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17846                         latency and wait times for most operations
17847                 - (nm_device_wireless_scan): Don't scan when asleep
17848
17849         * src/NetworkManagerPolicy.c
17850                 - (nm_policy_get_best_device): return no device when asleep
17851                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17852                         for all wireless devices on update, not just active device
17853
17854         * src/NetworkManagerUtils.c
17855                 - Merge Peter Jones' "completion" patch
17856
17857         * src/nm-dbus-nm.c
17858                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17859                         we're told to disable them
17860                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17861
17862         * utils/nm-utils.h
17863                 - New variants of the warn/info/error/debug print functions that can take
17864                         variables rather than static strings
17865
17866 2005-03-24  Dan Williams <dcbw@redhat.com>
17867
17868         * src/NetworkManagerUtils.c
17869                 - (nm_get_device_driver_name): driver names are now on the parents of
17870                         "Network Interface" objects, so look for them there
17871
17872 2005-03-24  Dan Williams <dcbw@redhat.com>
17873
17874         * test/nmtest.c
17875                 - Escape some forgotten object paths before we shove them through dbus
17876
17877 2005-03-24  Dan Williams <dcbw@redhat.com>
17878
17879         * dhcpcd/dhcpcd.[ch]
17880           src/NetworkManagerDHCP.c
17881                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
17882                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
17883
17884         * src/NetworkManagerDbus.c
17885                 - spacing cleanups
17886
17887         * src/nm-dbus-dhcp.c
17888                 - Make the API suck less.  There is now only 1 type of each function,
17889                         ie only "getInteger" and no longer also "getIntegerv".  All types
17890                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
17891                         that will never have more than 1 element.  This should simplify
17892                         things greatly.
17893
17894         * test/nm-dhcp-opt-test.c
17895                 - Make the tool not segfault
17896                 - adapt to new DHCP Options API
17897
17898 2005-03-22  Dan Williams <dcbw@redhat.com>
17899
17900         * src/NetworkManager.c
17901                 - (nm_wired_link_deactivated): actually ignore netlink events from
17902                         wireless devices.
17903
17904 2005-03-22  Dan Williams <dcbw@redhat.com>
17905
17906         * src/NetworkManager.c
17907                 - (nm_wired_link_activated): actually ignore netlink events from
17908                         wireless devices.
17909
17910 2005-03-17  Dan Williams <dcbw@redhat.com>
17911
17912         Patch from Tom Parker:
17913         * src/nm-netlink-monitor.c
17914                 - Include unistd.h
17915         * info-daemon/NetworkManagerInfoDbus.c
17916                 - (nmi_dbus_update_network_auth_method): free GConf values
17917
17918         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
17919         * src/NetworkManagerDevice.c
17920                 - (nm_device_set_wireless_config): wait for successful
17921                         association longer for some cards (Atheros a/b/g)
17922
17923 2005-03-15  Ray Strode  <rstrode@redhat.com>
17924
17925         * src/NetworkManager.c:
17926         (sigterm_pipe_handler):
17927         remove bogus FIXME
17928
17929 2005-03-15  Ray Strode  <rstrode@redhat.com>
17930
17931         * src/NetworkManagerDbus.c:
17932         Fix some sign weirdness that gcc4 doesn't like,
17933         and add a header file so PPC can hopefully find
17934         SIGTRAP
17935
17936 2005-03-14  Ray Strode  <rstrode@redhat.com>
17937         
17938         Fourth (probably working) cut at porting to
17939         dbus 0.30 api and new hal. This cut adds
17940         some new logging macros to make debugging
17941         easier.
17942
17943         * dispatcher-daemon/NetworkManagerDispatcher.c:
17944         * info-daemon/NetworkmanagerInfo.c:
17945         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
17946         * info-daemon/NetworkManagerInfoVPN.c:
17947         * src/NetworkManager.c:
17948         * src/NetworkManagerAP.c:
17949         * src/NetworkManagerAPList.c:
17950         * src/NetworkManagerDHCP.c:
17951         * src/NetworkManagerDbus.c:
17952         * src/NetworkManagerDevice.c:
17953         * src/NetworkManagerPolicy.c:
17954         * src/NetworkManagerSystem.c:
17955         * src/NetworkManagerUtils.c:
17956         * src/NetworkManagerWireless.c:
17957         * src/autoip.c:
17958         * src/nm-dbus-nm.c:
17959         * src/backends/NetworkManagerDebian.c:
17960         * src/backends/NetworkManagerGentoo.c:
17961         * src/backends/NetworkManagerRedHat.c:
17962         * src/backends/NetworkManagerSlackware.c:
17963         use new logging macros.
17964
17965         * dispatcher-daemon/NetworkManagerDispatcher.c:
17966         (nmd_dbus_filter): s/dbus_free/g_free/
17967
17968         * info-daemon/Makefile.am: link in utils library.
17969         * info-daemon/NetworkmanagerInfo.c: use new logging 
17970         macros.
17971         (nmi_dbus_get_network): don't assume enumerations
17972         are 32-bit.
17973         (nmi_dbus_nmi_message_handler): don't free what 
17974         doesn't belong to us.
17975
17976         * libnm_glib/libnm_glib.c:
17977         (libnm_glib_get_nm_status): 
17978         (libnm_glib_init): don't free what doesn't
17979         belong to us.
17980         (libnm_glib_dbus): strdup result, so it doesn't get
17981         lost when message is unref'd.
17982
17983         * panel-applet/NMWirelessAppletDbus.c:
17984         (nmwa_dbus_update_devices): s/dbus_free/g_free/
17985
17986         * src/NetworkManager.c:
17987         (nm_monitor_wired_link_state): request initial status 
17988         dump of all cards when we start up, instead of relying
17989         on /sys/.../carrier.
17990         (nm_info_handler), (nm_set_up_log_handlers): 
17991         log handlers to specify what syslog priorites 
17992         the logging macros default to.
17993
17994         * src/NetworkManagerAPList.c: 
17995         (nm_ap_list_populate_from_nmi):
17996         s/dbus_free_string_array/g_strfreev/
17997
17998         * src/NetworkManagerDbus.c:
17999         (nm_dbus_get_network_object):
18000         validate d-bus message argument types.
18001         Advance message iterator after reading argument,
18002         prepend instead of append to GSList.
18003
18004         * src/NetworkManagerDevice.c:
18005         (nm_device_probe_wired_link_status):
18006         remove redundant /sys in /sys path. remove wrong
18007         contents == NULL means has carrier assumption.
18008
18009         * src/nm-netlink-monitor.c 
18010         (nm_netlink_monitor_request_status): implement
18011         function to ask kernel to dump interface link
18012         status over netlink socket.
18013
18014         * test/*.c: s/dbus_free/g_free/
18015
18016         * utils/nm-utils.h:
18017         (nm_print_backtrace): new macro to print backtrace.
18018         (nm_get_timestamp): new macro to get sub-second precise
18019         unix timestamp.
18020         (nm_info), (nm_debug), (nm_warning), (nm_error):
18021         new logging functions. nm_info just prints,
18022         nm_debug includes timestamp and function,
18023         nm_warning includes function, nm_error includes
18024         backtrace and sigtrap.
18025
18026 2005-03-11  Ray Strode  <rstrode@redhat.com>
18027
18028         Third (unfinished, partially working) cut at porting to 
18029         dbus 0.30 api and new hal.
18030
18031         * info-daemon/NetworkManagerInfoDbus.c:
18032                 don't free null arrays.
18033
18034         * panel-applet/NMWirelessAppletDbus.c: 
18035         * src/nm-dbus-device.c:
18036         * src/nm-dbus-net.c: 
18037         * src/NetworkManagerDbus.c: more 
18038         STRING -> OBJECT_PATH fun
18039         * src/NetworkManagerDevice.c:
18040         * src/NetworkManagerDevice.h:
18041         (rename nm_device_get_link_active): rename to 
18042         nm_device_has_active_link
18043         (nm_device_wireless_link_active): rename to
18044         nm_device_probe_wireless_link_state
18045         (nm_device_wired_link_active): rename to
18046         nm_device_probe_wired_link_state.  Rewrite to
18047         use carrier file since hal doesn't maintain
18048         link state anymore.
18049         (nm_device_update_link_active): rename to
18050         nm_device_update_link_state
18051         * src/NetworkManagerPolicy.c 
18052           (nm_policy_activation_finish): check for NULL
18053           MAC address.
18054
18055         * src/Makefile.am:
18056         * src/NetworkManagerMain.h: 
18057         * src/NetworkManager.c:
18058         * src/nm-netlink-monitor.c:
18059         * src/nm-netlink-monitor.h: New class to support
18060         monitoring wired ethernet link status, since HAL
18061         doesn't export that information anymore.
18062
18063 2005-03-09  Ray Strode  <rstrode@redhat.com>
18064
18065         Second (unfinished, unworking) cut at porting to 
18066         dbus 0.30 api.
18067
18068         * dispatcher-daemon/NetworkManagerDispatcher.c:
18069         * info-daemon/NetworkManagerInfoDbus.c:
18070         * panel-applet/NMWirelessAppletDbus.c:
18071         * src/NetworkManagerDbusUtils.c:
18072         * src/NetworkManagerDbusUtils.h:
18073         * src/nm-dbus-device.c:
18074         * src/nm-dbus-nm.c:
18075         * test/nmtest.c: support dbus "object path" type
18076
18077         * configure.in: 
18078         * Makefile.am:
18079         * info-daemon/Makefile.am:
18080         * libnm_glib/Makefile.am:
18081         * panel-applet/Makefile.am:
18082         * dispatcher-daemon/Makefile.am
18083         * src/Makefile.am:
18084         * test/Makefile.am:
18085         * utils/Makefile.am: 
18086         * utils/nm-utils.c: 
18087         * utils/nm-utils.h: new utils static lib
18088
18089 2005-03-07  Ray Strode  <rstrode@redhat.com>
18090
18091         * info-daemon/NetworkManagerInfoDbus.c:
18092         * libnm_glib/libnm_glib.c:
18093         * panel-applet/NMWirelessAppletDbus.c:
18094         * src/NetworkManager.c:
18095         * src/NetworkManagerDbus.c:
18096         * src/NetworkManagerDevice.c:
18097         * src/NetworkManagerUtils.c:
18098         * src/nm-dbus-device.c:
18099         * src/nm-dbus-dhcp.c:
18100         * src/nm-dbus-net.c:
18101         * src/nm-dbus-nm.c:
18102         * test/nminfotest.c:
18103         First (unfinished, unworking) cut at porting to dbus 0.30 api.
18104
18105 2005-03-04  Dan Williams  <dcbw@redhat.com>
18106
18107         * configure.in
18108                 - Mark HEAD as 0.4
18109
18110 2005-03-04  Dan Williams  <dcbw@redhat.com>
18111
18112         Patch from Peter Jones:
18113         - Make stuff work with gcc 4.0
18114
18115 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
18116
18117         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
18118
18119 2005-02-27  Jim Huang  <jserv@kaffe.org>
18120
18121         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
18122
18123 2005-02-27  Dan Williams  <dcbw@redhat.com>
18124
18125         Patch from Bill Moss:
18126         * panel-applet/NMWirelessAppletDbus.c
18127                 - Make sure strength for current access point is up-to-date when we
18128                         update the gui data model
18129
18130 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
18131
18132         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
18133
18134 2005-02-27  Dan Williams  <dcbw@redhat.com>
18135
18136         * src/backends/NetworkManagerRedHat.c
18137                 - (nm_system_init): Kill any dhclient processes lying around as well
18138                         as stopping 'nifd' if its already been started.  NetworkManager
18139                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
18140
18141 2005-02-27  Dan Williams  <dcbw@redhat.com>
18142
18143         * panel-applet/NMWirelessApplet.c
18144                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
18145                         dbus data model, not the GUI data model twice.
18146
18147 2005-02-27  Dan Williams  <dcbw@redhat.com>
18148
18149         * panel-applet/NMWirelessApplet.[ch]
18150           panel-applet/NMWirelessAppletDbus.[ch]
18151                 - Move to incremental network updates.  Instead of blowing away our list
18152                         of devices every time we get a signal from NetworkManager, we now
18153                         incrementally add/remove networks when NetworkManager notifies us that
18154                         a new network has appeared or disappered.  Strength updates now happen
18155                         on-the-fly for each access point as well.  There are now two copies of
18156                         data from NetworkManager: one for the dbus side, and one for the gui side.
18157                         When the dbus side data is modified, it is copied over to the gui side
18158                         so we don't have to hold the data_mutex for long periods of time (and
18159                         therefore block animation of the applet's icon).
18160                 - Clean up some memleaks too
18161
18162         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18163                 - Minor code beautification
18164
18165         * src/NetworkManagerAPList.c
18166                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
18167                         completely new and whether or not an existing one's strength was updated.
18168                         Try to fix multiple access points and signal strength by using the highest
18169                         signal strength in each scan for any given ESSID.
18170
18171         * src/NetworkManagerDbus.[ch]
18172                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
18173                         wireless networks; now we have only WirelessNetworkUpdate which includes
18174                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
18175                 - Kill usage of DbusMessageIter
18176
18177         * src/NetworkManagerDevice.c
18178                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
18179                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
18180                         AP rather than all-at-once.  Also don't ever remove the AP a card is
18181                         currently associated with from the network list.
18182                 - Update for new signals during scan, send out Appeared, Disappeared, or
18183                         StrengthChanged when necessary.
18184
18185 2005-02-25  Dan Williams  <dcbw@redhat.com>
18186
18187         * README
18188                 - Line break the README
18189
18190 2005-02-25  Dan Williams  <dcbw@redhat.com>
18191
18192         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18193                 - Remove usage of gtk_window_set_default_size()
18194
18195         * panel-applet/essid.glade
18196                 - Stick default size here
18197                 - Add in random crap that current glade wants to add in now
18198
18199 2005-02-25  Dan Williams  <dcbw@redhat.com>
18200
18201         * src/backends/NetworkManagerRedHat.c
18202                 - For non-caching-nameserver/non-named case, ensure that nscd is running
18203                         and that we actually tell nscd to reload the hosts cache when it changes
18204
18205 2005-02-25  Dan Williams  <dcbw@redhat.com>
18206
18207         * info-daemon/NetworkManagerInfoDbus.c
18208                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
18209
18210         * test/nminfotest.c
18211                 - Whack usage of DbusMessageIter
18212                 - Clean up DbusError and DbusMessage handling and freeing
18213                 - Remove unused unregister handler
18214
18215         * test/nmtest.c
18216                 - Whack usage of DbusMessageIter
18217
18218         * test/nmtestdevices.c
18219                 - Whack usage of DbusMessageIter
18220
18221 2005-02-25  Dan Williams  <dcbw@redhat.com>
18222
18223         * NetworkManager.h
18224                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
18225                         signal
18226
18227 2005-02-25  Dan Williams  <dcbw@redhat.com>
18228
18229         * named/nm-named-manager.c
18230                 - Ensure that pid and watch variables for child named process get cleared out
18231                         when the child goes away.
18232
18233 2005-02-22  Dan Williams  <dcbw@redhat.com>
18234
18235         * src/NetworkManagerPolicy.c
18236                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
18237                         and NULL out data->active_device so that we have to choose another one.
18238                         This may make NetworkManager keep attempting to connect to a wired network
18239                         if it fails, but if it keeps failing the wired network has more problems than
18240                         just NetworkManager.
18241
18242         * src/backends/NetworkManagerRedHat.c
18243                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
18244                         is already running
18245
18246         * named/nm-named-manager.c
18247                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
18248                         named so that the distro can flush whatever name service caching
18249                         daemon it uses
18250
18251 2005-02-21  Dan Williams  <dcbw@redhat.com>
18252
18253         * src/NetworkManagerDHCP.[ch]
18254                 - (nm_device_dhcp_remove_timeouts): new function
18255
18256         * src/NetworkManagerDevice.c
18257                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
18258                         remove the DHCP timeouts.
18259
18260 2005-02-21  Dan Williams  <dcbw@redhat.com>
18261
18262         * panel-applet/NMWirelessApplet.[ch]
18263           panel-applet/menu-info.[ch]
18264                 - Give the panel applet some major love: menu items are no longer
18265                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
18266                         This allows the applet to actually reflect theme changes correctly,
18267                         since themeing of subclassed items in GTK _sucks_.
18268
18269 2005-02-18  Dan Williams  <dcbw@redhat.com>
18270
18271         * libnm_glib/libnm_glib.[ch]
18272           test/libnm_glib_test.c
18273                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
18274                         and its data, and doesn't have to free the callback data anymore
18275
18276 2005-02-18  Dan Williams  <dcbw@redhat.com>
18277
18278         * panel-applet/NMWirelessApplet.c
18279                 - Revert 2005-02-18 William Jon McCann fix for standard
18280                         copyright string until it passes 'make distcheck'.
18281                         With standard copyright string, xgettext complains
18282                         about "Non-ASCII string at ...".
18283
18284 2005-02-18  Dan Williams  <dcbw@redhat.com>
18285
18286         * panel-applet/essid.glade
18287           panel-applet/NMWirelessAppletOtherNetworksDialog.c
18288                 - Correct spelling of "adaptor"->"adapter"
18289
18290 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18291
18292         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
18293         (nmwa_about_cb): Use standard copyright string.  Update comment
18294         text to reflect that it is a notification area applet.  Remove
18295         leading newline in authors list.
18296         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
18297         instead of on parent menu item activation.  Fixes #167550.
18298
18299 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18300
18301         * panel-applet/essid.glade: Capitalize items as per HIG.
18302           Fixes #167632
18303
18304 2005-02-16  William Jon McCann  <mccann@jhu.edu>
18305
18306         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
18307         files for GTK 2.4 or lower, since now public in GTK 2.6.
18308
18309         * panel-applet/essid.glade: Don't specify window size.
18310         
18311 2005-02-17  Dan Williams  <dcbw@redhat.com>
18312
18313         Caught by Bill Moss:
18314         * dhcpcd/client.c
18315                 - Time remaining for DHCP transaction calculation was incorrectly
18316                         inside a #ifdef DEBUG
18317
18318 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
18319
18320         * configure.in: Added fr (French) to ALL_LINGUAS.
18321
18322 2005-02-14  Dan Williams  <dcbw@redhat.com>
18323
18324         * src/NetworkManagerDHCP.c
18325                 - (set_domain_searches): Fix free of invalid pointer
18326
18327 2005-02-14  Dan Williams  <dcbw@redhat.com>
18328
18329         Patch from Peter Jones:
18330         * dhcpcd/client.c
18331                 - Ensure we return RET_DHCP_CEASED everywhere we should
18332         * dhcpcd/udpipgen.c
18333                 - Use faster TOS for IP packets
18334                 - Don't set ip_id since we're UDP
18335
18336         Patch from Tomislav Vujec:
18337         * src/nm-dbus-dhcp.c
18338           test/nm-dhcp-opt-test.c
18339                 - Clean up warnings to enable cvs tree compilation.
18340
18341 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
18342
18343         * configure.in
18344           po/hr.po
18345                 - Add the Croatian locale.
18346
18347 2005-02-14  Colin Walters  <walters@verbum.org>
18348
18349         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
18350         list of domains to search.
18351         
18352         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
18353
18354 2005-02-13  Dan Williams  <dcbw@redhat.com>
18355
18356         * dhcpcd/client.c
18357                 - Debug output cleanups of DHCP option printing and parsing.
18358
18359 2005-02-13  Dan Williams  <dcbw@redhat.com>
18360
18361         Patch from Dan Reed:  DHCP options D-BUS API
18362                 Exposes the DHCP options that a device receives to clients over D-BUS.
18363
18364         * configure.in
18365                 - A few cleanups
18366
18367         * dhcpcd/client.h
18368                 - Correct names, option length, and types for DHCP options
18369
18370         * dhcpcd/dhcpcd.[ch]
18371                 - Clarify function names that access DHCP options & data
18372
18373         * src/NetworkManagerDHCP.c
18374                 - Use new DHCP data access functions
18375
18376         * src/NetworkManagerDbus.c
18377                 - Message handler for DHCP functions
18378
18379         * src/nm-dbus-dhcp.[ch] (new)
18380                 - DHCP dbus methods
18381
18382         * test/nm-dhcp-opt-test.c
18383                 - Test DHCP D-BUS API and return all present DHCP options
18384
18385 2005-02-12  Dan Williams  <dcbw@redhat.com>
18386
18387         * test/Makefile.am
18388           test/nmclienttest.c
18389           test/nmtest.c
18390                 - Move nmclienttest.c -> nmtest.c
18391
18392 2005-02-12  Dan Williams  <dcbw@redhat.com>
18393
18394         * dhcpcd/buildmsg.c
18395                 - Pad DHCP packets until they are at least 300 bytes in size.
18396
18397 2005-02-11  Dan Williams  <dcbw@redhat.com>
18398
18399         * dhcpcd/client.c
18400                 - (dhcp_init): only print out client ID and class ID if they are specified
18401
18402         * src/NetworkManagerDbus.[ch]
18403           src/nm-dbus-nm.[ch]
18404           src/nm-dbus-device.[ch]
18405           src/nm-dbus-net.[ch]
18406                 - Move NM, Device, and Net functions to separate files and use the
18407                         dbus method list stuff in NetworkManagerDbusUtils.c to do
18408                         method dispatching
18409
18410         * src/NetworkManagerDbusUtils.c
18411                 - Add new validate_method called before each dispatch (if present)
18412                         that can validate the method call
18413
18414         * src/NetworkManagerWireless.c
18415                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
18416                         levels never to be evaluated
18417
18418         Patch from j@bootlab.org
18419         * src/NetworkManagerDevice.c
18420                 - Add typedef for "u64"
18421
18422         * src/backends/NetworkManagerDebian.c
18423                 - Copy in Dave Woodhouse's fixes for IPv6
18424
18425 2005-02-11  Dan Williams  <dcbw@redhat.com>
18426
18427         Patch from Dave Woodhouse for IPv6:
18428         * src/NetworkManagerUtils.c
18429                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
18430                         and multicast addresses
18431
18432         * src/NetworkManagerDevice.c
18433                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
18434                         after bringing up a card.
18435
18436 2005-02-10  Dan Williams  <dcbw@redhat.com>
18437
18438         Patch from Dave Woodhouse:
18439         * src/NetworkManagerSystem.h
18440           src/backends/NetworkManagerDebian.c
18441           src/backends/NetworkManagerGentoo.c
18442           src/backends/NetworkManagerSlackware.c
18443                 - New nm_system_device_add_ip6_link_address() function to add link-local
18444                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
18445
18446         * src/backends/NetworkManagerRedHat.c
18447                 - (nm_system_device_add_ip6_link_address): implement
18448                 - (nm_system_device_flush_addresses): revert to previous behavior of
18449                         flushing all addresses
18450
18451 2005-02-10  Dan Williams  <dcbw@redhat.com>
18452
18453         Patch from Tom Parker:
18454         * src/NetworkManagerDevice.c
18455                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
18456                         mii.h headers are broken, and instead use our own typedefs
18457
18458 2005-02-10  Dan Williams  <dcbw@redhat.com>
18459
18460         * dhcpcd/buildmsg.c
18461                 - (fill_host_and_class_id): only fill in client and class IDs if
18462                         they are set by callers.
18463
18464         * dhcpcd/client.c
18465                 - (class_id_setup): don't autogenerate a class ID, only use one
18466                         we're given, if any.
18467                 - (client_id_setup): don't autogenerate a client ID, only use one
18468                         we're given, if any.
18469
18470         * dhcpcd/dhcpcd.c
18471                 - (dhcp_interface_init): ensure that client options are correctly
18472                         NULL terminated
18473
18474         * src/NetworkManagerDHCP.c
18475                 - (nm_device_dhcp_request): pass hostname to dhcp library
18476
18477 2005-02-10  Dan Williams  <dcbw@redhat.com>
18478
18479         * dhcpcd/client.c
18480                 - #rh147661# Don't send kernel version in DHCP requests
18481
18482         * src/NetworkManagerSystem.h
18483           src/backends/NetworkManagerDebian.c
18484           src/backends/NetworkManagerGentoo.c
18485           src/backends/NetworkManagerRedHat.c
18486           src/backends/NetworkManagerSlackware.c
18487                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
18488                         functions, they are no longer used anyway
18489
18490         * src/backends/NetworkManagerRedHat.c
18491                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
18492                         addresses in an attempt to keep IPv6 local-scope addresses around
18493
18494 2005-02-10  Dan Williams  <dcbw@redhat.com>
18495
18496         * src/NetworkManager.c
18497                 - (nm_create_device_and_add_to_list): change the add message slightly
18498
18499         * src/NetworkManagerUtils.c
18500                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
18501                         Return driver name to calling function
18502                 - (nm_get_driver_support_level): print out the driver a device is using
18503                         during the support check
18504
18505         Patch from Dave Woodhouse:
18506         * dhcpcd/udpipgen.c
18507                 - (in_cksum): copy last byte of odd-sized packets into a
18508                         'u_short' rather than a 'u_char', should fix wrong checksums
18509                         on big-endian platforms
18510
18511 2005-02-09  Dan Williams  <dcbw@redhat.com>
18512
18513         * Clean up usage of GSList objects and looping through their members
18514         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
18515                 now.
18516         * Fix problem where even if scanning was turned off, card would still
18517                 cycle through frequencies.
18518
18519 2005-02-08  Dan Williams  <dcbw@redhat.com>
18520
18521         * panel-applet/NMWirelessApplet.c
18522                 - Fix for gtk 2.4
18523
18524 2005-02-08  Dan Williams  <dcbw@redhat.com>
18525
18526         Patch from Bill Moss
18527         * panel-applet/NMWirelessApplet.c
18528                 - Restore correct ESSID in tooltips
18529
18530 2005-02-07  Dan Williams  <dcbw@redhat.com>
18531
18532         * panel-applet/NMWirelessApplet.[ch]
18533                 - Add a context menu that contains:
18534                         Pause/Resume Wireless Scanning
18535                         Stop/Start All Wireless Devices
18536                         About...
18537                 - Grab active device strength off active device,
18538                         not its network
18539
18540         * panel-applet/NMWirelessAppletDbus.[ch]
18541                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
18542                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
18543                 - Update active device strength every 2 seconds, not every 1 second
18544
18545         * panel-applet/menu-info.c
18546                 - Only disable wired devices in the menu when they support carrier detection,
18547                         and don't currently have a link.  Non-carrier-detect devices will always
18548                         remain choosable
18549
18550         * src/Makefile.am
18551           src/NetworkManagerDbusUtils.[ch]
18552                 - Add new new dbus utils sources
18553
18554         * src/NetworkManager.c
18555                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
18556                         with the boolean parameter
18557                 - Set scanning_enabled & wireless_enabled to TRUE
18558
18559         * src/NetworkManagerDbus.c
18560                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
18561                 - Implement scanning & wireless enable/disable calls
18562                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
18563
18564         * src/NetworkManagerDevice.c
18565                 - New link detection stuff again...
18566                         o  Create device's mainloop earlier (but don't run it earlier)
18567                         o  Hook up new carrier-detect support stuff
18568                         o  Add in the ethtool & mii support detection code
18569                 - Don't scan if scanning is disabled
18570
18571         * src/NetworkManagerPolicy.c
18572                 - Never automatically choose a device that doesn't support carrier detection
18573                 - Don't automatically choose a wireless device if wireless is disabled
18574
18575 2005-02-07  Dan Williams  <dcbw@redhat.com>
18576
18577         * libnm_glib/libnm_glib.c
18578                 - Small cleanup in element list iteration
18579
18580 2005-02-07  Dan Williams  <dcbw@redhat.com>
18581
18582         * src/NetworkManagerWireless.c
18583                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
18584                         to be in line with the WEXT quality specification
18585
18586 2005-02-02  Dan Williams  <dcbw@redhat.com>
18587
18588         Patch from Nathan Fredrickson <nathan@silverorange.com>
18589         * Fix up compile for deprecation of libgnomeui
18590                 - Switch to <glib/gi18n.h> from <libintl.h>
18591                 - Remove <libgnomeui/libgnomeui.h> includes
18592                 - Use gtk_window_set_default_icon_from_file() rather than
18593                         gnome_window_set_default_icon_from_file()
18594
18595         * named/nm-named-manager.c
18596                 - (generate_named_conf): Fix return-nothing in non-void
18597                         function
18598
18599 2005-02-02  Dan Williams  <dcbw@redhat.com>
18600
18601         * Clean up unused variables and the like
18602
18603 2005-02-02  Dan Williams  <dcbw@redhat.com>
18604
18605         * src/NetworkManagerAPList.c
18606                 - (nm_ap_list_merge_scanned_ap): merge strength too
18607
18608         * src/NetworkManagerUtils.c
18609                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
18610                         of locking issues by printing out prettier information than g_mutex_lock
18611                 - Print out names of mutexes registered with nm_register_mutex_desc()
18612                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
18613                         us to seemingly block here for too long
18614
18615         * src/NetworkManager.c
18616           src/NetworkManagerAPList.c
18617           src/NetworkManagerDevice.c
18618                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
18619                         so we get better debug information printed
18620
18621         * src/NetworkManagerDbus.c
18622                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
18623                         since it sometimes has locking side effects
18624                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
18625                         from 10s
18626                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
18627                         we don't need a switch.  This gets called often enough that we can't block
18628                         until the scan mutex is acquired, because we'll block on device activation
18629                         and a few other things, which hangs main thread for too long.
18630
18631         * src/NetworkManagerPolicy.c
18632                 - (nm_policy_auto_get_best_device): reduce the possiblity that
18633                         nm_device_need_ap_switch() will be called               
18634
18635 2005-02-02  Dan Williams  <dcbw@redhat.com>
18636
18637         * panel-applet/NMWirelessApplet.c
18638                 - Display name of wireless network we are connecting to or connected to
18639                         in the tooltip of the applet
18640
18641 2005-02-02  Dan Williams  <dcbw@redhat.com>
18642
18643         * src/NetworkManagerDHCP.c
18644                 - Hopefully fix double-default-route problem by cleaning up the default
18645                         route added by DHCP code right before the DHCP transaction begins
18646
18647 2005-02-02  Dan Williams  <dcbw@redhat.com>
18648
18649         * named/nm-named-manager.c
18650                 - Write out valid resolv.conf when we exit
18651
18652 2005-02-01  Dan Williams  <dcbw@redhat.com>
18653
18654         Patch from Colin Walters:
18655         * named/nm-named-manager.c
18656                 - Make multi-domain search options work
18657
18658 2005-01-31  Dan Williams  <dcbw@redhat.com>
18659
18660         * info-daemon/NetworkManagerInfoDbus.c
18661                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
18662
18663         * src/NetworkManagerDevice.c
18664                 - (nm_device_new): Don't store the entire range struct, use only what we need
18665                         (which is currently avg_quality, max_quality, and frequencies).  Also
18666                         zero device structure when we've free'd it to maybe expose errors down
18667                         the line.
18668                 - (nm_device_update_signal_strength): grab the scan mutex before getting
18669                         quality data from the card since quality will be useless during a scan.
18670                         Call updated wireless qual-to-percent function with values stored in
18671                         nm_device_new() earlier.
18672                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18673                         nm_device_get_bad_crypt_packets())
18674                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18675                         nm_device_new()
18676                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18677                         list if available.  Problem was this: when the WEP key is wrong, NM will
18678                         try OS then SK modes, and then get stuck in SK mode after that.  This
18679                         should reset it.
18680                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18681                         function
18682
18683         * src/NetworkManagerWireless.c
18684                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18685                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18686                         if that's all present, otherwise fall back to signal-to-noise ratios.
18687
18688 2005-01-29  Dan Williams  <dcbw@redhat.com>
18689
18690         * initscript/RedHat/NetworkManager
18691                 - Don't spit out sysctl stuff to console
18692
18693         * libnm_glib/libnm_glib.c
18694                 - (libnm_glib_init): call dbus_g_thread_init()
18695
18696         * panel-applet/NMWirelessAppletDbus.c
18697                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18698
18699         * src/NetworkManager.c
18700                 - (main): call dbus_g_thread_init()
18701
18702         * src/NetworkManagerAPList.c
18703                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18704                         so we can actually see what's there in a normal syslog
18705
18706         * src/NetworkManagerDevice.c
18707                 - (nm_device_activate_wireless): print out the "waiting for access point"
18708                         message only once, then say what access point we actually got after
18709                         the wait.
18710                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18711                         function, wait until the scan is done.  Scans may change the ESSID of
18712                         the card, making this function think we need to switch access points
18713                 - (nm_device_wireless_process_scan_results): for artificial access points
18714                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18715                         prevents collisions with the scanning code, which may change the card's
18716                         ESSID and cause the access point to get dropped from the device's AP
18717                         list.  Also increase the keep-around time to 2m from 60s since the max
18718                         scan interval could be 60s in some cases.
18719
18720         * src/NetworkManagerPolicy.c
18721                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18722                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18723                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18724                         between NM and NMI.
18725
18726 2005-01-27  Dan Williams  <dcbw@redhat.com>
18727
18728         * info-daemon/NetworkManagerInfoDbus.c
18729                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18730                         GConf, make a minimal entry for it (essid & timestamp)
18731
18732         * src/NetworkManagerAPList.c
18733                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18734                         NetworkManagerInfo isn't running
18735
18736         * src/NetworkManagerDbus.[ch]
18737                 - (nm_dbus_nmi_is_running): new function
18738
18739         * src/NetworkManagerDevice.c
18740                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18741                         address to garbage.
18742
18743         * src/NetworkManagerPolicy.c
18744                 - (nm_policy_activation_finish): On successful activation, make sure
18745                         the "best" AP has a MAC address, and don't tell NMI to add the
18746                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18747                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18748                         access point after refreshing our allowed list if it doesn't already
18749                         have a "best" access point.
18750
18751 2005-01-25  Dan Williams  <dcbw@redhat.com>
18752
18753         * panel-applet/NMWirelessAppletDbus.c
18754                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18755                         so we check for NM_DBUS_SERVICE rather than not for it
18756
18757         * libnm_glib/libnm_glib.c
18758                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18759                         ServiceOwnerChanged signal
18760
18761 2005-01-25  Dan Williams  <dcbw@redhat.com>
18762
18763         * configure.in
18764                 - Check DBUS version in configure, and set the C macros
18765                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18766
18767         * info-daemon/NetworkManagerInfoDbus.c
18768                 - Remove #if 0-d section of code that quit NMI if NM went away.
18769
18770         * panel-applet/NMWirelessAppletDbus.c
18771                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18772
18773         * src/NetworkManager.c
18774           src/NetworkManagerMain.h
18775           src/NetworkManagerDbus.c
18776                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18777                 - Make updating of our Allowed Wireless Network lists from NMI
18778                         an idle function in the main thread now, with a high priority.
18779
18780 2005-01-24  Dan Williams  <dcbw@redhat.com>
18781
18782         * panel-applet/gtkcellview.[ch]
18783           panel-applet/menu-info.c
18784                 - Fix GTK version checks to be <= rather than <
18785
18786         * test/Makefile.am
18787                 - Include the libtool archive of libnm_glib rather than
18788                         trying to pull in the .so
18789
18790 2005-01-24  Dan Williams  <dcbw@redhat.com>
18791
18792         * src/NetworkManagerDevice.c
18793           src/NetworkManagerDevicePrivate.h
18794                 - Block nm_device_new() until our device's worker thread has had a
18795                         chance to start up.  Fixes a race between main thread and worker
18796                         thread starting that caused activation requests to get lost.
18797
18798 2005-01-24  Dan Williams  <dcbw@redhat.com>
18799
18800         * initscript/RedHat/NetworkManager
18801                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18802                         to add the NM startup script at priority 50, which was
18803                         way too early
18804
18805 2005-01-24  Colin Walters  <walters@redhat.com>
18806
18807         * named/named.conf: Use any port for query source instead of
18808         restricting to port 53.
18809
18810 2005-01-24  Dan Williams  <dcbw@redhat.com>
18811
18812         * initscript/RedHat/NetworkManager
18813                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18814                         to add the NM startup script at priority 50, which was
18815                         way too early
18816
18817 2005-01-24  Dan Williams  <dcbw@redhat.com>
18818
18819         Patch from Tom Parker <palfrey@tevp.net>
18820         * Fix up compile warnings & errors in the wireless applet
18821
18822 2005-01-24  Dan Williams  <dcbw@redhat.com>
18823
18824         * panel-applet/NMWirelessApplet.c
18825                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18826
18827 2005-01-24  Dan Williams  <dcbw@redhat.com>
18828
18829         * panel-applet/gtkcellview.[ch]
18830                 - Only compile these files for GTK 2.4 or lower, since 
18831                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18832                         when choosing "Other Wireless Networks" from the panel
18833                         applet menu
18834
18835 2005-01-21  Dan Williams  <dcbw@redhat.com>
18836
18837         * src/NetworkManager.c
18838                 - Daemonize earlier so that glib doesn't get confused (?)
18839
18840 2005-01-21  Dan Williams  <dcbw@redhat.com>
18841
18842         * panel-applet/NMWirelessApplet.[ch]
18843           panel-applet/NMWirelessAppletDbus.c
18844           panel-applet/menu-info.c
18845           src/NetworkManagerDevice.c
18846                 - Disable wired devices in the menu when they have no link.
18847
18848 2005-01-21  Dan Williams  <dcbw@redhat.com>
18849
18850         * Cache last-known-good wireless authentication method in
18851                 NetworkManagerInfo, and use that method first during
18852                 wireless device activation.  Should speed up devices that
18853                 need Shared Key authentication method since Open System is
18854                 now the default.
18855
18856         * Remove the hack to not do full activation on wired connections
18857                 that are active when we launch, it causes too many problems
18858                 with name resolution and was a hack in the first place.
18859
18860         * Re-work wireless device activation again somewhat to have a
18861                 clearer chain of events and to use last-known-good
18862                 authentication method of the access point.  Also provide
18863                 better status throughout activation to ensure the applet
18864                 can tell the user exactly what's going on.
18865
18866         * Remove the "find wireless network" code and now simply attempt
18867                 to activate with that access point.  This reduces the delay
18868                 between selecting "Other wireless Network" and actually
18869                 connecting to that network.
18870
18871         * Correctly stop the device's worker thread when its removed.
18872
18873 2005-01-21  Dan Williams  <dcbw@redhat.com>
18874
18875         * dhcpcd/client.c
18876                 - Clean up some of the debug messages
18877
18878 2005-01-21  Dan Williams  <dcbw@redhat.com>
18879
18880         * Add new icons, more frames of animation
18881         * Remove some hacks to get the panel applet to display correct
18882                 status, an NM update will soon follow that will fix the
18883                 real issue.
18884
18885 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
18886
18887         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
18888         the first include for working i18n. Also, don't include it in .h files
18889         * panel-applet/NMWirelessApplet.h: Same
18890         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
18891         * panel-applet/menu-info.c: Same
18892
18893 2005-01-18  Dan Williams <dcbw@redhat.com>
18894
18895         * dhcpcd/client.c
18896                 - Remove some debug messages
18897                 - Wrap others in #ifdef DEBUG/#endif
18898
18899         * src/NetworkManager.c
18900                 - Remove some debug messages
18901                 - Clarify some debug messages
18902                 - Remove code related to old single-thread wireless scanning
18903
18904         * src/NetworkManagerAP.[ch]
18905                 - New AP property "last_seen" to track how recently an AP was
18906                         found in a scan
18907                 - Start using 'const' more in function arguments
18908
18909         * src/NetworkManagerAPList.[ch]
18910                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
18911                         of an AP found in an AP list from a source AP, or if not found
18912                         in the list add the source AP
18913                 - (nm_ap_list_combine): remove, no longer needed
18914
18915         * src/NetworkManagerDevice.c
18916                 - Each device now has a "worker" thread from start to end of its life.
18917                         Scanning for wireless devices now happens in that thread,
18918                         not in a single "wireless scanning thread" for all devices as
18919                         previously.  Activation consists of adding an idle handler to the
18920                         thread's main loop/context, which gets run at the next available
18921                         opportunity.
18922                 - Wireless scanning is also simplified, there is now only one list of
18923                         access points per wireless device, and APs older than 60s are
18924                         removed from the list.  Previously, we kept results for the last
18925                         3 scans and merged whole lists, which was complicated.
18926                 - Cleaned up activation debug messages.
18927                 - Wireless activation and access-point search routines now use Open System
18928                         authentication before trying Shared Key.
18929                 - Removed some code in nm_device_update_best_ap() that could cause cards
18930                         to loose their link to the access point.
18931                 - Scanning now uses a backoff algorithm, where the inverval becomes
18932                         progressively longer between scans when the list of scanned access
18933                         points doesn't change.  A change will revert to the shortest scan
18934                         interval (20s).
18935
18936         * src/NetworkManagerWireless.[ch]
18937                 - Remove code related to old single-thread wireless scanning
18938
18939 2005-01-18  Colin Walters  <walters@redhat.com>
18940
18941         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
18942         of older nameservers.
18943
18944 2005-01-18  Colin Walters  <walters@redhat.com>
18945
18946         * named/nm-named-manager.c (generate_named_conf): Many fixes
18947         to config file generation.
18948         (safer_kill): Remove, was too much trouble for little gain.
18949         (nm_named_manager_start): Run named as NM_NAMED_USER.
18950
18951         * configure.in: Add option --with-named-user.
18952
18953 2005-01-14  Colin Walters  <walters@redhat.com>
18954
18955         Patch from ed@catmur.co.uk (Ed Catmur)
18956
18957         * named/nm-named-manager.c: Add "context" property.
18958         Use it to add child watch source in specific GMainContext.
18959
18960         * src/NetworkManager.c (nm_data_new): Initialize
18961         named with correct main context.  Start named only
18962         after forking.
18963
18964 2005-01-14  Colin Walters  <walters@redhat.com>
18965
18966         * named/nm-named-manager.c (generate_named_conf): Write config
18967         and pid files into NM_NAMED_DATA_DIR; this allows things to
18968         work better with FC3 named SELinux policy.  Also fix up silly
18969         format error.
18970
18971         * configure.in: Add --with-named-dir option.
18972
18973 2005-01-14  Colin Walters  <walters@redhat.com>
18974
18975         * configure.in: Make named support require passing --with-named.
18976
18977         * named/nm-named-manager.c: Support writing resolv.conf directly
18978         without running named.
18979
18980 2005-01-13  Dan Williams <dcbw@redhat.com>
18981
18982         * named/nm-named-manager.c
18983                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
18984
18985         * src/NetworkManagerDevice.c
18986                 - Rework wireless link detection code to be more reliable
18987
18988 2005-01-12  Dan Williams <dcbw@redhat.com>
18989
18990         * initscripts/RedHat/NetworkManager
18991                 - Change initial level to "-" rather than "345" so that
18992                         we don't activate ourselves by default on install
18993
18994 2005-01-12  Dan Williams <dcbw@redhat.com>
18995
18996         * libnm_glib/
18997                 - Client library for applications using glib
18998
18999         * configure.in
19000           various Makefiles
19001                 - Split NM_CFLAGS and NM_LIBS into separate variables
19002                         like DBUS_*, HAL_* and GLIB_*
19003
19004         * src/NetworkManager.c
19005           src/NetworkManagerMain.h
19006                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
19007                         broadcast a status changed signal over DBUS from the main thread.
19008                         Still unused anywhere for the moment.
19009
19010         Patch from j@bootlab.org
19011         * panel_applet/NMWirelessAppletDbus.c
19012           src/NetworkManagerDbus.c
19013                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
19014                         for the "getMode" method call
19015
19016 2005-01-10  Dan Williams <dcbw@redhat.com>
19017
19018         * src/NetworkManagerDevice.c
19019                 - Minor fixups & corrections to "auto" frequency mode, make it
19020                         less chatty with syslog
19021
19022 2005-01-10  Dan Williams <dcbw@redhat.com>
19023
19024         * src/NetworkManagerDevice.c
19025                 - Implement "auto" frequency/channel support, since cards like Atheros
19026                         can't use other frequencies at all when you've told it to use a
19027                         specific one, even for scanning.
19028                 - Grab the scan mutex around places where we can't tolerate wireless
19029                         settings changing underneath us, like nm_device_wireless_network_exists()
19030                         and nm_device_activate_wireless()
19031
19032         * src/NetworkManagerWireless.c
19033                 - Back scan interval off to 20s instead of 14s
19034
19035 2005-01-09  Dan Williams <dcbw@redhat.com>
19036
19037         * src/NetworkManagerDevice.c
19038                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
19039                         already set.  Stops some drivers like Atmel from continually
19040                         reloading the firmware, which they do upon every configuration
19041                         change.
19042
19043 2005-01-09  Dan Williams <dcbw@redhat.com>
19044
19045         * dhcpcd/client.c
19046                 - Use correct timeout value
19047
19048         * info-daemon/NetworkManagerInfoDbus.c
19049           src/NetworkManagerDbus.c
19050                 - Consolidate communication between NM and NMI by doing only 1 dbus
19051                         method call to get Wireless Network info from NMI instead of 6
19052
19053         * src/NetworkManager.c
19054                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
19055                         when we didn't have an AP to use, we'd wait for one forever without
19056                         quitting
19057
19058         * src/NetworkManagerDevice.c
19059                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
19060                         activation, dhcp might not have started yet but we don't quit activation
19061                         before starting it, so the quit signal gets lost
19062
19063 2005-01-07  Dan Williams <dcbw@redhat.com>
19064
19065         * dhcpcd/client.c
19066                 - Rework the DHCP client code to be much less chatty when
19067                         it receives non-DHCP UDP packets during the DHCP run
19068                         (reported by and preliminary patches from Bill Moss)
19069
19070         * Move wireless scanning to a separate thread.  This thread forwards the
19071                 results to the main thread when done where they are integrated into
19072                 the device's access point lists.  This keeps the main thread (which
19073                 does all the DBUS communication) from being blocked for long periods
19074                 of time by wireless scanning.
19075
19076         * Make state modification an idle routine in the main loop, and trigger
19077                 state changes rather than polling for them.
19078
19079         * src/backends/NetworkManagerGentoo.c
19080                 - Fix up invalid C90 code (reported by Christoph Ruessler)
19081
19082         * src/NetworkManagerDevice.c
19083                 - Revert IPv6 patch for wired devices from 2004-12-22 for
19084                         router advertisements, causing problems and infinite loop
19085                         during "best" device determination due to link going up/down
19086                         (reported by Bill Moss)
19087
19088         Apply patch from Peter Jones
19089         * src/NetworkManagerDevice.c
19090                 - Shortcut for link-checking for ipw2x00 cards
19091                 - Split out association check into separate routine
19092
19093 2004-01-05  Colin Walters  <walters@redhat.com>
19094
19095         * named/named.conf: Add PID_FILE.
19096
19097         * named/nm-named-manager.c: Always generate a pid
19098         file, since older BIND versions don't support
19099         "pid-file none".
19100
19101 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
19102
19103         * configure.in (ALL_LINGUAS): Added ja (Japanese).
19104
19105 2004-12-22  Dan Williams <dcbw@redhat.com>
19106
19107         * src/NetworkManagerDevice.c
19108                 - Silently fail when setting bitrate doesn't work
19109
19110
19111         Patches from j@bootlab.org:
19112         * src/backends/NetworkManagerDebian
19113                 - Update backend to match functionality in RedHat backend
19114         * src/NetworkManagerDevice.c
19115                 - Take down then bring up wired devices after connection so
19116                 they send out ipv6 router advertisements
19117
19118 2004-12-21  Colin Walters  <walters@verbum.org>
19119
19120         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
19121         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
19122
19123 2004-12-21  Colin Walters  <walters@redhat.com>
19124
19125         * configure.in: Correct named detection.
19126
19127 2004-12-21  Colin Walters  <walters@redhat.com>
19128
19129         * src/NetworkManager.c (nm_data_new): Initialize named.
19130         Also, set up a signal handler for SIGINT/SIGTERM, and exit
19131         the mainloop when these signals are received.
19132         (nm_data_free): Unref named.
19133         (sigterm_handler, sigterm_pipe_handler): New functions for
19134         exiting mainloop.
19135         
19136         * src/NetworkManagerMain.h (NMData): Add signal handling and
19137         nameserver bits.
19138
19139         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
19140         unref.
19141
19142         * src/NetworkManagerDHCP.c (set_nameservers): New function;
19143         set nameservers from DHCP response data.
19144         (set_domain_search): Set domain search from DHCP response.
19145         (nm_device_dhcp_configure): Invoke them.
19146
19147         * src/NetworkManagerSystem.c
19148         (nm_system_device_update_resolv_conf): Delete.  Deleting
19149         code is totally sweet.
19150
19151         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
19152
19153         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
19154         implements an object which controls a nameserver.  Currently
19155         uses bind 9.
19156
19157         * configure.in: Check for named.
19158
19159         * Makefile.am (SUBDIRS): Add named dir.
19160
19161         * named/named.conf: New template config file.
19162
19163 2004-12-20  Colin Walters  <walters@redhat.com>
19164
19165         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
19166         instead of '='.
19167
19168 2004-12-17  Dan Williams  <dcbw@redhat.com>
19169
19170         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
19171                 link-local addresses instead of doing DHCP.
19172
19173         * In the panel applet, there's a new "Create new Wireless Network..." item
19174
19175         * The panel applet also sticks around now even if NetworkManager dies, but
19176                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
19177                 a bug, I'll fix that later.
19178
19179         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
19180                 lookups after a switch rather than actually doing them.
19181
19182         * Clean up some of those warnings in nm_ap_list_* functions
19183
19184         * Delay between scans changed to 15s instead of 10s
19185
19186 2004-12-15  Dan Williams  <dcbw@redhat.com>
19187
19188         Patch from Tom Parker
19189         * Add autoip/Link Local Addressing support when we fail to get a DHCP
19190                 address
19191
19192         * Longer pause after setting ESSID on cards that support a larger number
19193                 of channels to give the card time to find the right channel
19194
19195         * Add system hook to restart mDNSResponder (or whatever the local implementation
19196                 of Multicast DNS is) when we activate interfaces
19197
19198 2004-12-15  Dan Williams  <dcbw@redhat.com>
19199
19200         * Rework the DHCP code again to revert to sending full ethernet frames
19201                 rather then relying on the kernel to do the right thing with our
19202                 packets.
19203
19204 2004-12-06  Dan Williams  <dcbw@redhat.com>
19205
19206         * dhcpcd/client.c
19207                 - Fix some minor errors in dhcp_handle_transaction() that caused
19208                         unexpected early timeouts of DHCP transactions
19209
19210         * dhcpcd/client.h
19211                 - DHCP retransmit time from 4s -> 5s
19212
19213 2004-12-05  Dan Williams  <dcbw@redhat.com>
19214
19215         * Major rework of the DHCP code, taking some cues from pump.  We don't
19216                 write raw Ethernet packets anymore, which simplifies the code quite
19217                 a bit.  The new code should be more robust, not hang in recvfrom()
19218                 as much, and generally work better.  This also means that we need
19219                 to force HAL/dbus to use a created GMainContext rather than the
19220                 default context, since having the DHCP renew/rebind thread using
19221                 its own GMainContext seemed to give dbus a fit.  There is also more
19222                 debugging information printed from the DHCP loop to help with future
19223                 problems.
19224
19225         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
19226                 assume that the default gateway should be the DHCP server.
19227
19228         Patch from Matthew Schick <matt oss-institute org>
19229         * src/backends/NetworkManagerGentoo.c
19230                 - Fix compilation error due to missing "ip4_broadcast"
19231
19232 2004-12-03  Dan Williams  <dcbw@redhat.com>
19233
19234         * initscript/Makefile.am
19235         * initscript/Debian/NetworkManager
19236         * initscript/Gentoo/NetworkManager
19237         * initscript/RedHat/NetworkManager
19238         * initscript/NMLaunchHelper.c
19239                 - Remove NMLaunchHelper, if you need to wait until the network
19240                         comes up, use the dead code from CVS.
19241
19242 2004-12-01  Colin Walters  <walters@redhat.com>
19243         
19244         * configure.in: Suck in gcc warnings code from Rhythmbox,
19245         but use fewer default flags, and in particular add -Wno-unused,
19246         since the codebase has a lot of unused variables.
19247
19248         * test/nmtestdevices.c (create_device): 
19249         * test/nminfotest.c (get_network_string_property) 
19250         (get_networks_of_type): 
19251         * test/nmclienttest.c (main): 
19252         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
19253         * initscript/NMLaunchHelper.c (get_nm_status): 
19254         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
19255         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
19256         Fix declarations after statements.
19257
19258 2004-12-01  Colin Walters  <walters@redhat.com>
19259
19260         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
19261         (nmi_dbus_get_vpn_userpass): New method.
19262         (nmi_dbus_nmi_message_handler): Invoke it.
19263
19264         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
19265
19266         * info-daemon/NetworkManagerInfoVPN.h,
19267         info-daemon/NetworkManagerInfoVPN.c: New files; responds
19268         to requests for VPN passwords.
19269
19270         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
19271
19272 2004-12-01  Colin Walters  <walters@redhat.com>
19273
19274         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
19275         includes.
19276
19277 2004-12-01  Colin Walters  <walters@redhat.com>
19278
19279         * panel-applet/NMWirelessAppletDbus.c
19280         (nmwa_dbus_update_active_device_strength): Fix missing
19281         return value.
19282
19283 2004-12-01  Colin Walters  <walters@redhat.com>
19284
19285         * panel-applet/NMWirelessApplet.c: Add missing include.
19286
19287 2004-12-01  Colin Walters  <walters@redhat.com>
19288
19289         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
19290         Remove useless CLAMP (); the value is unsigned, and the case tests
19291         qual->qual < 100, so the value must always be between 0 and 100.
19292
19293 2004-12-01  Colin Walters  <walters@redhat.com>
19294
19295         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
19296
19297 2004-11-22  Colin Walters  <walters@verbum.org>
19298
19299         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
19300         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
19301         which is essentially a noop since nscd caches hosts on disk too.
19302         
19303 2004-11-22  Colin Walters  <walters@redhat.com>
19304
19305         * src/Makefile.am (NetworkManager_SOURCES): Add
19306         NetworkManagerDevicePrivate.h.
19307
19308 2004-11-22  Dan Williams <dcbw@redhat.com>
19309
19310         * src/NetworkManagerDevicePrivate.h
19311                 - Split out the NMDevice struct to a different file so that stuff like
19312                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
19313
19314         * dhcpcd/client.c
19315                 - fprintf->syslog
19316                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
19317                         need to cancel the dhcp request during the send and recv
19318
19319         * dhcpcd/client.h
19320                 - Move the DHCP option enum to dhcpcd.h
19321
19322         * src/NetworkManagerDHCP.c
19323                 - Split out the actual IP/netmask/etc setting code
19324                 - New Renew/Rebind functions
19325                 - New timer setup function for renew/rebind operations
19326
19327         * src/NetworkManagerDevice.c
19328                 - For device activation, if we are using DHCP then keep the activation thread
19329                         alive until device deactivation.  We need to renew/rebind the DHCP address
19330                         after the T1 (renew) and T2 (rebind) times have expired.
19331                 - Increase some timeouts after bringing wireless cards up/down
19332
19333 2004-11-17  Dan Williams <dcbw@redhat.com>
19334
19335         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
19336                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
19337                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
19338                 show known access points that don't broadcast their ESSID in the menus without
19339                 any user intervention whatsoever.
19340
19341         * info-daemon/NetworkManagerInfoDbus.c
19342                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
19343                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
19344
19345         * src/NetworkManagerAP.[ch]
19346                 - Add a "user_addresses" data member to the NMAccessPoint structure
19347                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
19348                         the user_addresses data member
19349
19350         * src/NetworkManagerAPList.c
19351                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
19352                         the AP's reported address
19353                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
19354
19355         * src/NetworkManagerDHCP.c
19356                 - Increase DHCP timeout from 25s -> 30s
19357
19358         * src/NetworkManagerDbus.[ch]
19359                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
19360                         user addresses
19361
19362         * src/NetworkManagerDevice.c
19363                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
19364                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
19365                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
19366                         So, we take the card down to clear it out.
19367                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
19368                         too, since that's where the user_addresses are
19369
19370         * src/NetworkManagerPolicy.c
19371                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
19372                         that wireless networks' user_addresses list upon successful activation
19373
19374 2004-11-16  Dan Williams <dcbw@redhat.com>
19375
19376         * src/NetworkManagerDevice.[ch]
19377                 - (nm_device_clear_activation_fail): new function
19378
19379         * src/NetworkManagerPolicy.c
19380                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
19381                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
19382
19383 2004-11-16  Dan Williams <dcbw@redhat.com>
19384
19385         * src/NetworkManagerDevice.c
19386                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
19387                         leak the structure, better updating of now_scanning status
19388                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
19389
19390 2004-11-15  Dan Williams <dcbw@redhat.com>
19391
19392         Major rework of link detection code.  We now use DHCP
19393         as part of the link detection which proves to be much more robust,
19394         and also supports Open System authentication for wireless networks.
19395
19396         We no longer use external DHCP client programs.  Instead, we use 
19397         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
19398         which was written by:
19399                 Yoichi Hariguchi <yoichi@fore.com>
19400                 Sergei Viznyuk <sv@phystech.com>
19401                 http://www.phystech.com/download/
19402         It resides in the "dhcpcd" directory and was refactored into a general
19403         purpose DHCP client library by me.
19404
19405         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
19406         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
19407
19408 2004-11-15  Dan Williams <dcbw@redhat.com>
19409
19410         Patch from Tom Parker <palfrey@tevp.net>:
19411
19412         * src/NetworkManagerDevice.c
19413                 - Less output to console when no access
19414                         points are found during a scan
19415
19416 2004-11-15  Dan Williams <dcbw@redhat.com>
19417
19418         Patch from Tom Parker <palfrey@tevp.net>:
19419
19420         * src/backends/interface_parser.c
19421                 - Use g_strdup ()
19422                 - Check for inp == NULL
19423                 - use syslog ()
19424
19425 2004-11-13  Colin Walters  <walters@redhat.com>
19426
19427         Patch from Tom Parker <palfrey@tevp.net>:
19428
19429         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
19430         
19431         * src/backends/NetworkManagerRedHat.c: Switch to
19432         including shvar.h instead of shvar.c.
19433
19434         * src/backends/NetworkManagerDebian.c: Don't include
19435         interface_parser.c in source file.
19436
19437         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
19438         and interface_parser.[ch].
19439         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
19440         Include shvar.c and shvar.h here.
19441         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
19442         interface_parser.c and interface_parser.h here.
19443
19444 2004-11-12  Colin Walters  <walters@redhat.com>
19445
19446         * configure.in: Strip out TARGET_DISTRO and
19447         SYSTEM_BACKEND_FILE variables.  Switch to Automake
19448         conditionals.
19449
19450         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
19451         (libnmbackend_la_SOURCES): Use Automake conditionals
19452         to add distro-specific files.
19453
19454         * initscript/Makefile.am (SUBDIRS): Update to
19455         use conditionals.
19456
19457 2004-11-12  Colin Walters  <walters@redhat.com>
19458
19459         Patches from j bootlab org
19460
19461         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
19462         Add interface_parser.[ch].
19463
19464         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
19465         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
19466
19467 2004-11-12  Colin Walters  <walters@redhat.com>
19468
19469         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
19470         call to nmi_dbus_is_running too, not necessary anymore.
19471         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
19472         pick up exit().
19473
19474 2004-11-11  Colin Walters  <walters@verbum.org>
19475
19476         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
19477         Delete.
19478         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
19479         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
19480         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
19481         This avoids a race condition that made it pretty easily
19482         possible to get two NetworkManagerInfo daemons running.
19483
19484 2004-11-11  Colin Walters  <walters@verbum.org>
19485         
19486         * src/NetworkManager.c (main): Use daemon(3).
19487
19488         * info-daemon/NetworkManagerInfo.c (main): Ditto.
19489
19490         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
19491
19492 2004-11-10 Dan Williams <dcbw@redhat.com>
19493
19494         Patches from j bootlab org
19495         * src/NetworkManagerDevice.c
19496                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
19497                         whether the card has a link or not, some cards are slow
19498                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
19499
19500         * info-daemon/NetworkManagerInfoPassphraseDialog.c
19501                 - Disable the "Login" button on the passphrase dialog until the user
19502                         enters a valid passphrase or key
19503
19504         Patches from Tom Parker <palfrey tevp net>
19505         * src/backends/NetworkManagerDebian.c
19506                 - Add static IP support to the debian backend
19507
19508         * src/backends/interface_parser.[ch]
19509                 - Parse debian interface config files
19510
19511 2004-11-08 Dan Williams <dcbw@redhat.com>
19512
19513         * src/NetworkManagerDevice.c
19514                 - Some random fprintf->syslog conversions
19515                 - (nm_device_wireless_network_exists): double-check for network
19516                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
19517
19518         * src/NetworkManagerWireless.[ch]
19519                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
19520                         so that the binary->ascii conversion works (if unsigned, the bitshift
19521                         will fill with zeros, which is what's required).  Also mask bitshift
19522                         result with 0xF for futher assurance.
19523
19524 2004-11-06 Dan Williams <dcbw@redhat.com>
19525
19526         * src/NetworkManagerUtils.c
19527                 - (nm_get_wireless_driver_support_level): default to
19528                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
19529                         flip this when changing from whitelist->blacklist of
19530                         wireless drivers
19531
19532 2004-11-05 Dan Williams <dcbw@redhat.com>
19533
19534         Patch from Robert Paskowitz:
19535         * src/backends/NetworkManagerGentoo.c
19536                 - Update static IP config code
19537
19538 2004-11-05 Dan Williams <dcbw@redhat.com>
19539
19540         * info-daemon/NetworkManagerInfoDbus.c
19541           src/NetworkManagerDbus.[ch]
19542           src/NetworkManagerDevice.c
19543                 - Keep track of the # of attempts to get the WEP key
19544                         from the user and pass that along to the info daemon
19545
19546 2004-11-05 Dan Williams <dcbw@redhat.com>
19547
19548         * src/NetworkManagerUtils.c
19549                 - Blacklist wireless cards rather than whitelisting them.
19550                 - Grab driver name from HAL rather than trying to find it
19551                         ourselves.
19552
19553 2004-11-03 Dan Williams <dcbw@redhat.com>
19554
19555         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
19556                 - Disable OK button until valid data is entered
19557                         for encryption stuff too
19558
19559         * panel-applet/NMWirelessApplet.c
19560                 - Report card strength for current AP if the card
19561                         doesn't report strength data for scanned access
19562                         points
19563
19564         * src/NetworkManagerDevice.c
19565                 - Smooth out cards reported quality, Atmel card was
19566                         intermittently reporting no quality data but soon
19567                         recovers
19568
19569         * src/NetworkManagerWireless.c
19570                 - Better quality data percentage calculation.  Atmel
19571                         cards (mine at least) seem to report the quality
19572                         in percentage format already, so honor that
19573
19574         Patch from <j@bootlab.org>
19575         * NetworkManager.h
19576           info-daemon/NetworkManagerInfoPassphraseDialog.c
19577           info-daemon/passphrase.glade
19578           panel-applet/NMWirelessAppletOtherNetworkDialog.c
19579           panel-applet/essid.glade
19580           src/NetworkManagerAP.c
19581           src/NetworkManagerDevice.c
19582           src/NetworkManagerWireless.[ch]
19583                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
19584
19585 2004-11-03 Dan Williams <dcbw@redhat.com>
19586
19587         * src/NetworkManagerDevice.[ch]
19588                 - (nm_device_set_enc_key): Add parameter to set Authentication
19589                         Mode (Open System, Shared Key, or None).  We're still using
19590                         Shared Key for now though.
19591
19592 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
19593
19594         * panel-applet/menu-info.c: change from bold text to light
19595         colored, may cause problems with some themes, i've tested a lot
19596         and they seem fine. 
19597
19598         * panel-applet/NMWirelessApplet.c: fix strength tooltip
19599
19600 2004-11-01  Colin Walters  <walters@verbum.org>
19601
19602         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
19603         (nm_wireless_128bit_key_from_passphrase): Add const.
19604
19605         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
19606         (nm_ap_set_enc_key_source): Add const.
19607         
19608 2004-11-01  Colin Walters  <walters@verbum.org>
19609
19610         * .cvsignore: Update.
19611
19612 2004-10-29 Dan Williams <dcbw@redhat.com>
19613
19614         * src/NetworkManagerDevice.c
19615                 - (nm_device_wireless_network_exists): Actually use the encryption
19616                         key we got from the applet when attempting to find a wireless network
19617                 - Don't bring devices down so much since on some cards it triggers
19618                         firmware hotplugs each time
19619
19620         * src/NetworkManagerDbus.c
19621                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
19622                         from the caller
19623
19624 2004-10-29 Dan Williams <dcbw@redhat.com>
19625
19626         * src/NetworkManager.c
19627                 - (nm_hal_device_property_modified): unlock a locked active
19628                         wireless device when a wired connection gets a link.
19629                         (Means you'll switch to wired whenever you plug in no
19630                         matter what).
19631
19632 2004-10-29 Dan Williams <dcbw@redhat.com>
19633
19634         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
19635                 - New files, implement the "Other wireless network" dialog
19636
19637         * panel-applet/NMWirelessApplet.c
19638                 - Move "other wireless network" dialog to separate file
19639
19640         * panel-applet/NMWirelessAppletDbus.[ch]
19641                 - Take key and key_type paramaters for the set_device function
19642
19643         * panel-applet/essid.glade
19644                 - Add UI bits for encryption settings
19645
19646         * src/NetworkManagerDbus.c
19647                 - Retrieve key and key_type params for "setActiveDevice" method call
19648                         and pass them on
19649                 - unref AP returned from nm_device_get_best_ap() when needed
19650
19651         * src/NetworkManagerDevice.c
19652                 - (nm_device_get_best_ap): ref the ap before returning it
19653                 - unref AP returned from nm_device_get_best_ap() when needed
19654                 - (nm_device_activate_wireless): add "ap" parameter so we don't
19655                         need to call nm_device_get_best_ap() here, it was pretty much
19656                         redundant anyway
19657                 - (AP_NEED_KEY): break second link check condition out into separate
19658                         function, and fix segfault when ap->enc_key_source was NULL
19659                 - (nm_device_find_and_use_essid): take key and key_type parameters and
19660                         pass them along to nm_device_wireless_network_exists().  If the
19661                         network does exist, set the passed-in key+key_type on the AP
19662
19663         * src/NetworkManagerPolicy.c
19664                 - unref AP returned from nm_device_get_best_ap() when needed
19665
19666 2004-10-28 Dan Williams <dcbw@redhat.com>
19667
19668         * src/NetworkManagerUtils.c
19669                 - (nm_spawn_process): Fix a potential dereference of NULL
19670
19671         Patches from Peter Jones:
19672
19673         * src/NetworkManagerDevice.c
19674                 - (nm_device_test_wireless_extensions): Better check for
19675                         wireless devices
19676
19677         * src/NetworkManagerUtils.c
19678                 - (nm_spawn_process): Pass in valid stdout and stderr so
19679                         executed programs don't randomly SIGPIPE and fail
19680                 - (nm_get_wired_driver_support_level): quash hal warning
19681                         when checking for USB ethernet device
19682
19683 2004-10-27 Dan Williams <dcbw@redhat.com>
19684
19685         * info-daemon/NetworkManagerInfo.c
19686           info-daemon/NetworkManagerInfoDbus.c
19687           info-daemon/NetworkManagerInfoPassphraseDialog.c
19688           panel-applet/NMWirelessApplet.c
19689                 - Properly escape gconf keys
19690
19691         * src/NetworkManager.c
19692                 - remove unused variables
19693
19694         * src/NetworkManagerAP.c
19695                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19696                         refcount since it got set in nm_ap_new()
19697
19698         * src/NetworkManagerAPList.c
19699                 - (nm_ap_list_combine): Give up ownership of newly created
19700                         access points to the ap list, fixes memleak
19701
19702         * src/NetworkManagerDevice.c
19703                 - Remove cached_ap_list4 member since its not really needed
19704                 - (nm_device_wireless_network_exists): Try to get correct
19705                         encryption status of a found AP if its already in our
19706                         device list
19707                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19708                         memory allocs/deallocs a bit clearer and shorter-lived
19709
19710 2004-10-26 Ray Strode <rstrode@redhat.com>
19711
19712         * panel-applet/NMWirelessApplet.c:
19713           (custom_essid_item_selected):  kill some compiler
19714         warnings 
19715
19716 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19717
19718         * info-daemon/NetworkManagerInfoDbus.c
19719                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19720                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19721
19722 2004-10-23 Dan Williams <dcbw@redhat.com>
19723
19724         * info-daemon/NetworkManagerInfoDbus.c
19725                 - Trap the "DeviceActivationFailed" signal
19726
19727         * docs/NetworkManager DBUS API.txt
19728                 - Add "DeviceActivationFailed" signal
19729
19730         * panel-applet/NMWirelessAppletDbus.c
19731                 - Quash the "NetworkManager service not available" message
19732
19733         * src/NetworkManagerDbus.[ch]
19734                 - Add the "DeviceActivationFailed" signal
19735
19736         * src/NetworkManagerDevice.c
19737                 - Add support for activation_failed flag
19738                 - Fix deadlock where activation thread didn't clean itself up, making
19739                         main thread still believe it was alive forever (didn't reset activation
19740                         flags like activating, just_activated, etc when IP configuration
19741                         failed)
19742
19743         * src/NetworkManagerPolicy.c
19744                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19745                         for wireless networks, try to fall back to some other access point
19746
19747 2004-10-23 Dan Williams <dcbw@redhat.com>
19748
19749         * panel-applet/NMWirelessApplet.[ch]
19750                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19751                         to the applet object, so we can get tooltips
19752                 - Add tooltips (RH #136866)
19753
19754         * src/NetworkManagerDevice.c
19755                 - When trying to find a wireless network, try to connect with encryption
19756                         turned on first, so that we can more accurately detect whether or not
19757                         we need to use encryption for the actual association later on
19758
19759 2004-10-21 Dan Williams <dcbw@redhat.com>
19760
19761         * Add some support for telling NetworkManagerInfo to tell the user
19762                 that they are using a device that's not fully supported
19763
19764         * Fix some assertions in debug messages due to null access point args
19765
19766 2004-10-21 Dan Williams <dcbw@redhat.com>
19767
19768         * src/NetworkManagerDevice.c
19769                 - Don't try to activate/bring up/down unsupported
19770                         devices
19771
19772         * src/NetworkManagerUtils.c
19773                 - Fix case of PCI ID checks for driver support levels
19774
19775 2004-10-21 Dan Williams <dcbw@redhat.com>
19776
19777         * NetworkManager.h
19778                 - New file, now contains commonly used structures and bits
19779                         for the dbus API of NetworkManager
19780
19781         * Makefile.am
19782                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19783
19784         * src/NetworkManager.h
19785                 - Rename -> src/NetworkManagerMain.c
19786
19787         * Various fixups all around to use NetworkManager.h and new
19788                 src/NetworkManagerMain.h, remove redundant bits that got
19789                 moved into NetworkManager.h
19790
19791         * src/NetworkManagerDevice.[ch]
19792           src/NetworkManagerUtils.[ch]
19793           src/NetworkManagerPolicy.c
19794           src/NetworkManagerDbus.c
19795                 - Whitelist wireless drivers, and blacklist some wired
19796                         drivers.  Also blacklist cipsec and ethernet-over-usb
19797                         devices at this time (RH #135722, RH #135648)
19798                 - Don't leak unsupported devices out over dbus, or allow
19799                         them to be set as the active device.  Skip over them
19800                         during automatic device picking
19801
19802         * test/nmclienttest.c
19803                 - Clean up the dbus code a lot
19804
19805 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19806
19807         * configure.in: post release bump.
19808
19809 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19810
19811         * configure.in:
19812         * NEWS: Released NetworkManager-0.3.1
19813
19814 2004-10-18 Dan Williams <dcbw@redhat.com>
19815
19816         Patches from Thom May:
19817         * test/nmtestdevices.c
19818                 - Include <string.h>
19819         * src/backends/NetworkManagerDebian.c:
19820                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19821                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19822                         Move to using g_strdup_printf rather than arbitrary buffers
19823                 - (nm_system_device_setup_static_ip4_config) Implement function.
19824                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19825
19826 2004-10-17 Dan Williams <dcbw@redhat.com>
19827
19828         * info-daemon/NetworkManagerInfoDbus.c
19829                 - Display name of network in the "network not found" dialog
19830
19831         * panel-applet/NMWirelessAppletDbus.c
19832                 - (nmwa_dbus_call_nm_method): new function replaces all other
19833                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19834                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19835                         consolidated into nmwa_dbus_get_object_name()
19836
19837 2004-10-15 Dan Williams <dcbw@redhat.com>
19838
19839         * src/NetworkManagerDbus.c
19840           info-daemon/NetworkManagerInfoDbus.c
19841                 - Display an error dialog when the user tries to use an
19842                         "Other wireless network" that's not found.
19843
19844 2004-10-15 Dan Williams <dcbw@redhat.com>
19845
19846         * panel-applet/NMWirelessApplet.[ch]
19847                 - Fix up corner cases in applet state, making it
19848                         look more responsive.  Change state to "connecting" when
19849                         the user is forcing a device too.
19850
19851 2004-10-15 Dan Williams <dcbw@redhat.com>
19852
19853         * src/NetworkManagerAPList.c
19854                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19855
19856         * src/NetworkManagerDbus.c
19857                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19858
19859         * src/NetworkManagerDevice.c
19860                 - Disown APs after the device's AP list takes ownership
19861
19862 2004-10-15 Dan Williams <dcbw@redhat.com>
19863
19864         * panel-applet/NMWirelessApplet.c
19865                 - Update our applet state from the GUI thread
19866
19867         * panel-applet/NMWirelessAppletDbus.c
19868                 - Greatly simplify the locking to make the GUI thread
19869                         smoother.  Update a private copy of the device list
19870                         and active device and only when done talking to
19871                         NetworkManager turn it over to the GUI thread.
19872
19873 2004-10-15 Dan Williams <dcbw@redhat.com>
19874
19875         * src/NetworkManagerAP.[ch]
19876                 - Add "artificial" get/set functions, set for APs that
19877                         aren't discovered as part of a scan but instead
19878                         discovered by force-setting the ESSID
19879
19880         * src/NetworkManagerDevice.[ch]
19881                 - (nm_device_wireless_network_exists): pass back whether
19882                         or not the discovered AP was encrypted.  Also, try
19883                         falling back to encrypted mode on the card if unencrypted
19884                         association doesn't work
19885                 - (nm_device_find_and_use_essid): If the network requested
19886                         did in fact exists, but it wasn't in our scan list, add
19887                         an "artificial" entry for it.  Some Cisco cards don't
19888                         see non-ESSID-broadcasting APs in their scan but can still
19889                         associate with them if you know the ESSID, this works around
19890                         that behavior
19891                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
19892                         to scan if the card is currently associated with that AP
19893
19894 2004-10-15 Dan Williams <dcbw@redhat.com>
19895
19896         ---- We have a website ----
19897         http://people.redhat.com/dcbw/NetworkManager
19898
19899         Patch from Robert Paskowitz:
19900         * src/NetworkManager.c
19901                 - (main): Make sure we are run as root
19902         * src/NetworkManagerDevice.c
19903                 - Fix type in ad-hoc setting function
19904
19905         Patch from Thom May:
19906         * src/backends/NetworkManagerDebian.c
19907                 - Make Debian backend compile again
19908
19909 2004-10-14 Dan Williams <dcbw@redhat.com>
19910
19911         * Tagged NetworkManager-0_3
19912
19913 2004-10-14 Dan Williams <dcbw@redhat.com>
19914
19915         Patch from Robert Paskowitz:
19916         * NEWS
19917           src/NetworkManagerDevice.[ch]
19918           src/backends/NetworkManagerDebian.c
19919           src/backends/NetworkManagerGentoo.c
19920           src/backends/NetworkManagerRedHat.c
19921           src/backends/NetworkManagerSlackware.c
19922                 - Add support for grabbing and using a broadcast address
19923                         from system config files
19924                 - Some Gentoo backend fixes for grabbing network config
19925                 - Fix LOG_WARN->LOG_WARNING
19926
19927 2004-10-14 Dan Williams <dcbw@redhat.com>
19928
19929         * NEWS: a few small fixes in the credits
19930
19931 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
19932
19933         * NEWS: prep for release.
19934
19935 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
19936
19937         * panel-applet/NMWirelessAppletDbus.c
19938         (nmwa_dbus_update_device_wireless_networks): remove warnings.
19939
19940 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
19941
19942         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
19943         applet->state == APPLET_STATE_NO_NM animation.
19944
19945         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
19946         set the text correctly.
19947
19948 2004-10-14 Dan Williams <dcbw@redhat.com>
19949
19950         * src/NetworkManager.c
19951                 - Only accept and manager 802.3 and 802.11 devices
19952
19953         * src/NetworkManagerDbus.[ch]
19954                 - (nm_dbus_nm_set_active_device): move most of the actual activation
19955                         logic into NetworkManagerDevice.c
19956                 - (nm_dbus_network_status_from_data): new function
19957                 - (nm_dbus_signal_network_status_change): new function, unused for now
19958                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
19959
19960         * src/NetworkManagerDevice.[ch]
19961                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
19962                         a random ESSID.
19963
19964 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
19965
19966         * info-daemon/NetworkManagerInfo.c 
19967                 - (main): Added session management
19968
19969 2004-10-14 Dan Williams <dcbw@redhat.com>
19970
19971         * panel-applet/NMWirelessAppletDbus.[ch]
19972                 - Expose network_device_[un]ref()
19973                 - Expose wireless_network_[un]ref()
19974                 - (wireless_network_new_with_essid): new function, create and return
19975                         a wireless network with a particular essid
19976
19977         * panel-applet/NMWirelessApplet.c
19978                 - Hook up the "other network" dialog to do something
19979
19980 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
19981
19982         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
19983         doesn't work yet, but it looks okay.
19984
19985         * panel-applet/icons/*png: Resize to 22x22 and install in the
19986         right place.
19987
19988 2004-10-13 Dan Williams <dcbw@redhat.com>
19989
19990         * panel-applet/NMWirelessApplet.c
19991                 - Add function to print out applet_state in a readable
19992                         manner
19993
19994         * src/NetworkManager.c
19995                 - (main): Don't segfault when nm_dbus_init() fails, we had
19996                         a left-over call to hal_shutdown() into which we passed NULL
19997
19998         * src/NetworkManagerAP.c
19999                 - (nm_ap_set_essid): Allow NULL essids
20000
20001         * src/NetworkManagerAPList.[ch]
20002                 - More use of nm_ap_list_[un]lock ()
20003                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
20004                         network/essid, just return nothing.  Also skip over NULL
20005                         essid access points in the list when searching
20006                 - (nm_ap_list_get_ap_by_address): new function
20007                 - (nm_ap_list_update_network): set the access point's key source to
20008                         NULL when the key returned from NetworkManagerInfo is NULL or
20009                         of 0 length
20010                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
20011                         copy timestamp over too
20012                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
20013                         find the correct ESSID for a blank-essid access point by searching
20014                         through another list and matching access point MAC addresses
20015                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
20016
20017         * src/NetworkManagerDbus.c
20018                 - (nm_dbus_nm_set_active_device): deal with random networks the user
20019                         may specify.  This is mainly for access points that don't
20020                         broadcast their essid.  So if the user tells us to associate with
20021                         some random ESSID that's not in our access point list, we find
20022                         out if the access point does in fact exist (by attempting association
20023                         and then matching that access point's MAC address with the essid the
20024                         user gave us) and then we switch to it.
20025                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
20026                         to the returned list of networks for the "getNetworks" method
20027
20028         * src/NetworkManagerDevice.[ch]
20029                 - Extra debugging info for link detection
20030                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
20031                         based on MAC address
20032                 - (nm_device_get_path_for_ap): ignore blank-essid access points
20033                 - (nm_device_wireless_network_exists): new function, find out whether
20034                         a random ESSID exists by attempting to associate with it
20035                 - (nm_device_do_normal_scan): allow blank-essid access points in our
20036                         device list as long as they have an AP MAC address we can use.
20037                         Also send WirelessNetwork[Dis]Appeared signals for non-active
20038                         devices too.  Lets the applet update more frequently.
20039
20040         * src/backends/NetworkManagerGentoo.c
20041                 - Patch from: Robert Paskowitz
20042                         - Update backend code for Gentoo
20043                         - Implement nm_system_device_update_config_info ()
20044
20045         * test/nmclienttest.c
20046                 - (set_network_device): new function, takes a command-line argument
20047                         and tells NetworkManager to use that wireless network
20048
20049 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
20050
20051         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
20052         if the notification icon crashes 5 times within 5 seconds of each respawn 
20053
20054 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
20055
20056         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
20057         g_print.
20058
20059 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
20060
20061         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
20062
20063         * panel-applet/NMWirelessApplet.c: (animation_timeout),
20064         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
20065         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
20066         Change the name of the icons.
20067
20068         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
20069         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
20070         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
20071         (nm_menu_wireless_expose_event): Really bad hack to get the style
20072         to draw in the right color.
20073
20074 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
20075
20076         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
20077         Notification if it crashes
20078
20079 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
20080
20081         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
20082         (nmwa_dbus_get_string): remove unused functions
20083
20084         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
20085         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
20086         remove unused functions
20087
20088         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
20089
20090 2004-10-12 Dan Williams <dcbw@redhat.com>
20091
20092         * panel-applet/NMWirelessAppletDbus.c
20093                 - New functions:
20094                         wireless_network_new
20095                         wireless_network_copy
20096                         network_device_new
20097                         network_device_copy
20098
20099         * src/NetworkManagerDevice.[ch]
20100                 - New functions:
20101                         nm_device_set_mode_managed
20102                         nm_device_set_mode_adhoc
20103                 - Use these functions where appropriate
20104                 - When creating a new wireless device, force the card
20105                         to managed/Infrastructure mode as soon as possible
20106
20107 2004-10-12 Dan Williams <dcbw@redhat.com>
20108
20109         * src/NetworkManagerDevice.c
20110                 - Force wireless cards into Infrastructure mode before we use them
20111
20112 2004-10-12 Dan Williams <dcbw@redhat.com>
20113
20114         * TODO
20115                 - Remove bit about static IP address support
20116
20117         * src/NetworkManagerUtils.c
20118                 - (nm_spawn_process): Add some error reporting
20119
20120         * src/NetworkManagerDevice.c
20121                 - (nm_device_activation_configure_ip): hook up to the static config
20122                         routines in the backends
20123
20124         * src/backends/NetworkManagerRedHat.c
20125                 - (nm_system_device_update_config_info): use shvar.c routines to
20126                         parse the config file iformation, not our own
20127                 - (nm_system_device_setup_static_ip4_config): new function, based
20128                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
20129                         with a static IP address and gateway
20130
20131         * src/backends/shvar.[ch]
20132                 - Parser (filched from initscripts package) for ifcfg-* files
20133
20134         * src/backends/NetworkManagerSystem.h
20135           src/backends/NetworkManagerGentoo.c
20136           src/backends/NetworkManagerDebian.c
20137           src/backends/NetworkManagerSlackware.c
20138                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
20139
20140 2004-10-11 Dan Williams <dcbw@redhat.com>
20141
20142         * TODO
20143                 - Remove bit about more robust AP diffing since I just implemented it
20144
20145 2004-10-11 Dan Williams <dcbw@redhat.com>
20146
20147         * src/NetworkManagerAP.c
20148                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
20149                         enough RAM to allocate new AP structures, but return NULL instead
20150
20151         * src/NetworkManagerAPList.[ch]
20152                 - (nm_ap_list_is_empty): new function
20153                 - (nm_ap_list_combine): new function, combine two access point lists
20154                 - (nm_ap_list_copy_keys): new function, copy keys from one list
20155                         into another
20156
20157         * src/NetworkManagerDevice.[ch]
20158                 - Rename some functions to be clearer:
20159                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
20160                         nm_device_just_activated     -> nm_device_is_just_activated
20161                         nm_device_activating         -> nm_device_is_activating
20162                         nm_device_now_scanning       -> nm_device_is_scanning
20163                 - Cache the last 4 scans so that the access point list is more stable.
20164                         We combine the lastest two scans and use that as the AP list,
20165                         and diff that combined list against the combination of the earliest
20166                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
20167
20168 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20169
20170         * info-daemon/NWManagerInfo.h
20171                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
20172
20173         * info-daemon/NWManagerInfoDbus.c
20174                 - (shutdown_callback): new function
20175                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
20176                         if NetworkManager goes away.  Kill the timeout
20177                         if NetworkManager restarts before the 30 seconds
20178                         are up.
20179                 - (nmi_dbus_service_init): 
20180                         - call gtk_main_quit if NetworkManager is not running
20181                         - add filters to monitor dbus service creations and
20182                                 deletions
20183         
20184 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20185
20186         * panel-applet/NMWirelessApplet.c
20187                 - (nmwa_update_state): Hide notification icon if we are only
20188                         showing one wired card and no wireless interfaces 
20189                         (Red Hat Bug #134895)
20190
20191         * panel-applet/NMWirelessAppletDbus.c
20192                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
20193
20194         * info-daemon/NWManagerInfo.c
20195                 - (main): Terminated the notification_icon_cmd array with a NULL
20196
20197 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
20198
20199         * configure.in (ALL_LINGUAS): Added de (German).
20200
20201 2004-10-08 Dan Williams <dcbw@redaht.com>
20202
20203         * src/NetworkManagerDevice.c
20204                 - Be a bit more robust about link checking, ie make sure that
20205                         the WEP key we were given actually has some data in it
20206
20207 2004-10-08 Dan Williams <dcbw@redhat.com>
20208
20209         * info-daemon/NetworkManagerInfo.c (main):
20210                 - Initialize GError object to NULL
20211
20212 2004-10-08 Dan Williams <dcbw@redhat.com>
20213
20214         * panel-applet/NMWirelessAppletDbus.c
20215                 - Die if NetworkManagerInfo dies, since it manages our lifetime
20216
20217 2004-10-08 Dan Williams <dcbw@redhat.com>
20218
20219         * info-daemon/NetworkManagerInfo.[ch]
20220           info-dameon/NetworkManagerInfoDbus.[ch]
20221           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
20222                 - Preserve original label text in the passphrase dialog so that
20223                         it actually gets updated with the new network name the next
20224                         time around.  Previously, we were overwriting it so you'd get
20225                         the wrong network name to enter a key for
20226                 - Add a "Key Type" combo to the passphrase dialog, user selects
20227                         encryption key type now, type is stored in GConf too
20228                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
20229
20230         * src/NetworkManagerAP.[ch]
20231                 - Remove all the encyption method magic.  It's now set by the user
20232                         and NetworkManager retrieves the type of encryption key from
20233                         NetworkManagerInfo
20234
20235         * src/NetworkManagerAPList.[ch]
20236           src/NetworkManagerDbus.[ch]
20237                 - Adjust to new way of setting encryption key and method
20238                 - Pull encryption method down from NMI along with key
20239
20240         * src/NetworkManagerDevice.[ch]
20241                 - Removed encryption method fallback magic as the method is now
20242                         determined by the user.  This greatly simplifies the connection
20243                         logic.
20244                 - More robust connection/link logic.  Besides removing the encryption
20245                         method fallback magic, check whether or not the card is receiving
20246                         invalidly encrypted packets, which usually indicates that we have
20247                         a bad WEP key set.
20248                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
20249
20250         * test/nminfotest.c
20251                 - Test out new "Key Type" stuff in the NMI passphrase dialog
20252
20253 2004-10-07 Dan Williams <dcbw@redhat.com>
20254
20255         * info-daemon/NetworkManagerInfo.conf
20256                 - Allow root user to run NMI too
20257
20258 2004-10-06 Dan Williams <dcbw@redhat.com>
20259
20260         * src/NetworkManagerDevice.[ch]
20261           src/NetworkManagerDbus.c
20262           doc/NetworkManager DBUS API.txt
20263                 - Add a new status tag "scanning", which is set when there
20264                         is no active network connection, but NetworkManager is
20265                         looking for an access point to associate with
20266
20267         * panel-applet/main.c
20268                 - Cast the applet appropriately for gtk_widget_show_all ()
20269
20270 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
20271
20272         * panel-applet/eggtrayicon.[ch]:
20273         * panel-applet/main.c: Add missing file
20274
20275 2004-10-04 Dan Williams <dcbw@redhat.com>
20276
20277         * src/NetworkManagerDevice.[ch]
20278                 - Add a slightly more robust method of determining if the WEP key
20279                         is correct or not, by checking the WEP-discarded packet count
20280                         on the card
20281
20282         * info-daemon/NetworkManagerInfo.c
20283                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
20284                         un-escape values we pull out rather than escaping them
20285
20286 2004-10-03  Marcel Telka  <marcel@telka.sk>
20287
20288         * configure.in (ALL_LINGUAS): Added sk.
20289
20290 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
20291
20292         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
20293         and feel.  We should be back to working, and have a good, clean
20294         look.
20295
20296 2004-09-30 Dan Williams <dcbw@redhat.com>
20297
20298         * info-daemon/NetworkManagerInfo.c
20299           info-daemon/NetworkManagerInfoDbus.c
20300           test/nminfotest.c
20301                 - Escape ESSIDs in gconf
20302
20303         * src/NetworkManagerDevice.c
20304                 - Fix pseudo-scanning to use netowrk list from info daemon
20305
20306 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
20307
20308         * configure.in: Add a temporary --enable-notification-icon.  This
20309         will prolly go away.
20310
20311         * info-daemon/Makefile.am:
20312         * info-daemon/NetworkManagerInfo.c:
20313         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
20314
20315         * panel-applet/Makefile.am:
20316         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
20317         * panel-applet/NMWirelessApplet.h:
20318
20319 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
20320
20321         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
20322         before 'select custom ESSID'.
20323
20324         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
20325         fully complete, but syncing in prep for merge.
20326
20327         * panel-applet/icons/*png: New images
20328
20329 2004-09-28 Dan Williams <dcbw@redhat.com>
20330
20331         * src/NetworkManager.c
20332           src/NetworkManagerDevice.c
20333           src/NetworkManagerPolicy.c
20334                 - Don't blow away an active wired connection on startup
20335
20336 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
20337
20338         Changes from J5
20339         
20340         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
20341
20342         * info-daemon/NetworkManagerInfoDbus.c: added service name to
20343         syslog output
20344
20345 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
20346
20347         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
20348         have a wireless card.
20349
20350 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
20351
20352         * panel-applet/NMWirelessApplet.c: move the custom essid item.
20353         Also, get the right device strings.
20354
20355 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
20356
20357         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
20358         the logic to make this right.
20359
20360         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
20361         devices so that wired networks are always first.
20362
20363 2004-09-22    <clarkbw@cvs.gnome.org>
20364
20365         * initscript/Debian/.cvsignore:
20366         * initscript/Slackware/.cvsignore:
20367         Added new cvsignores for Makefile, Makefile.in
20368         
20369         * test/.cvsignore:
20370         Added nmtestdevices
20371         
20372         * src/NetworkManagerDevice.c: 
20373         * src/NetworkManager.c: 
20374         Updated the wireless/wired HAL device strings from net.ethernet to
20375         net.80203 or net.80211 depending on wired or wireless respectively
20376         
20377         * examples/python/NetworkManager.py: 
20378         s/Quality/Strength/
20379
20380         * examples/python/systray/network_tray.py:
20381         Lots of little changes and fixes.  been rotting for a while so I
20382         figured I'd finally sync them all with CVS
20383
20384 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
20385
20386         * configure.in: Add graphics
20387
20388         * panel-applet/Makefile.am: Add graphics
20389
20390         * panel-applet/icons/*: Add graphics
20391
20392         * panel-applet/NMWirelessApplet.c: Use new menu times to display
20393         the icons fully lined up.
20394
20395         * panel-applet/menu-info.c: 
20396         * panel-applet/menu-info.h: Add another menu type.
20397
20398 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
20399
20400         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
20401
20402         * panel-applet/menu-item.[ch]: Wireless menu item.
20403
20404 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
20405
20406         * info-daemon/NetworkManagerInfo.conf
20407                 - Created a more robust security policy for the DBus service
20408                         - everything is denied by default
20409                         - root can own and send to the service
20410                         - users logged in at the console can send to the service
20411
20412 2004-09-13  Dan Williams <dcbw@redhat.com>
20413
20414         * src/NetworkManagerDevice.c
20415                 - (nm_device_get_essid): use iw_get_basic_config() rather than
20416                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
20417                         the latter
20418
20419 2004-09-13  Dan Williams <dcbw@redhat.com>
20420
20421         * TODO: fix typo
20422
20423         * docs/NetworkManager DBUS API.txt
20424                 - Update for new signal strength changes
20425
20426         * panel-applet/NMWirelessApplet.c
20427                 - Make panel icon show strength of the current connection
20428                 - Cleanups and memleak fixes
20429
20430         * panel-applet/NMWirelessApplet.h
20431                 - Add data members for signal strength on devices and networks
20432
20433         * panel-applet/NMWirelessAppletDbus.c
20434                 - Free more DBusErrors
20435                 - Update for new signal strength changes
20436                 - Make devices and networks more like real objects, use ref/unref methods
20437                 - Actually unlock the mutex when updating the active device
20438
20439         * src/NetworkManagerAP.c
20440                 - Change AP functions and data members from "quality"->"strength"
20441
20442         * src/NetworkManagerDbus.c
20443                 - Kill "getMaxQuality" and "getQuality" methods
20444                 - Add "getStrength" methods for Networks and Devices
20445
20446         * src/NetworkManagerDevice.[ch]
20447                 - Add accessors for device strength
20448                 - Add functions to update strength for a device.  Note that not all drivers
20449                         actually support signal strength for scanned access points (Atmel drivers
20450                         being one)
20451                 - Calculate signal strength for each AP during scan
20452
20453         * src/NetworkManagerWireless.[ch]
20454                 - Add function to return signal strength % from a device and a raw quality struct
20455
20456         * test/nmclienttest.c
20457                 - Update for new signal strength changes
20458
20459 2004-09-11  Dan Williams <dcbw@redhat.com>
20460
20461         * src/NetworkManager.c
20462                 - Fix race condition between initscripts and NM on card insertion
20463                         which could cause a card to keep an IP address and routes around
20464                         even when it was not the active device
20465
20466         * src/NetworkManagerDbus.c
20467                 - Fix compile errors, free more DBusErrors
20468
20469 2004-09-11  Dan Williams <dcbw@redhat.com>
20470
20471         * docs/NetworkManager DBUS API.txt
20472                 - Add an explanation of NM's API
20473
20474         * src/NetworkManagerDbus.c
20475                 - Free some more DBusErrors if needed
20476
20477 2004-09-11  Dan Williams <dcbw@redhat.com>
20478
20479         * panel-applet/NMWirelessApplet.c
20480           panel-applet/NMWirelessAppletDbus.c
20481                 - Start using NetworkDevice/WirelessNetwork structures in more places
20482                 - Update for unified device/network forcing in NetworkManager
20483
20484         * src/NetworkManager.c
20485                 - some code consolidation
20486
20487         * src/NetworkManagerDbus.c
20488                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
20489                         or two arguments:  the first is the NM ID of the device to switch to,
20490                         and the second (optional) argument is the ESSID of a wireless network
20491                         to use as well.
20492                 - Get rid of "setNetwork" method due to above change
20493
20494         * src/NetworkManagerDevice.c
20495                 - (nm_device_new): perform scan and update best AP on device creation
20496                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
20497                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
20498                         spin waiting for cancellation to finish before returning
20499
20500         * src/NetworkManagerPolicy.c
20501                 - Changes here clarify the situations in which a device switch occurs, and 
20502                         make sure to keep using a forced device and network if the user gives
20503                         us one
20504                 - Remove old unused code
20505
20506 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
20507
20508         * configure.in: Added Danish (da) to ALL_LINGUAS.
20509
20510 2004-09-09  Dan Williams <dcbw@redhat.com>
20511
20512         * panel-applet/NMWirelessAppletDbus.c
20513                 - Pull fresh devices and networks from NM when wireless networks
20514                         change.  Provides faster feedback of a forced wireless network
20515
20516         * src/NetworkManagerDbus.c
20517                 - Return error when "getMaxQuality" is called on a wired device
20518                 - Make best_ap freezing actually work again, and signal cancellation
20519                         of activation if there's already a device activation when the user
20520                         freezes the best_ap
20521
20522         * src/NetworkManagerDevice.c
20523                 - Don't clear out the best_ap for wireless devices when the link goes
20524                         down, that's done elsewhere
20525                 - Kill any dhcp daemons when cancelling device activation since they
20526                         may be stuck waiting for a DHCP address, and since we're cancelling
20527                         activation we don't care about that anymore
20528
20529         * src/NetworkManagerPolicy.c
20530                 - Make sure to unref the device we ref earlier (we refed it to make sure
20531                         it stuck around during device activation and such)
20532                 - If we were going to change the best device, but its activating currently
20533                         (and therefore the change didn't occur due to the check earlier)
20534                         we mark the state changed to we come back to it later when device
20535                         activation has canceled and its no longer activating
20536
20537         * src/backends/NetworkManagerRedHat.c
20538                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
20539
20540 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
20541
20542         * info-daemon/passphrase.glade: 
20543         set passphrase input to activates_default : True
20544
20545         * examples/python/systray/network_tray.py
20546         (network_tray.sort_networks):
20547
20548         Added support for having wireless always scanning
20549
20550 2004-09-09  Dan Williams <dcbw@redhat.com>
20551
20552         NOTE: this commit changes the behavior of wireless devices in
20553         NetworkManager.  They are now up all the time, scanning all
20554         the time.  Only the active device has an IP address and routing
20555         information set up however.  Also, NetworkManager will no longer
20556         opportunistically switch wireless networks when a better one
20557         comes in range, it will remain associated with one wireless network
20558         until that one drops out.
20559
20560         * panel-applet/NMWirelessApplet.c
20561           panel-applet/NMWirelessAppletDbus.c
20562                 - List all wireless cards and their respective networks
20563
20564         * src/NMLoadModules
20565                 - Use full path to /sbin/ip
20566
20567         * src/NetworkManager.c
20568                 - Keep wireless devices up all the time so they can scan
20569
20570         * src/NetworkManagerDbus.c
20571                 - On a WirelessNetworkUpdate signal from NMI, don't update
20572                         the "best" AP
20573
20574         * src/NetworkManagerDevice.c
20575                 - (nm_device_set_link_active): clear out the best ap for
20576                         wireless devices when the link is set to FALSE
20577                 - Scan on all wireless cards, all the time
20578                 - (nm_device_activation_worker): split out the wireless card
20579                         link-waiting code to a separate function
20580                 - Keep wireless cards up even if device activation fails
20581                 - Don't update the "best" ap as much
20582
20583         * src/NetworkManagerPolicy.c
20584                 - Don't update the best ap when checking if its frozen,
20585                         let link checking clear out a frozen best ap for us
20586
20587         * src/NetworkManagerWireless.c
20588                 - Scan on all wireless cards, all the time
20589
20590 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
20591
20592         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
20593
20594 2004-09-09  Ankit Patel <ankit@redhat.com>
20595
20596         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
20597
20598 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
20599
20600         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
20601
20602 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
20603
20604         * examples/python/NetworkManager.py: 
20605         added CONNECTED, CONNECTING, and DISCONNECTED states
20606         added methods to return number of devices of a single type
20607
20608         * examples/python/systray/network_tray.py: 
20609         did some tweaks to get the menu looking near what it is supposed
20610         to look like.  Also did a Airo card hack to make it show the
20611         correct AP quality
20612
20613 2004-09-08  Dan Williams <dcbw@redhat.com>
20614
20615         * panel-applet/no-networkmanager.png
20616           panel-applet/Makefile.am
20617           panel-applet/NMWirelessApplet.c
20618                 - Add a "NetworkManager not running" icon and use it
20619                 - Use new consolidated GConf keys rather than Preferred/Trusted
20620
20621         * TODO: update
20622
20623         * info-daemon/NetworkManagerInfo.c
20624           info-daemon/NetworkManagerInfoDbus.[ch]
20625           info-daemon/NetworkManagerInfoPassphraseDialog.c
20626                 - There are now no longer two separate lists of wireless networks,
20627                         but one list where each network is "trusted" or not trusted
20628                 - Add a "getNetworkTrusted" dbus method
20629                 - "WirelessNetworkUpdate" signal now sent rather than
20630                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
20631                 - Start freeing some dbus errors (not completed yet)
20632
20633         * info-daemon/passphrase.glade
20634                 - Remove the "don't show" hints for pager and taskbar
20635                 - Add a title since its going to be in the taskbar
20636
20637         * src/NetworkManager.[ch]
20638           src/NetworkManagerAPList.[ch]
20639                 - There are now no longer two separate lists of wireless networks,
20640                         but one list where each network is "trusted" or not trusted
20641
20642         * src/NetworkManagerAP.[ch]
20643                 - Add get/set "trusted" accessors and data bit
20644
20645         * src/NetworkManagerDbus.[ch]
20646                 - Add function to get "trusted" status of a network from NetworkManagerInfo
20647                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
20648
20649         * src/NetworkManagerDevice.[ch]
20650                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
20651                 - (nm_device_new): Get device config from backend when initializing devices
20652                 - (nm_device_activation_worker): Split out device configuration on
20653                         activation to deal with static/dynamic IP differences, and try encryption
20654                         fallbacks on a device if the encryption method for the best AP is not good
20655                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
20656                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
20657
20658         * src/NetworkManagerWireless.c
20659                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
20660
20661         * src/backends/NetworkManagerRedHat.c
20662           src/backends/NetworkManagerSystem.h
20663                 - (nm_system_device_update_config_info): Add function to get device configuration
20664                         from system data in ifcfg-* files
20665
20666         * src/backends/NetworkManagerDebian.c
20667           src/backends/NetworkManagerGentoo.c
20668           src/backends/NetworkManagerSlackware.c
20669                 - Add stub functions for getting device configuration
20670
20671 2004-09-07  Dan Williams <dcbw@redhat.com>
20672
20673         * src/backends/NetworkManagerRedhat.c
20674           src/backends/NetworkManagerSlackware.c
20675                 - Use full path to /sbin/ip everywhere
20676
20677 2004-09-07  Dan Williams <dcbw@redhat.com>
20678
20679         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20680
20681         * configure.in
20682           initscript/Makefile.am
20683           initscript/Slackware/Makfile.am
20684           initscript/Slackware/rc.networkmanager
20685           src/Makefile.am
20686           src/backends/NetworkManagerSlackware.c
20687                 - Add Slackware support
20688
20689 2004-09-07  Dan Williams <dcbw@redhat.com>
20690
20691         Patches below from:
20692                 <j@bootlab.org>
20693                 Mark Roach <mrroach@okmaybe.com>
20694                 Thom May <thom@debian.org>
20695
20696         * configure.in
20697           initscript/Debian/NetworkManager
20698           initscript/Debian/Makefile.am
20699                 - Initscript for Debian
20700
20701         * src/backends/NetworkManagerDebian.c
20702                 - Add missing system init function to allow compilation
20703                         on Debian
20704
20705 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20706
20707         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20708
20709 2004-09-03  Akagic Amila <bono@linux.org.ba>
20710
20711         * configure.in: Added 'bs' to ALL_LINGUAS.
20712
20713 2004-09-02  Colin Walters  <walters@verbum.org>
20714
20715         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20716         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20717         g_strdup_printf instead of arbitrarily sized buffers.
20718
20719 2004-09-01  Colin Walters  <walters@verbum.org>
20720
20721         * NetworkManager.pc.in: New file.
20722
20723         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20724
20725 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20726         
20727         * configure.in: Punjabi(pa) is added to po/.
20728
20729 2004-08-31  Dan Williams <dcbw@redhat.com>
20730
20731         * Remove 'debug' extern global from all files since we now
20732                 use syslog()
20733
20734         * src/NetworkManager.[ch]
20735                 - Break out routine that get the net.interface property from HAL,
20736                         removing that logic from nm_create_device_and_add_to_list()
20737                 - (nm_create_device_and_add_to_list): make this a bit more general so
20738                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20739                         the create of test devices.
20740                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20741                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20742                         which makes NetworkManager listen for dbus commands to create test
20743                         devices, which have no backing hardware.  Use when you're on a plane
20744                         for example, and/or forgot your wireless card at home.  Test devices
20745                         _cannot_ be created unless NM is started with --enable-test-devices.
20746
20747         * src/NetworkManagerDbus.[ch]
20748                 - New "getLinkActive" method for devices
20749                 - New "setLinkActive" method for devices (only works on test devices)
20750                 - New "createTestDevice" method on NetworkManager object to create a test
20751                         device of a specified type (ie wired, wireless).  UDI is created from
20752                         scratch, as is the interface name.  Only works when NM is started with
20753                         --enable-test-devices switch.
20754                 - New "removeTestDevice" method on NetworkManager object which removes a
20755                         test device.  Only works when NM is started with --enable-test-devices
20756
20757         * src/NetworkManagerDevice.[ch]
20758                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20759                         whether a device is a test device or not, and what its link status is.
20760                 - Deal with test devices in most functions.  For those that work directly on hardware
20761                         special-case test devices.
20762                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20763                         command-line.
20764                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20765                         checking to separate functions to facilitate test device link checking.
20766                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20767                         don't make a distinction between System Authentication and Encryption
20768                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20769                         on the card.  We don't deal with Shared Key auth yet.
20770                 - (nm_device_activation_worker): split the activation cancel check logic out into
20771                         a separate routine nm_device_activation_cancel_if_needed()
20772                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20773                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20774                         a list of fake access points that they can "see"
20775                 - (nm_device_is_test_device): return whether or not a device is a test device
20776
20777         * src/NetworkManagerPolicy.c
20778                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20779                         previously if you "locked"/forced NM to use a wireless device but then
20780                         selected a wireless network for NM to use, it would switch to a wired device.
20781                         So, if the active device is wireless and it has a "forced" best AP, use it
20782                         if the "forced" best AP is still valid
20783                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20784                         there were no usable network devices, or the last one was removed
20785
20786         * src/backends/NetworkManager*.c
20787                 - Deal with test devices, mostly just return success for operations like getting
20788                         a DHCP address
20789
20790         * test/nmtestdevices.c
20791                 - Test tool to create/remove/link-switch test devices
20792
20793 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20794
20795         * examples/python/NetworkManager.py: 
20796         added convience functions has_wired_device and has_wireless_device
20797
20798         * examples/python/systray/network_tray.py: 
20799         cleaned up a bunch of cruft, added support for listing wireless
20800         networks just like the real applet.  This is probably all I'm
20801         going to work on this applet from now on.
20802         TODO: add support for actually changing networks and devices
20803
20804         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20805         changed "nm.networks" into a dict from a list so I can store all
20806         the cool information about networks in there
20807
20808         * examples/python/systray/network_tray.py: 
20809         Added nice message when you try to run without running make first
20810
20811         * examples/python/NetworkManager.py: 
20812         Bug fixes to the code so we get all the device information
20813         that we need in get_device()
20814         
20815         * examples/python/NMTester.py: 
20816         Fixed _print_device_list to print_device_list
20817
20818 2004-08-29  Seth Nickell  <seth@gnome.org>
20819
20820         * configure.in:
20821
20822         Actually properly setup the Debian backend in configure.
20823         
20824 2004-08-29  Colin Walters  <walters@verbum.org>
20825
20826         * test/nminfotest.c: Include string.h and stdlib.h.
20827         (get_network_string_property, get_networks_of_type): Return NULL.
20828
20829         * test/nmclienttest.c (get_device_name, get_active_device): Return
20830         NULL.
20831
20832         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20833         use strlen, fgets always NULL-terminates the string.
20834
20835         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20836         dbus_message_get_member): Remove /* in comment.
20837
20838         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20839
20840         * src/NetworkManager.c (quit): Unused, delete.
20841         (nm_data_free): Cast arg to GFunc.
20842
20843         * panel-applet/NMWirelessAppletDbus.c: Need to include
20844         string.h, and dbus-glib-lowlevel.h (the latter is needed
20845         for dbus_connection_setup_with_g_main at present).
20846         (nmwa_dbus_update_wireless_network_list): Parenthesize
20847         assignment in conditional.
20848         (nmwa_dbus_worker): Return NULL.
20849
20850         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20851         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20852         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20853         (nmwa_populate_menu): Return NULL on failure, instead of just
20854         return;
20855
20856         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20857
20858         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20859         variables.
20860
20861         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20862         delete.
20863         
20864 2004-08-29  Colin Walters  <walters@verbum.org>
20865
20866         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
20867         a GTimeVal instead of time_t.  This is easier to work with,
20868         since time_t may be a long or double, we don't know.
20869
20870         * src/NetworkManagerDbus.h: Update prototype.
20871         
20872         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
20873         instead of time_t.
20874         (nm_ap_get_timestamp): Update to return GTimeVal.
20875         (nm_ap_set_timestamp): Update to take GTimeVal.
20876         
20877         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
20878         to handle GTimeVal.
20879
20880         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
20881         GTimeVal change.
20882         (nm_ap_list_print_members): Fix warnings in printf format.
20883
20884 2004-08-29  Colin Walters  <walters@verbum.org>
20885         
20886         * panel-applet/NMWirelessApplet.c: Include config.h.
20887
20888 2004-08-29  Colin Walters  <walters@verbum.org>
20889
20890         * configure.in: Generate config.h.
20891
20892         * configure.in: Dump dependency on OpenSSL; we can't
20893         use it since this package is GPL:
20894         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
20895         Instead, check for libgcrypt, use it if available,
20896         otherwise use included MD5 code.
20897
20898         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
20899         Suck in from gnome-keyring, munge a bit.
20900         
20901         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
20902         gnome-keyring-md5.h gnome-keyring-md5.c.
20903         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
20904
20905         * src/NetworkManagerWireless.c (nm_md5): New function, uses
20906         libgcrypt or included gnome-keyring md5 bits.
20907         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
20908
20909 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
20910
20911         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
20912
20913 2004-08-27  Bryan Clark  <bclark@redhat.com>
20914
20915         * examples/python/systray/Makefile: 
20916
20917         Updated the clean section
20918         
20919         * examples/python/systray/trayiconmodule.c: 
20920         * examples/python/systray/trayicon.override: 
20921         * examples/python/systray/network_tray.py: 
20922         * examples/python/systray/eggtrayicon.h: 
20923         * examples/python/systray/eggtrayicon.c: 
20924         * examples/python/systray/Makefile: 
20925         * examples/python/README: 
20926         * examples/python/NetworkManager.py: 
20927         * examples/python/NMTester.py: 
20928
20929         Initial commit of these python example files
20930
20931 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
20932
20933         * panel-applet/NMWirelessApplet.c
20934                 - Make current device bold
20935                 - Show more user-friendly device name if we got one from hal
20936
20937         * panel-applet/NMWirelessAppletDbus.c
20938                 - Grab "info.product" key from hal for network devices
20939                 - Cache the current active device
20940
20941 2004-08-27  Adam Weinberger  <adamw@gnome.org>
20942
20943         * configure.in: Added en_CA to ALL_LINGUAS.
20944
20945 2004-08-27  Christian Rose  <menthos@menthos.com>
20946
20947         * configure.in: Added "sv" to ALL_LINGUAS.
20948
20949 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20950
20951         * Tag NetworkManager-0.2
20952
20953 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
20954
20955         * initscripts/Makefile.am
20956         * configure.in: Make pass distcheck
20957
20958         * po/ChangeLog: added
20959
20960 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20961
20962         * panel-applet/NMWirelessApplet.c
20963                 - Remove debugging code
20964                 - Enable device switching from menus
20965
20966         * panel-applet/NMWirelessAppletDbus.[ch]
20967                 - Method for asking NM to switch devices
20968
20969         * src/NetworkManagerDevice.c
20970                 - Set dev->activating earlier, avoids race between
20971                         the dbus signal of "DeviceActivating" and setting
20972                         dev->activating (which is what NM's "status" method call
20973                         looks at)
20974
20975 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20976
20977         * panel-applet/NMWirelessApplet.[ch]
20978                 - Rework menu code to add devices to menu, and to show
20979                         signal strength for each access point.  Code cleanups
20980                         too.
20981
20982         * panel-applet/NMWirelessAppletDbus.c
20983                 - Grab network devices from NetworkManager too
20984                 - Grab quality information from NM for wireless networks
20985
20986         * src/NetworkManagerDbus.[ch]
20987                 - Add dbus methods for getting the HAL UDI from a device and
20988                         for getting its base quality, if its wireless
20989                 - Consolidate some functions (wireless network notifications,
20990                         device notifications)
20991                 - Add method for requesting NM to use a particular device
20992
20993         * src/NetworkManager.c
20994                 - Change for function consolidations from NetworkManagerDbus.c
20995                 - Implement active device locking and user-requested devices
20996                         (ie, tell NM to use a particular device instead of the one
20997                         it autochose)
20998
20999         * src/NetworkManagerDevice.c
21000                 - Add method for getting the base quality of a device, if its
21001                         wireless
21002                 - Grab device base quailty info from iwlib during scans
21003
21004         * src/NetworkManagerPolicy.c
21005                 - Use a user-requested device rather than the auto-chosen device
21006                         if we are told to
21007
21008 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
21009
21010         * Makefile.am: add po as a supdir
21011
21012         * autogen.sh: use gnome-autogen.sh
21013
21014         * initscript/Gentoo/.cvsignore:
21015         * initscript/RedHat/.cvsignore: Shut up cvs
21016
21017         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
21018
21019         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
21020         (nmwa_fill): Use gettext.
21021
21022         * configure.in: add gettext support
21023         * po/.cvsignore:
21024         * po/NetworkManager.pot:
21025         * po/POTFILES.in:
21026
21027 2004-08-26  Seth Nickell  <seth@gnome.org>
21028
21029         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
21030         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
21031         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
21032         (nmwa_dispose_menu_items), (nmwa_populate_menu),
21033         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
21034         * panel-applet/NMWirelessApplet.h:
21035
21036         Use a menu bar instead of a button for the main clickable
21037         thingy.
21038         
21039 2004-08-25  Dan Williams <dcbw@redhat.com>
21040
21041         * src/NetworkManagerDevice.c
21042                 - (nm_device_set_enc_key): always set device to "open" mode instead of
21043                         turning encryption off, because the Cisco driver doesn't associate
21044                         with WEP-enabled access points unless we are in "open"
21045
21046 2004-08-25  Dan Williams <dcbw@redhat.com>
21047
21048         * src/NetworkManagerWireless.c
21049                 - Don't try to defererence blank passphrases
21050
21051 2004-08-25  Dan Williams <dcbw@redhat.com>
21052
21053         * panel-applet/NMWirelessApplet.c
21054                 - Rebuild the menu whenever a user clicks
21055
21056 2004-08-25  Dan Williams <dcbw@redhat.com>
21057
21058         * panel-applet/NMWirelessApplet.c
21059                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
21060                         when NM isn't around or when its not connected
21061
21062         * src/NetworkManagerDevice.c
21063                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
21064                         canceled.
21065
21066 2004-08-25  Dan Williams <dcbw@redhat.com>
21067
21068         * panel-applet/NMWirelessAppletDbus.c
21069                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
21070                         for getting encryption, and don't stop on "val" once we've gotten it
21071                         from NetworkManager.  Short form:  encryption should now show up.
21072
21073 2004-08-25  Dan Williams <dcbw@redhat.com>
21074
21075         * panel-applet/NMWirelessApplet.c
21076                 - Set ESSID on a gconf trusted network too when force-setting the wireless
21077                         network to associate with
21078
21079 2004-08-25  Dan Williams <dcbw@redhat.com>
21080
21081         * panel-applet/*
21082                 - Rework the panel applet to do all DBUS communication in a separate
21083                         thread
21084
21085 2004-08-25  Dan Williams <dcbw@redhat.com>
21086
21087         * info-daemon/NetworkManagerInfo.[ch]
21088                 - Remove "get_next_priority" function
21089
21090         * info-daemon/NetworkManagerInfoDbus.[ch]
21091                 - Convert "priority" functions to "timestamp"
21092
21093 2004-08-25  Dan Williams <dcbw@redhat.com>
21094
21095         * src/NetworkManagerAP.[ch]
21096                 - Add a "enc_method_good" member and accessors to an Access Point
21097                         to signal when we've found the correct encryption method
21098                         for an access point
21099                 - Add a "timestamp" member and accessors, remove "priority" member
21100                         and accessors (use timestamps instead)
21101                 - Rename "wep_key"->"enc_key"
21102                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
21103                         for a specified encryption method using the access points
21104                         source encryption key/passphrase
21105
21106         * src/NetworkManagerAPList.c
21107                 - When updating a network with dbus, grab timestamp now instead of
21108                         priority
21109
21110         * src/NetworkManagerDBus.[ch]
21111                 - Add signal for "DeviceActivating"
21112                 - Switch priority->timestamp
21113
21114         * src/NetworkManagerDevice.c
21115                 - Change references of "wep_key" -> "enc_key" or "key"
21116                 - Signal DeviceActivating when starting activation
21117                 - When activating a wireless device, if the access point we are connecting
21118                         to is encrypted, and we have a source key, try to generate a mangled
21119                         key and use that (ie, generate real WEP key from a passphrase)
21120                 - Rework device activation to fallback to other encryption methods if
21121                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
21122                         first, then if that doesn't work fall back to direct hex key).
21123                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
21124                         priority.  We now prefer the latest access point used, rather than using
21125                         a priority scheme
21126                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
21127                         points we've just discovered, and merge in correct info from the global
21128                         access point lists
21129
21130 2004-08-25  Seth Nickell  <seth@gnome.org>
21131
21132         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
21133         Debian support.
21134         
21135         * src/Makefile.am:
21136         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
21137         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
21138         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
21139         (nm_system_delete_default_route),
21140         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
21141         (nm_system_load_device_modules):
21142
21143 2004-08-24  Dan Willemsen <dan@willemsen.us>
21144
21145         * src/NetworkManager.c
21146           src/backends/NetworkManagerGentoo.c
21147           src/backends/NetworkManagerRedHat.c
21148           src/backends/NetworkManagerSystem.h
21149                 - Implement preliminary Gentoo support, adding a
21150                         nm_system_init function to the backend specification
21151
21152         * configure.in
21153                 - Distribution auto-detection, lowercase any user-fed
21154                         distribution names
21155
21156         * initscript/.cvsignore
21157           initscript/Makefile.am
21158           initscript/RedHat/Makefile.am
21159           initscript/RedHat/NetworkManager
21160           initscript/Gentoo/Makefile.am
21161           initscript/Gentoo/NetworkManager
21162                 - Refactored initscript code separately for each
21163                         distribution
21164
21165 2004-08-23  Dan Williams <dcbw@redhat.com>
21166
21167         * configure.in
21168           src/Makefile.am
21169           src/NetworkManagerDevice.c
21170           src/NetworkManager.c
21171           src/NetworkManagerUtils.[ch]
21172           src/backends/NetworkManagerSystem.h
21173           src/backends/NetworkManagerRedHat.c
21174           src/backends/NetworkManagerGentoo.c
21175                 - Refactor system-specific code into separate backends for
21176                         each distribution
21177
21178 2004-08-23  Dan Willemsen <dan@willemsen.us>
21179
21180         * dispatcher-daemon/NetworkManagerDispatcher.c
21181           info-daemon/NetworkManagerInfo.[ch]
21182           info-daemon/NetworkManagerInfoDbus.c
21183           info-daemon/NetworkManagerInfoPassphraseDialog.c
21184           src/NetworkManager.c
21185           src/NetworkManagerAP.c
21186           src/NetworkManagerAPList.c
21187           src/NetworkManagerDbus.c
21188           src/NetworkManagerDevice.c
21189           src/NetworkManagerPolicy.c
21190           src/NetworkManagerUtils.[ch]
21191           src/NetworkManagerWireless.c
21192                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
21193
21194         * src/NetworkManager.c
21195                 - Fixed usage wording for --no-daemon
21196
21197 2004-08-23  Dan Williams <dcbw@redhat.com>
21198
21199         * panel-applet/NMWirelessApplet.c
21200                 - Update our state every second to get more responsive panel icon
21201                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
21202                         was causing our marching ants status blips to never move when
21203                         looking for a wireless network
21204
21205         * src/NetworkManagerDevice.c
21206                 - (nm_device_activation_begin): return if activation has already begun
21207                 - (nm_device_do_normal_scan): merge WEP key and priority from the
21208                         trusted/preferred network into the device's access point when the
21209                         scan list is processed
21210
21211 2004-08-23  Dan Williams <dcbw@redhat.com>
21212
21213         * initscript/NetworkManager
21214                 - Use NMLaunchHelper rather than sleeping
21215
21216         * initscript/NMLaunchHelper.c
21217           Makefile.am
21218                 - Add helper program that exits only when NM activates a device,
21219                         or 10 seconds have passed, whichever happens first.  This
21220                         stops the boot processes until we have a network connection,
21221                         which NM can't do because it daemonizes and brings the connection
21222                         up in the background.  Allows stuff like NFS to not die.
21223
21224 2004-08-20  Dan Williams <dcbw@redhat.com>
21225
21226         * info-daemon/NetworkManagerInfoPassphraseDialog.c
21227                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
21228                         for a network, set the essid as well since it may not exist yet
21229                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
21230                         since WEP keys/passphrases are long and prone to entry-error
21231
21232         * panel-applet/Makefile.am
21233           panel-applet/wired.png
21234                 - Add (pulled from system-config-network temporarily)
21235
21236         * panel-applet/NMWirelessApplet.[ch]
21237                 - Show wired picture when a wired connection is used
21238                 - Rename wireless icon enums, adding WIRELESS
21239
21240         * src/NetworkManagerDevice.c
21241                 - (nm_device_activate_wireless): unset encryption before bringing
21242                         down the card and setting the essid
21243                 - (nm_device_activatin_worker): request a key from the user if the
21244                         AP we are connecting to is encrypted but we don't have a key
21245                         for it yet
21246                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
21247                         strcmp() that prevented a user-entered key from actually getting
21248                         used
21249
21250 2004-08-16  Dan Williams <dcbw@redhat.com>
21251
21252         * initscript/NetworkManager
21253                 - Check for /sbin/ip
21254                 - Do sysctl magic that network service does
21255                 - sleep 4s after start to allow network time to come up [hack]
21256
21257         * src/Makefile.am
21258           src/NMLoadModules
21259                 - Load all network device kernel modules (hal doesn't know devices
21260                         are ethernet until the module is loaded, and therefore we don't know)
21261
21262         * src/NetworkManager.c
21263                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
21264                         network devices, and bring up the loopback device explicitly
21265
21266         * src/NetworkManagerUtils.[ch]
21267                 - (nm_enable_loopback): new function
21268
21269 2004-08-13  Dan Williams <dcbw@redhat.com>
21270
21271         * configure.in
21272           panel-applet/Makefile.am
21273                 - Fix up cleanfiles and server_DATA/server_in_files
21274
21275         * README
21276                 - Update with some comments on theory of operation
21277
21278         * CONTRIBUTING
21279           Makefile.am
21280                 - Add CONTRIBUTING
21281
21282 2004-08-12  Dan Williams <dcbw@redhat.com>
21283
21284         * info-daemon/passphrase.glade
21285                 - Set window title to " "
21286
21287         * panel-applet/Makefile.am
21288           panel-applet/keyring.png
21289                 - Deliver to correct place
21290
21291         * panel-applet/NMWirelessApplet.[ch]
21292                 - Add comments
21293                 - Remove applet->have_active_device as its no longer used
21294                 - (nmwa_load_theme): load keyring.png too
21295                 - (error_dialog): remove
21296                 - (show_warning_dialog): subsume functionality of error dialog too
21297                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
21298                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
21299                         the networks menu
21300                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
21301                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
21302                         and when we get broadcasts of changed wireless access points only, not when the
21303                         user clicks on the button to display the menu (too long of a wait)
21304                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
21305                         networks that are encrypted
21306                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
21307                         menu item with g_object_set_data()
21308
21309         * panel-applet/NMWirelessAppletDbus.[ch]
21310                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
21311                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
21312                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
21313                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
21314                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
21315                         activation/deactivation signals and rebuild the menu when they happen
21316
21317         * src/NetworkManager.c
21318                 - (main): use new nm_spawn_process() rather than system()
21319
21320         * src/NetworkManagerDbus.c
21321                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
21322                         instead.  Since we can now force best_aps to stick around, the AP structure to which
21323                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
21324                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
21325                         to freeze the best_ap.
21326
21327         * src/NetworkManagerDevice.[ch]
21328                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
21329                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
21330                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
21331                         ap list
21332
21333         * src/NetworkManagerUtils.[ch]
21334                 - (nm_spawn_process): add replacement for system() usage
21335
21336 2004-08-11  Dan Williams <dcbw@redhat.com>
21337
21338         * panel-applet/NMWirelessApplet.[ch]
21339                 - Fix up copyright and credits to include Bastien and Eskil,
21340                         who created the gnome-applets wireless applet, from whose
21341                         skeleton this one was created
21342                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
21343                         pixmap to draw is computed during nmwa_update_state()
21344                 - Applet now shows itself all the time due to panel packing issues
21345                         which caused the applet to previously never come back after hiding.
21346                         When a wired device is the active device, the applet shows "not connected"
21347
21348         * panel-applet/NMWirelessAppletDbus.[ch]
21349                 - Clean up error messages and show what function they are from
21350                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
21351                 - Add new device type getters, and a status getter
21352
21353         * src/NetworkManagerDbus.c
21354                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
21355                         network is actually in the device's ap list
21356                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
21357
21358         * src/NetworkManagerDevice.c
21359                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
21360                         card
21361
21362         * test/nmclienttest.c
21363                 - Report status of NetworkManager too
21364
21365 2004-08-11  Dan Williams <dcbw@redhat.com>
21366
21367         * info-daemon/NetworkManagerInfo.c:
21368                 - (main): clean up Seth's code style
21369
21370         * info-daemon/NetworkManagerInfoDbus.c:
21371                 - Use the more aptly-named path/service/interface constants from NetworkManager
21372                 - Don't return empty strings ("") as object paths ever, instead return errors
21373
21374         * panel-applet/NMWirelessApplet.c:
21375                 - Clean up Seth's code style
21376
21377         * src/NetworkManager.[ch]
21378                 - (nm_remove_device_from_list): remove anything having to do with pending_device
21379                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
21380
21381         * src/NetworkManagerAPList.[ch]
21382                 - Move Iter struct right above the iter functions to preserve opacity
21383                 - (nm_ap_list_remove_ap): implement
21384                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
21385                         remove AP if NetworkManagerInfo doesn't know anything about it
21386                 - (nm_ap_list_diff): user NMAPList iterators
21387                 - (nm_ap_list_print_members): implement debugging function
21388
21389         * src/NetworkManagerDbus.[ch]
21390                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
21391                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
21392                         and move the actual key setting stuff into NetworkManagerDevice.c
21393                 - (nm_dbus_get_network_priority): return -1 now on errors
21394                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
21395                         get lost, and force the active device to update its "best" ap when AP lists change
21396                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
21397                         method call due to pending_device member removal
21398
21399         * src/NetworkManagerDevice.[ch]
21400                 - Move NMDevice structure to the top
21401                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
21402                 - Remove Pending Action stuff from everywhere
21403                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
21404                         activation for us.  This thread blocks until all conditions for activation have
21405                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
21406                         then setup up the interface and runs dhclient.  We have to do this because there
21407                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
21408                         run our main loop and respond to dbus method calls or HAL device removals/inserts
21409                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
21410                         can tell nm_device_activation_worker() that we've got a key
21411                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
21412                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
21413                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
21414                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
21415
21416         * src/NetworkManagerPolicy.c
21417                 - Remove anything to do with pending_device
21418                 - Adjust device activation to deal with activation-in-worker-thread
21419
21420         * src/NetworkManagerUtils.c
21421                 - Clean up locking debugging a bit
21422
21423         * src/NetworkManagerWireless.[ch]
21424                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
21425                         was badly named and is better as a device function
21426
21427         * panel-applet/.cvsignore: add
21428
21429 2004-08-09  Seth Nickell  <seth@gnome.org>
21430
21431         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
21432         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
21433         (nmwa_new):
21434         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
21435
21436         Don't load the menus until clicked on (also removes a call outside
21437         normal code paths at first load).
21438
21439         Hide applet when NM is not present.
21440         
21441         Improve printf debugging stuff.
21442         
21443 2004-08-09  Dan Williams <dcbw@redhat.com>
21444
21445         * dispatcher-daemon/NetworkManagerDispatcher.c:
21446                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
21447                 - Use constants for NetworkManager interface, service, and path
21448
21449 2004-08-09  Dan Williams <dcbw@redhat.com>
21450
21451         * src/NetworkManagerDbus.c:
21452                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
21453                         instead return an error message
21454                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
21455                         on a wired device.  Also never return an empty object path, instead return an error message
21456
21457 2004-08-06  Seth Nickell  <seth@gnome.org>
21458
21459         * panel-applet/NMWirelessApplet.c: (nmwa_new):
21460
21461         Check the error code when getting a connection.
21462         
21463         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
21464
21465         Check if the NM service exists when initializing (rather than
21466         assuming it does not).
21467         
21468         * src/NetworkManagerDbus.c: (nm_dbus_init):
21469
21470         Don't acquire the well-known service name until we have
21471         registered object/path handlers and can actually receive
21472         calls.
21473         
21474 2004-08-06  Dan Williams <dcbw@redhat.com>
21475
21476         * panel-applet/*
21477                 - Add panel applet
21478
21479         * src/NetworkManagerPolicy.c
21480           src/NetworkManager.c
21481                 - Get access point lists from NetworkManagerInfo on-demand,
21482                         and look for ServiceCreate/ServiceDeleted signals to see when
21483                         we should query NMI for lists
21484         * src/NetworkManagerAPList.c
21485                 - Make sure to init the list's mutex
21486                 - Convert traversals of the list over to the list iter functions
21487
21488         * src/NetworkManagerDbus.[ch]
21489                 - Use more aptly-named path/service/interface constants
21490                 - Treat both active and pending devices the same for "getActiveDevice"
21491                 - Add a "status" method returning "connected", "connecting", or "disconnected"
21492
21493         * src/NetworkManagerDevice.c
21494                 - Honor "ignored" network list when picking best ap to use
21495
21496 2004-08-06  Seth Nickell  <seth@gnome.org>
21497
21498         * aclocal.m4:
21499
21500         Autogenerated, remove from CVS.
21501         
21502         * autogen.sh:
21503
21504         Don't hardcode automake version.
21505         
21506         * configure.in:
21507         * info-daemon/Makefile.am:
21508         * info-daemon/NetworkManagerInfo.c: (main):
21509
21510         Use GnomeProgram et al. for doing session management.
21511         Use popt stuff for argument parsing rather than doing
21512         it manugally.
21513         
21514 2004-08-05  Dan Williams <dcbw@redhat.com>
21515
21516         * test/nminfotest.c
21517                 - Update to new NMI dbus API, check different network types
21518
21519         * info-daemon/NetworkManagerInfoDbus.c
21520                 - Update to new NM dbus API, ie network type sent in query message
21521
21522 2004-08-05  Dan Williams <dcbw@redhat.com>
21523
21524         * An assload of changes
21525
21526 2004-08-02  Dan Williams <dcbw@redhat.com>
21527
21528         * TODO
21529                 - new task: proper logging support
21530
21531         * info-daemon/NetworkManagerInfo.c
21532                 - Correct spelling of "canceled"
21533                 - Correct casting of objects for g_signal_connect()
21534
21535         * info-daemon/NetworkManagerInfoDbus.c
21536                 - Add defines for NetworkManager namespace and object path, and use them
21537                 - Add filter function to trap new signals from NetworkManager:
21538                         WirelessNetworkAppeared, WirelessNetworkDisappeared
21539
21540         * info-daemon/passphrase.glade
21541                 - Change name of "ok" button to "Login to Network..."
21542                 - Mark invisible
21543
21544         * src/NetworkManager.c
21545                 - Code and debug message cleanups
21546                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
21547                 - (nm_add_initial_devices) Check returned string array of devices
21548                         and don't try to add devices if array is NULL
21549                 - (main) Initialize libhal a bit later, make code a bit clearer
21550
21551         * src/NetworkManagerAP.[ch]
21552                 - New accessor and data member "matched": used to speed up AP list
21553                         diffing
21554                 - New accessor and data member "enc_method": will be used during key
21555                         fallback to cache which passphrase->key conversion actually works
21556                         so we don't have to do it every time
21557
21558         * src/NetworkManagerAPList.[ch]
21559                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
21560                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
21561                         between them, and send WirelessNetworkAppeared/Disappeared signals over
21562                         dbus in response to those differences
21563
21564         * src/NetworkManagerDbus.[ch]
21565                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
21566                         make an object path for that access point (NOTE that we don't yet check to
21567                         make sure that access point is actually in the device's AP list yet)
21568                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
21569                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
21570                         New: signal appearance/disappearance of wireless networks
21571                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
21572                         key entry
21573
21574         * src/NetworkManagerDevice.[ch]
21575                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
21576                 - (nm_device_ap_list_get) New: return the AP list (static function)
21577                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
21578                         new one resulting from the scan with the old one
21579
21580         * src/NetworkManagerWireless.c
21581                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
21582
21583         * test/nminfotest.c
21584                 - #define object paths and namespaces and use the #defines rather than static strings
21585                 - Test out user-key functionality of NetworkManagerInfo too
21586
21587 2004-07-29  Dan Williams <dcbw@redhat.com>
21588
21589         * info-daemon/NetworkManagerInfoDbus.c
21590           src/NetworkManagerDbus.c
21591                 - Update to current DBus (ie don't use decomposed paths when registering
21592                         object paths/fallbacks)
21593
21594 2004-07-27  Dan Williams <dcbw@redhat.com>
21595
21596         * Remove various Makefile.in files
21597
21598         * TODO
21599                 - Add some more items
21600
21601         * configure.in
21602                 - Add checks for OpenSSL/md5 headers and libs
21603
21604         * src/Makefile.am
21605                 - Use OpenSSL CFLAGS
21606
21607         * src/NetworkManagerAP.[ch]
21608                 - Remove 'stamp' functions, replace with 'invalid' functions
21609                         to support user cancelling WEP key entry
21610
21611         * src/NetworkManagerDbus.c
21612                 - Remove 'stamp' return functions
21613                 - Treat returned user key as a passphrase and convert to a WEP key,
21614                         but don't actually use the WEP key yet.  We use the returned user
21615                         key as a hexadecimal WEP key until we can figure out a UI for
21616                         passphrase-vs-hex key
21617
21618         * src/NetworkManagerWireless.[ch]
21619                 - Add passphrase-to-128bit-key function
21620
21621 2004-07-27  Dan Williams <dcbw@redhat.com>
21622
21623         * TODO
21624                 - Add a couple of items
21625
21626 2004-07-27  Dan Williams <dcbw@redhat.com>
21627
21628         * info-daemon/NetworkManagerInfo.c
21629                 - Update allowed network's GConf key when user enters a WEP key explicitly
21630
21631         * info-daemon/NetworkManagerDbus.c
21632                 - Fix some comments
21633                 - nmi_dbus_get_allowed_networks(): kill warning
21634
21635 2004-07-27  Dan Williams <dcbw@redhat.com>
21636
21637         * initscript/Makefile.in
21638                 - Remove
21639
21640         * initscript/Makefile.am
21641                 - Add correct rules to install the init.d initscript
21642
21643         * info-daemon/NetworkManagerInfoDbus.c
21644                 - Remove debug fprintf
21645
21646         * src/NetworkManagerDbus.[ch]
21647                 - Remove debug fprintfs
21648                 - Add macros for NetworkManagerInfo object path/namespace
21649                 - Use said macros instead of constant strings
21650
21651 2004-07-27  Dan Williams <dcbw@redhat.com>
21652
21653         * initscript/.cvsignore
21654                 - Add
21655
21656         * info-daemon/Makefile.am
21657                 - Install .glade files and keyring.png
21658                 - Fix stupid omission of a \ that caused half the flags not to be
21659                         passed to gcc
21660
21661         * info-daemon/NetworkManagerInfo.c
21662                 - gtk_signal_connect->g_signal_connect
21663                 - Alert NetworkManagerInfo to new glade file location
21664
21665 2004-07-27  Dan Williams <dcbw@redhat.com>
21666
21667         * test/nmclienttest.c
21668           test/nminfotest.c
21669                 - Add missing <dbus/dbus.h> headers
21670                 - Add GPL message at top
21671
21672 2004-07-27  Dan Williams <dcbw@redhat.com>
21673
21674         * src/NetworkManagerAPList.[ch]
21675           src/Makefile.am
21676                 - Add.  Deal with allowed network list additions, deletions, and updates
21677
21678         * dispatcher-daemon/NetworkManagerDispatcher.c
21679                 - Add missing <dbus/dbus.h> header
21680
21681         * info-daemon/NetworkManagerInfo.[ch]
21682                 - Add missing <dbus/dbus.h> header
21683                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21684                         network change
21685                 - Better error checking
21686
21687         * info-daemon/NetworkManagerInfoDbus.[ch]
21688                 - Add missing <dbus/dbus.h> header
21689                 - Convert to using dbus_message_append_args/dbus_message_get_args
21690                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21691                         that an allowed network changed.  We don't want to signal on individual
21692                         keys _inside_ an allowed network really, just want NM to query the info
21693                         daemon for updated info on all keys.
21694                 - Better error checking
21695
21696         * src/NetworkManager.[ch]
21697                 - Add missing <dbus/dbus.h> header
21698                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21699                 - Zero out NMData structure on free
21700                 - No longer use a thread for allowed_ap_list updating, instead its now done
21701                         through dbus queries against NetworkManagerInfo
21702                 - Populate allowed_ap_list initially before adding existing network devices
21703                         to the device list, so wireless devices can get their "best" AP
21704
21705         * src/NetworkManagerDbus.[ch]
21706                 - Convert to using dbus_message_append_args/dbus_message_get_args
21707                 - Better error checking
21708                 - Implement Allowed Network info functions to request allowed network
21709                         info from NetworkManagerInfo
21710                 - Implement the filter function to process signals from NetworkManagerInfo
21711                         about changing allowed networks
21712
21713         * src/NetworkManagerDevice.c
21714                 - Fix file descriptor leak in nm_device_update_ip4_address()
21715
21716 2004-07-27  Dan Williams <dcbw@redhat.com>
21717
21718         * .cvsignore
21719           src/.cvsignore
21720           test/.cvsignore
21721           dispatcher-daemon/.cvsignore
21722           info-daemon/.cvsignore
21723                 - Add .cvsignore files to reduce noise when diffing
21724
21725 2004-07-24  Dan Williams <dcbw@redhat.com>
21726
21727         * src/NetworkManager.[ch]
21728           src/NetworkManagerDbus.[ch]
21729           src/NetworkManagerDevice.[ch]
21730           src/NetworkManagerPolicy.c
21731           src/NetworkManagerWireless.[ch]
21732                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21733                 - Pass the NMData application data structure through all calls
21734                         that need it so we can get rid of nm_get_global_data()
21735                 - Change deallocation of the allowed_ap_list GSList in preparation
21736                         for not completely clearing it every time we get an update,
21737                         but instead getting incremental updates via GConf/dbus
21738
21739 2004-07-22  Dan Williams <dcbw@redhat.com>
21740
21741         * configure.in
21742                 - Add checks for GConf libs & headers & flags
21743
21744         * info-daemon/Makefile.am
21745                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21746
21747         * info-daemon/NetworkManagerInfo.[ch]
21748                 - Don't use gquarks for data storage, just use normal data storage
21749                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21750
21751         * info-daemon/NetworkManagerDbus.[ch]
21752                 - Add method call for getting allowed networks
21753                 - Add method calls for getting an allowed network's essid, priority, and key
21754                 - Hook the method calls up to GConf
21755                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21756                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21757                 
21758         * src/NetworkManagerDbus.[ch]
21759                 - Switch for enumeration of networks to using essid instead
21760
21761         * test/Makefile.am
21762           test/nminfotest.c
21763                 - Add test program for NetworkManagerInfo
21764
21765 2004-07-19  Dan Williams <dcbw@redhat.com>
21766
21767         * src/NetworkManagerDbus.c
21768                 - Switch from indexed device paths to names.  Less code, more efficient.
21769                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21770
21771 2004-07-19  Dan Williams <dcbw@redhat.com>
21772
21773         * dispatcher-daemon/NetworkManagerDispatcher.c
21774                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21775
21776 2004-07-19  Dan Williams <dcbw@redhat.com>
21777
21778         * Makefile.am
21779                 - Add info-daemon directory
21780
21781         * configure.in
21782                 - Check for glade libs and headers
21783                 - Add info-daemon directory
21784
21785         * src/NetworkManagerAP.c
21786                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21787                         copied over to the new AP.
21788
21789         * src/NetworkManagerDbus.c
21790           src/NetworkManagerDbus.h
21791                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21792                 - Remove nm_dbus_signal_need_key_for_network()
21793                 - Add disabled code for asynchronous user wep key callbacks
21794                 - Add functions for getting, setting, and cancelling user key operations
21795                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21796                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21797
21798         * src/NetworkManagerDevice.c
21799           src/NetworkManagerDevice.h
21800                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21801                         logic is in device activation now
21802                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21803                         key is wrong) trigger get-user-key pending action
21804                 - Implement get-user-key pending action stuff, tie to dbus messages
21805                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21806                 - Add nm_device_ap_list_get_ap_by_essid()
21807                 - Instead of copying "best" access points, ref them instead so that the key we set
21808                         sticks around
21809
21810         * src/NetworkManagerPolicy.c
21811                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21812                 - Don't cancel pending actions on a device if its the same device as last iteration
21813                 - Only promote pending_device->active_device if activation was successfull
21814
21815         * src/Makefile.am
21816                 - Rename nmclienttest->nmtest
21817
21818         * info-daemon/Makefile.am
21819           info-daemon/NetworkManagerInfo.c
21820           info-daemon/NetworkManagerInfo.h
21821           info-daemon/NetworkManagerInfoDbus.c
21822           info-daemon/NetworkManagerInfoDbus.h
21823           info-daemon/passphrase.glade
21824           info-daemon/NetworkManagerInfo.conf
21825           info-daemon/keyring.png
21826                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21827                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21828                         lists to NetworkManager by proxying user's GConf
21829           
21830
21831 2004-07-15  Dan Williams <dcbw@redhat.com>
21832
21833         * src/Makefile.am
21834                 - Turn on warnings
21835
21836         * src/NetworkManager.c
21837                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21838                         that doing the deactivation ourselves
21839                 - Cancel an pending actions on a device if its being removed
21840                 - Break up link state checking a bit, make non-active wireless cards
21841                         deactivated to save power
21842                 - Remove unused variables
21843
21844         * src/NetworkManager.h
21845                 - Add support for "pending" device
21846
21847         * src/NetworkManagerAP.h
21848           src/NetworkManagerAP.c
21849                 - Add support for determining whether and AP has encryption enabled or not
21850                 - AP address is now "struct ether_addr" rather than a string
21851
21852         * src/NetworkManagerDbus.h
21853           src/NetworkManagerDbus.c
21854                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21855                 - Changes for AP address from struct ether_addr->string
21856
21857         * src/NetworkManagerDevice.h
21858           src/NetworkManagerDevice.c
21859                 - Remove unused variables, fix warnings
21860                 - Add support for Pending Actions (things that block a device from being "active"
21861                         until they are completed).
21862                 - First pending action:  Get a WEP key from the user
21863                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
21864                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
21865                 - Update wireless link checking to try to determine if the AP we are associated
21866                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
21867                         trigger the GetUserKey pending action on the device
21868                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
21869                         up in that case, otherwise we can't scan or link-check on it
21870                 - Add IP address change notifications at appropriate points (still needs some work)
21871                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
21872
21873         * src/NetworkManagerPolicy.h
21874           src/NetworkManagerPolicy.c
21875                 - Split out "best" access point determiniation into separate function
21876                 - Make device activation 2-stage:  first the device is pending, then
21877                         in the next iteration through it becomes "active" unless it has
21878                         pending actions
21879
21880         * src/NetworkManagerUtils.h
21881           src/NetworkManagerUtils.c
21882                 - Clean up unused variables and warnings
21883                 - Wrap our debug macros in {} to prevent possible confusion
21884
21885         * src/NetworkManagerWireless.c
21886                 - Forgot to return current best priority, which lead to last available AP always
21887                         being chosen no matter what its priority was.  Corrected.
21888
21889 2004-07-15  Dan Williams <dcbw@redhat.com>
21890
21891         * dispatcher-daemon/Makefile.am
21892                 - Turn on warnings
21893
21894         * dispatcher-daemon/NetworkManagerDispatcher.c
21895                 - Remove unused variables due to warnings
21896                 - Fix some comments
21897                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
21898
21899 2004-07-06  Dan Williams <dcbw@redhat.com>
21900
21901         * src/NetworkManager.c
21902                 - Add IPv4 address update for active device during link state check
21903                 - Don't allow wireless cards to be powered up when they are not the
21904                         active device
21905
21906         * src/NetworkManagerDbus.c
21907           src/NetworkManagerDbus.h
21908                 - Add DBUS IPv4 address change signal
21909                 - Add DBUS IPv4 address get method for devices
21910
21911         * src/NetworkManagerDevice.c
21912                 - Make setting the WEP key actually work
21913                 - Move IP address get/set/update stuff here, per-device
21914                 - Power down/bring down wireless device when deactivated
21915                 - For scanning wireless devices, if first scan returned ENODATA, try again
21916
21917         * src/NetworkManagerPolicy.c
21918                 - Only set the WEP key for an allowed access point if there is one.
21919                         We were setting it to be blank if one wasn't specified.
21920
21921         * src/NetworkManagerUtils.h
21922           src/NetworkManagerUtils.c
21923                 - Move the IP address stuff to NetworkManagerDevice.c
21924
21925         * dispatcher-daemon/NetworkManagerDispatcher.c
21926                 - Add device IPv4 address change notification stuff
21927
21928 2004-07-05  Dan Williams <dcbw@redhat.com>
21929
21930         * dispatcher-daemon/NetworkManagerDispatcher.c
21931                 - A bit more descriptive state message
21932                 - Don't segfault when reading directory
21933
21934         * src/NetworkManager.h
21935                 - Remove NMData desired_ap member, its now
21936                         per-device rather than global
21937
21938         * src/NetworkManager.c
21939                 - Remove references to desired_ap
21940                 - Move the allowed AP list refresh stuff into a thread
21941
21942         * src/NetworkManagerDevice.c
21943           src/NetworkManagerDevice.h
21944                 - Each wireless device now has a "best ap"
21945                 - Make device activate/deactivate functions per-device
21946                 - Make wireless scanning per-device
21947                 - Add IPv4 address discover functions, stub IPv6 ones
21948                 - Move ethernet address validation functions to NetworkManagerUtils.c
21949                 - Add wireless access point accessor function
21950                 - Get/Set functions for "best ap"
21951
21952         * src/NetworkManagerPolicy.c
21953                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
21954                 - Deal with per-device "best ap" rather than data->desired_apa
21955                 - Implement allowed access point worker thread
21956                 - Add nm_policy_essid_is_allowed() function
21957
21958         * src/NetworkManagerUtils.c
21959           src/NetworkManagerUtils.h
21960                 - Add nm_ethernet_address_is_valid() function
21961                 - Add IPv4/IPv6 address get functions
21962
21963         * src/NetworkManagerWireless.c
21964           src/NetworkManagerWireless.h
21965                 - Move scanning stuff into NetworkManagerDevice.c, per-device
21966
21967 2004-06-29  Dan Williams <dcbw@redhat.com>
21968
21969         * dispatcher-daemon/NetworkManagerDispatcher.c
21970                 - Implement script callout functionality
21971
21972 2004-06-24  Dan Williams <dcbw@redhat.com>
21973
21974         * NetworkManager.c
21975             - Spacing cleanups
21976             - Flush device routes and ip addresses when added to the device list
21977
21978         * NetworkManagerDbus.c
21979             - Spacing cleanups
21980             - Add missing returns in the two signal functions
21981         
21982         * NetworkManagerPolicy.c
21983             - Spacing and variable cleanups
21984
21985 2004-06-24  Dan Williams <dcbw@redhat.com>
21986
21987         * Makefile.am
21988           Makefile.in
21989           configure.in
21990           dispatcher-daemon/Makefile.am
21991           dispatcher-daemon/Makefile.in
21992           dispatcher-daemon/NetworkManagerDispatcher.c
21993             - Add a daemon that receives signals from NetworkManager
21994                         and will (eventually) call scripts in /etc/somewhere
21995                         when devices go up or down.
21996         
21997         * NetworkManager.c
21998             - Spacing cleanups
21999             - Flush device routes and ip addresses when added to the device list
22000
22001         * NetworkManagerDbus.c
22002             - Spacing cleanups
22003             - Add missing returns in the two signal functions
22004         
22005         * NetworkManagerPolicy.c
22006             - Spacing and variable cleanups
22007             - Rename nm_policy_switch_interface->nm_policy_switch_device
22008             - nm_policy_switch_device():
22009                                 Use kill (pid) instead of system ("kill <pid>")
22010             - nm_state_modification_monitor():
22011                                 Add wireless essid to output of debug statements
22012                                 Correct typo in device compare to switch or not (should be !=)
22013                                 Don't sleep after sending "no longer active" signal, was useless
22014
22015 2004-06-24  Dan Williams <dcbw@redhat.com>
22016
22017         * Initial import