device: renew dhcp leases on awake for software devices
[NetworkManager.git] / ChangeLog
1 2008-12-11  Dan Williams  <dcbw@redhat.com>
2
3         * Move NetworkManager to git.freedesktop.org
4                 - git clone git://git.freedesktop.org/git/NetworkManager/NetworkManager.git
5
6 2008-12-09  Dan Williams  <dcbw@redhat.com>
7
8         * libnm-util/libnm-util.ver
9           libnm-util/nm-setting-ip4-config.c
10           libnm-util/nm-setting-ip4-config.h
11                 - Add 'never-default' property, which when true indicates that a
12                         connection should never be the default connection
13
14         * src/nm-ip4-config.c
15           src/nm-ip4-config.h
16                 - (nm_ip4_config_get_never_default, nm_ip4_config_set_never_default):
17                         Add never-default helpers
18
19         * src/NetworkManagerUtils.c
20                 - (nm_utils_merge_ip4_config): update never-default when merging the
21                         IP4 setting to the IP4 config
22
23         * src/NetworkManagerSystem.c
24                 - (nm_system_apply_ip4_config): if the connection is never-default,
25                         don't add routes without a gateway
26
27         * src/NetworkManagerPolicy.c
28                 - (get_best_device): don't let never-default connections be the best
29                 - (update_routing_and_dns): handle never-default for VPN connections
30
31         * system-settings/plugins/ifcfg-rh/reader.c
32                 - (make_ip4_setting): handle never-default by checking GATEWAYDEV
33
34 2008-12-08  Dan Williams  <dcbw@redhat.com>
35
36         * src/vpn-manager/nm-vpn-connection.c
37                 - (plugin_state_changed): clear secrets before setting the connection
38                         state to FAILED, since doing so may destroy the connection itself,
39                         since the NMVPNService owning this NMVPNConnection will unref it
40                         when the NMVPNConnection is failed or stopped
41
42 2008-12-05  Dan Williams  <dcbw@redhat.com>
43
44         Patch from Michael Biebl  <mbiebl@gmail.com>
45
46         * libnm-glib/Makefile.am
47                 - Bump libnm-glib revision to indicate new API
48                 - Give libnm-util version info
49
50         * libnm-util/Makefile.am
51                 - Bump libnm-util soname to indicate API/ABI break with 0.6
52
53 2008-11-26  Dan Williams  <dcbw@redhat.com>
54
55         * Release NetworkManager 0.7
56
57 2008-11-26  Dan Williams  <dcbw@redhat.com>
58
59         * libnm-glib/nm-settings.c
60           libnm-glib/nm-settings.h
61                 - (nm_exported_connection_delete): rename 'delete' to 'do_delete' to
62                         avoid using C++ reserved keywords in headers
63
64         * libnm-glib/nm-dbus-connection.c
65           system-settings/plugins/ifcfg-rh/nm-ifcfg-connection.c
66           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
67           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
68           system-settings/plugins/keyfile/nm-keyfile-connection.c
69           system-settings/src/nm-sysconfig-connection.c
70                 - Change 'delete' to 'do_delete'
71
72 2008-11-25  Dan Williams  <dcbw@redhat.com>
73
74         * system-settings/plugins/ifcfg-rh
75                 - Rename 'ifcfg-fedora' to 'ifcfg-rh'; it's not just used on Fedora
76
77         * system-settings/src/main.c
78                 - (load_plugins): transparently handle ifcfg-fedora as ifcfg-rh
79
80 2008-11-25  Dan Williams  <dcbw@redhat.com>
81
82         Patch from Tambet Ingo <tambet@gmail.com>
83
84         Fix mishandling of netlink error floods (rh #459205, novell #443429, lp #284507)
85
86         * src/nm-netlink-monitor.c
87                 - Remove bits for using a non-default GMainContext, which weren't used
88                 - (nm_netlink_monitor_error_handler): don't leak the GError, and report
89                         the actual error code
90
91         * src/NetworkManager.c
92                 - (nm_error_monitoring_device_link_state): disconnect error handler when
93                         an error flood occurs to avoid pegging the CPU
94
95 2008-11-23  Dan Williams  <dcbw@redhat.com>
96
97         * callouts/nm-dispatcher-action.c
98                 - (construct_envp, nm_dispatcher_action): pass connection UUID to
99                         scripts in the environment
100
101 2008-11-21  Dan Williams  <dcbw@redhat.com>
102
103         Patch from Tambet Ingo  <tambet@gmail.com>
104
105         * configure.in
106           libnm-util/libnm-util.ver
107           libnm-util/nm-setting-8021x.c
108           libnm-util/nm-setting-8021x.h
109                 - Add configure-time option for the system CA path
110                 - Add 'system-ca-certs' option to 802.1x setting, which directs
111                         NetworkManager to use system CA certificates instead of any
112                         connection-defined CA certificates
113
114         * src/supplicant-manager/nm-supplicant-config.c
115           src/supplicant-manager/nm-supplicant-settings-verify.c
116                 - Use system CA certificates if the connection says to do so
117
118 2008-11-21  Dan Williams  <dcbw@redhat.com>
119
120         * src/nm-dbus-manager.c
121           src/nm-dbus-manager.h
122                 - (nm_dbus_manager_get_name_owner): return error
123
124         * src/nm-manager.c
125                 - (impl_manager_activate_connection): perform additional validation on
126                         ActivateConnection calls of user connections
127                 - (is_user_request_authorized): ensure that the requestor is the same
128                         UID as the UID that owns the user settings service; users shouldn't
129                         be able to control another user's connections
130
131 2008-11-21  Dan Williams  <dcbw@redhat.com>
132
133         * gfilemonitor/inotify-sub.c
134                 - (dup_dirname): actually remove trailing '/' (bgo #561807)
135
136 2008-11-21  Tambet Ingo  <tambet@gmail.com>
137
138         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings): Make suse
139         plugin compile again.
140
141 2008-11-20  Dan Williams  <dcbw@redhat.com>
142
143         Patch from Tambet Ingo <tambet@gmail.com>
144
145         * libnm-util/nm-setting.c
146           libnm-util/nm-setting.h
147                 - (NMSettingValueIterFn): instead of just a gboolean for secrets, take
148                         all the GParamSpec flags of the property
149
150         * system-settings/plugins/keyfile/nm-keyfile-connection.c
151           system-settings/plugins/keyfile/reader.c
152           system-settings/plugins/keyfile/writer.c
153                 - Update for NMSettingValueIterFn change
154
155 2008-11-20  Dan Williams  <dcbw@redhat.com>
156
157         * libnm-util/nm-utils.c
158           libnm-util/nm-utils.h
159                 - More documentation updates
160
161 2008-11-20  Dan Williams  <dcbw@redhat.com>
162
163         * libnm-util/libnm-util.ver
164           libnm-util/nm-utils.c
165           libnm-util/nm-utils.h
166           libnm-util/nm-utils-private.h
167           libnm-util/nm-connection.c
168                 - (nm_utils_register_value_transformations): make private, called
169                         from NMConnection registration anyway
170
171 2008-11-20  Dan Williams  <dcbw@redhat.com>
172
173         * libnm-util/Makefile.am
174           libnm-util/nm-utils-private.h
175                 - New header for internal utils private functions
176
177         * libnm-util/libnm-util.ver
178           libnm-util/nm-utils.c
179           libnm-util/nm-utils.h
180                 - Document some functions
181                 - (nm_utils_string_in_list, nm_utils_string_list_contains,
182                    nm_utils_string_slist_validate): un-export, only used within
183                         libnm-util or of limited use in general, and very easy to
184                         re-implement by apps if needed
185
186         * libnm-util/nm-setting-8021x.c
187           libnm-util/nm-setting-wired.c
188           libnm-util/nm-setting-wireless-security.c
189           libnm-util/nm-setting-wireless.c
190                 - Update for private nm_utils_string_* functions
191
192 2008-11-20  Dan Williams  <dcbw@redhat.com>
193
194         * libnm-util/libnm-util.ver
195           libnm-util/nm-setting.c
196           libnm-util/nm-setting.h
197                 - Add NMSetting errors
198                 - (nm_setting_update_secrets): return errors
199
200         * libnm-util/nm-connection.c
201           libnm-util/nm-connection.h
202                 - (nm_connection_update_secrets): return errors
203
204         * libnm-util/nm-setting-vpn.c
205           src/nm-activation-request.c
206           src/vpn-manager/nm-vpn-connection.c
207                 - Handle update secrets errors
208
209 2008-11-20  Dan Williams  <dcbw@redhat.com>
210
211         * libnm-util/nm-setting.c
212           libnm-util/nm-setting.h
213           libnm-util/libnm-util.ver
214                 - (nm_setting_new_from_hash): rename from nm_setting_from_hash() to be
215                         consistent with nm_connection_new_from_hash()
216
217         * src/nm-activation-request.c
218           libnm-util/nm-connection.c
219                 - Handle rename
220
221 2008-11-19  Dan Williams  <dcbw@redhat.com>
222
223         * configure.in
224           Makefile.am
225           docs/libnm-util/Makefile.am
226           docs/libnm-util/libnm-util.types
227                 - Start to document libnm-util
228
229 2008-11-19  Dan Williams  <dcbw@redhat.com>
230
231         * libnm-util/nm-connection.h
232           libnm-util/nm-connection.c
233                 - Document public functions
234
235 2008-11-19  Dan Williams  <dcbw@redhat.com>
236
237         * libnm-util/nm-setting.h
238           libnm-util/nm-setting.c
239           src/nm-device.c
240           src/nm-manager.c
241           system-settings/plugins/ifcfg-fedora/plugin.c
242                 - Prefix compare flag defines with NM_SETTING_
243
244 2008-11-19  Dan Williams  <dcbw@redhat.com>
245
246         * libnm-util/nm-connection.c
247           libnm-util/nm-connection.h
248                 - (nm_connection_replace_settings): take a GError
249
250         * libnm-glib/nm-settings.c
251           libnm-glib/nm-dbus-connection.c
252           src/nm-manager.c
253           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
254           system-settings/plugins/keyfile/nm-keyfile-connection.c
255           system-settings/plugins/keyfile/plugin.c
256                 - Handle, or don't handle, errors from nm_connection_replace_settings()
257
258 2008-11-19  Dan Williams  <dcbw@redhat.com>
259
260         * libnm-util/libnm-util.ver
261           libnm-util/nm-connection.c
262                 - (nm_setting_register, nm_setting_unregister): unexport; they are
263                         private and don't have a use outside libnm-util
264
265 2008-11-17  Dan Williams  <dcbw@redhat.com>
266
267         * src/nm-hso-gsm-device.c
268                 - (real_connection_secrets_updated): handle PIN/PUK correctly for HSO
269                         devices
270
271 2008-11-17  Dan Williams  <dcbw@redhat.com>
272
273         * system-settings/plugins/ifcfg-fedora/reader.c
274                 - (read_mac_address): clean up
275                 - (make_wireless_setting): pass NULL array to read_mac_address() like it
276                         expects
277
278         * system-settings/plugins/ifcfg-fedora/plugin.c
279                 - (read_one_connection): don't segfault on NULL errors
280
281 2008-11-14  Dan Williams  <dcbw@redhat.com>
282
283         * Tag 0.7.0-rc2
284
285 2008-11-14  Dan Williams  <dcbw@redhat.com>
286
287         Handle gateways on different subnets
288
289         * src/NetworkManagerSystem.c
290                 - (add_ip4_route_to_gateway): gateway route should be link scope and
291                         a host route
292                 - (replace_default_ip4_route): use a destination address too; gateway
293                         address should be /0; don't leak the gateway route object
294
295 2008-11-14  Dan Williams  <dcbw@redhat.com>
296
297         * libnm-glib/libnm_glib.ver
298           libnm-glib/nm-dbus-settings-system.c
299           libnm-glib/nm-dbus-settings-system.h
300                 - Add libnm-glib bits for CanModify
301
302 2008-11-14  Dan Williams  <dcbw@redhat.com>
303
304         * introspection/nm-settings-system.xml
305           system-settings/src/dbus-settings.c
306           system-settings/src/dbus-settings.h
307                 - Add a "CanModify" property to indicate if any plugins support
308                         connection modification
309
310 2008-11-14  Dan Williams  <dcbw@redhat.com>
311
312         Relicense libnm-glib to LGPLv2+ with agreement from contributors
313
314 2008-11-14  Dan Williams  <dcbw@redhat.com>
315
316         * vpn-manager/nm-vpn-connection.c
317                 - (plugin_state_changed): clear VPN secrets on error to ensure they
318                         are always requested from the settings service (rh #429287)
319
320 2008-11-13  Dan Williams  <dcbw@redhat.com>
321
322         * libnm-util/crypto.c
323                 - (crypto_get_private_key_data): fix bad initial arg type checking
324                         from pkcs#12 patch
325
326 2008-11-13  Dan Williams  <dcbw@redhat.com>
327
328         Add support for PKCS#12 private keys (bgo #558982)
329
330         * libnm-util/crypto.c
331           libnm-util/crypto.h
332                 - (parse_old_openssl_key_file): rename from parse_key_file(); adapt to
333                         take a GByteArray instead of a filename
334                 - (file_to_g_byte_array): handle private key files too
335                 - (decrypt_key): take a GByteArray rather than data + len
336                 - (crypto_get_private_key_data): refactor crypto_get_private_key() into
337                         one function that takes a filename, and one that takes raw data;
338                         detect pkcs#12 files as well
339                 - (crypto_load_and_verify_certificate): detect file type
340                 - (crypto_is_pkcs12_data, crypto_is_pkcs12_file): add pkcs#12 detection
341                         functions
342
343         * libnm-util/crypto_gnutls.c
344                 - (crypto_decrypt): take GByteArray rather than data + len; fix a bug
345                         whereby tail padding was incorrectly handled, leading to erroneous
346                         successes when trying to decrypt the data
347                 - (crypto_verify_cert): rework somewhat
348                 - (crypto_verify_pkcs12): validate pkcs#12 keys
349
350         * libnm-util/crypto_nss.c
351                 - (crypto_init): enable various pkcs#12 ciphers
352                 - (crypto_decrypt): take a GByteArray rather than data + len
353                 - (crypto_verify_cert): clean up
354                 - (crypto_verify_pkcs12): validate pkcs#12 keys
355
356         * libnm-util/test-crypto.c
357                 - Handle pkcs#12 keys
358
359         * libnm-util/nm-setting-8021x.c
360           libnm-util/nm-setting-8021x.h
361           libnm-util/libnm-util.ver
362                 - Add two new properties, 'private-key-password' and
363                         'phase2-private-key-password', to be used in conjunction with
364                         pkcs#12 keys
365                 - (nm_setting_802_1x_set_ca_cert_from_file,
366                    nm_setting_802_1x_set_client_cert_from_file,
367                    nm_setting_802_1x_set_phase2_ca_cert_from_file,
368                    nm_setting_802_1x_set_phase2_client_from_file): return certificate
369                         type
370                 - (nm_setting_802_1x_get_private_key_password,
371                    nm_setting_802_1x_get_phase2_private_key_password): return private
372                         key passwords
373                 - (nm_setting_802_1x_set_private_key_from_file,
374                    nm_setting_802_1x_set_phase2_private_key_from_file): set the private
375                         key from a file, and update the private key password at the same time
376                 - (nm_setting_802_1x_get_private_key_type,
377                    nm_setting_802_1x_get_phase2_private_key_type): return the private
378                         key type
379
380         * src/supplicant-manager/nm-supplicant-settings-verify.c
381                 - Whitelist private key passwords
382
383         * src/supplicant-manager/nm-supplicant-config.c
384                 - (nm_supplicant_config_add_setting_8021x): for pkcs#12 private keys,
385                         add the private key password to the supplicant config, but do not
386                         add the client certificate (as required by wpa_supplicant)
387
388 2008-11-12  Tambet Ingo  <tambet@gmail.com>
389
390         * system-settings/plugins/keyfile/nm-keyfile-connection.c (copy_one_secret)
391         (add_secrets): Don't add empty secrets to the secrets hash table.
392
393 2008-11-07  Dan Williams  <dcbw@redhat.com>
394
395         * libnm-util/nm-setting-wireless.c
396                 - (nm_setting_wireless_get_seen_bssid): fix bug from accessor conversion
397                         that cased this function to return garbage, breaking hidden AP
398                         detection
399
400 2008-11-07  Dan Williams  <dcbw@redhat.com>
401
402         Fix deletion of VPN gateway route on DHCP renew (bgo #558133)
403
404         * src/NetworkManagerSystem.c
405           src/NetworkManagerSystem.h
406                 - (nm_system_device_set_ip4_route): return the route that was added
407                 - (nm_system_add_ip4_vpn_gateway_route): make add_vpn_gateway_route()
408                         public, clean up, and return the route that was added
409                 - (nm_system_apply_ip4_config): remove VPN related stuff to simplify,
410                         since nm_system_add_ip4_vpn_gateway_route() is now available; add
411                         flags to allow only certain attributes of the NMIP4Config to be
412                         applied
413
414         * src/nm-device.c
415                 - (handle_dhcp_lease_change): don't touch the DHCP4 config on failure
416                 - (nm_device_set_ip4_config): use nm_ip4_config_diff() to only apply
417                         what's really changed between the old and new configs; don't export
418                         the new IP4 config on failure; always send the DNS info to the
419                         named manager
420
421         * src/vpn-manager/nm-vpn-connection.c
422                 - (device_ip4_config_changed, nm_vpn_connection_new, dispose): track the
423                         parent device's IP4Config and re-add the VPN gateway route when it
424                         changes
425                 - (nm_vpn_connection_ip4_config_get): add the VPN gateway route (since
426                         nm_system_apply_ip4_config() no longer does) and cache it for later
427                 - (connection_state_changed): move cleanup code to its own function
428                 - (vpn_cleanup): delete any previously added VPN gateway route; and
429                         re-apply the parent device's addresses and routes using
430                         nm_system_apply_ip4_config(), not nm_device_set_ip4_config()
431
432 2008-11-07  Dan Williams  <dcbw@redhat.com>
433
434         * src/nm-ip4-config.c
435           src/nm-ip4-config.h
436                 - (nm_ip4_config_diff): new function; return the difference between two
437                         IP4 configs
438                 - (nm_ip4_config_compare): change into nm_ip4_config_diff
439
440 2008-11-05  Dan Williams  <dcbw@redhat.com>
441
442         * nm-ip4-config.c
443           nm-ip4-config.h
444                 - (nm_ip4_config_compare): compare two IP4 configs
445
446 2008-11-05  Dan Williams  <dcbw@redhat.com>
447
448         * src/NetworkManagerPolicy.c
449                 - (update_etc_hosts): only add newline if not the last line of the file
450                         (Jonathan Miner)
451
452 2008-11-05  Dan Williams  <dcbw@redhat.com>
453
454         * src/dhcp-manager/nm-dhcp-dhclient.c
455                 - (get_leasefile_for_iface): move lease files back to where dhclient
456                         puts them
457
458 2008-11-05  Michael Biebl  <mbiebl@gmail.com>
459
460         * initscripts/Debian/NetworkManager
461                 - Update to what Debian is actually using
462
463 2008-11-05  Tambet Ingo  <tambet@gmail.com>
464
465         * libnm-util/nm-setting-8021x.c: Verify PEAP settings as well.
466
467 2008-11-03  Dan Williams  <dcbw@redhat.com>
468
469         * system-settings/src/main.c
470                 - (add_default_dhcp_connection): make the fallback connection read-only
471
472         * libnm-glib/nm-settings.c
473           libnm-glib/nm-settings.h
474                 - Add detailed errors
475                 - (impl_exported_connection_update, impl_exported_connection_delete):
476                         return an error if the connection is read-only
477
478         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
479           system-settings/plugins/keyfile/nm-keyfile-connection.c
480           system-settings/src/main.c
481                 - Use more detailed errors
482
483         * system-settings/src/nm-system-config-error.c
484           system-settings/src/nm-system-config-error.h
485           system-settings/src/dbus-settings.c
486                 - Remove NM_SYSCONFIG_SETTINGS_ERROR_INVALID_CONNECTION, replaced by
487                         NM_SETTINGS_ERROR_INVALID_CONNECTION
488
489 2008-11-02  Dan Williams  <dcbw@redhat.com>
490
491         * Add license headers to everything in src/
492
493 2008-11-02  Dan Williams  <dcbw@redhat.com>
494
495         * Tag 0.7.0-rc1
496
497 2008-11-02  Dan Williams  <dcbw@redhat.com>
498
499         * src/NetworkManagerAP.c
500                 - (nm_ap_new_fake_from_connection): treat only lack of a wireless security
501                         setting as unencrypted; fixes a bug where NM wouldn't ask for new
502                         secrets when connecting to an encrypted network failed
503
504 2008-10-30  Dan Williams  <dcbw@redhat.com>
505
506         * libnm-util/libnm-util.ver
507           libnm-util/nm-setting-ip6-config.c
508           libnm-util/nm-setting-ip6-config.h
509           libnm-util/Makefile.am
510                 - Make properties private and add accessor functions
511                 - Hide IPv6 stuff from public API, it's incomplete and completely unused
512
513         * libnm-util/nm-connection.c
514           libnm-util/nm-utils.c
515           libnm-util/nm-utils.h
516                 - Ignore IPv6 stuff for now
517
518 2008-10-30  Dan Williams  <dcbw@redhat.com>
519
520         * libnm-util/libnm-util.ver
521           libnm-util/nm-setting-8021x.c
522           libnm-util/nm-setting-8021x.h
523                 - Make properties private and add accessor functions
524
525         * src/supplicant-manager/nm-supplicant-config.c
526           system-settings/plugins/ifcfg-suse/parser.c
527                 - Use 802.1x setting accessors
528
529 2008-10-30  Dan Williams  <dcbw@redhat.com>
530
531         * libnm-util/libnm-util.ver
532           libnm-util/nm-setting-wireless-security.c
533           libnm-util/nm-setting-wireless-security.h
534                 - Make properties private and add accessor functions
535
536         * libnm-util/nm-setting-wireless.c
537           src/NetworkManagerAP.c
538           src/nm-device-wifi.c
539           src/supplicant-manager/nm-supplicant-config.c
540           system-settings/plugins/ifcfg-fedora/reader.c
541           system-settings/plugins/ifcfg-suse/parser.c
542                 - Use wireless security accessors
543
544 2008-10-30  Dan Williams  <dcbw@redhat.com>
545
546         * src/nm-device-ethernet.c
547           src/nm-device-wifi.c
548           src/nm-device.c
549           src/ppp-manager/nm-ppp-manager.c
550                 - Harmonize return checking of ioctl
551
552         * system-settings/plugins/ifcfg-fedora/reader.c
553                 - (is_wireless_device): fall back to SIOCGIWNAME (rh #466340)
554
555 2008-10-30  Dan Williams  <dcbw@redhat.com>
556
557         * src/ppp-manager/nm-ppp-manager.c
558                 - (nm_ppp_manager_start): if /dev/ppp doesn't exist, load the
559                         ppp_generic module to create it (bgo #533064)
560
561 2008-10-30  Dan Williams  <dcbw@redhat.com>
562
563         Patch from Alexander Sack <asac@canonical.com>
564
565         Fix "ppp connections don't honour ip4 connection settings"
566
567         * src/nm-device-ethernet.c
568                 - (real_act_stage4_get_ip4_config): merge ip4config settings
569                         with results from ppp manager
570
571         * src/nm-serial-device.c
572                 - (real_act_stage4_get_ip4_config): merge ip4config settings
573                         with results from ppp manager
574
575 2008-10-29  Dan Williams  <dcbw@redhat.com>
576
577         * libnm-util/libnm-util.ver
578           libnm-util/nm-setting-ip4-config.c
579           libnm-util/nm-setting-ip4-config.h
580                 - Make properties private and add accessor functions
581
582         * callouts/nm-dispatcher-action.c
583           libnm-glib/libnm-glib-test.c
584           libnm-util/nm-utils.c
585           src/NetworkManagerPolicy.c
586           src/NetworkManagerSystem.c
587           src/NetworkManagerUtils.c
588           src/dhcp-manager/nm-dhcp-dhclient.c
589           src/dhcp-manager/nm-dhcp-manager.c
590           src/dnsmasq-manager/nm-dnsmasq-manager.c
591           src/nm-device-wifi.c
592           src/nm-device.c
593           src/nm-hso-gsm-device.c
594           src/nm-ip4-config.c
595           src/nm-ip4-config.h
596           src/ppp-manager/nm-ppp-manager.c
597           src/vpn-manager/nm-vpn-connection.c
598           system-settings/plugins/ifcfg-fedora/reader.c
599           system-settings/plugins/ifcfg-suse/parser.c
600           system-settings/plugins/ifcfg-suse/plugin.c
601           system-settings/plugins/ifupdown/parser.c
602           test/nm-tool.c
603           vpn-daemons/vpnc/properties/nm-vpnc.c
604                 - Use IP4 accessor functions
605
606 2008-10-29  Tambet Ingo  <tambet@gmail.com>
607
608         Half of it by Dan Williams <dcbw@redhat.com>
609
610         * libnm-util/libnm-util.ver
611         libnm-util/nm-setting-vpn.c
612         libnm-util/nm-setting-vpn.h
613                 - Make properties private and add accessor functions.
614
615         * src/vpn-manager/nm-vpn-connection.c
616         src/vpn-manager/nm-vpn-manager.c
617         system-settings/plugins/keyfile/reader.c
618         vpn-daemons/openvpn/properties/auth-helpers.c
619         vpn-daemons/openvpn/properties/import-export.c
620         vpn-daemons/openvpn/properties/nm-openvpn.c
621         vpn-daemons/openvpn/src/nm-openvpn-service.c
622         vpn-daemons/pptp/auth-dialog/main.c
623         vpn-daemons/pptp/properties/advanced-dialog.c
624         vpn-daemons/pptp/properties/nm-pptp.c
625         vpn-daemons/pptp/src/nm-pptp-service.c
626         vpn-daemons/vpnc/properties/nm-vpnc.c
627         vpn-daemons/vpnc/src/nm-vpnc-service.c
628                 - Use VPN setting accessors.
629
630 2008-10-28  Dan Williams  <dcbw@redhat.com>
631
632         Patch from Tambet Ingo <tambet@gmail.com>
633
634         * libnm-util/libnm-util.ver
635           libnm-util/nm-setting-wireless.c
636           libnm-util/nm-setting-wireless.h
637                 - Make properties private and add accessor functions
638
639         * src/NetworkManagerAP.c
640           src/nm-device-wifi.c
641           src/nm-manager.c
642           src/supplicant-manager/nm-supplicant-config.c
643           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
644           system-settings/plugins/ifcfg-fedora/reader.c
645           system-settings/plugins/ifcfg-suse/parser.c
646           system-settings/plugins/ifupdown/parser.c
647                 - Use wireless setting accessors
648
649 2008-10-27  Dan Williams  <dcbw@redhat.com>
650
651         Patch from Tambet Ingo <tambet@gmail.com>
652
653         * libnm-util/libnm-util.ver
654           libnm-util/nm-setting-ppp.c
655           libnm-util/nm-setting-ppp.h
656                 - Make properties private and add accessor functions
657
658         * src/ppp-manager/nm-ppp-manager.c
659                 - Use ppp setting accessors
660
661 2008-10-27  Dan Williams  <dcbw@redhat.com>
662
663         Patch from Tambet Ingo <tambet@gmail.com>
664
665         * libnm-util/nm-setting.h
666           libnm-util/nm-setting.c
667                 - Make properties private and add accessor functions
668
669         * libnm-util/nm-connection.c
670           libnm-util/nm-setting-8021x.c
671           libnm-util/nm-setting-cdma.c
672           libnm-util/nm-setting-connection.c
673           libnm-util/nm-setting-gsm.c
674           libnm-util/nm-setting-ip4-config.c
675           libnm-util/nm-setting-ip6-config.c
676           libnm-util/nm-setting-ppp.c
677           libnm-util/nm-setting-pppoe.c
678           libnm-util/nm-setting-serial.c
679           libnm-util/nm-setting-template.c
680           libnm-util/nm-setting-vpn.c
681           libnm-util/nm-setting-wired.c
682           libnm-util/nm-setting-wireless-security.c
683           libnm-util/nm-setting-wireless.c
684           system-settings/plugins/keyfile/reader.c
685           system-settings/plugins/keyfile/writer.c
686                 - Use setting accessors
687
688 2008-10-27  Dan Williams  <dcbw@redhat.com>
689
690         * libnm-util/libnm-util.ver
691           libnm-util/nm-setting-connection.c
692           libnm-util/nm-setting-connection.h
693                 - Add a 'read-only' property that indicates the connection cannot be
694                         modified
695
696         * system-settings/plugins/ifcfg-fedora/reader.c
697           system-settings/plugins/ifcfg-suse/parser.c
698           system-settings/plugins/ifupdown/parser.c
699                 - These plugins are read-only at the moment
700
701         * system-settings/plugins/keyfile/reader.c
702           system-settings/plugins/keyfile/writer.c
703                 - Read-only shouldn't get saved out to files or read in from them
704
705 2008-10-27  Tambet Ingo  <tambet@gmail.com>
706
707         * src/nm-device-ethernet.c (nm_device_ethernet_get_speed): Implement
708         correct speed reporting for fast devices (kernel >= 2.6.27).
709
710 2008-10-26  Dan Williams  <dcbw@redhat.com>
711
712         Attempt to compensate for modems that don't enable full AT parsing before
713         the PIN has been entered.
714
715         * src/nm-gsm-device.c
716                 - (init_modem): accept different init strings
717                 - (init_done): try different init strings on failure
718                 - (check_pin_done): on PIN success, do full modem init
719
720 2008-10-26  Dan Williams  <dcbw@redhat.com>
721
722         Patch from Tambet Ingo <tambet@gmail.com>
723
724         * libnm-util/libnm-util.ver
725           libnm-util/nm-setting-connection.c
726           libnm-util/nm-setting-connection.h
727                 - Make properties private and add accessor functions
728
729         * src/NetworkManagerPolicy.c
730           src/nm-cdma-device.c
731           src/nm-device-ethernet.c
732           src/nm-device-interface.c
733           src/nm-device-wifi.c
734           src/nm-gsm-device.c
735           src/nm-manager.c
736           src/ppp-manager/nm-ppp-manager.c
737           src/vpn-manager/nm-vpn-connection.c
738           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
739           system-settings/plugins/ifcfg-fedora/plugin.c
740           system-settings/plugins/ifcfg-fedora/reader.c
741           system-settings/plugins/ifcfg-suse/parser.c
742           system-settings/plugins/ifupdown/parser.c
743           system-settings/plugins/keyfile/nm-keyfile-connection.c
744           system-settings/plugins/keyfile/plugin.c
745           system-settings/plugins/keyfile/writer.c
746           system-settings/src/main.c
747                 - Use those accessors
748
749 2008-10-26  Dan Williams  <dcbw@redhat.com>
750
751         Patch from Tambet Ingo <tambet@gmail.com>
752
753         * libnm-util/libnm-util.ver
754           libnm-util/nm-setting-gsm.c
755           libnm-util/nm-setting-gsm.h
756                 - Make properties private and add accessor functions
757
758         * src/nm-gsm-device.c
759           src/nm-hso-gsm-device.c
760           src/ppp-manager/nm-ppp-manager.c
761                 - Use those accessors
762
763 2008-10-26  Dan Williams  <dcbw@redhat.com>
764
765         Patch from Tambet Ingo <tambet@gmail.com>
766
767         * libnm-util/libnm-util.ver
768           libnm-util/nm-setting-cdma.c
769           libnm-util/nm-setting-cdma.h
770                 - Make properties private and add accessor functions
771
772         * src/nm-cdma-device.c
773           src/ppp-manager/nm-ppp-manager.c
774                 - Use those accessors
775
776 2008-10-26  Dan Williams  <dcbw@redhat.com>
777
778         Patch from Tambet Ingo <tambet@gmail.com>
779
780         * libnm-util/libnm-util.ver
781           libnm-util/nm-setting-pppoe.c
782           libnm-util/nm-setting-pppoe.h
783                 - Make properties private and add accessor functions
784
785         * src/nm-device-ethernet.c
786           src/ppp-manager/nm-ppp-manager.c
787                 - Use those accessors
788
789 2008-10-26  Dan Williams  <dcbw@redhat.com>
790
791         Patch from Tambet Ingo <tambet@gmail.com>
792
793         * libnm-util/libnm-util.ver
794           libnm-util/nm-setting-wired.c
795           libnm-util/nm-setting-wired.h
796                 - Make properties private and add accessor functions
797
798         * src/nm-device-ethernet.c
799           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
800           system-settings/plugins/ifcfg-suse/parser.c
801           system-settings/src/main.c
802                 - Use those accessors
803
804 2008-10-26  Dan Williams  <dcbw@redhat.com>
805
806         Patch from Tambet Ingo <tambet@gmail.com>
807
808         * libnm-util/libnm-util.ver
809           libnm-util/nm-setting-serial.c
810           libnm-util/nm-setting-serial.h
811           src/nm-serial-device.c
812                 - Make properties private and use accessors instead
813
814 2008-10-26  Dan Williams  <dcbw@redhat.com>
815
816         * src/supplicant-manager/nm-supplicant-interface.c
817           src/supplicant-manager/nm-supplicant-interface.h
818           src/supplicant-manager/nm-supplicant-manager.c
819           src/supplicant-manager/nm-supplicant-manager.h
820                 - Add state-to-string conversion functions
821
822         * src/nm-device-wifi.c
823           src/nm-device-ethernet.c
824                 - Normalize state info logging and use strings instead of numbers
825
826 2008-10-26  Dan Williams  <dcbw@redhat.com>
827
828         * src/NetworkManagerPolicy.c
829                 - (update_routing_and_dns): ignore host routes when determining whether
830                         a VPN connection should own the default route (bgo #552594)
831
832 2008-10-24  Dan Williams  <dcbw@redhat.com>
833
834         * src/nm-gsm-device.c
835                 - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
836
837 2008-10-23  Dan Williams  <dcbw@redhat.com>
838
839         * src/ppp-manager/nm-ppp-manager.c
840                 - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
841                         add really important stuff to the command line to ensure that NM
842                         overrides /etc/ppp/options (bgo #556781)
843
844 2008-10-22  Dan Williams  <dcbw@redhat.com>
845
846         * src/NetworkManagerSystem.c
847           src/nm-device.c
848                 - Use the device's IP interface where appropriate (Per Hallsmark)
849
850 2008-10-22  Dan Williams  <dcbw@redhat.com>
851
852         * src/nm-gsm-device.c
853                 - (schedule_automatic_registration_again): use a short timeout here
854                         instead of an idle handler to avoid using too much CPU polling for
855                         something we should be waiting a bit for anyway
856
857 2008-10-22  Dan Williams  <dcbw@redhat.com>
858
859         * include/NetworkManager.h
860           introspection/nm-device.xml
861                 - Add device state change reason for carrier changes
862
863         * src/nm-device-ethernet.c
864                 - (set_carrier): use the carrier change reason when changing device
865                         state in response to carrier changes
866
867 2008-10-21  Dan Williams  <dcbw@redhat.com>
868
869         * src/NetworkManagerPolicy.c
870                 - (update_etc_hosts): don't leak errors, and ensure that
871                         g_file_set_contents() gets a valid error placeholder (rh #461933)
872
873 2008-10-21  Dan Williams  <dcbw@redhat.com>
874
875         * src/nm-manager.c
876                 - (free_get_settings_info): don't use the DBusGProxy which could be
877                         disposed of by the time the function is called
878                 - (internal_new_connection_cb): save connection scope
879                 - (connection_get_settings_cb): don't replace a connection unless it's
880                         actually different from the existing one; fixes an issue where
881                         killing the settings service wouldn't deactivate an active connection
882                         provided by that settings service, because it was using a connection
883                         that had already been replaced in the system or user hash
884
885 2008-10-21  Dan Williams  <dcbw@redhat.com>
886
887         * src/NetworkManager.c
888                 - (main): keep the DHCP manager around since it's a singleton; fixes
889                         a use-after-free exposed by r4196 since the DHCP manager singleton
890                         variable isn't cleared when the DHCP manager object is finalized
891
892 2008-10-20  Dan Williams  <dcbw@redhat.com>
893
894         * libnm-util/nm-setting-wireless-security.c
895                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
896
897 2008-10-20  Dan Williams  <dcbw@redhat.com>
898
899         * src/supplicant-manager/nm-supplicant-config.c
900                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
901
902 2008-10-20  Dan Williams  <dcbw@redhat.com>
903
904         * src/dhcp-manager/nm-dhcp-manager.c
905                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
906                         manager object already refs it once
907                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
908                         also get cleaned up by nm_dhcp_device_destroy() to prevent
909                         double-frees
910
911 2008-10-20  Dan Williams  <dcbw@redhat.com>
912
913         * src/nm-manager.c
914                 - (initial_get_connections): use private dbus manager, don't keep
915                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
916                         manager object.
917
918 2008-10-18  Dan Williams  <dcbw@redhat.com>
919
920         * libnm-glib/nm-settings.c
921           libnm-glib/nm-settings.h
922                 - Rename the "get_secrets" virtual function "service_get_secrets" to
923                         clarify when it's used; NMExportedConnetion is a base-class for both
924                         the client and service side, which is sort of confusing, and
925                         get_secrets only makes sense on the service side.
926
927         * libnm-glib/nm-dbus-connection.c
928                 - (get_secrets): remove, unused, and clients need to do extra work to
929                         get secrets anyway since the call can block on the remote side
930
931         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
932           system-settings/plugins/keyfile/nm-keyfile-connection.c
933                 - Fix up for get_secrets -> service_get_secrets
934
935 2008-10-16  Dan Williams  <dcbw@redhat.com>
936
937         * src/nm-device-wifi.c
938                 - (constructor): correctly determine encryption capabilities
939
940 2008-10-15  Dan Williams  <dcbw@redhat.com>
941
942         * src/nm-device-wifi.c
943                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
944                         (Johannes Berg)
945
946 2008-10-15  Dan Williams  <dcbw@redhat.com>
947
948         * src/NetworkManagerSystem.c
949                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
950                         if the ip4_dest is in a smaller subnet contained within a subnet
951                         the machine is currently on, the destination is in the same subnet
952                 - (nm_system_device_set_ip4_route): move subnet checks to callers
953                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
954                         subnet as the parent device, and if so, don't add the direct
955                         host route via the parent device's gateway (bgo #481620)
956                 - (nm_system_apply_ip4_config): check whether the route to be added
957                         is contained within a subnet the device is already on
958
959 2008-10-11  Dan Williams  <dcbw@redhat.com>
960
961         * include/NetworkManager.h
962           introspection/nm-device.xml
963           include/NetworkManagerVPN.h
964                 - Add a few more state reasons for the device deactivated state
965
966         * src/nm-device-interface.c
967           src/nm-device-interface.h
968                 - (nm_device_interface_deactivate): add a 'reason' argument
969
970         * src/nm-device.c
971           src/nm-device.h
972                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
973                 - (nm_device_state_changed): pass the state change reason to
974                         nm_device_take_down()
975                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
976                         to the state change function
977
978         * src/nm-manager.c
979           src/nm-manager.h
980                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
981                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
982                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
983                         something reasonable along to VPN deactivation
984
985         * src/vpn-manager/nm-vpn-manager.c
986           src/vpn-manager/nm-vpn-manager.h
987                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
988                         pass that along to nm_vpn_connection_disconnect()
989
990 2008-10-11  Dan Williams  <dcbw@redhat.com>
991
992         * src/nm-device-wifi.c
993                 - (can_scan): remove old madwifi hack for not scanning while connected
994
995 2008-10-11  Dan Williams  <dcbw@redhat.com>
996
997         Add support for VPN subnet gateways (bgo #549196)
998
999         * include/NetworkManager.h
1000                 - Add key for internal VPN subnet gateway
1001
1002         * src/vpn-manager/nm-vpn-connection.c
1003                 - (ip_address_to_string): return a const from a static buffer so we
1004                         don't leak a lot of strings
1005                 - (print_vpn_config): print internal VPN gateway as well
1006                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
1007                         VPN service too
1008                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
1009
1010         * src/NetworkManagerSystem.c
1011           src/NetworkManagerSystem.h
1012                 - (nm_system_device_replace_default_ip4_route): split into two, one for
1013                         VPN connections and one for normal devices
1014                 - (replace_default_ip4_route): break out route stuff into its own function
1015                 - (nm_system_replace_default_ip4_route_vpn,
1016                    nm_system_replace_default_ip4_route): simplify by having two cases,
1017                         one for VPNs and one for normal devices
1018
1019         * src/NetworkManagerPolicy.c
1020                 - (update_routing_and_dns): simplify, use split default route replacement
1021                         functions
1022
1023 2008-10-10  Dan Williams  <dcbw@redhat.com>
1024
1025         Rework default route handling to consolidate decisions in the policy,
1026         and to take active VPN connections into account when changing the default
1027         route (bgo #545912)
1028
1029         * src/NetworkManager.c
1030                 - (main): pass the vpn_manager to the policy so it knows about active
1031                         VPN connections; clean up the named manager which wasn't done before
1032
1033         * src/NetworkManagerPolicy.c
1034           src/NetworkManagerPolicy.h
1035                 - (nm_policy_new): get a clue about the vpn_manager
1036                 - (update_default_route): remove, fold into update_routing_and_dns()
1037                 - (update_routing_and_dns): handle active VPN connections too; an
1038                         active VPN connection becomes the default route if it does not have
1039                         server-specified or user-specified custom routes.  Otherwise, the
1040                         best active device gets the default route
1041                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
1042                    nm_policy_destroy): track VPN connection activation and deactivation
1043                         and update the default route when appropriate
1044
1045         * src/NetworkManagerSystem.c
1046           src/NetworkManagerSystem.h
1047                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
1048                         in the VPN connection itself
1049                 - (nm_system_vpn_device_set_from_ip4_config,
1050                    nm_system_device_set_from_ip4_config): merge together to make
1051                         nm_system_apply_ip4_config()
1052                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
1053                         via the parent device
1054                 - (nm_system_apply_ip4_config): simplify
1055                 - (add_ip4_route_to_gateway): new function; add a direct route to the
1056                         gateway if needed
1057                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
1058                         route stuff out into add_ip4_route_to_gateway() for clarity
1059
1060         * src/nm-device.c
1061                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
1062
1063         * src/vpn-manager/nm-vpn-connection.c
1064           src/vpn-manager/nm-vpn-connection.h
1065                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
1066                    nm_vpn_connection_get_parent_device): add
1067                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
1068                         device explicit
1069                 - (connection_state_changed): update the named manager now that
1070                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
1071                         useful on errors
1072
1073         * src/vpn-manager/nm-vpn-manager.c
1074           src/vpn-manager/nm-vpn-manager.h
1075                 - Add a 'connection-activated' signal
1076                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
1077                         policy to find out about active VPN connections
1078
1079 2008-10-10  Tambet Ingo  <tambet@gmail.com>
1080
1081         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
1082         a daemon to prevent NM logging spew on console on startup and shutdown (due
1083         to dependency loop between NM and syslog).
1084
1085 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1086
1087         Implement managed mode. We bind devices configured in /etc/network/interfaces
1088         to their connections by updating wired/wireless setting with the
1089         mac address of the device.
1090
1091         * system-settings/plugins/ifupdown/plugin.c
1092                 - (get_net_address_for_udi): implement function to retrieve MAC
1093                         address of udi from hal in GByteArray format
1094                 - (bind_device_to_connection): bind mac address of device to
1095                         wired/wireless system connection
1096                 - (hal_device_added_cb): call bind_device_to_connection for
1097                         system connections with a matching interface.name
1098                 - (hal_device_added_cb): ensure that all code paths
1099                         properly free the "iface" string.
1100
1101 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1102
1103         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
1104         mode of the ifupdown system config plugin.
1105
1106         * system-settings/plugins/ifupdown/plugin.c
1107                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
1108                         private unmanage_well_known state field accordingly
1109
1110 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1111
1112         Implement unmanaged mode that will prevent all devices in the
1113         well_known_udis set from being touched by NetworkManager
1114
1115         * system-settings/plugins/ifupdown/plugin.c
1116                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
1117                         unmanage_well_known field used to turn on/off unmanaged
1118                         mode
1119                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
1120                         signal when well_known_udis get added/removed
1121                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
1122                         if we are in unmanaged mode
1123
1124 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1125
1126         Add support to track network devices that have a configuration
1127         with a matching interface.name in /etc/network/interfaces
1128
1129         * system-settings/plugins/ifupdown/plugin.c
1130                 - (typedef struct SCPluginIfupdownPrivate): add hash table
1131                         to track |well_known_udis|
1132                 - (get_iface_for_udi): helper function to get interface.name
1133                         for a udi
1134                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
1135                         that add and remove devices to and from the well_known_udis
1136                         set depending on whether their |interface.name| matches
1137                         any interface definition in /etc/network/interfaces
1138                 - (SCPluginIfupdown_init): connect callbacks from above with
1139                         hal_mgr and setup well_known_udis hashtable
1140                 - (GObject__dispose): destroy well_known_udis hashtable
1141                 - (hal_device_added_cb2): implement wrapper callback with GFunc
1142                         signature. user_data is supposed to be a triple (hal_mgr,
1143                         config and devtype)
1144                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
1145                         startup and call hal_device_added_cb2
1146
1147 2008-10-10  Alexander Sack  <asac@ubuntu.com>
1148
1149         Remove implementation for not used NMSystemConfigInterface callback functions
1150         in ifupdown plugin
1151
1152         * system-settings/plugins/ifupdown/plugin.c
1153                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
1154                 - (SCPluginIfupdown_connection_added): removed
1155
1156 2008-10-08  Dan Williams  <dcbw@redhat.com>
1157
1158         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
1159
1160         * src/NetworkManagerUtils.c
1161                 - (nm_utils_call_dispatcher): add a 'hostname' action
1162
1163         * src/NetworkManagerPolicy.c
1164                 - (set_system_hostname): dispatch hostname changes
1165
1166         * callouts/nm-dispatcher-action.c
1167                 - (nm_dispatcher_action): handle 'hostname' actions
1168
1169 2008-10-08  Dan Williams  <dcbw@redhat.com>
1170
1171         * src/NetworkManagerSystem.c
1172                 - (find_route): ref the route so it doesn't get destroyed when the cache
1173                         is cleared
1174                 - (nm_system_device_set_priority): unref the route here after it's done
1175                         being used
1176
1177 2008-10-08  Dan Williams  <dcbw@redhat.com>
1178
1179         * src/nm-serial-device.c
1180                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
1181
1182 2008-10-08  Tambet Ingo  <tambet@gmail.com>
1183
1184         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
1185         connection with new settings before saving it.
1186
1187 2008-10-06  Dan Williams  <dcbw@redhat.com>
1188
1189         * src/nm-ip4-config.c
1190           src/nm-ip4-config.h
1191                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
1192
1193         * src/nm-device-interface.c
1194                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
1195                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
1196                         by using '/' for the object path
1197
1198         * src/nm-device.c
1199                 - (src/nm-device.c): marshal missing/unexported ip4-config through
1200                         dbus as '/' since dbus-glib can't handle NULL objects nor can
1201                         dbus handle NULL object paths
1202
1203 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1204
1205         Implement system hostname support for debian/ubuntu
1206
1207         * system-settings/plugins/ifupdown/plugin.c
1208                 - (GObject__get_property): extend announced capabilities; add
1209                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
1210                 - (GObject__set_property,write_system_hostname): implement
1211                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
1212                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
1213                    update_system_hostname, get_hostname):
1214                         implement hostname property that watches and
1215                         parses /etc/hostname
1216
1217 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1218
1219         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
1220           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
1221           system-settings/plugins/ifcfg-fedora/Makefile.am
1222           system-settings/src/nm-inotify-helper.c
1223           system-settings/src/nm-inotify-helper.h
1224           src/Makefile.am
1225                 - Move ifcfg-fedora inotify helpers to the system settings service so
1226                         they are available to all plugins
1227
1228 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1229
1230         Implement support for wep-tx-keyidx in ifupdown system
1231         config plugin.
1232
1233         * system-settings/plugins/ifupdown/parser.c
1234                 - (update_wireless_security_setting_from_if_block): introduce
1235                         free_type_mapping func table; rename a few local
1236                         variables to improve readability; add wpa security mapping
1237                         for wep-tx-keyidx property
1238                 - (string_to_gpointerint): new function used for the auto_type_mapping
1239                         of new wep-tx-keyidx property
1240                 - (slist_free_all): free func used for mapped slist types
1241
1242 2008-10-03  Alexander Sack  <asac@ubuntu.com>
1243
1244         * system-settings/src/main.c:
1245                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
1246                         always used as the hash key; fixes a crash when removing wired
1247                         devices
1248
1249 2008-10-02  Dan Williams  <dcbw@redhat.com>
1250
1251         * src/nm-gsm-device.c
1252                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
1253                         pass the required GSM secret along via user_data rather than keeping
1254                         it around in the private data where it sometimes didn't get cleared
1255                 - (real_get_ppp_name): implement using the GSM username
1256
1257 2008-10-02  Dan Williams  <dcbw@redhat.com>
1258
1259         * src/ppp-manager/nm-ppp-manager.c
1260           src/ppp-manager/nm-ppp-manager.h
1261                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
1262                         the settings daemon for completely new ones
1263                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
1264                         local PPP peer name; allow PPP debuging by launching NM with
1265                         the environment variable NM_PPP_DEBUG defined
1266                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
1267                         create_pppd_cmd_line()
1268
1269         * src/nm-serial-device.c
1270           src/nm-serial-device.h
1271                 - New 'get_ppp_name' function for subclasses to implement to return the
1272                         local PPP peer name
1273                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
1274                         and pass that name to the PPP manager
1275
1276         * src/nm-device-ethernet.c
1277                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
1278                         the local peer name
1279
1280         * src/nm-cdma-device.c
1281                 - (real_get_ppp_name): implement using the CDMA username
1282
1283 2008-10-02  Dan Williams  <dcbw@redhat.com>
1284
1285         Patch from Alexander Sack <asac ubuntu com>
1286
1287         * system-settings/plugins/ifupdown/parser.c
1288                 - Implement more graceful ip4 config parsing for cases where
1289                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
1290                   by using default values
1291
1292 2008-10-02  Dan Williams  <dcbw@redhat.com>
1293
1294         * src/NetworkManagerPolicy.c
1295                 - (device_state_changed): when marking a connection invalid, clear its
1296                         secrets too so that fresh secrets get requested the next time
1297
1298 2008-10-01  Dan Williams  <dcbw@redhat.com>
1299
1300         * system-settings/src/dbus-settings.c
1301                 - (nm_sysconfig_settings_init): cache system hostname on startup as
1302                         a fallback if no plugin provides a hostname
1303                 - (get_property): fall back to cached hostname if no plugin provides
1304                         a hostname
1305
1306 2008-10-01  Dan Williams  <dcbw@redhat.com>
1307
1308         Fix setting value comparison issue that caused some settings to look the
1309         same when they were really different (rh #464417)
1310
1311         * libnm-util/nm-param-spec-specialized.c
1312                 - (type_is_fixed_size): return fundamental size of the fixed type too
1313                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
1314                         in the comparison so that the _entire_ fixed type collection gets
1315                         compared rather than just the first 'len1' bytes
1316
1317 2008-09-30  Dan Williams  <dcbw@redhat.com>
1318
1319         * src/NetworkManagerPolicy.c
1320                 - (lookup_thread_worker): don't store the idle handler ID because the
1321                         idle handler could have already run and freed the LookupThread
1322                         structure
1323
1324 2008-09-30  Tambet Ingo  <tambet@gmail.com>
1325
1326         * src/nm-device.c (nm_device_get_priority): Implement.
1327         (nm_device_set_ip4_config): Send the device priority to system ip4 
1328         config setter.
1329
1330         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
1331         Add priority argument and if it's >= 0, set the priority of the network
1332         route added automatically by netlink (or kernel?).
1333         (nm_system_device_set_priority): Implement.
1334
1335         * src/NetworkManagerPolicy.c (get_best_device): Use 
1336         nm_device_get_priority() instead of home-grown version. Revert the
1337         meaning, best priority is the lowest one.
1338
1339 2008-09-29  Dan Williams  <dcbw@redhat.com>
1340
1341         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
1342         when it returns EAGAIN (rh #362421)
1343
1344         * src/nm-device-wifi.c
1345                 - (wireless_get_range): try GIWRANGE a few times until the card responds
1346                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
1347
1348 2008-09-28  Dan Williams  <dcbw@redhat.com>
1349
1350         * src/nm-serial-device.c
1351           src/nm-serial-device.h
1352                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
1353                         cleaned at the right times when subclasses close the serial port too
1354                 - (nm_serial_device_send_command): use a default send delay; don't
1355                         spin forever on EAGAIN
1356                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
1357                         remove, no longer used
1358                 - (find_response): return the matched response if any
1359                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
1360                         while doing so
1361                 - (wait_for_reply_done): pass the matched response to the callback
1362                 - (wait_for_reply_got_data): save the matched response; simplify timeout
1363                         handling
1364                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
1365                         const since they never get modified
1366                 - (cleanup_device): split out common cleanup stuff to a new function
1367                 - (real_deactivate_quickly, finalize): use cleanup_device()
1368
1369         * src/nm-gsm-device.c
1370                 - (modem_get_reply): remove, unused
1371                 - (set_apn): give the card a bit more time to respond
1372                 - (manual_registration_again, schedule_manual_registration_again,
1373                    manual_registration_response, manual_registration): handle manual
1374                         registration timeouts better by retrying registration a few times
1375                         because cards are a bit slow after CFUN=1
1376                 - (automatic_registration_get_network, get_network_response): use
1377                         modem_wait_for_reply() because it interacts better with the serial
1378                         buffer and does more intelligent matching; need to wait for 'OK'
1379                         rather than just matching terminators
1380                 - (schedule_automatic_registration_again,
1381                    automatic_registration_response, automatic_registration): retry
1382                         registration a few times on timeout or "searching" because cards
1383                         take a bit to find a network after being powered up with CFUN=1
1384                 - (power_up_response, power_up, init_full_done, enter_pin,
1385                    check_pin_done): power up the card with CFUN=1 before trying to
1386                         register with the network
1387                 - (init_modem_full, init_modem): use more standard 3G init strings
1388
1389         * src/nm-hso-gsm-device.c
1390                 - (modem_get_reply): remove, unused
1391                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
1392                         modem_wait_for_reply() to match actual responses instead of single
1393                         termination characters; it doesn't leave stuff in the serial buffer
1394                         that might confuse later calls
1395                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
1396                         to ensure that the call is really disconnected and not leave extra
1397                         stuff in the serial buffer
1398
1399         * src/nm-cdma-device.c
1400                 - (power_up_response, power_up, init_done): try Sierra-style modem
1401                         power up before attempting to connect
1402
1403 2008-09-27  Dan Williams  <dcbw@redhat.com>
1404
1405         * libnm-util/nm-setting-gsm.c
1406                 - (verify): verify GSM network ID
1407
1408 2008-09-25  Dan Williams  <dcbw@redhat.com>
1409
1410         * libnm-util/nm-setting-gsm.c
1411           libnm-util/nm-setting-gsm.h
1412                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
1413                         technology terms (bgo #551361)
1414
1415 2008-09-25  Dan Williams  <dcbw@redhat.com>
1416
1417         Fix bgo #549401 (inspired by patch from Alexander Sack)
1418
1419         * src/nm-device-ethernet.c
1420                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1421                 - (remove_supplicant_interface_error_handler): remove the supplicant
1422                         error idle callback too
1423                 - (supplicant_interface_release): rename from supplicant_interface_clean
1424                         to match nm-device-wifi.c; clean up supplicant interface-related
1425                         state tasks when the supplicant interface is disposed of
1426                 - (schedule_state_handler): add scheduled tasks to a list so they can
1427                         be cleaned up later
1428                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1429                    supplicant_iface_connection_state_cb_handler): use
1430                         finish_supplicant_task() to clean up each completed task
1431                 - (supplicant_iface_connection_error_cb_handler,
1432                    supplicant_connection_timeout_cb): clear source id when the task is
1433                         complete
1434                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1435                         later cleanup
1436                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
1437                         tasks
1438
1439         * src/nm-device-wifi.c
1440                 - (finish_supplicant_task): clean up scheduled tasks and free memory
1441                 - (remove_supplicant_interface_error_handler): remove the supplicant
1442                         error idle callback too
1443                 - (supplicant_interface_release): clean up supplicant interface-related
1444                         state tasks when the supplicant interface is disposed of
1445                 - (schedule_state_handler): add scheduled tasks to a list so they can
1446                         be cleaned up later
1447                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
1448                    supplicant_iface_connection_state_cb_handler): use
1449                         finish_supplicant_task() to clean up each completed task
1450                 - (supplicant_iface_connection_error_cb_handler): clear source id when
1451                         the task is complete
1452                 - (supplicant_iface_connection_error_cb): save scheduled task id for
1453                         later cleanup
1454                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
1455
1456 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1457
1458         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
1459         method and get/set hostname property.
1460
1461 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1462
1463         * src/supplicant-manager/nm-supplicant-interface.c
1464         (nm_supplicant_interface_disconnect): Don't increment the reference 
1465         count when disconnecting. The problem is on shutdown, when the replies
1466         to these commands do not arrive before NM exits, resulting on never
1467         calling supplicant interface's dispose(), which removes the interface
1468         from supplicant.
1469
1470 2008-09-24  Tambet Ingo  <tambet@gmail.com>
1471
1472         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
1473         all the public function arguments.
1474
1475 2008-09-22  Tambet Ingo  <tambet@gmail.com>
1476
1477         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
1478         "Failure" signal from VPN plugins, store the failure reason, and
1479         use it when the state is changed to failure.
1480
1481         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
1482         description.
1483
1484         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
1485         reason to the end of the list to not break the API.
1486         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
1487         so it can be shared by plugins and daemon.
1488
1489 2008-09-18  Dan Williams  <dcbw@redhat.com>
1490
1491         Patch from Alexander Sack <asac@ubuntu.com>
1492
1493         * configure.in
1494           system-settings/plugins/Makefile.am
1495           system-settings/plugins/ifupdown/Makefile.am
1496           system-settings/plugins/ifupdown/interface_parser.c
1497           system-settings/plugins/ifupdown/interface_parser.h
1498           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
1499           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
1500           system-settings/plugins/ifupdown/parser.c
1501           system-settings/plugins/ifupdown/parser.h
1502           system-settings/plugins/ifupdown/plugin.c
1503           system-settings/plugins/ifupdown/plugin.h
1504                 - Implement a Debian/Ubuntu legacy network configuration plugin
1505                         (gnome.org #551941)
1506
1507 2008-09-18  Dan Williams  <dcbw@redhat.com>
1508
1509         Implement support for honoring configured and automatic hostnames, and for
1510         setting the configured hostname.
1511
1512         * introspection/nm-ip4-config.xml
1513           src/nm-ip4-config.c
1514           src/nm-ip4-config.h
1515           src/dhcp-manager/nm-dhcp-manager.c
1516                 - Remove useless hostname property; it's not really part of the IPv4
1517                         config
1518
1519         * introspection/nm-settings-system.xml
1520           libnm-glib/nm-dbus-settings-system.c
1521           libnm-glib/nm-dbus-settings-system.h
1522                 - Add SetHostname() call to system settings D-Bus interface
1523                 - Add Hostname property to system settings D-Bus interface
1524                 - (nm_dbus_settings_system_save_hostname,
1525                    nm_dbus_settings_system_get_hostname): implement
1526
1527         * src/nm-device.c
1528           src/nm-device.h
1529                 - (nm_device_get_dhcp4_config): implement
1530
1531         * src/nm-manager.c
1532           src/nm-manager.h
1533                 - Fetch and track system settings service hostname changes, and proxy
1534                         the changes via a GObject property of the manager
1535
1536         * system-settings/src/nm-system-config-interface.c
1537           system-settings/src/nm-system-config-interface.h
1538                 - Replace nm_system_config_interface_supports_add() with a capabilities
1539                         bitfield
1540
1541         * system-settings/src/nm-system-config-error.c
1542           system-settings/src/nm-system-config-error.h
1543                 - Add additional errors
1544
1545         * system-settings/src/dbus-settings.c
1546           system-settings/src/dbus-settings.h
1547                 - (get_property, nm_sysconfig_settings_class_init): add hostname
1548                         property; first plugin returning a hostname wins
1549                 - (impl_settings_add_connection): use plugin capabilities instead of
1550                         nm_system_config_interface_supports_add()
1551                 - (impl_settings_save_hostname): implement hostname saving
1552
1553         * src/NetworkManagerPolicy.c
1554                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
1555                    lookup_thread_die): implement an asynchronous hostname lookup thread
1556                         which given an IPv4 address tries to look up the hostname for that
1557                         address with reverse DNS
1558                 - (get_best_device): split out best device code from
1559                         update_routing_and_dns()
1560                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
1561                         to preserve the 127.0.0.1 reverse mapping that so many things require
1562                 - (set_system_hostname): set a given hostname
1563                 - (update_system_hostname): implement hostname policy; a configured
1564                         hostname (from the system settings service) is used if available,
1565                         otherwise an automatically determined hostname from DHCP, VPN, etc.
1566                         If there was no automatically determined hostname, reverse DNS of
1567                         the best device's IP address will be used, and as a last resort the
1568                         hostname 'localhost.localdomain' is set.
1569                 - (update_routing_and_dns): use get_best_device(); update the system
1570                         hostname when the network config changes
1571                 - (hostname_changed): update system hostname if the system settings
1572                         service signals a hostname change
1573                 - (nm_policy_new): list for system settings service hostname changes
1574                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
1575                         gets told to die
1576
1577         * system-settings/plugins/keyfile/plugin.c
1578           system-settings/plugins/ifcfg-suse/plugin.c
1579                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
1580                         capabilities properties
1581
1582         * system-settings/plugins/ifcfg-fedora/shvar.c
1583                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
1584                         writes out /etc/sysconfig/network now
1585
1586         * system-settings/plugins/ifcfg-fedora/plugin.c
1587                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
1588                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
1589                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
1590                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
1591                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
1592                         hostname get/set and capabilities get
1593
1594 2008-09-18  Dan Williams  <dcbw@redhat.com>
1595
1596         * libnm-util/nm-setting-wireless.c
1597                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
1598                         group ciphers if the wireless-security setting explicitly specified
1599                         them, effectively making the default be "all ciphers"  (idea from
1600                         Alexander Sack)
1601
1602 2008-09-15  Dan Williams  <dcbw@redhat.com>
1603
1604         Patch from Alexander Sack <asac@ubuntu.com>
1605
1606         * src/named-manager/nm-named-manager.c
1607                 - (dispatch_resolvconf): respect resolvconf exit code
1608
1609 2008-09-12  Tambet Ingo  <tambet@gmail.com>
1610
1611         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
1612         again. Add some debugging.
1613
1614 2008-09-11  Dan Williams  <dcbw@redhat.com>
1615
1616         * system-settings/plugins/keyfile/plugin.c
1617                 - (update_connection_settings): update connection manually, since
1618                         nm_exported_connection_update() does authentication
1619                 - (dir_changed): update_connection_settings() doesn't need to return
1620                         an error
1621
1622 2008-09-09  Dan Williams  <dcbw@redhat.com>
1623
1624         * libnm-glib/nm-vpn-plugin-ui-interface.c
1625           libnm-glib/nm-vpn-plugin-ui-interface.h
1626           libnm-glib/libnm_glib_vpn.ver
1627                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
1628                         should clean up resources related to the connection (like keyring
1629                         secrets)
1630                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
1631                         should save user-scope secrets (like to the keyring)
1632
1633 2008-09-08  Dan Williams  <dcbw@redhat.com>
1634
1635         Patch from Alexander Sack <asac@ubuntu.com>
1636
1637         * libnm-util/crypto_gnutls.c
1638           libnm-util/crypto_nss.c
1639                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
1640
1641         * libnm-util/nm-utils.c
1642           libnm-util/nm-utils.h
1643           libnm-util/libnm-util.ver
1644                 - (nm_utils_init): initialize libnm-util
1645                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
1646
1647         * libnm-util/nm-setting-8021x.c
1648                 - (nm_setting_802_1x_class_init): init libnm-util when needed
1649
1650 2008-09-05  Dan Williams  <dcbw@redhat.com>
1651
1652         Patch from Roy Marples <roy@marples.name> and others
1653
1654         * configure.in
1655           src/named-manager/nm-named-manager.c
1656                 - Add support for resolvconf; use --with-resolvconf at configure time
1657                         to enable it
1658
1659 2008-09-05  Dan Williams  <dcbw@redhat.com>
1660
1661         * libnm-util/crypto_nss.c
1662           libnm-util/crypto_gnutls.c
1663           libnm-util/crypto.h
1664                 - (crypto_init): return error when init fails
1665
1666 2008-09-05  Dan Williams  <dcbw@redhat.com>
1667
1668         * libnm-glib/nm-device-wifi.c
1669                 - (access_point_removed_proxy): clean up the active access point too
1670                         just in case the active ap changed signal didn't come through yet
1671                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
1672
1673 2008-09-05  Dan Williams  <dcbw@redhat.com>
1674
1675         * libnm-glib/nm-client.c
1676                 - (constructor): get initial state after we know whether NM is running
1677                         or not
1678
1679 2008-09-05  Dan Williams  <dcbw@redhat.com>
1680
1681         * libnm-glib/nm-ip4-config.c
1682           libnm-glib/nm-dhcp4-config.c
1683                 - (finalize): clean up the DBusGProxy
1684
1685 2008-09-04  Dan Williams  <dcbw@redhat.com>
1686
1687         * src/nm-ip4-config.c
1688           src/nm-ip4-config.h
1689                 - (nm_ip4_config_new): don't export over D-Bus here
1690                 - (nm_ip4_config_export): new function; export the config over D-Bus
1691                 - (nm_ip4_config_is_exported): new function
1692
1693         * src/nm-device.c
1694                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
1695                         objects by balancing the IP4Config constructor; the device holds
1696                         a reference to the IP4Config already
1697                 - (nm_device_set_ip4_config): export the IP4Config when needed
1698
1699 2008-09-04  Dan Williams  <dcbw@redhat.com>
1700
1701         * src/supplicant-manager/nm-supplicant-settings-verify.c
1702                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
1703
1704 2008-09-04  Dan Williams  <dcbw@redhat.com>
1705
1706         * libnm-util/nm-setting-vpn.c
1707           libnm-util/nm-setting-vpn.h
1708                 - Split VPN secrets from VPN data so that settings services can actually
1709                         figure out that they are secrets and store them accordingly
1710
1711         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1712           system-settings/plugins/keyfile/reader.c
1713           system-settings/plugins/keyfile/reader.h
1714           system-settings/plugins/keyfile/writer.c
1715                 - Store VPN secrets separately from VPN data so that they can be fetched
1716                         on demand
1717                 - Implement the get_secrets() call so that (a) secrets don't leak out
1718                         to unprivileged callers, and (b) secrets can be sent to privileged
1719                         callers when needed
1720
1721         * vpn-daemons/vpnc/src/nm-vpnc-service.c
1722                 - Handle split VPN secrets
1723
1724 2008-08-27  Dan Williams  <dcbw@redhat.com>
1725
1726         * system-settings/plugins/ifcfg-fedora/reader.c
1727                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
1728
1729 2008-08-27  Dan Williams  <dcbw@redhat.com>
1730
1731         Ensure zombie children get cleaned up.  To get notifications when children
1732         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
1733         that requires calling waitpid() yourself if you've removed the child watch
1734         handler before the process has actually died, which NM needs to do in a few
1735         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
1736         cleans up after the child when required.  Should fix problems trying to
1737         activate mobile broadband connections after a previous failure.
1738
1739         * src/dhcp-manager/nm-dhcp-dhclient.c
1740           src/dhcp-manager/nm-dhcp-dhcpcd.c
1741                 - Use G_SPAWN_DO_NOT_REAP_CHILD
1742
1743         * src/dhcp-manager/nm-dhcp-manager.c
1744                 - (nm_dhcp_device_destroy): ensure child is cleaned up
1745                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
1746                         block on child quitting, since the non-blocking functionality was
1747                         never actually used
1748
1749         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1750                 - (dm_watch_cb): child is already reaped here
1751                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
1752
1753         * src/nm-device.c
1754                 - (aipd_cleanup): block until child is dead
1755
1756         * src/named-manager/nm-named-manager.c
1757                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
1758                         event bothering to watch the child
1759
1760         * src/ppp-manager/nm-ppp-manager.c
1761                 - (ppp_watch_cb): child is already reaped here
1762                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
1763
1764         * src/vpn-manager/nm-vpn-service.c
1765                 - (vpn_service_watch_cb): child is already reaped here
1766                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
1767                         status of the child is actually tracked
1768                 - (ensure_killed, finalize): block until child is dead
1769
1770 2008-08-26  Dan Williams  <dcbw@redhat.com>
1771
1772         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1773                 - (update): Update filename of the connection if the connection id
1774                         was changed
1775
1776         * system-settings/plugins/keyfile/plugin.c
1777                 - (dir_changed): first pass at handling connection renames correctly
1778
1779         * system-settings/plugins/keyfile/writer.c
1780           system-settings/plugins/keyfile/writer.h
1781                 - (write_connection): replace '/' with '*' when writing out the filename
1782                         from the connection id
1783
1784 2008-08-26  Dan Williams  <dcbw@redhat.com>
1785
1786         Add connection UUIDs, since connection names can be changed, and since
1787         old-style connection IDs could change over the life of the connection.  The
1788         UUID should be assigned at connection creation time, be stable for a given
1789         connection, and should be unique among all connections for a given settings
1790         service.
1791
1792         * configure.in
1793           libnm-util/Makefile.am
1794                 - Require libuuid
1795
1796         * introspection/nm-exported-connection.xml
1797                 - Remove "GetID" method
1798
1799         * libnm-glib/nm-dbus-connection.c
1800           libnm-glib/nm-settings.c
1801           libnm-glib/nm-settings.h
1802                 - Remove id-related stuff
1803
1804         * libnm-util/nm-utils.c
1805           libnm-util/nm-utils.h
1806           libnm-util/libnm-util.ver
1807                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
1808                         utility functions to generate UUIDs
1809
1810         * libnm-util/nm-setting-connection.c
1811           libnm-util/nm-setting-connection.h
1812                 - Add 'uuid' member to the connection setting
1813                 - (verify): require valid 'uuid' for a valid connection
1814
1815         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
1816           system-settings/plugins/ifcfg-fedora/reader.c
1817           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
1818           system-settings/plugins/ifcfg-suse/parser.c
1819           system-settings/plugins/keyfile/nm-keyfile-connection.c
1820           system-settings/src/main.c
1821                 - Remove id-related stuff
1822                 - Give connections UUIDs where needed
1823
1824 2008-08-25  Dan Williams  <dcbw@redhat.com>
1825
1826         * libnm-util/crypto_gnutls.c
1827           libnm-util/crypto_nss.c
1828                 - (crypto_init, crypto_deinit): refcount init/deinit
1829                 - (crypto_md5_hash): allow NULL salt
1830
1831 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
1832
1833         * libnm-glib/Makefile.am
1834           libnm-util/Makefile.am
1835           libnm-glib/libnm_glib.ver
1836           libnm-glib/libnm_glib_vpn.ver
1837           libnm-util/libnm-util.ver
1838                 - Use linker version scripts to control the list of exported 
1839                 symbols. List each exported symbol explicitely.
1840         * libnm-util/Makefile.am
1841                 - Fix compilation of the test-crypto binary. The crypto
1842                 functions are no longer part of the libnm-util API. Add 
1843                 crypto_*.c to test_crypto_SOURCES and link against the correct
1844                 crypto libraries.
1845
1846 2008-08-19  Dan Williams  <dcbw@redhat.com>
1847
1848         * configure.in
1849           test/Makefile.am
1850                 - Don't build test/test-common
1851                 - Remove unused stuff
1852
1853         * test/nm-set-fallback
1854           test/nmtestdevices.c
1855           test/test-common/.cvsignore
1856           test/test-common/Makefile.am
1857           test/test-common/test-common.c
1858           test/test-common/test-common.h
1859                 - delete
1860
1861 2008-08-18  Dan Williams  <dcbw@redhat.com>
1862
1863         * libnm-util/nm-utils.c
1864           libnm-util/nm-utils.h
1865                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1866                         export anything that needs to be converted with this function
1867
1868         * src/dhcp-manager/nm-dhcp-manager.c
1869                 - (garray_to_string): convert a byte array to a UTF-8 string with
1870                         minimal validation; the DHCP client sends it in ASCII anyway
1871                 - (get_option, copy_option): use garray_to_string()
1872
1873 2008-08-18  Dan Williams  <dcbw@redhat.com>
1874
1875         * include/NetworkManager.h
1876           introspection/nm-device.xml
1877                 - Add a "missing firmware" device state reason
1878
1879         * src/NetworkManagerSystem.c
1880           src/NetworkManagerSystem.h
1881                 - (nm_system_device_set_up_down): add a no_firmware argument
1882                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1883                         IFF_UP is ENOENT, that almost always means missing firmware
1884
1885         * src/backends/NetworkManagerGeneric.c
1886           src/nm-device-ethernet.c
1887           src/nm-device-private.h
1888           src/nm-device-wifi.c
1889           src/nm-device.c
1890           src/nm-device.h
1891           src/nm-hso-gsm-device.c
1892           src/vpn-manager/nm-vpn-connection.c
1893                 - Pass no_firmware along; check it where appropriate
1894
1895 2008-08-18  Dan Williams  <dcbw@redhat.com>
1896
1897         Patch from Robert Buchholz <rbu@gentoo.org>
1898
1899         * autogen.sh
1900           configure.in
1901                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1902                         1003.1-1988, allowing for file names longer than 99 characters
1903
1904 2008-08-17  Dan Williams  <dcbw@redhat.com>
1905
1906         * include/NetworkManager.h
1907           introspection/nm-device.xml
1908           src/nm-gsm-device.c
1909                 - Finer-grained GSM registration failure error codes
1910
1911 2008-08-17  Dan Williams  <dcbw@redhat.com>
1912
1913         * callouts/Makefile.am
1914           src/Makefile.am
1915                 - Move dispatcher directory creation to callouts/Makefile.am
1916
1917         * system-settings/plugins/keyfile/Makefile.am
1918                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1919
1920 2008-08-15  Dan Williams  <dcbw@redhat.com>
1921
1922         Do connection sharing in a cleaner manner; all required iptables rules
1923         are now stored in the activation request and pertain only to the device
1924         which is being shared to other computers. (rh #458625)
1925
1926         * src/nm-activation-request.c
1927           src/nm-activation-request.h
1928                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1929                         the activation request which will get torn down automatically when
1930                         the activation request dies
1931                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1932                         is started, and tear them down when sharing is stopped
1933
1934         * src/nm-device.c
1935                 - (start_sharing): start up sharing by doing the required iptables magic
1936                 - (share_init): poke the right bits of the kernel and load the right
1937                         modules for NAT
1938                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1939                         connection if it's a 'shared' connection
1940
1941         * src/NetworkManagerPolicy.c
1942                 - Remove all sharing stuff; done in the device code itself
1943
1944 2008-08-15  Dan Williams  <dcbw@redhat.com>
1945
1946         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1947                 - (create_dm_cmd_line): send the right router address
1948
1949 2008-08-15  Dan Williams  <dcbw@redhat.com>
1950
1951         * src/ppp-manager/nm-ppp-manager.c
1952                 - (pppd_timed_out): ensure timeouts fail the connection
1953
1954 2008-08-14  Dan Williams  <dcbw@redhat.com>
1955
1956         * src/nm-properties-changed-signal.c
1957           src/nm-properties-changed-signal.h
1958                 - Add a property spec flag for "don't export this property" in
1959                         property changed signals
1960
1961         * src/nm-hso-gsm-device.c
1962           src/nm-gsm-device.c
1963           src/nm-cdma-device.c
1964                 - Don't export monitor interface or netdev interface properties
1965
1966 2008-08-14  Dan Williams  <dcbw@redhat.com>
1967
1968         * src/NetworkManagerPolicy.c
1969                 - (update_routing_and_dns): 'hso' devices can be default even if they
1970                         don't have a gateway
1971
1972 2008-08-14  Dan Williams  <dcbw@redhat.com>
1973
1974         * src/nm-device.c
1975                 - (nm_device_deactivate_quickly): tear down activation request after
1976                         calling device-specific deactivation
1977
1978         * src/nm-hso-gsm-device.c
1979                 - (real_deactivate_quickly): terminate connection when deactivating
1980
1981 2008-08-14  Dan Williams  <dcbw@redhat.com>
1982
1983         * src/nm-activation-request.h
1984                 - Add HSO secrets caller
1985
1986         * src/nm-gsm-device.c
1987           src/nm-gsm-device.h
1988                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1989                         something to the callback function
1990                 - (set_apn, set_apn_done): call class dial function, not a static one
1991                 - (nm_gsm_device_class_init): add a class 'dial' function
1992
1993         * src/nm-hal-manager.c
1994                 - (get_hso_netdev): find the hso-driven hardware's net device
1995                 - (modem_device_creator): recognize hso-driven hardware and create the
1996                         right type of device object for it
1997
1998         * src/Makefile.am
1999           src/nm-hso-gsm-device.c
2000           src/nm-hso-gsm-device.h
2001                 - Implement support for devices driven by the 'hso' driver as a subclass
2002                         of NMGsmDevice
2003
2004 2008-08-14  Dan Williams  <dcbw@redhat.com>
2005
2006         * src/NetworkManagerSystem.c
2007                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
2008                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
2009                         success if the operation really was successful
2010
2011 2008-08-14  Dan Williams  <dcbw@redhat.com>
2012
2013         * src/nm-netlink-monitor.c
2014           src/nm-netlink-monitor.h
2015           src/nm-device-ethernet.c
2016                 - (nm_netlink_monitor_request_status): return an error on failure
2017                 - (constructor): don't segfault on missing error
2018
2019 2008-08-13  Dan Williams  <dcbw@redhat.com>
2020
2021         * callouts/nm-dispatcher-action.c
2022                 - Add IP4 config info to script environment
2023
2024 2008-08-12  Dan Williams  <dcbw@redhat.com>
2025
2026         * src/nm-device.c
2027                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
2028                         that want to use DHCP hostnames should use dispatcher scripts
2029                         for that
2030
2031         * src/NetworkManagerSystem.h
2032           src/backends/NetworkManagerArch.c
2033           src/backends/NetworkManagerDebian.c
2034           src/backends/NetworkManagerFrugalware.c
2035           src/backends/NetworkManagerGeneric.c
2036           src/backends/NetworkManagerGeneric.h
2037           src/backends/NetworkManagerGentoo.c
2038           src/backends/NetworkManagerMandriva.c
2039           src/backends/NetworkManagerPaldo.c
2040           src/backends/NetworkManagerRedHat.c
2041           src/backends/NetworkManagerSlackware.c
2042           src/backends/NetworkManagerSuSE.c
2043                 - Remove nm_system_set_hostname(), no longer used
2044           
2045         * src/backends/Makefile.am
2046           src/backends/shvar.c
2047           src/backends/shvar.h
2048                 - Remove shvar.*; no longer used
2049
2050 2008-08-12  Dan Williams  <dcbw@redhat.com>
2051
2052         Revert most of the 'hostname' patch.  Too much stuff still breaks when
2053         hostname is updated at runtime.  Distros or users who want hostname updates
2054         can use dispatcher scripts to update the hostname if they need it.
2055
2056 2008-08-12  Dan Williams  <dcbw@redhat.com>
2057
2058         * introspection/nm-settings-system.xml
2059           system-settings/src/dbus-settings.c
2060           system-settings/src/dbus-settings.h
2061                 - Add a 'Hostname' property (rw) which represents the configured
2062                         hostname and domain of the system, if any
2063
2064         * system-settings/src/nm-system-config-error.c
2065           system-settings/src/nm-system-config-error.h
2066           system-settings/src/nm-system-config-interface.c
2067           system-settings/src/nm-system-config-interface.h
2068                 - Add a 'hostname' property to the plugin interface
2069                 - Add a method to send updated hostname to plugins to save in their
2070                         backing configuration store
2071
2072         * system-settings/plugins/keyfile/nm-keyfile-connection.c
2073           system-settings/plugins/keyfile/plugin.c
2074           system-settings/plugins/keyfile/writer.c
2075           system-settings/plugins/keyfile/writer.h
2076           system-settings/plugins/ifcfg-suse/plugin.c
2077                 - Add minimal hostname support
2078
2079         * system-settings/plugins/ifcfg-fedora/plugin.c
2080                 - Add support for updating system hostname in /etc/sysconfig/network
2081
2082 2008-08-12  Dan Williams  <dcbw@redhat.com>
2083
2084         * system-settings/plugins/ifcfg-fedora/shvar.c
2085           system-settings/plugins/ifcfg-fedora/shvar.c
2086                 - Fix double-free caused by svSetValue() followed by svCloseFile()
2087
2088 2008-08-12  Tambet Ingo  <tambet@gmail.com>
2089
2090         * Makefile.am: Fix distcheck.
2091
2092 2008-08-12  Tambet Ingo  <tambet@gmail.com>
2093
2094         * libnm-glib/*.c. Document some more.
2095
2096 2008-08-12  Tambet Ingo  <tambet@gmail.com>
2097
2098         Start documenting libnm-glib public API using gtk-doc.
2099
2100         * libnm-glib/nm-serial-device.c: 
2101         * libnm-glib/nm-object.c: 
2102         * libnm-glib/nm-gsm-device.c: 
2103         * libnm-glib/nm-device.c: 
2104         * libnm-glib/nm-device-wifi.c: 
2105         * libnm-glib/nm-device-ethernet.c: 
2106         * libnm-glib/nm-client.c: 
2107         * libnm-glib/nm-cdma-device.c: Document the public API.
2108
2109         * docs/libnm-glib/libnm-glib.types: Implement.
2110
2111         * docs/libnm-glib/Makefile.am: Implement.
2112
2113         * autogen.sh: 
2114         * configure.in: 
2115         * Makefile.am: Add gtk-doc support.
2116
2117 2008-08-12  Tambet Ingo  <tambet@gmail.com>
2118
2119         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
2120
2121         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
2122         the composite result of all the IP4 configurations and call a distro
2123         specific update_resolv_conf().
2124         (update_resolv_conf): Implement one for directly writing to 
2125         /etc/resolv.conf and one for opensuse to call netconfig.
2126
2127 2008-08-11  Dan Williams  <dcbw@redhat.com>
2128
2129         * src/ppp-manager/nm-ppp-manager.c
2130                 - (impl_ppp_manager_need_secrets): pass interface as required
2131
2132 2008-08-11  Dan Williams  <dcbw@redhat.com>
2133
2134         Merge the vpn-properties setting with the vpn setting since it was pointless
2135         to keep both of them around.  Convert the vpn 'data' hash table to a hash
2136         of string:string (instead of string:variant) so that system settings plugins
2137         can have an easier time dealing with the arbitrary key/value pairs.
2138
2139 2008-08-11  Dan Williams  <dcbw@redhat.com>
2140
2141         * libnm-util/nm-utils.c
2142                 - (nm_utils_register_value_transformations): add value transform for
2143                         a hash table of string:string
2144
2145 2008-08-10  Dan Williams  <dcbw@redhat.com>
2146
2147         * libnm-glib/nm-vpn-plugin.c
2148                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
2149                         an idle handler so the Connect reply gets delivered before the
2150                         stop StateChanged signal
2151
2152 2008-08-10  Dan Williams  <dcbw@redhat.com>
2153
2154         * src/nm-ip4-config.c
2155                 - (get_property): use common ip4 address/route conversion functions
2156                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
2157                         copy the new route here, not take ownership
2158
2159 2008-08-08  Tambet Ingo  <tambet@gmail.com>
2160
2161         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
2162         Update the IP4 setting's method name.
2163
2164 2008-08-07  Dan Williams  <dcbw@redhat.com>
2165
2166         * introspection/nm-ip4-config.xml
2167           libnm-glib/libnm-glib-test.c
2168           libnm-glib/nm-ip4-config.c
2169           libnm-glib/nm-ip4-config.h
2170           src/NetworkManagerSystem.h
2171           src/backends/NetworkManagerArch.c
2172           src/backends/NetworkManagerDebian.c
2173           src/backends/NetworkManagerFrugalware.c
2174           src/backends/NetworkManagerGeneric.c
2175           src/backends/NetworkManagerGeneric.h
2176           src/backends/NetworkManagerGentoo.c
2177           src/backends/NetworkManagerMandriva.c
2178           src/backends/NetworkManagerPaldo.c
2179           src/backends/NetworkManagerRedHat.c
2180           src/backends/NetworkManagerSlackware.c
2181           src/backends/NetworkManagerSuSE.c
2182           src/dhcp-manager/nm-dhcp-manager.c
2183           src/nm-device.c
2184           src/nm-ip4-config.c
2185           src/nm-ip4-config.h
2186                 - Remove NIS logic; should be done from dispatcher scripts instead
2187
2188 2008-08-07  Dan Williams  <dcbw@redhat.com>
2189
2190         * src/dhcp-manager/nm-dhcp-manager.c
2191                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
2192                         mis-handling of DHCP responses that returned more than one router
2193                         (found by Grant Williamson)
2194
2195 2008-08-07  Dan Williams  <dcbw@redhat.com>
2196
2197         * callouts/nm-dispatcher-action.c
2198                 - (nm_dispatcher_action): grab device path and create the device; pass
2199                         the device's DHCP4 config to script caller
2200                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
2201                         scripts
2202
2203         * libnm-glib/nm-dhcp4-config.c
2204           libnm-glib/nm-dhcp4-config.h
2205                 - (nm_dhcp4_config_get_options): expose
2206                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
2207
2208 2008-08-07  Dan Williams  <dcbw@redhat.com>
2209
2210         * include/NetworkManager.h
2211                 - Add the DHCP4Config D-Bus interface
2212
2213         * libnm-glib/Makefile.am
2214           libnm-glib/nm-dhcp4-config.c
2215           libnm-glib/nm-dhcp4-config.h
2216                 - Handle DHCP4 config objects exported by NM over D-Bus
2217
2218         * libnm-glib/nm-device.c
2219           libnm-glib/nm-device.h
2220                 - Add a 'dhcp4-config' property
2221
2222         * libnm-glib/libnm-glib-test.c
2223                 - Print out DHCP4 config for devices
2224                 - Fix some crashes when no connections are active
2225
2226         * src/nm-device-interface.c
2227           src/nm-device.c
2228           src/nm-dhcp4-config.c
2229           src/nm-dhcp4-config.h
2230                 - Treat dhcp4-config object as an object path at the D-Bus interface so
2231                         that when it doesn't exist we can proxy it as "/" which dbus-glib
2232                         doesn't let us do when the property type is G_TYPE_OBJECT
2233
2234 2008-08-07  Dan Williams  <dcbw@redhat.com>
2235
2236         * src/NetworkManager.c
2237           src/NetworkManagerSystem.h
2238           src/backends/NetworkManagerArch.c
2239           src/backends/NetworkManagerDebian.c
2240           src/backends/NetworkManagerFrugalware.c
2241           src/backends/NetworkManagerGeneric.c
2242           src/backends/NetworkManagerGeneric.h
2243           src/backends/NetworkManagerGentoo.c
2244           src/backends/NetworkManagerMandriva.c
2245           src/backends/NetworkManagerPaldo.c
2246           src/backends/NetworkManagerRedHat.c
2247           src/backends/NetworkManagerSlackware.c
2248           src/backends/NetworkManagerSuSE.c
2249                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
2250
2251 2008-08-06  Dan Williams  <dcbw@redhat.com>
2252
2253         * libnm-glib/nm-ip4-config.c
2254           libnm-glib/nm-ip4-config.h
2255                 - Add 'routes' property
2256
2257         * libnm-util/nm-setting-vpn.c
2258           libnm-util/nm-setting-vpn.h
2259                 - Remove 'routes' property
2260
2261         * libnm-util/nm-setting-ip4-config.c
2262           libnm-util/nm-setting-ip4-config.h
2263                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
2264                 - Add 'ignore-auto-routes' property
2265                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
2266                         accomodate route metrics
2267                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
2268
2269         * libnm-util/nm-utils.c
2270           libnm-util/nm-utils.h
2271                 - Add helpers for marshalling IP4 routes
2272
2273         * src/NetworkManagerUtils.c
2274                 - (nm_utils_merge_ip4_config): handle property renames and new route
2275                         structure
2276
2277         * src/NetworkManagerSystem.c
2278                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
2279                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
2280
2281         * src/dhcp-manager/nm-dhcp-manager.c
2282                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
2283
2284         * system-settings/plugins/ifcfg-fedora/reader.c
2285           system-settings/plugins/ifcfg-fedora/writer.c
2286                 - Handle routes separately from addresses now that routes have a different
2287                         format
2288
2289         * introspection/nm-ip4-config.xml
2290           src/nm-ip4-config.c
2291           src/nm-ip4-config.h
2292                 - Rename internal routing functions
2293                 - 'static-routes' renamed to 'routes'
2294
2295 2008-08-04  Dan Williams  <dcbw@redhat.com>
2296
2297         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
2298
2299         * src/NetworkManager.c
2300           src/nm-manager.c
2301           src/nm-manager.h
2302                 - More explicitly make the NMManager a singleton
2303
2304 2008-08-04  Dan Williams  <dcbw@redhat.com>
2305
2306         * libnm-util/nm-connection.c
2307           libnm-util/nm-connection.h
2308                 - (nm_connection_verify): return error on missing 'connection' setting
2309                         (found by Sjoerd Simons)
2310
2311 2008-08-04  Dan Williams  <dcbw@redhat.com>
2312
2313         Handle multiple concurrent PPP connections.
2314
2315         * src/ppp-manager/nm-ppp-manager.c
2316           src/ppp-manager/nm-ppp-manager.h
2317                 - (constructor): only PPP Manager request bus name once; each
2318                         NMPPPManager object gets a unique object path
2319                 - (nm_ppp_manager_class_init, get_property, set_property,
2320                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
2321                         at construct time
2322                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
2323                         remove timeout until PPP manager gets an IP4 config
2324                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
2325                         the plugin can call back to this specific PPP manager instance
2326
2327         * src/nm-device-ethernet.c
2328           src/nm-serial-device.c
2329                 - Pass parent device in nm_ppp_manager_new()
2330
2331         * src/nm-gsm-device.c
2332           src/nm-cdma-device.c
2333                 - (device_state_changed): don't close serial device on NEED_AUTH
2334                         state changed, that's not a failure case like the rest are
2335
2336         * src/ppp-manager/nm-pppd-plugin.c
2337                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
2338                         binds one interface to any pppd process, thus the correct index
2339                         is always 0; send PHASE_DEAD on error to alert NM immediately of
2340                         problems; try harder to get a peer address in spite of pppd
2341                 - (plugin_init): use 'ipparam' as the object path back to our specific
2342                         PPP manager instance
2343
2344 2008-08-04  Dan Williams  <dcbw@redhat.com>
2345
2346         * src/ppp-manager/nm-ppp-manager.c
2347                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
2348                         since the GSM and CDMA settings now implement need_secrets, we can
2349                         rely on them to do the right thing.  Where secrets are not required,
2350                         just pass empty strings back to the pppd plugin.
2351                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
2352                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
2353                         on successful IP4 config receipt
2354
2355 2008-08-04  Dan Williams  <dcbw@redhat.com>
2356
2357         * libnm-util/nm-setting-cdma.c
2358           libnm-util/nm-setting-gsm.c
2359                 - (verify): validate username & password if they exist
2360                 - (need_secrets): if username given, require a password too
2361
2362 2008-08-04  Dan Williams  <dcbw@redhat.com>
2363
2364         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2365                 - (create_dm_cmd_line): really don't listen on lo, despite what the
2366                         manpage says about --listen-address without --interface
2367                         (bgo #546033)
2368
2369 2008-08-01  Dan Williams  <dcbw@redhat.com>
2370
2371         * libnm-glib/nm-device.c
2372                 - (proxy_get_string): util function for querying a HAL property
2373                 - (get_ancestor_device): split out from get_product_and_vendor()
2374                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
2375                         from PCI devices by querying subsys properties
2376                 - (nm_device_update_description): simplify
2377
2378 2008-08-01  Dan Williams  <dcbw@redhat.com>
2379
2380         * libnm-util/nm-setting-ip4-config.c
2381           libnm-util/nm-setting-ip4-config.h
2382                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
2383                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
2384                         settings, and they don't necessarily use DHCP.
2385
2386         * src/NetworkManagerPolicy.c
2387           src/nm-device.c
2388           system-settings/plugins/ifcfg-fedora/reader.c
2389           system-settings/plugins/ifcfg-suse/parser.c
2390                 - Fixup for method changes
2391
2392 2008-07-31  Dan Williams  <dcbw@redhat.com>
2393
2394         * src/nm-activation-request.c
2395           src/vpn-manager/nm-vpn-connection.c
2396                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
2397                         itself should be attached to the activation request or the VPN
2398                         connection, not the NMConnection object, since the call is not
2399                         expected to live as long as the NMConnection itself
2400
2401 2008-07-31  Dan Williams  <dcbw@redhat.com>
2402
2403         * src/nm-device-wifi.c
2404                 - (real_act_stage2_config): fix issue where association would continue
2405                         even though secrets were needed; 'goto out' was in wrong scope and
2406                         result of handle_auth_or_fail() should have been dumped directly to
2407                         'ret' to ensure that the association was postponed until secrets
2408                         are available
2409
2410 2008-07-31  Dan Williams  <dcbw@redhat.com>
2411
2412         * system-settings/plugins/ifcfg-fedora/plugin.c
2413           system-settings/plugins/ifcfg-fedora/reader.c
2414                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
2415                         valid NM connection
2416
2417 2008-07-29  Dan Williams  <dcbw@redhat.com>
2418
2419         * src/nm-gsm-device.c
2420                 - (automatic_registration_response, automatic_registration): recognize
2421                         denied registration and reorder responses
2422
2423 2008-07-29  Dan Williams  <dcbw@redhat.com>
2424
2425         * src/nm-serial-device.c
2426                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
2427                         time(2) is used for current time, which returns seconds, we shouldn't
2428                         be multiplying by 1000.
2429
2430 2008-07-28  Dan Williams  <dcbw@redhat.com>
2431
2432         Patch from Fabrice Bellet <fabrice@bellet.info>
2433
2434         * src/NetworkManagerSystem.c
2435                 - (route_in_same_subnet): mask addresses and compare them so that the
2436                         function actually does what it says it's going to do (rh #456685)
2437
2438 2008-07-27  Dan Williams  <dcbw@redhat.com>
2439
2440         * libnm-util/nm-setting-ip6-config.c
2441                 - (set_property): add missing break that caused routes to be overwritten
2442                         with addresses
2443
2444         * libnm-util/nm-setting-ip6-config.c
2445                 - (verify): validate routes and return GError everywhere on invalid setting
2446                 - (finalize): don't leak routes
2447                 - (set_property): add missing break that caused routes to be overwritten
2448                         with addresses
2449
2450 2008-07-27  Dan Williams  <dcbw@redhat.com>
2451
2452         * libnm-util/*
2453                 - Relicense to LGPLv2+
2454
2455 2008-07-27  Dan Williams  <dcbw@redhat.com>
2456
2457         * system-settings/plugins/ifcfg-fedora/reader.c
2458                 - (make_ip4_setting): fix parsing automatic configs
2459
2460 2008-07-27  Dan Williams  <dcbw@redhat.com>
2461
2462         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2463           src/nm-device.c
2464           src/ppp-manager/nm-ppp-manager.c
2465                 - Ensure child process gets reaped.  The child watch function may be
2466                         removed from the mainloop before the child gets killed, so we have
2467                         to make sure the child is reaped when it's told to die intentionally
2468
2469 2008-07-27  Dan Williams  <dcbw@redhat.com>
2470
2471         Patch from Roy Marples <roy@marples.name>
2472
2473         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2474                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
2475
2476 2008-07-27  Dan Williams  <dcbw@redhat.com>
2477
2478         * src/nm-gsm-device.c
2479                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
2480                         Huawei devices turn echo back on after CPIN (rh #456770)
2481
2482 2008-07-24  Tambet Ingo  <tambet@gmail.com>
2483
2484         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
2485         format argument to g_set_error() call.
2486
2487         * src/backends/interface_parser.[ch]: Remove.
2488
2489         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
2490
2491 2008-07-21  Dan Williams  <dcbw@redhat.com>
2492
2493         * src/ppp-manager/nm-ppp-manager.c
2494                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
2495                         to prevent pppd from picking up some random local address from an
2496                         interface that doesn't have anything to do with the one we're
2497                         interested in (rh #455348)
2498
2499 2008-07-17  Dan Williams  <dcbw@redhat.com>
2500
2501         * libnm-util/nm-utils.c
2502                 - (string_to_utf8): general function for conversion to UTF-8 assisted
2503                         by locale
2504                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
2505                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
2506
2507 2008-07-17  Dan Williams  <dcbw@redhat.com>
2508
2509         * introspection/Makefile.am
2510           introspection/nm-device.xml
2511           introspection/nm-dhcp4-config.xml
2512                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
2513                         itself
2514         * src/nm-device-interface.c
2515           src/nm-device-interface.h
2516                 - Add the DHCP4Config property
2517
2518         * src/nm-device.c
2519                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
2520                         D-Bus clients when it changes
2521
2522         * src/nm-dhcp4-config.c
2523           src/nm-dhcp4-config.h
2524                 - Simple object to store DHCP4 options, export them over D-Bus, and
2525                         notify when they change
2526
2527         * src/dhcp-manager/nm-dhcp-manager.c
2528           src/dhcp-manager/nm-dhcp-manager.h
2529                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
2530                         filter server-returned DHCP options into an NMDHCP4Config object
2531
2532 2008-07-16  Dan Williams  <dcbw@redhat.com>
2533
2534         * introspection/nm-device.xml
2535                 - Add device state reasons
2536
2537 2008-07-16  Dan Williams  <dcbw@redhat.com>
2538
2539         Patch from Roy Marples <roy@marples.name>
2540
2541         * configure.in
2542                 - Add --with-dhcp-client option
2543
2544         * src/dhcp-manager/Makefile.am
2545                 - pass DHCP_CLIENT_PATH on compile line
2546
2547         * src/dhcp-manager/nm-dhcp-manager.c
2548           src/dhcp-manager/nm-dhcp-manager.h
2549                 - Genericize for both dhcpcd and dhclient
2550
2551         * src/dhcp-manager/nm-dhcp-dhclient.c
2552                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
2553
2554         * src/dhcp-manager/nm-dhcp-dhcpcd.c
2555                 - Implement support for dhcpcd too
2556
2557 2008-07-16  Tambet Ingo  <tambet@gmail.com>
2558
2559         * system-settings/src/nm-system-config-interface.c 
2560         (nm_system_config_interface_supports_add): Implement.
2561         (nm_system_config_interface_add_connection): Return a boolean to notify
2562         of errors.
2563
2564         * system-settings/src/nm-polkit-helpers.c: 
2565         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
2566         a separate file.
2567
2568         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
2569         Return an error when none of the plugins support add or if addition
2570         failed for some reason.
2571
2572         * system-settings/src/nm-system-config-error.h: 
2573         * system-settings/src/nm-system-config-error.c: New files, mostly moved
2574         here from nm-polkit-helpers.[ch].
2575
2576         * system-settings/src/Makefile.am: Build new files.
2577
2578         * system-settings/plugins/keyfile/reader.c 
2579         (read_array_of_array_of_uint): Make it more general so that it would
2580         work for routes as well.
2581
2582         * system-settings/plugins/keyfile/writer.c
2583         (write_array_of_array_of_uint): Ditto.
2584         Fix the netmask/prefix writing.
2585
2586         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
2587         boolean to notify errors.
2588
2589         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
2590         Return more specific error.
2591         (delete): Ditto.
2592
2593 2008-07-11  Dan Williams  <dcbw@redhat.com>
2594
2595         Modify the NMDevice::state-changed signal to include the previous state
2596         and reason. Enables the applet to provide more information why device
2597         activation failed.
2598
2599 2008-07-09  Dan Williams  <dcbw@redhat.com>
2600
2601         * callouts/Makefile.am
2602           callouts/nm-avahi-autoipd-action.c
2603           callouts/nm-avahi-autoipd.conf
2604                 - avahi-autoipd callout to send options back to NM
2605
2606         * src/autoip.c
2607           src/autoip.h
2608                 - remove
2609
2610         * src/nm-device.c
2611           src/nm-device-private.h
2612           src/nm-manager.c
2613                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
2614                         old custom stuff
2615
2616 2008-07-07  Dan Williams  <dcbw@redhat.com>
2617
2618         * system-settings/plugins/ifcfg-fedora/reader.c
2619                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
2620                         handle PREFIX too; clean up
2621
2622 2008-07-07  Dan Williams  <dcbw@redhat.com>
2623
2624         Convert to using IPv4 prefixes instead of netmasks.
2625
2626 2008-07-03  Dan Williams  <dcbw@redhat.com>
2627
2628         * libnm-util/nm-setting-ip4-config.c
2629           libnm-util/nm-setting-ip4-config.h
2630                 - Add properties for DHCP Client Identifier and DHCP Hostname
2631
2632         * src/dhcp-manager/nm-dhcp-manager.c
2633           src/dhcp-manager/nm-dhcp-manager.h
2634                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
2635                         setting as an argument to pass on to the dhclient config file
2636                         creation function
2637                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
2638                         DHCP is torn down
2639                 - (dhclient_run): punt config file handling to create_dhclient_config()
2640                 - (create_dhclient_config): create an interface-specific dhclient
2641                         config file since there may need to be interface-specific options
2642                         passed to dhclient
2643                 - (merge_dhclient_config): merge normal distro dhclient config file and
2644                         add options from the connection
2645                 - (nm_dhcp_device_new): generate the interface specific dhclient
2646                         config file path once
2647                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
2648                         dhclient config file path
2649
2650         * src/nm-device.c
2651                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
2652                         DHCP manager when starting DHCP
2653
2654 2008-07-02  Dan Williams  <dcbw@redhat.com>
2655
2656         * libnm-util/nm-setting-8021x.c
2657                 - (verify): allow forcing the PEAP label to 0
2658
2659 2008-07-02  Dan Williams  <dcbw@redhat.com>
2660
2661         * introspection/nm-active-connection.xml
2662           introspection/nm-vpn-connection.xml
2663           libnm-glib/nm-active-connection.c
2664           src/nm-activation-request.c
2665           src/nm-active-connection.h
2666           src/vpn-manager/nm-vpn-connection.c
2667                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
2668                         and libnm-glib API since sharing didn't get implemented that way
2669
2670 2008-07-02  Dan Williams  <dcbw@redhat.com>
2671
2672         * src/nm-device-wifi.c
2673                 - (can_scan): don't scan when a shared connection is activated since
2674                         that makes drivers mad (causing disconnects); also NM doesn't need
2675                         to hedge against disconnects by keeping up-to-date network topology
2676                         because the connection originates from the local machine, and thus
2677                         there should be no disconnects
2678
2679 2008-07-01  Dan Williams  <dcbw@redhat.com>
2680
2681         Fix mobile broadband username/password issues.  NM was never requesting
2682         mobile broadband secrets, nor was it passing back the username and password
2683         if it had them.
2684
2685         * marshallers/nm-marshal.list
2686                 - Add some new types for activation request objects
2687
2688         * src/nm-activation-request.c
2689           src/nm-activation-request.h
2690                 - (get_secrets_cb): pass the caller type in the signal
2691                 - (nm_act_request_request_connection_secrets): take a caller type, so
2692                         that GetSecrets() reply handlers know who asked for the secrets in
2693                         the first place; use secret hints too so the settings service can
2694                         figure out exactly what NM wants (ie, PIN or the PPP password)
2695
2696         * src/ppp-manager/nm-ppp-manager.c
2697           src/ppp-manager/nm-ppp-manager.h
2698                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
2699                         detect needed secrets when the secret could be blank, like GSM/CDMA
2700                         passwords.  So always ask for secrets, and send a hint as to what
2701                         secret we really want.
2702                 - (nm_ppp_manager_update_secrets): make function more generic by making
2703                         the device specific class figure out the username and password, and
2704                         accept an error argument to return back over D-Bus
2705
2706         * src/nm-device-wifi.c
2707                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2708                         nm_act_request_request_connection_secrets()
2709                 - (real_connection_secrets_updated): update for 'caller' changes
2710
2711         * src/nm-device.c
2712           src/nm-device.h
2713                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
2714                         for 'caller' changes
2715
2716         * src/nm-device-ethernet.c
2717                 - (real_connection_secrets_updated): update for 'caller' changes and
2718                         move logic for getting PPPoE username and password here before
2719                         calling nm_ppp_manager_update_secrets()
2720                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
2721                         nm_act_request_request_connection_secrets()
2722
2723         * src/nm-cdma-device.c
2724                 - (real_connection_secrets_updated): pass username and password back
2725                         to the PPP manager when required
2726
2727         * src/nm-gsm-device.c
2728                 - (enter_pin): send the required secret name to the settings service
2729                 - (real_connection_secrets_updated): pass username and password back
2730                         to the PPP manager when required
2731
2732 2008-06-30  Dan Williams  <dcbw@redhat.com>
2733
2734         * src/nm-device-wifi.c
2735                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
2736
2737 2008-06-30  Dan Williams  <dcbw@redhat.com>
2738
2739         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
2740         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
2741         priv->supplicant.iface.  When either condition is false, the device should
2742         transition back to UNAVAILABLE because it cannot be used.
2743
2744         * src/nm-device-wifi.c
2745                 - (constructor): cleanup; connect to supplicant manager here since the
2746                         supplicant manager is always around
2747                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
2748                         ensure the supplicant manager is in the IDLE state
2749                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
2750                         cancel any pending scans too
2751                 - (real_bring_up): don't set up the supplicnat interface here, because
2752                         we need the supplicant interface at times when the device may not
2753                         be "up"
2754                 - (real_take_down): just remove the periodic source
2755                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
2756                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
2757                         do anything if there's no supplicant interface
2758                 - (cleanup_association_attempt): cleanup
2759                 - (supplicant_iface_state_cb_handler): request an immediate scan when
2760                         the interface enters the READY state; transition to UNAVAILABLE
2761                         state when the interface goes down because the device can't be used
2762                         without a supplicant interface
2763                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
2764                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
2765                         acquire the supplicant interface and transition to DISCONNECTED
2766                         if the radio isn't killed
2767                 - (nm_device_wifi_dispose): move most of device_cleanup() here
2768                 - (state_changed_cb): release any existing supplicant interface; if the
2769                         radio is enabled then try to acquire a new supplicant interface;
2770                         if the radio is enabled and a supplicant interface has been acquired,
2771                         we can transition to DISCONNECTED
2772                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
2773                         don't enable the radio, because HAL probably lied to us about the
2774                         killswitch being off.  If bringing the hardware up worked, then
2775                         try to grab a supplicant interface, and if that was successful,
2776                         transition to DISCONNECTED
2777
2778 2008-06-30  Dan Williams  <dcbw@redhat.com>
2779
2780         * src/supplicant-manager/nm-supplicant-interface.c
2781                 - (request_scan_results, nm_supplicant_interface_dispose,
2782                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
2783                         the id of the timeout, not a GSource
2784
2785 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2786
2787         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
2788         bunch of typoes introduced by "Patch from David Cantrell 
2789         <dcantrell@redhat.com> and me".
2790
2791 2008-06-30  Tambet Ingo  <tambet@gmail.com>
2792
2793         * src/nm-serial-device.c: 
2794         * src/nm-gsm-device.c: 
2795         * src/nm-cdma-device.c: Move the pending call handling to a common location
2796         in serial device. Handle setting device state to failed in one place as well.
2797
2798 2008-06-29  Dan Williams <dcbw@redhat.com>
2799
2800         * src/nm-hal-manager.c
2801                 - Rework killswitch handling to query killswitch status immediately
2802                         when the first killswitch is added, so that rfkill state is
2803                         known as early as possible
2804                 - Also treat failure of GetPower() as rfkill when the dbus method
2805                         call times out (but not when the HAL callout returns an error)
2806
2807 2008-06-26  Dan Williams <dcbw@redhat.com>
2808
2809         Patch from David Cantrell <dcantrell@redhat.com> and me
2810
2811         * include/nm-dbus-glib-types.h
2812                 - Add IP6 address types
2813
2814         * libnm-util/Makefile.am
2815           libnm-util/nm-setting-ip6-config.c
2816           libnm-util/nm-setting-ip6-config.h
2817                 - Add IP6 settings object
2818
2819         * libnm-util/nm-connection.c
2820                 - (register_default_settings): register ip6 settings object
2821
2822         * libnm-util/nm-utils.c
2823           libnm-util/nm-utils.h
2824                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
2825                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
2826                         ip6 address conversion functions
2827         
2828 2008-06-26  Dan Williams <dcbw@redhat.com>
2829
2830         Patch from David Cantrell <dcantrell@redhat.com>
2831         
2832         * Use inet_ntop() and inet_pton() everwhere and check for errors
2833
2834 2008-06-26  Dan Williams <dcbw@redhat.com>
2835
2836         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
2837
2838 2008-06-26  Dan Williams <dcbw@redhat.com>
2839
2840         Patch from Adel Gadllah <adel.gadllah@gmail.com>
2841
2842         * src/nm-device-wifi.c
2843                 - (link_timeout_cb): don't ignore disconnects due to scanning
2844                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2845                         a longer timeout when scanning; avoids case where supplicant can't
2846                         find the AP and just keeps scanning forever but isn't connected
2847
2848 2008-06-26  Dan Williams <dcbw@redhat.com>
2849
2850         Patch from Michael Biebl <biebl@debian.org>
2851
2852         * Clean up build system stuff
2853
2854 2008-06-23  Christian Persch  <chpe@gnome.org>
2855
2856         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2857         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2858         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2859         (impl_get_object):
2860         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2861         (impl_get_object):
2862         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2863         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2864         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2865         (impl_get_object):
2866         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2867         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2868         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2869         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2870         * vpn-daemons/pptp/properties/vpnui_opt.c:
2871         (vpnui_opt_connect_signals):
2872         * vpn-daemons/pptp/properties/vpnui_opt.h:
2873         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2874         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2875         deprecated gtk type macros. Bug #539325.
2876
2877 2008-06-20  Dan Williams  <dcbw@redhat.com>
2878
2879         * libnm-glib/nm-vpn-plugin-ui-interface.c
2880           libnm-glib/nm-vpn-plugin-ui-interface.h
2881                 - 'validity-changed' -> 'changed' to work better with the connection
2882                         editor.  Plugin UI widgets should emit 'changed' whenever their
2883                         UI values change in a meaningful way.
2884                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2885                         update_connection member now returns validity of the UI widget
2886
2887 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2888
2889         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2890
2891 2008-06-17  Dan Williams  <dcbw@redhat.com>
2892
2893         * libnm-glib/nm-vpn-plugin-ui-interface.c
2894           libnm-glib/nm-vpn-plugin-ui-interface.h
2895                 - Add "desc" property for longer descriptions of the VPN plugin
2896
2897 2008-06-16  Dan Williams  <dcbw@redhat.com>
2898
2899         * configure.in
2900           libnm-glib/libnm_glib_vpn.pc.in
2901                 - add a .pc file for libnm_glib_vpn
2902
2903         * libnm-glib/nm-vpn-plugin-ui-interface.c
2904           libnm-glib/nm-vpn-plugin-ui-interface.h
2905                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2906                         rework it substantially
2907
2908 2008-06-12  Dan Williams  <dcbw@redhat.com>
2909
2910         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2911         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2912         returns a descriptive GError when verification fails.
2913
2914 2008-06-11  Dan Williams  <dcbw@redhat.com>
2915
2916         Patch from Tambet Ingo <tambet@gmail.com>
2917
2918         * libnm-util/nm-setting-gsm.c
2919                 - (verify): validate APN
2920
2921         * src/nm-gsm-device.c
2922                 - (manual_registration_done): start setting APN if needed
2923                 - (set_apn, set_apn_done): set the APN
2924                 - (do_dial): use the APN when dialing
2925
2926 2008-06-11  Dan Williams  <dcbw@redhat.com>
2927
2928         * src/NetworkManagerSystem.c
2929                 - (nm_system_device_set_ip4_route,
2930                    nm_system_device_replace_default_ip4_route): check for the right
2931                         return value from rtnl_route_add() to know when to add a gateway
2932                         route (from Tambet)
2933
2934 2008-06-11  Dan Williams  <dcbw@redhat.com>
2935
2936         * src/NetworkManagerPolicy.c
2937                 - do_ipt_cmd -> do_cmd
2938                 - (sharing_init): use do_cmd() instead of system()
2939
2940 2008-06-10  Dan Williams  <dcbw@redhat.com>
2941
2942         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2943         and use "wifi" everwhere instead.
2944
2945 2008-06-10  Dan Williams  <dcbw@redhat.com>
2946
2947         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2948
2949 2008-06-10  Dan Williams  <dcbw@redhat.com>
2950
2951         Patch from Tambet Ingo <tambet@gmail.com>
2952
2953         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2954                 changes.
2955
2956         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2957                 a signal to emit these changes over dbus.
2958
2959         * src/Makefile.am: Genereate nm-serial-device-glue.
2960
2961         * libnm-glib/nm-serial-device.[ch]: Implement.
2962
2963         * libnm-glib/nm-cdma-device.[ch]
2964           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2965
2966         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2967
2968         * introspection/nm-device-serial.xml: Implement.
2969
2970         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2971
2972         * introspection/Makefile.am: Add nm-device-serial.xml.
2973
2974         * include/NetworkManager.h: Add a DBus interface for serial device.
2975
2976 2008-06-10  Dan Williams  <dcbw@redhat.com>
2977
2978         * configure.in
2979                 - Add TARGET_* define to config.h to distinguish distros
2980
2981         * src/dhcp-manager/nm-dhcp-manager.c
2982                 - (dhclient_run): use distro-specific path for dhclient config file
2983
2984 2008-06-09  Dan Williams  <dcbw@redhat.com>
2985
2986         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2987           src/dnsmasq-manager/nm-dnsmasq-manager.h
2988                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2989                         calculate the addresses passed to dnsmasq instead of hard-coding
2990                         them
2991
2992         * src/nm-device.c
2993                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2994                         IP addresses for shared connections to guard against shared
2995                         connection address collisions
2996                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2997                         error conditions
2998                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2999                         the dnsmasq manager
3000
3001 2008-06-09  Dan Williams  <dcbw@redhat.com>
3002
3003         * src/NetworkManagerPolicy.c
3004                 - (update_routing_and_dns): set the default connection _after_ unsetting
3005                         default on all non-default connections so that two connections can
3006                         never be default at the same time
3007                 - (device_state_changed): start and stop connection sharing when
3008                         needed
3009                 - (active_connection_default_changed): restart or stop sharing when
3010                         the default connection changes to keep shared connections always
3011                         NAT-ed through the default connection
3012                 - (check_sharing): handle activation/deactivation of shared connections
3013                 - (sharing_restart): atom-bomb approach to connection sharing until we
3014                         can use libnl; reinit all sharing when the default connection or
3015                         shared connections change
3016                 - (sharing_init, sharing_stop): evil functions that init and deinit
3017                         iptables
3018
3019 2008-06-09  Dan Williams  <dcbw@redhat.com>
3020
3021         * src/nm-activation-request.c
3022           src/nm-activation-request.h
3023                 - (nm_act_request_set_shared, nm_act_request_get_shared,
3024                    nm_act_request_get_device): new functions to facilitate connection
3025                         sharing
3026
3027 2008-06-09  Dan Williams  <dcbw@redhat.com>
3028
3029         * src/nm-device.c
3030                 - (clear_act_request): unset the 'default' property of the activation
3031                         request when clearing it to ensure the property changed signal gets
3032                         delivered and handled
3033
3034 2008-06-09  Dan Williams  <dcbw@redhat.com>
3035
3036         * libnm-glib/nm-device-802-11-wireless.c
3037                 - (access_point_removed_proxy): actually unref the AP after removing
3038                         it from the device's AP list.  Fixes refcounting bug for APs that
3039                         caused them to get mixed up in the applet's menu.
3040
3041 2008-06-09  Tambet Ingo  <tambet@gmail.com>
3042
3043         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
3044         (nm_dhcp_device_destroy): Destroy the device options hash table.
3045
3046 2008-06-06  Dan Williams <dcbw@redhat.com>
3047
3048         * system-settings/src/nm-polkit-helpers.c
3049                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
3050                         unref the context if the initialization fails; also avoid spew when
3051                         the error isn't set
3052
3053 2008-06-06  Dan Williams <dcbw@redhat.com>
3054
3055         Patch from Tambet Ingo  <tambet@gmail.com>
3056
3057         * src/NetworkManagerSystem.c
3058           src/NetworkManagerSystem.h
3059                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
3060                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
3061                 - (nm_system_device_set_ip4_route): clean up
3062                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
3063
3064         * src/nm-device.c
3065                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
3066
3067         * src/vpn-manager/nm-vpn-connection.c
3068                 - (ip_address_to_string): new function
3069                 - (print_vpn_config): use ip_address_to_string
3070                 - (merge_vpn_routes): add user-defined routes to the ip4 config
3071                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
3072
3073         * include/NetworkManagerVPN.h
3074                 - Add 'routes' key
3075
3076 2008-06-05  Dan Williams <dcbw@redhat.com>
3077
3078         Patch from Markus Becker <mab@comnets.uni-bremen.de>
3079
3080         * test/nm-tool.c
3081                 - Show which device is the default device
3082
3083 2008-06-05  Tambet Ingo  <tambet@gmail.com>
3084
3085         Fix memory leaks.
3086
3087         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
3088         Free data returned from dbus method call.
3089
3090         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
3091         dbus_g_method_get_sender() returns a duplicated string, free it 
3092         when done.
3093         (check_polkit_privileges): Looks like policykit sometimes returns
3094         error and non-null return value, don't leak errors in that case.
3095
3096         * system-settings/src/main.c (find_plugin): Don't leak existing 
3097         plugin names.
3098         (load_stuff): Don't leak device list and list items.
3099         (have_connection_for_device): Don't leak connection list.
3100
3101         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
3102         Free the data received from g_keyfile_get_*.
3103
3104         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
3105         the key when the security object is updated.
3106
3107         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
3108         Free data returned from dbus method call.
3109         (iface_state_cb): Ditto.
3110         (add_network_cb): Ditto.
3111         (nm_supplicant_interface_add_cb): Don't make another copy of already
3112         duplicated object path.
3113         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
3114         when done.
3115
3116         * src/supplicant-manager/nm-supplicant-config.c 
3117         (ADD_STRING_LIST_VAL): Fix a memory leak.
3118
3119         * src/nm-manager.c (free_get_settings_info): Free the allocated
3120         memory slice.
3121         (list_connections_cb): Free data returned from dbus method call.
3122         (system_settings_get_unmanaged_devices_cb): Ditto.
3123
3124         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
3125
3126         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
3127         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
3128         * src/backends/shvar.c (svCloseFile): Free the duplicated content
3129         of the GList.
3130
3131         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
3132         arguments after the object is created.
3133
3134 2008-06-04  Dan Williams <dcbw@redhat.com>
3135
3136         * libnm-util/Makefile.am
3137                 - Don't distribute nm-param-spec-specialized.h
3138
3139 2008-06-02  Tambet Ingo  <tambet@gmail.com>
3140
3141         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
3142
3143         * src/nm-ip4-config.[ch]: Store the static routes as a list of
3144         NMIP4Address, update the getters and setters.
3145
3146         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
3147         Use the updated NMIP4Config routes api.
3148
3149         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
3150         static routes as well.
3151
3152         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
3153         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
3154         routes api.
3155
3156 2008-05-30  Dan Williams <dcbw@redhat.com>
3157
3158         * src/named-manager/nm-named-manager.c
3159           src/named-manager/nm-named-manager.h
3160                 - Remove stale/obsolete bits for controlling bind over DBus
3161
3162 2008-05-29  Dan Williams <dcbw@redhat.com>
3163
3164         * src/dnsmasq-manager/nm-dnsmasq-manager.c
3165           src/dnsmasq-manager/nm-dnsmasq-manager.h
3166                 - (nm_dnsmasq_manager_new): move iface argument here
3167                 - (constructor): remove, not needed
3168                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
3169                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
3170
3171         * src/nm-device.c
3172                 - (real_act_stage4_get_ip4_config,
3173                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
3174                         changes
3175
3176 2008-05-29  Dan Williams <dcbw@redhat.com>
3177
3178         * src/nm-device.c
3179                 - (dnsmasq_state_changed_cb): new function; fail the connection if
3180                         something happens to dnsmasq
3181                 - (nm_device_new_ip4_shared_config): new function; create a new
3182                         ip4-config for shared connections.  Shared connections always use a
3183                         fixed static IP address.
3184                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
3185                         autoip connections by actually using the returned ip4-config and
3186                         not leaking it
3187                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
3188                         connections
3189                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
3190                         if its active
3191
3192 2008-05-29  Dan Williams <dcbw@redhat.com>
3193
3194         * src/nm-device-802-11-wireless.c
3195                 - (real_get_best_auto_connection): auto-activate 'shared' method
3196                         connections too
3197
3198 2008-05-29  Dan Williams <dcbw@redhat.com>
3199
3200         * libnm-util/nm-setting-ip4-config.c
3201           libnm-util/nm-setting-ip4-config.h
3202                 - Add a 'shared' method to indicate that this connection should be
3203                         brought up with a DHCP and proxy DNS server to facilitate
3204                         connection sharing.
3205                 - (verify): 'shared' method doesn't allow DNS or searches either
3206
3207 2008-05-29  Dan Williams <dcbw@redhat.com>
3208
3209         * configure.in
3210           src/Makefile.am
3211           src/dnsmasq-manager/Makefile.am
3212           src/dnsmasq-manager/nm-dnsmasq-manager.c
3213           src/dnsmasq-manager/nm-dnsmasq-manager.h
3214                 - Add a dnsmasq daemon manager to facilitate connection sharing
3215
3216 2008-05-29  Dan Williams <dcbw@redhat.com>
3217
3218         * src/nm-device-private.h
3219                 - Remove unused prototypes and clean up
3220
3221         * src/nm-device.c
3222                 - Remove anything related to system_config_data, which is no longer used
3223                 - (nm_device_new_ip4_autoip_config): make static
3224
3225 2008-05-29  Tambet Ingo  <tambet@gmail.com>
3226
3227         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
3228         (file_changed): Fix a bug where suse system settings plugin didn't
3229         update the connections automatically when the files changed.
3230
3231 2008-05-28  Dan Williams  <dcbw@redhat.com>
3232
3233         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
3234
3235 2008-05-28  Dan Williams  <dcbw@redhat.com>
3236
3237         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3238
3239         * src/NetworkManagerSystem.c
3240                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
3241                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
3242                         was causing -EINVAL errors since the libnl code actually does flush
3243                         the routes on VPN interfaces now
3244
3245         * src/backends/NetworkManagerArch.c
3246           src/backends/NetworkManagerDebian.c
3247           src/backends/NetworkManagerFrugalware.c
3248           src/backends/NetworkManagerGeneric.c
3249           src/backends/NetworkManagerGentoo.c
3250           src/backends/NetworkManagerMandriva.c
3251           src/backends/NetworkManagerPaldo.c
3252           src/backends/NetworkManagerRedHat.c
3253           src/backends/NetworkManagerSlackware.c
3254           src/backends/NetworkManagerSuSE.c
3255                 - (nm_system_device_flush_ip4_routes,
3256                    nm_system_device_flush_ip4_routes_with_iface): remove
3257
3258 2008-05-28  Dan Williams  <dcbw@redhat.com>
3259
3260         * libnm-util/nm-setting-wireless.c
3261           libnm-util/nm-setting-wireless.h
3262                 - (set_property, get_property, nm_setting_wireless_class_init): add the
3263                         'adhoc-create' property, which when TRUE indicates that NM should
3264                         create this connection as an adhoc wifi network if it's not found
3265                         as an adhoc network during scanning.  Can be used to auto-create
3266                         adhoc networks when used in combination with autoconnect.
3267
3268 2008-05-28  Tambet Ingo  <tambet@gmail.com>
3269
3270         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
3271
3272         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
3273         checked, it doesn't work on some devices.
3274
3275 2008-05-28  Tambet Ingo  <tambet@gmail.com>
3276
3277         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
3278         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
3279
3280         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
3281         Use inet_aton() everywhere to improve error detection.
3282         Don't fall back to 'dhcp_server_identifier' if the gateway is not
3283         provided.
3284
3285 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3286
3287         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
3288         Fix a typo.
3289
3290 2008-05-26  Tambet Ingo  <tambet@gmail.com>
3291
3292         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
3293         reference counting issue.
3294
3295 2008-05-23  Dan Williams  <dcbw@redhat.com>
3296
3297         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3298
3299         * src/backends/NetworkManagerGeneric.c
3300                 - (nm_generic_enable_loopback): use libnl
3301
3302 2008-05-23  Dan Williams  <dcbw@redhat.com>
3303
3304         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3305
3306         * src/NetworkManagerSystem.h
3307           src/backends/NetworkManagerArch.c
3308           src/backends/NetworkManagerDebian.c
3309           src/backends/NetworkManagerFrugalware.c
3310           src/backends/NetworkManagerGentoo.c
3311           src/backends/NetworkManagerMandriva.c
3312           src/backends/NetworkManagerPaldo.c
3313           src/backends/NetworkManagerRedHat.c
3314           src/backends/NetworkManagerSlackware.c
3315           src/backends/NetworkManagerSuSE.c
3316                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
3317                    nm_system_flush_arp_cache): remove, unused
3318
3319         * src/backends/NetworkManagerGeneric.c
3320           src/backends/NetworkManagerGeneric.h
3321                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
3322                    nm_generic_flush_arp_cache): remove, unused
3323
3324 2008-05-23  Dan Williams  <dcbw@redhat.com>
3325
3326         * system-settings/plugins/ifcfg-fedora/reader.c
3327                 - (make_ip4_setting): honor PEERDNS setting
3328
3329 2008-05-23  Dan Williams  <dcbw@redhat.com>
3330
3331         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3332
3333         * src/NetworkManagerSystem.c
3334                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
3335                         libnl
3336
3337         * src/backends/NetworkManagerArch.c
3338           src/backends/NetworkManagerDebian.c
3339           src/backends/NetworkManagerFrugalware.c
3340           src/backends/NetworkManagerGentoo.c
3341           src/backends/NetworkManagerMandriva.c
3342           src/backends/NetworkManagerPaldo.c
3343           src/backends/NetworkManagerRedHat.c
3344           src/backends/NetworkManagerSlackware.c
3345           src/backends/NetworkManagerSuSE.c
3346                 - (nm_system_device_flush_ip4_addresses,
3347                    nm_system_device_flush_ip4_addresses_with_iface): remove
3348
3349         * src/backends/NetworkManagerGeneric.c
3350                 - (nm_generic_device_flush_ip4_addresses,
3351                    nm_generic_device_flush_ip4_addresses_with_iface): remove
3352
3353 2008-05-23  Dan Williams  <dcbw@redhat.com>
3354
3355         * src/supplicant-manager/nm-supplicant-settings-verify.c
3356                 - Switch 'bssid' from bytes to keyword type
3357                 - (validate_type_keyword): allow NULL keyword lists
3358
3359         * src/supplicant-manager/nm-supplicant-config.c
3360                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
3361                         a byte array to string form, which is what the supplicant expects
3362
3363 2008-05-23  Tambet Ingo  <tambet@gmail.com>
3364
3365         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
3366         information received from DHCP.
3367
3368         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
3369         to make it possible to ignore the DNS information (both servers and 
3370         searches) returned by DHCP server.
3371
3372         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
3373         name servers and searches if "ignore_dhcp_dns" is set.
3374
3375         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
3376         (nm_ip4_config_reset_searches): Implement.
3377
3378 2008-05-22  Dan Williams  <dcbw@redhat.com>
3379
3380         Remove anything mDNS related.  This is better done from a distro-specific
3381         dispatcher script.  Plus, any distro using avahi doesn't need to restart
3382         avahi, since avahi can handle interface changes just fine using netlink.
3383
3384         * configure.in
3385                 - Remove --with-mdns-provider
3386
3387         * src/NetworkManagerPolicy.c
3388                 - (global_state_changed): don't restart the mdns provider
3389
3390         * src/NetworkManagerSystem.h
3391           src/backends/NetworkManagerArch.c
3392           src/backends/NetworkManagerDebian.c
3393           src/backends/NetworkManagerFrugalware.c
3394           src/backends/NetworkManagerGentoo.c
3395           src/backends/NetworkManagerMandriva.c
3396           src/backends/NetworkManagerPaldo.c
3397           src/backends/NetworkManagerRedHat.c
3398           src/backends/NetworkManagerSlackware.c
3399           src/backends/NetworkManagerSuSE.c
3400                 - (nm_system_restart_mdns_responder): remove
3401
3402         * src/backends/NetworkManagerGeneric.c
3403           src/backends/NetworkManagerGeneric.h
3404                 - (nm_generic_restart_mdns_responder): remove
3405
3406 2008-05-22  Dan Williams  <dcbw@redhat.com>
3407
3408         * configure.in
3409                 - clean up crypto options; just use --with-crypto=nss or
3410                         --with-crypto=gnutls
3411
3412 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3413
3414         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
3415         anymore, do it right away.
3416
3417 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3418
3419         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
3420         serial device open when we're not connecting or connected.
3421
3422         * src/nm-cdma-device.c (device_state_changed): Ditto.
3423
3424 2008-05-22  Tambet Ingo  <tambet@gmail.com>
3425
3426         Don't remove all devices on waking up, sync with HAL.
3427
3428         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
3429         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
3430         (hal_manager_hal_reappeared_cb): Just call sync_devices.
3431
3432 2008-05-21  Tambet Ingo  <tambet@gmail.com>
3433
3434         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
3435         If the default gateway is unreachable, add a route to gateway and try
3436         again.
3437
3438 2008-05-20  Dan Williams  <dcbw@redhat.com>
3439
3440         * system-settings/plugins/ifcfg-fedora/reader.c
3441                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
3442
3443 2008-05-19  Dan Williams  <dcbw@redhat.com>
3444
3445         * system-settings/plugins/ifcfg-fedora/reader.c
3446                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
3447                         if the ifcfg doesn't specify one (rh #446527)
3448
3449 2008-05-19  Dan Williams  <dcbw@redhat.com>
3450
3451         Make the system settings service exit when the bus goes away.  Since it's
3452         a bus-activated service, it's lifetime is limited to the bus that activated
3453         it (rh #444976).
3454
3455         * system-settings/src/Makefile.am
3456           system-settings/src/nm-system-config-hal-manager-private.h
3457                 - Remove nm-system-config-hal-manager-private.h
3458
3459         * system-settings/src/nm-system-config-hal-manager.c
3460                 - (nm_system_config_hal_manager_reinit_dbus,
3461                    nm_system_config_hal_manager_deinit_dbus): remove
3462
3463         * system-settings/src/main.c
3464                 - (dbus_reconnect): remove
3465                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
3466                 - (destroy_cb): just quit when the bus goes away
3467                 - (start_dbus_service, dbus_init): simplify
3468                 - (main): destroy the wired devices hash table after destroying
3469                         the HAL manager so we don't have to disconnect signals from the
3470                         HAL manager
3471
3472 2008-05-15  Tambet Ingo  <tambet@gmail.com>
3473
3474         Move crypto functions from nm-applet to libnm-util.
3475
3476         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
3477         (nm_setting_802_1x_set_client_cert)
3478         (nm_setting_802_1x_set_phase2_ca_cert)
3479         (nm_setting_802_1x_set_phase2_client_cert)
3480         (nm_setting_802_1x_set_private_key)
3481         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
3482         file (or private key and it's password), read the certificate data.
3483
3484         * libnm-util/crypto_nss.c: 
3485         * libnm-util/crypto_gnutls.c: 
3486         * libnm-util/crypto.[ch]: Move here from nm-applet.
3487
3488         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
3489
3490         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
3491         Imlement WPA-EAP configuration reading from sysconfig.
3492
3493 2008-05-16  Dan Williams  <dcbw@redhat.com>
3494
3495         * src/nm-device-802-11-wireless.c
3496                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
3497                         wireless
3498
3499 2008-05-14  Dan Williams  <dcbw@redhat.com>
3500
3501         Fix Linus' bug in rh #134886
3502
3503         * src/nm-device-802-3-ethernet.c
3504                 - (constructor): request initial carrier state
3505
3506         * src/nm-netlink-monitor.c
3507                 - (nm_netlink_monitor_request_status): schedule emission of carrier
3508                         signals after refilling the link cache.  Because the refill is a 
3509                         synchronous operation, the normal message hander won't get called
3510                         since libnl has already consumed the messages.
3511                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
3512
3513 2008-05-14  Dan Williams  <dcbw@redhat.com>
3514
3515         * src/NetworkManagerSystem.c
3516                 - (nm_system_device_is_up_with_iface): clean up
3517
3518 2008-05-13  Dan Williams  <dcbw@redhat.com>
3519
3520         Fix refcounting issues over sleep/wake when a VPN connection was active that
3521         caused NM to try registering an object path for a device upon wake that was
3522         the same as an already registered object path.
3523
3524         * src/nm-device.c
3525                 - (nm_device_take_down): properly handle cases where the device is
3526                         no longer active but was just active, and therefore must be
3527                         deactivated.  When a device moves to unmanaged mode, this function
3528                         previously would not deactivate the device, because the state was
3529                         already unmanaged by the time this function was called.
3530
3531         * src/vpn-manager/nm-vpn-connection.c
3532                 - (device_state_changed): properly handle multiple devices states in
3533                         which the device is now deactivated.  Code previously didn't handle
3534                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
3535                         UNMANAGED states.
3536
3537 2008-05-13  Dan Williams  <dcbw@redhat.com>
3538
3539         * src/nm-device-private.h
3540           src/nm-device.c
3541                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
3542
3543         * src/nm-device-802-11-wireless.c
3544                 - (nm_device_802_11_wireless_set_enabled): take devices up
3545                         and down as appropriate for the rfkill state
3546
3547 2008-05-13  Dan Williams  <dcbw@redhat.com>
3548
3549         * marshallers/nm-marshal.list
3550                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
3551
3552         * system-settings/plugins/ifcfg-fedora/Makefile.am
3553           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
3554           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
3555                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
3556                         events.  Solely for use watching ifcfg files to pick up changes
3557                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
3558
3559         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3560                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
3561                         file contents change
3562                 - (finalize): clean up inotify watches
3563                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
3564                         and the connection ifcfg for changes on their hardlinks
3565                 - (files_changed_cb): proxy the changed signal back out to listeners
3566
3567         * system-settings/plugins/ifcfg-fedora/plugin.c
3568                 - (dir_changed): 
3569                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
3570                         changes
3571                 - (read_one_connection): connect to change signals on the new connection
3572                 - (dir_changed, connection_changed_handler,
3573                    handle_connection_remove_or_new): break out connection change
3574                         handling and connection new/remove handling so it can be used from
3575                         both the GFileMonitor callback and the NMIfcfgConnection changed
3576                         signals
3577
3578         * system-settings/plugins/ifcfg-fedora/reader.c
3579           system-settings/plugins/ifcfg-fedora/reader.h
3580                 - (connection_from_file): return the keyfile path the connection would use
3581
3582 2008-05-13  Tambet Ingo  <tambet@gmail.com>
3583
3584         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
3585         single PolKitContext which is shared by all. PolKitContext::unref leaks
3586         just about everything, including all open file descriptiors and results
3587         in 99% cpu usage when data arrives to any of the fds that don't belong
3588         to any context anymore.
3589
3590 2008-05-12  Dan Williams  <dcbw@redhat.com>
3591
3592         * gfilemonitor/glocaldirectorymonitor.c
3593           gfilemonitor/glocaldirectorymonitor.h
3594                 - (g_local_directory_monitor_constructor): actually subscribe to the
3595                         watch
3596                 - (_g_local_directory_monitor_new): ensure that inotify is started up
3597
3598         * gfilemonitor/glocalfilemonitor.c
3599           gfilemonitor/glocalfilemonitor.h
3600                 - (g_local_file_monitor_constructor): actually subscribe to the watch
3601                 - (_g_local_file_monitor_new): ensure that inotify is started up
3602
3603 2008-05-11  Dan Williams  <dcbw@redhat.com>
3604
3605         * configure.in
3606                 - record PolicyKit version
3607
3608         * system-settings/src/nm-polkit-helpers.c
3609                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
3610                         with PolicyKit <= 0.6
3611
3612 2008-05-11  Dan Williams  <dcbw@redhat.com>
3613
3614         Update Fedora system-settings plugin to support latest API and use
3615         GFileMonitor rather than home-rolled inotify code.
3616
3617         * system-settings/plugins/ifcfg-fedora/Makefile.am
3618           system-settings/plugins/ifcfg-fedora/common.h
3619           system-settings/plugins/ifcfg-fedora/plugin.c
3620                 - Update to latest system settings plugin API; use GIO instead of
3621                         custom inotify code; use NMIfcfgConnection objects instead of
3622                         ConnectionData structures tacked onto NMConnection objects
3623
3624         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
3625           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
3626                 - Implement an NMExportedConnection subclass mapping ifcfg files to
3627                         connections
3628
3629         * system-settings/plugins/ifcfg-fedora/reader.c
3630           system-settings/plugins/ifcfg-fedora/reader.h
3631                 - Move ifcfg parsing bits here from parser.c
3632
3633         * system-settings/plugins/ifcfg-fedora/parser.c
3634           system-settings/plugins/ifcfg-fedora/parser.h
3635                 - Remove; most code moved to reader.c
3636
3637 2008-05-11  Dan Williams  <dcbw@redhat.com>
3638
3639         * configure.in
3640           Makefile.am
3641           gfilemonitor/*
3642                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
3643                         implementation, so that the same change monitoring code can be used
3644                         on systems without glib-2.14 (like Fedora 8)
3645
3646         * system-settings/plugins/keyfile/Makefile.am
3647           system-settings/plugins/keyfile/plugin.c
3648           system-settings/plugins/ifcfg-suse/Makefile.am
3649           system-settings/plugins/ifcfg-suse/plugin.c
3650                 - Use private gfilemonitor code if GIO is not present
3651
3652 2008-05-09  Tambet Ingo  <tambet@gmail.com>
3653
3654         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
3655         NMExportedConnection's 'update' and 'delete' and return error with
3656         descriptive message.
3657
3658 2008-05-08  Dan Williams  <dcbw@redhat.com>
3659
3660         Patch from Markus Becker <mab@comnets.uni-bremen.de>
3661
3662         * src/nm-gsm-device.c
3663           src/nm-cdma-device.c
3664                 - (real_get_best_auto_connection): implement; allow autoconnection
3665                         to GSM & CDMA devices
3666
3667 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3668
3669         Use PolicyKit to authorize the system settings' AddConnection method
3670         and the system settings connections' Update and Delete methods.
3671         
3672         * libnm-glib/nm-settings.c (impl_exported_connection_update)
3673         (impl_exported_connection_delete, nm_exported_connection_update)
3674         (nm_exported_connection_delete): Return boolean and fill GError
3675         to notify the callers of the reasons why it might have failed.
3676
3677         * libnm-glib/nm-dbus-settings-system.c
3678         (nm_dbus_settings_system_add_connection): Return the error from dbus
3679         call so that the callers can see why it failed.
3680
3681         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
3682         signatures.
3683
3684         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
3685
3686         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
3687         abstract base class that checks PolicyKit permissions.
3688
3689         * system-settings/src/dbus-settings.c:
3690         (impl_settings_add_connection): Check the policy before carring out
3691         the request.
3692
3693         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
3694         Inherit from NMSysconfigConnection, check the policies before
3695         allowing updating or removing.
3696
3697         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
3698         Inherit from NMSysconfigConnection.
3699
3700         * introspection/nm-exported-connection.xml: Annotate "Update" and 
3701         "Delete" methods with async flag so that the implementations can get
3702         access to DBusGMethodInvocation.
3703
3704         * system-settings/src/dbus-settings.c 
3705         (settings_add_connection_check_privileges): Implement.
3706         (impl_settings_add_connection): Check the privileges before adding a new
3707         connection. Improve error reporting.
3708
3709         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
3710         async so that the implementation can access DBusGMethodInvocation.
3711
3712         * configure.in: Check for PolicyKit.
3713
3714         * policy/org.freedesktop.network-manager-settings.system.policy: 
3715         New file.
3716
3717         * policy/Makefile.am: Install the policy file.
3718
3719         * configure.in: Add 'policy' subdir.
3720
3721 2008-05-08  Tambet Ingo  <tambet@gmail.com>
3722
3723         Rewrite the suse system settings plugin.
3724
3725         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
3726
3727         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
3728
3729         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
3730
3731         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
3732
3733         * system-settings/src/dbus-settings.c: Fix connection reference counting.
3734
3735         * system-settings/src/main.c (load_plugins): Improve error reporting.
3736
3737         * system-settings/src/sha1.[ch] Add.
3738
3739         * system-settings/src/Makefile.am: Add sha1[ch] to build.
3740
3741 2008-05-07  Dan Williams  <dcbw@redhat.com>
3742
3743         * system-settings/plugins/keyfile/reader.c
3744                 - (read_one_setting_value): handle IP address items separately
3745                 - (read_array_of_uint): read IPv4 DNS option as a string array
3746                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
3747                         array
3748
3749         * system-settings/plugins/keyfile/writer.c
3750                 - (write_setting_value): handle IP address items separately
3751                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
3752                         not an array of uint, so that it's user-editable
3753                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
3754                         arrays, so they are user-editable
3755
3756 2008-05-07  Dan Williams  <dcbw@redhat.com>
3757
3758         * system-settings/plugins/keyfile/Makefile.am
3759                 - Change location of the keyfile plugin settings to
3760                         /etc/NetworkManager/system-connections
3761
3762 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3763
3764         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
3765
3766         * system-settings/plugins/keyfile/plugin.c: Work with
3767         NMKeyfileConnections.
3768
3769         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
3770         Plugins are supposed to return NMExportedConnections now and handle the
3771         updated(), removed(), and GetSecrets().
3772         Store the internal list of connections in hash table to make it easier
3773         to find duplicates.
3774
3775 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3776
3777         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
3778         for multiple IP addresses.
3779
3780 2008-05-07  Tambet Ingo  <tambet@gmail.com>
3781
3782         Patch from André Lemos.
3783
3784         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
3785         corruption.
3786
3787 2008-05-06  Dan Williams  <dcbw@redhat.com>
3788
3789         * src/dhcp-manager/nm-dhcp-manager.c
3790                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
3791                         NMIP4Config to support multiple IP addresses
3792
3793         * src/NetworkManagerUtils.c
3794                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
3795
3796         * src/nm-ip4-config.c
3797           src/nm-ip4-config.h
3798                 - Store a list of IPv4 address/netmask/gateway tuples
3799                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
3800                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
3801                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
3802                    nm_ip4_config_set_address): remove
3803                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
3804                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
3805                         new functions; handle multiple IPv4 addresses
3806
3807         * src/nm-device.c
3808           src/ppp-manager/nm-ppp-manager.c
3809           src/vpn-manager/nm-vpn-connection.c
3810           src/NetworkManagerPolicy.c
3811           test/nm-tool.c
3812           libnm-glib/libnm-glib-test.c
3813                 - update for changes to NMIP4Config for multiple IPv4 addresses
3814
3815         * src/NetworkManagerSystem.c
3816                 - (nm_system_device_set_ip4_route): don't add the route if any address
3817                         is on the same subnet as the destination
3818                 - (check_one_address): ignore the exact match, just match family and
3819                         interface index
3820                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
3821                         an interface
3822                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
3823                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
3824
3825         * introspection/nm-ip4-config.xml
3826                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
3827                 - Add 'addresses' property which is an array of (uuu) tuples of
3828                         address/netmask/gateway
3829
3830         * libnm-util/nm-setting-ip4-config.c
3831                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
3832
3833         * libnm-glib/nm-ip4-config.c
3834           libnm-glib/nm-ip4-config.h
3835                 - Handle D-Bus interface changes to support multiple IP addresses
3836
3837 2008-05-06  Dan Williams  <dcbw@redhat.com>
3838
3839         * libnm-util/nm-utils.c
3840           libnm-util/nm-utils.h
3841                 - (nm_utils_ip4_addresses_from_gvalue,
3842                    nm_utils_ip4_addresses_to_gvalue): new functions
3843
3844 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3845
3846         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3847         the returned connection paths.
3848
3849 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3850
3851         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3852         "PropertiesChanged" signal signature.
3853
3854         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3855         defined in nm-dbus-glib-types.h.
3856         Don't register the connection on dbus, we're a proxy class to 
3857         communicate with an already registered connection over dbus.
3858
3859 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3860
3861         Implement new subclasses of NMSettings and NMExportedConnection to make
3862         it easier for the applet to access and modify system settings.
3863
3864         * libnm-glib/nm-dbus-connection.[ch]:
3865         * libnm-glib/nm-dbus-settings.[ch]:
3866         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3867
3868         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3869         bindings and glue.
3870
3871         * include/NetworkManager.h: Define the system settings DBus interface.
3872
3873 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3874
3875         Implement additional C API for exported connections to make them identical
3876         with the DBus API. Change the (list_connections) virtual function to be
3877         more usable from C - instead of requiring implementers to return a GPtrArray
3878         of dbus paths, return a list of connections.
3879
3880         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3881         (nm_settings_list_connections):
3882         (nm_exported_connection_new):
3883         (nm_exported_connection_update):
3884         (nm_exported_connection_delete): Implement.
3885
3886         (impl_settings_list_connections):
3887         (impl_exported_connection_update):
3888         (impl_exported_connection_delete): Use the new public functions to make 
3889         sure the C and dbus interfaces stay in sync.
3890
3891         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3892         connections.
3893
3894 2008-05-02  Dan Williams  <dcbw@redhat.com>
3895
3896         * system-settings/plugins/ifcfg-fedora/plugin.c
3897                 - (dispose): use right unref call on the DBusGConnection
3898
3899 2008-05-02  Dan Williams  <dcbw@redhat.com>
3900
3901         * src/nm-serial-device.c
3902                 - (find_terminator): don't compare the whole line, just the size of the
3903                         terminator, since some modems put stuff after the terminator, like
3904                         "CONNECT 9600"
3905
3906 2008-05-01  Dan Williams  <dcbw@redhat.com>
3907
3908         Patch from Michael Biebl <biebl@debian.org>
3909
3910         * callouts/Makefile.am
3911           callouts/org.freedesktop.nm_dispatcher.service.in
3912           system-settings/src/Makefile.am
3913           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3914                 - use the right install location for dbus-activated stuff
3915
3916 2008-04-30  Dan Williams  <dcbw@redhat.com>
3917
3918         * src/nm-gsm-device.c
3919                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3920                         PIN or PUK
3921
3922 2008-04-30  Dan Williams  <dcbw@redhat.com>
3923
3924         * src/nm-manager.c
3925                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3926
3927 2008-04-30  Dan Williams  <dcbw@redhat.com>
3928
3929         * src/nm-device-802-3-ethernet.c
3930           src/nm-device-802-11-wireless.c
3931                 - (real_is_up): return true instead of chaining up to unimplemented
3932                         parent method
3933
3934 2008-04-30  Dan Williams  <dcbw@redhat.com>
3935
3936         * src/NetworkManagerSystem.c
3937           src/NetworkManagerSystem.h
3938                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3939                         functions to check device flags for IFF_UP
3940
3941         * src/nm-serial-device.c
3942                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3943                         implement is_up
3944
3945         * src/nm-device-802-3-ethernet.c
3946           src/nm-device-802-11-wireless.c
3947                 - (real_hw_is_up): call nm_system_device_is_up()
3948
3949         * src/nm-device.c
3950                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3951                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3952                         does not implement
3953
3954 2008-04-29  Dan Williams  <dcbw@redhat.com>
3955
3956         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3957
3958         * marshallers/nm-marshal.list
3959                 - Add marshaller
3960
3961         * src/NetworkManager.c
3962                 - (main): let the NMManager handle the NMHalManager
3963
3964         * src/nm-hal-manager.c
3965           src/nm-hal-manager.h
3966                 - convert to a GObject, and emit singals when stuff changes.  Let the
3967                         NMManager handle the signals, instead of the NMHalManager calling
3968                         into the NMManager.  
3969
3970         * src/nm-manager.c
3971           src/nm-manager.h
3972                 - (remove_one_device): consolidate device removals here
3973                 - (dispose): use remove_one_device()
3974                 - (nm_manager_get_device_by_udi): make static
3975                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3976                         manager for devices at startup or wakeup time
3977                 - (nm_manager_new): create and monitor the HAL manager
3978                 - (hal_manager_udi_added_cb): new function; do what
3979                         nm_manager_add_device() used to do when signalled by the hal manager
3980                 - (hal_manager_udi_removed_cb): new function; do what
3981                         nm_manager_remove_device() used to do when signalled by the hal
3982                         manager
3983                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3984                         hal manager
3985                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3986                         in our device list that aren't known to HAL
3987                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3988                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3989                         commits ago
3990                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3991                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3992                    nm_manager_wireless_hardware_enabled,
3993                    nm_manager_set_wireless_hardware_enabled): remove, unused
3994
3995 2008-04-28  Dan Williams  <dcbw@redhat.com>
3996
3997         Fix the device up/down ambiguities.  Up/down state used to be a
3998         conglomeration of hardware state (IFF_UP) and any device-specific things
3999         (supplicant, periodic timers, etc) that the device used to indicate
4000         readiness.  Unfortunately, if the hardware was already IFF_UP for some
4001         reason, then the device specific stuff wouldn't get run, and the device
4002         would be stuck.
4003
4004         * src/nm-device.c
4005           src/nm-device.h
4006                 - Create hw_is_up, hw_bring_up, and hw_take_down
4007                 - Rename bring_down -> take_down
4008                 - (real_hw_is_up): check interface flags for IFF_UP
4009                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
4010                 - (nm_device_is_up): make static; only used locally
4011                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
4012                         if the device is already up; if the device isn't up, bring it up
4013                 - (nm_device_hw_take_down): just take down hardware
4014                 - (nm_device_bring_up): bring up HW first, then device specific stuff
4015                 - (nm_device_take_down): always deactivate device when called; always
4016                         try to take hardware down too
4017                 - (nm_device_state_changed): take device down when entering unmanaged
4018                         state from a higher state
4019
4020         * src/nm-device-802-11-wireless.c
4021                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
4022                         check IFF_UP really
4023                 - (real_take_down, supplicant_iface_state_cb_handler, 
4024                    supplicant_iface_connection_state_cb_handler,
4025                    supplicant_mgr_state_cb_handler): fix some messages
4026
4027         * src/nm-device-802-3-ethernet.c
4028                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
4029                         check IFF_UP really
4030
4031 2008-04-28  Dan Williams  <dcbw@redhat.com>
4032
4033         * src/nm-manager.c
4034           src/nm-manager.h
4035                 - (nm_manager_error_get_type): add new error
4036                 - (nm_manager_remove_device): don't bother taking down the device here,
4037                         the state change from unmanaging the device will do it
4038                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
4039                         uses it; when going to sleep, just unmanage the device instead of
4040                         taking it down, because stuff will cleaned up correctly when the
4041                         device gets unmanaged
4042
4043 2008-04-28  Dan Williams  <dcbw@redhat.com>
4044
4045         * src/nm-hal-manager.c
4046                 - (add_initial_devices): convert to a GSourceFunc prototype
4047                 - (nm_manager_state_changed): when coming out of sleep, punt the
4048                         device re-addition to an idle handler to let D-Bus events go out
4049                         first, fixing a potential dbus-glib assert if the old device was
4050                         not yet disposed (due to references held while emitting the D-Bus
4051                         signals) but the new device was found, because the mainloop didn't
4052                         run between signal emission and add_initial_devices()
4053
4054 2008-04-27  Dan Williams  <dcbw@redhat.com>
4055
4056         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4057
4058         * initscript/paldo/NetworkManager.in
4059           initscript/SUSE/networkmanager.in
4060                 - Remove last bits of dhcdbd
4061
4062 2008-04-27  Dan Williams  <dcbw@redhat.com>
4063
4064         * src/nm-device-802-11-wireless.c
4065                 - (link_timeout_cb): don't ask for secrets when disconnected during
4066                         association/authentication phase, drivers are still just too crappy
4067
4068 2008-04-27  Dan Williams  <dcbw@redhat.com>
4069
4070         * Makefile.am
4071           configure.in
4072           dispatcher-daemon/Makefile.am
4073           dispatcher-daemon/NetworkManagerDispatcher.c
4074           initscript/Arch/Makefile.am
4075           initscript/Arch/networkmanager-dispatcher.in
4076           initscript/Gentoo/Makefile.am
4077           initscript/Gentoo/NetworkManagerDispatcher.in
4078           initscript/Mandriva/Makefile.am
4079           initscript/Mandriva/networkmanagerdispatcher.in
4080           initscript/RedHat/Makefile.am
4081           initscript/RedHat/NetworkManagerDispatcher.in
4082           initscript/SUSE/Makefile.am
4083           initscript/SUSE/networkmanager-dispatcher.in
4084           initscript/Slackware/Makefile.am
4085           initscript/Slackware/rc.networkmanager-dispatcher.in
4086           initscript/paldo/Makefile.am
4087           initscript/paldo/NetworkManagerDispatcher.in
4088           man/Makefile.am
4089           man/NetworkManagerDispatcher.8.in
4090                 - Remove the dispatcher daemon
4091
4092 2008-04-27  Dan Williams  <dcbw@redhat.com>
4093
4094         * callouts/Makefile.am
4095           callouts/nm-dispatcher-action.c
4096           callouts/nm-dispatcher-action.h
4097           callouts/nm-dispatcher.conf
4098           callouts/nm-dispatcher.xml
4099           callouts/org.freedesktop.nm_dispatcher.service
4100                 - Re-implement the dispatcher as a system-bus activated service that
4101                         NM calls on-demand, rather than an always running daemon
4102
4103         * src/Makefile.am
4104                 - Add callouts dir to includes to pick up dispatcher defines
4105
4106         * src/nm-device.c
4107                 - (nm_device_state_changed): call dispatcher on device activated/
4108                         deactivated
4109
4110         * src/vpn-manager/nm-vpn-connection.c
4111                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
4112                         go up and down
4113
4114         * src/NetworkManagerUtils.c
4115           src/NetworkManagerUtils.h
4116                 - (nm_utils_call_dispatcher): helper to call dispatcher
4117
4118 2008-04-27  Dan Williams  <dcbw@redhat.com>
4119
4120         * src/NetworkManagerUtils.c
4121           src/NetworkManagerUtils.h
4122                 - remove unneeded includes
4123                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
4124                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
4125                    nm_timeval_cmp, nm_timeval_add): remove, unused
4126                 - clean up formatting
4127                 - (nm_spawn_process): de-uglify
4128
4129         * src/nm-device-802-11-wireless.c
4130                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
4131
4132 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
4133
4134         * initscript/Gentoo/NetworkManager.in:
4135                 Fix for starting the daemon.
4136
4137 2008-04-25  Dan Williams  <dcbw@redhat.com>
4138
4139         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4140
4141         * src/NetworkManagerSystem.c
4142                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
4143
4144 2008-04-25  Dan Williams  <dcbw@redhat.com>
4145
4146         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4147
4148         * src/NetworkManagerSystem.c
4149                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
4150                         implementation of nm_system_device_replace_default_route()
4151
4152         * src/NetworkManagerPolicy.c
4153                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
4154
4155         * src/backends/NetworkManagerArch.c
4156           src/backends/NetworkManagerDebian.c
4157           src/backends/NetworkManagerFrugalware.c
4158           src/backends/NetworkManagerGeneric.c
4159           src/backends/NetworkManagerGeneric.h
4160           src/backends/NetworkManagerGentoo.c
4161           src/backends/NetworkManagerMandriva.c
4162           src/backends/NetworkManagerPaldo.c
4163           src/backends/NetworkManagerRedHat.c
4164           src/backends/NetworkManagerSlackware.c
4165           src/backends/NetworkManagerSuSE.c
4166                 - (nm_system_device_replace_default_route): remove
4167
4168 2008-04-25  Dan Williams  <dcbw@redhat.com>
4169
4170         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4171
4172         * src/NetworkManagerSystem.c
4173                 - (validate_ip4_route): remove; use nl_addr_parse() instead
4174                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
4175                         replace nm_system_device_add_route_via_device_with_iface() in the
4176                         backends
4177
4178         * src/backends/NetworkManagerArch.c
4179           src/backends/NetworkManagerDebian.c
4180           src/backends/NetworkManagerFrugalware.c
4181           src/backends/NetworkManagerGeneric.c
4182           src/backends/NetworkManagerGeneric.h
4183           src/backends/NetworkManagerGentoo.c
4184           src/backends/NetworkManagerMandriva.c
4185           src/backends/NetworkManagerPaldo.c
4186           src/backends/NetworkManagerRedHat.c
4187           src/backends/NetworkManagerSlackware.c
4188           src/backends/NetworkManagerSuSE.c
4189                 - Remove nm_system_device_add_route_via_device_with_iface()
4190
4191 2008-04-25  Dan Williams  <dcbw@redhat.com>
4192
4193         * system-settings/plugins/ifcfg-fedora/parser.c
4194                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
4195
4196 2008-04-24  Dan Williams  <dcbw@redhat.com>
4197
4198         * dispatcher-daemon/NetworkManagerDispatcher.c
4199                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
4200
4201 2008-04-24  Dan Williams  <dcbw@redhat.com>
4202
4203         * initscript/RedHat/NetworkManager.in
4204           initscript/RedHat/NetworkManagerDispatcher.in
4205                 - Be active at runlevel 2
4206                 - Adjust priorities earlier
4207
4208 2008-04-22  Dan Williams  <dcbw@redhat.com>
4209
4210         * src/NetworkManagerPolicy.c
4211                 - (update_routing_and_dns): when checking for a gateway, look at the
4212                         composite IP4 config, not the connection's ip4-config setting, which
4213                         doesn't include DHCP-returned information
4214
4215 2008-04-22  Tambet Ingo  <tambet@gmail.com>
4216
4217         Implement GKeyFile system settings plugin.
4218         Implement writing system settings (currently supported only by GKeyFile plugin).
4219
4220         * system-settings/src/main.c: 
4221         * system-settings/src/dbus-settings.c: Move the communication with plugins
4222         from main.c to dbus-settings.c. Makes it possible to talk to all registered
4223         plugins for adding/updating/removing connections.
4224
4225         * system-settings/src/nm-system-config-interface.c
4226         (nm_system_config_interface_add_connection): Implement
4227         (nm_system_config_interface_update_connection): Implement.
4228         (nm_system_config_interface_remove_connection): Implement.
4229
4230         * system-settings/plugins/keyfile/Makefile.am:
4231         * system-settings/plugins/keyfile/plugin.[ch]:
4232         * system-settings/plugins/keyfile/writer.[ch]:
4233         * system-settings/plugins/keyfile/reader.[ch]: Implement.
4234
4235         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
4236
4237         * configure.in: Generate GKeyFile Makefile.
4238
4239         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
4240         corruption, need to duplicate the returned string.
4241         (impl_exported_connection_update): Implement.
4242         (impl_exported_connection_delete): Implement.
4243
4244         * introspection/nm-settings-system.xml: Add "AddConnection" method.
4245
4246         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
4247
4248 2008-04-22  Dan Williams  <dcbw@redhat.com>
4249
4250         Patch from Charles R. Anderson (cra@wpi.edu)
4251
4252         * src/NetworkManagerPolicy.c
4253                 - (update_routing_and_dns): don't select devices without a gateway
4254                         as having the default route (rh #437338)
4255
4256 2008-04-21  Dan Williams  <dcbw@redhat.com>
4257
4258         * src/nm-activation-request.c
4259           src/nm-activation-request.h
4260                 - (dispose): ensure to disconnect from the device's state-changed signal
4261                         when appropriate so the signal doesn't get handled by an already
4262                         disposed NMActRequest
4263                 - (device_state_changed): update is_default here too just to make sure
4264                         default is only True when the child device is activated
4265                 - (nm_act_request_set_default): new function
4266
4267         * src/NetworkManagerPolicy.c
4268                 - (update_routing_and_dns): set 'default' on the active connection which
4269                         has the default route and DNS
4270
4271 2008-04-21  Dan Williams  <dcbw@redhat.com>
4272
4273         * src/NetworkManagerPolicy.c
4274                 - (device_state_changed): update routing and DNS when a device goes
4275                         into unmanaged or unavailable states too (like rfkill or carrier loss)
4276
4277 2008-04-21  Dan Williams  <dcbw@redhat.com>
4278
4279         * include/NetworkManager.h
4280                 - Add NMActiveConnectionState enum
4281
4282         * introspection/nm-active-connection.xml
4283           introspection/nm-vpn-connection.xml
4284                 - Add 'State' property for overall active connection state
4285                 - Add 'Default' property, when True means this active connection
4286                         has the default route
4287                 - Add PropertyChanged signals so changes actually go out over the bus
4288
4289         * src/nm-active-connection.h
4290                 - Add defines for State & Default properties
4291
4292         * src/nm-activation-request.c
4293                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
4294                         signal to determine active connection state
4295
4296         * src/vpn-manager/nm-vpn-connection.c
4297           src/vpn-manager/nm-vpn-connection.h
4298           src/vpn-manager/nm-vpn-manager.c
4299           src/vpn-manager/nm-vpn-service.c
4300                 - Rename old 'state' to 'vpn-state'
4301                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
4302                 - Add 'state' and 'default' properties, hook up to the vpn connection's
4303                         'vpn-state-changed' signal
4304
4305         * libnm-glib/nm-active-connection.c
4306           libnm-glib/nm-active-connection.h
4307                 - Add new 'state' and 'default' properties and accessors
4308
4309         * libnm-glib/nm-vpn-connection.c
4310           libnm-glib/nm-vpn-connection.h
4311                 - Rename old 'state' property to 'vpn-state'
4312                 - Add new 'state' and 'default' properties and accessors
4313
4314 2008-04-21  Dan Williams  <dcbw@redhat.com>
4315
4316         * src/nm-ip4-config.c
4317                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
4318                         not specified (rh #443474)
4319
4320 2008-04-20  Dan Williams  <dcbw@redhat.com>
4321
4322         * src/NetworkManagerUtils.c
4323           src/NetworkManagerUtils.h
4324                 - (nm_utils_merge_ip4_config): new function; merge settings from an
4325                         NMSettingIP4Config to an NMIP4Config object
4326
4327         * src/nm-device.c
4328                 - (merge_ip4_config): move to NetworkManagerUtils.c
4329
4330         * src/vpn-manager/nm-vpn-connection.c
4331                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
4332                         too
4333
4334 2008-04-18  Dan Williams  <dcbw@redhat.com>
4335
4336         * libnm-util/nm-setting-ppp.c
4337           libnm-util/nm-setting-ppp.h
4338                 - Add 'no-vj-comp' option for TCP header compression
4339                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
4340                         uint32
4341
4342 2008-04-18  Dan Williams  <dcbw@redhat.com>
4343
4344         * libnm-util/nm-setting-ppp.c
4345           libnm-util/nm-setting-ppp.h
4346           src/ppp-manager/nm-ppp-manager.c
4347                 - Add 'refuse-pap' and 'refuse-mschapv2' options
4348
4349 2008-04-18  Dan Williams  <dcbw@redhat.com>
4350
4351         * libnm-util/nm-setting-ppp.c
4352           libnm-util/nm-setting-ppp.h
4353           src/ppp-manager/nm-ppp-manager.c
4354                 - Remove the 'usepeerdns' option and always request DNS servers from
4355                         the PPP server; the connection chooses to use/override/ignore the
4356                         DNS servers returned from the PPP server
4357
4358 2008-04-18  Dan Williams  <dcbw@redhat.com>
4359
4360         * libnm-util/nm-setting-ppp.c
4361           libnm-util/nm-setting-ppp.h
4362           src/ppp-manager/nm-ppp-manager.c
4363                 - Remove the 'require-mppc' option, because pppd doesn't support it and
4364                         it seems to have been an erroneous addition to the PPTP plugin in
4365                         the first place (from which the ppp-manager is derived)
4366
4367 2008-04-17  Dan Williams  <dcbw@redhat.com>
4368
4369         * libnm-util/nm-setting-pppoe.c
4370                 - (verify): require a PPP setting too
4371
4372         * src/ppp-manager/nm-ppp-manager.c
4373                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
4374                         segfaulting
4375
4376 2008-04-17  Dan Williams  <dcbw@redhat.com>
4377
4378         * src/nm-device.c
4379                 - (nm_device_state_changed): do deactivation and and promotion to
4380                         unavailable here, so that the device gets cleaned up before the
4381                         manager runs and starts emitting signals; do the
4382                         FAILED->DISCONNECTED transition from an idle handler rather than
4383                         immediately to guard against recursion
4384                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
4385                         FAILED->DISCONNECTED handler if it's scheduled
4386
4387 2008-04-17  Dan Williams  <dcbw@redhat.com>
4388
4389         * src/nm-device-802-11-wireless.c
4390                 - (state_changed_cb): clear AP list when device transitions to
4391                         unavailable or unmanaged
4392                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
4393                         since this is already done in device_cleanup()
4394                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
4395                         isn't available or managed
4396                 - (device_cleanup): use remove_all_aps()
4397                 - (remove_all_aps): consolidate code removing all APs
4398
4399 2008-04-17  Dan Williams  <dcbw@redhat.com>
4400
4401         * src/nm-serial-device.c
4402           src/nm-serial-device.h
4403                 - (wait_for_reply_got_data): break input into lines, and search each
4404                         line for responses _and_ terminator strings; also make sure that
4405                         the read loop doesn't continue after the timeout is supposed to fire
4406                 - (nm_serial_device_wait_for_reply): take an array of terminators too
4407
4408         * src/nm-gsm-device.c
4409           src/nm-cdma-device.c
4410                 - Send terminators to nm_serial_device_wait_for_reply()
4411
4412 2008-04-16  Dan Williams  <dcbw@redhat.com>
4413
4414         Patch from 陈鑫 <znscnchen@gmail.com>
4415
4416         * src/ppp-manager/nm-pppd-plugin.c
4417                 - (get_credentials): return correct value for success; handle case where
4418                         pppd just does some checking but doesn't want a password
4419                 - (plugin_init): make CHAP work too
4420
4421 2008-04-16  Dan Williams  <dcbw@redhat.com>
4422
4423         Patch from 陈鑫 <znscnchen@gmail.com>
4424
4425         * src/ppp-manager/nm-ppp-manager.c
4426                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
4427
4428 2008-04-16  Dan Williams  <dcbw@redhat.com>
4429
4430         Patch from 陈鑫 <znscnchen@gmail.com>
4431
4432         * src/nm-device-802-3-ethernet.c
4433                 - (real_deactivate_quickly): clear the IP interface name on
4434                         deactivation, otherwise the wrong interface might get used later
4435                         for routing and IP management
4436
4437 2008-04-15  Dan Williams  <dcbw@redhat.com>
4438
4439         * libnm-glib/nm-device.c
4440                 - (get_product_and_vendor): handle serial devices correctly
4441                 - (nm_device_update_description): pass device to get_product_and_vendor()
4442
4443 2008-04-15  Dan Williams  <dcbw@redhat.com>
4444
4445         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4446
4447         * src/NetworkManagerSystem.h
4448           src/backends/NetworkManagerArch.c
4449           src/backends/NetworkManagerDebian.c
4450           src/backends/NetworkManagerFrugalware.c
4451           src/backends/NetworkManagerGeneric.c
4452           src/backends/NetworkManagerGeneric.h
4453           src/backends/NetworkManagerGentoo.c
4454           src/backends/NetworkManagerMandriva.c
4455           src/backends/NetworkManagerPaldo.c
4456           src/backends/NetworkManagerRedHat.c
4457           src/backends/NetworkManagerSlackware.c
4458           src/backends/NetworkManagerSuSE.c
4459           src/nm-device.c
4460                 - (nm_generic_device_add_ip6_link_address,
4461                    nm_system_device_add_ip6_link_address): remove
4462
4463 2008-04-15  Dan Williams  <dcbw@redhat.com>
4464
4465         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
4466
4467         * src/backends/NetworkManagerArch.c
4468           src/backends/NetworkManagerDebian.c
4469           src/backends/NetworkManagerFrugalware.c
4470           src/backends/NetworkManagerGeneric.c
4471           src/backends/NetworkManagerGeneric.h
4472           src/backends/NetworkManagerGentoo.c
4473           src/backends/NetworkManagerMandriva.c
4474           src/backends/NetworkManagerPaldo.c
4475           src/backends/NetworkManagerRedHat.c
4476           src/backends/NetworkManagerSlackware.c
4477           src/backends/NetworkManagerSuSE.c
4478           src/NetworkManagerSystem.h
4479                 - flush_routes -> flush_ip4_routes
4480                 - flush_addresses -> flush_ip4_addresses
4481
4482         * src/NetworkManagerSystem.c
4483           src/nm-device.c
4484           src/vpn-manager/nm-vpn-connection.c
4485                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
4486
4487 2008-04-15  Dan Williams  <dcbw@redhat.com>
4488
4489         Remove exposure of wireless-tools mode types in the API.
4490
4491         * include/NetworkManager.h
4492                 - Define NM80211Mode enum
4493
4494         * introspection/generic-types.xml
4495                 - Describe NM_802_11_MODE enum
4496                 - Remove IW_MODE_* enum
4497
4498         * introspection/nm-access-point.xml
4499           libnm-glib/nm-access-point.c
4500           libnm-glib/nm-access-point.h
4501                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4502
4503         * introspection/nm-device-802-11-wireless.xml
4504           libnm-glib/nm-device-802-11-wireless.c
4505           libnm-glib/nm-device-802-11-wireless.h
4506                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
4507
4508         * libnm-util/nm-setting-wireless.c
4509           src/NetworkManagerAP.c
4510           src/NetworkManagerAP.h
4511           src/nm-device-802-11-wireless.c
4512           src/nm-device-802-11-wireless.h
4513           test/nm-tool.c
4514                 - Use NM80211Mode not IW_MODE_*
4515
4516 2008-04-15  Dan Williams  <dcbw@redhat.com>
4517
4518         Enhance nm-online based on a patch from Bill Nottingham.
4519
4520         * test/nm-online.c
4521                 - Add a '-q' option
4522                 - Add help messages and option summary
4523                 - Add long-format options
4524                 - Add a '-x' option to exit if NM isn't running or isn't connecting
4525
4526 2008-04-15  Tambet Ingo  <tambet@gmail.com>
4527
4528         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
4529
4530         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
4531
4532 2008-04-15  Dan Williams  <dcbw@redhat.com>
4533
4534         * nm-setting-ip4-config.c
4535                 - (ip4_addresses_from_gvalue): handle NULL address array
4536
4537         * nm-setting-8021x.c
4538                 - (verify_tls, verify_ttls): warn on failed verification
4539
4540 2008-04-10  Dan Williams  <dcbw@redhat.com>
4541
4542         * src/nm-gsm-device.c
4543                 - (automatic_registration): accept "+CREG: 0,0"
4544                 - (automatic_registration_response): fail on "+CREG: 0,0"
4545
4546 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4547
4548         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
4549
4550 2008-04-10  Tambet Ingo  <tambet@gmail.com>
4551
4552         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
4553         Make it compile again by commenting out broken code that at first didn't work and
4554         now didn't compile either.
4555
4556 2008-04-08  Dan Williams  <dcbw@redhat.com>
4557
4558         * libnm-glib/nm-object-cache.c
4559           libnm-glib/nm-settings.c
4560           src/dhcp-manager/nm-dhcp-manager.c
4561           system-settings/plugins/ifcfg-fedora/plugin.c
4562           system-settings/plugins/ifcfg-suse/plugin.c
4563           system-settings/src/nm-system-config-hal-manager.c
4564           libnm-util/nm-utils.c
4565                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
4566                         not threadsafe anyway
4567
4568 2008-04-08  Dan Williams  <dcbw@redhat.com>
4569
4570         * system-settings/src/main.c
4571                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
4572                         callbacks take a device type too
4573
4574 2008-04-08  Dan Williams  <dcbw@redhat.com>
4575
4576         The system settings service will now create a new default DHCP connection
4577         for wired devices that have no existing applicable connection.
4578
4579         * system-settings/src/nm-system-config-hal-manager.c
4580           system-settings/src/nm-system-config-hal-manager.h
4581                 - (nm_system_config_hal_manager_get_type_for_udi): new function
4582
4583         * system-settings/src/dbus-settings.c
4584           system-settings/src/dbus-settings.h
4585                 - (nm_sysconfig_settings_get_connections): new function
4586                 - (nm_sysconfig_settings_is_device_managed): new function
4587
4588         * system-settings/src/main.c
4589                 - (load_stuff): check for wired devices that need a default connection
4590                 - (get_details_for_udi): get interface and MAC address from HAL
4591                 - (add_default_dhcp_connection): add a default connection for a wired
4592                         device if needed
4593                 - (device_added_cb, device_removed_cb): do the right thing with
4594                         wired devices and their default connections on HAL device events
4595
4596 2008-04-07  Dan Williams  <dcbw@redhat.com>
4597
4598         * libnm-glib/nm-device.c
4599           libnm-glib/nm-device.h
4600                 - Proxy the 'managed' property
4601
4602 2008-04-07  Dan Williams  <dcbw@redhat.com>
4603
4604         * src/nm-gsm-device.c
4605           src/nm-cdma-device.c
4606                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4607                         handler to transition to DISCONNECTED
4608
4609 2008-04-07  Dan Williams  <dcbw@redhat.com>
4610
4611         Patch from Bill Nottingham
4612
4613         * dispatcher-daemon/NetworkManagerDispatcher.c
4614                 - ignore backup/packaging crufy (rh #440143)
4615
4616 2008-04-07  Dan Williams  <dcbw@redhat.com>
4617
4618         * include/NetworkManager.h
4619                 - Remove the DOWN and CANCELLED device states
4620                 - Add UNMANAGED and UNAVAILABLE device states
4621                 - Document the device states
4622
4623         * introspection/nm-device.xml
4624           src/nm-device-interface.c
4625           src/nm-device-interface.h
4626                 - Add the 'managed' property
4627
4628         * test/nm-tool.c
4629                 - (detail_device): print out device state
4630
4631         * src/NetworkManagerSystem.h
4632           src/backends/NetworkManagerArch.c
4633           src/backends/NetworkManagerDebian.c
4634           src/backends/NetworkManagerFrugalware.c
4635           src/backends/NetworkManagerGentoo.c
4636           src/backends/NetworkManagerMandriva.c
4637           src/backends/NetworkManagerPaldo.c
4638           src/backends/NetworkManagerRedHat.c
4639           src/backends/NetworkManagerSlackware.c
4640           src/backends/NetworkManagerSuSE.c
4641                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
4642                    nm_system_device_free_system_config): remove; they were unused and
4643                         their functionality should be re-implemented in each distro's
4644                         system settings service plugin 
4645
4646         * src/nm-gsm-device.c
4647           src/nm-gsm-device.h
4648           src/nm-cdma-device.c
4649           src/nm-cdma-device.h
4650                 - (*_new): take the 'managed' argument
4651
4652         * src/nm-device.c
4653                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
4654                 - (nm_device_init): start in unmanaged state, not disconnected
4655                 - (constructor): don't start device until the system settings service
4656                         has had a chance to figure out if the device is managed or not
4657                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
4658                         don't set device state here, let callers handle that as appropriate
4659                 - (nm_device_dispose): don't touch the device if it's not managed
4660                 - (set_property, get_property, nm_device_class_init): implement the
4661                         'managed' property
4662                 - (nm_device_state_changed): bring the device up if its now managed,
4663                         and deactivate it if it used to be active
4664                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
4665                         with the managed state
4666
4667         * src/nm-hal-manager.c
4668                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
4669                         take initial managed state and pass it along to device constructors
4670                 - (create_device_and_add_to_list): get managed state and pass to
4671                         type creators
4672
4673         * src/nm-device-802-11-wireless.c
4674                 - (real_can_activate): fold in most of
4675                         nm_device_802_11_wireless_can_activate()
4676                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
4677                 - (link_timeout_cb): instead of deactivating, change device state and
4678                         let the device state handler to it
4679                 - (real_update_hw_address): clean up
4680                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
4681                         handler to transition to DISCONNECTED if the device isn't rfkilled
4682
4683         * src/nm-device-802-3-ethernet.c
4684                 - (set_carrier): move above callers and get rid of prototype
4685                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
4686                         idle handler to transition to DISCONNECTED if the device has a
4687                         carrier
4688                 - (real_update_hw_address): clean up
4689                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
4690                         deactivation directly as deactivation doesn't change state anymore
4691
4692         * src/NetworkManagerPolicy.c
4693                 - (schedule_activate_check): yay, remove wireless_enabled hack since
4694                         the NMManager and wireless devices work that out themselves now
4695                 - (device_state_changed): change to a switch and update for new device
4696                         states
4697                 - (device_carrier_changed): remove; device handles this now through
4698                         state changes
4699                 - (device_added): don't care about carrier any more; the initial
4700                         activation check will happen when the device transitions to
4701                         DISCONNECTED
4702
4703         * src/nm-manager.c
4704                 - (dispose): clear unmanaged devices
4705                 - (handle_unmanaged_devices): update unmanaged device list and toggle
4706                         the managed property on each device when needed
4707                 - (system_settings_properties_changed_cb): handle signals from the
4708                         system settings service
4709                 - (system_settings_get_unmanaged_devices_cb): handle callback from
4710                         getting the unmanaged device list method call
4711                 - (query_unmanaged_devices): ask the system settings service for its
4712                         list of unmanaged devices
4713                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
4714                         devices
4715                 - (manager_set_wireless_enabled): push rfkill state down to wireless
4716                         devices directly and let them handle the necessary state transitions
4717                 - (manager_device_state_changed): update for new device states
4718                 - (nm_manager_add_device): set initial rfkill state on wireless devices
4719                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
4720                 - (nm_manager_activate_connection): return error if the device is
4721                         unmanaged
4722                 - (nm_manager_sleep): handle new device states correctly; don't change
4723                         the state of unavailable/unmanaged devices
4724
4725         * libnm-glib/nm-device-802-11-wireless.c
4726                 - (state_changed_cb): update for new device states
4727
4728 2008-04-07  Dan Williams  <dcbw@redhat.com>
4729
4730         * marshallers/nm-marshal.list
4731                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
4732
4733 2008-04-07  Dan Williams  <dcbw@redhat.com>
4734
4735         * system-settings/src/main.c
4736                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
4737                         plugins to the dbus settings object
4738                 - (load_stuff): start the dbus service after grabbing unmanaged devices
4739                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
4740                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
4741                 - (main): switch default logging to syslog with a 'debug' option to
4742                         output to console; start up the HAL manager
4743
4744 2008-04-07  Dan Williams  <dcbw@redhat.com>
4745
4746         * introspection/nm-settings-system.xml
4747           introspection/Makefile.am
4748                 - Define the unmanaged devices interface for the system settings service
4749
4750         * system-settings/src/nm-system-config-hal-manager.c
4751           system-settings/src/nm-system-config-hal-manager.h
4752           system-settings/src/nm-system-config-hal-manager-private.h
4753           system-settings/src/Makefile.am
4754                 - Add a lightweight HAL manager object for tracking network devices for
4755                         the purpose of determining unmanaged devices and which devices need
4756                         the default DHCP connections
4757
4758         * system-settings/src/nm-system-config-interface.c
4759           system-settings/src/nm-system-config-interface.h
4760                 - (nm_system_config_interface_init): add the HAL manager as an argument
4761                 - (nm_system_config_interface_get_unmanaged_devices): implement
4762                 - Define 'unmanaged-devices-changed' signal
4763
4764         * system-settings/src/dbus-settings.c
4765           system-settings/src/dbus-settings.h
4766                 - Implement the unmanaged devices interface; some cleanups
4767
4768         * system-settings/plugins/ifcfg-suse/plugin.c
4769                 - Fixup for plugin interface changes
4770
4771         * system-settings/plugins/ifcfg-fedora/plugin.c
4772                 - (get_ether_device_udi): new function; find the device that has
4773                         a specified MAC address and return its UDI
4774                 - (get_udi_for_connection): new function; try to find the specific
4775                         device a connection is locked to, if any
4776                 - (device_added_cb, device_removed_cb): update unmanaged device list in
4777                         response to HAL events
4778                 - (get_unmanaged_devices): new function; return unmanaged device list
4779                 - (build_one_connection): set the connection's locked device, if any
4780                 - (write_auto_wired_connection): remove
4781                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
4782                 - (handle_connection_changed): alert listeners that the unmanaged device
4783                         list has changed
4784                 - (init): fixup for plugin interface changes, implement unmanaged devices
4785
4786         * system-settings/plugins/ifcfg-fedora/parser.c
4787           system-settings/plugins/ifcfg-fedora/parser.h
4788                 - (connection_data_free): clean up connection UDI
4789
4790 2008-04-07  Dan Williams  <dcbw@redhat.com>
4791
4792         * system-settings/plugins/ifcfg-fedora/parser.c
4793                 - (make_ip4_setting): fix parsing of DNS servers
4794
4795 2008-04-05  Dan Williams  <dcbw@redhat.com>
4796
4797         * Makefile.am
4798           configure.in
4799           marshallers/Makefile.am
4800           marshallers/nm-marshal-main.c
4801           marshallers/nm-marshal.list
4802                 - Consolidate marshallers
4803
4804         * libnm-glib/nm-marshal-main.c
4805           libnm-glib/nm-marshal.list
4806           src/marshallers/Makefile.am
4807           src/marshallers/nm-marshal-main.c
4808           src/marshallers/nm-marshal.list
4809                 - Remove
4810
4811         * libnm-glib/Makefile.am
4812           src/Makefile.am
4813           src/dhcp-manager/Makefile.am
4814           src/ppp-manager/Makefile.am
4815           src/supplicant-manager/Makefile.am
4816           src/vpn-manager/Makefile.am
4817                 - Use consolidated marshallers
4818
4819 2008-04-04  Dan Williams  <dcbw@redhat.com>
4820
4821         * src/nm-hal-manager.c
4822           src/nm-hal-manager.h
4823                 - (hal_init): don't look for hardware here
4824                 - (nm_hal_manager_start): new function; look for hardware here instead,
4825                         which can be done at a later time than hal_init()
4826
4827         * src/NetworkManager.c
4828                 - (main): start HAL manager after entering the main loop
4829
4830 2008-04-03  Dan Williams  <dcbw@redhat.com>
4831
4832         * libnm-glib/nm-settings.c
4833           libnm-glib/nm-settings.h
4834             - (nm_exported_connection_get_id): new function
4835                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
4836
4837 2008-04-02  Dan Williams  <dcbw@redhat.com>
4838
4839         * src/nm-device-interface.c
4840           src/nm-device-interface.h
4841           src/nm-device.c
4842           src/nm-device.h
4843                 - Rename check_connection_conflicts() to check_connection_compatible()
4844
4845         * src/nm-device-802-11-wireless.c
4846                 - (real_check_connection_conflicts): remove
4847                 - (real_check_connection_compatible): implement; match MAC address
4848
4849         * src/nm-device-802-3-ethernet.c
4850                 - (real_check_connection_conflicts): remove
4851                 - (real_check_connection_compatible): implement; match MAC address
4852                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4853
4854         * src/nm-manager.c
4855                 - (check_connection_allowed): remove; unused until PolicyKit integration
4856                 - (internal_activate_device): check whether the connection is compatible
4857                         with the device before trying to activate it
4858
4859 2008-04-02  Dan Williams  <dcbw@redhat.com>
4860
4861         * system-settings/plugins/ifcfg-fedora/parser.c
4862                 - (read_mac_address): new function; read in MAC address and stuff it
4863                         into the connection
4864                 - (add_one_wep_key): remove debug spew
4865                 - (make_wireless_security_setting): validate the default TX key; don't
4866                         add the wireless-security setting if the connection doesn't need
4867                         security; don't leak the keys shvarFile on error cases
4868                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4869                         address
4870
4871 2008-04-02  Dan Williams  <dcbw@redhat.com>
4872
4873         * libnm-util/nm-setting-connection.c
4874           libnm-util/nm-setting-connection.h
4875                 - (set_property, get_property, nm_setting_connection_class_init): remove
4876                         the 'lockdown' property; it's functionality will be replaced by
4877                         PolicyKit instead
4878
4879 2008-04-01  Dan Williams  <dcbw@redhat.com>
4880
4881         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4882
4883         * configure.in
4884           initscript/Makefile.am
4885           initscript/Mandriva/Makefile.am
4886           initscript/Mandriva/networkmanager.in
4887           initscript/Mandriva/networkmanagerdispatcher.in
4888           src/backends/Makefile.am
4889           src/backends/NetworkManagerMandriva.c
4890           system-settings/plugins/Makefile.am
4891                 - Add Mandriva support
4892
4893 2008-03-31  Dan Williams  <dcbw@redhat.com>
4894
4895         * src/vpn-manager/nm-vpn-service.c
4896                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4897                         errors can be passed back to the caller; also no longer scheduled
4898                         as an idle handler, but called directly; and bump up VPN service
4899                         spawn timeout, 2s is really short
4900                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4901                         but call it directly so that errors are reported on return from
4902                         ActivateConnection() and don't get lost.  If scheduled as an idle
4903                         handler, clients don't have the time to query NM for the new VPN
4904                         connection's properties before the VPN connection is torn down again
4905                         if the service couldn't be launched, and therefore launch errors
4906                         get lost.
4907
4908 2008-03-31  Dan Williams  <dcbw@redhat.com>
4909
4910         * src/vpn-manager/nm-vpn-connection.c
4911                 - (device_state_changed): send correct state on device failure too
4912                 - (plugin_state_changed): failed state means unexpected disconnection,
4913                         thus if the service goes away while the VPN connection is activated
4914                         that's a failure too
4915
4916 2008-03-31  Dan Williams  <dcbw@redhat.com>
4917
4918         * src/vpn-manager/nm-vpn-manager.c
4919           src/vpn-manager/nm-vpn-manager.h
4920                 - Make VPNManager errors more available; add a service-start-failed error
4921
4922 2008-03-31  Dan Williams  <dcbw@redhat.com>
4923
4924         * libnm-glib/nm-client.c
4925           libnm-glib/nm-client.h
4926                 - (activate_cb): pass the new active connection to callback; fix
4927                         message when no callback is specified
4928
4929 2008-03-30  Dan Williams  <dcbw@redhat.com>
4930
4931         * libnm-util/nm-setting-wireless-security.c
4932                 - (need_secrets): only require key0 if the transmit key index is also
4933                         0
4934                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4935
4936 2008-03-29  Dan Williams  <dcbw@redhat.com>
4937
4938         * libnm-util/nm-setting-8021x.c
4939           libnm-util/nm-setting-ip4-config.c
4940           libnm-util/nm-setting-vpn-properties.c
4941           libnm-util/nm-setting-vpn.c
4942           libnm-util/nm-setting-wireless-security.c
4943           libnm-util/nm-setting-wireless.c
4944           libnm-util/nm-utils.c
4945           src/dhcp-manager/nm-dhcp-manager.c
4946           src/nm-activation-request.c
4947           src/nm-ip4-config.c
4948           src/nm-manager.c
4949           src/nm-properties-changed-signal.c
4950           src/ppp-manager/nm-pppd-plugin.c
4951           src/supplicant-manager/nm-supplicant-interface.c
4952           src/vpn-manager/nm-vpn-connection.c
4953                 - consistently use nm-dbus-glib-types.h
4954
4955 2008-03-29  Dan Williams  <dcbw@redhat.com>
4956
4957         * src/vpn-manager/nm-vpn-connection.c
4958                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4959                         not string
4960
4961         * src/nm-activation-request.c
4962                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4963                         not string
4964
4965 2008-03-29  Dan Williams  <dcbw@redhat.com>
4966
4967         * libnm-glib/nm-device-802-11-wireless.c
4968                 - (access_point_added_proxy): create new APs if not found
4969
4970 2008-03-29  Dan Williams  <dcbw@redhat.com>
4971
4972         * libnm-glib/nm-client.c
4973                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4974                         before freeing them
4975
4976 2008-03-29  Dan Williams  <dcbw@redhat.com>
4977
4978         * system-settings/plugins/ifcfg-fedora/parser.c
4979                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4980                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4981
4982 2008-03-29  Dan Williams  <dcbw@redhat.com>
4983
4984         * system-settings/plugins/ifcfg-fedora/parser.c
4985                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4986
4987 2008-03-27  Dan Williams  <dcbw@redhat.com>
4988
4989         * nm-object.c
4990                 - (nm_object_queue_notify): don't notify multiple times for the same
4991                         property
4992
4993         * nm-object-private.h
4994                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4995                         if it has zero elements
4996
4997         * nm-ip4-config.c
4998                 - (finalize): use g_ptr_array_foreach() when freeing domains
4999                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
5000
5001         * nm-active-connection.c
5002                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
5003
5004         * nm-device-802-11-wireless.c
5005           nm-device-802-11-wireless.h
5006                 - (nm_device_802_11_wireless_get_access_points): return const; use
5007                         handle_ptr_array_return()
5008
5009         * nm-types.c
5010                 - (nm_object_array_demarshal): always create an array, even of length
5011                         zero, to distinguish between "NM returned no items" and "haven't
5012                         asked NM yet"
5013
5014         * nm-client.c
5015                 - (dispose): free active connections too
5016                 - (proxy_name_owner_changed): free active connections too when NM goes
5017                         away
5018                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
5019                 - (nm_client_get_active_connections): use handle_ptr_array_return()
5020
5021 2008-03-26  Dan Williams  <dcbw@redhat.com>
5022
5023         Rework VPN connection handling for a more consistent D-Bus API.  The
5024         VPNManager object has been removed, and active VPN connections are now the
5025         same as any other active connection.  The Manager object's ActivateConnection
5026         and DeactivateConnection methods are used to start and stop a VPN connection,
5027         and the VPNConnection objects are subclasses of the ActiveConnection objects.
5028         When activating a VPN connection, pass the path of the active connection
5029         to which the VPN connection is tied in the 'specific_object' argument.
5030
5031         Consequently, the libnm-glib API has been reworked to match this arrangement,
5032         with the VPNManager object removed, and the NMVPNConnection objects now
5033         being subclasses of NMActiveConnection.
5034
5035 2008-03-25  Dan Williams  <dcbw@redhat.com>
5036
5037         Patch from Björn Martensen <bjoern.martensen@gmail.com>
5038
5039         * initscript/Arch/networkmanager.in
5040           initscript/Arch/networkmanager-dispatcher.in
5041                 - Updates for Arch Linux (gnome.org #523701)
5042
5043 2008-03-25  Dan Williams  <dcbw@redhat.com>
5044
5045         * libnm-glib/nm-ip4-config.c
5046           libnm-glib/nm-active-connection.c
5047           libnm-glib/nm-access-point.c
5048                 - Use nm_object_queue_notify() instead of g_object_notify()
5049
5050         * libnm-glib/nm-device.c
5051                 - (demarshal_ip4_config): distinguish between successful but missing
5052                         ip4-config request, and unsuccessful and missing ip4-config request
5053                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
5054                         path
5055                 - Use nm_object_queue_notify() instead of g_object_notify()
5056
5057         * libnm-glib/nm-device-802-11-wireless.c
5058                 - (demarshal_active_ap): distinguish between successfull but missing
5059                         active-ap request, and unsuccessful and missing active-ap request
5060                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
5061                         code
5062                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
5063                         for the NMClient to notify the device that wireless is disabled,
5064                         and therefore to clear the AP list and active AP
5065                 - Use nm_object_queue_notify() instead of g_object_notify()
5066
5067         * libnm-glib/nm-client.c
5068                 - (poke_wireless_devices_with_rf_status): new function
5069                 - (update_wireless_status): notify wireless devices of the rfkill status
5070                         so they can clean up if needed
5071                 - Use nm_object_queue_notify() instead of g_object_notify()
5072
5073 2008-03-25  Dan Williams  <dcbw@redhat.com>
5074
5075         * libnm-glib/nm-object.c
5076           libnm-glib/nm-object-private.h
5077                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
5078                         signals to an idle handler
5079                 - (nm_object_get_property): add a timeout to the D-Bus method call
5080
5081 2008-03-25  Dan Williams  <dcbw@redhat.com>
5082
5083         * introspection/nm-device-cdma.xml
5084           introspection/nm-device-gsm.xml
5085           introspection/Makefile.am
5086           introspection/all.xml
5087                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
5088
5089         * src/nm-gsm-device.h
5090           src/nm-gsm-device.c
5091           src/nm-cdma-device.h
5092           src/nm-cdma-device.c
5093           src/Makefile.am
5094                 - Implement PropertiesChanged signals
5095
5096         * libnm-glib/nm-cdma-device.c
5097           libnm-glib/nm-cdma-device.c
5098                 - Attach to PropertiesChanged signals
5099
5100 2008-03-24  Dan Williams  <dcbw@redhat.com>
5101
5102         * libnm-glib/nm-client.c
5103                 - (client_device_added_proxy): add new devices to the internal device
5104                         list so they appear to clients
5105
5106 2008-03-24  Dan Williams  <dcbw@redhat.com>
5107
5108         Massive fixup of libnm-glib to:
5109         a) have all objects (with the exception of VPN) cache their properties and
5110                 update them asynchronously on PropertiesChanged signals from NM
5111         b) return internal const data for most attributes/properties instead of
5112                 allocated values that the caller must free
5113         c) cache wrapped objects such that a given D-Bus path will always map to the
5114                 same GObject returned by libnm-glib
5115         d) remove a few signals and move them to GObject property notifications
5116         e) match recent NM D-Bus API changes for activation/deactivation
5117         f) remove some private functions from libnm-glib headers
5118
5119 2008-03-20  Dan Williams  <dcbw@redhat.com>
5120
5121         * src/nm-manager.c
5122                 - (nm_manager_update_state, manager_device_state_changed,
5123                    nm_manager_activate_device, connection_added_default_handler,
5124                    impl_manager_activate_connection, impl_manager_deactivate_connection):
5125                         queue PropertyChanged singals when the active connections change
5126
5127 2008-03-20  Dan Williams  <dcbw@redhat.com>
5128
5129         * introspection/nm-manager.xml
5130           introspection/nm-manager-client.xml
5131                 - (ActivateConnection): return the object path of the active connection
5132                         on success
5133                 - (GetActiveConnections): remove
5134                 - (DeactivateConnection): new function; deactivate a currently active
5135                         connection
5136                 - Add an ActiveConnections property which returns an array of
5137                         active connection object paths
5138
5139         * introspection/nm-device.xml
5140                 - (Deactivate): remove
5141
5142         * introspection/all.xml
5143                 - Add ActiveConnection introspection
5144
5145         * introspection/nm-active-connection.xml
5146                 - Add the ActiveConnection object
5147
5148         * include/NetworkManager.h
5149                 - Add the Connection.Active D-Bus interface
5150
5151         * src/nm-device-interface.c
5152                 - (impl_device_deactivate): remove
5153
5154         * src/nm-activation-request.c
5155           src/nm-activation-request.c
5156           src/Makefile.am
5157                 - Implement the Connection.Active D-Bus interface
5158
5159         * src/nm-manager.c
5160                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
5161                 - (nm_manager_activate_device): return the active connection path
5162                 - (connection_added_default_handler, impl_manager_activate_connection):
5163                         return the active connection to the caller
5164                 - (add_one_connection_element, impl_manager_get_active_connections):
5165                         remove
5166                 - (impl_manager_deactivate_connection): new function; deactivate an
5167                         active connection
5168
5169         * libnm-glib/nm-device.c
5170           libnm-glib/nm-device.h
5171                 - Remove Deactivate() function
5172
5173 2008-03-19  Dan Williams  <dcbw@redhat.com>
5174
5175         * introspection/nm-manager.xml
5176           introspection/nm-manager-client.xml
5177                 - Rename the ActivateDevice method to ActivateConnection to better
5178                         reflect it's usage; it's arguments get reordered a bit too
5179                 - Convert GetActiveConnections method return from a struct to a dict
5180
5181         * include/NetworkManager.h
5182                 - Define the dict keys for return value of GetActiveConnections
5183
5184         * src/nm-manager.c
5185                 - impl_manager_activate_device -> impl_manager_activate_connection
5186                 - (add_one_connection_element): return a populated hash table, not
5187                         a structure
5188
5189         * libnm-glib/nm-client.c
5190           libnm-glib/nm-client.h
5191                 - nm_client_activate_device -> nm_client_activate_connection
5192                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
5193                 - (nm_client_get_active_connections): return a GSList of GHashTables,
5194                         instead of the custom structures.  Each element of the returned list
5195                         must be freed with nm_client_free_active_connections_element()
5196
5197 2008-03-18  Dan Williams  <dcbw@redhat.com>
5198
5199         * system-settings/plugins/ifcfg-fedora/parser.c
5200           system-settings/plugins/ifcfg-fedora/parser.h
5201           system-settings/plugins/ifcfg-fedora/plugin.c
5202                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
5203                         profiles.  DNS servers and searches must now be stored in the ifcfg
5204                         files themselves
5205
5206 2008-03-18  Tambet Ingo  <tambet@gmail.com>
5207
5208         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
5209         print out username and password, it's supposed to be a secret.
5210
5211         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
5212         request and set the device state accordingly.
5213
5214 2008-03-18  Tambet Ingo  <tambet@gmail.com>
5215
5216         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
5217
5218         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
5219
5220 2008-03-18  Dan Williams  <dcbw@redhat.com>
5221
5222         * src/vpn-manager/nm-vpn-connection.c
5223                 - (get_secrets_cb): handle new GetSecrets return format
5224
5225 2008-03-18  Dan Williams  <dcbw@redhat.com>
5226
5227         Adapt system settings service for split 802.1x.
5228
5229         * system-settings/src/nm-system-config-interface.h
5230                 - clarify return value of get_secrets()
5231
5232         * system-settings/src/dbus-settings.c
5233                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
5234                 - (check_for_secrets): check if there actually secrets returned by a
5235                         plugin
5236                 - (exported_connection_get_secrets): just return the plugin-returned
5237                         hash of settings' secrets if it looks valid
5238
5239         * system-settings/plugins/ifcfg-fedora/plugin.c
5240                 - (get_secrets): add split secrets with correct format to reply hash
5241
5242         * system-settings/plugins/ifcfg-fedora/parser.c
5243           system-settings/plugins/ifcfg-fedora/parser.h
5244                 - (copy_one_cdata_secret, connection_data_copy_secrets,
5245                    connection_data_free, connection_data_add): keep secrets for
5246                         different settings in different hashes
5247
5248 2008-03-17  Tambet Ingo  <tambet@gmail.com>
5249
5250         Clean up activating device deactivation.
5251
5252         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
5253         should be done whether the device activation gets cancelled or the device
5254         is just getting deactivated.
5255         (nm_device_activation_cancel): Remove.
5256         (nm_device_deactivate_quickly): Handle the case where device is activating.
5257
5258         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
5259         It does the exact same thing as real_deactivate_quickly().
5260
5261 2008-03-17  Dan Williams  <dcbw@redhat.com>
5262
5263         Split the 802.1x bits out of the wireless-security setting so they are
5264         generalized enough for wired 802.1x to use too.
5265
5266         * introspection/nm-exported-connection.xml
5267                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
5268                         of just a hash of the secrets for one setting
5269
5270         * libnm-util/nm-setting-wireless-security.c
5271           libnm-util/nm-setting-wireless-security.h
5272                 - Remove 802.1x-specific stuff
5273                 - Added leap-username and leap-password properties for old-school LEAP
5274
5275         * src/nm-device.c
5276           src/nm-device.h
5277                 - (connection_secrets_updated_cb): take a list of updated settings names,
5278                         not just one
5279
5280         * src/supplicant-manager/nm-supplicant-config.c
5281           src/supplicant-manager/nm-supplicant-config.h
5282                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
5283                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
5284                         to nm_supplicant_config_add_setting_8021x()
5285                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
5286                         the supplicant config
5287
5288         * src/nm-device-802-11-wireless.c
5289                 - (build_supplicant_config): pass in the 802.1x setting too, if any
5290                 - (real_connection_secrets_updated): take a list of updated settings
5291                         names, not just one
5292
5293         * src/nm-device-802-3-ethernet.c
5294           src/nm-cdma-device.c
5295           src/nm-gsm-device.c
5296                 - (real_connection_secrets_updated_cb): take a list of updated settings
5297                         names, not just one
5298
5299         * src/nm-activation-request.c
5300           src/nm-activation-request.h
5301                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
5302                         now passes a list of updated settings names, not just one
5303                 - (update_one_setting): new function; handle one updated setting
5304                 - (get_secrets_cb): handle multiple settings returned from the
5305                         settings service; have to be careful of ordering here as there are
5306                         some dependencies between settings (ex. wireless-security and 802.1x
5307                         in some cases)
5308
5309         * src/marshallers/nm-marshal.list
5310                 - new marshaller for connection-secrets-updated signal
5311
5312         * libnm-util/nm-setting-8021x.c
5313                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
5314                         methods
5315                 - (verify): a valid 'eap' property is now required
5316
5317         * libnm-util/nm-connection.c
5318                 - (register_default_settings): add priorities to settings; there are
5319                         some dependencies between settings, and during the need_secrets
5320                         calls this priority needs to be respected.  For example, only the
5321                         wireless-security setting knows whether or not the connection is
5322                         going to use 802.1x or now, so it must be asked for secrets before
5323                         any existing 802.1x setting is
5324                 - (nm_connection_lookup_setting_type): expose
5325
5326         * libnm-util/nm-setting-wireless.c
5327                 - (verify): should verify even if all_settings is NULL; otherwise won't
5328                         catch the case where there is missing security
5329
5330         * libnm-util/nm-setting-wireless-security.c
5331                 - Remove everything to do with 802.1x
5332                 - Add old-school LEAP specific properties for username and password
5333                 - (need_secrets): rework LEAP secrets checking
5334                 - (verify): rework for LEAP and 802.1x verification
5335
5336 2008-03-17  Dan Williams  <dcbw@redhat.com>
5337
5338         * src/NetworkManagerPolicy.c
5339                 - (auto_activate_device): always remove the current activation check
5340                         from the pending activation list, otherwise when the policy gets
5341                         destroyed on NM exit it will attempt to free the already freed
5342                         activation check
5343
5344 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5345
5346         * src/backends/NetworkManagerSlackware.c 
5347         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
5348
5349         * src/backends/NetworkManagerSuSE.c: Add missing includes.
5350
5351 2008-03-14  Dan Williams  <dcbw@redhat.com>
5352
5353         * src/nm-manager.c
5354                 - (nm_device_interface_get_iface): g_object_get() will return an
5355                         allocated value, so this function must not return const
5356                 - (nm_device_interface_activate): free returned iface
5357
5358 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5359
5360         * libnm-util/Makefile.am: Add new files to build.
5361
5362         * libnm-util/nm-connection.c: Register NMSetting8021x.
5363
5364         * libnm-util/nm-setting-8021x.c
5365         * libnm-util/nm-setting-8021x.h: Implement.
5366
5367 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5368
5369         * libnm-util/Makefile.am: Add new files to build.
5370
5371         * libnm-util/nm-connection.c: Register NMSetting8021x.
5372
5373         * libnm-util/nm-setting-8021x.c
5374         * libnm-util/nm-setting-8021x.h: Implement.
5375
5376 2008-03-14  Tambet Ingo  <tambet@gmail.com>
5377
5378         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
5379         data.
5380
5381 2008-03-14  Dan Williams  <dcbw@redhat.com>
5382
5383         * include/wireless-helper.h
5384           include/Makefile.am
5385                 - One place for all the junk needed for #including wireless.h
5386
5387         * test/nm-tool.c
5388           src/NetworkManagerAP.c
5389           src/wpa.c
5390           src/Makefile.am
5391           libnm-util/nm-utils.c
5392           libnm-util/nm-setting-wireless.c
5393           libnm-glib/nm-device-802-11-wireless.c
5394           libnm-glib/nm-access-point.c
5395           libnm-glib/libnm-glib-test.c
5396                 - include wireless-helper.h, not iwlib.h
5397
5398         * configure.in
5399                 - Don't need libiw really, just need to check for wireless.h
5400
5401         * src/kernel-types.h
5402                 - Remove; used types moved into wpa.c
5403
5404         * src/nm-device-802-11-wireless.c
5405                 - (nm_device_802_11_wireless_update_signal_strength,
5406                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
5407                    nm_device_802_11_wireless_set_mode,
5408                    nm_device_802_11_wireless_get_frequency,
5409                    nm_device_802_11_wireless_get_ssid,
5410                    nm_device_802_11_wireless_set_ssid,
5411                    nm_device_802_11_wireless_get_bitrate,
5412                    nm_device_802_11_wireless_get_bssid,
5413                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
5414                         instead of iwlib functions
5415
5416 2008-03-14  Dan Williams  <dcbw@redhat.com>
5417
5418         * src/ppp-manager/nm-ppp-manager.c
5419                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
5420                         should only take the DBusGMethodInvocation argument, not user/pass
5421                         too.  With dbus-glib, async functions only take 2 C arguments since
5422                         the real dbus method arguments get passed back with
5423                         dbus_g_method_return()
5424
5425 2008-03-13  Tambet Ingo  <tambet@gmail.com>
5426
5427         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
5428         Adapt the changes of NMSettingIP4Config.
5429
5430 2008-03-13  Dan Williams  <dcbw@redhat.com>
5431
5432         * src/NetworkManagerUtils.c
5433           src/NetworkManagerUtils.h
5434                 - (nm_ether_ntop): replacement for iw_ether_ntop()
5435
5436         * src/NetworkManagerAP.c
5437           src/nm-device-802-11-wireless.c
5438           src/nm-device-802-3-ethernet.c
5439                 - s/iw_ether_ntop/nm_ether_ntop/g
5440
5441 2008-03-13  Dan Williams  <dcbw@redhat.com>
5442
5443         * src/NetworkManagerPolicy.c
5444                 - (update_routing_and_dns): never set the default route through an
5445                         IPv4LL addressed device
5446
5447 2008-03-13  Dan Williams  <dcbw@redhat.com>
5448
5449         * NetworkManagerUtils.c
5450           NetworkManagerUtils.h
5451                 - Remove NMSock stuff
5452                 - Remove the completion stuff
5453
5454         * nm-device.c
5455           nm-device.h
5456           NetworkManager.c
5457           NetworkManagerSystem.c
5458           autoip.c
5459           nm-device-802-11-wireless.c
5460           nm-device-802-3-ethernet.c
5461                 - Remove NMSock and completion stuff
5462                 - Remove nm_ioctl_info()
5463
5464 2008-03-12  Dan Williams  <dcbw@redhat.com>
5465
5466         * src/nm-device.c
5467                 - (merge_ip4_config): avoid duplicates
5468
5469 2008-03-12  Dan Williams  <dcbw@redhat.com>
5470
5471         * libnm-util/nm-setting-ip4-config.c
5472           libnm-util/nm-setting-ip4-config.h
5473                 - Remove 'manual' and 'autoip' properties
5474                 - Add 'method' property
5475                 - (verify): fix verification with 'method'
5476                 - (finalize): free 'method'
5477                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
5478                         up for 'method'
5479
5480         * src/nm-device.c
5481                 - (real_act_stage3_ip_config_start): check IP4Config method
5482                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
5483                         the future
5484                 - (merge_ip4_config): IP settings are valid with DHCP too
5485                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
5486                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
5487
5488         * src/nm-device-802-11-wireless.c
5489                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
5490                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
5491                         only on demand
5492
5493         * system-settings/plugins/ifcfg-fedora/parser.c
5494           system-settings/plugins/ifcfg-suse/parser.c
5495                 - (make_ip4_setting): fix up for 'method'
5496
5497 2008-03-12  Dan Williams  <dcbw@redhat.com>
5498
5499         * system-settings/plugins/ifcfg-fedora/parser.c
5500           system-settings/plugins/ifcfg-fedora/parser.h
5501                 - (get_ifcfg_name): ignore more file suffixes
5502                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
5503
5504 2008-03-12  Dan Williams  <dcbw@redhat.com>
5505
5506         * configure.in
5507                 - Bring in the bits of gnome-common we actually use (all 15 lines)
5508
5509 2008-03-12  Dan Williams  <dcbw@redhat.com>
5510
5511         * system-settings/plugins/ifcfg-fedora/plugin.c
5512                 - (write_auto_wired_connection): new function; write out an auto
5513                         wired connection file since the applet isn't doing it any more
5514                 - (reload_all_connections): write out the auto wired connection file
5515                         if there aren't any wired connections already
5516                 - (init): don't leak a GError
5517
5518 2008-03-12  Dan Williams  <dcbw@redhat.com>
5519
5520         * src/nm-device-interface.c
5521                 - (nm_device_interface_activate): print the ID of the connection
5522                         that's about to be activated
5523
5524 2008-03-12  Dan Williams  <dcbw@redhat.com>
5525
5526         Harmonize the 802.11 bitrate API
5527
5528         * introspection/nm-access-point.xml
5529                 - 'Rate' -> 'MaxBitrate'; clarify units
5530
5531         * introspection/nm-device-802-11-wireless.xml
5532                 - Clarify units of 'Bitrate'
5533
5534         * src/NetworkManagerAP.c
5535           src/NetworkManagerAP.h
5536                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
5537                         property to 'max-bitrate'
5538                 - (foreach_property_cb): convert rate to Kb/s
5539
5540         * src/nm-device-802-11-wireless.c
5541                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
5542
5543         * libnm-glib/nm-access-point.c
5544           libnm-glib/nm-access-point.h
5545                 - 'rate' -> 'max-bitrate'
5546
5547         * test/nm-tool.c
5548           libnm-glib/libnm-glib-test.c
5549                 - Fix up for these changes
5550
5551 2008-03-12  Dan Williams  <dcbw@redhat.com>
5552
5553         * src/nm-device.c
5554                 - (nm_device_set_ip4_config): don't send property notifications when
5555                         the ip4 config is set to NULL; it causes a PropertyChanged signal
5556                         which dbus-glib can't parse because the value is NULL, which isn't
5557                         a legal object path.  Setting the IP4 config to NULL is only
5558                         valid when deactivating a device anyway, so the device state change
5559                         will alert listeners that the ip4 config is invalid.
5560
5561 2008-03-12  Dan Williams  <dcbw@redhat.com>
5562
5563         * src/nm-properties-changed-signal.c
5564                 - (add_to_string): better handling of NULL objects
5565
5566 2008-03-12  Dan Williams  <dcbw@redhat.com>
5567
5568         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
5569         convert the libnm-glib NMDevice8023Ethernet to cached properties
5570
5571         * introspection/nm-device-802-3-ethernet.xml
5572                 - New 'Carrier' property
5573                 - New 'PropertiesChanged' signal
5574
5575         * introspection/nm-device.xml
5576                 - Remove 'Carrier' property
5577                 - Remove 'CarrierChanged' signal
5578
5579         * src/nm-device-interface.c
5580           src/nm-device-interface.h
5581                 - (nm_device_interface_init): remove 'carrier' property and
5582                         'carrier-changed' signal
5583
5584         * src/nm-device.c
5585           src/nm-device.h
5586                 - (nm_device_get_carrier, nm_device_set_carrier): remove
5587                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
5588                         the link here; wired device will handle that
5589                 - (handle_dhcp_lease_change): don't bother updating link here
5590                 - (get_property, nm_device_class_init): remove carrier property
5591
5592         * src/nm-device-802-11-wireless.c
5593                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
5594                         real_update_link(); wireless devices don't use carrier at all
5595                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
5596                    supplicant_iface_connection_state_cb_handler,
5597                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
5598
5599         * src/nm-device-802-3-ethernet.c
5600           src/nm-device-802-3-ethernet.h
5601                 - (nm_device_802_3_ethernet_carrier_on,
5602                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
5603                         instead of nm_device_set_carrier()
5604                 - (device_state_changed): update link from sysfs on activation;
5605                         replaces real_update_link()
5606                 - (real_update_link): remove, replaced by device_state_changed()
5607                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
5608                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
5609                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
5610                         new get_carrier function
5611                 - (get_property): add 'carrier' property
5612                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
5613                         hook into property-changed signal helper
5614
5615         * src/NetworkManagerPolicy.c
5616                 - (device_carrier_changed): will only ever be called with a wired device
5617                 - (device_added): only hook up to carrier-changed for wired devices
5618
5619         * libnm-glib/nm-device.c
5620           libnm-glib/nm-device.h
5621                 - (constructor, nm_device_class_init): remove carrier-changed signal
5622                 - (device_carrier_changed_proxy): remove; unused
5623                 - (nm_device_get_carrier): remove; carrier a property of wired devices
5624
5625         * libnm-glib/nm-device-802-3-ethernet.c
5626           libnm-glib/nm-device-802-3-ethernet.h
5627                 - Convert to cached properties like AP and Wireless objects
5628                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
5629                         instead of a 'char *', return value should not be freed
5630                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
5631                 - (constructor): hook into properties-changed helper
5632                 - (set_property, get_property): new functions
5633                 - (nm_device_802_3_ethernet_class_init): export GObject properties
5634
5635         * test/nm-tool.c
5636                 - (detail_device): strdup the wired hardware address too since it's
5637                         cached now
5638
5639         * libnm-glib/libnm-glib-test.c
5640                 - (dump_wired): strdup the wired hardware address too since it's
5641                         cached now
5642
5643 2008-03-12  Dan Williams  <dcbw@redhat.com>
5644
5645         * libnm-util/nm-setting-ip4-config.c
5646           libnm-util/nm-setting-ip4-config.h
5647                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
5648                         the 'autoip' property from the spec
5649
5650 2008-03-11  Dan Williams  <dcbw@redhat.com>
5651
5652         * src/backends/NetworkManagerGeneric.c
5653           src/backends/NetworkManagerGeneric.h
5654                 - (nm_generic_device_get_use_dhcp): remove
5655
5656 2008-03-11  Dan Williams  <dcbw@redhat.com>
5657
5658         * src/nm-device.c
5659                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
5660                         already in nm_device_set_ip4_config()
5661                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
5662                         due to a DHCP rebind fails
5663                 - (nm_device_set_ip4_config): send property notifications when the
5664                         ip4 config changes
5665                 - (get_property): only report IP4Config property during valid states
5666
5667         * src/NetworkManagerPolicy.c
5668                 - (update_routing_and_dns): ignore devices that don't have an ip4
5669                         config; add parameter 'force_update' to allow callers to specify
5670                         that changes should be made even if the default device doesn't change
5671                 - (device_ip4_config_changed): update DNS and routing when the device's
5672                         IP4Config changes, like for DHCP updates
5673                 - (device_added): listen for ip4-config property changes
5674
5675 2008-03-11  Dan Williams  <dcbw@redhat.com>
5676
5677         Fix address handling as a result of DHCP rebind/renew/reboot.
5678
5679         * src/NetworkManagerSystem.c
5680                 - (check_one_address): delete an address if it doesn't match a given
5681                         one for the same interface
5682                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
5683                         be smarter about flushing addresses (only flush ones that don't
5684                         match the one we're about to apply)
5685
5686         * src/backends/NetworkManagerDebian.c
5687           src/backends/NetworkManagerSuSE.c
5688           src/backends/NetworkManagerArch.c
5689           src/backends/NetworkManagerSlackware.c
5690           src/backends/NetworkManagerRedHat.c
5691           src/backends/NetworkManagerPaldo.c
5692           src/backends/NetworkManagerFrugalware.c
5693           src/backends/NetworkManagerGentoo.c
5694                 - (nm_system_delete_default_route): remove
5695
5696         * src/backends/NetworkManagerGeneric.c
5697           src/backends/NetworkManagerGeneric.h
5698                 - (nm_generic_enable_loopback): fix the loopback device label
5699                 - (nm_generic_delete_default_route): remove; no longer used
5700
5701 2008-03-11  Dan Williams  <dcbw@redhat.com>
5702
5703         * src/nm-device-interface.h
5704                 - Delimit property name words with '-', otherwise g_object_notify()
5705                         doesn't work the way we expect
5706
5707 2008-03-11  Tambet Ingo  <tambet@gmail.com>
5708
5709         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
5710
5711 2008-03-11  Dan Williams  <dcbw@redhat.com>
5712
5713         * src/NetworkManagerPolicy.c
5714                 - (update_routing_and_dns): don't change anything if the default device
5715                         hasn't changed; print something out when switching the default route
5716                         and DNS
5717
5718 2008-03-10  Tambet Ingo  <tambet@gmail.com>
5719
5720         Implement PPPoE.
5721
5722         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
5723         setting. Use "nic-$eth".
5724
5725         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
5726         the device is activating here to fix a race condition.
5727
5728         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
5729
5730         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
5731         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
5732         (nm_ppp_manager_start): Take activation request instead of connection, we might
5733         need it for asking secrets.
5734         (nm_ppp_manager_update_secrets): Implement.
5735
5736         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
5737         ppp manager start. It might be needed for asking secrets.
5738
5739         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
5740         (ppp_state_changed): Handle pppd daemon disappearing.
5741         (pppoe_stage2_config): Send activation request to ppp manager start.
5742
5743         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
5744
5745         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
5746         username and password.
5747         
5748 2008-03-10  Dan Williams  <dcbw@redhat.com>
5749
5750         * src/nm-device.c
5751                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
5752                         response to a DHCP lease change
5753                 - (dhcp_state_changed): handle DHCP lease changes while activated
5754                 - (nm_device_set_ip4_config): remove a previously set named config
5755                         when setting an ip4 config
5756
5757 2008-03-10  Dan Williams  <dcbw@redhat.com>
5758
5759         * src/nm-serial-device.c
5760                 - (nm_serial_device_send_command): report errno on error
5761                 - (get_reply_got_data): limit the size of the overall buffer
5762                 - (wait_for_reply_info_destroy): destroy result string
5763                 - (wait_for_reply_got_data): append received data to an overall buffer
5764                         until timeout, filled buffer, or error instead of keeping a per-call
5765                         buffer.  Some devices send data slowly enough that this function
5766                         gets called multiple times for the same command stream.
5767                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
5768                         wait_for_reply_got_data() here
5769
5770 2008-03-10  Dan Williams  <dcbw@redhat.com>
5771
5772         * src/nm-cdma-device.c
5773                 - (do_dial, init_modem): handle errors from
5774                         nm_serial_device_send_command_string()
5775
5776         * src/nm-gsm-device.c
5777                 - (do_dial, manual_registration, automatic_registration_get_network,
5778                    automatic_registration, enter_pin, check_pin, init_modem): handle
5779                         errors from nm_serial_device_send_command_string()
5780
5781 2008-03-10  Dan Williams  <dcbw@redhat.com>
5782
5783         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
5784
5785         * src/named-manager/nm-named-manager.c
5786                 - (compute_searches): prefer searches before domains
5787                 - (compute_domain): new function
5788                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
5789                 - (merge_one_ip4_config): if there are no searches in the source config,
5790                         merge domains of the source config into the target config
5791                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
5792
5793 2008-03-10  Dan Williams  <dcbw@redhat.com>
5794
5795         * src/nm-serial-device.c
5796                 - (get_reply_got_data): clean up indentation, shrink serial buffer
5797                 - (wait_for_reply_got_data): try to handle slower serial devices where
5798                         the reply is broken up into multiple reads by concatenating replies
5799                         together until either an error is received or the search string is
5800                         found
5801
5802 2008-03-10  Dan Williams  <dcbw@redhat.com>
5803
5804         * src/nm-device.c
5805                 - (nm_device_bring_down): deactivate the device if it's activating too,
5806                         not just if it's already activated.  This makes sure that everything
5807                         from an association attempt is cleaned up (like DHCP for example)
5808
5809 2008-03-10  Dan Williams  <dcbw@redhat.com>
5810
5811         * src/nm-serial-device.c
5812                 - (config_fd): report error from TCSETA
5813                 - (nm_serial_device_open): fail when config_fd() fails
5814
5815 2008-03-10  Dan Williams  <dcbw@redhat.com>
5816
5817         * src/nm-ip4-config.c
5818                 - (nm_ip4_config_init): allocate searches list
5819                 - (finalize): free searches list
5820
5821 2008-03-09  Dan Williams  <dcbw@redhat.com>
5822
5823         Patch from Bas Zoetekouw <bas@debian.org>
5824
5825         * src/dhcp-manager/nm-dhcp-manager.c
5826                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
5827
5828 2008-03-09  Dan Williams  <dcbw@redhat.com>
5829
5830         Patch from Bas Zoetekouw <bas@debian.org>
5831
5832         * src/nm-ip4-config.c
5833           src/nm-ip4-config.h
5834                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
5835                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
5836                         domains.  'searches' is the correct way to store multiple search
5837                         domains, whereas 'domains' is really just supposed to store one
5838                         domain.  Some sites abuse the DHCP 'domain-name' option to push
5839                         search domains to the client.
5840                 - (nm_ip4_config_add_domain): group with related functions (my patch)
5841
5842 2008-03-09  Dan Williams  <dcbw@redhat.com>
5843
5844         * src/dhcp-manager/nm-dhcp-manager.c
5845                 - (dhclient_run): send interface-specific config files to dhclient
5846
5847 2008-03-07  Dan Williams  <dcbw@redhat.com>
5848
5849         * system-settings/plugins/ifcfg-fedora/parser.c
5850                 - (is_wireless_device): new function; test a device for wireless
5851                         extensions
5852                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5853                         test the device for wireless extensions to determine the type
5854
5855 2008-03-07  Dan Williams  <dcbw@redhat.com>
5856
5857         Change manager's StateChange signal to StateChanged for consistency.
5858
5859         * introspection/nm-manager.xml
5860                 - Add 'StateChanged' signal
5861                 - Move 'StateChange' down to the deprecated section
5862
5863         * src/nm-hal-manager.c
5864                 - (nm_hal_manager_new): connect to 'state-changed' instead
5865
5866         * src/NetworkManagerPolicy.c
5867                 - (nm_policy_new): connect to 'state-changed' instead
5868
5869         * src/nm-manager.c
5870           src/nm-manager.h
5871                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5872                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5873                         of 'state-change'
5874
5875         * libnm-glib/nm-client.c
5876           libnm-glib/nm-client.h
5877                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5878                         track and proxy 'state-changed' instead of 'state-change'
5879
5880 2008-03-07  Dan Williams  <dcbw@redhat.com>
5881
5882         First pass of multiple active device support.  Expect bugs.
5883
5884         * src/nm-ip4-config.c
5885           src/nm-ip4-config.h
5886                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5887                         there are better ways to do this in the named manager
5888
5889         * src/nm-device.c
5890           src/nm-device.h
5891                 - (nm_device_can_activate): return whether the device can activate a
5892                         connection right now; taking into account things like carrier state
5893                         and rfkill state
5894                 - (nm_device_get_best_auto_connection): renamed from
5895                         nm_device_get_best_connection
5896                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5897                         device subclasses themselves, so that each device can override the
5898                         MTU from it's NMSetting subclass if needed
5899                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5900                         in NetworkManagerSystem.c, not here
5901
5902         * src/named-manager/nm-named-manager.c
5903           src/named-manager/nm-named-manager.h
5904                 - (nm_named_manager_name_owner_changed,
5905                    nm_named_manager_dbus_connection_changed): fix for changes to
5906                         rewrite_resolv_conf()
5907                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5908                         from parameter list
5909                 - (merge_one_ip4_config): new function; merge ip4 configs together
5910                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5911                         ip4 configs; the VPN config takes precedence, then the best
5912                         device config, then the rest of the configs
5913                 - (get_domain_for_config): take the NMNamedManager as an argument
5914                         to check whether the config is the VPN config
5915                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5916                         attribute from ip4 configs
5917                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5918                 - (remove_ip4_config_from_named): fix for changes to
5919                         get_domain_for_config()
5920                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5921                         based on its type; callers must pass in the type now
5922                 - (get_last_default_domain): remove, unused
5923                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5924
5925         * src/nm-device-802-11-wireless.c
5926                 - (real_can_activate): new function
5927                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5928                 - (real_act_stage4_get_ip4_config): handle MTU override
5929
5930         * src/nm-device-802-3-ethernet.c
5931                 - (real_can_activate): new function
5932                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5933                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5934
5935         * src/vpn-manager/nm-vpn-connection.c
5936                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5937                         attribute on the ip4 config
5938
5939         * src/NetworkManagerPolicy.c
5940                 - (nm_policy_auto_get_best_device): remove
5941                 - (nm_policy_device_change_check): remove
5942                 - (update_default_route): new function; set the default route via
5943                         the specified device
5944                 - (get_device_priority): new function; return the priority number of
5945                         a device type WRT which one should have the default route.  Order is
5946                         (highest to lowest)  wired, wireless, GSM, CDMA.
5947                 - (update_routing_and_dns): new function; determine which device should
5948                         have the default route, then update the routing table and DNS
5949                 - (maybe_auto_activate_device): new function; if a device is now
5950                         available for activation, find out what connection it would like to
5951                         activate and do it
5952                 - (schedule_activate_check): new function; if a device can be activated
5953                         now, schedule the activation.  Each device may have only one
5954                         pending activation at a given time.
5955                 - (device_state_changed): if activation was canceled, try again,
5956                         possibly with another connection; if the device was activated,
5957                         update routing and DNS; if the device was deactivated, try again
5958                         with another connection
5959                 - (device_carrier_changed): if there is no carrier, deactivate the
5960                         device; otherwise schedule an activation check for the device
5961                 - (wireless_networks_changed): schedule an activation check for the
5962                         device
5963                 - (device_added): keep track of the signal handler IDs so they can
5964                         be removed when the device goes away
5965                 - (device_removed): remove any signal handlers that might be attached
5966                         to the device; update routing and DNS
5967                 - (schedule_activate_all): new function
5968                 - (connections_added, connection_added, connection_updated): when
5969                         connections change, schedule all devices for an activation check
5970                 - (connection_removed): when a device is deactivated because its
5971                         connection was removed, schedule another activation check for it
5972                 - (nm_policy_destroy): destroy pending activations and disconnect
5973                         all device signal handlers
5974
5975         * src/nm-manager.c
5976                 - (nm_manager_activate_device): if the device was already actived,
5977                         deactivate it
5978                 - (deactivate_old_device): remove
5979                 - (connection_added_default_handler, impl_manager_activate_device):
5980                         don't deactivate other devices when activating this one
5981
5982         * src/backends/NetworkManagerGentoo.c
5983           src/backends/NetworkManagerFrugalware.c
5984           src/backends/NetworkManagerPaldo.c
5985           src/backends/NetworkManagerRedHat.c
5986           src/backends/NetworkManagerSlackware.c
5987           src/backends/NetworkManagerArch.c
5988           src/backends/NetworkManagerSuSE.c
5989           src/backends/NetworkManagerDebian.c
5990                 - (nm_system_get_mtu): remove; MTU should be provided through the
5991                         distro's system settings service plugin instead
5992                 - (nm_system_device_add_default_route_via_device): remove
5993                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5994                 - (nm_system_device_replace_default_route): new function; call
5995                         generic implementation
5996
5997         * src/backends/NetworkManagerGeneric.c
5998           src/backends/NetworkManagerGeneric.h
5999                 - (nm_generic_device_add_default_route_via_device,
6000                    nm_generic_device_add_default_route_via_device_with_iface): remove
6001                 - (nm_generic_device_replace_default_route): replace the default route
6002                         with the given route via some gateway
6003
6004         * src/NetworkManagerSystem.c
6005           src/NetworkManagerSystem.h
6006                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
6007                         to routing and DNS; but set the MTU here
6008                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
6009                         ip_iface of the active device; use the standard MTU setting function
6010                 - (nm_system_set_mtu): remove
6011                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
6012
6013 2008-03-07  Tambet Ingo  <tambet@gmail.com>
6014
6015         Rework the interaction between ppp manager and pppd plugin. Register a well
6016         known DBUS service in manager and let the plugin call it's methods instead
6017         of listening plugin's signals.
6018
6019         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
6020         of emitting signals.
6021
6022         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
6023
6024         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
6025
6026         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
6027         nm_ppp_manager_start().
6028
6029         * introspection/nm-ppp-manager.xml: New file.
6030
6031         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
6032         the case correctly where driver is trying to send -1 for the speed, which gets
6033         casted to u16 and thus is always > 0.
6034
6035 2008-03-07  Dan Williams  <dcbw@redhat.com>
6036
6037         * src/nm-hal-manager.c
6038                 - (nm_get_device_driver_name): use net.originating_device first, fall
6039                         back to physical device.  HAL has deprecated physical_device.
6040
6041         * libnm-glib/nm-device.c
6042                 - (get_product_and_vendor): use net.originating_device first, fall
6043                         back to physical device.  HAL has deprecated physical_device.
6044                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
6045
6046 2008-03-07  Dan Williams  <dcbw@redhat.com>
6047
6048         * src/nm-netlink.c
6049                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
6050                         last commit; fix that
6051                 - (get_link_cache): print error string
6052
6053 2008-03-07  Dan Williams  <dcbw@redhat.com>
6054
6055         * src/nm-netlink.c
6056                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
6057                         don't need this hack any more (Benoit Boissinot)
6058
6059 2008-03-06  Dan Williams  <dcbw@redhat.com>
6060
6061         * autogen.sh
6062                 - Die gnome-common, die
6063
6064 2008-03-04  Dan Williams  <dcbw@redhat.com>
6065
6066         Patch from Michael Biebl <biebl@debian.org>
6067
6068         * NetworkManager.pc.in
6069                 - doesn't actually depend on dbus-1
6070
6071         * libnm-util/nm-utils.h
6072                 - remove unused #include <dbus/dbus.h>
6073
6074         * libnm-glib/libnm_glib.pc.in
6075                 - depends on glib and dbus-glib
6076
6077 2008-03-02  Dan Williams  <dcbw@redhat.com>
6078
6079         * src/NetworkManagerPolicy.c
6080                 - s/device_state_changed_idle_id/update_state_id/
6081
6082 2008-03-02  Dan Williams  <dcbw@redhat.com>
6083
6084         * src/nm-device.c
6085           src/nm-device.h
6086           src/nm-device-802-11-wireless.c
6087           src/nm-device-802-3-ethernet.c
6088           src/NetworkManagerPolicy.c
6089                 - s/link_active/carrier
6090                 - nm_device_set_active_link() -> nm_device_set_carrier()
6091                 - nm_device_has_active_link() -> nm_device_get_carrier()
6092
6093 2008-03-02  Dan Williams  <dcbw@redhat.com>
6094
6095         * system-settings/plugins/ifcfg-fedora/parser.c
6096                 - (make_wireless_setting): fail connection creation on missing SSID
6097
6098 2008-02-29  Dan Williams  <dcbw@redhat.com>
6099
6100         * src/NetworkManagerPolicy.c
6101                 - (nm_policy_device_change_check): ensure that a previously active
6102                         device with a system connection has a link before denying a switch
6103                         to a user connection
6104
6105 2008-02-29  Dan Williams  <dcbw@redhat.com>
6106
6107         * src/nm-device-802-11-wireless.c
6108                 - (link_timeout_cb): try again if scanning; deactivate the device when
6109                         activated if the link dies
6110                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
6111                         15 seconds
6112
6113 2008-02-29  Dan Williams  <dcbw@redhat.com>
6114
6115         * src/nm-device-802-11-wireless.c
6116           src/nm-device-802-11-wireless.h
6117                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
6118                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
6119                 - (device_cleanup): reset the scan interval lower when the device
6120                         deactivates
6121                 - (can_scan): base decision mostly off device state, not supplicant
6122                         interface state since the supplicant interface state isn't a
6123                         great indicator of whether the device is active or not
6124                 - (request_wireless_scan): clean up; schedule the next scan here
6125                 - (schedule_scan): only back the scan interval off if a new scan
6126                         actually gets scheduled; and make scan intervals tighter when the
6127                         device is disconnected
6128                 - (supplicant_iface_state_cb_handler): fold in the bits of
6129                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
6130                         interval to minimum
6131                 - (activation_success_handler): reset scan interval to something
6132                         reasonable 
6133
6134 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
6135
6136         reviewed by: Steev <steev@steev.net>
6137
6138         * configure.in:
6139         * src/backends/NetworkManagerGentoo.c:
6140         (nm_system_restart_mdns_responder):
6141                 Howl is no longer a supported mDNS provider
6142
6143 2008-02-28  Tambet Ingo  <tambet@gmail.com>
6144
6145         Get rid of a bunch of unused distro specific functions.
6146
6147 2008-02-28  Tambet Ingo  <tambet@gmail.com>
6148
6149         Implement suse plugin for system settings daemon.
6150
6151         * system-settings/plugins/ifcfg-suse/*: Implement.
6152
6153         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
6154         suse.
6155
6156         * configure.in: Check (without failing) for gio.
6157         Create ifcfg-suse plugin's Makefile.
6158
6159 2008-02-20  Dan Williams  <dcbw@redhat.com>
6160
6161         * libnm-util/nm-connection.c
6162           libnm-util/nm-connection.h
6163                 - (nm_connection_compare): accept compare flags and pass them to the
6164                         setting compare function
6165
6166         * libnm-util/nm-setting.c
6167           libnm-util/nm-setting.h
6168                 - (nm_setting_compare): accept compare flags; ignore properties that are
6169                         marked fuzzy
6170
6171         * libnm-util/nm-setting-connection.c
6172           libnm-util/nm-setting-wireless.c
6173           libnm-util/nm-setting-ppp.c
6174           libnm-util/nm-setting-wired.c
6175                 - Mark some setting properties as ignorable when doing a fuzzy compare
6176
6177         * src/nm-device.c
6178                 - (device_activation_precheck): use exact compare
6179
6180 2008-02-20  Dan Williams  <dcbw@redhat.com>
6181
6182         * src/NetworkManagerPolicy.c
6183                 - (nm_policy_device_change_check): get scope off the connection, not
6184                         using the manager helper
6185
6186         * src/nm-manager.c
6187           src/nm-manager.h
6188                 - (get_scope_for_proxy): rename from get_type_for_proxy()
6189                 - (connection_get_settings_cb): set scope and path on connection, not
6190                         using GObject data items
6191                 - (get_connection_for_proxy): don't need to return path, since that
6192                         can be gotten from the connection
6193                 - (get_connection_for_proxy): get path off the connection, not from
6194                         parameters
6195                 - (connection_removed_cb, connection_updated_cb): don't need to get
6196                         path from get_connection_for_proxy(); get scope off the connection
6197                         instead of using GObject data items
6198                 - (connection_added_default_handler, add_one_connection_element): use
6199                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
6200                 - (nm_manager_get_connection_dbus_path): remove
6201                 - (nm_manager_get_connection_scope): remove
6202
6203 2008-02-20  Dan Williams  <dcbw@redhat.com>
6204
6205         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
6206                 on confusing names
6207
6208         * Add 'path' and 'scope' properties to NMConnection since both NM and the
6209                 applet were having to hack this in anyway.  Remove the 'path' stuff from
6210                 NMExportedConnection
6211
6212         * Internally rename NMConnectionType -> NMConnectionScope
6213
6214         * Provide default implementations of the 'get_id' and 'get_settings' methods
6215                 of NMExportedConnection
6216
6217 2008-02-15  Dan Williams  <dcbw@redhat.com>
6218
6219         * src/nm-device-802-11-wireless.c
6220                 - (device_cleanup): release the AP list here too so that the AP list
6221                         doesn't survive across suspend/resume and up/down.  There is some
6222                         room for optimization, for example blow the list away when the card
6223                         brought back up, but only if the device has only been down for a
6224                         minute or more.
6225
6226 2008-02-15  Dan Williams  <dcbw@redhat.com>
6227
6228         * src/nm-hal-manager.c
6229                 - (modem_device_creator): recognize new HAL modem capabilities
6230
6231 2008-02-12  Dan Williams  <dcbw@redhat.com>
6232
6233         * system-settings/plugins/ifcfg-fedora/plugin.c
6234                 - (watch_path): handle IN_DELETE_SELF too
6235                 - (handle_connection_changed): notify when removing a connection
6236                 - (stuff_changed): don't warn on unknown inotify watches; handle the
6237                         case of a file moving out of the profile directory
6238
6239 2008-02-12  Dan Williams  <dcbw@redhat.com>
6240
6241         * system-settings/plugins/ifcfg-fedora/parser.c
6242                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
6243
6244 2008-02-12  Dan Williams  <dcbw@redhat.com>
6245
6246         * libnm-util/nm-utils.c
6247                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
6248                         just any empty array
6249
6250 2008-02-12  Dan Williams  <dcbw@redhat.com>
6251
6252         * system-settings/src/nm-system-config-interface.c
6253           system-settings/src/nm-system-config-interface.h
6254                 - (load_connections): get_connections() should now return an allocated
6255                         GSList that the system settings service will free
6256
6257         * system-settings/plugins/ifcfg-fedora/plugin.c
6258           system-settings/plugins/ifcfg-fedora/parser.h
6259           system-settings/plugins/ifcfg-fedora/parser.c
6260                 - Fix up inotify issues; handle keys-* files, handle new files appearing
6261                         in the profile directory, handle resolv.conf file changes
6262
6263 2008-02-10  Dan Williams  <dcbw@redhat.com>
6264
6265         * src/nm-device-802-3-ethernet.c
6266                 - (real_bring_up): save the supplicant interface state signal id
6267                 - (real_bring_down): disconnect from the supplicant interface state
6268                         signal
6269
6270 2008-02-07  Dan Williams  <dcbw@redhat.com>
6271
6272         * initscript/RedHat/NetworkManager.in
6273           initscript/RedHat/NetworkManagerDispatcher.in
6274                 - Add new-style LSB init headers
6275
6276 2008-02-07  Dan Williams  <dcbw@redhat.com>
6277
6278         * system-settings/src/dbus-settings.c
6279           system-settings/src/dbus-settings.h
6280                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
6281                         table of secrets
6282                 - (connection_settings_get_secrets): consolidate error returns into
6283                         one place; use the new get_secrets() plugin interface function to
6284                         get secrets from the plugin itself rather than using GObject data
6285                         magic
6286
6287         * system-settings/src/main.c
6288                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
6289                    load_connections): keep a private list of the plugin-returned
6290                         connections, don't use the plugin's GSList
6291
6292         * system-settings/plugins/ifcfg-fedora/plugin.c
6293                 - (watch_path): watch the path, not the filename (duh)
6294                 - (reload_all_connections): use the direct hash/equal functions; the
6295                         ones for int aren't appropriate here
6296                 - (get_secrets, system_config_interface_init): implement the
6297                         get_secrets() function
6298                 - (build_one_connection, find_connection_by_path): ifcfg file path is
6299                         now in the connection's ConnectionData instead of being a GObject
6300                         data property
6301                 - (handle_profile_item_changed): ifcfg file path is now in the
6302                         connection's ConnectionData instead of being a GObject data property;
6303                         be sure to copy secrets over from the new connection to the existing
6304                         connection when updating the connection's settings
6305                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
6306                         file descriptor
6307
6308         * system-settings/plugins/ifcfg-fedora/parser.c
6309           system-settings/plugins/ifcfg-fedora/parser.h
6310                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
6311                    connection_data_copy_secrets, connection_data_free,
6312                    connection_data_add): new functions; connection data manipulation
6313                 - (make_wireless_security_setting): stuff secrets into the
6314                         connection data, not as GObject data items; make sure to close
6315                         the keys ifcfg file
6316                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
6317                         connection data to the connection
6318
6319 2008-02-07  Dan Williams  <dcbw@redhat.com>
6320
6321         * system-settings/src/nm-system-config-interface.c
6322           system-settings/src/nm-system-config-interface.h
6323                 - Add a get_secrets() interface function to retrieve secrets for a
6324                         specific setting of a specific connection.  Document the interface
6325                         a bit more too.
6326
6327 2008-02-07  Dan Williams  <dcbw@redhat.com>
6328
6329         * src/nm-device-802-11-wireless.c
6330                 - (handle_auth_or_fail): new function; consolidate device activation
6331                         failure check after a certain number of failures getting secrets
6332                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
6333                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
6334                         the connection if secrets were requested more than a few times
6335                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
6336                         tries here; otherwise they are cleared before the IP configure
6337                         timeout, which happens with open system WEP when key is wrong
6338                 - (activation_success_handler): clear wireless secrets tries here too
6339
6340 2008-02-07  Dan Williams  <dcbw@redhat.com>
6341
6342         * src/NetworkManagerPolicy.c
6343                 - (connection_updated): clear invalid tag when connection gets updated
6344                         to allow that connection to be tried again
6345                 - (nm_policy_new): save signal ids so they can be disconnected when
6346                         the policy is destroyed
6347                 - (nm_policy_destroy): stop any in-progress state change idle handler,
6348                         and disconnect all signals from the manager object so that none
6349                         of the policy functions gets called after the policy is destroyed
6350
6351 2008-02-06  Dan Williams  <dcbw@redhat.com>
6352
6353         * src/nm-manager.c
6354                 - (finalize): remove devices a bit earlier; clean up system settings
6355                         poke
6356                 - (nm_manager_name_owner_changed): clean up system settings poke when
6357                         the service appears, and try to restart it if it fails
6358                 - (poke_system_settings_daemon_cb): try to get the system settings
6359                         service started through D-Bus service activation
6360                 - (initial_get_connections): start the system settings daemon if it's
6361                         not already running
6362
6363 2008-02-05  Dan Williams  <dcbw@redhat.com>
6364
6365         * src/supplicant-manager/nm-supplicant-config.c
6366                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
6367                         broadcast networks too
6368
6369 2008-02-04  Dan Williams  <dcbw@redhat.com>
6370
6371         * system-settings/plugins/ifcfg-fedora/parser.c
6372                 - (make_wireless_security_setting): fix spelling; unencrypted networks
6373                         need key_mgmt set too
6374                 - (parser_parse_file): validate ifcfg file name and don't try to parse
6375                         .bak files; ensure that an error is set whenever NULL gets returned
6376
6377 2008-02-04  Dan Williams  <dcbw@redhat.com>
6378
6379         * system-settings/src/Makefile.am
6380                 - Install D-Bus service activation file for the system settings
6381                         service
6382
6383         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
6384                 - D-Bus service activation file for system settings service
6385
6386 2008-02-04  Dan Williams  <dcbw@redhat.com>
6387
6388         * system-settings/src/main.c
6389                 - (parse_config_file): parse a config file
6390                 - (main): accept --config option and read plugins from config file
6391
6392 2008-02-04  Dan Williams  <dcbw@redhat.com>
6393
6394         * system-settings/plugins/ifcfg-fedora/plugin.c
6395                 - Change reported name to 'ifcfg-fedora'
6396                 - Use IFCFG_PLUGIN_NAME
6397
6398         * system-settings/plugins/ifcfg-fedora/plugin.c
6399                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
6400
6401 2008-02-04  Dan Williams  <dcbw@redhat.com>
6402
6403         * system-settings/plugins/ifcfg-fedora/parser.c
6404                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
6405                 - (make_connection_setting): use get_ifcfg_name()
6406                 - (make_wireless_security_setting): handle shadow key files
6407                 - (get_one_wep_key): treat empty string as NULL
6408
6409 2008-02-04  Dan Williams  <dcbw@redhat.com>
6410
6411         * src/supplicant-manager/nm-supplicant-manager.c
6412                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
6413                         glib automatically reschedule
6414                 - (nm_supplicant_manager_init): immediately try to start the supplicant
6415                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
6416                         the supplicant
6417
6418 2008-02-01  Dan Williams  <dcbw@redhat.com>
6419
6420         * src/NetworkManagerPolicy.c
6421                 - (device_state_changed): schedule a change check when a device gets
6422                         deactivated so something happens if you disconnect GSM/CDMA
6423
6424 2008-01-31  Dan Williams  <dcbw@redhat.com>
6425
6426         * src/nm-device-802-11-wireless.h
6427           src/nm-device-802-11-wireless.c
6428                 - (ap_list_get_ap_by_ssid, is_associated,
6429                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
6430                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
6431                 - (nm_device_802_11_wireless_get_activation_ap): collapse
6432                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
6433                         function
6434
6435 2008-01-30  Dan Williams  <dcbw@redhat.com>
6436
6437         * system-settings/plugins/ifcfg
6438         * system-settings/plugins/ifcfg-fedora
6439                 - Move the ifcfg plugin to ifcfg-fedora
6440
6441 2008-01-24  Dan Williams  <dcbw@redhat.com>
6442
6443         * libnm-glib/nm-device-802-11-wireless.c
6444                 - (get_access_point): move the "/" check here; check for invalid path
6445                         too
6446                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
6447                         to get_access_point()
6448                 - (access_point_added_proxy, access_point_removed_proxy): don't try
6449                         to send signals for non-existent access points
6450
6451 2008-01-24  Dan Williams  <dcbw@redhat.com>
6452
6453         * libnm-glib/nm-device-802-11-wireless.c
6454                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
6455
6456 2008-01-23  Dan Williams  <dcbw@redhat.com>
6457
6458         * libnm-glib/libnm_glib.c
6459                 - (libnm_glib_init): make thread joinable
6460                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
6461
6462 2008-01-23  Dan Williams  <dcbw@redhat.com>
6463
6464         * test/libnm_glib_test.c
6465                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
6466                 - (main): set up signal handlers; call libnm_glib_shutdown
6467
6468 2008-01-21  Dan Williams  <dcbw@redhat.com>
6469
6470         * include/NetworkManager.h
6471                 - Add CDMA mobile broadband card device type
6472
6473         * src/nm-hal-manager.c
6474                 - (modem_device_creator): handle both CDMA and GSM modems; the device
6475                         must now be tagged with 'cdma' or 'gsm' capability
6476
6477         * src/nm-cdma-device.c
6478           src/nm-cdma-device.h
6479           src/Makefile.am
6480                 - Add the CDMA mobile broadband card device class
6481
6482         * libnm-util/nm-connection.c
6483                 - (register_default_settings): add NMSettingCdma
6484
6485         * libnm-util/nm-setting-cdma.c
6486           libnm-util/nm-setting-cdma.h
6487           libnm-util/Makefile.am
6488                 - Add the CDMA mobile broadband card setting class
6489
6490         * libnm-glib/nm-cdma-device.c
6491           libnm-glib/nm-cdma-device.h
6492           libnm-glib/Makefile.am
6493                 - Add the CDMA mobile broadband card GLib proxy class
6494
6495         * libnm-glib/nm-client.c
6496                 - (get_device): handle CDMA devices too
6497
6498 2008-01-21  Dan Williams  <dcbw@redhat.com>
6499
6500         * src/ppp-manager/nm-ppp-manager.c
6501                 - (ip4_config_get): set peer address too
6502
6503         * src/ppp-manager/nm-pppd-plugin.c
6504                 - (nm_ip_up): try harder to get the peer's address
6505
6506         * src/NetworkManagerSystem.c
6507                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
6508                         address, use that too.  Otherwise, some PPP connections won't work.
6509
6510 2008-01-19  Dan Williams  <dcbw@redhat.com>
6511
6512         * src/NetworkManagerPolicy.c
6513                 - (nm_policy_device_change_check): system connections override user
6514                         connections; don't activate a user connection if there's a currently
6515                         active system connection, and new, better system connections always
6516                         interrupt user connections
6517
6518 2008-01-19  Dan Williams  <dcbw@redhat.com>
6519
6520         * src/nm-manager.h
6521                 - (nm_manager_get_connection_type): new function
6522
6523 2008-01-19  Dan Williams  <dcbw@redhat.com>
6524
6525         * src/nm-device-802-11-wireless.c
6526                 - (real_get_best_connection): collapse find_best_connection() into this
6527                         function
6528
6529 2008-01-19  Dan Williams  <dcbw@redhat.com>
6530
6531         * src/nm-device-802-3-ethernet.c
6532                 - (real_get_best_connection): collapse find_best_connection() into this
6533                         function
6534
6535 2008-01-18  Dan Williams  <dcbw@redhat.com>
6536
6537         * src/nm-device-802-3-ethernet.c
6538                 - (find_best_connection): check MAC address too
6539                 - (real_get_best_connection): let autoconnect=True connections activate
6540                         for devices that don't have carrier detection
6541
6542         * src/nm-device-802-11-wireless.c
6543                 - (find_best_connection): check MAC address too
6544
6545 2008-01-18  Dan Williams  <dcbw@redhat.com>
6546
6547         * system-settings/plugins/ifcfg/parser.c
6548                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
6549
6550 2008-01-17  Dan Williams  <dcbw@redhat.com>
6551
6552         * src/nm-device-802-3-ethernet.c
6553                 - (nm_device_802_3_ethernet_carrier_on,
6554                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
6555                         carrier events that might come in for devices that don't support
6556                         carrier detect
6557
6558 2008-01-17  Dan Williams  <dcbw@redhat.com>
6559
6560         * src/nm-device-interface.c
6561                 - (nm_device_interface_check_connection_conflicts): need to actually
6562                         get the interface, not cast to the object
6563
6564         * src/nm-device.c
6565                 - (nm_device_check_connection_conflicts): need to get the device class,
6566                         not cast the device to the device class
6567
6568 2008-01-17  Dan Williams  <dcbw@redhat.com>
6569
6570         * src/nm-device-802-11-wireless.c
6571                 - (real_check_connection_conflicts): ignore connections that aren't
6572                         wireless connections
6573
6574 2008-01-17  Dan Williams  <dcbw@redhat.com>
6575
6576         * src/NetworkManagerPolicy.c
6577                 - (nm_policy_device_change_check): clear change check idle here
6578                 - (device_change_check_done): remove
6579                 - (schedule_change_check): simplify
6580
6581 2008-01-17  Dan Williams  <dcbw@redhat.com>
6582
6583         * src/nm-manager.c
6584                 - (check_connection_allowed): take an NMDeviceInterface instead of
6585                         an NMDevice object as an argument
6586                 - (nm_manager_activate_device): pass an NMDeviceInterface to
6587                         check_connection_allowed()
6588
6589 2008-01-13  Dan Williams  <dcbw@redhat.com>
6590
6591         * libnm-glib/nm-device-802-11-wireless.c
6592                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
6593
6594 2008-01-12  Dan Williams  <dcbw@redhat.com>
6595
6596         * src/nm-device-802-11-wireless.c
6597                 - (activation_success_handler): if a match was found in the scan list
6598                         and that match is a hidden AP, update that AP's SSID
6599
6600 2008-01-11  Dan Williams  <dcbw@redhat.com>
6601
6602         * src/NetworkManagerAP.c
6603                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
6604
6605         * src/nm-device-802-11-wireless.c
6606                 - (get_active_ap): do two passes over the scan list if the caller
6607                         requests that hidden APs get matched too; during the second pass
6608                         when matching hidden APs, ignore the SSID since hidden APs in the
6609                         scan list don't have an SSID yet
6610                 - (periodic_update): move some checks to
6611                         nm_device_802_11_periodic_update() because not all callers need them
6612                 - (nm_device_802_11_periodic_update): move some checks here from
6613                         perodic_update()
6614                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
6615                         matching on incoming scan results, because the fake AP's flags
6616                         might be slightly different (yet still compatible) with the incoming
6617                         scan result's flags and they might actually be the same AP; update
6618                         the rate on merged APs too
6619                 - (activation_success_handler): update the frequency of the fake AP
6620                         on successful connection; match hidden APs too since if the
6621                         current AP is fake, there might already be a scan result in the
6622                         scan list for the desired AP, just without it's SSID filled in yet
6623
6624 2008-01-10  Dan Williams  <dcbw@redhat.com>
6625
6626         * src/NetworkManagerAP.c
6627                 - (foreach_property_cb): catch more hidden SSID formats
6628
6629 2008-01-10  Dan Williams  <dcbw@redhat.com>
6630
6631         Fix gnome.org #464215.  Requires the kernel patch titled
6632         "Introduce WEXT scan capabilities" but will handle the patch not being
6633         present, you'll just continue to have problems with hidden SSIDs when
6634         using mac80211-based drivers.
6635
6636         * src/supplicant-manager/nm-supplicant-config.h
6637           src/supplicant-manager/nm-supplicant-config.c
6638                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
6639                         whether the driver supports SSID scans or not.  If it does, and if
6640                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
6641
6642         * src/nm-device-802-11-wireless.c
6643                 - (constructor): check whether or not the driver supports SSID scans
6644                 - (build_supplicant_config): pass driver SSID scan capability when
6645                         building the wireless bits of the supplicant config
6646
6647 2008-01-09  Dan Williams  <dcbw@redhat.com>
6648
6649         * src/nm-device.c
6650           src/nm-device.h
6651                 - (device_activation_precheck, check_connection_complete): remove this
6652                         virtual function; incomplete connections should be invalid by
6653                         definition, complete-ness should be checked in the setting's
6654                         verify function
6655
6656         * src/nm-serial-device.c
6657           src/nm-gsm-device.c
6658                 - (real_check_connection_complete): remove
6659
6660         * libnm-util/nm-setting-serial.c
6661                 - (verify): new function; ensure there is a PPP setting too
6662
6663         * libnm-util/nm-setting-gsm.c
6664                 - (verify): ensure there is a serial setting too
6665
6666 2008-01-06  Dan Williams  <dcbw@redhat.com>
6667
6668         * src/dhcp-manager/nm-dhcp-manager.c
6669                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
6670                         (gnome.org #332953)
6671
6672 2008-01-04  Dan Williams  <dcbw@redhat.com>
6673
6674         * src/named-manager/nm-named-manager.c
6675                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
6676                         nameservers if the secondary config doesn't have any
6677                         (gnome.org #346833)
6678
6679 2008-01-02  Tambet Ingo  <tambet@gmail.com>
6680
6681         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
6682         with G_PARAM_CONSTRUCT so that they get the default values.
6683
6684         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
6685         the monitoring device and prints out the output for now. Or more precicely, doesn't
6686         do absolutely anything right now since the montoring device argument is never set.
6687
6688         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
6689         requires it's own knob to turn it on.
6690         (config_fd): Add NMSettingSerial to the arguments list.
6691         (nm_serial_device_open): Ditto.
6692         (get_reply_got_data): Ignore the terminators at the beginning of the output.
6693         (nm_serial_device_get_io_channel): Implement.
6694
6695         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
6696         a new reference every time (and forgetting to release it sometimes) is a pain and
6697         it's not like NMManager could work without dbus.
6698         (nm_manager_add_device): Register the added device on dbus here.
6699
6700         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
6701         device.
6702
6703         * src/nm-device.c (constructor): Don't export the device here, instead export
6704         it when it's added to the NMManager's device list.
6705
6706 2007-12-31  Dan Williams  <dcbw@redhat.com>
6707
6708         * src/nm-device-interface.c
6709           src/nm-device-interface.h
6710                 - (nm_device_interface_check_connection_conflicts): new function
6711
6712         * src/nm-device.c
6713           src/nm-device.h
6714                 - (nm_device_check_connection_conflicts): new function
6715                 - (device_activation_precheck): don't require subclasses to implement
6716                         check_connection_complete()
6717                 - check_connection() -> check_connection_complete()
6718
6719         * src/nm-device-802-11-wireless.c
6720                 - (real_check_connection): remove; unused
6721                 - (real_check_connection_conflicts): implement, handle lockdown for
6722                         system connections
6723
6724         * src/nm-device-802-3-ethernet.c
6725                 - (real_check_connection): remove; unused
6726
6727         * src/nm-manager.c
6728                 - (check_connection_allowed): new function
6729                 - (nm_manager_activate_device): ensure the connection being requested
6730                         is allowed to be activated
6731
6732         * src/nm-serial-device.c
6733           src/nm-gsm-device.c
6734                 - real_check_connection() -> real_check_connection_complete()
6735
6736 2007-12-27  Dan Williams  <dcbw@redhat.com>
6737
6738         * src/nm-device-interface.c
6739           src/nm-device-interface.h
6740                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
6741                         normalize and expand errors
6742                 - (nm_device_interface_init): register errors so they can be marshalled
6743                         through dbus-glib
6744                 - (nm_device_interface_activate): ensure that failure of activation
6745                         returns an error
6746
6747         * src/nm-device.c
6748           src/nm-device.h
6749                 - (device_activation_precheck): implementations of check_connection()
6750                         now take a GError and must fill it in if the check fails.  Return
6751                         more descriptive error if the requested connection is already
6752                         activating
6753                 - (nm_device_activate): actually try to return descriptive errors on
6754                         failures
6755
6756         * src/nm-device-802-11-wireless.c
6757           src/nm-device-802-3-ethernet.c
6758           src/nm-serial-device.c
6759           src/nm-gsm-device.c
6760                 - (real_check_connection): return more descriptive errors on failure
6761
6762         * src/NetworkManagerPolicy.c
6763                 - (nm_policy_device_change_check): print activation errors in the logs
6764
6765         * src/nm-manager.c
6766                 - (nm_manager_error_quark, nm_manager_error_get_type,
6767                    nm_manager_class_init): new errors
6768                 - (nm_manager_activate_device): handle errors
6769                 - (nm_manager_error_new): removed
6770                 - (wait_for_connection_expired, connection_added_default_handler,
6771                    impl_manager_activate_device): better error handling
6772
6773 2007-12-27  Dan Williams  <dcbw@redhat.com>
6774
6775         Fixes gnome.org #466954
6776
6777         * src/supplicant-manager/nm-supplicant-settings-verify.c
6778                 - Allow 'frequency' network property
6779
6780         * src/supplicant-manager/nm-supplicant-config.c
6781           src/supplicant-manager/nm-supplicant-config.h
6782                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
6783                         for callers to specify the frequency an Ad-Hoc network should operate
6784                         on.  Some drivers require this to successfully create an Ad-Hoc
6785                         network.
6786
6787         * src/nm-device-802-11-wireless.c
6788                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
6789                         guint32 value in MHz
6790                 - (constructor, nm_device_802_11_wireless_get_frequency): use
6791                         iw_freq_to_uint32()
6792                 - (find_supported_frequency): new function; find a free supported
6793                         frequency for a user-created Ad-Hoc network
6794                 - (build_supplicant_config): if no frequency was specified for a user-
6795                         created Ad-Hoc network, find a free one to use
6796                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
6797                         a specific object as user-created
6798
6799 2007-12-27  Dan Williams  <dcbw@redhat.com>
6800
6801         * libnm-util/nm-utils.c
6802           libnm-util/nm-utils.h
6803                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
6804                         for adhoc networks
6805
6806 2007-12-24  Dan Williams  <dcbw@redhat.com>
6807
6808         * libnm-util/nm-setting-wireless.c
6809                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
6810                         185, 187, 188, 192, and 196
6811
6812 2007-12-24  Dan Williams  <dcbw@redhat.com>
6813
6814         * src/nm-device-802-11-wireless.c
6815                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
6816                         a channel # instead of a frequency
6817
6818 2007-12-24  Dan Williams  <dcbw@redhat.com>
6819
6820         * src/NetworkManagerAP.c
6821           src/NetworkManagerAP.h
6822                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
6823                 - (freq_to_channel): handle split band tables
6824                 - (channel_to_freq): handle split band tables, take a band argument
6825
6826 2007-12-24  Dan Williams  <dcbw@redhat.com>
6827
6828         * libnm-util/nm-setting-connection.h
6829           libnm-util/nm-setting-connection.c
6830                 - Add 'lockdown' member
6831
6832 2007-12-22  Dan Williams  <dcbw@redhat.com>
6833
6834         * libnm-util/nm-setting-wireless.c
6835                 - (nm_setting_wireless_class_init): add missing 'rate' property
6836                         specification
6837
6838 2007-12-18  Dan Williams  <dcbw@redhat.com>
6839
6840         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
6841
6842         * src/nm-netlink-monitor.c
6843           src/nm-netlink-monitor.h
6844                 - Remove handrolled netlink, use libnl instead
6845
6846         * src/nm-device-802-3-ethernet.c
6847                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6848                    nm_device_802_3_ethernet_carrier_on): use new names
6849
6850 2007-12-17  Dan Williams  <dcbw@redhat.com>
6851
6852         * configure.in
6853                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6854                         and fixes memory leaks)
6855
6856         * src/nm-netlink.c
6857                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6858                         automatically handle the netlink PID
6859
6860 2007-12-17  Dan Williams  <dcbw@redhat.com>
6861
6862         Patch from Michael Biebl <biebl@debian.org>
6863
6864         * configure.in
6865           src/ppp-manager/Makefile.am
6866                 - fix up install dir of pppd plugin
6867                 - clean up configure.in a bit
6868
6869 2007-12-12  Dan Williams  <dcbw@redhat.com>
6870
6871         * system-settings/src/nm-system-settings.conf
6872                 - Allow non-root clients (like the applet) to read settings
6873
6874 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6875
6876         * Replace all occurences of 'UMTS' with 'GSM'.
6877
6878 2007-12-07  Dan Williams  <dcbw@redhat.com>
6879
6880         * src/nm-serial-device.c
6881                 - (real_is_up): serial devices are always "up"
6882
6883 2007-12-07  Dan Williams  <dcbw@redhat.com>
6884
6885         * src/nm-netlink.c
6886           src/NetworkManagerSystem.c
6887                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6888                         twice (gnome.org #491047)
6889                 - Make more robust against allocation-related failures should they occur
6890
6891 2007-12-07  Dan Williams  <dcbw@redhat.com>
6892
6893         Noticed by Christian Persch <chpe@gnome.org>
6894
6895         Always chain up to parent object in dispose and finalize handlers.
6896                 (gnome.org #433112)
6897
6898 2007-12-07  Dan Williams  <dcbw@redhat.com>
6899
6900         * src/nm-device-802-11-wireless.c
6901                 - Wrap #include of linux/mii.h to fix redefined structures due to
6902                         incorrect kernel headers (gnome.org #350061)
6903
6904 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6905
6906         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6907         before doing anything else.
6908         (init_modem): Move modem initialization here.
6909
6910         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6911         (nm_serial_device_flash): Implement.
6912
6913         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6914         changes signal is "StateChanged" and not "Status".
6915         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6916
6917 2007-12-06  Dan Williams  <dcbw@redhat.com>
6918
6919         * src/supplicant-manager/nm-supplicant-config.c
6920                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6921                         to only send some options when they make sense; also send phase2
6922                         option to the supplicant (possible fix for rh #399631)
6923
6924 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6925
6926         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6927         arguments: This whole file shouldn't really know anything about NMDevices, it
6928         should deal only with device interfaces. Devices might have different ifaces for
6929         different stuff and this place shouldn't know anything about it.
6930
6931         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6932         (global_state_changed): Implement. In the current NM it's not really important,
6933         but will be required in the case of multiple active devices. (Or even better,
6934         if stuff like that gets moved out from NM).
6935
6936         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6937         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6938         instead.
6939
6940         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6941         devices like serial devices (ttyS0 and ppp0 for example).
6942         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6943         set.
6944         (nm_device_set_ip_iface): Implement.
6945         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6946         after setting ip4_config from here ...
6947         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6948         than this function should call nm_system_device_set_from_ip4_config() because no
6949         other code has enough information on which arguments to use. So instead, other code
6950         could just set the new ip4 config using this function and everyone is happy.
6951
6952         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6953         if we happen to get deactivated while something is pending.
6954         (automatic_registration): Handle the response that indicates pending network
6955         registration and wait until the pending registration is done.
6956         (real_deactivate_quickly): If there's a pending operation, cancel it.
6957
6958         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6959         (real_deactivate_quickly): ... and remove it when it's down.
6960         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6961         it if needed.
6962         (nm_serial_device_wait_for_reply): Ditto.
6963
6964 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6965
6966         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6967         (get_network_done): Remove newline, nm_info() does it already.
6968         (real_act_stage1_prepare): Turn the modem echo off.
6969
6970         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6971         device, set the route to the device interface. This is a hack.
6972
6973         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6974         return, no need for a new-line.
6975         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6976         Change the device iface here (ugh).
6977         (real_act_stage4_get_ip4_config): Implement.
6978         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6979         Restore the device iface.
6980
6981         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6982         device is not wired or wireless (eg, automatically upped) device.
6983
6984         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6985         it isn't.
6986         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6987
6988         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6989         before calling it's is_device_fn().
6990
6991 2007-12-05  Dan Williams  <dcbw@redhat.com>
6992
6993         * libnm-util/nm-utils.c
6994                 - (nm_utils_register_value_transformations,
6995                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6996                         GHashTables of GValues too
6997
6998 2007-12-04  Dan Williams  <dcbw@redhat.com>
6999
7000         * initscript/RedHat/NetworkManager.in
7001                 - No longer start named; it's D-Bus interface is going away
7002
7003 2007-12-04  Dan Williams  <dcbw@redhat.com>
7004
7005         Patch from Michael Biebl <biebl@debian.org>
7006
7007         * system-settings/plugins/ifcfg/Makefile.am
7008           system-settings/src/main.c
7009           system-settings/src/Makefile.am
7010                 - Put system settings plugins in NM plugins dir
7011
7012         * src/ppp-manager/Makefile.am
7013           src/ppp-manager/nm-ppp-manager.c
7014                 - Move pppd plugin to NM plugins dir
7015
7016 2007-12-04  Dan Williams  <dcbw@redhat.com>
7017
7018         * libnm-util/nm-setting-vpn-properties.h
7019                 - Clarify usage of the 'data' member of the setting
7020
7021         * libnm-util/nm-setting-vpn-properties.c
7022                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
7023                 - (set_property): just remove all the settings; don't recreate the has
7024                 - (update_one_secret): don't need to create the hash table here since
7025                         it should always be present
7026
7027 2007-12-03  Tambet Ingo  <tambet@gmail.com>
7028
7029         Implement PIN and PUK requesting.
7030
7031         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
7032         (enter_pin): Handle PIN and PUK requests.
7033         (real_act_stage1_prepare): Clear the secret type.
7034         (real_connection_secrets_updated): Implement this class method to get
7035         notified when new secrets arrive.
7036         (nm_umts_device_class_init): Add private data back to the umts device class
7037         to store the required secret type.
7038
7039 2007-12-01  Dan Williams  <dcbw@redhat.com>
7040
7041         * system-settings/plugins/ifcfg/parser.c
7042                 - (parser_parse_file): don't try to verify NULL connections
7043
7044 2007-12-01  Dan Williams  <dcbw@redhat.com>
7045
7046         * system-settings/src/main.c
7047                 - (load_connections, add_connection_to_settings): actually export
7048                         plugin-provided connections over D-Bus so NM can get them
7049
7050 2007-12-01  Dan Williams  <dcbw@redhat.com>
7051
7052         * system-settings/plugins/ifcfg/parser.c
7053           system-settings/plugins/ifcfg/parser.h
7054           system-settings/plugins/ifcfg/plugin.c
7055                 - Hook up more inotify bits (untested)
7056
7057 2007-11-29  Dan Williams  <dcbw@redhat.com>
7058
7059         * system-settings/src/nm-system-config-interface.h
7060           system-settings/src/nm-system-config-interface.c
7061                 - (nm_system_config_interface_init,
7062                    nm_system_config_interface_get_connections): add
7063
7064         * system-settings/src/main.c
7065                 - (load_plugins, load_connections, main): use a GSList for plugins
7066                         to ensure priority ordering
7067
7068         * system-settings/plugins/ifcfg/parser.c
7069                 - (ifcfg_error_quark): move to plugin.c, and rename
7070
7071         * system-settings/plugins/ifcfg/plugin.h
7072           system-settings/plugins/ifcfg/plugin.c
7073                 - (ifcfg_plugin_error_quark): move here from parser.c
7074                 - rework connection loading and initialization
7075                 - Add preliminary inotify support for network profile config file
7076
7077 2007-11-28  Tambet Ingo  <tambet@gmail.com>
7078
7079         Merge the beginnings of the new GSM card support.
7080
7081         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
7082         ppp watch source before killing pppd - If this happens from g_object_unref()
7083         then the ppp manager is already destroyed by the time the watch callback runs.
7084
7085         * src/nm-hal-manager.c: Add a device_type_name string to the device
7086         creators, so that we can print a nice human readable string when a
7087         device is added.
7088
7089         * src/nm-umts-device.c (automatic_registration_get_network): Query
7090         for the activated network, not much is done with the result thought.
7091
7092         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
7093         (ppp_ip4_config): Change the device state to activated here for now.
7094         (real_check_connection): Make sure the connection includes ppp setting.
7095
7096         * libnm-glib/nm-client.c (get_device): Handle umts devices.
7097
7098         * libnm-glib/Makefile.am: Add the new files to build.
7099
7100         * libnm-glib/nm-umts-device.c: 
7101         * libnm-glib/nm-umts-device.h: Implement.
7102
7103 2007-11-26  Tambet Ingo  <tambet@gmail.com>
7104
7105         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
7106         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
7107
7108         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
7109         the timeout source - this function is only called when the timeout source has
7110         been removed.
7111         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
7112         to be big enough to contain the terminating zero element as well.
7113         The timeout argument is meant to be in seconds now.
7114         (real_deactivate_quickly): Implement.
7115
7116         * src/NetworkManager.conf: Allow root to own 
7117         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
7118
7119         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
7120         (not unsigned ints).
7121
7122         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
7123         small issue with parity bounds - capital letters have lower ascii codes
7124         than lower case letters.
7125
7126         * libnm-util/nm-connection.c (register_default_settings): Register serial
7127         and umts settings.
7128
7129 2007-11-22  Tambet Ingo  <tambet@gmail.com>
7130
7131         Remove the "index" property from devices as not all device types have this.
7132
7133         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
7134
7135         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
7136         (wired_device_creator): Get the device interface from hal to create the device.
7137         (wireless_device_creator): Ditto.
7138
7139         * src/nm-device.c (nm_device_init): Remove the index member.
7140         (constructor): Remove the checks for index property, make interface property
7141         a require constructor property.
7142         Use the HAL udi for DBus path for devices.
7143         (nm_device_get_index): Remove.
7144         (set_property): Remove index handling.
7145         (get_property): Ditto.
7146         (nm_device_get_dbus_path): Remove.
7147
7148         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
7149         property.
7150
7151         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
7152         Access the device index through it's interface.
7153         (nm_device_802_3_ethernet_link_deactivated): Ditto.
7154         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
7155         index argument. Add interface argument.
7156
7157         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
7158         the useless test_dev argument. Remove index argument. Add interface arugment.
7159
7160         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
7161         device index through interface.
7162         (nm_system_set_mtu): Ditto.
7163
7164         * introspection/nm-device.xml: Remove the "Index" property.
7165
7166 2007-11-21  Tambet Ingo  <tambet@gmail.com>
7167
7168         * src/nm-serial-device.c: 
7169         * src/nm-serial-device.c: 
7170         * src/nm-umts-device.c:
7171         * src/nm-umts-device.h: Implement.
7172
7173         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
7174         allocated by libhal.
7175         (modem_device_creator): Implement.
7176         (register_built_in_creators): Register the modem creator.
7177
7178         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
7179         Remove the unused test_dev argument.
7180
7181         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
7182
7183         * src/Makefile.am: Add new files to build.
7184         Link in ppp-manager.
7185
7186         * libnm-util/nm-setting-umts.c: 
7187         * libnm-util/nm-setting-umts.h: 
7188         * libnm-util/nm-setting-serial.c: 
7189         * libnm-util/nm-setting-serial.h: Implement.
7190
7191         * libnm-util/Makefile.am: Add new files to build.
7192
7193 2007-11-28  Dan Williams  <dcbw@redhat.com>
7194
7195         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
7196
7197         Support DHCP-provided static routes.
7198
7199         * src/nm-ip4-config.h
7200           src/nm-ip4-config.c
7201                 - Add get/set functions for static routes
7202
7203         * src/dhcp-manager/nm-dhcp-manager.c
7204                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
7205                         DHCP response
7206
7207         * src/NetworkManagerSystem.c
7208                 - (nm_system_device_set_from_ip4_config): set any static routes on the
7209                         interface when applying the IP4Config
7210
7211 2007-11-28  Dan Williams  <dcbw@redhat.com>
7212
7213         * src/nm-device-802-11-wireless.c
7214                 - (real_act_stage1_prepare): mark APs created for hidden networks
7215                         as non-broadcasting
7216
7217 2007-11-27  Dan Williams  <dcbw@redhat.com>
7218
7219         * system-settings/src/nm-system-config-interface.h
7220                 - Note how to store secrets on NMSetting objects
7221
7222         * system-settings/src/dbus-settings.c
7223                 - (connection_settings_get_secrets): implement
7224
7225 2007-11-27  Dan Williams  <dcbw@redhat.com>
7226
7227         * system-settings/plugins/ifcfg/Makefile.am
7228           system-settings/plugins/ifcfg/parser.c
7229           system-settings/plugins/ifcfg/parser.h
7230           system-settings/plugins/ifcfg/plugin.c
7231                 - Parse wireless connections too
7232
7233         * system-settings/src/dbus-settings.c
7234           system-settings/src/dbus-settings.h
7235           system-settings/src/main.c
7236                 - Handle connection update/removal if the plugin supports it
7237
7238 2007-11-27  Dan Williams  <dcbw@redhat.com>
7239
7240         * src/nm-dbus-manager.h
7241           src/nm-hal-manager.c
7242                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
7243                         do it for them
7244
7245         * src/Makefile.am
7246           src/NetworkManagerDbusUtils.c
7247           src/NetworkManagerDbusUtils.h
7248                 - Remove these two source files; they are unused
7249
7250 2007-11-27  Dan Williams  <dcbw@redhat.com>
7251
7252         * src/vpn-manager/nm-vpn-manager.c
7253                 - (impl_vpn_manager_connect): fix system settings check (found by
7254                         James M. Leddy)
7255
7256 2007-11-26  Dan Williams  <dcbw@redhat.com>
7257
7258         * Fix warnings so everything compiles with --enable-more-warnings
7259
7260 2007-11-25  Dan Williams  <dcbw@redhat.com>
7261
7262         * system-settings/*
7263                 - Rework structure and code to use GModule-loaded plugins and a plugin
7264                         interface that plugins export to the system settings service
7265
7266 2007-11-21  Dan Williams  <dcbw@redhat.com>
7267
7268         * system-settings/*
7269                 - Add Soren's system settings service.  Needs work for distros other
7270                         than Fedora; the backends from NM should mostly migrate to here
7271                         and be converted to GObjects
7272
7273 2007-11-21  Dan Williams  <dcbw@redhat.com>
7274
7275         * libnm-util/nm-setting-vpn-properties.c
7276                 - (set_property): must deep-copy the given settings hash, otherwise
7277                         double-free errors occur when the setting is disposed of
7278
7279 2007-11-21  Dan Williams  <dcbw@redhat.com>
7280
7281         * src/vpn-manager/nm-vpn-act-request.h
7282           src/vpn-manager/nm-vpn-act-request.c
7283                 - Remove; unused
7284
7285 2007-11-20  Dan Williams  <dcbw@redhat.com>
7286
7287         * libnm-util/nm-utils.c
7288                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
7289                    nm_utils_convert_ip4_addr_struct_array_to_string,
7290                    nm_utils_register_value_transformations): print out the readable
7291                         values of more types of properties of NMSettings subclasses
7292
7293 2007-11-20  Dan Williams  <dcbw@redhat.com>
7294
7295         * libnm-util/nm-setting-ip4-config.c
7296                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
7297                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
7298                         marshal GValueArrays inside collections, so switch to types that it
7299                         can actually marshal/demarshal
7300
7301 2007-11-16  Dan Williams  <dcbw@redhat.com>
7302
7303         * libnm-util/nm-setting-wireless-security.c
7304                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
7305                         minimal verification of EAP methods too
7306                 - (verify): verify phase1 eap methods too
7307
7308 2007-11-15  Dan Williams  <dcbw@redhat.com>
7309
7310         * libnm-glib/nm-device.h
7311           libnm-glib/nm-device.c
7312                 - (nm_device_get_product, nm_device_get_vendor): should be returning
7313                         const char *
7314
7315 2007-11-15  Dan Williams  <dcbw@redhat.com>
7316
7317         * libnm-glib/nm-device.c
7318                 - (get_product_and_vendor): don't try to free things that should be
7319                         freed
7320
7321 2007-11-15  Dan Williams  <dcbw@redhat.com>
7322
7323         * src/NetworkManagerUtils.c
7324                 - (nm_ethernet_address_is_valid): unbreak previous fix
7325
7326 2007-11-15  Dan Williams  <dcbw@redhat.com>
7327
7328         * src/supplicant-manager/nm-supplicant-config.c
7329                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
7330                         options
7331
7332 2007-11-15  Dan Williams  <dcbw@redhat.com>
7333
7334         * src/NetworkManagerUtils.c
7335                 - (nm_ethernet_address_is_valid): fix style, clarify
7336                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
7337
7338         * src/nm-device-802-11-wireless.c
7339                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
7340                 - (nm_device_802_11_wireless_get_ssid,
7341                    nm_device_802_11_wireless_get_bssid,
7342                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
7343                         before calling the ioctl; fixes valgrind-reported jump depends on
7344                         uninitialized value errors
7345
7346 2007-11-15  Dan Williams  <dcbw@redhat.com>
7347
7348         * libnm-util/nm-setting.c
7349                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
7350                         unecessary to serialize 'name'
7351
7352         * src/nm-activation-request.c
7353                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
7354                         the GetSecrets call
7355
7356 2007-11-15  Dan Williams  <dcbw@redhat.com>
7357
7358         * libnm-util/nm-setting-connection.h
7359           libnm-util/nm-setting-connection.c
7360                 - Rename the 'name' property to 'id', because it conflicted with the
7361                         NMSetting superclass' 'name' property.
7362
7363         * libnm-util/nm-setting.c
7364                 - (nm_setting_to_hash): serialize the 'name' property
7365                 - (one_property_cb): ignore 'name' on deserialization of a connection
7366
7367         * src/nm-device-802-11-wireless.c
7368           src/vpn-manager/nm-vpn-connection.c
7369           src/NetworkManagerPolicy.c
7370                 - Fix up for NMSettingConnection 'name'->'id' changes
7371
7372 2007-11-13  Dan Williams  <dcbw@redhat.com>
7373
7374         * libnm-glib/nm-device-802-11-wireless.h
7375           libnm-glib/nm-device-802-11-wireless.c
7376                 - (nm_device_802_11_wireless_get_hw_address): return should be const
7377
7378         * test/nm-tool.c
7379           libnm-glib/libnm-glib-test.c
7380                 - Fixes for above change
7381
7382 2007-11-12  Dan Williams  <dcbw@redhat.com>
7383
7384         * src/supplicant-manager/nm-supplicant-settings-verify.c
7385                 - Allow fragment_size option
7386
7387         * src/supplicant-manager/nm-supplicant-settings-verify.c
7388                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
7389                         EAP fragment size than the default to help some TLS connections
7390
7391 2007-11-12  Dan Williams  <dcbw@redhat.com>
7392
7393         Make certs actually work.  The private key is now a secret, and should be
7394         decrypted when requested by NM.  The private key and phase2 private key
7395         passwords are no longer interesting to NM because they should be used by
7396         the settings service to decrypt the private key itself before passing it
7397         to NM, and hence have been removed as fields.
7398
7399         * libnm-util/nm-setting-wireless-security.h
7400           libnm-util/nm-setting-wireless-security.c
7401                 - Remove private-key-passwd and phase2-private-key-passwd from
7402                         properties
7403                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
7404                    need_secrets): use property #defines instead strings to keep things
7405                         consistent
7406                 - (need_secrets_tls): if a client certificate is present but no
7407                         private key, request the private key
7408                 - (set_property, get_property, nm_setting_wireless_security_class_init):
7409                         remove private key password stuff, mark private keys as secret
7410
7411         * src/supplicant-manager/nm-supplicant-settings-verify.c
7412                 - Remove private_key_passwd and private_key2_passwd from opt_table
7413
7414 2007-11-09  Dan Williams  <dcbw@redhat.com>
7415
7416         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
7417         Since the vpn-properties are managed and known by the VPN daemons themselves,
7418         libnm-util doesn't know what's secret and what's in the setting's 'data'
7419         member.
7420
7421         * libnm-util/nm-setting.h
7422           libnm-util/nm-setting.c
7423                 - Add the ability for subclasses to override update_one_secret
7424
7425         * libnm-util/nm-setting-vpn-properties.c
7426                 - Override update_one_secret and just copy the values into the
7427                         internal table
7428
7429 2007-11-09  Dan Williams  <dcbw@redhat.com>
7430
7431         * libnm-glib/nm-settings.h
7432           libnm-glib/nm-settings.c
7433                 - (nm_settings_new_error): remove
7434                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
7435                         clients should use g_set_error() with NM_SETTINGS_ERROR
7436
7437 2007-11-09  Dan Williams  <dcbw@redhat.com>
7438
7439         * src/supplicant-manager/nm-supplicant-config.c
7440                 - (nm_supplicant_config_add_setting_wireless_security): private key
7441                         passwords are never sent to wpa_supplicant, because the supplicant
7442                         should never be reading random files from the disk.  Clients like
7443                         the applet are required to decrypt the private keys and send NM
7444                         the decrypted blobs.
7445
7446 2007-11-08  Dan Williams  <dcbw@redhat.com>
7447
7448         * libnm-util/nm-setting-wireless-security.h
7449           libnm-util/nm-setting-wireless-security.c
7450                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
7451                         members to 802-11-wireless-security structure.  This should be used
7452                         to indicate that the values in private-key and phase2-private-key
7453                         are already decrypted by the user agent, and that no
7454                         private-key-passwd or phase2-private-key-passwd should be expected.
7455                         It is not meant to be a stored configuration value, but meant to
7456                         be set when the conneciton is sent to NM over dbus.
7457
7458 2007-11-08  Dan Williams  <dcbw@redhat.com>
7459
7460         * libnm-util/nm-connection.h
7461           libnm-util/nm-connection.c
7462                 - (nm_connection_need_secrets): add argument to return hints
7463
7464         * src/nm-device-802-11-wireless.c
7465                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7466                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
7467                         nm_connection_need_secrets() change
7468
7469 2007-11-07  Tambet Ingo  <tambet@gmail.com>
7470
7471         Rework NMSetting structures: Move each setting to it's own file.
7472         Convert to GObject. Remove home grown setting types and use GTypes.
7473         Use GObject property introspection for hash conversion, enumerating
7474         properties, etc.
7475
7476         * libnm-util/nm-setting-connection.[ch]
7477         * libnm-util/nm-setting-ip4-config.[ch]
7478         * libnm-util/nm-setting-ppp.[ch]
7479         * libnm-util/nm-setting-vpn.[ch]
7480         * libnm-util/nm-setting-vpn-properties.[ch]
7481         * libnm-util/nm-setting-wired.[ch]
7482         * libnm-util/nm-setting-wireless.[ch]
7483         * libnm-util/nm-setting-wireless-security.[ch]
7484
7485         New files, each containing a setting.
7486
7487         * libnm-util/nm-setting-template.[ch]: A template for creating new
7488         settings. To use it, just replace 'template' with the new setting
7489         name, and you're half-way done.
7490
7491         * libnm-util/nm-setting.c: Convert to GObject and use GObject
7492         introspection instead of internal types and tables.
7493
7494         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
7495
7496         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
7497         GValue types defined by dbus-glib for composed types like collections,
7498         structures and maps.
7499
7500         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
7501         a setting from connection takes the setting type now. Also, since
7502         the settings are in multiple files, include relevant settings.
7503
7504 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
7505
7506         * configure.in:
7507         * src/backends/NetworkManagerGentoo.c:
7508         (nm_system_restart_mdns_responder): Implement restarts for other mdns
7509         providers in Gentoo.
7510
7511 2007-10-31  Dan Williams  <dcbw@redhat.com>
7512
7513         * libnm-util/nm-connection.c
7514                 - (gvalue_to_string): handle UINT32 arrays
7515
7516 2007-10-31  Dan Williams  <dcbw@redhat.com>
7517
7518         * libnm-glib/nm-device.h
7519           libnm-glib/nm-device.c
7520                 - (nm_device_get_description): remove
7521                 - (nm_device_get_product, nm_device_get_vendor): add
7522                 - (nm_device_update_description): new function (private); walk HAL
7523                         devices to get product and vendor IDs for a specific device
7524
7525 2007-10-31  Dan Williams  <dcbw@redhat.com>
7526
7527         * src/nm-device-802-11-wireless.c
7528                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
7529
7530 2007-10-29  Dan Williams  <dcbw@redhat.com>
7531
7532         * src/nm-hal-manager.c
7533                 - (device_added, device_new_capability): ignore device additions while
7534                         asleep.  Fixes crash caused when NM goes to sleep, a network device
7535                         kernel module is unloaded and reloaded and recognized by NM again.
7536
7537 2007-10-26  Dan Williams  <dcbw@redhat.com>
7538
7539         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
7540
7541         * src/NetworkManagerAP.c
7542           src/NetworkManagerAP.h
7543           libnm-glib/nm-access-point.c
7544           libnm-glib/nm-access-point.h
7545                 - Make 'rate' property a guint32 to better match with WEXT and
7546                         wpa_supplicant and to allow representation of higher bitrates
7547
7548         * src/nm-device-802-11-wireless.c
7549           introspection/nm-device-802-11-wireless.xml
7550           libnm-glib/nm-device-802-11-wireless.c
7551           libnm-glib/nm-device-802-11-wireless.h
7552                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
7553
7554         * src/nm-device-802-3-ethernet.c
7555           src/nm-device-802-3-ethernet.h
7556           introspection/nm-device-802-3-ethernet.xml
7557           libnm-glib/nm-device-802-3-ethernet.c
7558           libnm-glib/nm-device-802-3-ethernet.h
7559                 - Make 'speed' property a guint32 to match other speed/rate types
7560                 - Make nm_device_802_3_ethernet_get_speed() static
7561
7562         * test/nm-tool.c
7563                 - Update for the changes above
7564
7565 2007-10-26  Dan Williams  <dcbw@redhat.com>
7566
7567         * src/named-manager/nm-named-manager.c
7568                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
7569                     not calling fclose() twice on some error conditions
7570
7571 2007-10-26  Dan Williams  <dcbw@redhat.com>
7572
7573         * src/nm-activation-request.c
7574                 - (dispose): clean up indentation; get the right DBusGProxy object to
7575                         cancel the GetSecrets pending call on.  Need to use the Secrets
7576                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
7577                         pending call doesn't get canceled, and pressing Cancel in the
7578                         applet's password dialog could cause get_secrets_cb() to be called
7579                         after the activation request has already been destroyed
7580
7581 2007-10-24  Dan Williams  <dcbw@redhat.com>
7582
7583         * src/supplicant-manager/nm-supplicant-config.c
7584                 - (nm_supplicant_config_add_blob): pass blob data and length for
7585                         verification
7586                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
7587
7588 2007-10-24  Dan Williams  <dcbw@redhat.com>
7589
7590         * src/supplicant-manager/nm-supplicant-settings-verify.c
7591                 - (opt_table): max length for certificates should be 65536
7592
7593 2007-10-24  Dan Williams  <dcbw@redhat.com>
7594
7595         * src/supplicant-manager/nm-supplicant-interface.c
7596                 - (blob_free): correctly free blob data after use
7597                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
7598
7599 2007-10-24  Dan Williams  <dcbw@redhat.com>
7600
7601         * libnm-util/nm-setting.c
7602                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
7603                         EAP method need secrets
7604
7605 2007-10-24  Dan Williams  <dcbw@redhat.com>
7606
7607         * src/backends/NetworkManagerRedHat.c
7608                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
7609
7610 2007-10-23  Dan Williams  <dcbw@redhat.com>
7611
7612         * libnm-util/nm-setting.c
7613           libnm-util/nm-setting.c
7614                 - (nm_setting_compare): implement
7615                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
7616                    compare_one_hash_gvalue): compare the contents of a setting
7617
7618         * libnm-util/nm-connection.c
7619                 - (nm_connection_compare): implement
7620
7621 2007-10-23  Dan Williams  <dcbw@redhat.com>
7622
7623         * src/nm-activation-request.c
7624                 - (get_secrets_cb): handle getting a setting back that is more than
7625                         just secrets (ie, user changed auth or EAP method or something)
7626
7627 2007-10-23  Dan Williams  <dcbw@redhat.com>
7628
7629         * libnm-util/nm-setting.c
7630           libnm-util/nm-setting.h
7631                 - (nm_setting_verify): new function; verify one setting
7632                 - (nm_settings_verify_all): rename from nm_settings_verify()
7633                 - (setting_connection_verify, setting_wireless_verify): allow NULL
7634                         all_settings
7635
7636         * libnm-util/nm-connection.c
7637                 - (nm_connection_replace_settings, nm_connection_verify,
7638                    nm_connection_new_from_hash): handle nm_settings_verify() rename
7639
7640 2007-10-23  Dan Williams  <dcbw@redhat.com>
7641
7642         * src/nm-device-802-11-wireless.c
7643                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
7644                         desired behavior
7645
7646 2007-10-23  Dan Williams  <dcbw@redhat.com>
7647
7648         * src/supplicant-manager/nm-supplicant-settings-verify.c
7649                 - eap_allowed, phase2_allowed: harmonize with allowed values from
7650                         nm-settings.c
7651
7652 2007-10-23  Dan Williams  <dcbw@redhat.com>
7653
7654         * src/nm-device-802-11-wireless.c
7655                 - (real_act_stage2_config): after the first association failure,
7656                         if the connection still needs secrets ask the user for them
7657                         explicitly.  After the fourth association failure due to bad
7658                         secrets, fail the connection entirely.  Handles the GetSecrets
7659                         loop that NM gets into when the provided secrets don't match up
7660                         with the connection details.
7661
7662 2007-10-23  Dan Williams  <dcbw@redhat.com>
7663
7664         * src/supplicant-manager/nm-supplicant-config.c
7665                 - (nm_supplicant_config_add_setting_wireless_security): only add
7666                         WPA-specific options when WPA is in use
7667
7668 2007-10-23  Dan Williams  <dcbw@redhat.com>
7669
7670         * src/supplicant-manager/nm-supplicant-config.c
7671                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
7672                         secret doesn't need to be unhexified
7673
7674 2007-10-23  Dan Williams  <dcbw@redhat.com>
7675
7676         * libnm-util/nm-setting.c
7677                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
7678                         before trying to do something with it
7679
7680 2007-10-23  Dan Williams  <dcbw@redhat.com>
7681
7682         * src/nm-device-802-11-wireless.c
7683                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
7684
7685 2007-10-23  Dan Williams  <dcbw@redhat.com>
7686
7687         * src/nm-device-802-11-wireless.c
7688                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
7689                         non-SSID-broadcasting APs
7690
7691 2007-10-23  Dan Williams  <dcbw@redhat.com>
7692
7693         * src/NetworkManagerAP.c
7694                 - (match_cipher, security_compatible): remove
7695                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
7696                         libnm-util instead
7697
7698 2007-10-23  Dan Williams  <dcbw@redhat.com>
7699
7700         * libnm-util/nm-utils.c
7701           libnm-util/nm-utils.h
7702                 - (nm_utils_ap_security_compatible): common function for checking
7703                         whether a specific AP is compatible with an NMConnection
7704
7705 2007-10-23  Dan Williams  <dcbw@redhat.com>
7706
7707         * libnm-util/nm-setting.c
7708                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
7709                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
7710                    need_secrets_password, setting_wireless_security_verify): fix
7711                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
7712                         secrets logic for each supported EAP method
7713
7714 2007-10-23  Dan Williams  <dcbw@redhat.com>
7715
7716         * src/supplicant-manager/nm-supplicant-config.c
7717                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
7718                         config option name, should be "private_key2_passwd"
7719
7720 2007-10-22  Tambet Ingo  <tambet@gmail.com>
7721
7722         Implement support for static IP addresses, additional/overridden DNS and
7723         DNS domain search lists.
7724
7725         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
7726         (ip4_addresses_to_gvalue): Implement.
7727         (convert_array_to_byte_array): Implement.
7728         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
7729         NM_S_TYPE_IP4_ADDRESSES.
7730         (nm_setting_hash): Ditto.
7731         (default_setting_clear_secrets): Add a default case for the switch: IP address
7732         shouldn't be secret, ever.
7733         (setting_ip4_config_verify): Update, requires addresses in case of manual
7734         configurations.
7735         (setting_ip4_config_destroy): Free stuff.
7736
7737         * src/nm-device.c (merge_ip4_config): Implement.
7738         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
7739
7740 2007-10-22  Dan Williams  <dcbw@redhat.com>
7741
7742         * libnm-util/nm-setting.c
7743                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
7744                         pairwise cipher options for Dynamic WEP
7745
7746 2007-10-21  Dan Williams  <dcbw@redhat.com>
7747
7748         * src/NetworkManagerAP.c
7749           src/NetworkManagerAP.h
7750                 - Rename 'articifical' -> 'fake' since that's what they are until
7751                         noticed in scans
7752                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
7753                         from the attributes in an NMConnection object
7754                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
7755                         WPA Enterprise
7756                 - (nm_ap_match_in_list): find a matching AP in a scan list
7757
7758         * src/nm-device-802-11-wireless.c
7759                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
7760                         AP when searching the scan list; match on frequency and mode too
7761                 - (nm_device_802_11_wireless_get_frequency): implement
7762                 - (merge_scanned_ap): replace duplicate matching logic with
7763                         nm_ap_match_in_list()
7764                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
7765                         the user is trying to connect to a hidden network that is not yet
7766                         known from the scan list
7767                 - (activation_success_handler): now that the card knows the AP's BSSID,
7768                         there may already be a scanned AP in the scan list that is what
7769                         we really wanted to connect to, but didn't know at the time.  Use
7770                         that instead of the 'fake' AP created at activation start and get
7771                         rid of the 'fake' AP 
7772                 - (cull_scan_list): don't remove fake APs
7773
7774 2007-10-21  Dan Williams  <dcbw@redhat.com>
7775
7776         * src/nm-activation-request.h
7777           src/nm-activation-request.c
7778                 - (nm_act_request_set_specific_object): new function; allow setting the
7779                         specific object if one isn't set yet
7780
7781 2007-10-20  Dan Williams  <dcbw@redhat.com>
7782
7783         * src/supplicant-manager/nm-supplicant-config.h
7784           src/supplicant-manager/nm-supplicant-config.c
7785                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
7786                         table to store blobs
7787                 - (nm_supplicant_config_add_blob): new function; add blob to internal
7788                         blob hash table
7789                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
7790                 - (nm_supplicant_config_add_setting_wireless_security): handle
7791                         options that use certificates (ie, blobs)
7792
7793         * src/nm-device-802-11-wireless.c
7794                 - (build_supplicant_config): pass a UID (just use the connection path)
7795                         to the supplicant config as now required
7796
7797         * src/supplicant-manager/nm-supplicant-interface.c
7798                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
7799                         there are any blobs to send to wpa_supplicant, send those first
7800                         before sending the network configuration
7801
7802 2007-10-19  Dan Williams  <dcbw@redhat.com>
7803
7804         Split the GetSecrets() call off to a separate D-Bus interface so that it
7805         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
7806         should be able to call GetSecrets().
7807
7808         * include/NetworkManager.h
7809                 - Define the connection secrets D-Bus interface
7810
7811         * src/vpn-manager/nm-vpn-connection.c
7812                 - (clear_need_auth): get the right proxy object for the connection
7813                         secrets interface
7814                 - (get_connection_secrets): use the connection secrets proxy; send
7815                         empty hints in get secrets request
7816
7817         * src/nm-activation-request.c
7818                 - (nm_act_request_request_connection_secrets): use the connection
7819                         secrets proxy; send empty hints in get secrets request
7820
7821         * src/nm-manager.c
7822           src/nm-manager.h
7823                 - (connection_get_settings_cb): set the connection secrets proxy on
7824                         the connection object too
7825                 - (internal_new_connection_cb): create the connection secrets proxy
7826
7827         * introspection/nm-settings-connection.xml
7828                 - Define Connection.Secrets interface and move GetSecrets there
7829                 - Add a 'hints' argument to GetSecrets
7830
7831         * libnm-glib/nm-settings.c
7832           libnm-glib/nm-settings.h
7833                 - (impl_connection_settings_get_secrets): add 'hints' argument
7834
7835 2007-10-19  Dan Williams  <dcbw@redhat.com>
7836
7837         * src/nm-device.c
7838                 - (constructor): add message about what path a device is exported as
7839                         to help in debugging rh #339011
7840
7841 2007-10-17  Dan Williams  <dcbw@redhat.com>
7842
7843         * libnm-util/nm-utils.h
7844           libnm-util/nm-utils.c
7845                 - (nm_utils_security_valid): common function to help find the intersection
7846                         of capabilities of devices and (optionally) access points
7847
7848 2007-10-17  Dan Williams  <dcbw@redhat.com>
7849
7850         * src/nm-device-802-11-wireless.c
7851                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7852                         don't get erroneously cleared
7853
7854 2007-10-17  Dan Williams  <dcbw@redhat.com>
7855
7856         * src/nm-manager.h
7857           src/nm-manager.c
7858           src/nm-hal-manager.c
7859                 - (device_removed, finalize, nm_manager_remove_device,
7860                    nm_manager_sleep): add a 'deactivate' argument to 
7861                    nm_manager_remove_device() to fully deactivate devices when necessary
7862                    (ie, always except when waking up)
7863
7864 2007-10-16  Dan Williams  <dcbw@redhat.com>
7865
7866         * libnm-util/nm-setting.c
7867                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7868                         also isn't valid phase2 autheap method
7869
7870 2007-10-16  Dan Williams  <dcbw@redhat.com>
7871
7872         * libnm-glib/nm-client.c
7873                 - (update_wireless_status): consolidate updates of wireless status
7874                 - (constructor): use update_wireless_status()
7875                 - (manager_running): set wireless status off when NM goes away; requery
7876                         the wireless status when NM comes back
7877
7878 2007-10-16  Dan Williams  <dcbw@redhat.com>
7879
7880         * libnm-glib/nm-client.c
7881                 - (nm_client_activate_device): actually use the fixed-up specific
7882                         object path
7883
7884 2007-10-16  Dan Williams  <dcbw@redhat.com>
7885
7886         * src/nm-hal-manager.c
7887                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7888                         killswitch error messages once
7889
7890 2007-10-16  Dan Williams  <dcbw@redhat.com>
7891
7892         * src/nm-manager.c
7893                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7894                         if it's disabled in hardware; don't touch network devices while
7895                         NM is asleep
7896
7897 2007-10-16  Dan Williams  <dcbw@redhat.com>
7898
7899         * libnm-util/nm-client.c
7900                 - (nm_client_activate_device): convert NULL specific_object to "/",
7901                         which is used in place of NULL
7902
7903         * src/nm-manager.c
7904                 - (impl_manager_activate_device): convert "/" specific_object back into
7905                         NULL
7906
7907 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7908
7909         Implement a generic NMSetting creator from setting name.
7910         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7911         add a virtual function 'populate_fn'.
7912
7913         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7914         (register_default_creators): Register setting creators instead of functions
7915         that create and then populate.
7916         (parse_one_setting): Use the common setting creator and then setting specific
7917         poplulation function.
7918
7919         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7920         they all looked exactly the same.
7921         Add a 'populate_fn' virtual function to NMSetting.
7922         Use default virtual functions in case they are not overriden.
7923         (nm_setting_populate_from_hash): Implement.
7924
7925         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7926         name, use a defined string.
7927         (real_act_stage4_get_ip4_config): Ditto.
7928
7929 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7930
7931         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7932         HAL is int, not uint.
7933
7934 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7935
7936         Implement killswitch polling through HAL.
7937
7938         * src/nm-manager.c: Add wireless hardware status property. Add 
7939         'properties-changed' signal for changes in wireless and wireless hardware
7940         state changes.
7941
7942         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7943         and update NMManager's wireless hardware state when it has changed.
7944         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7945         already does that.
7946
7947         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7948         values of wireless state and wireless hardware state. Listen for the
7949         'properties-changed' signals, update the cached values and emit notify.
7950
7951         * include/NetworkManager.h: Fix a typo in a comment.
7952
7953 2007-10-14  Dan Williams  <dcbw@redhat.com>
7954
7955         * libnm-util/nm-setting.c
7956                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7957
7958 2007-10-13  Dan Williams  <dcbw@redhat.com>
7959
7960         * libnm-util/nm-setting.h
7961           libnm-util/nm-setting.c
7962           src/supplicant-manager/nm-supplicant-config.c
7963                 - Make the 'proto' field of the 802-11-wireless-security field a
7964                         string list
7965
7966 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7967
7968         Rework the "properties-changed" signal listening implementation.
7969         Add a generic implementation to NMObject class that listens for
7970         the signal and calls property setters of the target NMObject.
7971
7972         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7973
7974         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7975         code to the end of file so that all the static functions are available
7976         without extra declarations.
7977         Remove the "properties-changed" signal handling and use the framework from
7978         NMObject.
7979         Implement property setters for properties that change with 
7980         "properties-changed" signal.
7981
7982         * libnm-glib/nm-access-point.c: Ditto.
7983
7984 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7985
7986         Rework the "properties-changed" signal implementation.
7987         In classes that need to use it, just emit "GObject::notify" and the new
7988         framework takes care of the rest to make the signal available on dbus.
7989         The framework queues the notifications and tries to send as many together
7990         in one signal as possible.
7991
7992         * src/nm-properties-changed-signal.c:
7993         * src/nm-properties-changed-signal.h: Implement.
7994
7995         * src/Makefile.am: Add new files to build.
7996
7997         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7998         signal.
7999
8000         * src/nm-device-802-11-wireless.c: Ditto.
8001
8002 2007-10-10  Dan Williams  <dcbw@redhat.com>
8003
8004         * src/nm-manager.c
8005                 - (wait_for_connection_expired): ensure info is valid
8006                 - (connection_added_default_handler): Should only remove pending
8007                         connection info when the manager has the connection that it's
8008                         waiting for.  Fixes segfault in wait_for_connection_info().  
8009
8010 2007-10-10  Dan Williams  <dcbw@redhat.com>
8011
8012         * libnm-util/nm-setting.c
8013           libnm-util/nm-setting.h
8014                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
8015                         can use if they choose.  Should be filled in by the settings service
8016                         on-the-fly with the currently logged in user's username
8017
8018 2007-10-10  Dan Williams  <dcbw@redhat.com>
8019
8020         * src/nm-device-802-11-wireless.c
8021                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
8022                         as such, because even if the manager fills in the SSID, NM still
8023                         has to indicate to wpa_supplicant that the AP isn't broadcasting
8024                         its SSID
8025
8026 2007-10-10  Tambet Ingo  <tambet@gmail.com>
8027
8028         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
8029         code that used NM's own version of dbus signal handling and custom dictionary
8030         marshalling/unmarshalling. With this change, all that obsolete code can disappear
8031         and we get to maintain over 2000 lines less code.
8032
8033         * libnm-util/dbus-dict-helpers.c:
8034         * libnm-util/dbus-dict-helpers.h: Remove.
8035
8036         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
8037
8038         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
8039
8040         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
8041         handlers.
8042
8043         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
8044
8045         * configure.in: Remove test/libnm-util/Makefile creation.
8046
8047         * test/Makefile.am: Remove libnm-util from SUBDIRS.
8048
8049         * test/libnm-util/: Remove the whole directory.
8050
8051 2007-10-10  Tambet Ingo  <tambet@gmail.com>
8052
8053         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
8054         device_state_changed_idle_id variable or it would contain some random value and the
8055         schedule_change_check calls would not do anything.
8056
8057 2007-10-09  Dan Williams  <dcbw@redhat.com>
8058
8059         * src/nm-device-802-11-wireless.c
8060                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
8061                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
8062                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
8063                         merging of non-SSID-broadcasting APs
8064
8065 2007-10-09  Tambet Ingo  <tambet@gmail.com>
8066
8067         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
8068         "guint8 *" since it's usually used with GByteArray->data.
8069         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
8070
8071 2007-10-09  Tambet Ingo  <tambet@gmail.com>
8072
8073         * src/NetworkManagerUtils.c
8074         (nm_utils_is_empty_ssid):
8075         (nm_utils_escape_ssid):
8076         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
8077         lot of places, so they belong to libnm-utils instead.
8078
8079         Now with 100% less compiler warnings:
8080
8081         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
8082         (nm_dbus_unescape_object_path): Ditto.
8083         (nm_utils_ssid_to_utf8): Ditto.
8084         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
8085         (nm_utils_escape_ssid): Ditto.
8086         (nm_utils_same_ssid): Ditto.
8087
8088         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
8089         (add_one_connection_element): Remove an unused variable.
8090         (impl_manager_get_active_connections): Ditto.
8091
8092         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
8093         variable.
8094
8095         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
8096         from the previous commit.
8097
8098         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
8099         (real_act_stage1_prepare): Ditto.
8100         (activation_success_handler): Ditto.
8101         (get_property): Ditto.
8102
8103         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
8104         variable.
8105
8106         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
8107         it's always set.
8108
8109         * src/supplicant-manager/nm-supplicant-config.c 
8110         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
8111         to expected "char *".
8112         (nm_supplicant_config_add_setting_wireless): Ditto.
8113         (nm_supplicant_config_remove_option): Remove, not used.
8114
8115         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
8116         not double.
8117         (test_wireless_enabled): Ifdef out unused function.
8118         (device_deactivate): Ditto.
8119         (device_state_changed): Ditto.
8120         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
8121         (nm_utils_escape_ssid): Ditto.
8122
8123         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
8124         (nm_utils_is_empty_ssid): Ditto.
8125
8126         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
8127         unused variable.
8128
8129         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
8130         (setting_vpn_properties_update_secrets): Ditto.
8131         (int_to_gvalue): Ifdef out for now, not used.
8132         (byte_to_gvalue): Ditto.
8133
8134         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
8135         Unused, remove.
8136
8137 2007-10-08  Tambet Ingo  <tambet@gmail.com>
8138
8139         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
8140         about dbus manager, not named manager.
8141         Make sure hal_manager and dbus_mgr are created before trying to unreference.
8142
8143         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
8144         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
8145         However, the same signal is emitted when we destroy it and there's 
8146         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
8147
8148         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
8149         releasing the DBusGConnection, since proxy needs a conneciton.
8150         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
8151
8152 2007-10-08  Dan Williams  <dcbw@redhat.com>
8153
8154         * src/NetworkManager.c
8155                 - (main): error on unknown command-line options
8156
8157 2007-10-08  Dan Williams  <dcbw@redhat.com>
8158
8159         Reimplement the invalid connection list.  Don't try to re-activate a
8160         connection that just failed or was canceled.
8161
8162         * src/nm-device.c
8163                 - (connection_secrets_failed_cb): fail device activation, don't just
8164                         deactivate the device.  Listeners have to know about the failure.
8165
8166         * src/NetworkManagerPolicy.c
8167                 - (nm_policy_auto_get_best_device): exclude invalid connections from
8168                         the connection list given to a device's get_best_connection()
8169                         method
8170                 - (device_state_changed): tag failed connections as invalid; clear the
8171                         tag from successful connections
8172
8173 2007-10-08  Dan Williams  <dcbw@redhat.com>
8174
8175         Fix problems with interrupted activation.  Previously, choosing an AP
8176         from the menu, then choosing another one before the first connection was
8177         successful wouldn't deactivate the device before starting the new connection
8178         on that same device.
8179
8180         * src/NetworkManagerPolicy.c
8181                 - (deactivate_old_device, device_state_changed, state_changed,
8182                    nm_policy_new): wrong place to deactivate old devices
8183
8184         * src/nm-manager.c
8185                 - (pending_connection_info_destroy, finalize,
8186                    wait_for_connection_expired): decouple destruction of the pending
8187                         connection info from the manager device
8188                 - (connection_added_default_handler): deactivate any active or
8189                         activating device before starting a new activation
8190                 - (impl_manager_activate_device): deactivate any active or activating
8191                         device before starting a new activation; be sure not to leak
8192                         pending connection info if a new activation request arrives but
8193                         there's already a pending one in-process
8194
8195 2007-10-08  Dan Williams  <dcbw@redhat.com>
8196
8197         * src/NetworkManagerAP.h
8198           src/NetworkManagerAP.c
8199                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
8200                         should handle default SSIDs and whether or not to autoconnect
8201                         to them
8202
8203 2007-10-08  Dan Williams  <dcbw@redhat.com>
8204
8205         * src/NetworkManagerPolicy.c
8206                 - (nm_policy_device_change_check): print out connection name where
8207                         possible
8208
8209 2007-10-08  Dan Williams  <dcbw@redhat.com>
8210
8211         * src/nm-device-802-11-wireless.c
8212           src/nm-device-802-11-wireless.h
8213                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
8214                         'hidden-ap-found' signal (for internal use only) that allows the
8215                         NMManager to fill in the AP's SSID if a connection has that AP's
8216                         BSSID in its seen-bssids list
8217
8218         * src/nm-manager.c
8219                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
8220                         wireless device's hidden-ap-found signal and fill in the APs SSID
8221                         if possible
8222
8223 2007-10-07  Dan Williams  <dcbw@redhat.com>
8224
8225         * src/nm-manager.c
8226           src/nm-manager.h
8227                 - Add a 'connections-added' signal to batch together updates of large
8228                         numbers of connections, like when reading from a settings service
8229                         the first time.  Otherwise, the policy would just activate the first
8230                         suitable connection it saw rather than waiting for the full list
8231                         to arrive.
8232                 - (nm_manager_class_init): register new signal
8233                 - (get_type_for_proxy, connection_get_settings_cb,
8234                    get_connection_for_proxy): centralize places where a proxy's setting
8235                         service is determined
8236                 - (free_get_settings_info): if the call being freed is the last call
8237                         in a pending call group, fire off the connections-added signal
8238                 - (internal_new_connection_cb): add call to a pending call group if
8239                         requested
8240                 - (list_connections_cb): always create a call group here, because this
8241                         call results in a batch of new connections
8242                 - (initial_get_connections): start getting system connections first
8243                 - (nm_manager_connections_destroy, emit_removed): actually emit the
8244                         removed signal when destroying connections
8245
8246         * src/NetworkManagerPolicy.c
8247                 - (nm_policy_new, connections_added): handle connections-added signal
8248                         from the manager
8249
8250 2007-10-06  Dan Williams  <dcbw@redhat.com>
8251
8252         * src/nm-device-802-11-wireless.c
8253                 - (constructor): fix leaked socket
8254
8255 2007-10-06  Dan Williams  <dcbw@redhat.com>
8256
8257         * src/NetworkManagerPolicy.c
8258                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
8259                         connection in the list returned by nm_manager_get_connections() is
8260                         reffed, but they weren't getting unreffed before returning
8261
8262 2007-10-06  Dan Williams  <dcbw@redhat.com>
8263
8264         * src/nm-manager.c
8265                 - (connections_to_slist): sort connections first on autoconnect, then
8266                         on timestamp
8267
8268 2007-10-06  Dan Williams  <dcbw@redhat.com>
8269
8270         * libnm-util/nm-connection.c
8271                 - (gvalue_to_string): handle UINT64
8272
8273 2007-10-06  Dan Williams  <dcbw@redhat.com>
8274
8275         * src/NetworkManagerPolicy.c
8276                 - (connection_updated, nm_policy_new): recheck state when a connection
8277                         gets updated
8278
8279 2007-10-06  Dan Williams  <dcbw@redhat.com>
8280
8281         * src/nm-manager.c
8282           src/nm-manager.h
8283                 - (nm_manager_get_connection_dbus_path): make static
8284                 - (nm_manager_update_connections): remove; unused
8285                 - Add a connection-updated signal
8286                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
8287                         handle connection object updates
8288
8289 2007-10-06  Dan Williams  <dcbw@redhat.com>
8290
8291         * src/NetworkManagerPolicy.c
8292                 - (connection_removed): deactivate removed connections
8293
8294 2007-10-06  Dan Williams  <dcbw@redhat.com>
8295
8296         * libnm-util/nm-connection.c
8297           libnm-util/nm-connection.h
8298                 - (nm_connection_replace_settings): new function
8299
8300 2007-10-06  Dan Williams  <dcbw@redhat.com>
8301
8302         * libnm-glib/nm-device-802-11-wireless.c
8303                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
8304                         on error when getting the active access point over D-Bus from NM
8305
8306 2007-10-05  Dan Williams  <dcbw@redhat.com>
8307
8308         * libnm-util/nm-setting.c
8309                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
8310                         to the NMSettingWireless table; it's now a string array not an array
8311                         of byte arrays
8312
8313 2007-10-05  Dan Williams  <dcbw@redhat.com>
8314
8315         * libnm-glib/nm-device-802-11-wireless.c
8316                 - Cache properties and update cached properties on D-Bus signals from NM
8317
8318 2007-10-05  Dan Williams  <dcbw@redhat.com>
8319
8320         * src/nm-device-802-11-wireless.c
8321                 - (set_current_ap): consolidate current_ap handling code into one place
8322                         to ensure that PropertiesChanged signals are emitted in all cases
8323                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
8324                    nm_device_802_11_wireless_dispose): use set_current_ap()
8325
8326 2007-10-05  Dan Williams  <dcbw@redhat.com>
8327
8328         * libnm-glib/nm-access-point.c
8329           libnm-glib/nm-access-point.h
8330                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
8331                         because the value is cached internally now.  Callers should not
8332                         free the internal value.
8333                 - Make signal name defines private
8334
8335         * test/nm-tool.c
8336           libnm-glib/libnm-glib-test.c
8337                 - Don't free value returned from nm_access_point_get_hw_address()
8338
8339 2007-10-04  Dan Williams  <dcbw@redhat.com>
8340
8341         * introspection/nm-device-802-11-wireless.xml
8342           src/nm-device-802-11-wireless.h
8343           src/nm-device-802-11-wireless.c
8344                 - Add a PropertiesChanged signal for wireless device
8345                 - Store currently associated access point
8346                 - (periodic_update): generalize; update rate here too and emit the
8347                         correct PropertiesChanged signal when stuff changes
8348                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
8349                    real_activation_cancel_handler): clear current_ap when device is
8350                         deactivated
8351                 - (link_to_specific_ap, get_ap_blacklisted,
8352                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
8353                         code
8354                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
8355                         outside this file
8356                 - (real_set_hw_address): emit property changed signal if the card's
8357                         MAC address changes
8358                 - (real_act_stage1_prepare): set the initial current_ap to the AP
8359                         the card is supposed to be connecting to
8360                 - (activation_success_handler): send out property updates on successful
8361                         activation
8362                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
8363                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
8364                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
8365                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
8366                         is now boxed; add PropertiesChanged signal
8367
8368 2007-10-04  Dan Williams  <dcbw@redhat.com>
8369
8370         * libnm-util/nm-connection.c
8371           libnm-util/nm-connection.h
8372                 - (nm_connection_verify): new function
8373
8374 2007-10-04  Dan Williams  <dcbw@redhat.com>
8375
8376         * libnm-util/nm-setting.c
8377                 - (nm_settings_verify): use #defines when possible rather than strings
8378                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
8379                 - (setting_vpn_verify): tighter validity check on 'service_type'
8380
8381 2007-10-04  Dan Williams  <dcbw@redhat.com>
8382
8383         * libnm-glib/nm-settings.c
8384                 - (nm_connection_settings_class_init): provide correct type for argument
8385                         to the Updated signal so that dbus-glib knows how to marshal it
8386
8387 2007-10-03  Dan Williams  <dcbw@redhat.com>
8388
8389         * src/nm-device-802-3-ethernet.c
8390                 - (real_get_best_connection): don't create automatic connections
8391                         internally; clients should provide a setting that applies to
8392                         the device with 'autoconnect: True'.  Problem was that these
8393                         internally auto-created connections don't have a proxy or service
8394                         name because they weren't created by a settings daemon, and therefore
8395                         clients have no idea what to do with them.
8396
8397 2007-10-03  Dan Williams  <dcbw@redhat.com>
8398
8399         * src/nm-device-802-11-wireless.c
8400           src/nm-device-802-11-wireless.h
8401           introspection/nm-device-802-11-wireless.xml
8402                 - GetActiveNetworks -> GetAccessPoints
8403                 - ActiveNetwork -> ActiveAccessPoint
8404                 - NetworkAdded -> AccessPointAdded
8405                 - NetowrkRemoved -> AccessPointRemoved
8406
8407         * libnm-glib/nm-device-802-11-wireless.c
8408           libnm-glib/nm-device-802-11-wireless.h
8409                 - network-added signal -> access-point-added
8410                 - network-removed signal -> access-point-removed
8411                 - nm_device_802_11_wireless_get_active_network() ->
8412                         nm_device_802_11_wireless_get_active_access_point()
8413                 - nm_device_802_11_wireless_get_network_by_path() ->
8414                         nm_device_802_11_wireless_get_access_point_by_path()
8415                 - nm_device_802_11_wireless_get_networks() ->
8416                         nm_device_802_11_wireless_get_access_points()
8417
8418         * libnm-glib/libnm-glib-test.c
8419           test/nm-tool.c
8420           src/NetworkManagerPolicy.c
8421                 - Fixups for Network -> AccessPoint
8422
8423 2007-10-03  Dan Williams  <dcbw@redhat.com>
8424
8425         Add a GetActiveConnections() method on the Manager object.
8426
8427         * src/nm-manager.c
8428           src/nm-manager.h
8429           introspection/nm-manager.xml
8430                 - (connection_get_settings_cb): keep connection type around too
8431                 - (impl_manager_get_active_connections, add_one_connection_element):
8432                         implement; returns all active connections and what devices they
8433                         apply to
8434
8435         * libnm-glib/nm-client.c
8436           libnm-glib/nm-client.h
8437           introspection/nm-manager-client.xml
8438                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
8439                         by the caller; free here to avoid memory leak
8440                 - (nm_client_get_active_connections): implement; return the list of
8441                         active connections
8442                 - (nm_client_free_active_connection_element): implement; free an element
8443                         of the GSList returned by nm_client_get_active_connections()
8444
8445 2007-10-03  Dan Williams  <dcbw@redhat.com>
8446
8447         * src/nm-device-802-11-wireless.c
8448                 - (nm_device_802_11_wireless_update_bssid): remove
8449                 - (get_active_ap): new function; find the AP in the scan list which
8450                         matches the current BSSID and SSID of the wireless device
8451                 - (nm_device_802_11_periodic_update): get current AP using
8452                         get_active_ap() and print AP roam messages
8453
8454 2007-10-01  Dan Williams  <dcbw@redhat.com>
8455
8456         * libnm-util/nm-setting.h
8457                 - Add a 'timestamp' option to NMSettingConnection
8458                 - Add a UINT64 type
8459
8460         * libnm-util/nm-setting.c
8461                 - (uint64_to_gvalue): new function
8462                 - (nm_setting_populate_from_hash, nm_setting_hash,
8463                    default_setting_clear_secrets): handle UINT64 type
8464                 - con_table: add 'timestamp' member
8465
8466 2007-10-01  Dan Williams  <dcbw@redhat.com>
8467
8468         * src/nm-manager.c
8469                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
8470                         value when the connection can be activated immediately
8471
8472 2007-10-01  Dan Williams  <dcbw@redhat.com>
8473
8474         * libnm-glib/nm-device.c
8475                 - (nm_device_class_init): actually tell glib about the carrier-changed
8476                         signal
8477
8478 2007-10-01  Dan Williams  <dcbw@redhat.com>
8479
8480         * configure.in
8481           src/marshallers/Makefile.am
8482           src/marshallers/nm-marshal.list
8483           src/marshallers/nm-marshal-main.c
8484                 - Consolidate glib marshallers into one place
8485
8486         * src/dhcp-manager/Makefile.am
8487           src/dhcp-manager/nm-dhcp-manager.c
8488           src/supplicant-manager/Makefile.am
8489           src/supplicant-manager/nm-supplicant-manager.c
8490           src/supplicant-manager/nm-supplicant-interface.c
8491           src/ppp-manager/Makefile.am
8492           src/ppp-manager/nm-ppp-manager.c
8493           src/vpn-manager/Makefile.am
8494           src/vpn-manager/nm-vpn-connection.c
8495           src/Makefile.am
8496                 - Use consolidated marshallers
8497
8498         * src/dhcp-manager/nm-dhcp-marshal.list
8499           src/dhcp-manager/nm-dhcp-marshal-main.c
8500           src/supplicant-manager/nm-supplicant-marshal-main.c
8501           src/supplicant-manager/nm-supplicant-marshal.list
8502           src/nm-marshal-main.c
8503           src/nm-marshal.list
8504           src/ppp-manager/nm-ppp-marshal-main.c
8505           src/ppp-manager/nm-ppp-marshal.list
8506           src/vpn-manager/nm-vpn-marshal-main.c
8507           src/vpn-manager/nm-vpn-marshal.list
8508                 - Remove
8509
8510 2007-10-01  Dan Williams  <dcbw@redhat.com>
8511
8512         * include/NetworkManagerVPN.h
8513                 - define VPN connection state change reason codes
8514
8515         * src/vpn-manager/Makefile.am
8516           src/vpn-manager/nm-vpn-marshal.list
8517           src/vpn-manager/nm-vpn-marshal-main.c
8518                 - Add marshallers for StateChanged signal
8519
8520         * introspection/nm-vpn-connection.xml
8521                 - New Banner property
8522                 - StateChanged signal now includes a 'reason' argument
8523
8524         * src/vpn-manager/nm-vpn-connection.c
8525           src/vpn-manager/nm-vpn-connection.h
8526                 - Add a "Banner" property that contains the returned VPN server login
8527                         banner (if any); valid only in the ACTIVATED state
8528                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
8529                         a 'reason' argument and emits that reason along with the
8530                         state-changed signal
8531                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
8532                 - (nm_vpn_connection_ip4_config_get): save banner for later
8533                 - (nm_vpn_connection_get_banner, get_property,
8534                    nm_vpn_connection_class_init): implement Banner property
8535
8536         * src/vpn-manager/nm-vpn-service.c
8537                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
8538                         connection list because elements may get added/removed from it
8539                         while iterating over the list
8540                 - (connection_state_changed): signal now includes the 'reason' argument
8541
8542         * libnm-glib/nm-vpn-connection.c
8543           libnm-glib/nm-vpn-connection.h
8544                 - (nm_vpn_connection_get_banner): new function
8545                 - (state_changed_proxy): handle reason argument
8546
8547 2007-09-28  Tambet Ingo  <tambet@gmail.com>
8548
8549         * src/nm-manager.c:
8550         * src/nm-manager.h:
8551         Implement device activation through NMManager.
8552         Implement "pending device activation" here - If the connection isn't found,
8553         we try to wait for up to 5 seconds for the connection to be provided.
8554         Add NMConnectionType argument to "connection-added" and "connection-removed"
8555         signals.
8556         (nm_manager_get): Remove. Finally.
8557
8558         * src/nm-activation-request.c: 
8559         * src/nm-activation-request.h: 
8560         Remove all the deferred activation code.
8561
8562         * src/nm-device.c: Remove all the deferred activation code. Once the device
8563         activation is started, it's started. Update the activation virtual function
8564         signature.
8565
8566         * src/nm-device-interface.c:
8567         * src/nm-device-interface.h:
8568         Device activation now takes only NMActRequest argument.
8569         Don't expose device activation directly on dbus, it's supposed to go through
8570         NMManager now.
8571
8572         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
8573         a bit more compact.
8574         Use the new device activation methods through NMManager.
8575
8576         * introspection/nm-manager-client.xml: 
8577         * introspection/nm-manager.xml: 
8578         * libnm-glib/nm-client.c:
8579         * libnm-glib/nm-client.h:
8580         Add device activation method.
8581         
8582         * libnm-glib/nm-device.c: 
8583         * libnm-glib/nm-device.h: 
8584         * introspection/nm-device.xml: 
8585         Remove device activation method. It's done through NMManager now.
8586
8587         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
8588         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
8589
8590 2007-09-28  Dan Williams  <dcbw@redhat.com>
8591
8592         * libnm-glib/nm-vpn-connection.c
8593                 - (nm_vpn_connection_get_state): try to update state if the current
8594                         state is UNKNOWN
8595
8596 2007-09-27  Dan Williams  <dcbw@redhat.com>
8597
8598         Patch from Bill Nottingham
8599
8600         * src/supplicant-manager/nm-supplicant-config.c
8601                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
8602                         data to the supplicant
8603
8604 2007-09-27  Dan Williams  <dcbw@redhat.com>
8605
8606         * src/NetworkManagerSystem.c
8607                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
8608                         and all address manipulation here should be happening on the
8609                         _VPN_ device, not the active device
8610
8611 2007-09-26  Dan Williams  <dcbw@redhat.com>
8612
8613         * src/nm-manager.c
8614           src/nm-manager.h
8615           src/nm-activation-request.c
8616           src/nm-activation-request.h
8617                 - Move the GetSecrets stuff out of the NMManager instance because it
8618                         doesn't really need to be there and complicates things
8619
8620         * src/nm-device.c
8621                 - (connection_secrets_failed_cb, device_activation_go): connect to the
8622                         connection-secrets-failed signal and deactivate the device if
8623                         the GetSecrets call fails
8624
8625         * src/nm-device-802-11-wireless.c
8626                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8627                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
8628                         secrets and give correct hints about whether new secrets should be
8629                         asked for by the client or not
8630
8631 2007-09-26  Dan Williams  <dcbw@redhat.com>
8632
8633         * src/vpn-manager/nm-vpn-connection.c
8634                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
8635                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
8636                         to the secrets-updated signal of the NMConnection since updating
8637                         the secrets is done within the scope of the NMVPNConnection object
8638                         already
8639                 - (get_connection_secrets): fix an uninialized variable usage error
8640
8641 2007-09-26  Dan Williams  <dcbw@redhat.com>
8642
8643         * libnm-util/nm-setting.c
8644                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
8645                         actually get updated when the user enters them
8646
8647 2007-09-26  Dan Williams  <dcbw@redhat.com>
8648
8649         * libnm-glib/nm-vpn-plugin.c
8650                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
8651
8652 2007-09-26  Dan Williams  <dcbw@redhat.com>
8653
8654         * include/NetworkManagerVPN.h
8655                 - Add a NEED_AUTH state
8656
8657         * src/vpn-manager/nm-vpn-connection.c
8658                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
8659                         the connection needs secrets, and if so, then ask the settings
8660                         service to fill in the secrets.  Then start the connection.
8661
8662 2007-09-26  Dan Williams  <dcbw@redhat.com>
8663
8664         * src/vpn-manager/nm-vpn-manager.c
8665                 - (new_vpn_error, impl_vpn_manager_connect): set errors
8666
8667 2007-09-26  Dan Williams  <dcbw@redhat.com>
8668
8669         * introspection/nm-vpn-plugin.xml
8670           libnm-glib/nm-vpn-plugin.c
8671           libnm-glib/nm-vpn-plugin.h
8672                 - (impl_vpn_plugin_need_secrets): implement a call that should return
8673                         the name of the NMSetting in an NMConnection that may require
8674                         secrets specific to that VPN plugin
8675
8676 2007-09-26  Dan Williams  <dcbw@redhat.com>
8677
8678         * src/nm-manager.c
8679           src/nm-manager.h
8680                 - (nm_manager_get_connection_secrets): make static, unused outside
8681                         the file
8682                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
8683
8684 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8685
8686         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
8687         method.
8688         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
8689         unreference the connection.
8690
8691         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
8692         passing properties hash and routes string list, pass NMConnection (in hashed form).
8693
8694         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
8695         as GSList, no need to copy stuff around anymore.
8696         (nm_vpn_connection_activate): Update the plugin activation method.
8697
8698         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
8699         routes argument to GSList.
8700
8701 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8702
8703         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
8704         state and try to get the secrets.
8705
8706         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
8707         connections from NMManager and let the device to choose the best from the list.
8708         Since the connection list is sorted by system ones first and user ones later,
8709         the devices still prefer system connections like they did before.
8710         (deactivate_old_device): Implement. When a device starts activation, we have a
8711         policy (for now at least) to deactivate any other device that might be either
8712         active or still activating.
8713
8714         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
8715         It's set on construction, there will be no other way to access it.
8716
8717         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
8718         device events and drive the device, not the other way around.
8719
8720         * src/nm-device-802-3-ethernet.c: Ditto.
8721
8722         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
8723         sent along, pass it on to virtual functions.
8724
8725         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
8726         for now, but should really be public instead of nm_device_get_iface() since iface
8727         is a property of the DeviceInterface, not Device.
8728         (impl_device_activate): Don't touch NMManager!
8729
8730 2007-09-26  Jürg Billeter  <j@bitron.ch>
8731
8732         * initscript/paldo/NetworkManager.in:
8733         * initscript/paldo/NetworkManagerDispatcher.in:
8734         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
8735         (nm_system_flush_loopback_routes): update paldo backend
8736
8737 2007-09-26  Tambet Ingo  <tambet@gmail.com>
8738
8739         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
8740         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
8741         which means none of the devices get brought down properly, which in turn leaves
8742         DHCP client running.
8743
8744         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
8745         (supplicant_connection_timeout_cb): Ditto.
8746
8747 2007-09-25  Dan Williams  <dcbw@redhat.com>
8748
8749         * src/nm-device.c
8750                 - (device_activation_go): small hack to work around race when
8751                         activating deferred connections; should solve this in a better way
8752
8753 2007-09-25  Dan Williams  <dcbw@redhat.com>
8754
8755         * introspection/nm-device.xml
8756           libnm-glib/nm-device.c
8757           libnm-glib/nm-device.h
8758                 - Add 'Carrier' property to exported NMDevice objects
8759
8760         * src/nm-device-interface.h
8761           src/nm-device-interface.c
8762           src/nm-device.c
8763                 - Add a 'carrier' property to internal NMDevice objects
8764
8765 2007-09-25  Dan Williams  <dcbw@redhat.com>
8766
8767         * src/nm-device-802-11-wireless.c
8768                 - (ap_auth_enforced): also return the encryption status of the AP so
8769                         that callers can differentiate easily between unencrypted APs
8770                         and encrypted ones, in addition to whether the AP has an
8771                         authenticator
8772                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8773                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
8774                         previously would request secrets from unencrypted APs at times
8775
8776 2007-09-25  Dan Williams  <dcbw@redhat.com>
8777
8778         * src/nm-manager.c
8779                 - (nm_manager_update_state): new function; updates state and emits
8780                         appropriate signals ensuring a state-change signal for the same state
8781                         never gets emitted twice in a row.
8782                 - (manager_device_state_changed): handle more device state to get a
8783                         better picture of the overall NM state
8784
8785 2007-09-25  Dan Williams  <dcbw@redhat.com>
8786
8787         * libnm-glib/nm-settings.c
8788           libnm-glib/nm-settings.h
8789                 - (new_error -> nm_settings_new_error): make public so that subclasses
8790                         can use the same error domain.  Also pass a valid error code to
8791                         g_error_new_literal() so that libdbus doesn't assert when converting
8792                         the GError into a DBusError
8793                 - (impl_settings_list_connections, impl_connection_settings_get_id,
8794                    impl_connection_settings_get_settings,
8795                    impl_connection_settings_get_secrets): use new error creator
8796                         function
8797
8798 2007-09-25  Dan Williams  <dcbw@redhat.com>
8799
8800         * src/NetworkManager.c
8801                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
8802
8803 2007-09-25  Dan Williams  <dcbw@redhat.com>
8804
8805         * src/supplicant-manager/nm-supplicant-manager.c
8806                 - (poke_supplicant_cb, nm_supplicant_manager_init,
8807                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
8808                    nm_supplicant_manager_startup): when the supplicant isn't running,
8809                         try to start it periodically via system bus activation.  Fixes
8810                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
8811                         for the supplicant to come back
8812
8813 2007-09-25  Dan Williams  <dcbw@redhat.com>
8814
8815         Ensure that old activation requests are forgotten about; previously
8816         hitting Cancel in the password dialog would deactivate whatever device
8817         that password was requested for, even if that wasn't the currently
8818         activating connection.
8819
8820         * src/nm-manager.c
8821           src/nm-manager.h
8822                 - (nm_manager_get_connection_secrets): track the pending call
8823                         object so it can be canceled later if needed
8824                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
8825                         GetSecrets call for a particular connection
8826
8827         * src/nm-activation-request.c
8828                 - (dispose): cancel any outstanding GetSecrets calls on the
8829                         connection
8830
8831 2007-09-25  Dan Williams  <dcbw@redhat.com>
8832
8833         * src/NetworkManagerPolicy.c
8834                 - (nm_policy_device_change_check): handle devices that have a
8835                         deferred activation.  These devices are not really active _yet_,
8836                         but need to be treated as such here.  Don't interrupt them
8837                         automatically.
8838
8839         * src/nm-device-interface.c
8840                 - (impl_device_activate): handle devices that have a deferred activation
8841                         like activating or active devices.  When multiple active devices
8842                         get committed, the device shouldn't be deactivated until the
8843                         connection details are available to avoid DoS and such.  Currently,
8844                         any active, activating, or deferred activation device is deactivated
8845                         here before starting the new activation request.
8846
8847 2007-09-25  Dan Williams  <dcbw@redhat.com>
8848
8849         Properly re-query secrets from the settings daemon when stuff fails.
8850
8851         * src/nm-device-802-11-wireless.c
8852                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8853                         between Shared Key and Open System auth modes
8854                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8855                    real_act_stage4_ip_config_timeout): clear existing secrets and
8856                         request new ones when something fails due to a suspected wrong key
8857                 - (real_act_stage2_config): fix for new request_new argument to
8858                         nm_manager_get_connection_secrets()
8859
8860         * src/nm-manager.c
8861           src/nm-manager.h
8862                 - (nm_manager_get_connection_secrets): return error status; pass
8863                         new request_new argument on to the settings daemon
8864
8865         * introspection/nm-settings-connection.xml
8866                 - New 'request_new' argument to the GetSecrets call that hints to the
8867                         settings daemon to ask the user for completely new secrets
8868
8869         * libnm-glib/nm-settings.c
8870           libnm-glib/nm-settings.h
8871                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8872                         argument
8873
8874 2007-09-25  Dan Williams  <dcbw@redhat.com>
8875
8876         * libnm-util/nm-connection.c
8877           libnm-util/nm-connection.h
8878                 - (nm_connection_clear_secrets): new function; clear secrets out of
8879                         each NMSetting in an NMConnection
8880
8881         * libnm-util/nm-setting.h
8882           libnm-util/nm-setting.c
8883                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8884                         secrets out of an NMSetting
8885                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8886                    nm_setting_wired_new, nm_setting_wireless_new,
8887                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8888                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8889                         to default handler default_setting_clear_secrets()
8890
8891 2007-09-25  Dan Williams  <dcbw@redhat.com>
8892
8893         * src/nm-activation-request.c
8894           src/nm-activation-request.h
8895                 - (nm_act_request_is_deferred): new function
8896
8897 2007-09-24  Dan Williams  <dcbw@redhat.com>
8898
8899         * src/nm-device-802-11-wireless.c
8900                 - (activation_success_handler): update signal strength immediately
8901                         after activation
8902
8903 2007-09-24  Dan Williams  <dcbw@redhat.com>
8904
8905         * libnm-util/nm-setting.c
8906                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8907
8908 2007-09-24  Dan Williams  <dcbw@redhat.com>
8909
8910         * src/NetworkManagerPolicy.c
8911                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8912                         device by deactivating it because it doesn't have a "best connection".
8913                         Since autoconnect=False connections aren't automatically chosen,
8914                         NM would interrupt activation of such a connection because it
8915                         would never be "best" due to autoconnect=False.
8916
8917 2007-09-24  Dan Williams  <dcbw@redhat.com>
8918
8919         * src/nm-manager.c
8920                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8921                         actually has some time to enter a key before the GetSecrets call
8922                         times out
8923
8924 2007-09-24  Dan Williams  <dcbw@redhat.com>
8925
8926         * introspection/nm-manager.xml
8927           src/nm-manager.c
8928                 - (impl_manager_legacy_state): fix 'state' method call return value
8929
8930 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8931
8932         * test/Makefile.am: Install nm-tool
8933
8934 2007-09-24  Dan Williams  <dcbw@redhat.com>
8935
8936         Patch from Ross Burton <ross@burtonini.com>
8937
8938         * test/nm-tool.c
8939           callouts/nm-dhcp-client-action.c
8940           src/nm-netlink.c
8941           src/vpn-manager/nm-vpn-connection.c
8942           libnm-glib/libnm-glib-test.c
8943                 - warning fixes
8944
8945 2007-09-24  Dan Williams  <dcbw@redhat.com>
8946
8947         * libnm-util/nm-utils.h
8948           libnm-util/nm-utils.c
8949                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8950                         remove, unused
8951
8952 2007-09-23  Dan Williams  <dcbw@redhat.com>
8953
8954         * vpn-daemons/vpnc/properties/nm-vpnc.c
8955                 - Update for new VPN properties API bits; instead of passing around
8956                         a lot of random things, everything goes into the NMConnection
8957                         object.
8958
8959 2007-09-23  Dan Williams  <dcbw@redhat.com>
8960
8961         * libnm-util/nm-setting.c
8962                 - Correctly dispose of settings objects if creating them from a hash
8963                         table fails
8964
8965 2007-09-23  Dan Williams  <dcbw@redhat.com>
8966
8967         * libnm-util/nm-setting.c
8968                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8969                         the hash table in a standard manner.  Clients of libnm-util should
8970                         only call g_hash_table_remove_all(), never destroy the hash table
8971                         and recreate it.
8972
8973 2007-09-22  Dan Williams  <dcbw@redhat.com>
8974
8975         * src/nm-device-802-11-wireless.c
8976                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8977                         real reason to do it so often, and reduces wakeups for clients.
8978
8979 2007-09-21  Dan Williams  <dcbw@redhat.com>
8980
8981         * src/nm-device-802-11-wireless.c
8982                 - (build_supplicant_config): wpa_supplicant requires the option
8983                         key_mgmt=NONE for unencrypted networks
8984                 - (real_act_stage2_config): clarify log message on activation
8985
8986 2007-09-21  Dan Williams  <dcbw@redhat.com>
8987
8988         * test/nm-supplicant-test.c
8989           test/Makefile.am
8990                 - Remove supplicant test binary; no longer applicable
8991
8992 2007-09-21  Dan Williams  <dcbw@redhat.com>
8993
8994         * src/supplicant-manager/nm-supplicant-manager.c
8995                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8996                         activate it on the system bus
8997
8998 2007-09-20  Dan Williams  <dcbw@redhat.com>
8999
9000         * initscript/RedHat/NetworkManager.in
9001                 - dhcdbd is no longer used, so don't try to start it from the initscripts
9002
9003 2007-09-20  Dan Williams  <dcbw@redhat.com>
9004
9005         * src/nm-device.c
9006                 - (nm_device_is_activating): work around a race between auto-activation
9007                         and the user activating the same device that is being auto-activated
9008
9009 2007-09-20  Dan Williams  <dcbw@redhat.com>
9010
9011         * src/nm-device-interface.c
9012                 - (impl_device_activate): until multiple active device support lands,
9013                         ensure only one device can be active at a time
9014
9015 2007-09-20  Dan Williams  <dcbw@redhat.com>
9016
9017         * src/supplicant-manager/nm-supplicant-config.c
9018           src/supplicant-manager/nm-supplicant-config.h
9019                 - (nm_supplicant_config_add_option): hide secrets from system logs
9020
9021 2007-09-20  Dan Williams  <dcbw@redhat.com>
9022
9023         * src/NetworkManagerPolicy.c
9024                 - (nm_policy_device_change_check): re-enable the wireless device change
9025                         checking code; insted of checking for SSIDs, check for the same
9026                         connection instead
9027
9028 2007-09-20  Dan Williams  <dcbw@redhat.com>
9029
9030         * src/nm-device-802-11-wireless.c
9031                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
9032                         composite link state when determining when to start the disconnection
9033                         timer; that link state is already based on the supplicant interface's
9034                         status which is exactly what's already being examined, plus the link
9035                         state is a conglomeration of various things that we don't want here
9036
9037 2007-09-20  Dan Williams  <dcbw@redhat.com>
9038
9039         * libnm-glib/nm-access-point.c
9040                 - (handle_property_changed): strength is a UCHAR
9041
9042 2007-09-20  Dan Williams  <dcbw@redhat.com>
9043
9044         * src/supplicant-manager/nm-supplicant-config.c
9045                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
9046                         string list keywords too since that's what wpa_supplicant wants
9047
9048 2007-09-20  Dan Williams  <dcbw@redhat.com>
9049
9050         * libnm-util/nm-setting.c
9051                 - (convert_strv_to_slist): dupe the values in the list because since
9052                         the list is a boxed value, it'll get destroyed when it's container
9053                         (like a hash table or whatever) gets destroyed
9054
9055 2007-09-20  Tambet Ingo  <tambet@gmail.com>
9056
9057         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
9058         GSList.
9059
9060         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
9061
9062         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
9063         just use (g_object_set_data_full).
9064
9065         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
9066         that NMSettingVPN->routes is a GSList, convert it to char **.
9067         (nm_vpn_connection_ip4_config_get): Free routes when done.
9068         (nm_vpn_connection_activate): Ditto.
9069
9070         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
9071         (real_act_stage2_config): Use defined setting names.
9072
9073 2007-09-20  Dan Williams  <dcbw@redhat.com>
9074
9075         * src/nm-device-802-11-wireless.c
9076           src/nm-manager.c
9077           src/nm-manager.h
9078                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
9079                         so that the device can be deactivated if secrets are wrong
9080
9081 2007-09-20  Dan Williams  <dcbw@redhat.com>
9082
9083         * introspection/nm-settings-connection.xml
9084           libnm-glib/nm-settings.c
9085           libnm-glib/nm-settings.h
9086                 - Make GetSecrets asynchronous on the server side
9087
9088 2007-09-20  Dan Williams  <dcbw@redhat.com>
9089
9090         * src/nm-manager.h
9091           src/nm-device.c
9092                 - (nm_device_activate): actually check if a given connection
9093                         exists before assuming it doesn't
9094
9095 2007-09-20  Tambet Ingo  <tambet@gmail.com>
9096
9097         * libnm-util/nm-connection.c (register_default_creators): Use defined
9098         setting names. Register NMSettingVPN and NMSettingVPNProperties.
9099
9100         * libnm-util/nm-setting.c: Define property name strings, use them.
9101         Implement NMSettingVPN and NMSettingVPNProperties settings.
9102         Implement NM_S_TYPE_GVALUE_HASH.
9103         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
9104         (setting_connection_verify): Rename 'devtype' property to 'type'.
9105
9106         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
9107         properties.
9108
9109         * src/vpn-manager/nm-vpn-service.c: Ditto.
9110
9111         * src/vpn-manager/nm-vpn-connection.c: Ditto.
9112
9113         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
9114         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
9115
9116         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
9117         names. NMSettingConnection->devtype got renamed to 'type'.
9118
9119         * src/nm-device-802-3-ethernet.c (find_best_connection):
9120         (real_get_best_connection): Ditto.
9121
9122         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
9123
9124         * libnm-glib/nm-vpn-manager.[ch]: Update.
9125
9126 2007-09-19  Dan Williams  <dcbw@redhat.com>
9127
9128         * src/NetworkManagerAP.c
9129           src/NetworkManagerAP.h
9130           introspection/nm-access-point.xml
9131                 - Change strength-changed signal into a properties-changed signal
9132                         for all properties, not just strength.  Export that signal over dbus
9133                         so listeners don't have to poll NM for changes.
9134                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
9135                         get exported over D-Bus, so break up the logic and let other bits
9136                         decided when to export the AP
9137                 - (nm_ap_new_from_ap): remove, unused
9138
9139         * src/nm-device-802-11-wireless.c
9140                 - (merge_scanned_ap): only export APs that are actually on the device
9141                         list, not every AP created internally
9142
9143         * libnm-glib/nm-access-point.c
9144           libnm-glib/nm-access-point.h
9145                 - Cache properties internally and only hit DBus when needed.  Get
9146                         property updates from NM signals
9147
9148 2007-09-16  Dan Williams  <dcbw@redhat.com>
9149
9150         * libnm-util/nm-connection.c
9151           libnm-util/nm-connection.h
9152                 - (nm_connection_for_each_setting_value): new function; iterate over
9153                         each setting's value and call a user-provided function with details
9154                         about that value
9155
9156         * libnm-util/nm-setting.c
9157           libnm-util/nm-setting.h
9158                 - (nm_setting_enumerate_values): new function; enumerate the values
9159                         of a specific NMSetting subclass for a user-provided function with
9160                         details about that value
9161                 - Change wep_tx_keyidx to a uint32
9162                 - Create settings value tables for each setting defining their type,
9163                         key name, offset into the NMSetting subclass' structure, and whether
9164                         they are required and/or a secret
9165                 - (nm_setting_populate_from_hash): generic function to populate an
9166                         NMSetting from a GHash table, make all settings use it
9167                 - (nm_setting_hash): generic function to derive a GHashTable from
9168                         an NMSetting object, make all settings use it
9169
9170 2007-09-14  Dan Williams  <dcbw@redhat.com>
9171
9172         Remove unused stuff in libnm-util
9173
9174         * configure.in
9175           libnm-util/Makefile.am
9176           libnm-util/cipher-private.h
9177           libnm-util/cipher-wep-ascii.c
9178           libnm-util/cipher-wep-ascii.h
9179           libnm-util/cipher-wep-hex.c
9180           libnm-util/cipher-wep-hex.h
9181           libnm-util/cipher-wep-passphrase.c
9182           libnm-util/cipher-wep-passphrase.h
9183           libnm-util/cipher-wpa-psk-hex.c
9184           libnm-util/cipher-wpa-psk-hex.h
9185           libnm-util/cipher-wpa-psk-passphrase.c
9186           libnm-util/cipher-wpa-psk-passphrase.h
9187           libnm-util/cipher.c
9188           libnm-util/cipher.h
9189           libnm-util/dbus-helpers.c
9190           libnm-util/dbus-helpers.h
9191           libnm-util/gnome-keyring-md5.c
9192           libnm-util/gnome-keyring-md5.h
9193           libnm-util/sha1.c
9194           libnm-util/sha1.h
9195           src/nm-device-802-11-wireless.c
9196           test/libnm-util/Makefile.am
9197           test/libnm-util/test-ciphers.c
9198           test/libnm-util/test-dbus-helpers.c
9199           test/libnm-util/test-inputs.h
9200                 - Removed
9201
9202 2007-09-14  Dan Williams  <dcbw@redhat.com>
9203
9204         * libnm-util/dbus-method-dispatcher.c
9205           libnm-util/dbus-method-dispatcher.h
9206                 - Remove, unused
9207
9208 2007-09-14  Dan Williams  <dcbw@redhat.com>
9209
9210         Implement deferred activation support in the device class.
9211
9212         * src/nm-device-interface.c
9213           src/nm-device-interface.h
9214                 - (nm_device_interface_activate): take more arguments to support
9215                         deferred activation; callers must pass one of (connection) OR
9216                         (service_name, connection_path)
9217                 - (impl_device_activate): connection validation is punted to the device
9218                         to be able to handle deferred activation.  Yes, this means errors
9219                         don't get returned from the Activate() dbus call, and yes, that
9220                         should be fixed somehow later.
9221
9222         * src/nm-device.c
9223           src/nm-device.h
9224                 - (clear_act_request): clear additional deferred activation stuff too
9225                 - (deferred_activation_timeout_cb): new function; clean up when
9226                         deferred activation times out.
9227                 - (deferred_activation_start_cb): new function; when the connection
9228                         finally becomes available, start device activation
9229                 - (nm_device_activate): attach to the right signals of the activation
9230                         request if we need to defer activation until the connection is valid
9231
9232         * src/NetworkManagerPolicy.c
9233                 - (nm_policy_device_change_check): update for additional arguments
9234                         required for nm_device_interface_activate().  Pass NULL for these
9235                         though because this function already knows exactly which
9236                         NMConnection to use
9237
9238 2007-09-14  Dan Williams  <dcbw@redhat.com>
9239
9240         Implement deferred activation handling in the NMActRequest class.  When a
9241         client wants to activate a device but must create the NMConnection details
9242         on the fly, there likely hasn't been enough time yet for NM to receive the
9243         new connection signal and grab all the connection details.  So the
9244         activation is deferred (and bounded by a timer) for a while, and if the
9245         connection appears within the window, it is activated.
9246
9247         * src/nm-activation-request.c
9248           src/nm-activation-request.h
9249                 - (nm_act_request_class_init): two new signals to support deferred
9250                         activation, to allow the listener to handle both timeout and success
9251                 - (nm_act_request_new_deferred): new function, starts the deferred
9252                         activation timeout handler and listens to the NMManager for
9253                         new-connection signals to notice when the connection comes in
9254
9255 2007-09-14  Dan Williams  <dcbw@redhat.com>
9256
9257         * src/nm-manager.h
9258           src/nm-manager.c
9259                 - (nm_manager_get_connection_service_name,
9260                    nm_manager_get_connection_dbus_path): get details about a connection
9261                         known internally by the NMManager
9262                 - (nm_manager_class_init): fix connection add/remove signal marshalers
9263                         because NMConnection is now a GObject subclass
9264                 - Use constant for the gobject data tag used on NMConnection objects for
9265                         storing the associated DBusGProxy
9266
9267 2007-09-14  Dan Williams  <dcbw@redhat.com>
9268
9269         * utils/Makefile.am
9270           utils/nm-utils.c
9271           utils/nm-utils.h
9272           src/supplicant-manager/Makefile.am
9273           src/dhcp-manager/Makefile.am
9274           src/backends/Makefile.am
9275           src/named-manager/Makefile.am
9276           src/ppp-manager/Makefile.am
9277           src/vpn-manager/Makefile.am
9278           test/libnm-util/Makefile.am
9279           test/test-common/Makefile.am
9280                 - Remove utils/; it was unused
9281
9282 2007-09-13  Dan Williams  <dcbw@redhat.com>
9283
9284         * libnm-glib/nm-vpn-manager.h
9285           libnm-glib/nm-vpn-manager.c
9286                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
9287
9288 2007-09-13  Dan Williams  <dcbw@redhat.com>
9289
9290         * src/nm-device-802-3-ethernet.c
9291                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
9292                         netlink monitor carrier signals on dispose, not bring down.  The
9293                         carrier signals should be handled over the entire lifetime of the
9294                         device anyway, not created/destroyed on up or down.
9295
9296 2007-09-13  Dan Williams  <dcbw@redhat.com>
9297
9298         * libnm-glib/nm-device.c
9299           libnm-glib/nm-device.h
9300                 - (nm_device_activate): take a connection object path rather than an
9301                         NMConnection because NMConnection isn't exported over D-Bus and
9302                         therefore it dbus-glib can't automatically get an object path from it
9303
9304 2007-09-13  Dan Williams  <dcbw@redhat.com>
9305
9306         * libnm-util/nm-setting.c
9307                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
9308
9309 2007-09-13  Tambet Ingo  <tambet@gmail.com>
9310
9311         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
9312
9313 2007-09-12  Tambet Ingo  <tambet@gmail.com>
9314
9315         * src/vpn-manager/nm-vpn-connection.[ch]: 
9316         * src/vpn-manager/nm-vpn-manager.[ch]:
9317         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
9318         dbus-glib, GObjects, signals etc.
9319
9320         * libnm-glib/nm-vpn-manager.[ch]: 
9321         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
9322         so much, rewrite these too.
9323
9324         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
9325         the new introspection files.
9326
9327         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
9328
9329         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
9330         the header with the same name from libnm-utils.
9331
9332         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
9333
9334         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
9335
9336         * introspection/nm-vpn-plugin.xml: Implement.
9337
9338         * introspection/nm-vpn-connection.xml: Implement.
9339
9340         * introspection/nm-vpn-manager.xml: Implement.
9341
9342         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
9343         the named manager argument, it can just as easily get it as the caller.
9344         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
9345
9346         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
9347
9348         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
9349
9350         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
9351         libnm-utils.
9352
9353         * libnm-util/nm-connection.c: Ditto.
9354
9355         * src/NetworkManagerMain.h: Remove, it's finally empty.
9356
9357         * configure.in: Remove utils/ from build.
9358
9359         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
9360         of hard-coded strings.
9361
9362         * utils/: Move it over to libnm-util.
9363
9364         * test/Makefile.am: Link against libnm-util now that util/ is gone.
9365
9366         * dispatcher-daemon/Makefile.am: Ditto.
9367
9368         * src/Makefile.am: Ditto.
9369
9370 2007-09-12  Dan Williams  <dcbw@redhat.com>
9371
9372         Wireless connections can be made with config data from the applet now.
9373         
9374         Yay.
9375
9376         * src/supplicant-manager/nm-supplicant-config.h
9377           src/supplicant-manager/nm-supplicant-config.c
9378                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
9379                 - (nm_supplicant_config_add_setting_wireless,
9380                    nm_supplicant_config_add_setting_wireless_security): new functions;
9381                         add key/value pairs from the settings objects to the supplicant
9382                         config
9383
9384         * src/nm-device-802-11-wireless.c
9385                 - (cull_scan_list): fix check to not prune currently associated AP
9386                 - (build_supplicant_config, real_act_stage2_config): call the functions
9387                         of the NMSupplicantConfig that parse settings objects rather than
9388                         doing it manually here
9389
9390 2007-09-12  Dan Williams  <dcbw@redhat.com>
9391
9392         * src/supplicant-manager/nm-supplicant-interface.c
9393           src/supplicant-manager/nm-supplicant-marshal.list
9394                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
9395                         "connection-error" signal arguments should be STRING not CHAR
9396
9397 2007-09-12  Dan Williams  <dcbw@redhat.com>
9398
9399         * src/NetworkManagerUtils.c
9400           src/NetworkManagerUtils.h
9401                 - (nm_utils_hexstr2bin): new function
9402
9403 2007-09-11  Dan Williams  <dcbw@redhat.com>
9404
9405         * src/nm-manager.c
9406                 - (connection_get_settings_cb): emit connection-added signal
9407                 - (connection_removed_cb): uncomment bits for system settings service,
9408                         send connection-removed when appropriate
9409                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
9410                         the stack by trying to g_object_set_data() on something that's
9411                         not a GObject; handle case where settings service returns
9412                         empty settings hash table
9413
9414 2007-09-11  Dan Williams  <dcbw@redhat.com>
9415
9416         * src/NetworkManagerPolicy.c
9417                 - (connection_added, connection_removed): trigger device change checks
9418                         on connection changes
9419
9420 2007-09-11  Dan Williams  <dcbw@redhat.com>
9421
9422         * src/nm-activation-request.c
9423                 - (connection_secrets_updated_cb): fix c&p error in signal emission
9424
9425 2007-09-11  Dan Williams  <dcbw@redhat.com>
9426
9427         * src/nm-device-802-11-wireless.c
9428                 - (real_connection_secrets_updated): fix erroneous check
9429
9430 2007-09-11  Dan Williams  <dcbw@redhat.com>
9431
9432         * introspection/nm-device.xml
9433           libnm-glib/nm-device.c
9434           libnm-glib/nm-device.c
9435                 - Fix Activate call argument borkage; Activate takes 3 arguments
9436
9437 2007-09-11  Dan Williams  <dcbw@redhat.com>
9438
9439         * libnm-glib/nm-access-point.c
9440           libnm-glib/nm-access-point.c
9441                 - (nm_access_point_get_frequency): now returns guint32 to match
9442                         property change on 2007-09-10
9443
9444 2007-09-11  Dan Williams  <dcbw@redhat.com>
9445
9446         * src/nm-device-802-11-wireless.c
9447                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
9448                         somewhere defines 'index' and I missed this one when I fixed the
9449                         shadow declaration errors earlier
9450
9451 2007-09-11  Dan Williams  <dcbw@redhat.com>
9452
9453         * libnm-util/nm-connection.c
9454                 - (nm_connection_update_secrets, need_secrets_check): move
9455                         802-11-wireless-security need_secrets checks to the setting object
9456                         itself, where it belongs
9457
9458         * libnm-util/nm-setting.c
9459           libnm-util/nm-setting.h
9460                 - (nm_setting_need_secrets): new function
9461                 - (setting_wireless_security_verify,
9462                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
9463                 - (setting_wireless_security_need_secrets): mostly copy code over
9464                         from nm-connection.c
9465
9466 2007-09-11  Dan Williams  <dcbw@redhat.com>
9467
9468         * libnm-util/nm-setting.c
9469           libnm-util/nm-setting.h
9470                 - (nm_setting_update_secrets): new function; add a virtual function that
9471                         subclasses can implement to update their secrets
9472                 - (setting_wireless_security_update_secrets): implement that function
9473                         for the 802-11-wireless-security subclass
9474
9475         * libnm-util/nm-connection.c
9476           libnm-util/nm-connection.h
9477                 - (nm_connection_update_secrets): update secrets for a Setting and
9478                         emit a signal on success
9479
9480         * src/nm-manager.c
9481           src/nm-manager.h
9482           src/nm-marshal.list
9483                 - (connection_get_settings_cb): enable system settings bits
9484                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
9485                         to request secrets from the settings dbus service and to
9486                         push those secrets to the NMConnection itself
9487
9488         * src/nm-activation-request.c
9489           src/nm-activation-request.h
9490                 - Attach to the 'secrets-updated' signal of the NMConnection that's
9491                         currently being activated, and proxy that signal to other listeners.
9492                         Goes through the activation request because the activation request
9493                         is the thing that manages the lifetime of the NMConnection that's
9494                         being activated.
9495
9496         * src/nm-device-802-11-wireless.c
9497                 - (real_connection_secrets_updated): implement the connection secrets
9498                         updated notification and restart activation when secrets are
9499                         received
9500                 - (real_act_stage2_config): request secrets from the settings dbus
9501                         service if secrets are needed
9502
9503         * src/nm-device.c
9504           src/nm-device.h
9505                 - (clear_act_request, nm_device_activation_cancel,
9506                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
9507                         where the activation request is cleared
9508                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
9509                         updated secrets signal of activation request and add a function
9510                         that subclasses can override to handle it easily
9511
9512 2007-09-11  Tambet Ingo  <tambet@gmail.com>
9513
9514         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
9515         removal of NetworkManagerAPList.
9516
9517 2007-09-10  Dan Williams  <dcbw@redhat.com>
9518
9519         * src/NetworkManagerAP.c
9520           src/NetworkManagerAP.h
9521           introspection/nm-access-point.xml
9522                 - Change 'freq' property to a guint32 instead of a double since we
9523                         weren't using the floating point bits anyway
9524
9525 2007-09-10  Dan Williams  <dcbw@redhat.com>
9526
9527         * NetworkManagerAP.c
9528           NetworkManagerAP.h
9529           NetworkManagerPolicy.c
9530           NetworkManagerSystem.c
9531           NetworkManagerUtils.c
9532           NetworkManagerUtils.h
9533           nm-device-802-11-wireless.c
9534           nm-device-802-3-ethernet.c
9535           nm-hal-manager.c
9536           nm-manager.c
9537           vpn-manager/nm-dbus-vpn.c
9538                 - Warning fixes; casts and removal of unused variables
9539
9540 2007-09-10  Dan Williams  <dcbw@redhat.com>
9541
9542         * include/NetworkManager.h
9543                 - Kill NMNetworkType; AP types don't matter any more
9544
9545         * src/NetworkManagerAPList.c
9546           src/NetworkManagerAPList.h
9547           src/Makefile.am
9548                 - Kill; NMAccessPointList has outlived it's usefulness
9549
9550         * src/NetworkManagerAP.c
9551           src/NetworkManagerAP.h
9552                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
9553                         functions; check if an NMConnection object is compatible with the
9554                         settings of this AP
9555                 - (freq_to_channel, channel_to_freq): utility functions for
9556                         channel <-> frequency conversion
9557
9558         * src/nm-device.c
9559           src/nm-device.h
9560                 - (nm_device_get_best_connection): pass the specific object around
9561                          (which might be the object path of a specific AP to connect to).
9562                          The get_best_connection() call should populate this on return
9563                          if needed (wireless does).
9564
9565         * src/nm-device-802-3-ethernet.c
9566                 - (real_get_best_connection): handle specific_object argument
9567
9568         * src/NetworkManager.c
9569           src/NetworkManagerMain.h
9570                 - Remove unused includes
9571
9572         * src/nm-device-802-11-wireless.c
9573           src/nm-device-802-11-wireless.h
9574                 - Convert the ap_list into a GSList from an NMAccessPointList
9575                 - No need for caching the 'activation_ap' since this is now determined
9576                         from the specific_object of the activation request, which is
9577                         populated from the get_best_connection() call or from a user request
9578                 - (nm_device_802_11_wireless_update_bssid): fix warning
9579                 - (get_wireless_capabilities): fix error message format arguments
9580                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
9581                 - (find_best_connection, real_get_best_connection): implement
9582                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
9583                         move here from NetworkManagerAPList
9584                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
9585                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
9586                         already verified earlier
9587                 - (real_act_stage2_config): use nm_connection_need_secrets()
9588
9589         * src/NetworkManagerPolicy.c
9590                 - (nm_policy_auto_get_best_device): handle specific objects
9591                 - (create_connection): remove; automatic connection creation functionality
9592                         is handled by the Connection objects
9593                 - (nm_policy_device_change_check): handle specific_object
9594
9595         * libnm-util/nm-connection.c
9596                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
9597
9598 2007-09-10  Dan Williams  <dcbw@redhat.com>
9599
9600         * src/nm-manager.c
9601                 - (query_connections): fix uninitialized variable problem that caused
9602                         segfault
9603                 - (nm_manager_add_device): take devices down on startup so that we can
9604                         be assured that nm_device_is_up() won't short-circuit the init
9605                         process.  Hack until the is_up check gets split into two pieces
9606                         that aren't behaviorally confusing.
9607
9608 2007-09-09  Dan Williams  <dcbw@redhat.com>
9609
9610         * introspection/nm-device.xml
9611                 - The 'Activate' method now takes 3 arguments, a service name for the
9612                 settings service (user or system), the object path of the connection
9613                 to activate, and the specific object to activate, if any
9614
9615         * src/nm-device-interface.c
9616                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
9617                 Add error bits
9618                 - (impl_device_activate): adapt to new Activate arguments; validate
9619                 the service name and get the Connection object from the NMManager
9620                 before starting to activate the device with the specified connection
9621
9622         * src/nm-device-802-3-ethernet.c
9623                 - (real_get_best_connection): find the best connection, or create a
9624                 default one if no existing connections can be used
9625
9626         * src/NetworkManagerPolicy.c
9627                 - (nm_policy_auto_get_best_device): Get the device's best connection
9628                 and only pick the device if it has one
9629                 - (nm_policy_device_change_check): disable wireless bits for now until
9630                 wireless get_best_connection() can be implemented (replacing "best_ap");
9631                 don't create a default connection here as the device subclass will do
9632                 that if needed
9633
9634         * src/nm-manager.h
9635           src/nm-manager.c
9636                 - (nm_manager_get): make NMManager a singleton and expose the getter
9637                 internally
9638                 - Rework internal NMManager connection handling to use the same
9639                 routines for both the system and user settings services.  Most calls
9640                 take a new NMConnectionType argument specifying either system or user
9641                 connections
9642                 - (nm_manager_get_connection_by_object_path): new function; get a
9643                 connection keyed on its object path
9644
9645         * src/NetworkManager.c
9646                 - (main): use nm_manager_get()
9647
9648 2007-09-09  Dan Williams  <dcbw@redhat.com>
9649
9650         * src/nm-device.h
9651           src/nm-device.c
9652                 - (nm_device_get_best_connection): new function; get best connection
9653                         for the device at that time
9654
9655 2007-09-09  Dan Williams  <dcbw@redhat.com>
9656
9657         * src/nm-device-interface.h
9658                 - Add NMDeviceInterfaceError with an UnknownConnection error
9659
9660 2007-09-09  Dan Williams  <dcbw@redhat.com>
9661
9662         Stupid mistake on my part; object path and interface for settings service
9663         and connection objects can be the same, only the service name must be
9664         different for the system and user settings services.
9665
9666         * include/NetworkManager.h
9667           src/nm-manager.c
9668           introspection/nm-settings-connection.xml
9669           introspection/nm-settings.xml
9670           libnm-glib/nm-settings.c
9671                 - (nm_connection_settings_init, query_user_connections,
9672                    new_connection_cb): Unify NetworkManagerSettings and Connection
9673                    interface name and object path
9674
9675 2007-09-06  Dan Williams  <dcbw@redhat.com>
9676
9677         * libnm-glib/nm-object.c
9678                 - (nm_object_get_string_property, nm_object_get_object_path_property,
9679                    nm_object_get_int_property, nm_object_get_uint_property,
9680                    nm_object_get_boolean_property, nm_object_get_byte_property,
9681                    nm_object_get_double_property, nm_object_get_byte_array_property):
9682                         clear GValues after copying their contents, fixes memory leaks
9683                         after every property access because dbus-glib copies the values
9684                         from the DBusMessage into the GValue already.
9685
9686 2007-09-06  Dan Williams  <dcbw@redhat.com>
9687
9688         * introspection/nm-access-point.xml
9689                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
9690                         them to be.  There's some magic property name parsing going on in
9691                         dbus-glib that breaks up property names based on studly-caps and
9692                         puts - between words.
9693
9694         * libnm-glib/nm-access-point.c
9695                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
9696                         Fix property names
9697
9698 2007-09-06  Dan Williams  <dcbw@redhat.com>
9699
9700         * src/nm-manager.c
9701                 - (nm_manager_user_connections_destroy): clear the user connections hash
9702                         table, don't destroy it
9703                 - (finalize): only destroy the hash table on NMManager finalization
9704
9705 2007-09-02  Dan Williams  <dcbw@redhat.com>
9706
9707         * include/NetworkManager.h
9708           libnm-glib/nm-settings.c
9709                 - defines for the user settings daemon D-Bus bits
9710
9711         * src/NetworkManager.c
9712                 - Remove stuff that referred to the old NetworkManagerInfo service
9713
9714         * src/vpn-manager/nm-dbus-vpn.h
9715                 - Move old NMI defines to the only place they are used still
9716
9717         * libnm-util/nm-connection.c
9718           libnm-util/nm-connection.h
9719           src/nm-activation-request.c
9720                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
9721
9722         * src/nm-manager.c
9723           src/nm-manager.h
9724                 - Get connections and their settings from the user settings daemon
9725                         at the appropriate times
9726
9727 2007-09-02  Dan Williams  <dcbw@redhat.com>
9728
9729         * libnm-util/nm-setting.c
9730                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
9731                 - (setting_wireless_hash): set the right value on the item
9732
9733 2007-09-02  Dan Williams  <dcbw@redhat.com>
9734
9735         * test/Makefile.am
9736           test/nminfotest.c
9737                 - Remove, no longer useful
9738
9739 2007-08-30  Dan Williams  <dcbw@redhat.com>
9740
9741         * src/Makefile.am
9742           src/NetworkManagerDbus.c
9743           src/NetworkManagerDbus.h
9744           src/vpn-manager/nm-dbus-vpn.c
9745                 - Remove, no longer necessary.  Move last bits to the only place its
9746                 used, in nm-dbus-vpn.c
9747
9748         * src/NetworkManagerAPList.c
9749           src/nm-device.c
9750           src/NetworkManager.c
9751           src/nm-device-802-11-wireless.c
9752           src/vpn-manager/nm-vpn-manager.c
9753           src/vpn-manager/nm-vpn-service.c
9754           src/NetworkManagerPolicy.c
9755           src/nm-manager.c
9756                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
9757                 that was message_is_error()
9758
9759 2007-08-30  Dan Williams  <dcbw@redhat.com>
9760
9761         * libnm-util/sha1.c
9762                 - Include config.h to get defines for endiannes (gnome.org #420216)
9763
9764 2007-08-30  Dan Williams  <dcbw@redhat.com>
9765
9766         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
9767
9768         * src/ppp-manager/Makefile.am
9769                 - use -fPIC (gnome.org #471825)
9770
9771 2007-08-29  Dan Williams  <dcbw@redhat.com>
9772
9773         * include/NetworkManager.h
9774                 - Keep NMConnection object path in sync
9775
9776         * libnm-glib/nm-settings.c
9777           libnm-glib/nm-settings.h
9778                 - Break D-Bus object registration out of the init function, because
9779                 every object that's exported over D-Bus needs to use the _same_
9780                 DBusConnection.  Otherwise, each object would get a different object
9781                 path tree and wouldn't be callable.
9782
9783 2007-08-29  Dan Williams  <dcbw@redhat.com>
9784
9785         * libnm-util/nm-setting.h
9786           libnm-util/nm-setting.c
9787           libnm-util/nm-connection.c
9788           src/NetworkManagerPolicy.c
9789                 - 'info' settings object should be 'connection' says the spec
9790                 at NetworkManagerConfigurationSpecification
9791
9792 2007-08-29  Dan Williams  <dcbw@redhat.com>
9793
9794         * libnm-glib/nm-settings.c
9795           libnm-glib/nm-settings.h
9796                 - make the dbus path a property of the object, and autogenerate it.
9797                 It can't be composed of the 'id' field because that's not available
9798                 yet during the GObject creation in nm_connection_settings_init()
9799
9800 2007-08-29  Dan Williams  <dcbw@redhat.com>
9801
9802         * introspection/nm-settings-connection.xml
9803           introspection/nm-settings.xml
9804                 - Service name -> NetworkManagerUserSettings because two services
9805                 can't share part of the same path.  I'm not really sure how we'll use
9806                 the same code with the system-settings daemon...
9807
9808 2007-08-28  Dan Williams  <dcbw@redhat.com>
9809
9810         * src/nm-device-interface.c
9811           src/nm-device-interface.h
9812                 - Kill one more bit of NMData
9813
9814 2007-08-28  Dan Williams  <dcbw@redhat.com>
9815
9816         * src/NetworkManagerSystem.h
9817           src/nm-device.c
9818           src/nm-device.h
9819           src/nm-hal-manager.c
9820           src/NetworkManager.c
9821           src/nm-device-802-11-wireless.c
9822           src/nm-hal-manager.h
9823           src/nm-device-802-3-ethernet.c
9824           src/vpn-manager/nm-vpn-service.h
9825           src/vpn-manager/nm-vpn-manager.c
9826           src/vpn-manager/nm-vpn-manager.h
9827           src/vpn-manager/nm-vpn-service.c
9828           src/nm-device-802-11-wireless.h
9829           src/NetworkManagerMain.h
9830           src/nm-device-802-3-ethernet.h
9831           src/backends/NetworkManagerGentoo.c
9832           src/backends/NetworkManagerPaldo.c
9833           src/backends/NetworkManagerFrugalware.c
9834           src/backends/NetworkManagerRedHat.c
9835           src/backends/NetworkManagerSlackware.c
9836           src/backends/NetworkManagerGeneric.c
9837           src/backends/NetworkManagerArch.c
9838           src/backends/NetworkManagerSuSE.c
9839           src/backends/NetworkManagerGeneric.h
9840           src/backends/NetworkManagerDebian.c
9841                 - Kill NMData
9842
9843 2007-08-28  Dan Williams  <dcbw@redhat.com>
9844
9845         * src/NetworkManagerMain.h
9846           src/nm-device-802-11-wireless.c
9847           src/NetworkManager.c
9848                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9849                 for now we should set the 'invalid' property on individual APs, and when
9850                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9851                 that ESS
9852
9853 2007-08-28  Dan Williams  <dcbw@redhat.com>
9854
9855         * src/NetworkManagerAP.c
9856           src/NetworkManagerAP.h
9857                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9858                         'autoconnect' property instead
9859
9860         * src/NetworkManager.c
9861           src/NetworkManagerMain.h
9862           src/NetworkManagerPolicy.c
9863           src/NetworkManagerPolicy.h
9864                 - Remove the 'allowed_ap_list', which should be replaced by 
9865                         NMConnection/NMSettings instead, since _those_ are the allowed
9866                         things that NM can connect to
9867
9868         * src/nm-device-802-11-wireless.c
9869                 - Remove both allowed_ap_list usage and 'fallback' checking
9870
9871 2007-08-28  Dan Williams  <dcbw@redhat.com>
9872
9873         * src/nm-device.c
9874           src/named-manager/nm-named-manager.c
9875           src/named-manager/nm-named-manager.h
9876           src/NetworkManager.c
9877           src/vpn-manager/nm-vpn-manager.c
9878           src/NetworkManagerMain.h
9879           src/NetworkManagerSystem.c
9880                 - Remove the named-manager object from NMData structure in preparation
9881                 for NMData's timely death.  Make the NMNamedManager the singleton that
9882                 it really is
9883
9884 2007-08-28  Dan Williams  <dcbw@redhat.com>
9885
9886         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9887         each AP's capabilities, and by NMConnection/NMSettings objects for user
9888         defined connections.
9889
9890         * include/NetworkManager.h
9891                 - Redefine 802.11 security properties.  There are now device capabilities
9892                         and AP flags and AP security flags.  It was way to unclear before.
9893
9894         * src/Makefile.am
9895           src/nm-ap-security-leap.h
9896           src/nm-ap-security-leap.c
9897           src/nm-ap-security-wpa-eap.c
9898           src/nm-ap-security-wpa-eap.h
9899           src/nm-ap-security-private.h
9900           src/nm-ap-security-wpa-psk.c
9901           src/nm-ap-security-wpa-psk.h
9902           src/nm-ap-security-wep.c
9903           src/nm-ap-security-wep.h
9904           src/nm-ap-security.c
9905           src/nm-ap-security.h
9906                 - Removed, to be replaced with NMConnection/NMSettings objects
9907
9908         * src/nm-dbus-nmi.c
9909           src/nm-dbus-nmi.h
9910                 - Removed, to be replaced by code that talks to the new info daemon
9911                         interface and gets NMConnection/NMSettings objects
9912
9913         * src/backends/NetworkManagerSuSE.c
9914                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9915                         info-daemon that does the same thing but talks the new info-daemon
9916                         D-Bus interface
9917
9918         * src/NetworkManagerAP.h
9919           src/NetworkManagerAP.c
9920           src/NetworkManagerAPList.c
9921           libnm-glib/libnm-glib-test.c
9922                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9923                         WPA/RSN
9924
9925         * libnm-glib/nm-access-point.c
9926           libnm-glib/nm-access-point.h
9927           introspection/nm-access-point.xml
9928           test/nm-tool.c
9929                 - Adjust to new flags for AP security
9930
9931         * utils/nm-utils.c
9932           utils/nm-utils.h
9933           src/vpn-manager/nm-dbus-vpn.c
9934                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9935                         stuff which is the only place it's used
9936
9937         * src/nm-device-interface.c
9938           src/nm-device-interface.h
9939           introspection/nm-device.xml
9940           src/nm-activation-request.c
9941           src/nm-activation-request.h
9942           src/nm-device.c
9943                 - Add a new 'specific_object' argument that hints to NM what actual
9944                         AP or other device-specific thing the connection should apply to.
9945                         NMConnection objects can apply to more than one actual device/AP.
9946
9947         * libnm-util/nm-connection.c
9948         * libnm-util/nm-connection.h
9949                 - Add 'have_secrets" call stubs
9950
9951         * libnm-util/cipher.h
9952                 - Move NM_AUTH_TYPE_* defines here for now
9953
9954         * src/nm-device-802-11-wireless.c
9955                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9956                         NMSettings objects
9957
9958         * src/NetworkManagerDbus.c
9959         * src/NetworkManagerPolicy.c
9960                 - Remove usage of update_allowed_networks, should be pushing data in
9961                         a different manner
9962
9963 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9964
9965         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9966         dbus-glib frees it when the call is done.
9967
9968 2007-08-26  Dan Williams  <dcbw@redhat.com>
9969
9970         * introspection/nm-device.xml
9971                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9972
9973 2007-08-26  Dan Williams  <dcbw@redhat.com>
9974
9975         * src/nm-device-802-3-ethernet.c
9976                 - (constructor): move connection of interface-connected/disconnected
9977                         signals here from real_bring_up().  Should be listening to netlink
9978                         for carrier events no matter what the initial state of the device
9979                         is.
9980
9981 2007-08-26  Dan Williams  <dcbw@redhat.com>
9982
9983         * src/nm-netlink-monitor.c
9984                 - (nm_netlink_monitor_class_init): fix marshalling types for
9985                         interface-connected/interface-disconnected
9986                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9987                         check
9988
9989 2007-08-26  Dan Williams  <dcbw@redhat.com>
9990
9991         Convert to using interface indexes as the primary method of identifying
9992         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9993         be renamed at any time.  Device object paths now refer to the device
9994         index rather than the name, and you can map those two manually if you like
9995         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9996         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9997         to use interface indexes rather than names.
9998
9999 2007-08-26  Dan Williams  <dcbw@redhat.com>
10000
10001         * src/nm-netlink-monitor.h
10002                 - Remove one last bit of wireless-event signal
10003
10004 2007-08-26  Dan Williams  <dcbw@redhat.com>
10005
10006         * src/nm-netlink-monitor.c
10007                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
10008                         don't need the 'wireless-event' signal anymore since that's all
10009                         handled by wpa_supplicant
10010
10011 2007-08-25  Dan Williams  <dcbw@redhat.com>
10012
10013         It's 2007. Remove support for drivers that don't support wireless scanning.
10014
10015         * test/nm-tool.c
10016           include/NetworkManager.h
10017           src/NetworkManagerUtils.c
10018           src/NetworkManagerPolicy.c
10019           src/nm-device-802-11-wireless.c
10020                 - Remove special handling for non-scanning devices and mark them
10021                         as unsupported/unhandled
10022
10023 2007-08-20  Dan Williams  <dcbw@redhat.com>
10024
10025         * src/nm-device-802-11-wireless.c
10026           src/nm-device-802-3-ethernet.c
10027                 - (real_is_up): move device-specific tests before generic IFF_UP test,
10028                         because when the card is pulled or the module removed, the device
10029                         is already !IFF_UP and then device-specific cleanup (removing
10030                         the supplicant interface, periodic checks, etc) never gets done
10031
10032 2007-08-20  Dan Williams  <dcbw@redhat.com>
10033
10034         * src/nm-manager.c
10035                 - (nm_manager_remove_device): bring device down before disconnecting
10036                         signal handlers, so that the 'state' signal will get broadcast when
10037                         the device enters the DOWN state
10038                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
10039                         of states that cause the NMManager to recheck its state
10040
10041 2007-08-20  Dan Williams  <dcbw@redhat.com>
10042
10043         * src/supplicant-manager/nm-supplicant-interface.c
10044                 - (interface_disconnect_done): don't try to dispose of the net proxy
10045                         when it may already have been disposed of
10046
10047 2007-08-20  Dan Williams  <dcbw@redhat.com>
10048
10049         * src/nm-device-802-11-wireless.c
10050                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
10051                         the SSID isn't available; this can happen when the card is pulled
10052                         or the module unloaded, during the post-removal deactivation
10053                         paths, when the ioctl returns ENODEV
10054
10055 2007-08-20  Dan Williams  <dcbw@redhat.com>
10056
10057         * src/nm-device-802-11-wireless.c
10058                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
10059                         frequency, and mode match.  Applets are now responsible for grouping
10060                         access points
10061
10062 2007-08-20  Dan Williams  <dcbw@redhat.com>
10063
10064         * src/NetworkManagerAP.c
10065         * src/NetworkManagerAP.h
10066                 - (nm_ap_print_self): new function
10067
10068         * src/NetworkManagerAPList.c
10069                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
10070                         to do it all here
10071         
10072 2007-08-17  Dan Williams  <dcbw@redhat.com>
10073
10074         * src/nm-device-802-3-ethernet.c
10075                 - (real_bring_down): don't try to dispose of stuff that might not
10076                         exist
10077
10078 2007-08-17  Dan Williams  <dcbw@redhat.com>
10079
10080         * src/NetworkManagerAP.c
10081                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
10082                         applet.  This ensures that the case between the seen-bssids and
10083                         the bssids reported by the driver match.
10084
10085 2007-08-17  Dan Williams  <dcbw@redhat.com>
10086
10087         * src/nm-device-802-11-wireless.c
10088                 - (device_cleanup): disconnect the interface in wpa_supplicant before
10089                         we dispose of the interface proxy in NM
10090
10091 2007-08-16  Dan Williams  <dcbw@redhat.com>
10092
10093         * libnm-glib/nm-client.c
10094                 - (nm_client_init): create VPN connections hash table with key free
10095                         function
10096                 - (proxy_vpn_connection_added): VPN connections hash table key should
10097                         be a duplicated value, not the same memory address as the VPN
10098                         connection name.  This is because the VPN connection name could
10099                         potentially be freed and set to something else during the lifetime
10100                         of the NMVPNConnection object.
10101
10102 2007-08-16  Tambet Ingo  <tambet@gmail.com>
10103
10104         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
10105         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
10106         with the file descriptors. Send a child setup function to change the pppd
10107         progress group.
10108
10109 2007-08-15  Dan Williams  <dcbw@redhat.com>
10110
10111         * src/supplicant-manager/nm-supplicant-interface.c
10112                 - (try_remove_iface): new function, ask wpa_supplicant to remove
10113                         an interface
10114                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
10115                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
10116                         happens on hotplug if wpa_supplicant doesn't tear down and readd
10117                         the interface internally
10118
10119 2007-08-15  Dan Williams  <dcbw@redhat.com>
10120
10121         * src/nm-device-802-11-wireless.c
10122                 - (real_bring_down): move most of this function into device_cleanup()
10123                         so that it can be called from elsewhere
10124                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
10125                         and stuff on dispose.  These would normally get cleaned up when
10126                         the device is marked down and deactivated, but when the device is
10127                         hot-unplugged, it's already down and real_down() never gets run
10128
10129 2007-08-15  Dan Williams  <dcbw@redhat.com>
10130
10131         * src/nm-dbus-nmi.c
10132                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
10133                         caused a reference leak on device for which NM requested a key
10134
10135 2007-08-15  Dan Williams  <dcbw@redhat.com>
10136
10137         * libnm-glib/nm-client.c
10138                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
10139
10140 2007-08-15  Tambet Ingo  <tambet@gmail.com>
10141
10142         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
10143         nothing is using it at the moment, but it'll be all useful and stuff later on.
10144
10145         * libnm-util/nm-setting.h: Define NMSettingPPP.
10146
10147         * libnm-util/nm-setting.c: Implement NMSettingPPP.
10148
10149         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
10150
10151         * src/Makefile.am: Add ppp-manager to SUBDIRS.
10152
10153         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
10154
10155         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
10156
10157 2007-08-14  Tambet Ingo  <tambet@gmail.com>
10158
10159         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
10160
10161         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
10162         an issue with dbus-glib bindings generator. The issue is, the generated C caller
10163         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
10164         name and different arguments and it won't compile anymore. To fix this, we now have
10165         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
10166         that is new API + compatibility API and used by the daemon. The other, 
10167         nm-manager-client.xml is only the new API without compatibility bits and is used
10168         by libnm-glib to make it compile.
10169
10170         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
10171
10172         * src/nm-manager.c (impl_manager_legacy_sleep)
10173         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
10174         interface functions for 0.6 branch.
10175
10176 2007-08-14  Dan Williams  <dcbw@redhat.com>
10177
10178         * src/NetworkManagerAP.c
10179                 - (nm_ap_new_from_properties): fix mistaken check of return value
10180                         from memcmp (should expect 0)
10181
10182 2007-08-14  Dan Williams  <dcbw@redhat.com>
10183
10184         (force-commit to fix wrong comment and partial commit of r2685; this
10185          commit actually applies to r2685)
10186
10187         * src/NetworkManagerUtils.c
10188                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
10189                         ignores trailing nulls in the SSID to work around mismatches in
10190                         expectations between WEXT and what the info-daemon passes back.  The
10191                         info-daemon would pass back the correct length, but due to the
10192                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
10193                         the device would always have an SSID + 1 depending on what versions
10194                         of wpa_supplicant, the kernel, and NM you have.  This was most often
10195                         visible by just quitting the applet and relaunching, which caused
10196                         NM to reassociated to the same network over again when reloading
10197                         the save networks.
10198
10199         * src/NetworkManagerPolicy.c
10200           src/NetworkManagerUtils.h
10201           src/nm-device-802-11-wireless.c
10202                 - Update for new parameter to nm_utils_same_ssid()
10203
10204 2007-08-14  Dan Williams  <dcbw@redhat.com>
10205
10206         * src/NetworkManagerAP.c
10207                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
10208                         I encountered a BSS that wasn't just hiding it's ESSID, it was
10209                         setting the BSSID to all 0s.  That confused the heck out of NM,
10210                         plus it's useless and probably out-of-spec.
10211
10212 2007-08-14  Dan Williams  <dcbw@redhat.com>
10213
10214         * callouts/Makefile.am
10215           src/dhcp-manager/nm-dhcp-manager.c
10216           src/dhcp-manager/nm-dhcp-manager.h
10217           src/dhcp-manager/Makefile.am
10218                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
10219
10220 2007-08-14  Dan Williams  <dcbw@redhat.com>
10221
10222         * src/dhcp-manager/nm-dhcp-manager.c
10223                 - (dhclient_run): don't pass -x to dhclient until we figure out if
10224                         it's really needed, get rid of unused xtra_args parameter
10225
10226 2007-08-14  Dan Williams  <dcbw@redhat.com>
10227
10228         * include/NetworkManagerVPN.h
10229           src/vpn-manager/nm-dbus-vpn.c
10230           src/vpn-manager/nm-dbus-vpn.h
10231           src/vpn-manager/nm-vpn-act-request.c
10232           src/vpn-manager/nm-vpn-act-request.h
10233           src/vpn-manager/nm-vpn-service.c
10234           src/vpn-manager/nm-vpn-service.h
10235           libnm-glib/nm-vpn-connection.c
10236           libnm-glib/nm-vpn-connection.h
10237           libnm-glib/nm-client.h
10238                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
10239                         NMVPNServiceState to clarify what they apply to
10240                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
10241                         NMVPNActStage -> NMVPNConnectionState for the same reason
10242
10243         * libnm-glib/nm-client.c
10244                 - Constant + type renames from above
10245                 - Properly handle NameOwnerChanged/manager_running signals
10246                         for NM service; only emit when state really changes
10247                 - Use hash tables correctly so that the key (which was previously owned
10248                         by the D-Bus message) now has the same lifetime as the value, since
10249                         the key is now taken from the NMVPNConnection itself.  This
10250                         really fixes the double-VPN names in the applet
10251
10252 2007-08-13  Dan Williams  <dcbw@redhat.com>
10253
10254         Patch from Michael Biebl <biebl@debian.org>
10255
10256         * po/POTFILES.in
10257           po/POTFILES.skip
10258                 - Update for vpn-properties move
10259
10260 2007-08-13  Dan Williams  <dcbw@redhat.com>
10261
10262         * libnm-glib/nm-client.c
10263                 - Convert internal VPN connection tracking from a list to a hash table
10264                         to easily avoid duplicates
10265                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
10266                         must be freed by the caller, like nm_client_get_devices()
10267                 - (nm_client_remove_vpn_connection): don't let the removal signal
10268                         leak through for NMVPNConnection objects that aren't actually
10269                         tracked.
10270                 - (manager_running): throw away VPN connection list when NM goes away,
10271                         like with the device list
10272
10273 2007-08-13  Dan Williams  <dcbw@redhat.com>
10274
10275         * src/dhcp-manager/nm-dhcp-manager.c
10276                 - Stop any dhclient instance that might be already running for a
10277                         particular interface before starting an NM spawned dhclient.  Fixes
10278                         dhclient processes left over if NM crashes, stuff like that.
10279
10280 2007-08-13  Dan Williams  <dcbw@redhat.com>
10281
10282         * src/NetworkManagerAP.c
10283                 - (finalize): don't try to g_array_free (NULL, ...), which happened
10284                         when the AP wasn't broadcasting it's SSID
10285
10286 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
10287
10288         * include/NetworkManager.h: added DBus path for connection settings.
10289
10290         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
10291         nm_connection_settings_signal_updated,
10292         nm_connection_settings_signal_removed): new functions to wrap the
10293         objects' signals.
10294         (nm_connection_settings_init): register GObject with DBus.
10295         (nm_connection_settings_get_dbus_object_path): new function.
10296
10297         * libnm-glib/Makefile.am: added libnmutil to link flags.
10298
10299 2007-08-13  Tambet Ingo  <tambet@gmail.com>
10300
10301         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
10302
10303         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
10304         libnm_glib directory got merged with libnm-glib/.
10305
10306         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
10307
10308         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
10309         Rename the library from libnm-glib to libnm_glib to maintain the library API
10310         compatibility with 0.6 branch.
10311
10312         * Makefile.am: Remove gnome/ SUBDIR.
10313
10314         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
10315
10316         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
10317
10318         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
10319
10320         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
10321         anymore.
10322         Remove checks for wpa_supplicant binary, it's used over dbus.
10323         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
10324
10325         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
10326         Link the binaries with libnm_glib.la.
10327
10328 2007-08-12  Dan Williams  <dcbw@redhat.com>
10329
10330         * src/NetworkManagerPolicy.c
10331                 - (nm_policy_device_change_check): fix policy to deactivate old device
10332                         before activating new one, at least until the multiple active
10333                         device support lands
10334
10335 2007-08-12  Dan Williams  <dcbw@redhat.com>
10336
10337         * src/NetworkManagerPolicy.c
10338                 - (nm_policy_new): hook up to connection-added / connection-removed
10339                         signals instead of connections-changed
10340
10341 2007-08-12  Dan Williams  <dcbw@redhat.com>
10342
10343         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
10344         Robert Frank <rfrank@redhat.com>
10345
10346         * src/dhcp-manager/nm-dhcp-manager.c
10347           src/dhcp-manager/nm-dhcp-manager.c
10348           src/nm-device.c
10349                 - Spawn and communicate with dhclient directly, through means of a
10350                 custom dhclient callout script.  Process callout D-Bus signals
10351                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
10352                 sent via gobject signals rather than being driven by the dhcp manager
10353                 directly.
10354
10355 2007-08-12  Dan Williams  <dcbw@redhat.com>
10356
10357         * callouts/nm-dhcp-client-action.c
10358                 - (build_message): ignore non-DHCP-related environment variables
10359
10360 2007-08-12  Dan Williams  <dcbw@redhat.com>
10361
10362         * Makefile.am
10363           configure.in
10364           callouts/Makefile.am
10365           callouts/nm-dhcp-client-action.c
10366           callouts/nm-dhcp-client.conf
10367                 - Add dhclient-executed callout that takes the place of dhclient-script
10368                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
10369                 NM then listens for
10370
10371 2007-08-09  Tambet Ingo  <tambet@gmail.com>
10372
10373         [Based on patch by Helmut Schaa <hschaa@suse.de>]
10374
10375         * libnm-glib/nm-client.h:
10376         * libnm-glib/nm-object.h:
10377         * libnm-glib/nm-vpn-connection.h:
10378         * libnm-glib/nm-settings.h:
10379         * libnm-glib/nm-device.h:
10380         * libnm-glib/nm-ip4-config.h:
10381         * libnm-glib/nm-access-point.h:
10382         * libnm-glib/nm-device-802-3-ethernet.h:
10383         * libnm-util/nm-setting.h: 
10384         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
10385
10386         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
10387
10388         * libnm-glib/nm-access-point.c: Strength has type char.
10389
10390         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
10391         to fix build. GnomeDruid is deprecated in recent libgnomeui.
10392
10393         * introspection/nm-access-point.xml: Strength property is char, not int.
10394
10395         * src/NetworkManagerAP.c (set_property): Set strength from char.
10396         (get_property): Handle hidden APs (with empty SSID).
10397         Get strength value from char.
10398         (nm_ap_class_init): Strength property has char type.
10399
10400 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
10401
10402         * introspection/Makefile.am:
10403         * introspection/nm-settings.xml:
10404         * introspection/nm-settings-connection.xml: added Settings interfaces.
10405
10406         * libnm-glib/nm-settings.[ch]:
10407         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
10408         containing the DBus implementation.
10409
10410 2007-07-26  Dan Williams  <dcbw@redhat.com>
10411
10412         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
10413
10414         * src/NetworkManagerSystem.c
10415                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
10416                         same subnet (#437396)
10417
10418 2007-07-26  Dan Williams  <dcbw@redhat.com>
10419
10420         Patch from Kelemen Gábor <kelemeng@gnome.hu>
10421
10422         * gnome/vpn-properties/nm-vpn-properties.c
10423                 - Fix translatable strings (#445865)
10424
10425 2007-07-26  Dan Williams  <dcbw@redhat.com>
10426
10427         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
10428
10429         * configure.in
10430                 - Remove useless junk (#412530)
10431
10432 2007-07-10  Christopher Aillon  <caillon@redhat.com>
10433
10434         Patch from Robert Buchholz <rbu@gentoo.org>:
10435
10436         * configure.in:
10437         * Makefile.am:
10438         * introspection/Makefile.am:
10439         Make make distcheck work again.
10440
10441 2007-06-27  Dan Williams  <dcbw@redhat.com>
10442
10443         * Make SSIDs GByteArrays everywhere
10444         * Rename "essid" -> "ssid" everywhere that's appropriate
10445         * Refcount activation_ap member of the 802.11 wireless device class
10446
10447 2007-06-27  Tambet Ingo  <tambet@ximian.com>
10448
10449         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
10450
10451 2007-06-22  Tambet Ingo  <tambet@ximian.com>
10452
10453         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
10454         that we got a new AP when we just update existing AP properties.
10455
10456 2007-06-21  Tambet Ingo  <tambet@ximian.com>
10457
10458         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
10459
10460         * nm-utils.[ch]: Remove.
10461
10462         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
10463         objects for easy property access and dbus connection handling.
10464
10465         * libnm-glib/nm-client.c: Derive from NMObject.
10466
10467         * libnm-glib/nm-device.c: Ditto.
10468
10469         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
10470
10471         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
10472
10473         * libnm-glib/nm-ip4-config.c: Ditto.
10474
10475         * libnm-glib/nm-access-point.c: Ditto.
10476
10477         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
10478         comparision. Currently used by the device activation code to determine if the new
10479         activation is the same as the old one.
10480
10481         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
10482         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
10483         able to ask password for the AP.
10484
10485         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
10486         up if the device is already connected, tear down it's connection (if it isn't the
10487         same as new one) and start the activation.
10488
10489         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
10490
10491         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
10492         the issue where all APs are always listed as encrypted.
10493
10494         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
10495         their own registered paths.
10496
10497         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
10498         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
10499
10500 2007-06-13  Tambet Ingo  <tambet@ximian.com>
10501
10502         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
10503         (0 & 0 == 0, doh)
10504
10505         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
10506         because the handling code will cause the next state change and signal listeners
10507         get the signals in wrong order.
10508
10509         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
10510         correctly in case of pending activation.
10511
10512         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10513         Convert the essid byte array to string correctly, including the terminating NULL.
10514
10515         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
10516         mode with correct types.
10517
10518         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
10519         constructed info to dbus call instead of the activation request.
10520
10521 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10522
10523         Patch from Christian Persch <chpe@gnome.org>
10524
10525         * libnm-glib/Makefile.am:
10526         * dispatcher-daemon/Makefile.am:
10527         Use the correct variables, the correct paths, and correct ordering. (446315)
10528
10529 2007-06-11  Tambet Ingo  <tambet@ximian.com>
10530
10531         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
10532         argument. The activation request is easy to retrieve.
10533
10534         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
10535         just to be a convenient location for devices to store random stuff.
10536
10537 2007-06-11  Christopher Aillon  <caillon@redhat.com>
10538
10539         Patch from Alex Smith <alex@alex-smith.me.uk>
10540
10541         * src/backends/NetworkManagerFrugalware.c:
10542         Update the FrugalWare backend to fix a few segfaults. (#392642)
10543
10544 2007-06-08  Tambet Ingo  <tambet@ximian.com>
10545
10546         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
10547
10548         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
10549         setting.
10550         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
10551
10552 2007-06-06  Tambet Ingo  <tambet@ximian.com>
10553
10554         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
10555         automagically.
10556         Implement NMSettingIP4Config.
10557         Finish NMSettingWired by adding all known members.
10558         (setting_wired_verify): Implement.
10559         Finish NMSettingWireless by adding all known members.
10560         (setting_wireless_verify): Implement.
10561
10562         * libnm-util/nm-connection.c: Register "ipv4" setting.
10563         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
10564         dump function, we can introspect the GHashTable which is used for sending connections
10565         over dbus.
10566
10567         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
10568         Take GByteArray for essid, it's really not a string.
10569
10570         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
10571         Start DHCP request if setting is not passed or if it states that DHCP should be used.
10572         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
10573         means overriding the values we got from DHCP.
10574         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
10575         (nm_device_deactivate_quickly): Ditto.
10576
10577         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
10578         for debugging.
10579
10580 2007-05-07  Tambet Ingo  <tambet@ximian.com>
10581
10582         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
10583         NMConnection.
10584
10585         * libnm-glib/nm-device-802-11-wireless.c:
10586         (nm_device_802_3_ethernet_activate): Remove.
10587
10588         * libnm-glib/nm-device-802-3-ethernet.c
10589         (nm_device_802_3_ethernet_activate): Remove.
10590
10591         * libnm-glib/nm-device.c (nm_device_activate): Implement.
10592
10593         * src/nm-device-802-3-ethernet.c: Implement the new activation using
10594         NMConnection.
10595
10596         * src/nm-device-802-11-wireless.c: Store an activation AP once the
10597         activation has started.
10598         Implement the new activation using NMConnection.
10599
10600         * src/nm-activation-request.c: Store a generic connection object instead
10601         of a wireless-specific AP.
10602
10603         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
10604         on device type, create a device specific connection object suitable for
10605         device activation.
10606
10607         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
10608         specific check to validate the connection and on success start the
10609         activation.
10610
10611         * src/nm-device-interface.h: Add a activate virtual function to the
10612         interface definition.
10613
10614         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
10615         (impl_device_activate): Implement.
10616
10617         * introspection/nm-device.xml: Add a generic device activation interface
10618         that accepts an abstract NMConnection structure that has device-specific
10619         information in it.
10620
10621         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
10622         activation interface.
10623
10624         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
10625         activation interface.
10626
10627         * libnm-util/nm-connection.c: 
10628         * libnm-util/nm-connection.h: 
10629         * libnm-util/nm-setting.c:
10630         * libnm-util/nm-setting.h: Add.
10631
10632         * libnm-util/Makefile.am: Build the added files.
10633
10634         * src/nm-dbus-manager.c
10635         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
10636         DbusConnection argument from 'name-owner-changed' signal. The manager
10637         is already passed as a first argument to the signal and the connection
10638         is easy enough to get from it.
10639
10640         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
10641         Update the signature of the function.
10642
10643         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
10644         Ditto.
10645
10646         * src/NetworkManager.c: Ditto.
10647
10648         * src/named-manager/nm-named-manager.c
10649         (nm_named_manager_name_owner_changed): Ditto.
10650
10651         * src/supplicant-manager/nm-supplicant-manager.c
10652         (nm_supplicant_manager_name_owner_changed): Ditto.
10653
10654         * src/nm-hal-manager.c (name_owner_changed): Ditto.
10655
10656         * src/dhcp-manager/nm-dhcp-manager.c
10657         (nm_dhcp_manager_name_owner_changed): Ditto.
10658
10659         * src/nm-hal-manager.c: Add a list of device detectors and creators
10660         to make it easier to add new devices. Each device type has it's own
10661         entry in the table so adding new device types is only a matter of
10662         implementing a couple of functions, one for device detection and the
10663         other for device creation.
10664
10665 2007-04-25  Dan Williams  <dcbw@redhat.com>
10666
10667         * initscript/RedHat/NetworkManager.in: remove trailing backslash
10668                 (gnome.org #432401)
10669
10670 2007-03-30  Dan Williams  <dcbw@redhat.com>
10671
10672         * src/NetworkManagerSystem.c
10673                 - (nm_system_device_set_ip4_route): clean up and fix argument
10674                         to nm_dev_sock_open()
10675
10676 2007-03-28  Tambet Ingo  <tambet@ximian.com>
10677
10678         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
10679         data to correct types instead of always using string.
10680
10681         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
10682         _not_ have NM_802_11_CAP_PROTO_NONE.
10683         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
10684         is not set.
10685
10686 2007-03-27  Tambet Ingo  <tambet@ximian.com>
10687
10688         * libnm-glib/Makefile.am: Fix the build issue.
10689
10690 2007-03-26  Tambet Ingo  <tambet@ximian.com>
10691
10692         * libnm-glib/nm-vpn-connection.h: 
10693         * libnm-glib/nm-vpn-connection.c: Implement.
10694
10695         * libnm-glib/nm-client.c: Add VPN support.
10696
10697         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
10698         handler for VPN.
10699
10700         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
10701         on DBUS again.
10702
10703 2007-03-26  Dan Williams  <dcbw@redhat.com>
10704
10705         * src/NetworkManagerAPList.c
10706         * src/nm-device-802-11-wireless.c
10707         * src/NetworkManagerAP.c:
10708                 - Store last seen as glong instead of GTimeVal.
10709                 - Fix the upper bound of capabilities, it's a bitfield.
10710
10711 2007-03-16  Tambet Ingo  <tambet@ximian.com>
10712
10713         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
10714
10715         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
10716         "manager-running" signal that notifies the appearance/disappearance of NM.
10717         (nm_client_sleep): Implement.
10718
10719         * libnm-glib/nm-device.c:
10720         * libnm-glib/nm-device-802-11-wireless.c: 
10721         * libnm-glib/nm-device-802-3-ethernet.c: 
10722
10723         Don't inherit from DBusGProxy, add a proxy to private
10724         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
10725         for anything but their own dbus interface. DBusGProxy objects support only one
10726         interfaces and to work around this, NMDevice has spearate proxy for each dbus
10727         interface. The nice side effect of this change is that we do not create a new
10728         DBusGProxy object for each property access.
10729
10730 2007-03-15  Tambet Ingo  <tambet@ximian.com>
10731
10732         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
10733         with zeroes before passing them to functions - the functions never do that and
10734         reading the values back may produce wrong values.
10735         (real_bring_up): Store the signal handler id ...
10736         (real_bring_down): ... So that it can be removed here.
10737         Disconnect the supplicant interface here as well.
10738         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
10739         from the access point instead of old $device/Networks/$essid.
10740
10741         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
10742         device state is connected (instead of just having link/carrier).
10743
10744         * src/nm-activation-request.c: Don't store NMData in activation request, it's
10745         already easily accessible through the device.
10746
10747         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
10748         store it within the object.
10749         (nm_ap_get_dbus_path): Export it to public as well.
10750
10751         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
10752         of the singleton.
10753
10754 2007-03-12  Dan Williams  <dcbw@redhat.com>
10755
10756         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
10757         for non-carrier-detect capable devices, and useless for carrier-detect
10758         devices since we get notifications from netlink about carrier status anyway.
10759
10760         * src/nm-device-802-3-ethernet.c
10761                 - remove 'link_source_id' member from private data
10762                 - (probe_link): remove and collapse into real_update_link()
10763                 - (nm_device_802_3_periodic_update): remove
10764                 - (real_is_up): check for sup_iface rather than link_source_id
10765                 - (real_bring_up): return gboolean for success/fail; require that
10766                         sup_iface be valid for device bringup to succeed
10767                 - (real_bring_down): zero out link signal ids
10768
10769         * src/nm-device.c
10770                 - (nm_device_activate_stage2_device_config): fail activation if device
10771                         bringup fails
10772                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
10773                         fails
10774                 - (nm_device_bring_up): return success/fail
10775
10776         * src/nm-device.h
10777                 - bring_up now returns success/fail
10778
10779         * src/nm-device-802-11-wireless.c
10780                 - (real_bring_up): return success from bringup
10781
10782 2007-03-07  Dan Williams  <dcbw@redhat.com>
10783
10784         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
10785         * src/nm-ap-security-wpa-psk.c
10786                 - (real_write_supplicant_config): work with PSKs that may contain
10787                         zeros in the binary format rather than treating it as a string
10788
10789 2007-03-02  Tambet Ingo  <tambet@ximian.com>
10790
10791         * libnm-glib/nm-device-802-11-wireless.c
10792         (nm_device_802_11_wireless_get_capabilities): Implement.
10793
10794         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
10795
10796         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
10797
10798         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
10799         reply only if it's not NULL. Not sure why this started happening right now.
10800
10801         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
10802         code paths for when devices get removed on shutdown or when a device is just
10803         removed.
10804         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
10805         gets freed so any signal from a device (disconnected for instance) would invoke
10806         NMState update which would crash.
10807         (nm_manager_remove_device): Bring the device down when it gets removed.
10808
10809         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
10810         the unused dev_type.
10811
10812         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
10813         reference to the added device, NMManager will own it (if it wants).
10814
10815         * test/nm-tool.c: Rewrite using libnm-glib.
10816
10817         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
10818         We get signalled when it changes.
10819
10820         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
10821         when it changes.
10822
10823         * libnm-glib/nm-device.c: Cache the device state property.
10824
10825         * libnm-glib/nm-access-point.c: Cache the strength property.
10826
10827         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
10828         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
10829         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
10830         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
10831         the device is down, activating, or activated (in case of A/B/G cards).
10832         Remove some old dead ifdef'ed out code that used to configure wireless devices,
10833         it's all done through supplicant now.
10834
10835         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
10836         counting issues with pending calls which caused leaks and crashes when
10837         interface was removed (now that the interface actually gets removed).
10838
10839         * src/nm-call-store.c: Make a copy of data before running a foreach
10840         with user callback on it - The most common usage pattern is to cancel
10841         (and thus remove) all pending calls with foreach which would modify
10842         the hash table we're iterating over.
10843
10844         * src/nm-manager.c: When a device is added, make sure it is "up". When
10845         it's removed or disabled due to disabling wireless or networking, bring
10846         it down.
10847
10848         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10849
10850         * src/nm-device-802-11-wireless.c: 
10851         * src/nm-device-802-3-ethernet.c: 
10852         * src/nm-device.c:
10853                 - Remove "init" virtual function, all gobjects have a place for that
10854                   already (constructor).
10855                 - Replace "start" virtual function with "bring_up", devices can be
10856                   brought up and down more than just on startup now.
10857                 - Add "is_up" virtual function.
10858                 - Implement one way to bring a device down instead of previous 4 different
10859                   ways, each of witch did something different.
10860
10861         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10862         all it needs is the device interface.
10863
10864         Get rid of NMData.dev_list (3 members to go).
10865         Get rif of NMData in a lot of places.
10866
10867         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10868
10869 2007-02-23  Dan Williams  <dcbw@redhat.com>
10870
10871         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10872
10873         * src/NetworkManagerAP.c
10874                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10875                         OR-ing rather than AND-ing
10876
10877 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10878
10879         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10880         "network-removed" signals.
10881
10882         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10883
10884         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10885         when receiving the signal from dbus.
10886
10887         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10888         property.
10889
10890         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10891         deactivation of the previously activated device working again.
10892
10893         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10894         and setter.
10895
10896         * src/nm-device.c (nm_device_is_activated): Remove.
10897         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10898
10899         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10900         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10901         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10902         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10903         Remove NMNetworkStatus and NMActStage enums.
10904
10905 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10906
10907         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10908         Handle device state changes and disconnect VPN if it's device deactivates.
10909
10910         * src/nm-dbus-nm.c: 
10911         * src/nm-dbus-nm.h: 
10912         * src/nm-dbus-device.c: 
10913         * src/nm-dbus-device.c: 
10914         * src/nm-dbus-net.c: 
10915         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10916
10917         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10918
10919         * src/nm-device.c (nm_device_get_by_udi):
10920         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10921         implemented in the correct location (NMManager).
10922         Rip out all the test_device stuff.
10923
10924         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10925         failure handlers, it's all done by NMDevice already.
10926
10927         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10928         Remove the iochannel hack to route the unix signals to the main thread since
10929         we're not threaded anymore.
10930
10931         * src/NetworkManagerAP.c: Implement HWAddress property.
10932
10933         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10934         automatically with dbus-glib.
10935
10936         * src/nm-netlink-monitor.c: 
10937         * src/nm-netlink-monitor.h:
10938                 - Move it low in the class hierarchy, don't reference any NM types.
10939                 - Remove private data from the header.
10940                 - Use type safe checks in public API methods.
10941                 - Make it a singleton so we don't have to pass the single reference around.
10942
10943 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10944
10945         * introspection/nm-ip4-config.xml: Implement.
10946
10947         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10948
10949         * libnm-glib/nm-ip4-config.c:
10950         * libnm-glib/nm-ip4-config.c: Implement.
10951
10952         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10953         securities. APs reference security.
10954
10955         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10956         be exported over DBUS.
10957
10958         * src/nm-device-802-3-ethernet.c: Ditto.
10959
10960         * src/NetworkManagerAP.c:
10961         * src/NetworkManagerAP.h:
10962                 - Convert to GObject, export over DBUS.
10963
10964         * src/nm-ip4-config.h:
10965         * src/nm-ip4-config.h:
10966                 - Convert to GObject, export over DBUS.
10967
10968 2007-02-12  Dan Williams  <dcbw@redhat.com>
10969
10970         Patch from Helmut Schaa <hschaa@suse.de>
10971
10972         * vpn-daemons/pptp/configure.in
10973           vpn-daemons/pptp/Makefile.am
10974           vpn-daemons/openvpn/configure.in
10975           vpn-daemons/openvpn/Makefile.am
10976           vpn-daemons/vpnc/configure.in
10977           vpn-daemons/vpnc/Makefile.am
10978                 - Add --without-gnome switch which disables building gnome bits
10979
10980 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10981
10982         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10983
10984         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10985
10986         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10987         'HwAddress'.
10988
10989         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10990
10991         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10992
10993         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10994
10995         * src/:
10996                 - Remove old low-level dbus interface implementations and replace them
10997                   with dbus-glib one.
10998
10999         * configure.in:
11000                 - Require dbus-glib >= 0.72.
11001                 - Plug in new sources to build.
11002
11003         * libnm-glib/:
11004                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
11005                   to make it more convenient to use from GObject based programs.
11006
11007         * introspection/:
11008                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
11009
11010 2007-02-09  Tambet Ingo  <tambet@ximian.com>
11011
11012         * src/nm-device-802-11-wireless.c:
11013                 - Add "network-added" and "network-removed" signals.
11014                 - Use gobject boilerplate macros to define the GObject.
11015                 - Implement wireless device activation.
11016                 - Remove activation_failure_handler and activation_success_handler
11017                   and instead listen on state-changed signals and run the same code
11018                   from there.
11019
11020         * src/nm-device.c:
11021                 - Implment NMDeviceInterface::deactivate.
11022                 - Remove activation_failure_handler and activation_success_handler
11023                   virtual methods. Each device which is interested in these events
11024                   can just listen on it's state changed signals.
11025
11026         * src/NetworkManagerPolicy.c:
11027                 - Move a bit more NMData usage to NMManager.
11028                 - Remove activation scheduling bits.
11029                 - Add listeners for wireless device's "network-added" and
11030                   "network-removed" signals.
11031                 - Listen device changed signals and deactivate currently activated
11032                   device when another device start activating (for now).
11033                 - Remove (nm_policy_schedule_device_change_check): There's never a need
11034                   for calling this, the policy code knows exactly when this should happen,
11035                   by listening on events from NMManager and NMDevices.
11036
11037         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
11038         Implement.
11039
11040         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
11041         method on the specific device instead of going to through policy code
11042         and determining the device type by passed in AP's existance.
11043
11044         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
11045         abstract NMDevice deactivation.
11046
11047 2007-02-08  Tambet Ingo  <tambet@ximian.com>
11048
11049         * src/NetworkManager.c:
11050                 - Set up all the shiny new managers.
11051
11052         * src/NetworkManagerPolicy.c:
11053                 - Add the beginnings of new NMPolicy code. Instead of requireing all
11054                   classes to call into policy code, make the policy code kind of like
11055                   a supervisor that monitors what's going on and drives the whole NM.
11056
11057         * src/nm-hal-manager.c: 
11058         * src/nm-hal-manager.h:
11059                 - Collect all libhal code scattered around NM to this one class.
11060                 - Listen libhal and NMManager events and add/remove devices to
11061                   NMManager.
11062
11063         * src/nm-manager.c:
11064         * src/nm-manager.h:
11065                 - Implment a replacement for NMData. NMData is now officially
11066                 deprecated.
11067
11068 2007-02-05  Tambet Ingo  <tambet@ximian.com>
11069
11070         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
11071         * src/supplicant-manager/nm-supplicant-interface.h
11072         * src/supplicant-manager/nm-supplicant-interface.c
11073         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
11074         argument to boolean from enum.
11075
11076         Make NMDevice abstract class, remove almost all references to it's
11077         subclasses (the last place gets removed with new policy manager). Add
11078         NMDeviceInterface (which NMDevice implements) so that when we have
11079         NMDevice exported over DBUS, there's a common NMDevice interface which
11080         all instances have, plus there's a device specific interface for each
11081         specific type.
11082         Remove functions (nm_device_is_802_3_ethernet) and
11083         (nm_device_is_802_11_wireless). There are already standard GObject macros
11084         for type safe checks.
11085         Use the updated supplican manager API.
11086
11087         * src/nm-device-interface.h: 
11088         * src/nm-device-interface.c: 
11089         * src/nm-call-store.h: 
11090         * src/nm-call-store.c: Implement.
11091
11092         * src/supplicant-manager/nm-supplicant-interface.c:
11093         * src/supplicant-manager/nm-supplicant-interface.h:
11094         * src/supplicant-manager/nm-supplicant-manager.c:
11095         * src/supplicant-manager/nm-supplicant-manager.h:
11096                 - Remove all private data type references from public header files.
11097                 - Remove all references to other NM classes, this class is just a
11098                   proxy between wpa_supplicant and NM so it doesn't have to know
11099                   any internals.
11100                 - Convert to dbus-glib bindings.
11101                 - Type safe checks for public methods' arguments.
11102                 - Store pending DBUS call ids to NMCallStore.
11103
11104         * src/supplicant-manager/nm-supplicant-config.c:
11105                 - Store config values in a GHashTable instead of GSList.
11106
11107         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
11108
11109         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
11110         singleton now.
11111
11112         * src/nm-device.c: Use the new DHCP manager API.
11113
11114         * src/nm-activation-request.c:
11115         * src/nm-activation-request.h:
11116                 - Remove all dhcp related properties and methods.
11117
11118         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
11119
11120         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
11121
11122         * src/dhcp-manager/nm-dhcp-manager.c:
11123         * src/dhcp-manager/nm-dhcp-manager.h:
11124                 - Convert it to GObject since we need to signal state changes.
11125                 - Remove all references to other NM classes, this class is one
11126                   of the lowest classes in our hierarchy.
11127                 - One less class to use NMActRequest.
11128                 - Make it singleton, one less user of NMData.
11129                 - Remove a couple of sleep() calls.
11130                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
11131                   One less class to use the NM's custom tailored signal handlig.
11132
11133         * Makefile.am: Generate marshallers, add them to build.
11134
11135 2007-02-02  Dan Williams  <dcbw@redhat.com>
11136
11137         * configure.in
11138           gnome/Makefile.am
11139           nm-applet.desktop
11140           Makefile.am
11141                 - Remove last bits referencing gnome applet
11142
11143 2007-02-02  Dan Williams  <dcbw@redhat.com>
11144
11145         * src/vpn-manager/nm-vpn-service.c
11146                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
11147                         and NBNS server addresses
11148
11149 2007-02-02  Tambet Ingo  <tambet@ximian.com>
11150
11151         * src/nm-dbus-manager.c:
11152         * src/nm-dbus-manager.h:
11153                 - Convert all internal DBUS code to use dbus-glib bindings.
11154                 - Remove GObject properties, we don't need them here.
11155                 - Don't explicitly set things to NULL after freeing, glib is
11156                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
11157                 - Make public API argument checks type safe.
11158                 - Remove unnecessary (and wrong) cast to GObject for the first
11159                   argument to g_signal_* calls - The first argument is a gpointer.
11160                 - Export DBusGConnection to other cool classes that (are going to)
11161                   use dbus-glib.
11162
11163 2007-01-26  Dan Williams  <dcbw@redhat.com>
11164
11165         * libnm-util/dbus-dict-helpers.c
11166           libnm-util/dbus-dict-helpers.h
11167                 - Coordinate style with wpa_supplicant version to minimize diff
11168                 - Add uint32 array support
11169                 - (nmu_dbus_dict_append_uint32_array): new function
11170                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
11171                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
11172                         version; allow adding string array elements individually
11173
11174         * test/libnm-util/test-dbus-dict-helpers.c
11175                 - Test uint32 arrays
11176
11177 2007-01-27  Jürg Billeter  <j@bitron.ch>
11178
11179         * src/backends/NetworkManagerPaldo.c
11180                 - (nm_system_update_dns): clear nscd hosts cache
11181
11182 2007-01-04  Dan Williams  <dcbw@redhat.com>
11183
11184         Threading removal related cleanups:
11185
11186         - Use the glib default main context.  Remove the device main context
11187                 member from NMDevice, and the main_context member from NMData.  Change
11188                 all the idle and timeout scheduler functions to use plain
11189                 g_idle_add() and g_timeout_add().
11190
11191         - As a side-effect of the first change, nm_dbus_manager_get() no longer
11192                 takes an argument; fix that up too.
11193
11194         - Remove all locking, which is useless since we no longer use threads.  For
11195                 example, nm_get_device_by_iface_locked() has been removed.  The global
11196                 device list lock, the AP List lock, and all static locks in
11197                 NetworkManagerPolicy.c have been removed.  The locking utility functions
11198                 in NetworkManagerUtils.c have also been removed.
11199
11200         - Other cleanups in spacing and code style
11201
11202 2007-01-01  Dan Williams  <dcbw@redhat.com>
11203
11204         Found by Bill Moss:
11205
11206         * src/supplicant-manager/nm-supplicant-interface.c
11207                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
11208                         the supplicant interface wasn't already disconnected.  Always
11209                         call removeNetwork and disconnect unless the supplicant interface
11210                         is in the DISCONNECTED or INACTIVE state.
11211
11212 2006-12-28  Dan Williams  <dcbw@redhat.com>
11213
11214         Use a single thread for everything.  With the move to wpa_supplicant
11215         and communication over D-Bus, there's no reason for multiple threads.
11216         Almost all of the blocking code has been removed, with one exception in
11217         the DHCP manager and a few in the VPN manager.  This commit removes the
11218         per-device worker thread and fixes activation cancellation in the absence
11219         of threads.  Further removal of thread-related code would be removing
11220         any locking code (like the device list lock) and simplification of logic
11221         around areas of code or data structures that are currently locked.
11222
11223         * autoip.c
11224           dhcp-manager/nm-dhcp-manager.c 
11225           nm-device-802-11-wireless.c
11226           nm-device-802-3-ethernet.c
11227           nm-device.c
11228           nm-device.h
11229                 - Remove usage of multiple threads
11230
11231 2006-12-19  Dan Williams  <dcbw@redhat.com>
11232
11233         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
11234         plus a few other patches from wpa_supplicant bugzilla.
11235
11236         * src/Makefile.am
11237           src/NetworkManagerPolicy.c
11238           src/NetworkManagerUtils.c
11239           src/NetworkManagerUtils.h
11240           src/nm-ap-security-leap.c
11241           src/nm-ap-security-wep.c
11242           src/nm-ap-security-wpa-eap.c
11243           src/nm-ap-security-wpa-psk.c
11244           src/nm-ap-security.c
11245           src/nm-ap-security.h
11246           src/nm-device-802-11-wireless.c
11247           src/nm-device-802-11-wireless.h
11248           src/supplicant-manager/nm-supplicant-config.c
11249           src/supplicant-manager/nm-supplicant-config.h
11250           src/supplicant-manager/nm-supplicant-interface.c
11251           src/supplicant-manager/nm-supplicant-interface.h
11252           src/supplicant-manager/nm-supplicant-marshal.list
11253           src/supplicant-manager/nm-supplicant-settings-verify.c
11254           src/supplicant-manager/nm-supplicant-settings-verify.h
11255                 - Move all connection management and association handling to
11256                         wpa_supplicant over dbus, rather than spawning a private copy
11257
11258 2006-12-19  Dan Williams  <dcbw@redhat.com>
11259
11260         * src/NetworkManagerPolicy.c
11261                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
11262                         better locking of the device change check handler ID.  Incorrect
11263                         locking was causing lost device change requests
11264
11265 2006-12-18  Dan Williams  <dcbw@redhat.com>
11266
11267         * libnm-util/dbus-dict-helpers.c
11268                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
11269                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
11270                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
11271
11272 2006-12-18  Dan Williams  <dcbw@redhat.com>
11273
11274         * gnome/libnm_glib/libnm_glib.c
11275                 - Change dbus_connection_close() -> dbus_connection_unref()
11276
11277 2006-12-11  Dan Williams  <dcbw@redhat.com>
11278
11279         * src/supplicant-manager/nm-supplicant-interface.c
11280                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
11281                         wpa_supplicant interface state
11282                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
11283                         state before transitioning to READY state
11284
11285 2006-12-04  Dan Williams  <dcbw@redhat.com>
11286
11287         * src/nm-device-802-11-wireless.c
11288                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
11289                         odd length of ESSID returned from ieee80211 stack-based drivers
11290
11291 2006-12-04  Dan Williams  <dcbw@redhat.com>
11292
11293         * src/nm-device-802-11-wireless.c
11294                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
11295                         IE handling blocks that cause mis-parsing of the IE
11296
11297 2006-12-04  Dan Williams  <dcbw@redhat.com>
11298
11299         * src/nm-device-802-11-wireless.c
11300                 - (init_supplicant_interface): new function; pull supplicant interface
11301                         setup code out into standalone function since it must be called from
11302                         two different places
11303                 - (real_init): sup_mgr is now in private object data; get and track
11304                         the supplicant manager object over the NMDevice subclass' lifetime
11305                         and register a signal handler for its state signals; only try to
11306                         initialize the supplicant interface if the supplicant manager is in
11307                         the IDLE state (and therefore is ready for requests)
11308                 - (request_wireless_scan): reschedule the scan request if (a) there is
11309                         no supplicant interface yet (meaning wpa_supplicant isn't running
11310                         or isn't ready yet), or (b) if the supplicant interface isn't ready
11311                         for requests yet
11312                 - (supplicant_iface_connection_state_cb): new function; stub for
11313                         handling supplicant interface connection state signals
11314                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
11315                         comes and goes
11316                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
11317                         supplicant manager object that's being tracked starting with this
11318                         commit
11319
11320 2006-12-04  Dan Williams  <dcbw@redhat.com>
11321
11322         * src/supplicant-manager/nm-supplicant-interface.c
11323                 - (nm_supplicant_interface_set_property): track signal handler ID
11324                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
11325
11326 2006-12-04  Dan Williams  <dcbw@redhat.com>
11327
11328         * src/supplicant-manager/nm-supplicant-interface.[ch]
11329                 - (nm_supplicant_interface_get_state): new function
11330
11331 2006-12-04  Dan Williams  <dcbw@redhat.com>
11332
11333         * src/supplicant-manager/nm-supplicant-interface.c
11334                 - (bssid_properties_cb): don't treat DBus errors as valid
11335                         scanned AP messages
11336
11337 2006-12-04  Dan Williams  <dcbw@redhat.com>
11338
11339         * src/supplicant-manager/nm-supplicant-interface.[ch]
11340                 - (nm_supplicant_interface_get_connection_state): new function
11341                 - define new supplicant connection states
11342                 - send a signal when the supplicant connection state changes
11343
11344 2006-12-03  Dan Williams  <dcbw@redhat.com>
11345
11346         * src/supplicant-manager/Makefile.am
11347           src/supplicant-manager/nm-supplicant-connection.h
11348           src/supplicant-manager/nm-supplicant-connection.c
11349           src/supplicant-manager/nm-supplicant-config.h
11350           src/supplicant-manager/nm-supplicant-config.c
11351           src/supplicant-manager/nm-supplicant-types.h
11352           src/supplicant-manager/nm-supplicant-interface.h
11353           src/supplicant-manager/nm-supplicant-interface.c
11354                 - Rename NMSupplicantConnection -> NMSupplicantConfig
11355
11356 2006-12-03  Dan Williams  <dcbw@redhat.com>
11357
11358         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
11359
11360         * po/POTFILES.in
11361           po/POTFILES.skip
11362                 - Move VPN-related translatables to .skip
11363
11364         * vpn-daemons/pptp/po/POTFILES.in
11365                 - Update with new translatables
11366
11367 2006-12-02  Dan Williams  <dcbw@redhat.com>
11368
11369         Patch from Christian Persch <chpe@gnome.org>
11370
11371         * gnome/applet/Makefile.am
11372           gnome/applet/applet-dbus-devices.c
11373           gnome/applet/applet-notifications.c
11374           gnome/applet/applet.c
11375           gnome/applet/applet.h
11376           gnome/applet/main.c
11377                 - Be a GtkStatusIcon on GTK+ >= 2.10
11378
11379 2006-12-02  Dan Williams  <dcbw@redhat.com>
11380
11381         * gnome/applet/applet.c
11382                 - (nma_update_info): fix two unecessary allocations
11383
11384 2006-12-02  Dan Williams  <dcbw@redhat.com>
11385
11386         Patch from Michael Biebl <biebl@teco.edu>
11387         * configure.in
11388           man/NetworkManager.1.in
11389           man/NetworkManagerDispatcher.1.in
11390           man/NetworkManager.8.in
11391           man/NetworkManagerDispatcher.8.in
11392                 - Add .SH NAME stanzas
11393                 - Move NM & NM Dispatcher manpages to section 8 (admin)
11394
11395 2006-12-02  Dan Williams  <dcbw@redhat.com>
11396
11397         Patch from Christian Persch <chpe@gnome.org>
11398
11399         * configure.in
11400                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
11401
11402 2006-11-29  Tambet Ingo  <tambet@ximian.com>
11403
11404         Patch by Timo Hoenig <thoenig@suse.de>:
11405         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
11406         DBUS-1.0.
11407
11408         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
11409         we can't use the one from the main source directory.
11410
11411 2006-11-27  Dan Williams  <dcbw@redhat.com>
11412
11413         Patch from Christian Persch <chpe@gnome.org>
11414
11415         * gnome/applet/applet-dbus-devices.c
11416                 - (hal_info_product_cb): fix memleak; free duped string.
11417                         Gnome.org #379908
11418
11419 2006-11-27  Dan Williams  <dcbw@redhat.com>
11420
11421         Patch from Christian Persch <chpe@gnome.org>
11422
11423         * gnome/applet/menu-items.c
11424                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
11425                         as gtk_progress_set_percentage is deprecated.  Should
11426                         work as far back as GTK+ 2.4.  Gnome.org #379780
11427
11428 2006-11-26  Dan Williams  <dcbw@redhat.com>
11429
11430         Scan using wpa_supplicant over DBus.
11431
11432         * src/nm-device-802-11-wireless.c
11433                 - remove wireless extensions netlink event handler bits
11434                         (wireless_event_helper, nm_device_802_11_wireless_event)
11435                 - remove wireless extensions scan event handler bits
11436                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
11437                         hex2byte, hex2num, request_and_convert_scan_results,
11438                         free_process_scan_cb_data, scan_results_timeout,
11439                         schedule_scan_results_timeout, cancel_scan_results_timeout)
11440                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
11441                         and request scans from the supplicant interface rather than directly
11442                 - Move functionality of convert_scan_results() to cull_scan_list() and
11443                         supplicant_iface_scanned_ap_cb()
11444                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
11445                         at the scan interval when the current scan has finished
11446                 - (supplicant_iface_state_cb): start scanning when the supplicant
11447                         interface enters the READY state, and stop scanning when it
11448                         enters the DOWN state
11449                 - (cull_scan_list): weed out old access points from the scan list
11450                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
11451                         point into an NMAccessPoint and merge it into the device's scan list
11452
11453         * src/supplicant-manager/nm-supplicant-interface.c
11454           src/supplicant-manager/nm-supplicant-interface.h
11455                 - Add a new signal "scan-result" which is issued when the supplicant
11456                         notifies NM that a scan has completed
11457                 - Add a new signal "scanned-ap" that notifies listeners of a new access
11458                         point found in the scan.  Called once for each access point that
11459                         the supplicant interface object receives from the supplicant as a
11460                         result of the "scanResults" method call
11461                 - (wpas_iface_query_scan_results): don't wait 4s before querying
11462                         for the initial scan results
11463                 - (scan_request_cb): new function; send listeners the result
11464                         (success, error) of a wireless scan request
11465                 - (nm_supplicant_interface_request_scan): new function; ask the
11466                         supplicant to perform an immediate wireless scan
11467
11468 2006-11-25  Dan Williams  <dcbw@redhat.com>
11469
11470         * src/supplicant-manager/Makefile.am
11471                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
11472                         add HAL cflags/includes and named-manager includes directory
11473
11474         * src/supplicant-manager/nm-supplicant-interface.h
11475                 - New state STARTING to handle transition from INIT to READY where
11476                         the addInterface pending call is still outstanding
11477
11478         * src/supplicant-manager/nm-supplicant-interface.c
11479                 - track pending calls differently since we may have more than one
11480                         going on at any given time
11481                 - request scan results from wpa_supplicant; but don't do it more often
11482                         than every 4 seconds.  Drivers that do background scanning
11483                         (like the 'ipw' drivers) send a continuous stream of scan completion
11484                         notifications, so we don't want to hammer the supplicant or dbus
11485                         with requests for all scan results every time we get a completion
11486                         notification.
11487
11488 2006-11-25  Dan Williams  <dcbw@redhat.com>
11489
11490         * src/supplicant-manager/nm-supplicant-types.h
11491                 - new file; move all supplicant manager object typedefs here for
11492                         #include sanity
11493
11494         * src/supplicant-manager/nm-supplicant-interface.c
11495           src/supplicant-manager/nm-supplicant-interface.h
11496                 - new file; an object that interfaces an NMDevice object to the
11497                         supplicant and handles signals from the supplicant.  This object
11498                         does all necessary DBus communication with wpa_supplicant.
11499
11500         * src/supplicant-manager/nm-supplicant-manager.c
11501           src/supplicant-manager/nm-supplicant-manager.h
11502                 - Actually do something.  Track the state of the wpa_supplicant service
11503                         and deal with its comings & goings.  Handle life events of
11504                         supplicant interfaces too.
11505                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
11506
11507         * src/supplicant-manager/nm-supplicant-connection.h
11508                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
11509
11510         * src/supplicant-manager/Makefile.am
11511                 - Add new files to build, and add libnm-util to includes
11512
11513         * src/nm-marshal.list
11514                 - New marshaler type: VOID:UINT,UINT
11515
11516         * src/nm-device-802-3-ethernet.c
11517                 - (real_init): grab a supplicant interface
11518                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
11519                 - (supplicant_iface_state_cb): new function, stub for handling
11520                         supplicant interface state changes
11521
11522         * src/nm-device-802-11-wireless.c
11523                 - (real_init): grab a supplicant interface
11524                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
11525                 - (supplicant_iface_state_cb): new function, stub for handling
11526                         supplicant interface state changes
11527
11528         * src/NetworkManager.c
11529                 - (main): create and keep the supplicant manager around for the lifetime
11530                         of NetworkManager
11531
11532         * src/Makefile.am
11533                 - Link to the supplicant manager sub-library and use the supplicant
11534                         manager includes
11535
11536 2006-11-25  Dan Williams  <dcbw@redhat.com>
11537
11538         Rework DBus manager signal handling to be more flexible.  Previously,
11539         only one signal handler could be registered for a particular interface.
11540         The DBus manager now reference counts DBus bus matches and allows multiple
11541         clients to register signal handlers for the same interface and sender.
11542
11543         * src/NetworkManager.c
11544                 - (main): track NMI signal handler ID and remove it when we quit
11545
11546         * src/NetworkManagerMain.h
11547                 - Keep track of NMI signal handler ID
11548
11549         * src/nm-dbus-manager.c
11550           src/nm-dbus-manager.h
11551                 - rework signal handling; each signal handler references one signal
11552                         match, but a signal match may be referenced by one or more
11553                         signal handlers.  Matches are refcounted and are destroyed when the
11554                         last signal handler that references the match is removed.  This is
11555                         necessary because two signal handlers may end up requiring the same
11556                         dbus bus match, so the match must live until the last signal handler
11557                         is destroyed (for example, with the wpa_supplicant network interface
11558                         dbus interface).
11559
11560         * src/dhcp-manager/nm-dhcp-manager.c
11561                 - (nm_dhcp_manager_new): track DHCP signal handler id
11562                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
11563
11564         * src/vpn-manager/nm-vpn-service.c
11565                 - (nm_vpn_service_add_watch): track VPN service signal handler id
11566                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
11567
11568 2006-11-25  Dan Williams  <dcbw@redhat.com>
11569
11570         Suggested by Helmut Schaa <hschaa@suse.de>
11571
11572         * src/vpn-daemons/nm-vpn-service.c
11573                 - (supplicant_child_setup): new function
11574                 - (supplicant_exec): make child process use a new process group id
11575
11576         * src/nm-device-802-11-wireless.c
11577                 - (nm_vpn_service_child_setup): new function
11578                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
11579                         process group id
11580
11581 2006-11-19  Dan Williams  <dcbw@redhat.com>
11582
11583         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
11584         * gnome/vpn-properties/nm-vpn-properties.c
11585                 - clean up after renamed VPN connection
11586
11587 2006-11-19  Dan Williams  <dcbw@redhat.com>
11588
11589         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
11590         * gnome/applet/applet-dbus-vpn.c
11591                 - (nma_dbus_vpn_properties_cb): sort VPN connections
11592
11593         * gnome/vpn-properties/nm-vpn-properties.c
11594                 - (init_app): sort VPN connections
11595
11596 2006-11-09  Dan Williams  <dcbw@redhat.com>
11597
11598         * src/NetworkManagerAPList.c
11599                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
11600                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
11601                 from the nm_ap_list_get_ap_by_address() call was incorrect and
11602                 broke hidden SSID matching.  Found by Bill Moss.
11603
11604 2006-10-25  Dan Williams  <dcbw@redhat.com>
11605
11606         * src/nm-dbus-nm.c
11607                 - (nm_dbus_nm_set_active_device): return an empty success message on
11608                         success, rather than falling through to the error case.
11609
11610 2006-10-25  Dan Williams  <dcbw@redhat.com>
11611
11612         * src/NetworkManagerUtils.c
11613                 - (nm_utils_supplicant_request_with_check): suppress messages for the
11614                         "SCAN" command
11615
11616 2006-10-24  Dan Williams  <dcbw@redhat.com>
11617
11618         Reduce the number of times the Gnome applet wakes up, especially when
11619         it's doing absolutely nothing and is hidden.  Initial patch by
11620         Chris Aillon.
11621
11622         * gnome/applet/applet-dbus.c
11623                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
11624                         kill the redraw timeout.  When NM starts up, start the redraw
11625                         timeout.  Also, if we get kicked off the bus for some reason,
11626                         start the reconnection timeout if one's not already running.
11627                 - (nma_dbus_init): better handling of error conditions, don't leak
11628                         a half-initialized dbus connection
11629                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
11630                         the applet's data, just call nm_dbus_init_helper()
11631                 - (nma_start_dbus_connection_watch): new function, starts a periodic
11632                         timeout that calls nma_dbus_connection_watcher()
11633                 - (nma_dbus_init_helper): if we get a successful connection, kill the
11634                         reconnection timeout, and don't start the reconnection timeout
11635                         unconditionally anymore
11636
11637         * gnome/applet/applet-dbus.h
11638                 - Expose nma_start_dbus_connection_watch()
11639
11640         * gnome/applet/applet.c
11641                 - (nma_update_state): no longer static, called from applet-dbus.c for
11642                         immediate UI updates on certain events
11643                 - (nma_set_running): new function; take over setting applet->running,
11644                         when not running (ie, NM is not active), don't activate the redraw
11645                         timeout because we're not showing the applet anyway.  When we are
11646                         running (ie, NM is active), and only when we're running, start the
11647                         redraw timeout.
11648                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
11649                         kill any reconnection timeout
11650                 - (nma_get_instance): move one-off dbus initialization code here since
11651                         nm_dbus_init_helper() gets called more than once, possibly by the
11652                         reconnection timeout function too.  And, when we start up, if we
11653                         can't get a connection to the bus, start the reconnection timeout.
11654                         But don't start the redraw timeout yet, only do that when we get
11655                         NM's state and find out if it's running or not.
11656
11657         * gnome/applet/applet.h
11658                 - Add the reconnection GSource ID
11659                 - Add prototypes for nma_set_running() and the no-longer-static
11660                         nma_update_state()
11661
11662 2006-10-24  Dan Williams  <dcbw@redhat.com>
11663
11664         * src/vpn-daemons/nm-dbus-vpnc.c
11665                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
11666                         pending call tracker
11667                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
11668                         pending call tracker; register one-vpn-connection update pending
11669                         call in pending call tracker
11670                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
11671                         update pending call in pending call tracker
11672                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
11673                         update pending call in pending call tracker; don't block waiting
11674                         for call to return
11675
11676 2006-10-19  Robert Love  <rml@novell.com>
11677
11678         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
11679           refresh the cache.
11680
11681 2006-10-14  Dan Williams  <dcbw@redhat.com>
11682
11683         * src/dhcp-manager/nm-dhcp-manager.c
11684                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
11685                 the dbus connection and the device object path rather than
11686                 constructing it inside both functions.  Saves a bit of memory
11687                 and clarifies a failure path.
11688                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
11689                 and allocate device path here rather than each of the two
11690                 functions above.
11691
11692 2006-10-13  Dan Williams  <dcbw@redhat.com>
11693
11694         * src/NetworkManager.c
11695                 - (nm_name_owner_changed_handler): handle NMI coming and going,
11696                 this somehow droppout in the refactor
11697
11698 2006-10-13  Dan Williams  <dcbw@redhat.com>
11699
11700         * Huge DBus refactor:
11701                 - Create a "DBus Manager" object which manages the connection and
11702                 sends signals on NameOwnerChanged and connection/disconnection events,
11703                 handles reconnection to the bus if NM gets kicked off, and abstracts
11704                 signal handling
11705                 - Remove DBusConnection members from places where they are no
11706                 longer needed due to the refactor, like the dbus-connection
11707                 property of the named manager, and from NMData
11708                 - Reformats a bunch of the code to gnome style
11709                 (8-space tabs, braces on same line as statement, 80-col width).
11710                 Consider it open season to reformat any bits to gnome style.
11711                 style that aren't already.
11712
11713 2006-10-13  Dan Williams  <dcbw@redhat.com>
11714
11715         * src/supplicant-manager/Makefile.am
11716                 - Add new files
11717
11718         * src/supplicant-manager/nm-supplicant-manager.[ch]:
11719                 - Make it a minimal GObject
11720
11721         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
11722                 - Verify settings destined for wpa_supplicant
11723
11724         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
11725                 - Minimal GObject to track wpa_supplicant controlled device
11726                 connections
11727
11728 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
11729
11730         * gnome/applet/applet.c: (nma_update_info),
11731         (nma_act_stage_to_pixbuf), (nma_update_state):
11732         Mark missing strings for translation. Fixes bug #343306.
11733
11734 2006-10-01  Dan Williams  <dcbw@redhat.com>
11735
11736         * src/vpn-manager/nm-vpn-manager.c
11737                 - (nm_vpn_manager_load_services): split and clean up
11738                 for readability and correctness.  Restrict VPN service
11739                 files to ending in ".name", as was meant from the
11740                 beginning (but not coded in).  Better error reporting.
11741
11742 2006-10-01  Dan Williams  <dcbw@redhat.com>
11743
11744         * utils/nm-utils.h
11745                 - Clean up formatting of debug/info/warning log messages
11746
11747 2006-09-27  Robert Love  <rml@novell.com>
11748
11749         Patch by Tambet Ingo <tambet@ximian.com>:
11750         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
11751           actually work.
11752
11753 2006-09-07  Dan Williams <dcbw@redhat.com>
11754
11755         * test/Makefile.am
11756           test/libnm-util/Makefile.am
11757           test/nm-supplicant-test.c
11758                 - Add test program emulating the way NM drives wpa_supplicant
11759                 to help debug supplicant issues
11760
11761 2006-08-24  Dan Williams <dcbw@redhat.com>
11762
11763         * configure.in
11764           src/Makefile.am
11765           src/supplicant-manager/Makefile.am
11766           src/supplicant-manager/nm-supplicant-manager.c
11767           src/supplicant-manager/nm-supplicant-manager.h
11768                 - Add skeleton bits of the wpa_supplicant manager
11769
11770 2006-08-24  Dan Williams <dcbw@redhat.com>
11771
11772         Patch from Ed Catmur:
11773         * src/NetworkManagerUtils.c
11774                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
11775                 if netmask is 0 (Gnome #352634)
11776
11777 2006-08-17  Robert Love  <rml@novell.com>
11778
11779         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
11780           package is now DBUS-enabled and listens for the NM signals.
11781
11782 2006-08-14  Dan Williams  <dcbw@redhat.com>
11783
11784         * Patch from Christian Persch <chpe gnome org>
11785         * configure.in
11786           po/LINGUAS
11787           vpn-daemons/openvpn/po/LINGUAS
11788           vpn-daemons/openvpn/configure.in
11789           vpn-daemons/pptp/po/LINGUAS
11790           vpn-daemons/pptp/configure.in
11791           vpn-daemons/vpnc/po/LINGUAS
11792           vpn-daemons/vpnc/configure.in
11793                 - Convert to LINGUAS method so translators don't have to modify
11794                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
11795                 0.35 or higher
11796
11797 2006-08-14  Dan Williams  <dcbw@redhat.com>
11798
11799         Patch from Alex Smith <alex.extreme2@gmail.com>
11800         * configure.in
11801           src/backends/Makefile.am
11802           src/backends/NetworkManagerFrugalware.c
11803                 - Add support for Frugalware
11804
11805 2006-08-13  Dan Williams  <dcbw@redhat.com>
11806
11807         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11808         * src/nm-device-802-11-wireless.c
11809                 - (supplicant_exec): spawn wpa_supplicant without debug spew
11810                 Gnome #346875
11811
11812 2006-08-13  Dan Williams  <dcbw@redhat.com>
11813
11814         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11815         * src/nm-ap-security.c
11816           src/nm-ap-security.h
11817                 - Add authentication_required bits for subclasses to specify whether
11818                 or not real authentication is required for connections, i.e. whether
11819                 the AP rejects us when an encryption key is wrong or not.
11820
11821         * src/nm-ap-security-wep.c
11822           src/nm-ap-security-wpa-eap.c
11823           src/nm-ap-security-wpa-psk.c
11824           src/nm-ap-security-leap.c
11825                 - Implement authentication_required appropriately for each method
11826
11827         * src/nm-device-802-11-wireless.c
11828                 - Be smarter about when to request a key; for example, using a wrong key
11829                 in WEP shared key mode previously just timed out and did not request
11830                 a new key
11831
11832 2006-08-13  Dan Williams  <dcbw@redhat.com>
11833
11834         * gnome/libnm_glib/libnm_glib.c
11835                 - dbus_connection_disconnect() -> dbus_connection_close() for
11836                 dbus >= 0.90
11837
11838 2006-08-07  Dan Williams  <dcbw@redhat.com>
11839
11840         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11841         * src/NetworkManagerSystem.c
11842                 - Respect specified MTU.  Gnome #344967
11843
11844 2006-08-07  Dan Williams  <dcbw@redhat.com>
11845
11846         * src/vpn-manager/nm-vpn-service.c
11847                 - Simplify print_vpn_config() arguments
11848
11849         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11850         * src/vpn-manager/Makefile.am
11851           src/vpn-manager/nm-vpn-service.c
11852                 - Add new API for passing VPN config options as a dict. Gnome #344967
11853
11854 2006-08-06  Dan Williams  <dcbw@redhat.com>
11855
11856         * gnome/applet/applet-dbus-devices.c
11857           gnome/applet/applet-dbus-vpn.c
11858           gnome/applet/applet-dbus.c
11859           gnome/applet/applet-dbus.h
11860           src/nm-dbus-nmi.c
11861           utils/nm-utils.c
11862           utils/nm-utils.h
11863                 - Make pending call tracking code generic,
11864                 so we can use it in NM as well as the applet
11865
11866 2006-08-06  Dan Williams  <dcbw@redhat.com>
11867
11868         * src/nm-activation-request.c
11869                 - Refcount pending call objects
11870
11871 2006-08-06  Dan Williams  <dcbw@redhat.com>
11872
11873         Patch from Christan Chiesa <christanc@gmail.com>
11874         * configure.in
11875                 - Tell sha1.c to use bigendian mode on PPC
11876
11877 2006-08-04  Robert Love  <rml@novell.com>
11878
11879         Glib Memory Slices!
11880         * configure.in: Require glib 2.10 or later.
11881         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11882           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11883           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11884           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11885           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11886           Memory Slices are the greatest thing since bread slices.
11887         * src/NetworkManagerAP.c: Also, fix memory leak.
11888
11889 2006-08-01  Robert Love  <rml@novell.com>
11890
11891         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11892
11893 2006-07-31  Robert Love  <rml@novell.com>
11894
11895         * src/backends/interface_parser.c: Declarations must begin the block.
11896
11897 2006-07-24  Dan Williams  <dcbw@redhat.com>
11898
11899         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11900         * src/backends/Makefile.am
11901           src/backends/NetworkManagerArch.c
11902           src/backends/NetworkManagerDebian.c
11903           src/backends/NetworkManagerGeneric.c
11904           src/backends/NetworkManagerGeneric.h
11905           src/backends/NetworkManagerGentoo.c
11906           src/backends/NetworkManagerPaldo.c
11907           src/backends/NetworkManagerRedHat.c
11908           src/backends/NetworkManagerSlackware.c
11909           src/backends/NetworkManagerSuSE.c
11910                 - Genericize common backend functions
11911
11912 2006-07-18  Robert Love  <rml@novell.com>
11913
11914         * configure.in: Add "--with-notify" option to allow disabling of
11915           libnotify support.
11916
11917 2006-07-13  Dan Williams  <dcbw@redhat.com>
11918
11919         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11920         * gnome/applet/applet.glade
11921           gnome/applet/Makefile.am
11922           gnome/applet/nm-gconf-wso.c
11923           gnome/applet/nm-gconf-wso-leap.c
11924           gnome/applet/nm-gconf-wso-leap.h
11925           gnome/applet/wireless-security-manager.c
11926           gnome/applet/wso-leap.c
11927           gnome/applet/wso-leap.h
11928           include/NetworkManager.h
11929           libnm-util/dbus-helpers.c
11930           libnm-util/dbus-helpers.h
11931           src/Makefile.am
11932           src/NetworkManagerAP.c
11933           src/nm-ap-security.c
11934           src/nm-ap-security-leap.c
11935           src/nm-ap-security-leap.h
11936                 - Add LEAP authentication support
11937
11938 2006-07-13  Dan Williams  <dcbw@redhat.com>
11939
11940         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11941         * configure.in
11942           src/backends/NetworkManagerArch.c
11943           src/backends/NetworkManagerDebian.c
11944           src/backends/NetworkManagerGentoo.c
11945           src/backends/NetworkManagerPaldo.c
11946           src/backends/NetworkManagerRedHat.c
11947           src/backends/NetworkManagerSlackware.c
11948           src/backends/NetworkManagerSuSE.c
11949                 - Convert hardcoding of 'ip' path to configure-time
11950                         detected one
11951
11952 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11953
11954         * configure.in: added ru to ALL_LINGUAS
11955
11956 2006-07-10  Dan Williams  <dcbw@redhat.com>
11957
11958         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11959         * src/nm-device.c
11960                 - (real_act_stage3_ip_config_start): don't infinite loop when
11961                         dhcdbd isn't running (Gnome #346845)
11962
11963 2006-07-09  Dan Williams  <dcbw@redhat.com>
11964
11965         * gnome/applet/applet.c
11966                 - (nma_destroy): don't pass NULL to notify_notification_close
11967                         (RH #197917)
11968
11969 2006-07-09  Dan Williams  <dcbw@redhat.com>
11970
11971         * gnome/applet/applet.c
11972                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11973
11974 2006-07-04  Tor Krill  <tor@krill.nu>
11975
11976         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11977         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11978         (nm_system_restart_mdns_responder), (ArchReadConfig),
11979         (nm_system_device_get_system_config):
11980                 - Explicitly check for DHCP configuration
11981                 - Check if daemons are running before starting them
11982
11983 2006-06-25  Dan Williams  <dcbw@redhat.com>
11984
11985         * libnm-util/dbus-dict-helpers.[ch]
11986           test/libnm-util/test-dbus-dict-helpers.c
11987                 - Add string array support
11988
11989 2006-06-24  Dan Williams  <dcbw@redhat.com>
11990
11991         * src/dhcp-manager/nm-dhcp-manager.c
11992                 - (nm_dhcp_manager_process_signal): clean up spacing
11993
11994 2006-06-21  Dan Williams  <dcbw@redhat.com>
11995
11996         * src/nm-dbus-device.c
11997                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11998                         through dbus
11999
12000 2006-06-21  Raivis Dejus  <orvils@gmail.com>
12001
12002         * configure.in: Added 'lv' to ALL_LINGUAS
12003
12004 2006-06-19  Dan Williams  <dcbw@redhat.com>
12005
12006         * src/NetworkManagerAP.c
12007                 - Clarify usage of user_created
12008
12009         * src/nm-ap-security-wep.c
12010           src/nm-ap-security-wpa-eap.c
12011           src/nm-ap-security-wpa-psk.c
12012           src/nm-ap-security.c
12013           src/nm-ap-security.h
12014                 - s/user_created/adhoc, because we really do mean adhoc
12015
12016         Patch from Bernard Blackham <bernard@blackham.com.au>
12017         * src/nm-device-802-11-wireless.c         
12018                 - (supplicant_send_network_config): instead of user_created,
12019                         use adhoc, and do AP_SCAN 2 for adhoc networks
12020
12021 2006-06-18  Robert Love  <rml@novell.com>
12022
12023         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
12024           we have a value to set.  Gconf generates a warning if `val' is NULL.
12025         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
12026           unless we actually received a valid private key file passphrase or
12027           password.  Otherwise, we don't know to later ask the applet to pull
12028           the key from the keyring.
12029
12030 2006-06-17  Dan Williams  <dcbw@redhat.com>
12031
12032         * libnm-util/dbus-dict-helpers.[ch]
12033           test/libnm-util/test-dbus-dict-helpers.c
12034                 - Fixes for zero-length byte arrays
12035                 - Replace return values of 0 with FALSE for clarity
12036                 - Test zero-length byte arrays
12037
12038 2006-06-17  Dan Williams  <dcbw@redhat.com>
12039
12040         * libnm-util/dbus-dict-helpers.[ch]
12041           test/libnm-util/test-dbus-dict-helpers.c
12042                 - Add helpers for byte arrays
12043                 - Rework bits of the testcase
12044
12045 2006-06-16  Dan Williams  <dcbw@redhat.com>
12046
12047         * libnm-util/Makefile.am
12048         * libnm-util/dbus-dict-helpers.[ch]
12049                 - Add some helpers to take the pain out of using dict types in
12050                         dbus.
12051
12052         * test/libnm-util/Makefile.am
12053         * test/libnm-util/test-dbus-dict-helpers.c
12054                 - Test cases for the dict helper functions
12055
12056 2006-06-15  Robert Love  <rml@novell.com>
12057
12058         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
12059           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
12060           if there is no key to pass.
12061         * libnm-util/dbus-helpers.c: Given the above, we can trust always
12062           receiving a non-NULL key.
12063
12064 2006-06-14  Robert Love  <rml@novell.com>
12065
12066         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
12067           copy the strings.
12068
12069
12070 2006-06-14  Dan Williams  <dcbw@redhat.com>
12071
12072         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
12073         * src/nm-device-802-11-wireless.c
12074                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
12075                         or ones where the driver is unknown
12076                 - (supplicant_exec): don't wait for supplicant startup here
12077                 - (supplicant_interface_init): finer grained polling for supplicant
12078                         startup
12079
12080 2006-06-13  Robert Love  <rml@novell.com>
12081
12082         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
12083           if it is currently set to TRUE.  Otherwise, we will reset the value
12084           when we connect normally.
12085         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
12086           the old BSSID is valid, too.  The recently added ESSID check may not be
12087           sufficient (we can remove it?).  What we really want to catch is the
12088           case of going from all-zeros to the BSSID of some other network, which
12089           happens on failure.
12090
12091 2006-06-09  Dan Williams  <dcbw@redhat.com>
12092
12093         * src/NetworkManagerSystem.[ch]
12094                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
12095                         it was unused and pointless
12096                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
12097                         fix for set_up_down_with_iface change
12098
12099         * src/vpn-manager/nm-vpn-connection.c
12100                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
12101
12102         * src/backends/NetworkManagerPaldo.c
12103           src/backends/NetworkManagerRedHat.c
12104           src/backends/NetworkManagerSuSE.c
12105           src/backends/NetworkManagerArch.c
12106           src/backends/NetworkManagerDebian.c
12107           src/backends/NetworkManagerGentoo.c
12108                 - (nm_system_enable_loopback): use set_up_down_with_iface where
12109                         appropriate
12110                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
12111                         where appropriate
12112
12113 2006-06-09  Dan Williams  <dcbw@redhat.com>
12114
12115         Patch from Peter Jones:
12116         * src/nm-device-802-11-wireless.c
12117                 - (nm_device_802_11_wireless_update_bssid): make sure that the
12118                         SSID hasn't changed from what we expect before automatically
12119                         updating the saved BSSID from a new AP
12120
12121 2006-06-08  Robert Love  <rml@novell.com>
12122
12123         Add 'fallback' support.  NetworkManager will attempt to brute-force
12124         connect to networks marked as fallback if there are no better wireless
12125         connections available.  This is useful as a method of last resort, to
12126         work around driver problems, and for use with hidden networks.
12127         * gnome/applet/applet-dbus-devices.c,
12128           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
12129         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
12130           pass it on via DBUS.
12131         * gnome/applet/applet.c: No fallback by default.
12132         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
12133           Update other-network-dialog to add UI checkbox toggling fallback.
12134         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
12135           propery from AP object.  Add "fallback" property to AP object.
12136         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
12137         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
12138         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
12139           separate function.  Add get_best_fallback_ap() for returning an AP
12140           on which to attempt fallback.
12141         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
12142         * test/nm-set-fallback: New file.  Sets a given network as fallback.
12143
12144 2006-06-07  Robert Love  <rml@novell.com>
12145
12146         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
12147           checked that the return type was GCONF_VALUE_STRING, not the correct
12148           GCONF_VALUE_BOOL, and thus it never worked.
12149         * src/NetworkManagerAPList.c: Before concluding that two networks are
12150           identical based on their BSSID, make sure that the BSSID in question
12151           is actually valid.  Specifically, an empty or all zero BSSID does not
12152           cut it.
12153         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
12154           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
12155           similar invariant clean up.
12156
12157 2006-06-02  Robert Love  <rml@novell.com>
12158
12159         * gnome/applet/applet.c: Update copyright years.  Add Novell.
12160
12161 2006-05-28  Dan Williams  <dcbw@redhat.com>
12162
12163         * gnome/applet/applet.glade
12164           gnome/vpn-properties/nm-vpn-properties.glade
12165                 - Set window icons on dialogs  (Gnome.org #333420)
12166
12167 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
12168
12169         * gnome/vpn-properties/nm-vpn-properties.glade:
12170         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
12171         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
12172         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
12173                 - Make the VPN properties pages prettier and more HIG
12174                   compliant. Gnome Bug #336913.
12175
12176 2006-05-28  Dan Williams  <dcbw@redhat.com>
12177
12178         Patch from Christian Persch <chpe@gnome.org>
12179         * gnome/vpn-properties/nm-vpn-properties.c
12180         * gnome/vpn-properties/nm-vpn-properties.glade
12181                 - HIG-ification love  (Gnome.org #336846)
12182
12183 2006-05-28  Dan Williams  <dcbw@redhat.com>
12184
12185         Patch from Christian Persch <chpe@gnome.org>
12186         * configure.in
12187           gnome/vpn-properties/nm-vpn-properties.c
12188                 - (main): Fix option parsing.  Gnome.org #336847
12189
12190 2006-05-28  Dan Williams  <dcbw@redhat.com>
12191
12192         * gnome/vpn-properties/nm-vpn-properties.c
12193                 - (find_vpn_ui_by_service_name): protect against NULL service names
12194                 - (update_edit_del_sensitivity): protect against NULL service names
12195                         Gnome.org #341306
12196
12197 2006-05-28  Dan Williams  <dcbw@redhat.com>
12198
12199         Patch from Chris Fuller <crf@grandecom.net>:
12200         * src/nm-device-802-11-wireless.c
12201                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
12202                         don't dispose of wireless-specific stuff unless it is actually
12203                         initialized.  Gnome.org #341263
12204
12205 2006-05-28  Dan Williams  <dcbw@redhat.com>
12206
12207         * src/NetworkManagerPolicy.c
12208                 - (nm_policy_device_change_check): don't switch devices if the "best"
12209                         AP is essentially the same as the current activation request, but
12210                         the current activation request isn't done activating yet.  Fixes
12211                         multiple requests for keyring password on startup for Gnome applet.
12212                         Gnome.org #341297
12213
12214 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
12215
12216         * src/NetworkManager.c: use GOptions instead of getopt
12217         * configure.in: bump glib required version to >= 2.6 for GOption
12218           support
12219
12220 2006-05-25  Robert Love  <rml@novell.com>
12221
12222         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
12223           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
12224           instead of dumping ifdef's throughout the code.
12225         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
12226           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
12227           use nm_ioctl_info() in lieu.
12228
12229 2006-05-25  Robert Love  <rml@novell.com>
12230
12231         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
12232         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
12233           not using gcrypt.  Otherwise, we get a linker error.
12234
12235 2006-05-25  Robert Love  <rml@novell.com>
12236
12237         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
12238         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
12239           configure flag to disable building of the GNOME-based applet.
12240
12241 2006-05-25  Robert Love  <rml@novell.com>
12242
12243         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
12244           parameter from link, because it shadows a global variable with some
12245           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
12246           should never have exported to the entire system a common four letter
12247           word.  But we here at NetworkManager are team players.  Fixes
12248           GNOME bug #336532.
12249
12250 2006-05-25  Arangel Angov <ufo@linux.net.mk>
12251
12252         * configure.in: Added mk.po, Macedonian translation.
12253
12254 2006-05-24  Robert Love  <rml@novell.com>
12255
12256         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
12257           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
12258           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
12259
12260 2006-05-24  Robert Love  <rml@novell.com>
12261
12262         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
12263           libnm-util/Makefile.am, src/Makefile.am,
12264           vpn-daemons/openvpn/auth-dialog/Makefile.am,
12265           vpn-daemons/openvpn/properties/Makefile.am,
12266           vpn-daemons/pptp/auth-dialog/Makefile.am,
12267           vpn-daemons/pptp/properties/Makefile.am,
12268           vpn-daemons/vpnc/auth-dialog/Makefile.am,
12269           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
12270           user passed for --datadir, if anything, when setting the GNOME locale
12271           directory.  It should be a function of the specified datadir and not
12272           the prefix.
12273
12274 2006-05-24  Robert Love  <rml@novell.com>
12275
12276         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
12277           src/NetworkManager.c: Take care to call bindtextdomain with the
12278           location of msgid files.
12279         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
12280           files.
12281
12282 2006-05-22  Robert Love  <rml@novell.com>
12283
12284         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
12285           stage4_timeout on failure unless the wireless network is Ad-Hoc.
12286           99% of the time there is a real problem with wireless, and a
12287           seemingly successful connection via Zeroconf just confuses the user.
12288           And that 1% of the time the network is probably Ad-Hoc, anyhow.
12289
12290 2006-05-22  Robert Love  <rml@novell.com>
12291
12292         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
12293           autofs on interface up if NIS is configured.  On interface down, do
12294           nothing.
12295
12296 2006-05-22  Robert Love  <rml@novell.com>
12297
12298         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
12299           to avoid calling g_object_unref() on stale pointers on error in
12300           nma_icons_free().  This happens because we short-circuit loaded the
12301           icons on the first failure but then free all icons.  Normally we have
12302           no issue because the icons were zero'ed out malloc, but we have stale
12303           pointer data after nma_icon_theme_changed().
12304         * gnome/applet/main.c: Return error code if nma_new() failed.
12305
12306 2060-05-21  Dan Williams  <dcbw@redhat.com>
12307
12308         * initscript/NetworkManager.in
12309                 - Ensure both dhcdbd and named are started before NM
12310
12311 2006-05-21  Dan Williams  <dcbw@redhat.com>
12312
12313         * configure.in
12314                 - Bump version to 0.7 to signify we are in 0.7 development
12315
12316 2006-05-21  Dan Williams  <dcbw@redhat.com>
12317
12318         Patch from Adam Schreiber <sadam@clemson.edu>
12319         * gnome/vpn-properties/nm-vpn-properties.c
12320                 - (main): correct Gnome program name  (gnome.org #342498)
12321
12322 2006-05-21  Dan Williams  <dcbw@redhat.com>
12323
12324         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
12325
12326         * src/NetworkManagerDbus.[ch]
12327                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
12328                         clarify that function's argument should be an escaped dbus object
12329                         path, and look for path segment end before returning a match
12330         * src/nm-dbus-nm.c:
12331                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
12332
12333 2006-05-17  Robert Love  <rml@novell.com>
12334
12335         Functionality to differentiate Ad-Hoc networks from infrastructure
12336         networks in the applet, by displaying a special icon:
12337         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
12338         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
12339         * gnome/applet/menu-items.c: Set a special icon in the scan list for
12340           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
12341           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
12342           networks, encrypted or not.
12343         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
12344           accessor functions to get and set the mode of a given network,
12345           wireless_network_get_mode() and wireless_network_set_mode().
12346
12347 2006-05-17  Robert Love  <rml@novell.com>
12348
12349         Functionality to automatically add BSSIDs to the allowed-MAC list as
12350         one roams from access point to access point on a given network:
12351         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
12352           helper function to compare two ether_addr structures and return TRUE
12353           if they contain the same MAC address.
12354         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
12355           prototype.
12356         * src/nm-device-802-11-wireless.c: New function to update the BSSID
12357           stored with the current AP.  If the BSSID has indeed changed, we
12358           send it out to the applet, allowing the allowed-MAC list to grow
12359           automatically in response to roaming.
12360
12361 2006-05-16  Robert Love  <rml@novell.com>
12362
12363         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
12364           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
12365
12366 2006-05-13  Dan Williams  <dcbw@redhat.com>
12367
12368         * src/nm-device-802-3-ethernet.c
12369                 - (real_get_generic_capabilities): Don't ignore devices that can't do
12370                         carrier detect (Debian bug #366373)
12371
12372 2006-05-11  Dan Williams  <dcbw@redhat.com>
12373
12374         Patch from Michael Biebl <biebl@teco.edu>
12375         * src/backends/NetworkManagerDebian.c
12376                 - Debian backend fixups
12377
12378 2006-05-10  Robert Love  <rml@novell.com>
12379
12380         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
12381
12382 2006-05-09  Robert Love  <rml@novell.com>
12383
12384         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
12385           private certificate passphrase, if any, in the GNOME Keyring.
12386         * libnm-utils/dbus-helpers.c: Update.
12387
12388 2006-05-05  Dan Williams  <dcbw@redhat.com>
12389
12390         * src/nm-device-802-11-wireless.c
12391                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
12392                         nm_device_802_11_wireless_disable_encryption() since that's all
12393                         we use it for anymore; we don't ever set WEP keys ourselves.
12394                 - (real_deactivate_quickly): reset SSID and encryption keys
12395                 - (real_deactivate): move SSID and encryption key reset to
12396                         real_deactivate_quickly(), which gets run before us anyway
12397
12398 2006-05-05  Robert Love  <rml@novell.com>
12399
12400         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
12401           root has a wacky default of its own (or, more common, a user has a
12402           bad umask and uses su/sudo to restart NetworkManager).  Anything
12403           other than 0022 does not do what we want with, for example,
12404           resolv.conf.  This problem is amplified by our judicious use of
12405           fopen(), which uses mode 0666 -- implying that the only way to get
12406           the permissions we want is with a umask of 0022.
12407
12408 2006-05-05  Dan Williams  <dcbw@redhat.com>
12409
12410         * gnome/libnm_glib/libnm_glib.c
12411                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
12412                         to reconnect; instead wait a bit more with each reconnect attempt
12413                         up to a max of one minute.
12414
12415 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
12416
12417         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
12418           the WirelessNetwork structure using the proper function instead of
12419           just casting it directly to (const char *) (gnome.org #336991)
12420
12421 2006-05-03  Robert Love  <rml@novell.com>
12422
12423         * src/backends/NetworkManagerSuSE.c: Respect the variable
12424           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
12425           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
12426           to dynamically update /etc/resolv.conf.
12427
12428 2006-05-02  Peter Jones  <pjones@redhat.com>
12429
12430         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
12431
12432 2006-05-02  Robert Love  <rml@novell.com>
12433
12434         Patch by Timo Hoenig;
12435         * tests/nm-online.c: Print pretty status indicator as timeout winds
12436           down.  Also fix possible race between DBUS startup and failure
12437           return.
12438
12439 2006-05-01  Robert Love  <rml@novell.com>
12440
12441         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
12442           empty, too.
12443
12444 2006-04-27  Jeremy Katz  <katzj@redhat.com>
12445
12446         * src/nm-device.c (discover_device_type): Actually use the hal
12447         device type instead of ioctl poking
12448
12449 2006-04-26  Robert Love  <rml@novell.com>
12450
12451         * tests/nm-online.c: New file.  Simple utility that returns exit status
12452           noting whether the connection is offline or online.  If offline on
12453           start, it waits 30 seconds (or a command-line given value) for an
12454           online signal.  If it times out, it again returns offline.  This is
12455           useful for scripts that want to wait for network connections.
12456
12457 2006-04-25  Robert Love  <rml@novell.com>
12458
12459         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
12460           key mode (the authentication algorithm), e.g. open or shared, when we
12461           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
12462           only shared was broken.  If the user specified a shared key, set it
12463           explicitly, otherwise let wpa_supplicant go with the default.
12464
12465 2006-04-24  Dan Williams  <dcbw@redhat.com>
12466
12467         * src/nm-device-802-11-wireless.c
12468                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
12469
12470 2006-04-24  Dan Williams  <dcbw@redhat.com>
12471
12472         Commit the async scanning patch
12473
12474         * src/nm-device-802-11-wireless.c
12475                 - get rid of scan_mutex
12476                 - (wireless_event_helper): act on wireless scan events
12477                 - (real_start): schedule a pending scan
12478                 - (link_to_specific_ap): fake the link to the AP during a scan
12479                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
12480                         strength during scans
12481                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
12482                         nm_device_set_bitrate): unused with new scanning code, disable
12483                 - (nm_device_wireless_schedule_scan): removed
12484                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
12485                 - (request_and_convert_scan_results): new function; retrieve scan
12486                         results from the driver and schedule the processing function
12487                 - (scan_results_timeout): timeout triggered when card doesn't send
12488                         a scan results wireless event during a certain interval
12489                 - (schedule_scan_results_timeout): new function; schedule the scan
12490                         results timeout
12491                 - (cancel_scan_results_timeout): new function; cancel the scan
12492                         results timeout
12493                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
12494                         to do the scanning.  Otherwise, just request a scan but don't
12495                         grab results here; instead schedule a timeout for scan results and
12496                         let netlink notify us of scan completion events
12497                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
12498                 - (cancel_pending_scan): new function; cancel a pending wireless scan
12499                 - (supplicant_status_cb): ignore disconnect events while scanning
12500                 - (supplicant_exec): wait a bit longer for the supplicant to start up
12501                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
12502                         timeouts
12503                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
12504
12505 2006-04-24  Dan Williams  <dcbw@redhat.com>
12506
12507         * gnome/applet/applet-dbus.c
12508                 - Disable the pending call debug stuff, seems under control now
12509
12510 2006-04-20  Robert Love  <rml@novell.com>
12511
12512         Fix bug where hidden ESSID's would not show up in the applet, even
12513         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
12514         because nm_policy_device_list_update_from_allowed_list() would merge
12515         the data, putting a name to the hidden networks, but never notify NMI
12516         of the changes.  Simple fix is to invoke the function
12517         nm_dbus_signal_wireless_network_change() if we make a mapping.
12518         * src/NetworkManagerAPList.c: Call the function
12519           nm_dbus_signal_wireless_network_change() if we made a successful
12520           BSSID to ESSID mapping, notifying the applet of the "new" network.
12521         * src/NetworkManagerAPList.h: Update the prototypes for both
12522           nm_ap_list_copy_essids_by_address() and
12523           nm_ap_list_copy_one_essid_by_address().
12524
12525 2006-04-20  Robert Love  <rml@novell.com>
12526
12527         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
12528           not set.  Just return zero.
12529
12530 2006-04-20  Robert Love  <rml@novell.com>
12531
12532         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
12533           only one copy of nm-vpn-properties is running at a time via the 'ol
12534           X selection trick.  This prevents the user from opening two "VPN
12535           Connections" windows from within the applet, which leads to mass
12536           hysteria.
12537         * clipboard.c: New file, implementing simple X selection logic.
12538         * clipboard.h: New file.
12539         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
12540
12541 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
12542
12543         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
12544         * configure.in
12545           initscript/Gentoo/Makefile.am
12546           initscript/Gentoo/NetworkManagerDispatcher.in
12547                 - New script
12548         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
12549           Gentopia
12550
12551 2006-04-16  Dan Williams  <dcbw@redhat.com>
12552
12553         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
12554         * configure.in
12555           initscript/Slackware/Makefile.am
12556           initscript/Slackware/rc.networkmanager-dispatcher.in
12557           initscript/Slackware/rc.networkmanager.in
12558                 - Update slackware initscripts
12559
12560 2006-04-10  Robert Love  <rml@novell.com>
12561
12562         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
12563           the "delete_event" signal on the druid's parent window and handle it
12564           our way, lest using the WM to close the druid results in a series of
12565           bloody and ultimately lethal errors.
12566
12567 2006-04-10  Robert Love  <rml@novell.com>
12568
12569         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
12570           'Back' too or else the 'Forward' option is initially disabled despite
12571           valid input.
12572
12573 2006-04-06  Robert Love  <rml@novell.com>
12574
12575         Fix bad but simple bug where an active modem connection did not update
12576         NM's connection state, breaking any app that did online/offline:
12577         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
12578           represented whether a dial up connection is active, or not.
12579         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
12580           to modem activation and deactivation.
12581         * src/NetworkManagerDbus.c: When asked our state, do not return
12582           disconnected if the modem is active.
12583
12584 2006-04-04  Robert Love  <rml@novell.com>
12585
12586         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
12587           applet.  It just confuses the crap out of people and does not make a
12588           lot of sense, as the daemon still runs.
12589
12590 2006-04-02  Tor Krill  <tor@krill.nu>
12591
12592         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
12593           in start of service.
12594         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
12595           get Archlinux backend up to date.
12596
12597 2006-03-29  Robert Love  <rml@novell.com>
12598
12599         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
12600         to add support for per-route MSS and improve support for per-interface
12601         MTU:
12602         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
12603           optionally take an MSS parameter and set it for the given route.
12604           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
12605           NMIP4Config's stored MSS, if any.
12606         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
12607           the interface's MTU and the route's MSS, respectively.  Add functions
12608           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
12609           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
12610           MSS.
12611         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
12612           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
12613           nm_ip4_config_set_mss.
12614         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
12615           VPN daemon.
12616         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
12617           Change the retval of nm_system_get_mtu to guint32.
12618         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
12619           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
12620           servers can specify MTU's, we should set it here if the MTU was not
12621           provided.
12622
12623 2006-03-27  Jürg Billeter  <j@bitron.ch>
12624
12625         * configure.in:
12626         * initscript/Makefile.am:
12627         * initscript/paldo/Makefile.am:
12628         * initscript/paldo/NetworkManager.in:
12629         * initscript/paldo/NetworkManagerDispatcher.in:
12630         * src/backends/Makefile.am:
12631         * src/backends/NetworkManagerPaldo.c:
12632                 - Add paldo support
12633
12634 2006-03-27  Dan Williams  <dcbw@redhat.com>
12635
12636         Patch from Christian Persch <chpe@gnome.org>
12637         * gnome/applet/applet.glade
12638                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
12639
12640 2006-03-27  Dan Williams  <dcbw@redhat.com>
12641
12642         Patch from Diffe <diffie@blazebox.homeip.net>
12643         * src/backends/NetworkManagerSlackware.c
12644                 - Don't restart howl, since it's been replaced by Avahi
12645                         in most distributions
12646
12647 2006-03-27  Dan Williams  <dcbw@redhat.com>
12648
12649         Patch from Tor Krill <bugzilla@krill.nu>
12650         * configure.in
12651           initscript/Makefile.am
12652           src/backends/Makefile.am
12653           src/backends/NetworkManagerArch.c
12654           initscript/Arch/Makefile.am
12655           initscript/Arch/networkmanager-dispatcher.in
12656           initscript/Arch/networkmanager.in
12657                 - Add Arch Linux support, fixes gnome.org #335147
12658
12659 2006-03-27  Dan Williams  <dcbw@redhat.com>
12660
12661         Patch from Diffe <diffie@blazebox.homeip.net>
12662      * initscript/Slackware/rc.networkmanager
12663         - update, fixed gnome.org #333368
12664
12665 2006-03-27  Robert Love  <rml@novell.com>
12666
12667         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
12668           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
12669
12670 2006-03-27  Robert Love  <rml@novell.com>
12671
12672         Patch by Jürg Billeter <j@bitron.ch>:
12673         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
12674           systems.
12675         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
12676           as we prefer glibc over kernel headers, if possible.
12677
12678 2006-03-27  Robert Love  <rml@novell.com>
12679
12680         Patch by Jon Escombe <list@dresco.co.uk>:
12681         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
12682         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
12683           fail, don't bail out.  We don't expect all of the various WPA-EAP
12684           values to be present.
12685         * src/nm-ap-security.c: We need to match all capabilities for each
12686           encryption type, not any one of them.
12687
12688 2006-03-27  Robert Love  <rml@novell.com>
12689
12690         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
12691           restart, not reload, ypbind.  Unfortunately there is no superior
12692           solution.
12693
12694 2006-03-24  Christopher Aillon  <caillon@redhat.com>
12695
12696         * gnome/applet/applet-notifications.c:
12697         When displaying a notification, make sure to get rid of the
12698         previous notification so as to not have competing bubbles,
12699         and stop leaking the old one.
12700
12701         * gnome/applet/applet.c:
12702         * gnome/applet/applet.h:
12703         Add a new 'notification' member to the applet, and zero it out
12704         and free it appropriately.
12705
12706 2006-03-23  Robert Love  <rml@novell.com>
12707
12708         Patch by j <j@bootlab.org>:
12709         * gnome/applet/applet.glade: Don't set the invisible_char property,
12710           which simply overrides the GTK default.  By and by, this behavior
12711           ought to be fixed in Glade.
12712
12713 2006-03-22  Robert Love  <rml@novell.com>
12714
12715         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
12716
12717 2006-03-22  Robert Love  <rml@novell.com>
12718
12719         Bug fix by Timo Hoenig <thoenig@suse.de>:
12720         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
12721           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
12722           and the applet going AWOL.
12723
12724 2006-03-22  Robert Love  <rml@novell.com>
12725
12726         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
12727           preprocessor define and use it instead of open-coded the DHCP
12728           timeout, which is currently 25 seconds, everywhere.
12729
12730 2006-03-22  Robert Love  <rml@novell.com>
12731
12732         Implement "Dynamic WEP", which is basically WPA authentication and WEP
12733         key exchange via WPA, ostensibly providing good security without
12734         requiring hardware that supports full WPA.  Also, add UI elements to
12735         allow the user to select the pairwise & group cipher for WPA Enterprise
12736         networks, too:
12737         * gnome/applet/applet.glade: Update glade file.
12738         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
12739           key type, too, to and from gconf.
12740         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
12741           wso_wpa_create_key_type_model(), noting whether we are handling PSK
12742           or EAP configuration, and in the latter case add in "Dynamic WEP" if
12743           the capabilities match.
12744         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
12745           prototype.
12746         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
12747           serialize from UI to DBUS.
12748         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
12749           one element.
12750         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
12751           nmu_security_serialize_wpa_eap_with_cipher(), and
12752           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
12753           serialize/deserialize the key type via DBUS as the new third DBUS
12754           parameter.
12755         * libnm-util/dbus-helpers.h: Update prototypes.
12756         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
12757           too.  If the key type is WEP104, do Dynamic WEP, which means
12758           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
12759           pairwise and group ciphers (fixes a FIXME).
12760
12761 2006-03-21  Robert Love  <rml@novell.com>
12762
12763         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
12764           nm_system_get_mtu(), which returns a user-provided or system-mandated
12765           MTU value for a given device, if any, or zero if no such value
12766           exists.  Add nm_system_set_mtu() to set the MTU for a given device
12767           if we have a provided value.
12768         * src/nm-device.c: Set the MTU of devices.
12769         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
12770         * src/backends/NetworkManagerDebian.c,
12771           src/backends/NetworkManagerGentoo.c,
12772           src/backends/NetworkManagerRedHat.c,
12773           src/backends/NetworkManagerSlackware.c: Implement stub functions.
12774
12775 2006-03-21  Robert Love  <rml@novell.com>
12776
12777         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
12778           configuration file.
12779
12780 2006-03-17  Robert Love  <rml@novell.com>
12781
12782         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
12783           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
12784           it, in case it is not running in the first place.  We just want its
12785           configuration reloaded.  Also, do not "rcypbind stop" on device down.
12786
12787 2006-03-15  Robert Love  <rml@novell.com>
12788
12789         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
12790           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
12791           label "WEP 40/128-bit" is inconsistent because the physical key size
12792           is 40 or 104-bits, to which a 24-bit initialisation vector is
12793           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
12794           to read "40/104" or "64/128".  I do not care much which, but most
12795           users think of "silver" and "gold" encryption as 64 and 128-bits, so
12796           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
12797           WEP passphrase support only handles 128-bit keys, and any future
12798           64-bit passphrase support will require a new option (no way to auto-
12799           detect the target key size), explicitly label our passphrase support
12800           "WEP 128-bit Passphrase".
12801
12802 2006-03-15  Robert Love  <rml@novell.com>
12803
12804         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
12805           the system init scripts (or some other mechanism) starting it (or a
12806           compatible DBUS service) before NetworkManager runs.  This means that
12807           distributions might need to update their init scripts.  This fixes
12808           possible races and is quite a bit cleaner.
12809         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
12810           starting the NetworkManager daemon.
12811
12812
12813 2006-03-14  Robert Love  <rml@novell.com>
12814
12815         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
12816           before adding anything.
12817
12818 2006-03-13  Robert Love  <rml@novell.com>
12819
12820         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
12821           widgets, too, if they exist, in case the user hit the back button.
12822           Fixes a bug where the details page contains the widgets of multiple
12823           VPN modules (Novell bug #157048).
12824
12825 2006-03-13  Robert Love  <rml@novell.com>
12826
12827         Patch by Timo Hoenig <thoenig@suse.de>:
12828         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
12829           daemon survive DBUS restarts, too.
12830
12831 2006-03-10  Robert Love  <rml@novell.com>
12832
12833         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
12834           passphrase or key.
12835         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12836           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
12837           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
12838           in response to "toggled" signal on new toggle.
12839
12840 2006-03-10  Robert Love  <rml@novell.com>
12841
12842         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12843           serialization if strings are NULL, lest DBUS get angry.
12844
12845 2006-03-10  Robert Love  <rml@novell.com>
12846
12847         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12848
12849 2006-03-09  Robert Love  <rml@novell.com>
12850
12851         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12852           configurations.
12853
12854 2006-03-09  Dan Williams  <dcbw@redhat.com>
12855
12856         Track pending call requests in the applet, and report how many are
12857         outstanding, and how long each completed one takes.
12858         
12859         * gnome/applet/applet-dbus-devices.c
12860           gnome/applet/applet-dbus-vpn.c
12861                 - Track pending calls
12862
12863         * gnome/applet/applet-dbus.[ch]
12864                 - Remove some unused enums
12865                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12866                         new functions to track dbus pending calls and spit out some
12867                         statistics about them
12868
12869 2006-03-09  Robert Love  <rml@novell.com>
12870
12871         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12872           nm_ap_set_timestamp() take the second and micro-second parameters as
12873           direct arguments, which avoids both a dynamic memory allocation and a
12874           structure-to-structure copy!  Add a new interface, the aptly named
12875           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12876           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12877           the return from nm_ap_get_timestamp().  New users should use the new
12878           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12879           the extreme benefit to performance.
12880         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12881           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12882
12883 2006-03-08  Robert Love  <rml@novell.com>
12884
12885         * gnome/applet/applet.glade: Hide the password entry text with
12886           asterisks.
12887
12888 2006-03-08  Robert Love  <rml@novell.com>
12889
12890         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12891           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12892           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12893           a second argument, NMData.
12894         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12895         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12896           config files as trusted.
12897
12898 2006-03-06  Robert Love  <rml@novell.com>
12899
12900         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12901         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12902           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12903           Rivera, detect if the applet was auto-started.  If so, ask the user
12904           if he or she would like to stop automatically running the applet on
12905           login.  If so, disable autostart.
12906
12907 2006-03-06  Robert Love  <rml@novell.com>
12908
12909         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12910           directory in CFLAGS so developers can actually use NetworkManager.h.
12911
12912 2006-03-06  Robert Love  <rml@novell.com>
12913
12914         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12915           open-coded integer constants.  Add state_to_string() to map a given
12916           state to a textual description, and provide that when notifying of
12917           state change.
12918         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12919           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12920           this header directly, but it is currently not installed on most
12921           systems.
12922
12923 2006-03-05  Dan Williams  <dcbw@redhat.com>
12924
12925         Process netlink messages in device subclasses rather than in
12926         NetworkManager.c.  Also add support for recognizing Wireless Events.
12927         
12928         * configure.in
12929                 - Find GLIB_GENMARSHAL
12930
12931         * src/Makefile.am
12932                 - Since we're marshalling custom types for wireless event signals,
12933                         we get to create our own marshallers using GLIB_GENMARSHAL
12934
12935         * src/NetworkManager.c
12936                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12937                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12938                         cut down somewhat.  We no longer process signals here.
12939                 - (nm_data_new): create the netlink monitor here, and remove a
12940                         useless call to nm_policy_schedule_device_change_check()
12941                 - (nm_data_free): get rid of the netlink monitor here
12942                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12943                 - (main): don't create the netlink monitor here, let nm_data_new
12944                         do that.  Call nm_policy_schedule_device_change_check() right
12945                         before we jump to the mainloop to figure out which device
12946                         to use first
12947
12948         * src/NetworkManagerSystem.[ch]
12949                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12950                         convert back and forth from interface names to interface
12951                         indexes
12952
12953         * src/nm-device-802-11-wireless.c
12954                 - (real_init): connect to wireless-event signals from the netlink
12955                         monitor object
12956                 - (nm_device_802_11_wireless_event): new function, schedule handler
12957                         for wireless event signals from the netlink monitor object.  We
12958                         want the handler to run in the device's context
12959                 - (wireless_event_helper): handle wireless-event signals from netlink
12960                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12961                         signal handler
12962
12963         * src/nm-device-802-11-wireless.h
12964                 - remove unused prototype for nm_device_802_11_wireless_new
12965
12966         * src/nm-device-802-3-ethernet.c
12967                 - (real_init): new function; set up signal handlers for link events
12968                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12969                         handler for netlink link activated events on device's main loop
12970                 - (link_activated_helper): when we get a link activated event, set
12971                         the device's link to be active
12972                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12973                         handler for netlink link deactivated events on device's main loop
12974                 - (link_deactivated_helper): when we get a link deactivated event, set
12975                         the device's link to be inactive
12976                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12977                         dispose
12978
12979         * src/nm-device-802-3-ethernet.h
12980                 - remove unused prototype for nm_device_802_3_ethernet_new
12981
12982         * src/nm-device.[ch]
12983                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12984                         but locks the device list
12985                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12986
12987         * src/nm-netlink-monitor.[ch]
12988                 - (nm_netlink_monitor_class_install_signals): New signal
12989                         "wireless-event"
12990                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12991                         at the device list
12992                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12993
12994         * src/nm-marshal-main.c
12995                 - Include generated nm-marshal.c and nm-marshal.h
12996
12997         * src/nm-marshal.list
12998                 - List of custom marshal functions
12999
13000 2006-03-05  Dan Williams  <dcbw@redhat.com>
13001
13002         * gnome/applet/applet-notifications.h
13003                 - Protect prototype of nma_send_event_notification() because it
13004                         includes libnotify-specific types
13005                 - Include libnotify/libnotify.h too, since we technically need it
13006
13007         * gnome/applet/applet.c
13008                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
13009                 - (nma_show_vpn_login_banner_dialog): add some error checking
13010
13011 2006-03-04  Dan Williams  <dcbw@redhat.com>
13012
13013         Clean up activation cancellation.  Should be a lot faster now.  Observed
13014         an issue with wireless devices between stage 2 and 3 of activation, where
13015         activation would be cancelled, but the device thread wouldn't notice until
13016         the supplicant association timed out.  Reorganize activation such that
13017         a cancellation handler gets immediately scheduled in the device's thread,
13018         and devices have a chance to perform any custom cleanup too.
13019
13020         * src/nm-device.[ch]
13021                 - (activation_cancel_handler): new device-type-specific function
13022                         for cleaning up device-type-specific stuff on cancellation
13023                 - (cancel_activation): removed
13024                 - (nm_device_activation_cancel): subsume functionality of
13025                         real_cancel_activation, but instead of doing anything, punt
13026                         operation to a handler that's run in device-thread context
13027                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
13028                         a warning message
13029                 - (activation_handle_cancel_helper): cancellation handler run in
13030                         device-thread context, calls device-type-specific cancelation,
13031                         then tears down the activation request
13032                 - (real_activation_cancel_handler): generic cancellation handler,
13033                         deals with cancelling any in-process DHCP request
13034                 - (nm_device_activate_stage1_device_prepare,
13035                    nm_device_activate_stage2_device_config,
13036                    nm_device_activate_stage3_ip_config_start,
13037                    nm_device_activate_stage4_ip_config_get,
13038                    nm_device_activate_stage4_ip_config_timeout,
13039                    nm_device_activate_stage5_ip_commit): don't call
13040                         nm_device_schedule_activation_handle_cancel() any more, since
13041                         cancellation will have been already scheduled for us by
13042                         nm_device_activation_cancel().  Just exit the function and
13043                         assume that the cancel handler will be called next.
13044
13045         * src/nm-device-802-3-ethernet.c
13046                 - (real_act_stage2_config): remove; didn't do anything anyway
13047
13048         * src/nm-device-802-11-wireless.c
13049                 - (supplicant_status_cb): ensure we don't do anything if the activation
13050                         got cancelled
13051                 - (real_activation_cancel_handler): implement; cancel user key request
13052                         on activation cancellation
13053
13054 2006-03-04  Dan Williams  <dcbw@redhat.com>
13055
13056         * src/nm-device-802-11-wireless.c
13057                 - (supplicant_send_network_config): assume that drivers that don't
13058                         support WPA pretty much suck, and can't handle NM scanning
13059                         along with wpa_supplicant.
13060
13061 2006-03-03  Robert Love  <rml@novell.com>
13062
13063         * configure.in: Bump version to 0.6.0.
13064         * NEWS: Update.
13065
13066 2006-03-03  Robert Love  <rml@novell.com>
13067
13068         * configure.in: Require DBUS 0.60 or later.
13069
13070 2006-03-03  Dan Williams  <dcbw@redhat.com>
13071
13072         Fix a crash if an "Other wireless network" was chosen, failed, then
13073         chosen again from the applet's menu.  If the other network wasn't
13074         noticed in a scan, it wouldn't have any capabilities, but would still
13075         be listed because the user forced the network.  To fix this, we set
13076         sensible capabilities on the forced network, which will get overwritten
13077         with the correct ones if the network shows up later in a scan.
13078         
13079         * src/nm-ap-security.h
13080                 - Add a new "get_default_capabilities_func" member to the
13081                         NMAPSecurity class
13082
13083         * src/nm-ap-security.c
13084                 - (nm_ap_security_get_default_capabilities): new function
13085
13086         * src/nm-ap-security.c
13087           src/nm-ap-security-wep.c
13088           src/nm-ap-security-wpa-psk.c
13089           src/nm-ap-security-wpa-eap.c
13090                 - Implement get_default_capabilities_func() for all, which
13091                         uses the information contained in a specific NMAPSecurity
13092                         object to determine default AP capabilites necessary
13093                         to support that object
13094
13095         As a secondary measure, we now prune artificial access points that fail
13096         to be activated right away.  The thing failed, and we have no scan data for
13097         it, so it's pretty much useless since security information is only saved
13098         in the applets when a connection is successful.
13099
13100         * src/NetworkManagerAPList.c
13101                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
13102                         not artificial.  If we see it, it's no longer a figment of the
13103                         user's imagination :)
13104
13105         * src/NetworkManagerPolicy.c
13106                 - (nm_policy_activation_failed): send along the failed AP if we
13107                         have it
13108
13109         * src/nm-device-802-11-wireless.c
13110                 - (real_activation_failure_handler): remove artificial APs from
13111                         the device list, because activation failed
13112
13113 2006-03-02  Robert Love  <rml@novell.com>
13114
13115         Add support for retrieving both the per-device speed and the
13116         per-network maximum supported rate.  Then change the getProperties
13117         DBUS API for both networks and devices to report this informaiton.
13118         Finally, display the information via both nm-applet and nm-tool:
13119         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
13120           and set it.
13121         * gnome/applet/applet.c: Display the device's speed in the 'Connection
13122           Information' dialog.
13123         * gnome/applet/applet.glade: Update the UI to show per-device speed.
13124         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
13125           network_device_get_speed() and network_device_set_speed() for
13126           retrieving and setting, respectively, a network device's current
13127           speed.
13128         * src/nm-dbus-device.c: Send the device's speed on getProperties.
13129         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
13130           in the function nm_device_802_11_wireless_get_bitrate() -- it does
13131           not matter (yet) what the units are, because we only feed it its own
13132           output.  Implement SIOCGIRATE and set the per-network maximum
13133           supported rate during scanning.
13134         * src/nm-device-802-11-wireless.h: Export the function
13135           nm_device_802_11_wireless_get_bitrate().
13136         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
13137           function nm_device_802_3_ethernet_get_speed() for returning an
13138           802.3's current speed, in Mb/s.
13139         * test/nm-tool.c: Display the per-device current speed, if available,
13140           and the per-network maximum rate.
13141
13142 2006-03-02  Dan Williams  <dcbw@redhat.com>
13143
13144         * src/nm-device-802-11-wireless.c
13145                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
13146                         card when it gets initialized.  Since devices don't get added to
13147                         the scan list until they are initialized, this function wasn't
13148                         setting the intitial scan interval correctly, and was leaving
13149                         it at 0.  This caused cards to get many scan requests in a short
13150                         amount of time when they were initialized
13151
13152 2006-03-02  Robert Love  <rml@novell.com>
13153
13154         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
13155           active device.  But do not do what we used to do and override the
13156           state, which caused the dreaded icon race of '05.
13157
13158 2006-03-02  Robert Love  <rml@novell.com>
13159
13160         Commit Dan's update of my previous commit:
13161         * src/nm-device-802-11-wireless.c: Always set the mode, because the
13162           set_mode() function itself does the check.  But do only set the
13163           frequency if in Ad-Hoc mode.
13164
13165 2006-03-02  Robert Love  <rml@novell.com>
13166
13167         Patch by Brian Magnuson <magnuson@rcn.com>:
13168         * src/nm-device-802-11-wireless.c: During scanning, only set the
13169           wireless mode to infrastructure if it is not currently in
13170           infrastructure mode.  For some driver, setting the mode is a costly
13171           operation, apparently.
13172
13173 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
13174
13175         * Makefile.am: use the correct dir for autostart mechanism.
13176
13177 2006-02-28  Dan Williams  <dcbw@redhat.com>
13178
13179         Patch from Brian Magnuson <magnuson@rcn.com>
13180         * gnome/applet/applet.c
13181                 - (nma_show_vpn_failure_dialog): fix errors left over from
13182                         libnotify support changes
13183
13184 2006-02-28  Dan Williams  <dcbw@redhat.com>
13185
13186         * src/vpn-manager/nm-vpn-act-request.[ch]
13187                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
13188                         just one value
13189                 - (nm_vpn_act_request_is_failed): new function; return whether or
13190                         not the vpn activation request has failed
13191
13192         * src/vpn-manager/nm-vpn-manager.c 
13193                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
13194                         daemon to kill the connection when the activation request fails.
13195                         Fixes issue where NM would get confused if the VPN activation
13196                         request timed out, and would not allow further VPN connections
13197                         on that service.
13198
13199 2006-02-28  Dan Williams  <dcbw@redhat.com>
13200
13201         * gnome/applet/applet.c
13202                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
13203                         overlapping connection requests, disable all VPN menu items
13204                         but the active VPN connection
13205
13206 2006-02-28  Dan Williams  <dcbw@redhat.com>
13207
13208         * src/vpn-manager/nm-vpn-connection.c
13209                 - (nm_vpn_connection_set_parent_device): fix C&P error which
13210                         called g_object_unref() on the connection's parent device
13211                         when it should have been ref-ed instead.  Fixes crash with
13212                         repeated vpn connect requests
13213
13214 2006-02-28  Christopher Aillon  <caillon@redhat.com>
13215
13216         * gnome/applet/applet.glade:
13217         Mark a few strings non-translatable, since they shouldn't be.
13218
13219 2006-02-28  Dan Williams  <dcbw@redhat.com>
13220
13221         * src/vpn-manager/nm-vpn-service.c
13222                 - (nm_vpn_service_start_connection): if the vpn service daemon is
13223                         already running, don't blindly ask it to connect, but wait until
13224                         it's in the STOPPED state first.  Fixes an assertion when user
13225                         starts a second vpn connection without stopping the first.
13226                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
13227                         dbus service exists before continuing with the connection
13228                         process, and reduce latency while waiting for it to become
13229                         available
13230                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
13231                         waiting for the vpn service daemon to become available
13232                 - General log message cleanups; show progress via "Stage x of 4"
13233                         rather than not telling anyone how many stages there are
13234
13235 2006-02-28  Robert Love  <rml@novell.com>
13236
13237         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
13238         * src/backends/NetworkManagerSuSE.c: Implement the interface
13239           nm_system_should_modify_resolv_conf() for SUSE.
13240         * src/backends/NetworkManagerDebian.c,
13241           src/backends/NetworkManagerGentoo.c,
13242           src/backends/NetworkManagerRedHat.c,
13243           src/backends/NetworkManagerSlackware.c: Add stub.
13244         * src/named-manager/Makefile.am: Grab includes from src.
13245         * src/named-manager/nm-named-manager.c: Allow backends to disable the
13246           automatic updating of resolv.conf.  This is useful for testing,
13247           broken static configurations, and administrator lock-down.
13248
13249 2006-02-28  Dan Williams  <dcbw@redhat.com>
13250
13251         * src/nm-device-802-11-wireless.c
13252                 - Move all the wpa_supplicant-related management stuff into its
13253                         own struct, just for oranization's sake
13254                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
13255                         to a GIOChannel/GSource
13256                 - (supplicant_log_stdout): new function; grab output from the
13257                         wpa_supplicant stdout pipe and write it to our logs.
13258
13259 2006-02-27  Christopher Aillon  <caillon@redhat.com>
13260
13261         * src/nm-device-802-11-wireless.c:
13262         Err, fix thinko in my previous commit.
13263
13264 2006-02-28  Robert Love  <rml@novell.com>
13265
13266         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
13267
13268 2006-02-28  Robert Love  <rml@novell.com>
13269
13270         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
13271           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
13272           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
13273           deserializers are responsible for freeing the returned DBUS strings.
13274
13275 2006-02-27  Christopher Aillon  <caillon@redhat.com>
13276
13277         * src/nm-device-802-11-wireless.c:
13278         The scan list is being pruned prematurely.  We should prune after
13279         the device has gone MIA for three scans, not one.  Split out the
13280         interval to realtime seconds function to better serve this.
13281
13282 2006-02-27  Robert Love  <rml@novell.com>
13283
13284         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
13285           Open the pid file O_TRUNC, so if it already exists we truncate it to
13286           zero length.  Also, be more verbose about warnings generated during
13287           writing out the pid file.  Finally, always write out the pid file if
13288           in daemon mode.  Use "--pid-file" to override the default.
13289
13290 2006-02-27  Robert Love  <rml@novell.com>
13291
13292         Patch by R. Vinay <rvinay@novell.com>:
13293         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
13294           'last_attempt_success' when removing a VPN connection, too.  (Fixes
13295           Novell bug #153628).
13296           
13297 2006-02-27  Robert Love  <rml@novell.com>
13298
13299         * gnome/applet/applet.glade: Set "activates_default" on passphrase
13300           entry so user can hit <ENTER> after entering passphrase (Novell bug
13301           #153738).
13302
13303 2006-02-27  Dan Williams  <dcbw@redhat.com>
13304
13305         * gnome/applet/*
13306                 - Mass search/replace of:
13307                         nmwa -> nma
13308                         NMWirelessApplet -> NMApplet
13309                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
13310                    (it ain't just for wireless anymore, ma!)
13311                 - Fix duplicate function name printing when using nm_warning
13312                 - wireless-applet.glade -> applet.glade
13313
13314 2006-02-27  Dan Williams  <dcbw@redhat.com>
13315
13316         * dispatcher-daemon/NetworkManagerDispatcher.c
13317                 - Accept --pid-file with a path to a pidfile, write it out on
13318                         startup, and delete it on shutdown
13319
13320         * src/NetworkManager.c
13321                 - Accept --pid-file with a path to a pidfile, write it out on
13322                         startup, and delete it on shutdown
13323                 - Move nm_print_usage() lower
13324
13325         * initscripts/RedHat/NetworkManager.in
13326                 - Use new --pid-file option
13327                 - Fix service stopping to wait a bit for NM to quit
13328
13329         * initscripts/RedHat/NetworkManagerDispatcher.in
13330                 - Use new --pid-file option
13331
13332 2006-02-26  Dan Williams  <dcbw@redhat.com>
13333
13334         * src/Makefile.am
13335                 - make and install nm-crash-logger
13336
13337         * src/nm-logging.[ch]
13338                 - New files; consolidate logging and crash handling
13339
13340         * src/nm-crash-logger.c
13341           src/gdb-cmd
13342                 - Standalong crashlogger for NM, grab a backtrace
13343                         using GDB
13344
13345         * src/NetworkManager.[ch]
13346                 - Remove signal handling and put it into nm-logging.c
13347
13348 2006-02-26  Dan Williams  <dcbw@redhat.com>
13349
13350         * configure.in
13351           gnome/applet/Makefile.am
13352                 - Conditionalize all the notify stuff
13353
13354         Merge most of Chris Aillon's notification patch:
13355         
13356         * gnome/applet/applet-notifications.[ch]
13357                 - New files; show a notification
13358         
13359         * gnome/applet/applet-dbus-devices.[ch]
13360                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
13361                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
13362                         new functions, do the right thing when a device change occurs
13363
13364         * gnome/applet/applet-dbus.c
13365                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
13366                         signals, so we can handle them specially
13367
13368         * gnome/applet/applet.[ch]
13369                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
13370                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
13371                 - (nmwa_notify_state): remove
13372                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
13373                         notification work is now done when the appropriate dbus signals
13374                         are received.
13375                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
13376                         defer execution of the notification/dialog stuff.  That was an
13377                         artifact of the previous multi-threaded nature of the applet
13378                         and is now pointless.
13379                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
13380                         no longer needed.  Function folded into applet-notifications.c
13381
13382         * src/NetworkManagerPolicy.c
13383                 - (nm_policy_activation_finish): send the AP along with the device
13384                         status change signal, if the connection is wireless.  Should
13385                         fix the race where applet would show a connection to "unknown"
13386
13387 2006-02-25  Robert Love  <rml@novell.com>
13388
13389         Add WPA Enterprise support:
13390         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
13391           nm-gconf-wso-wpa-eap.h.
13392         * gnome/applet/nm-gconf-wso-wpa-eap.c,
13393           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
13394           serialization and deserialization.
13395         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13396           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
13397           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
13398         * gnome/applet/wireless-applet.glade: Add UI for configurating security
13399           settings related to WPA Enterprise.
13400         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
13401           instantiate WPA Enterprise wireless-security-option.
13402         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
13403           Implement WPA Enterprise wireless-security-option object.
13404         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
13405           defines.  Cleanup.
13406         * libnm-util/cipher-wpa-psk-hex.c,
13407           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
13408         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
13409           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
13410           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
13411           including the cipher to DBUS method, and
13412           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
13413           to output.
13414         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
13415           nm-ap-security-wpa-eap.h
13416         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
13417           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
13418         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
13419           files.  Implement NMAPSecurityWPA_EAP object.
13420         * src/nm-ap-security-wpa-psk.c: Cleanup.
13421         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
13422           an NMAPSecurityWPA_EAP object via the method
13423           nm_ap_security_wpa_eap_new_deserialize().
13424         * src/nm-dbus-nm.c: Cleanup.
13425         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
13426           WPA Enterprise support.
13427
13428 2006-02-24  Robert Love  <rml@novell.com>
13429
13430         Patch from Timo Hoenig <thoenig@suse.de>:
13431         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
13432
13433 2006-02-24  Robert Love  <rml@novell.com>
13434
13435         Patch from Dan Winship <danw@novell.com>:
13436         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
13437           area to transparent.
13438
13439 2006-02-21  Dan Williams  <dcbw@redhat.com>
13440
13441         * gnome/applet/applet.[ch]
13442           gnome/applet/applet-dbus.c
13443                 - Implement notification support for VPN messages too
13444
13445 2006-02-21  Dan Williams  <dcbw@redhat.com>
13446
13447         * gnome/applet/applet-dbus-info.c
13448                 - Clean up warning messages to not double-print the function
13449
13450 2006-02-21  Dan Williams  <dcbw@redhat.com>
13451
13452         * gnome/applet/applet-compat.c
13453                 - (convert_one_entry): accept entries without a key_type and
13454                         convert them to unencrypted networks
13455
13456 2006-02-21  Dan Williams  <dcbw@redhat.com>
13457
13458         * gnome/libnm_glib/libnm_glib.c
13459                 - Use __func__ everywhere we can
13460                 - Code cleanups
13461                 - Use dbus pending calls rather than blocking
13462                 - Reduce busywaits for our thread to start and stop
13463                         (gnome.org #330562)
13464                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
13465                         stomp on others using the default shared dbus connection.
13466                         Fixes #rh177546# and gnome.org #326572
13467
13468 2006-02-21  Dan Williams  <dcbw@redhat.com>
13469
13470         Patch from Rodney Dawes <dobey@novell.com>
13471         * configure.in
13472           gnome/applet/Makefile.am
13473           gnome/applet/applet.c
13474                 - Add libnotify support if '--enable-notify=yes' is passed
13475                   at configure time
13476
13477 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
13478
13479         * configure.in (ALL_LINGUAS): ko added. (Korean)
13480
13481 2006-02-15  Robert Love  <rml@novell.com>
13482
13483         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
13484           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
13485           and WPA_SUPPLICANT_CONTROL_SOCKET.
13486         
13487 2006-02-15  Robert Love  <rml@novell.com>
13488
13489         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
13490           information about what connection stage we are at, provide the total
13491           number of stages, e.g. "Stage 2 of 5", so users know how far along
13492           they are if they experience problems.
13493
13494 2006-02-15  Robert Love  <rml@novell.com>
13495
13496         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
13497           define to $sysconfdir.
13498         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
13499           editing dialog, vpn_edit_widget, which fixes a bug where editing one
13500           type of VPN and then editing another results in a mangled dialog
13501           box containing the widgets from both VPNs (fixes Novell #150854).
13502           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
13503
13504 2006-02-14  Robert Love  <rml@novell.com>
13505
13506         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
13507           syslog's file descriptor.
13508
13509 2006-02-14  Robert Love  <rml@novell.com>
13510
13511         Fix bug around since the change to "deal with APs changing settings on
13512         us," checked in on the fifth of February in the year of the dog, 
13513         wherein connecting to non-broadcast encrypted networks always fails
13514         because nm_ap_get_encrypted() always returns FALSE, even when the user
13515         provided a key, because the newly-created fake AP does not have any
13516         capabilities set, which is a sypmtom of security settings not matching
13517         capabilities (Novell bug #150784):
13518         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
13519           nm_ap_add_capabilities_from_security(), which sets the given AP's
13520           capabilities off the given security settings.  Also improve our
13521           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
13522           NM_AUTH_CIPHER_AUTO.
13523         * src/nm-device-802-11-wireless.c: Call the function
13524           nm_ap_add_capabilities_from_security() to ensure that capabilities
13525           match newly updated security settings.
13526
13527 2006-02-14  Robert Love  <rml@novell.com>
13528
13529         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
13530           error as a string, not an integer, if possible; do not print the
13531           function name twice; always give the interface, if possible; misc.
13532           cleanup.
13533
13534 2006-02-12  Dan Williams  <dcbw@redhat.com>
13535
13536         Patch from Tom Parker <palfrey@tevp.net>
13537         * src/NetworkManagerSystem.h
13538                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
13539                         no longer used
13540
13541         * src/backends/NetworkManagerDebian.c
13542                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
13543                         unused variables
13544
13545 2006-02-12  Dan Williams  <dcbw@redhat.com>
13546
13547         * vpn-daemons/openvpn/intltool-extract.in
13548           vpn-daemons/openvpn/intltool-merge.in
13549           vpn-daemons/openvpn/intltool-update.in
13550           vpn-daemons/pptp/intltool-extract.in
13551           vpn-daemons/pptp/intltool-merge.in
13552           vpn-daemons/pptp/intltool-update.in
13553                 - Remove from CVS, they should get created by intltoolize,
13554                         shouldn't they?
13555
13556 2006-02-12  Dan Williams  <dcbw@redhat.com>
13557
13558         * vpn-daemons/pptp/src/pppd/patchlevel.h
13559         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13560                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
13561                         Makefile-defined VERSION
13562
13563 2006-02-09  Dan Williams  <dcbw@redhat.com>
13564
13565         Patch from: Vinay A R <rvinay@novell.com>
13566         * src/vpn-manager/nm-vpn-act-request.[ch]
13567                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
13568                         IPSec VPNs require them for std gateway.
13569                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
13570                         and 'user_routes_count'
13571                 - (nm_vpn_act_request_get_user_routes): new function; gets user
13572                         defined routes  from NMVPNActRequest object, returns the string
13573                         array of routes.
13574
13575         * src/vpn-manager/nm-vpn-manager.[ch]
13576                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
13577                         for 'user_routes' and 'user_routes_count'
13578         
13579         * src/vpn-manager/nm-dbus-vpn.c
13580                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
13581                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
13582         
13583         * src/vpn-manager/nm-vpn-service.c
13584                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
13585                         the vpn daemon
13586
13587         Modifications by Dan:
13588         * src/vpn-manager/nm-vpn-service.c
13589                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
13590                         arrays into dbus
13591
13592         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13593         * vpn-daemons/pptp/src/nm-pptp-service.c
13594         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13595                 - Grab user routes from dbus message
13596                 - Free all string arrays we got from dbus
13597
13598 2006-02-07  Robert Love  <rml@novell.com>
13599
13600         Patch by Stefan Seyfried <seife@suse.de>:
13601         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
13602
13603 2006-02-06  Robert Love  <rml@novell.com>
13604
13605         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
13606
13607 2006-02-06  Robert Love  <rml@novell.com>
13608
13609         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
13610           test ">=" is never false.  If no newline is found, we loop forever.
13611           We can just check for ">" because the following if() will see the
13612           zero-th argument if the while() gets that far.
13613
13614 2006-02-05  Dan Williams  <dcbw@redhat.com>
13615
13616         Refine handling of non-broadcast networks.
13617
13618         * src/NetworkManagerAPList.c
13619                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
13620                         property from scanned AP to the AP from the device list
13621
13622         * src/nm-device-802-11-wireless.c
13623                 - (supplicant_send_network_config): use ap_scan=1 for all networks
13624                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
13625                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
13626                         networks since those don't have APs.
13627                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
13628                         AP as non-SSID-broadcasting
13629                 - (process_scan_results): don't handle non-SSID-broadcasting here
13630
13631 2006-02-05  Dan Williams  <dcbw@redhat.com>
13632
13633         * src/nm-device-802-11-wireless.c
13634                 - (get_supplicant_timeout): new function; return
13635                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
13636                         14 channels.  These are likely a/b/g cards, like Atheros, and
13637                         slow as hell to scan.
13638                 - (supplicant_timeout_cb, supplicant_monitor_start): use
13639                         get_supplicant_timeout()
13640
13641 2006-02-05  Dan Williams  <dcbw@redhat.com>
13642
13643         * src/dhcp-manager/nm-dhcp-manager.c
13644                 - Loose a commit race with Robert; make sure size check
13645                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
13646
13647 2006-02-05  Robert Love  <rml@novell.com>
13648
13649         Patch by Christoph Brill <chrisbrill@gmx.net>:
13650         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
13651           with DHCP_SERVICE_NAME.
13652
13653 2006-02-05  Dan Williams  <dcbw@redhat.com>
13654
13655         Remove anything having to do with device_setup_func from the
13656         AP security objects, since it's no longer used.
13657
13658         * src/nm-ap-security.h
13659                 - Kill device_setup_func and nm_ap_security_device_setup()
13660
13661         * src/nm-ap-security-wep.c
13662           src/nm-ap-security-wpa-psk.c
13663                 - (real_device_setup): remove
13664
13665         * src/nm-ap-security.c
13666                 - (real_device_setup): remove
13667                 - (nm_ap_security_device_setup): remove
13668
13669         * src/nm-device-802-11-wireless.[ch]
13670                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
13671                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
13672                         and done by wpa_supplicant now anyway
13673
13674 2006-02-05  Dan Williams  <dcbw@redhat.com>
13675
13676         * src/nm-device-802-11-wireless.c
13677                 - (ap_need_key, real_act_stage2_config): deal with APs changing
13678                         settings on us.  Previously NM would loop asking for the
13679                         key but getting the same one back.  Now, if the NMI-supplied
13680                         cipher doesn't overlap with the scanned AP capabilities,
13681                         we request a completely new key from the user.
13682
13683 2006-02-05  Dan Williams  <dcbw@redhat.com>
13684
13685         * src/NetworkManagerUtils.c
13686                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
13687                         Handle newline killing better
13688
13689 2006-02-05  Dan Williams  <dcbw@redhat.com>
13690
13691         * gnome/applet/nm-gconf-wso.c
13692                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
13693                         of unencrypted access point security info.
13694
13695 2006-02-03  Robert Love  <rml@novell.com>
13696
13697         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
13698           user's encryption key, so we print the err_msg_cmd not the command,
13699           if available.  So long as SUPPLICANT_DEBUG is default, this makes
13700           sense.
13701
13702 2006-02-03  Christopher Aillon  <caillon@redhat.com>
13703
13704         * initscript/RedHat/NetworkManagerDispatcher.in:
13705         * initscript/RedHat/NetworkManager.in: modify the pidfile location
13706         Patch from Dan Walsh <dwalsh@redhat.com>
13707
13708 2006-02-03  Robert Love  <rml@novell.com>
13709
13710         * dispatcher-daemon/NetworkManagerDispatcher.c,
13711           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
13712           but use the sysconfdir.
13713
13714 2006-02-03  Robert Love  <rml@novell.com>
13715
13716         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
13717           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
13718           'char *'.
13719         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
13720           nm_ip4_config_get_hostname() and
13721           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
13722         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
13723           leak g_strdup() result.
13724
13725 2006-02-03  Robert Love  <rml@novell.com>
13726
13727         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
13728           broadcast == TRUE.  Also, copy broadcast and artificial properties
13729           from source network to destination in nm_ap_copy().
13730         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
13731           since we now default new networks to non-hidden.
13732
13733 2006-02-03  Dan Williams  <dcbw@redhat.com>
13734
13735         * gnome/applet/main.c
13736                 - (main): change the NEVER->ALWAYS so we start at the
13737                         beginning of the session, if being session-managed
13738
13739 2006-02-03  Dan Williams  <dcbw@redhat.com>
13740
13741         * gnome/applet/main.c
13742                 - (main): in a variation on Robert's patch, change
13743                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
13744                         he wants.
13745
13746 2006-02-02  Robert Love  <rml@novell.com>
13747
13748         * src/Makefile.am: If we aren't going to create the run directory at,
13749           uh, run-time, create it during install.  Then users just doing
13750           'make install' are cool, too.  While we are here, create the
13751           dispatcher.d directory, too.
13752         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
13753           the exact run directory.
13754         * Makefile.am: Install nm-applet.desktop.
13755
13756 2006-02-02  Robert Love  <rml@novell.com>
13757
13758         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
13759           structure, which denotes whether or not the AP is hidden.  This is a
13760           superset of 'artificial' -- we need 'broadcast' because a hidden AP
13761           can show up in the scan list.  Add nm_ap_get_broadcast() and
13762           nm_ap_set_broadcast() accessor interfaces.
13763         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
13764           nm_ap_set_broadcast().
13765         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
13766           "getProperties" method, which denotes whether or not the given
13767           network is hidden.
13768         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
13769           an artificial network.  Set broadcast to TRUE when scanning returns
13770           an ESSID and FALSE when not.
13771         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
13772           from "getProperties" method on a network.  Possible TODO is to
13773           somehow display this.
13774         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
13775
13776 2006-02-02  Dan Williams  <dcbw@redhat.com>
13777
13778         * src/nm-device-802-11-wireless.c
13779                 - (supplicant_interface_init): don't try to create
13780                         /var/run/NetworkManager, since that should be done by
13781                         the distro package.  Causes problems for stuff like SELinux
13782
13783 2006-02-02  Robert Love  <rml@novell.com>
13784
13785         Patch by Sureshkumar T <tsureshkumar@novell.com>:
13786         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
13787           Check for and handle empty string for iface.
13788
13789 2006-02-01  Robert Love  <rml@novell.com>
13790
13791         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
13792           manpage.
13793
13794 2006-01-31  Dan Williams  <dcbw@redhat.com>
13795
13796         * nm-applet.desktop
13797                 - Add --sm-disable to Exec arguments, presuming that when
13798                         using autostart, we don't want session management
13799
13800 2006-01-31  Robert Love  <rml@novell.com>
13801
13802         * src/NetworkManagerAP.c: Add two new manufacturer default network
13803           names: linksys-a and linksys-g.  These are found (at least) on the
13804           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
13805           own ESSID.
13806
13807 2006-01-31  Robert Love  <rml@novell.com>
13808
13809         * src/NetworkManagerAP.c: Optimize the function
13810           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
13811           machine code.  This is the first in a series of code tweaks aiming to
13812           generate better machine code and make NetworkManager all the better.
13813           Just kidding.  Who has time to go through the assembly generated for
13814           every function?  I certainly don't.  I have a wife, a kid, a job,
13815           a mortgage, a mistress.  But this function was so bad, I was called
13816           to arms.  Like the book.
13817
13818 2006-01-31  Robert Love  <rml@novell.com>
13819
13820         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
13821           AP is not broadcasting, to scan with probe request frames.  Required
13822           for non-broadcast networks.
13823
13824 2006-01-31  Robert Love  <rml@novell.com>
13825
13826         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
13827           preprocessor define (still 20s).  Fix message text in nm_info()
13828           s/too too/took too/.
13829
13830 2006-01-30  Dan Williams  <dcbw@redhat.com>
13831
13832         * src/nm-device-802-11-wireless.c
13833                 - (supplicant_monitor_start): increase connect/auth timeout to
13834                         20 seconds from 10 seconds
13835
13836 2006-01-30  Dan Williams  <dcbw@redhat.com>
13837
13838         * src/Makefile.am
13839                 - Define LOCALSTATEDIR
13840
13841         * src/nm-device-802-11-wireless.c
13842                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13843                         socket where we want it to
13844
13845         * src/wpa_ctrl.[ch]
13846                 - (wpa_ctrl_open): accept location to put local control socket
13847
13848 2006-01-30  Robert Love  <rml@novell.com>
13849
13850         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13851           get_ip4_string() for "domain_name".
13852
13853 2006-01-30  Robert Love  <rml@novell.com>
13854
13855         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13856           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13857           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13858           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13859           support for "Automatic" pairwise and group cipher configuration by
13860           letting wpa_supplicant handle the details.  Add UI elements, new
13861           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13862           charm.  Note this does more than add a nice feature, it fixes a bug.
13863           Apparently, some people have AP's where the pairwise cipher does not
13864           match the group cipher.  Insane, but true.
13865
13866 2006-01-30  Dan Williams  <dcbw@redhat.com>
13867
13868         * gnome/applet/applet-dbus-devices.c
13869                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13870                         functions, grab device driver name from NetworkManager
13871                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13872
13873         * gnome/applet/applet.c
13874                 - (nmwa_update_info): show driver name in Connection Information
13875                         dialog
13876
13877         * gnome/applet/nm-device.[ch]
13878                 - (network_device_get_driver, network_device_set_driver): add
13879                         accessors for driver name
13880
13881         * gnome/applet/wireless-applet.glade
13882                 - Add line for driver name to Connection Information dialog
13883
13884         * src/nm-dbus-device.c
13885                 - (nm_dbus_device_get_driver): new function to return driver name
13886                 - (nm_dbus_device_methods): hook up driver name function to dbus
13887
13888         * test/nm-tool.c
13889                 - (get_driver_name): new function
13890                 - (detail_device): grab and show driver name
13891
13892 2006-01-30  Robert Love  <rml@novell.com>
13893
13894         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13895           does not parse the markup if it is not part of the format.
13896
13897 2006-01-30  Robert Love  <rml@novell.com>
13898
13899         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13900           FALSE, we have no security options for this dialog, so we throw up
13901           an error dialog instead of a broken passphrase dialog.  Fixes
13902           Novell #138404.
13903         * gnome/applet/wireless-security-manager.c,
13904           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13905           does not add any security options, not even NONE, print a warning
13906           and return FALSE.  This let's functions constructing a dialog bail
13907           out if the device's capabilities and the network's requirements have
13908           zero overlap.
13909
13910 2006-01-27  Robert Love  <rml@novell.com>
13911
13912         * configure.in: Require wpa_supplicant.  Detect location of binary and
13913           use it.  Override with "--with-wpa_supplicant=foo".
13914         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13915           path to wpa_supplicant but use the auto-detected or user-provided
13916           value from configure.
13917
13918 2006-01-27  Robert Love  <rml@novell.com>
13919
13920         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13921           but the DHCP server did not return a hostname, try to look up our
13922           name via DNS and set the system hostname to that.
13923
13924 2006-01-27  Dan Williams  <dcbw@redhat.com>
13925
13926         * src/backends/NetworkManagerRedHat.c
13927                 - Add NM_CONTROLLED system network script support for RH/Fedora
13928
13929 2006-01-27  Dan Williams  <dcbw@redhat.com>
13930
13931         * src/backends/NetworkManagerGentoo.c
13932                 - (nm_system_device_get_disabled): add missing function.
13933                         Gnome BZ #328780
13934
13935 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13936
13937         * configure.in: Added vi in ALL_LINGUAS line.
13938         
13939 2006-01-26  Robert Love  <rml@novell.com>
13940
13941         * src/Makefile.am, src/kernel-types.h: Now that two different source
13942           files are feeling the crack-addled leakage of kernel types such as
13943           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13944           types in user-space -- define a header and include it as needed.
13945         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13946         * src/nm-device-802-3-ethernet.h: Remove defines.
13947         * src/wpa.c: Remove defines and include kernel-types.h.
13948
13949 2006-01-26  Robert Love  <rml@novell.com>
13950
13951         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13952           work.
13953
13954 2006-01-26  Robert Love  <rml@novell.com>
13955
13956         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13957         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13958           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13959           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13960           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13961           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13962           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13963           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13964           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13965           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13966           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13967           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13968           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13969           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13970           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13971           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13972           Kill unused variables, labels, and static functions.  Don't pass
13973           string literals as the format string for printf-like functions.
13974
13975 2006-01-25  Dan Williams  <dcbw@redhat.com>
13976
13977         * gnome/applet/wireless-applet.glade
13978                 - Remove WPA2 Checkbox
13979
13980         * gnome/applet/wireless-security-manager.c
13981                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13982                         This means the Wireless Security menu now has two WPA options,
13983                         one for "WPA Personal" and one for "WPA2 Personal"
13984
13985         * gnome/applet/wso-wpa-psk.[ch]
13986                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13987                         'wpa2' argument to determine WPA version to use
13988                 - (append_dbus_params_func): pass stored WPA version to cipher
13989                         rather than using the (removed) checkbox
13990
13991 2006-01-24  Robert Love  <rml@novell.com>
13992
13993         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13994           before we g_strdup(), not the ultimate string.
13995
13996 2006-01-23  Dan Williams  <dcbw@redhat.com>
13997
13998         * src/NetworkManagerAP.[ch]
13999                 - (nm_ap_new_from_ap): copy original essid too
14000                 - (nm_ap_unref): free original essid
14001                 - (nm_ap_get_orig_essid): new function
14002                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
14003                         but keep original essid around too
14004
14005         * src/nm-device-802-11-wireless.c
14006                 - (supplicant_send_network_config): send wpa_supplicant the
14007                         _original_ essid, and not as a string, but in hex.  Should
14008                         allow us to connect to more APs that use wierd character
14009                         encodings for their essids
14010
14011         * utils/nm-utils.[ch]
14012                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
14013                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
14014                         use the current locale as a hint for what encoding the essid
14015                         might be in.  Obviously not 100% accurate, but the idea here is
14016                         that if a user's locale is ex. ja_JP, they are more likely than
14017                         not to be in Japan, where access points will likely be in some
14018                         Japanese encoding.
14019
14020 2006-01-23  Dan Williams  <dcbw@redhat.com>
14021
14022         * libnm-util/cipher-private.h
14023           libnm-util/cipher.c
14024           libnm-util/cipher.h
14025                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
14026
14027 2006-01-23  Robert Love  <rml@novell.com>
14028
14029         Patch by Timo Hoenig <thoenig@suse.de>:
14030         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
14031           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
14032           by DHCP and pass it to the backends, allowing distribution-specific
14033           behavior with respect to the DHCP-supplied hostname (if nothing else,
14034           some distributions might not want to set the hostname).
14035         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
14036           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
14037           Also update our NIS behavior.
14038         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
14039           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
14040           Add stub functions.
14041
14042 2006-01-23  Robert Love  <rml@novell.com>
14043
14044         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
14045           gnome-session does autostart.  TODO: We need to install this to
14046           $prefix/share/autostart/.
14047
14048 2006-01-22  Dan Williams  <dcbw@redhat.com>
14049
14050         * src/NetworkManagerAP.[ch]
14051           src/nm-dbus-nmi.c
14052           src/nm-device-802-11-wireless.c         
14053                 - Make nm_ap_get_essid return "const char *"
14054
14055 2006-01-22  Dan Williams  <dcbw@redhat.com>
14056
14057         * src/NetworkManagerAP.[ch]
14058                 - (nm_ap_get_matched, nm_ap_set_matched): remove
14059
14060         * src/NetworkManagerAPList.[ch]
14061                 - (nm_ap_list_diff): removed
14062                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
14063                         deal with access points changing essids on us
14064
14065         * src/nm-device-802-11-wireless.c
14066                 - (add_new_ap_to_device_list): move AP dbus signal logic to
14067                         src/NetworkManagerAPList.c
14068                 - (real_can_interrupt_activation): new function; allow interruption
14069                         of device activation if we are waiting for a network key
14070
14071         * src/NetworkManagerPolicy.c
14072                 - (nm_policy_device_change_check): allow interruption of currently
14073                         activating devices if the device allows it.  Previous behavior
14074                         would refuse to activate a just-plugged wired device if a
14075                         wireless device was waiting for a key.
14076
14077         * src/nm-device.[ch]
14078                 - (nm_device_can_interrupt_activation): new function; ask devices
14079                         whether their activation can be interrupted
14080
14081 2006-01-20  Robert Love  <rml@novell.com>
14082
14083         * Makefile.am, configure.in: Add new man subdirectory.
14084         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
14085           man/Makefile.am: Add man pages for NetworkManager and its
14086           crime-solving bumbling buddy, NetworkManagerDispatcher.
14087         * man/.cvsignore: Add.
14088         * initscript/Debian/NetworkManager,
14089           initscript/Gentoo/NetworkManager.in,
14090           initscript/RedHat/NetworkManager.in,
14091           initscript/RedHat/NetworkManagerDispatcher.in,
14092           initscript/SUSE/networkmanager-dispatcher.in,
14093           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
14094
14095 2006-01-20  Robert Love  <rml@novell.com>
14096
14097         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
14098           instead of queuing.  This prevents the running of multiple NM
14099           daemons concurrently, which does not work whatsoever and results in
14100           neither daemon working correctly.  Also, we don't handle queuing and
14101           name-owner-changes, anyhow.
14102
14103 2006-01-20  Robert Love  <rml@novell.com>
14104
14105         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
14106         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
14107           to sbin, not bin.
14108
14109 2006-01-19  Robert Love  <rml@novell.com>
14110
14111         * configure.in: Require hal 0.5.0 or later.
14112
14113 2006-01-18  Robert Love  <rml@novell.com>
14114
14115         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
14116           Allow backends to flag a device (in whatever distro-dependent way
14117           they so desire) as disabled.  NM will ignore any such device.
14118         * src/backends/NetworkManagerDebian.c,
14119           src/backends/NetworkManagerRedHat.c,
14120           src/backends/NetworkManagerSlackware.c: Add stub function
14121           nm_system_device_get_disabled() that always returns FALSE (enabled).
14122         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
14123           SUSE-specific configuration structure.  Fill it in from the
14124           NM_CONTROLLED variable in the system networking scripts.  If this var
14125           exists and is "no", we ignore the device.
14126
14127 2006-01-17  Robert Love  <rml@novell.com>
14128
14129         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
14130           identical for NM.  For a full discussion, see the thread at
14131           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
14132
14133 2006-01-17  Dan Williams  <dcbw@redhat.com>
14134
14135         * src/nm-device.c
14136                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
14137                         function.  Fixes crash when wired DHCP fails.
14138
14139 2006-01-16  Robert Love  <rml@novell.com>
14140
14141         * src/Makefile.am: Don't install NMLoadModules
14142         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
14143           from src/ to test/ as no one uses it anymore.  Note that I would be
14144           fine with removing it altogether.
14145
14146 2006-01-16  Robert Love  <rml@novell.com>
14147
14148         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
14149           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
14150           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
14151           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
14152           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
14153           src/nm-netlink-monitor.c: Don't miss any initializers on structure
14154           declarations, ever.
14155         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
14156           NM_STATE_DISCONNECTED is zero).
14157
14158 2006-01-16  Robert Love  <rml@novell.com>
14159
14160         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
14161           uninitialized parameter and buffer overflow.  Novell #143496.
14162
14163 2006-01-16  Dan Williams  <dcbw@redhat.com>
14164
14165         Apply the PtP Address bits of a patch from Tim Niemueller
14166
14167         * src/nm-ip4-config.[ch]
14168                 - Add ip4_ptp_address member to object
14169                 - (nm_ip4_config_copy): copy ptp address too
14170                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
14171                         new functions
14172                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
14173                         rather than local tunnel ip address
14174
14175         * src/vpn-manager/nm-vpn-service.c
14176                 - (print_vpn_config): update for PtP address
14177                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
14178                         DBusMessageIters in preparation for getting routes from the VPN
14179                         service daemons too
14180
14181         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
14182                 - (send_config_info): update for PtP address, clean up code
14183                 - (main): update for PtP address, clean up code, fix typo
14184
14185         * vpn-daemons/openvpn/src/nm-openvpn-service.c
14186                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
14187
14188         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
14189                 - (pptp_ip_up): update for PtP address
14190
14191         * vpn-daemons/pptp/src/nm-pptp-service.c
14192                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
14193
14194         * vpn-daemons/vpnc/src/nm-vpnc-service.c
14195                 - (print_vpn_config): update for PtP address
14196                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
14197
14198 2006-01-16  Dan Williams  <dcbw@redhat.com>
14199
14200         * gnome/applet/applet.c
14201                 - (nmwa_add_networks_helper): don't indicate an active network
14202                         if NM is disconnected or asleep
14203
14204 2006-01-16  Dan Williams  <dcbw@redhat.com>
14205
14206         * src/NetworkManagerPolicy.c
14207                 - (nm_policy_device_change_check): switch devices if we lose the link
14208                         on an ethernet device. 
14209
14210 2006-01-16  Dan Williams  <dcbw@redhat.com>
14211
14212         * gnome/applet/wso-wpa-psk-hex.[ch]
14213                 - Renamed -> wso-wpa-psk.[ch]
14214
14215         * gnome/applet/wso-wpa-psk.[ch]
14216                 - New files
14217
14218         * gnome/applet/wso-wpa-psk-passphrase.[ch]
14219                 - Removed, rolled into wso-wpa-psk.[ch]
14220
14221         * gnome/applet/Makefile.am
14222                 - Updated for above changes
14223
14224         * gnome/applet/wireless-applet.glade
14225                 - Consolidate WPA-PSK options into one notebook
14226                         widget, and make dialogs invisible by default
14227                         to fix screen oddities
14228
14229         * gnome/applet/wireless-security-manager.c
14230                 - (wsm_set_capabilities): create the new wpa-psk widget rather
14231                         than both the old hex & passphrase ones
14232
14233 2006-01-16  Dan Williams  <dcbw@redhat.com>
14234
14235         * gnome/applet/other-network-dialog.c
14236                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
14237
14238 2006-01-16  Dan Williams  <dcbw@redhat.com>
14239
14240         * gnome/applet/applet.c
14241                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
14242                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
14243                         prevention to realize window before trying to get server
14244                         time
14245
14246         * gnome/applet/other-network-dialog.c
14247                 - (nmwa_other_network_dialog_run): fix up focus-stealing
14248                         prevention to realize window before trying to get server
14249                         time
14250
14251         * gnome/applet/passphrase-dialog.c
14252                 - (nmi_passphrase_dialog_new): fix up focus-stealing
14253                         prevention to realize window before trying to get server
14254                         time
14255
14256 2006-01-16  Robert Love  <rml@novell.com>
14257
14258         Patch from Timo Hoenig  <thoenig@suse.de:
14259         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
14260           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
14261           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
14262           libnm-util/dbus-helpers.h: add checks whether headers are used
14263           within a C++ build.
14264
14265 2006-01-16  Dan Williams  <dcbw@redhat.com>
14266
14267         * gnome/applet/wireless-security-option.c
14268                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
14269
14270 2006-01-16  Dan Williams  <dcbw@redhat.com>
14271
14272         * libnm-util/cipher-wpa-psk-passphrase.c
14273                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
14274                         be 8 - 63 characters inclusive
14275
14276 2006-01-16  Dan Williams  <dcbw@redhat.com>
14277
14278         * src/nm-dbus-nm.c
14279                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
14280
14281 2006-01-13  Robert Love  <rml@novell.com>
14282
14283         Patch by T Sureshkumar <tsureshkuman@novell.com>:
14284         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
14285           modules that do not use an interface.
14286
14287 2006-01-13  Dan Williams  <dcbw@redhat.com>
14288
14289         * src/nm-device.c
14290           src/nm-device.h
14291                 - Allow subclasses to implement deactivate_quickly()
14292                 - (nm_device_deactivate_quickly): call subclass
14293                         deactivate_quickly() methods
14294                 - (nm_device_set_active_link): small cleanups, and don't
14295                         deactivate the device right away because we risk a deadlock
14296                         when called from device thread, waiting for the device
14297                         thread to cancel activation
14298
14299         * src/nm-device-802-11-wireless.c
14300                 - (real_deactivate_quickly): new function
14301                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
14302                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
14303                         so that we kill the supplicant when we sleep too
14304                 - (supplicant_interface_init): work around naive naming attempts of
14305                         wpa_ctrl when naming sockets
14306
14307 2006-01-13  Dan Williams  <dcbw@redhat.com>
14308
14309         * src/nm-device-802-11-wireless.c
14310                 - (supplicant_cleanup): delete old device control sockets too
14311                 - (supplicant_get_device_socket_path): new function to consolidate
14312                         locations that need a path to a device's control socket
14313
14314 2006-01-12  Robert Love  <rml@novell.com>
14315
14316         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
14317           description so that the description is unique for each
14318           pair (device,provider).  Fixes Novell #142773.
14319
14320 2006-01-12  Dan Williams  <dcbw@redhat.com>
14321
14322         * src/nm-device-802-11-wireless.c
14323                 - (supplicant_exec): ensure GError is correctly initialized
14324                         Reported by Diego González (gnome.org #326708)
14325
14326 2006-01-11  Robert Love  <rml@novell.com>
14327
14328         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
14329           define if_mii(), open code the same results, and do so without any
14330           type punning.
14331
14332 2006-01-11  Robert Love  <rml@novell.com>
14333
14334         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
14335           that wso_foo_new() returned non-NULL.  Instead, only append the new
14336           wso to wsm->options if the wso is non-NULL.  The crux is that we
14337           assume that the relevant key types are implied by WEP and WPA as
14338           appropriate.  To be sure, they should be, but we should not expect
14339           drivers to not be oozing piles of wolf fecal matter.
14340
14341 2006-01-11  Robert Love  <rml@novell.com>
14342
14343         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
14344         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
14345           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14346           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
14347           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
14348           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
14349           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
14350         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
14351           comparing values within DBL_EPSILON.  Also fix shadowed variable
14352           usage.
14353
14354 2006-01-11  Dan Williams  <dcbw@redhat.com>
14355
14356         Add options for WPA2 and WPA1+CCMP (AES).
14357
14358         * gnome/applet/wireless-applet.glade
14359                 - Add UI bits for WPA+CCMP
14360
14361         * gnome/applet/other-network-dialog.c
14362                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
14363                         and don't allow creation of WPA2 Ad-Hoc networks since
14364                         wpa_supplicant doesn't support them
14365
14366         * gnome/applet/wireless-security-manager.c
14367                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
14368                         on to the specific wireless security option being created
14369
14370         * gnome/applet/wireless-security-option.[ch]
14371                 - (wso_wpa_create_key_type_model): new utility function to create
14372                         the model required for WPA Key Type combo box
14373
14374         * gnome/applet/wso-private.h
14375           gnome/applet/wireless-security-option.h
14376                 - Move private function prototypes into wso-private.h
14377
14378         * gnome/applet/wso-wpa-psk-hex.[ch]
14379           gnome/applet/wso-wpa-psk-passphrase.[ch]
14380                 - (append_dbus_params_func): get WPA version from checkbox and pass
14381                         it to the dbus serialization helper
14382                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
14383                         key type combo changes
14384                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
14385                         model and options
14386
14387         * libnm-util/cipher-wpa-psk-hex.c
14388           libnm-util/cipher-wpa-psk-passphrase.c
14389                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
14390                         new function; allow the cipher to be changed after object creation
14391
14392         * src/nm-ap-security-wpa-psk.c
14393                 - (set_description): Do WPA2 descriptions too
14394
14395         * src/nm-ap-security.c
14396                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
14397
14398 2006-01-11  Robert Love  <rml@novell.com>
14399
14400         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
14401           is defined in <linux/mii.h> to return the mii_ioctl_data structure
14402           from the ifreq structure in lieu of an open coded solution.  Removes
14403           a life-threatening type-punning.
14404         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
14405           types, ever, whatsoever, baby.
14406
14407 2006-01-11  Robert Love  <rml@novell.com>
14408
14409         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
14410           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
14411           assignments to applet->nm_state into a new nmwa_set_state() function
14412           for both cleanliness and to help debugging.
14413
14414 2006-01-10  Robert Love  <rml@novell.com>
14415
14416         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
14417           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
14418           seconds, exclusive.  That is, we want to sleep x seconds such that
14419           1 < x < 2.
14420
14421 2006-01-10  Robert Love  <rml@novell.com>
14422
14423         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
14424           the attr fields according to the example in the email available at
14425           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
14426           Conversely, we do have to free 'name', so we do so, fixing a leak.
14427
14428 2006-01-10  Robert Love  <rml@novell.com>
14429
14430         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
14431           sure that we close the socket!
14432
14433 2006-01-10  Robert Love  <rml@novell.com>
14434
14435         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
14436           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
14437           src/nm-device.c: Fix a FIXME!  Reimplement the function
14438           nm_device_update_hw_address() in device subclass variants,
14439           nm_device_802_3_ethernet_set_address() and
14440           nm_device_802_11_wireless_set_address(), hook them up, and use them.
14441           This fixes the existing bug where MAC addresses are all zeros.
14442
14443 2006-01-10  Robert Love  <rml@novell.com>
14444
14445         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
14446           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
14447           option to give users ability to globally disconnect and put NM to
14448           sleep.  This is useful as a 'lockdown mode' for flying, security, and
14449           clean disconnect.
14450
14451 2006-01-09  Robert Love  <rml@novell.com>
14452
14453         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
14454           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
14455           User-space does not supply these types, so we have to define them
14456           ourselves.  The relevant kernel maintainer refused to accept a patch
14457           switching these headers to the proper C99 types.
14458
14459 2006-01-09  Dan Williams  <dcbw@redhat.com>
14460
14461         Apply Robert's 'tray icon redo' patch with fixes
14462         * gnome/applet/applet.c
14463           gnome/applet/applet.h
14464                 - Instead of using a menu bar + menu item, simulate menu
14465                         behavior using a popup menu.  Highlight the area around
14466                         the icon more like a menu too, by playing with the
14467                         applet's size requisition
14468
14469 2006-01-09  Timo Hoenig   <thoenig@suse.de>
14470         * libnm-util/dbus-helpers.c
14471           libnm-util/dbus-helpers.h
14472                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
14473                         to 'exception_namespace' (:namespace is a keyword in
14474                         C++)
14475
14476 2006-01-09  Dan Williams  <dcbw@redhat.com>
14477
14478         * src/NetworkManagerPolicy.c
14479                 - (nm_policy_device_change_check): don't autoswitch away from
14480                         Ad-Hoc networks, since there's really no concept of
14481                         "link"
14482
14483         * src/nm-dbus-nm.c
14484                 - (nm_dbus_nm_create_wireless_network): mark created networks
14485                         as Ad-Hoc networks
14486
14487         * src/nm-device-802-11-wireless.c
14488                 - (real_activation_success_handler): add user-created Ad-Hoc
14489                         networks to the device's scan list
14490
14491 2006-01-08  Dan Williams  <dcbw@redhat.com>
14492
14493         We now require a patch for wpa_supplicant to support Ad-Hoc
14494         networks:
14495           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
14496
14497         * src/nm-device-802-11-wireless.c
14498                 - (supplicant_send_network_config): turn off wpa_supplicant's
14499                         scanning.  Fixes Ad-Hoc networks.
14500
14501 2006-01-08  Dan Williams  <dcbw@redhat.com>
14502
14503         * src/nm-ap-security.c
14504           src/nm-ap-security.h
14505                 - Add a user_created argument to the write_supplicant_config
14506                         functions
14507
14508         * src/nm-ap-security-wep.c
14509           src/nm-ap-security-wpa-psk.c
14510           src/nm-device-802-11-wireless.c
14511                 - Make Ad-Hoc mode somewhat work, at least write the
14512                         correct options to wpa_supplicant
14513
14514 2006-01-08  Dan Williams  <dcbw@redhat.com>
14515
14516         * src/nm-device-802-11-wireless.c
14517                 - Remove unused code from the old device activation path
14518
14519 2006-01-08  Dan Williams  <dcbw@redhat.com>
14520
14521         * libnm-util/dbus-helpers.c
14522                 - (nmu_security_serialize_wpa_psk): pass a blank key through
14523                         dbus when key == NULL
14524
14525 2006-01-08  Dan Williams  <dcbw@redhat.com>
14526
14527         * gnome/applet/nm-gconf-wso-wpa-psk.c
14528                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
14529                         correct arguments to nmu_security_deserialize_wpa_psk()
14530
14531         * src/nm-ap-security-wpa-psk.c
14532                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
14533                         arguments to nmu_security_deserialize_wpa_psk()
14534
14535 2006-01-08  Dan Williams  <dcbw@redhat.com>
14536
14537         * gnome/applet/wso-wpa-psk-hex.c
14538           gnome/applet/wso-wpa-psk-passphrase.c
14539                 - Hook up the append_dbus_params_func() function
14540
14541 2006-01-08  Dan Williams  <dcbw@redhat.com>
14542
14543         * src/nm-device-802-11-wireless.c
14544                 - (get_wireless_capabilities): correctly detect driver WPA
14545                         capabilities
14546
14547 2006-01-08  Dan Williams  <dcbw@redhat.com>
14548
14549         * gnome/applet/Makefile.am
14550           gnome/applet/wso-wpa-psk-hex.c
14551           gnome/applet/wso-wpa-psk-hex.h
14552                 - New files, implement WPA-PSK Hex key input
14553
14554         * gnome/applet/wireless-applet.glade
14555                 - Change existing wpa-psk stuff to wpa-psk-hex
14556                 - Add new widgets for wpa-psk-passphrase
14557
14558         * gnome/applet/wireless-security-manager.c
14559                 - (wsm_set_capabilities): enable WPA options
14560
14561         * gnome/applet/wso-wpa-psk-passphrase.c
14562                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
14563                         for WPA-PSK passphrase
14564
14565 2006-01-08  Dan Williams  <dcbw@redhat.com>
14566
14567         * include/NetworkManager.h
14568                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
14569                         applet/info-daemons
14570
14571         * gnome/applet/passphrase-dialog.c
14572                 - Use the constant.  Fixes a bug where the arguments to
14573                         dbus_message_new_error() were incorrect
14574
14575         * src/nm-dbus-nmi.c
14576                 - Use the constant
14577
14578 2006-01-07  Dan Williams  <dcbw@redhat.com>
14579
14580         * src/nm-device-802-11-wireless.c
14581                 - Add a link timeout so we allow the supplicant time to
14582                         reassociate if it can, before we deactivate the card
14583                 - Fix up link status and link updating so things work better
14584
14585 2006-01-07  Dan Williams  <dcbw@redhat.com>
14586
14587         * src/nm-device-802-11-wireless.c
14588                 - Switch over to using wpa_supplicant
14589                 - Add a timeout of 10s for association of the supplicant
14590                 - Start the monitor callback of the supplicant
14591
14592 2006-01-07  Dan Williams  <dcbw@redhat.com>
14593
14594         * src/NetworkManagerUtils.c
14595                 - (nm_utils_supplicant_request,
14596                   nm_utils_supplicant_request_with_check):
14597                         pass correct buffer length to wpa_ctrl_request()
14598
14599 2006-01-07  Dan Williams  <dcbw@redhat.com>
14600
14601         * src/nm-device-private.h
14602           src/nm-device.c
14603                 - (nm_device_activate_schedule_stage3_ip_config_start): make
14604                         this function available to subclasses
14605
14606 2006-01-06  Robert Love  <rml@novell.com>
14607
14608         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
14609           user plugging in a network cable signals their preference for to
14610           switch, unless the user explicitly selected a wireless network and
14611           therefore signaled their preference for said wireless network over
14612           wired.  In other words, do exactly what makes sense.
14613
14614 2006-01-06  Robert Love  <rml@novell.com>
14615
14616         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14617           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
14618           src/NetworkManagerWireless.h: Remove, no longer used and they keep
14619           showing up in my greps.
14620
14621 2006-01-06  Robert Love  <rml@novell.com>
14622
14623         * gnome/applet/applet-dbus-devices.c,
14624           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
14625           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
14626           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
14627           New Network' both failed in the non-encrypted case because we were
14628           not appending the security options to the DBUS message.  And
14629           'Connect to Other' was also failing in the encrypted case because
14630           we were not incrementing to the next DBUS parameter.  All fixed.
14631           Thanks to dcdw for some debugging help.
14632
14633 2006-01-06  Robert Love  <rml@novell.com>
14634
14635         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
14636           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
14637           hangup code and add per-device hangup.  Tie last commit into the
14638           GNOME applet.  TODO:  Save, understand, and respond to the state of
14639           each dialup device.
14640
14641 2006-01-06  Robert Love  <rml@novell.com>
14642
14643         Patch by Timo Hoenig <thoenig@suse.de>:
14644         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
14645           hangup specific dialup devices.
14646         * src/backends/NetworkManagerDebian.c,
14647           src/backends/NetworkManagerGentoo.c,
14648           src/backends/NetworkManagerRedHat.c,
14649           src/backends/NetworkManagerSlackware.c: Add stub backend.
14650         * src/backends/NetworkManagerRedHat.c,
14651           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
14652           hangup specific dialup devices.
14653
14654 2006-01-04  Robert Love  <rml@novell.com>
14655
14656         * gnome/applet/applet-dbus-devices.c,
14657           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
14658           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
14659           connections.
14660
14661 2006-01-04  Dan Williams  <dcbw@redhat.com>
14662
14663         First dump of wpa_supplicant-related code.  It's not hooked up to
14664         anything yet though.  Thanks to Kay Sievers for
14665         wpa_supplicant_wrapper.c, which formed the basis for this work,
14666         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
14667
14668         * src/Makefile.am
14669           src/wpa_ctrl.[ch]
14670                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
14671
14672         * src/NetworkManagerUtils.[ch]
14673                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
14674                         Add convenience functions for talking to wpa_supplicant
14675
14676         * src/nm-ap-security.[ch]
14677           src/nm-ap-security-wep.c
14678           src/nm-ap-security-wpa-psk.[ch]
14679                 - Update and implement real_write_supplicant_config functions
14680                         in all security types
14681                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
14682                         nm-ap-security-wpa-psk.c
14683
14684         * src/nm-device-802-11-wireless.c
14685                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
14686                    wpa_supplicant_start, wpa_supplicant_interface_init,
14687                    wpa_supplicant_send_network_config): add functions to talk to
14688                         wpa_supplicant and write network config to it
14689
14690 2006-01-04  Robert Love  <rml@novell.com>
14691
14692         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
14693           values so that distribution-backends can differentiate between the
14694           various types (modem, ISDN, et cetera) of dialup device that they
14695           support.
14696         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
14697           needed.
14698
14699 2006-01-03  Dan Williams  <dcbw@redhat.com>
14700
14701         * src/NetworkManagerPolicy.c
14702           src/nm-device.[ch]
14703           src/nm-device-802-11-wireless.c
14704                 - Move wireless-specific activation failure and success code
14705                         into wireless device class
14706
14707 2006-01-03  Robert Love  <rml@novell.com>
14708
14709         Patch by Preggna S:
14710         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
14711           IPsec does not require that a VPN client be bound to an interface,
14712           due to the use of the in-kernel IPSec bits.  So make the tunnel
14713           device optional.
14714
14715 2006-01-03  Dan Williams  <dcbw@redhat.com>
14716
14717         * src/NetworkManagerAP.c
14718                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
14719                         the WPA IE specifies that WEP is supported
14720
14721         * src/nm-device-802-11-wireless.c
14722                 - (process_scan_results): don't mark an AP as supporting WEP
14723                         if there's already other encryption capability info
14724
14725 2006-01-03  Dan Williams  <dcbw@redhat.com>
14726
14727         * src/dhcp-manager/nm-dhcp-manager.c
14728                 - Recognize activation cancellation when waiting for DHCP
14729                         configuration from dhcdbd
14730                 - Ignore non-dhcdbd messages
14731
14732         * src/nm-device.c
14733                 - (real_act_stage3_ip_config_start): return to correct behavior
14734                         of letting the dhcp-manager notify us of failure or
14735                         success rather than incorrectly doing that ourselves
14736                 - (nm_device_activate_stage4_ip_config_get): deal with
14737                         activation cancellation a bit earlier
14738
14739 2006-01-03  Dan Williams  <dcbw@redhat.com>
14740
14741         * src/nm-device-802-11-wireless.c
14742           src/nm-device.[ch]
14743                 - Add hooks to subclasses for stage3_ip_config_start and
14744                         stage4_ip_config_timeout
14745
14746         * src/nm-device-802-3-ethernet.c
14747                 - (real_get_generic_capabilities): make devices NM-supported
14748                         by default
14749
14750 2006-01-03  Robert Love  <rml@novell.com>
14751
14752         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
14753           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
14754           latter cannot differentiate between error and the address -1; misc.
14755           clean up.
14756
14757 2006-01-03  Dan Williams  <dcbw@redhat.com>
14758
14759         * src/NetworkManager.c
14760                 - Move link-checking/probing into the device subclasses
14761                         themselves
14762
14763         * src/nm-device.[ch]
14764           src/nm-device-802-11-wireless.c
14765           src/nm-device-802-3-ethernet.c
14766                 - Do periodic link checking in device subclasses rather
14767                         than being triggered from NetworkManager.c
14768                 - discover_wireless_capabilities -> get_wireless_capabilities
14769                 - discover_generic_capabilities -> get_generic_capabilities
14770                 - Device subclass activation routines now return a value of type
14771                         NMActStageReturn to indicate what step to perform next
14772                 - Devices now override stage4_get_ip4_config if they choose
14773
14774 2006-01-01  Dan Williams  <dcbw@redhat.com>
14775
14776         * src/nm-device-802-11-wireless.c
14777                 - (real_init): don't chain up to parent init because we don't
14778                         need to do that anymore
14779
14780         * src/nm-device.c
14781                 - (discover_device_type): fix arguments to ioctl() to correctly
14782                         pass interface name
14783                 - (nm_device_new): consolidate generic device initialization into
14784                         nm_device_new()
14785                 - (real_init): remove, consolidated to nm_device_new()
14786                 - (nm_device_deactivate, real_deactivate): consolidate
14787
14788 2006-01-01  Dan Williams  <dcbw@redhat.com>
14789
14790         * src/nm-activation-request.c
14791                 - Change dhcp_state member of the NMActRequest structure
14792                         from guint8 to guint32
14793
14794         * src/dhcp-manager/nm-dhcp-manager.[ch]
14795                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
14796                         than guint8 to match the dbus argument.  Turns out we were
14797                         overwriting memory since we were passing in only a guint8
14798
14799 2005-12-31  Dan Williams  <dcbw@redhat.com>
14800
14801         * refactor NMDevice into a GObject-based framework with separate
14802                 objects for wired and wireless.  The following files are no
14803                 longer used but should stick around for a bit so we don't
14804                 loose code through the cracks:
14805                         NetworkManagerDevice.c
14806                         NetworkManagerDevice.h
14807                         NetworkManagerWireless.c
14808                         NetworkManagerWireless.h
14809
14810         The intent here is to allow each device type to manage its own
14811         connection & activation life-cycle, ie to allow wireless devices
14812         to interface with wpa_supplicant, etc.  There's a fair bit of
14813         encapsulation breakage right now that should gradually get pulled
14814         back into each device, along with things like periodic property
14815         updates and link probing.
14816
14817 2005-12-29  Dan Williams  <dcbw@redhat.com>
14818
14819         * include/NetworkManager.h
14820                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
14821                         between networks that don't have any encryption at all
14822
14823 2005-12-29  Dan Williams  <dcbw@redhat.com>
14824
14825         * test/test-common.c
14826           test/test-common.h
14827           test/Makefile.am
14828                 - Move to a test-common subdirectory
14829
14830         * test/libnm-util/test-ciphers.c
14831                 - Move test data to test-inputs.h
14832                 - Test WPA ciphers too
14833
14834         * test/libnm-util/test-dbus-helpers.c
14835                 - Test serialization/deserialization of ciphers
14836
14837 2005-12-29  Dan Williams  <dcbw@redhat.com>
14838
14839         * gnome/applet/applet-dbus-devices.c
14840                 - Replace 'enc' parameter with 'capabilities' for wireless networks
14841                         in dbus calls to NM
14842                 - Set capabilities on WirelessNetwork objects
14843                 - Receive and save type-specific device capabilities too
14844
14845         * gnome/applet/applet-dbus-info.c
14846           gnome/applet/applet-dbus.c
14847                 - Passphrase dialog no longer a singleton; new instance gets created
14848                         on each request.  Updates to deal with that.
14849
14850         * gnome/applet/applet.c
14851                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14852                         than single 'encrypted' flag
14853                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14854                         menu items
14855                 - Passphrase dialog updates per above
14856
14857         * gnome/applet/menu-items.c
14858                 - (network_menu_item_update): use AP capabilities to determine
14859                         encryption
14860
14861         * gnome/applet/nm-device.[ch]
14862                 - Add accessors for type-specific device capabilities
14863
14864         * gnome/applet/other-network-dialog.c
14865                 - Rework to respect device capabilities.  i.e., if the device doesn't
14866                         support WPA, remove that option from the security dropdown
14867
14868         * gnome/applet/passphrase-dialog.c
14869                 - Massive rework so that a new instance is created each time
14870                         it's used, to support wireless network capabilities
14871
14872         * gnome/applet/wireless-network.[ch]
14873                 - Add accessors and members for wireless network capabilities
14874
14875         * gnome/applet/wireless-security-manager.[ch]
14876                 - (wsm_set_capabilities): called after creation to set which
14877                         security options get shown to the user
14878
14879 2005-12-29  Dan Williams  <dcbw@redhat.com>
14880
14881         * libnm-util/cipher-wpa-psk-passphrase.c
14882                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14883                         like other ciphers
14884
14885 2005-12-23  Dan Williams  <dcbw@redhat.com>
14886
14887         * gnome/applet/applet-dbus-info.c
14888                 - (nmi_dbus_get_key_for_network): if there's no entry in
14889                         GConf for a network, assume we want a new key
14890                 - (nmi_save_network_info): serialize wireless security info
14891                         into GConf so its saved
14892
14893         * src/nm-dbus-nm.c
14894                 - Fix warning as we may not be passed security info when
14895                         connecting to a wireless network
14896
14897 2005-12-23  Dan Williams  <dcbw@redhat.com>
14898
14899         * gnome/applet/applet-compat.c
14900                 - Fix bugs in GConf entry conversion
14901
14902         * gnome/applet/applet-dbus-info.c
14903                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14904                         list being zero-length
14905
14906         * libnm-util/cipher-*
14907           libnm-util/dbus-helpers.c
14908                 - All ciphers must now return hashed keys as UTF-8 valid
14909                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14910                         through dbus as strings too.
14911                 - Consolidate various functions that do bin->hex and hex->bin
14912                         conversion into cipher.c
14913
14914         * src/nm-ap-security-wep.c
14915           src/nm-ap-security-wpa-psk.c
14916                 - Handle NULL keys since we may not know keys right away
14917
14918         * src/nm-dbus-nmi.c
14919                 - (nm_dbus_get_network_data_cb): actually advance to the start
14920                         of the wireless security info before we try to deserialize it
14921
14922         * libnm-util/test-ciphers.c
14923                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14924
14925 2005-12-22  Dan Williams  <dcbw@redhat.com>
14926
14927         * gnome/applet/applet-compat.[ch]
14928                 - Convert old-format GConf and keyring entries
14929                         when the applet starts up.
14930
14931         * gnome/applet/applet.c
14932                 - (nmwa_get_instance): Call the conversion function
14933                         on startup before dbus is initialized
14934
14935 2005-12-22  Dan Williams  <dcbw@redhat.com>
14936
14937         * gnome/applet/applet-dbus-info.c
14938                 - Remove nmi_dbus_create_error_message() in favor of
14939                         nmu_create_dbus_error_message()
14940                 - (nmi_dbus_get_network_properties): Error message cleanups
14941                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14942                         gconf key rather than 'addresses', since they really are BSSIDs
14943                 - (nmi_dbus_get_network_properties): Dispose of the security
14944                         object when we're done with it
14945
14946 2005-12-21  Dan Williams  <dcbw@redhat.com>
14947
14948         * Consolidate the info-daemon's "updateNetworkInfo" and
14949                 "addNetworkAddress" calls into just "updateNetworkInfo"
14950
14951 2005-12-21  Dan Williams  <dcbw@redhat.com>
14952
14953         * Make connection after key retrieval work again
14954
14955 2005-12-21  Dan Williams  <dcbw@redhat.com>
14956
14957         * gnome/applet/nm-gconf-wso*
14958                 - Make the serialize functions return gboolean
14959                         rather than int
14960
14961         * gnome/applet/nm-gconf-wso.c
14962                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14963                         parent class handling so we don't segfault
14964
14965         * src/NetworkManagerAP.[ch]
14966                 - (nm_ap_get_capabilities): new function, return capabilities
14967                         now that something can use them
14968                 - (nm_ap_set_encrypted): assume that an access point supports
14969                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14970                         we even tell whether it just supports WEP40?
14971
14972         * src/NetworkManagerDevice.c
14973                 - (ap_need_key): resurrect and update for the New World Order
14974                 - (nm_device_wireless_get_activation_ap): if we're not given
14975                         security info to use, create some based on access point
14976                         capabilities
14977
14978         * src/nm-ap-security-wep.c
14979                 - (nm_ap_security_wep_new_from_ap): create a new object
14980                         based on a certain access point's capabilities
14981
14982         * src/nm-ap-security.c
14983                 - (nm_ap_security_new_from_ap): delegate creation of a new
14984                         object based on access point capabilities to a subclass
14985                 - (nm_ap_security_copy_properties): don't segfault if we
14986                         don't have a key yet
14987
14988         * src/nm-dbus-nm.c
14989                 - (nm_dbus_nm_set_active_device): provide more informative
14990                         output when errors occur.  Also construct security info
14991                         for a given access point if we weren't given any
14992
14993 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14994
14995         * configure.in: Added Lithuanian to ALL_LINGUAS.
14996
14997 2005-12-21  Dan Williams  <dcbw@redhat.com>
14998
14999         * test/libnm-util
15000                 - Add some testcases for WEP ciphers
15001
15002 2005-12-17  Dan Williams  <dcbw@redhat.com>
15003
15004         * Fix bugs
15005
15006 2005-12-17  Dan Williams  <dcbw@redhat.com>
15007
15008         * include/NetworkManager.h
15009                 - Finally kill NMEncKeyType
15010
15011         * gnome/applet/applet-dbus-info.c
15012                 - (nmi_save_network_info): convert to NMGConfWSO
15013
15014         * gnome/applet/nm-gconf-wso-*.c
15015                 - Implement gconf serialization functions
15016
15017         * src/NetworkManagerPolicy.c
15018                 - (nm_policy_activation_finish): fix up meaning of
15019                         automatic/user_requested
15020
15021 2005-12-17  Dan Williams  <dcbw@redhat.com>
15022
15023         * gnome/applet/*
15024                 - More applet cleanups
15025                 - Use the dbus-method-dispatcher
15026
15027         * libnm-util/dbus-method-dispatcher.[ch]
15028                 - Generalize the implementation from NM in
15029                         NetworkManagerUtils.c
15030
15031 2005-12-16  Dan Williams  <dcbw@redhat.com>
15032
15033         * gnome/applet/*
15034                 - Fix up the passphrase dialog to use all the
15035                         WirelessSecurityOption stuff (untested)
15036
15037 2005-12-16  Dan Williams  <dcbw@redhat.com>
15038
15039         * Move nm_gconf_get_*_helper() functions to separate files,
15040                 gconf-helpers.c & gconf-helpers.h
15041
15042         * New NMGConfWSO objects for managing the gconf side of things.
15043                 Eventually these should be merged with the
15044                 WirelessSecurityOption objects and a common base (that can
15045                 serialize/deserialize from dbus & gconf) should be
15046                 refactored out, but for now they are separate.
15047
15048 2005-12-16  Robert Love  <rml@novell.com>
15049
15050         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
15051           binaries unless they exist (nm_spawn_process() emits a warning if
15052           asked to spawn a non-existant process).
15053
15054 2005-12-16  Dan Williams  <dcbw@redhat.com>
15055
15056         * gnome/applet/applet-dbus-info.c
15057                 - Clean up lots of gconf-related code
15058
15059 2005-12-16  Robert Love  <rml@novell.com>
15060
15061         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
15062
15063 2005-12-16  Dan Williams  <dcbw@redhat.com>
15064
15065         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
15066
15067         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
15068                 bits still to be done)
15069
15070 2005-12-16  Dan Williams  <dcbw@redhat.com>
15071
15072         * Finally move info-daemon related stuff out of
15073                 NetworkManagerDbus.c to nm-dbus-nmi.c
15074
15075 2005-12-16  Dan Williams  <dcbw@redhat.com>
15076
15077         * Kill auth_method for access points, since that's now done
15078                 by NMAPSecurity objects
15079
15080         * Add a copy-constructor of sorts to NMAPSecurity
15081                 (how do you do this properly in glib???)
15082
15083 2005-12-15  Dan Williams  <dcbw@redhat.com>
15084
15085         * Exorcise encryption key hashing on APs
15086         * Use libnm-util's serialization/deserialization in both the
15087                 applet and NM
15088         * Random other stuff
15089
15090 2005-12-15  Robert Love  <rml@novell.com>
15091
15092         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
15093           is being added to the icon naming spec, so let's use that (Tango CVS
15094           has the icon).  Because it is new, however, we fall back to the
15095           current "gnome-lockscreen" if the new icon is not around, thus
15096           behavior is the same.
15097         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
15098           factory junk.
15099
15100 2005-12-15  Robert Love  <rml@novell.com>
15101
15102         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
15103           well, help to give.  Couple other misc. bits.
15104
15105 2005-12-15  Dan Williams  <dcbw@redhat.com>
15106
15107         * libnm-util/dbus-helpers.[ch]
15108                 - Make this the one-stop-shop for serializing/deserializing
15109                         AP & connection security settings over dbus.  Both NM
15110                         and applets should use this to ensure consistent dbus
15111                         API going forwared.
15112
15113 2005-12-15  Robert Love  <rml@novell.com>
15114
15115         Patch by Timo Hoenig  <thoenig@suse.de>:
15116         * src/NetworkManagerDbus.c
15117                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
15118                         if HAL jumps off the system bus.  Otherwise libdbus
15119                         (dbus_connection_dispatch) will try to run the filter
15120                         function of our libhal context which is already freed.
15121
15122 2005-12-15  Alexander Shopov  <ash@contact.bg>
15123
15124         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
15125
15126 2005-12-14  Dan Williams  <dcbw@redhat.com>
15127
15128         * include/NetworkManager.h
15129           src/NetworkManagerWireless.c
15130                 - Rearrange 802.11 wireless-specific capabilities again
15131
15132         * src/Makefile.am
15133                 - Forgot to add wpa.c/wpa.h to the makefiles
15134
15135         * src/NetworkManagerAP.[ch]
15136                 - Implement access point capabilities and parse the
15137                         WPA/RSN IEs into the capability bitfield
15138                 - Switch the "encrypted" attribute to utilize the bitfield
15139                         and capabilities rather than being independent
15140
15141         * src/NetworkManagerDevice.c
15142                 - (nm_device_wireless_get_activation_ap): break it horribly
15143                         until we can push NMAPSecurity objects into access point
15144                         objects and through the activation chain
15145                 - Stuff WPA & RSN IEs into AP capabilities
15146
15147         * src/nm-dbus-nm.c
15148                 - Take a shot at actually making setActiveDevice work
15149
15150         * src/wpa.[ch]
15151                 - Make the API a bit saner
15152
15153 2005-12-14  Dan Williams  <dcbw@redhat.com>
15154
15155         * include/NetworkManager.h
15156                 - Add 802.11-specific capability for 802.1x key
15157                         management
15158
15159         * src/wpa.[ch]
15160                 - Pull in WPA IE and RSN IE parsing code from
15161                         wpa_supplicant so we can determine access point
15162                         capabilities
15163                 - Move WPA-related constants here from NetworkManagerAP.h
15164                         and NetworkManagerDevice.c
15165
15166         * src/NetworkManagerDevice.c
15167           src/NetworkManagerAP.[ch]
15168                 - Use WPA-related constants from wpa.h
15169
15170 2005-12-14  Dan Williams  <dcbw@redhat.com>
15171
15172         * include/NetworkManager.h
15173                 - Update and split 802.11 wireless-specific capabilities from
15174                         generic device capabilities
15175
15176         * src/NetworkManagerDevice.c
15177           src/NetworkManagerDevicePrivate.h
15178                 - (nm_device_wireless_discover_capabilities): Move 802.11
15179                         wireless-specific capability checks to
15180                         NetworkManagerWireless.c
15181                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
15182                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
15183
15184         * src/NetworkManagerWireless.[ch]
15185                 - (nm_802_11_wireless_discover_capabilities): Check extended
15186                         802.11 wireless-specific capabilities of the driver
15187
15188 2005-12-14  Robert Love  <rml@novell.com>
15189
15190         Patch from Stefan Scheler <sscheler@suse.de>:
15191         * src/NetworkManagerDevice.c: call backend code to activate and
15192           deactivate NIS.
15193         * src/NetworkManagerSystem.h: add new NIS interfaces.
15194         * src/backends/NetworkManagerDebian.c,
15195           src/backends/NetworkManagerGentoo.c,
15196           src/backends/NetworkManagerRedHat.c,
15197           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
15198           support.
15199         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
15200
15201 2005-12-14  Dan Williams  <dcbw@redhat.com>
15202
15203         * src/nm-ap-security*.[ch]
15204                 - Add AP security abstractions to NetworkManager
15205
15206         * src/nm-dbus-device.c
15207                 - Begin to parse new format dbus messages from the applet
15208                         and construct an AP security object from the message
15209
15210         * libnm-util/dbus-helpers.c
15211                 - Use message iters so we can append the key as a fixed
15212                         array of bytes, which actually works rather than
15213                         using dbus_message_append_args() as we were before
15214
15215 2005-12-14  Dan Williams  <dcbw@redhat.com>
15216
15217         * src/NetworkManagerDbus.c
15218           gnome/applet/applet-dbus.c
15219                 - Fix up dbus service replacement options.  The applet
15220                         should allow replacement, NM itself should not.
15221
15222 2005-12-13  Robert Love  <rml@novell.com>
15223
15224         * src/named-manager/nm-named-manager.c: Revert earlier commit.
15225           Instead, fail silently if config is NULL by not asserting and not
15226           returning FALSE.  Also, make sure we always fclose() the file.
15227
15228 2005-12-13  Robert Love  <rml@novell.com>
15229
15230         Patch by Stefan Scheler <sscheler@suse.de>:
15231         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
15232            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
15233            via DHCP.  Still need the backends to commit the NIS domain name and
15234            and servers to yp.conf as needed.
15235
15236 2005-12-13  Robert Love  <rml@novell.com>
15237
15238         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
15239           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
15240
15241 2005-12-13  Robert Love  <rml@novell.com>
15242
15243         * src/named-manager/nm-named-manager.c: Don't unref the config until
15244           after we call rewrite_resolv_conf(), because get_last_default_domain()
15245           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
15246           `config != NULL' failed" assertion failures and "Could not commit DNS
15247           changes" warnings.
15248
15249 2005-12-12  Dan Williams  <dcbw@redhat.com>
15250
15251         * libnm-util/dbus-helpers.[ch]
15252           libnm-util/Makefile.am
15253                 - new helper calls to consolidate locations where
15254                         NM's setDevice method is called
15255
15256         * gnome/applet/applet-dbus-devices.c
15257           gnome/applet/wireless-security-option.c
15258           gnome/applet/wso-*
15259                 - Implement dbus message param append function for
15260                         all wireless security options
15261
15262 2005-12-12  Robert Love  <rml@novell.com>
15263
15264         * libnm-util/cipher-wep-passphrase.c,
15265           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
15266           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
15267           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
15268           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
15269           When handling keys, we don't care what the sign is.  The compiler
15270           guarantees us that we get our 8-bits, which is all we care about.
15271         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
15272
15273 2005-12-12  Dan Williams  <dcbw@redhat.com>
15274
15275         * gnome/applet/applet-dbus-devices.[ch]
15276           gnome/applet/applet.c
15277           gnome/applet/other-network-dialog.c
15278           gnome/applet/wireless-security-manager.[ch]
15279           gnome/applet/wireless-security-option.[ch]
15280           gnome/applet/wso-*
15281                 - Push the wireless security options further into the applet
15282
15283 2005-12-12  Robert Love  <rml@novell.com>
15284
15285         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
15286           return any name servers.  That is perfectly valid.  (Novell #134369).
15287
15288 2005-12-11  Dan Williams  <dcbw@redhat.com>
15289
15290         * gnome/applet/wso-*
15291           gnome/applet/wireless-security-option.*
15292           gnome/applet/Makefile.am
15293                 - split each security option out so we can eventually
15294                         have each one build up their own dbus message
15295                         arguments to send to NM
15296
15297 2005-12-11  Dan Williams  <dcbw@redhat.com>
15298
15299         * Make validation of the key work correctly
15300
15301 2005-12-11  Dan Williams  <dcbw@redhat.com>
15302
15303         * Hook more bits of the Other Network Dialog up to the
15304                 wireless security manager stuff, and restructure
15305                 bits of the dialog so there's less code.
15306
15307 2005-12-10  Dan Williams  <dcbw@redhat.com>
15308
15309         * gnome/applet/Makefile.am
15310                 - Add libnm-util to includes
15311                 - Add libnm-util to link list
15312                 - Add wireless-security-common.* to compile list
15313
15314         * gnome/applet/other-network-dialog.c
15315                 - Convert to using the WirelessSecurityManager code and
15316                         widgets
15317
15318         * gnome/applet/passphrase-dialog.c
15319                 - Comment out references to stuff in the glade file that
15320                         cause runtime errors until it can be fixed up
15321                         to use the WirelessSecurityManager code
15322
15323         * gnome/applet/wireless-applet.glade
15324                 - Rename some widgets
15325                 - Add widgets for the WirelessSecurityManager code
15326                 - Remove passphrase-related stuff since that's now
15327                         handled by the WirelessSecurityManager code
15328
15329 2005-12-10  Dan Williams  <dcbw@redhat.com>
15330
15331         * gnome/applet/applet-dbus-devices.c
15332                 - Print out error message details for dbus pending call callbacks
15333                 - Move nmwa_dbus_update_devices() up
15334
15335         * gnome/applet/applet-dbus-vpn.c
15336                 - Print out error message details for dbus pending call callbacks
15337
15338 2005-12-10  Dan Williams  <dcbw@redhat.com>
15339
15340         * libnm-util/*
15341                 - More fixups
15342                 - Remove cipher-manager.* because we don't need it
15343                 - Forgot to add gnome-keyring-md5 files to compile list
15344
15345 2005-12-09  Dan Williams  <dcbw@redhat.com>
15346
15347         * libnm-util/*
15348           configure.in
15349           Makefile.am
15350                 - Add a utility library for clients of NetworkManager.  It's
15351                         only targetted at applets for the moment, and contains
15352                         a generalized 802.11 cipher framework for different
15353                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
15354
15355 2005-12-09  Robert Love  <rml@novell.com>
15356
15357         * src/NetworkManagerDevice.c: handle error better in
15358           nm_device_set_mode().
15359
15360 2005-12-08  Robert Love  <rml@novell.com>
15361
15362         * include/NetworkManager.h: add WPA capabilities constants
15363         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
15364           or WPA2 and add the capabilities bits as appropriate.
15365
15366 2005-12-08  Robert Love  <rml@novell.com>
15367
15368         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
15369           NetworkManagerDispatcher.
15370         * configure.in, initscript/SUSE/.cvsignore,
15371           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
15372           initscript.
15373
15374 2005-12-08  Robert Love  <rml@novell.com>
15375
15376         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
15377
15378 2005-12-08  Robert Love  <rml@novell.com>
15379
15380         * src/NetworkManagerDevice.c: We want to fall back on and default to
15381           IW_MODE_AUTO, not -1, which is more in line with our previous
15382           behavior.  Otherwise, we try to set the wireless mode to -1 in
15383           nm_device_set_mode().
15384
15385 2005-12-07  Robert Love  <rml@novell.com>
15386
15387         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
15388           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
15389           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
15390           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
15391           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
15392           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
15393           zero.
15394
15395 2005-12-07  Robert Love  <rml@novell.com>
15396
15397         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
15398           supplied IP is invalid, fall back to DHCP.
15399
15400 2005-12-07  Dan Williams  <dcbw@redhat.com>
15401
15402         * Convert NETWORK_MODE_* constants to IW_MODE_*
15403         * Make all the get_mode/set_mode functions take and return 'int'
15404         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
15405
15406 2005-12-07  Robert Love  <rml@novell.com>
15407
15408         * src/NetworkManagerDevice.c: strncpy() buffer check.
15409         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
15410
15411 2005-12-06  Dan Williams  <dcbw@redhat.com>
15412
15413         * gnome/applet/applet-dbus.c
15414                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
15415
15416         * gnome/applet/applet-dbus-vpn.c
15417                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
15418                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
15419                         to TRUE here if stage was ACTIVATED
15420
15421 2005-12-06  Dan Williams  <dcbw@redhat.com>
15422
15423         * Change nm_device_is_* functions to better names:
15424                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
15425                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
15426
15427 2005-12-06  Dan Williams  <dcbw@redhat.com>
15428
15429         * Change naming of NMDeviceType to something more sensible:
15430                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
15431                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
15432                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
15433
15434 2005-12-06  Dan Williams  <dcbw@redhat.com>
15435
15436         * Move NetworkManager.h -> include/NetworkManager.h
15437         * Split out VPN stuff into include/NetworkManagerVPN.h
15438         * Fix up makefiles to include new location
15439         * Fix up sources to include NetworkManagerVPN.h
15440
15441 2005-12-06  Dan Williams  <dcbw@redhat.com>
15442
15443         Various changes in the applet to move VPN connection "state" -> "stage",
15444         which it actually is.  I'd like to change the signal as well when we
15445         break compat in the near future.
15446
15447 2005-12-06  Dan Williams  <dcbw@redhat.com>
15448
15449         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
15450         * initscript/Slackware/rc.networkmanager
15451                 - Cosmetic fix
15452
15453         * src/backends/NetworkManagerSlackware.c
15454                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
15455                         interfaces
15456
15457 2005-12-05  Robert Love  <rml@novell.com>
15458
15459         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
15460           to free, particularly here as it just barfs.
15461
15462 2005-12-05  Dan Williams  <dcbw@redhat.com>
15463
15464         * gnome/applet/applet-dbus.c
15465                 - Work with dbus 0.6 too
15466
15467 2005-12-03  Dan Williams  <dcbw@redhat.com>
15468
15469         * src/NetworkManagerUtils.[ch]
15470           src/nm-ip4-config.c
15471                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
15472                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
15473
15474 2005-12-01  Robert Love  <rml@novell.com>
15475
15476         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
15477           need a NULL for the '...' parameter, too, to fill the so-called
15478           sentinel.
15479
15480 2005-12-01  Robert Love  <rml@novell.com>
15481
15482         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
15483           interface is already gone, so don't call rtnl_link_change() to down
15484           it (which will segfault, anyhow).
15485
15486 2005-11-22  Robert Love  <rml@novell.com>
15487
15488         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
15489           gateway is not set, just print a little note.  Configurations without
15490           gateways are valid.
15491
15492 2005-11-22  Robert Love  <rml@novell.com>
15493
15494         * README: update
15495
15496 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
15497
15498         * configure.in: Added Finnish translation to ALL_LINGUAS
15499
15500 2005-11-14  Robert Love  <rml@novell.com>
15501
15502         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
15503           Niemueller <tim@niemueller.de>.
15504
15505 2005-11-08  Dan Williams  <dcbw@redhat.com>
15506
15507         Patch from Bill Moss <bmoss@clemson.edu>
15508         * src/NetworkManagerDevice.c
15509                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
15510                         of nm_policy_schedule_activation_finish() to prevent a
15511                         race condition that causes the link to be dropped
15512
15513 2005-11-08  Dan Williams  <dcbw@redhat.com>
15514
15515         Patch from Bill Moss <bmoss@clemson.edu>
15516         * src/NetworkManagerAPList.c
15517           src/NetworkManagerDevice.c
15518           src/NetworkManagerDbus.c
15519                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
15520                         we get more readable ether/mac addresses
15521
15522 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15523
15524         * gnome/applet/main.c: Don't set the restart command.  This fixes
15525         the issue where the restart command was getting copies of all its
15526         arguments for each time the applet was restarted.
15527
15528 2005-11-02  Robert Love  <rml@novell.com>
15529
15530         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
15531           if the widget state differs from our saved state.  This ensures we
15532           do not enter an endless loop of death and destruction.  Also, this
15533           guarantees us that we enforce the widget state.
15534
15535 2005-11-02  Robert Love  <rml@novell.com>
15536
15537         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
15538         * gnome/applet/applet-dbus-devices.c: invoke the new function
15539           nmwa_enable_wireless_set_active() to ensure that the state of the
15540           'Enable Wireless' checkbox matches the daemon's state.  This is a
15541           concern because the daemon remembers the state.
15542
15543 2005-11-02  Robert Love  <rml@novell.com>
15544
15545         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
15546           Enabled", as checkboxes should be actions/commands not positive
15547           statements, otherwise they are confusing in the unselected case.  See
15548           examples in GNOME HIG, Chapter 6.
15549
15550 2005-11-02  Robert Love  <rml@novell.com>
15551
15552         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
15553           show a list of wireless networks or the wireless devices or the
15554           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
15555           a bad bug: If wireless is disabled and the user picks a wireless
15556           network, NM will switch to the network, only to immediately switch
15557           back, as wireless is disabled.  This also reassures people that NM
15558           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
15559
15560 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15561
15562         * gnome/applet/applet.c:
15563         * gnome/applet/applet.h:
15564         Partial backout of Dan's timeout animation patch.
15565         Timeout IDs cannot legally be 0, so revert the code in place to handle
15566         a timeout ID of 0 to denote the timeout isn't running.
15567
15568 2005-11-02  Christopher Aillon  <caillon@redhat.com>
15569
15570         * src/NetworkManagerPolicy.c:
15571         (nm_policy_device_change_check) Clarify wireless switch nm_info text
15572
15573 2005-10-28  Robert Love  <rml@novell.com>
15574
15575         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
15576           "Import Saved Configuration..." to make it clear that importing is
15577           not the next step, but an option.  As an aside, a nice TODO would be
15578           to move Importing out of the vpn-specific dialog and into the main
15579           property editor, as Importing goes with Adding, but that will require
15580           some rearchitecting of the VPN stuff I suspect.
15581
15582 2005-10-27  Dan Williams  <dcbw@redhat.com>
15583
15584         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
15585         we should replace most of the distro-specific backend code
15586         with libnl stuff.
15587
15588         Get it here:  http://people.suug.ch/~tgr/libnl/
15589
15590         * configure.in
15591           src/Makefile.am
15592                 - Add checks for libnl pkgconfig file
15593                 - Use LIBNL_LIBS & LIBNL_CFLAGS
15594
15595         * src/NetworkManagerSystem.c
15596           src/nm-ip4-config.[ch]
15597                 - Use libnl rather than ioctl() for most things
15598                 - Remove unused functions
15599
15600 2005-10-27  Robert Love  <rml@novell.com>
15601
15602         * src/backends/NetworkManagerSuSE.c: fix warning message text
15603
15604 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15605
15606         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
15607
15608 2005-10-27  Christopher Aillon  <caillon@redhat.com>
15609
15610         * gnome/applet/applet.c: The applet's about dialog can advertise our 
15611         project page <http://www.gnome.org/projects/NetworkManager/>
15612
15613 2005-10-26  Christopher Aillon  <caillon@redhat.com>
15614
15615         * gnome/applet.c: Also use translator credits if we don't have
15616         the new GtkAboutDialog (older versions of GTK+)
15617
15618 2005-10-26  Robert Love  <rml@novell.com>
15619
15620         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
15621           failure; correct usage text for "--no-daemon"
15622
15623 2005-10-25  Dan Williams  <dcbw@redhat.com>
15624
15625         * src/NetworkManagerDevice.c
15626                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
15627                         no scan results
15628                 - (free_process_scan_cb_data): unref the device when freeing results
15629                 - (nm_device_wireless_process_scan_results): free scan results a bit later
15630                         so we don't unref the device underneath ourselves
15631
15632 2005-10-25  Dan Williams  <dcbw@redhat.com>
15633
15634         * Back out 2005-10-24 commit from Tor Krill.  Patch
15635                 causes nameservers never to be removed from named.
15636
15637 2005-10-24  Dan Williams  <dcbw@redhat.com>
15638
15639         Clean up wireless scanning and wireless link probing.
15640
15641         * src/NetworkManagerDevice.c
15642                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
15643                         just see if there's an activation request on the device, and check the
15644                         current link against the activation request access point's ESSID.
15645                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
15646                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
15647                         don't call process_scan_results() on zero-length data
15648                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
15649                         15 seconds (from 10)
15650
15651 2005-10-24  Dan Williams  <dcbw@redhat.com>
15652
15653         Cleanup some applet stuff:
15654
15655         - Animation timeouts.  If NM died while the applet was animating,
15656                 the applet would not hide itself.  This is now fixed.
15657
15658         - Remove some dead code
15659
15660         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
15661                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
15662
15663         - Track animation timeout using a gboolean rather than the timeout's
15664                 ID, since timeout IDs can legally be 0.
15665
15666 2005-10-24  Dan Williams  <dcbw@redhat.com>
15667
15668         * src/backends/interface_parser.c
15669                 - Add void to function declarations that need it
15670                         to match patch from Engin AYDOGAN
15671
15672         * src/backends/interface_parser.h
15673                 - Remove unused prototype for ifparser_interfaces()
15674
15675         Patch from Engin AYDOGAN <engin@bzzzt.biz>
15676         * src/backends/interface_parser.h:
15677                 - Compile fixes for gcc 4.0.2 (add void)
15678
15679 2005-10-24  Dan Williams  <dcbw@redhat.com>
15680
15681         Patch from Tor Krill <tor@krill.nu>
15682         * src/named-manager/nm-named-manager.c
15683                 - Write more than just the first nameserver to /etc/resolv.conf
15684                 - Write out valid /etc/resolv.conf on exit
15685
15686 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15687
15688         * gnome/applet/applet-dbus-vpn.c:
15689         Get rid of spurious newlines in debug console output
15690
15691 2005-10-21  Christopher Aillon  <caillon@redhat.com>
15692
15693         * src/backends/NetworkManagerGentoo.c:
15694         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
15695
15696 2005-10-20  Robert Love  <rml@novell.com>
15697
15698         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
15699           direct comparison of floating point values, which is never correct.
15700           Also some misc. cleanup.
15701
15702 2005-10-19  Robert Love  <rml@novell.com>
15703
15704         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
15705
15706 2005-10-19  Robert Love  <rml@novell.com>
15707
15708         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
15709           sensitivity of the buttons.  Specificaly, do the right thing if
15710           there are no entries.
15711
15712 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15713
15714         * configure.in: Update check for adequate wireless-tools
15715         with an AC_TRY_COMPILE for the new symbols we use.
15716
15717 2005-10-19  Dan Williams  <dcbw@redhat.com>
15718
15719         * src/NetworkManagerDevice.c
15720                 - (process_scan_results): don't drop the last (or only)
15721                         access point we see
15722
15723 2005-10-19  Christopher Aillon  <caillon@redhat.com>
15724
15725         * src/backends/NetworkManagerSlackware.c:
15726         Patch from Nico <lordllucifer@gmail.com>
15727                 - Update the Slackware backend.
15728
15729 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15730
15731         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
15732         if we've got GLib 2.8.0
15733
15734 2005-10-18  Robert Love  <rml@novell.com>
15735
15736         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
15737           function nm_schedule_state_change_signal_broadcast() when we
15738           deactivate a device, too.
15739
15740 2005-10-18  Robert Love  <rml@novell.com>
15741
15742         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
15743           be used uninitialized.
15744
15745 2005-10-18  Christopher Aillon  <caillon@redhat.com>
15746
15747         * test/libnm_glib_test.c: Test unregistering, too.
15748
15749 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15750
15751         * configure.in: Bump to 0.5.0
15752
15753 2005-10-17  Dan Williams  <dcbw@redhat.com>
15754
15755         * NetworkManager.h
15756                 - Remove WPA-related constants so they aren't part of the
15757                         upcoming release.
15758
15759 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15760
15761         * gnome/applet/applet.c:
15762         * gnome/applet/applet.h:
15763         Desensitize the 'Connection Information' menu item when there is
15764         no active connection.
15765
15766 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15767
15768         * gnome/libnm_glib/libnm_glib.c:
15769         Make libnm_glib_unregister_callback () actually unregister the callback
15770
15771 2005-10-17  Robert Love  <rml@novell.com>
15772
15773         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
15774           two seconds -- tries is updated every 1/10 of a second, not every
15775           second..
15776
15777 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15778
15779         * gnome/applet/applet-dbus-info.c:
15780         Let D-BUS know that we haven't handled a message when we haven't.
15781
15782 2005-10-17  Robert Love  <rml@novell.com>
15783
15784         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
15785           in order to remain 64-bit clean.
15786
15787 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15788
15789         * gnome/applet/applet-dbus-info.c:
15790         Find network encryption keys asynchronously
15791
15792 2005-10-17  Robert Love  <rml@novell.com>
15793
15794         * src/backends/NetworkManagerDebian.c,
15795           src/backends/NetworkManagerRedHat,
15796           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
15797           comment delimiter.
15798
15799 2005-10-17  Robert Love  <rml@novell.com>
15800
15801         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
15802           "/etc"
15803
15804 2005-10-17  Christopher Aillon  <caillon@redhat.com>
15805
15806         * src/NetworkManagerDevice.c: (process_scan_results)
15807         Fix logic that checks to see whether we have an ESSID.
15808
15809 2005-10-15  Dan Williams  <dcbw@redhat.com>
15810
15811         Move scanning code into NetworkManager rather than use iwlib's
15812         iw_scan() function, so that we can figure out AP capabilities.
15813
15814         * NetworkManager.h
15815                 - Add AP capability bits
15816
15817         * src/NetworkManagerAP.[ch]
15818                 - Add capability field to NMAccessPoint structure
15819                 - Add WPA & RSN Information Element fields and accessor
15820                         functions to NMAccessPoint
15821
15822         * src/NetworkManagerDevice.c
15823                 - Remove usage of iw_scan
15824                 - Add scanning code to NetworkManager rather than use
15825                         iw_scan() from iwlib
15826
15827         * src/NetworkManagerUtils.[ch]
15828                 - (nm_dispose_scan_results): remove, unused
15829
15830 2005-10-14  Christopher Aillon  <caillon@redhat.com>
15831
15832         * gnome/libnm_glib/libnm_glib.c:
15833         * gnome/libnm_glib/libnm_glib.h:
15834         Use guint instead of gint for callback IDs.
15835
15836 2005-10-12  Christopher Aillon  <caillon@redhat.com>
15837
15838         * gnome/applet/applet.c:
15839         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
15840         every 1000ms.  It will unconditionally call nmwa_update_state which
15841         kills the existing animation timeout and registers a new one with a
15842         callback to draw a new frame every 100ms.  There are 11 connecting
15843         icon frames, so the last 2 frames kept getting dropped.  Only reset
15844         the animation timeout if we aren't animating.
15845
15846 2005-10-11  Dan Williams  <dcbw@redhat.com>
15847
15848         * gnome/applet/applet-dbus-devices.c
15849                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15850                         We want to grab the product & vendor from net.physical_dev
15851                         rather than info.parent.
15852
15853 2005-10-11  Dan Williams  <dcbw@redhat.com>
15854
15855         * src/NetworkManagerDevice.c
15856                 - Use the driver's WE version for scanning rather than
15857                         the WE version NM was compiled with.  Fixes random
15858                         crashes in iw_scan () in iwlib.
15859
15860 2005-10-10  Dan Williams  <dcbw@redhat.com>
15861
15862         * Remove nm_system_load_device_modules() from backend files
15863                 and from NetworkManager.c
15864
15865 2005-10-10  Dan Williams  <dcbw@redhat.com>
15866
15867         * src/NetworkManagerPolicy.c
15868                 - Fix some bugs introduced by the capabilities patch
15869
15870 2005-10-10  Dan Williams  <dcbw@redhat.com>
15871
15872         * gnome/applet/applet-dbus-info.c
15873                 - (nmi_dbus_get_network_key): hide the menu when putting up
15874                         the keyring dialog.  (not sure if the code is right...)
15875
15876 2005-10-09  Dan Williams  <dcbw@redhat.com>
15877
15878         Patch from Bill Moss <bmoss@clemson.edu>
15879         * src/NetworkManagerDevice.c
15880                 - (nm_device_set_user_key_for_network): don't try to set auth
15881                         mode on the AP from the allowed list if it's NULL
15882
15883 2005-10-09  Dan Williams  <dcbw@redhat.com>
15884
15885         * Replace the "driver support level" stuff with capabilities.  The
15886                 capability field is a bitfield that is more flexible than the
15887                 old driver support level thing.  It's mostly so we can easily
15888                 figure out what supports WPA and what doesn't, but should be
15889                 quite useful later.
15890
15891 2005-10-09  Dan Williams  <dcbw@redhat.com>
15892
15893         * test/nmtest.c
15894                 - Removed
15895
15896         * test/nm-tool.c
15897           test/Makefile.am
15898                 - Added new "nm-tool" tool that gives quite a bit more
15899                         information
15900
15901 2005-10-07  Robert Love  <rml@novell.com>
15902
15903         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15904           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15905           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15906           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15907           appropriate
15908
15909 2005-10-07  Robert Love  <rml@novell.com>
15910
15911         * configure.in: Change our compile flags for the betterment of mankind.
15912           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15913           prototype is very bad on 64-bit platforms as types default to int but
15914           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15915           "-Wmissing-declarations" to warn if we define an exported function
15916           but fail to put it in a header.
15917
15918 2005-10-07  Robert Love  <rml@novell.com>
15919
15920         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15921           by the name nm_update_device_wireless_timeouts() and once tried,
15922           without success, to steal my pet turtle.
15923
15924 2005-10-07  Robert Love  <rml@novell.com>
15925
15926         * Cleanup prototypes: put some functions in header files and mark
15927           others as 'static' -- feel free to invert
15928         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15929           nm_vpn_manager_vpn_connection_list_copy()
15930         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15931           nm_vpn_service_get_dbus_connection()
15932         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15933           nm_vpn_manager_vpn_connection_list_copy()
15934         * src/vpn-manager/nm-vpn-service.c: make
15935           nm_vpn_service_act_request_failed() and
15936           nm_vpn_service_stage2_daemon_wait() static
15937         * src/vpn-manager/nm-vpn-service.h: add prototype for
15938           nm_vpn_service_get_dbus_connection()
15939
15940 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15941
15942         * gnome/applet/applet.c:
15943         * gnome/applet/applet.h:
15944         * gnome/applet/icons/Makefile.am:
15945         Convey information about the current connection stage in the
15946         icons themselves instead of creating a separate progress bar.
15947
15948 2005-10-04  Robert Love  <rml@novell.com>
15949
15950         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15951           convert an ether_addr structure's MAC into a string, because the
15952           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15953           versus 07:3B:04, while the former will not.
15954
15955 2005-10-04  Robert Love  <rml@novell.com>
15956
15957         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15958           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15959           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15960           default route in the 'Connection Information' dialog, send primary
15961           and secondary name servers in in "getProperties" DBUS method, add
15962           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15963           secondary domain name servers are crucial pieces of information
15964           that a user might need in debugging a network problem.
15965
15966 2005-10-04  Robert Love  <rml@novell.com>
15967
15968         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15969           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15970           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15971           default route in the 'Connection Information' dialog, send default
15972           route in "getProperties" DBUS method, add network_device_set_route(),
15973           and network_device_get_route().  The Gateway is a crucial piece of
15974           connection-related information that a user might need in debugging a
15975           network problem.
15976
15977 2005-10-03  Robert Love  <rml@novell.com>
15978
15979         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15980           NULL.
15981
15982 2005-10-02  Dan Williams  <dcbw@redhat.com>
15983
15984         * Shorten time taken to sleep by fastpathing bits of device deactivation
15985                 necessary for sleep.
15986
15987         * Fix issue where deactivating a device might deactivate the active
15988                 VPN connection, even if the VPN was not using the device.
15989
15990 2005-10-02  Dan Williams  <dcbw@redhat.com>
15991
15992         * gnome/applet/applet.c
15993                 - Adjust signal strength -> icon mapping values slightly
15994                         (so that 51% signal doesn't show a 75% icon) by adding
15995                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15996                         shows 50% icon, etc.
15997
15998 2005-09-29  Robert Love  <rml@novell.com>
15999
16000         * src/NetworkManager.c: removed unused variable.
16001
16002 2005-09-28  Dan Williams  <dcbw@redhat.com>
16003
16004         Support for named + DBus, using Red Hat DBus patches for named.  You
16005         can find those patches here, with "dbus" in the patch's filename:
16006
16007                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
16008
16009         Don't forget the named dbus service file either.
16010
16011         Instead of writing a config file and spawing a named process, NM will
16012         use an already-running dbus-enabled named if it finds one.  NM will
16013         update named's forwarder configuration on the fly using dbus.
16014
16015         If there is no dbus-enabled named running, NM will automatically fall
16016         back to writing the most-recent DNS server information to /etc/resolv.conf
16017         and calling nm_system_update_dns() to kick the system's resolver.
16018
16019         Accordingly, all named-related configure-time options have been removed.
16020
16021 2005-09-26  Robert Love  <rml@novell.com>
16022
16023         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
16024           ISDN support!
16025         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
16026           bug in error path if "ASKPASSWORD" is "no".
16027
16028 2005-09-26  Robert Love  <rml@novell.com>
16029
16030         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
16031           comment in /etc/resolv.conf -- ';' is not.
16032
16033 2005-09-19  Dan Williams  <dcbw@redhat.com>
16034
16035         * src/backends/NetworkManagerRedHat.c:
16036         * src/backends/NetworkManagerDebian.c:
16037         * src/backends/NetworkManagerSlackware.c:
16038         * src/backends/NetworkManagerGentoo.c:
16039         * src/backends/NetworkManagerSUSE.c:
16040         Fix invocations of "/sbin/ip address" to use short form instead
16041
16042 2005-09-19  Christopher Aillon  <caillon@redhat.com>
16043
16044         * src/nm-dbus-device.c: Don't assert when getting
16045         addresses of a not yet connected interface.
16046
16047         * gnome/applet/applet.c: Free icons if loading fails.
16048         Use translator-credits so translators can make themselves known.
16049
16050 2005-09-15  Christopher Aillon  <caillon@redhat.com>
16051
16052         * src/NetworkManagerAP.c:
16053         * src/NetworkManagerAP.h:
16054         * src/NetworkManagerDevice.c:
16055         Set a blacklist for certain common manufacturer default ESSIDs:
16056         APs with these ESSIDs are extremely likely to be completely
16057         different networks: connecting to one should not make NM
16058         auto-connect to every other AP with the same default ESSID.
16059
16060 2005-09-12  Christopher Aillon  <caillon@redhat.com>
16061
16062         * gnome/applet/wireless-applet.glade:
16063         The passphrase entry should also activate the default
16064
16065         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
16066
16067         * gnome/applet/applet-dbus-devices.c:
16068         * gnome/applet/applet.c:
16069         * gnome/applet/nm-device.c:
16070         * gnome/applet/nm-device.h:
16071         * src/NetworkManagerUtils.c:
16072         * src/NetworkManagerUtils.h:
16073         * src/nm-dbus-device.c:
16074         I've got a fever, and the only cure for it is less ioctl.
16075         Make NM push IP data rather than make the applet open a socket
16076         to the device.
16077
16078 2005-09-10  Christopher Aillon  <caillon@redhat.com>
16079
16080         * gnome/applet/applet.c:
16081         * gnome/applet/applet-dbus-devices.c:
16082         * gnome/applet/applet-dbus-info.c:
16083         * gnome/applet/passphrase-dialog.c:
16084         * gnome/libnm_glib/libnm_glib.c:
16085         * gnome/vpn-properties/nm-vpn-properties.c:
16086         * src/autoip.c:
16087         * src/backends/NetworkManagerRedHat.c:
16088         * src/named-manager/nm-named-manager.c:
16089         * src/NetworkManagerAPList.c:
16090         * src/NetworkManager.c:
16091         * src/NetworkManagerDbus.c:
16092         * src/NetworkManagerDevice.c:
16093         * src/NetworkManagerPolicy.c:
16094         * src/NetworkManagerSystem.c:
16095         * src/nm-dbus-device.c:
16096         * src/nm-dbus-nm.c:
16097         * src/vpn-manager/nm-vpn-manager.c:
16098         * src/vpn-manager/nm-vpn-service.c:
16099         * test/libnm_glib_test.c:
16100         * test/nminfotest.c:
16101         * test/nmtestdevices.c:
16102         Fix a bunch of 'unused variable' compiler warnings
16103
16104         * NetworkManager.h:
16105         * gnome/applet/applet-dbus-info.c:
16106         * gnome/applet/applet-dbus-info.h:
16107         * gnome/applet/applet.c:
16108         * gnome/applet/applet.h:
16109         * src/NetworkManager.c:
16110         * src/NetworkManagerDbus.c:
16111         * src/NetworkManagerDbus.h:
16112         * src/NetworkManagerDevice.c:
16113         * src/NetworkManagerDevice.h:
16114         * src/NetworkManagerMain.h:
16115         * src/NetworkManagerWireless.c:
16116         * src/NetworkManagerWireless.h:
16117         * src/nm-dbus-nm.c:
16118         Make NetworkManager be smart about how frequently to scan
16119         based on its current state.  Remove the UI for choosing when
16120         to scan.  Scanning still may disabled completely by the user
16121         via the "Wireless Enabled" menu item.
16122
16123 2005-09-09  Christopher Aillon  <caillon@redhat.com>
16124
16125         * gnome/applet/applet.c:
16126         Also overlay the vpn connecting icons onto the wired icon,
16127         when appropriate.
16128
16129         * gnome/vpn-properties/nm-vpn-properties.glade:
16130         Clean up a few strings to use better grammar and proper casing.
16131
16132 2005-09-08  Christopher Aillon  <caillon@redhat.com>
16133
16134         * gnome/applet/vpn-connection.c:
16135         * gnome/applet/vpn-connection.h:
16136         Add nmwa_vpn_connection_is_activating ()
16137
16138         * gnome/applet/applet.c:
16139         * gnome/applet/applet.h:
16140         * gnome/applet/icons/nm-vpn-connecting*.png:
16141         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
16142         the user know something's happening between clicking the VPN item and it
16143         actually being connected.
16144
16145 2005-09-07  Christopher Aillon  <caillon@redhat.com>
16146
16147         * gnome/applet/applet-dbus-info.c: need to free attributes in the
16148         failure case as well.
16149
16150 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
16151
16152         * gnome/panel/eggtrayicon.[ch]:
16153         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
16154
16155 2005-09-07  Dan Williams  <dcbw@redhat.com>
16156
16157         Patch from Bill Moss <bmoss@clemson.edu>
16158         * src/applet-dbus.c
16159                 - (nmwa_dbus_filter): strip whitespace from beginning
16160                         and end of VPN login banner
16161
16162 2005-09-07  Dan Williams  <dcbw@redhat.com>
16163
16164         * The great VPN Manager rewrite of 2005
16165
16166 2005-09-07  Christopher Aillon  <caillon@redhat.com>
16167
16168         * gnome/applet/menu-items.c:
16169         * gnome/applet/nm-device.c:
16170         * gnome/applet/wireless-network.c:
16171         * gnome/libnm_glib/libnm_glib.c:
16172         * src/NetworkManagerDbusUtils.c:
16173         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
16174         g_malloc0 doesn't return NULL
16175
16176 2005-09-06  Dan Williams  <dcbw@redhat.com>
16177
16178         Patch from Tomislav Vujec <tvujec@redhat.com>
16179         * src/NetworkManagerDevice.c
16180                 - (nm_get_device_by_udi): don't return a device when we
16181                         actually didn't find what we were looking for
16182
16183 2005-09-06  Christopher Aillon  <caillon@redhat.com>
16184
16185         * gnome/applet/applet-dbus-devices.c:
16186         * gnome/applet/applet-dbus-devices.h:
16187         * gnome/applet/applet-dbus.c:
16188         * src/NetworkManagerDbus.c:
16189         * src/NetworkManagerDbus.h:
16190         * src/NetworkManagerDevice.c:
16191         * src/nm-dbus-device.c:
16192         Make NM push updates about active device strength when it changes,
16193         rather than having the applet poll every 2s.
16194
16195 2005-09-05  Christopher Aillon  <caillon@redhat.com>
16196
16197         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
16198         network_device_set_strength
16199
16200 2005-09-04  Dan Williams  <dcbw@redhat.com>
16201
16202         Patch from Bill Nottingham <notting@redhat.com>
16203         * src/NetworkManagerDevice.c
16204                 - (nm_device_activation_cancel): reset the quit_activation flag
16205
16206 2005-09-04  Dan Williams  <dcbw@redhat.com>
16207
16208         * src/nm-activation-request.c
16209                 - (nm_act_request_unref): actually free the structure,
16210                         which we didn't seem to be doing before
16211
16212 2005-09-04  Dan Williams  <dcbw@redhat.com>
16213
16214         Patch from John Palmieri <johnp@redhat.com>
16215         * gnome/applet/applet-dbus-devices.c
16216                 - Fix up unreffing of DBusMessage objects
16217
16218 2005-09-04  Dan Williams  <dcbw@redhat.com>
16219
16220         Patch from John Palmieri <johnp@redhat.com>
16221         * gnome/applet/nm-device.c
16222                 - (nm_device_unref): clear network_device's memory _before_ freeing it
16223
16224 2005-09-02  Christopher Aillon  <caillon@redhat.com>
16225
16226         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
16227
16228 2005-09-02  Bill Nottingham  <notting@redhat.com>
16229
16230         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
16231
16232 2005-09-01  Dan Williams  <dcbw@redhat.com>
16233
16234         * src/NetworkManager.c
16235                 - (nm_remove_device_from_list): rename to nm_remove_device
16236                 - (nm_hal_device_removed): call nm_remove_device()
16237
16238         * src/NetworkManagerDevice.c
16239                 - Change the NMWirelessScanCB member 'reschedule' which
16240                         wasn't used to 'force' to indicate that we need to
16241                         force a scan when adding a device
16242
16243         * src/nm-dbus-nm.c
16244                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
16245                         from the device list
16246                 - (nm_dbus_nm_wake): Re-add all devices to the device list
16247
16248 2005-09-01  Robert Love  <rml@novell.com>
16249
16250         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
16251           and the check "!iface" in the error case is probably never true.
16252
16253 2005-09-01  Dan Williams  <dcbw@redhat.com>
16254
16255         Patch from Bill Nottingham <notting@redhat.com>
16256         * src/backends/NetworkManagerRedHat.c
16257                 - Add initial dialup support to Red Hat/Fedora backend
16258
16259 2005-09-01  Dan Williams  <dcbw@redhat.com>
16260
16261         * gnome/applet/applet-dbus-devices.c
16262                 - Sort both wireless networks and devices again, which got
16263                         broken when removing threading
16264
16265 2005-09-01  Christopher Aillon  <caillon@redhat.com>
16266
16267         * gnome/applet/applet.c:
16268         Only show the "Stop/Start All Wireless Devices" menuitem
16269         if we actually have wireless devices.
16270
16271         * gnome/applet/applet-dbus-info.c:
16272         * gnome/applet/applet.c:
16273         * gnome/applet/other-network-dialog.c:
16274         * gnome/applet/vpn-password-dialog.c:
16275         Drop the gtk_dialog_run () calls in favor of connecting to
16276         "response" signals, needed now that the applet is not threaded.
16277
16278 2005-08-31  Dan Williams  <dcbw@redhat.com>
16279
16280         Patch from Bill Moss <bmoss@clemson.edu>
16281         * src/NetworkManagerDevice.c
16282                 - (nm_device_wireless_scan): fix scan timeout values
16283
16284 2005-08-30  Dan Williams  <dcbw@redhat.com>
16285
16286         * gnome/applet/wireless-applet.glade
16287                 - HIG-ify the Other Wireless Networks dialog a bit more
16288                 - Fix some potential segfaults in the info dialog
16289
16290 2005-08-30  Dan Williams  <dcbw@redhat.com>
16291
16292         * gnome/applet/applet-dbus-devices.c
16293                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
16294
16295 2005-08-30  Dan Williams  <dcbw@redhat.com>
16296
16297         * gnome/applet/applet-dbus.[ch]
16298                 - Remove all the nmwa_dbus_call_method_xxxx functions since
16299                         they weren't being used anyway
16300
16301 2005-08-30  Bastien Nocera  <hadess@hadess.net>
16302
16303         * test/nmtestdevices.c: (print_usage), (main):
16304         Check the number of arguments, and fix a typo
16305
16306 2005-08-29  Dan Williams  <dcbw@redhat.com>
16307
16308         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
16309         * gnome/applet/applet.c
16310                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
16311
16312 2005-08-29  Dan Williams  <dcbw@redhat.com>
16313
16314         * gnome/applet/*
16315                 - Don't use threads any more.  Anything that blocks
16316                         (like gtk_dialog_run()) will  have to get fixed up which
16317                         should happen quickly.  We really only had threads to make
16318                         the animation smooth, and when everything got converted over
16319                         to DBus Pending Calls, the need for threads kind of went away
16320
16321 2005-08-29  Christopher Aillon  <caillon@redhat.com>
16322
16323         * gnome/applet/applet.c: Draw VPN connections as radio items
16324         since we don't yet support multiple VPNs.
16325         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
16326         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
16327
16328 2005-08-29  Dan Williams  <dcbw@redhat.com>
16329
16330         Patch from j@bootlab.org
16331         - Make --without-named work
16332         - Make --with-dhcdbd work correctly
16333
16334 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
16335
16336         * configure.in: Added "ca" to ALL_LINGUAS.
16337
16338 2005-08-26  Christopher Aillon  <caillon@redhat.com>
16339
16340         * Fix up VPN state handling between the applet and NetworkManager,
16341                 so that the applet doesn't show a VPN as connected when one
16342                 really is not
16343                         - The applet no longer has a pointer to the active VPN's
16344                                 name, but tracks each VPNs state individually
16345                         - NM no longer has a "getActiveVPNConnection" method
16346                         - NM no longer broadcasts the "VPNConnectionChange" signal
16347                         - NM now broadcasts a "VPNConnectionStateChange" signal
16348                                 whenever the state of a VPN changes
16349
16350 2005-08-26  Dan Williams <dcbw@redhat.com>
16351
16352         * gnome/applet/applet-dbus-devices.c
16353           gnome/applet/applet-dbus-vpn.c
16354                 - Remove calls to dbus_pending_call_ref() because we already
16355                         "own" the pending call
16356                 - Remove calls to dbus_pending_call_get_completed() because
16357                         when we are in the callback, the pending call is completed
16358                         by definition
16359
16360 2005-08-22  Dan Williams <dcbw@redhat.com>
16361
16362         Patch by Bill Moss <bmoss@clemson.edu>
16363         * src/dhcp-manager/nm-dhcp-manager.c
16364                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
16365                         some time to send out a RELEASE if they like
16366
16367 2005-08-22  Dan Williams <dcbw@redhat.com>
16368
16369         Noticed by Bill Moss <bmoss@clemson.edu>
16370         * src/NetworkManagerDbus.c
16371                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
16372                         instead of just cancelling its activation
16373
16374         * src/NetworkManagerDevice.c
16375                 - (nm_device_deactivate): some small cleanups
16376                 - (nm_device_set_user_key_for_network): deactivate the device
16377                         instead of just cancelling its activation
16378
16379 2005-08-22  Dan Williams <dcbw@redhat.com>
16380
16381         Noticed by Bill Moss <bmoss@clemson.edu>
16382         * src/NetworkManagerDevice.c
16383                 - (nm_device_wireless_scan): fix scan timeout, we were
16384                         waiting way too long for scans to complete
16385
16386 2005-08-22  Dan Williams <dcbw@redhat.com>
16387
16388         Patch from j@bootlab.org:
16389         * src/backends/NetworkManagerDebian.c
16390                 - Make the Debian backend work for static IP again
16391
16392 2005-08-20  Christopher Aillon  <caillon@redhat.com>
16393
16394         * gnome/applet/other-network-dialog.c:
16395         The "Create New Network" and "Connect to Other Network"
16396         dialogs share alot of code, but shouldn't share a window
16397         title.  Give them different ones.
16398
16399         * gnome/applet/wireless-applet.glade:
16400         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
16401         Some more minor UI tweaks.
16402
16403 2005-08-19  Christopher Aillon  <caillon@redhat.com>
16404
16405         * gnome/applet/other-network-dialog.c:
16406         * gnome/applet/wireless-applet.glade:
16407         Also need mnemonic widgets, and underline enabled.
16408
16409 2005-08-19  Dan Williams <dcbw@redhat.com>
16410
16411         * vpn-daemons/vpnc/nm-vpnc-service.c
16412                 - (vpnc_watch_cb): remove no-longer-relevant comment
16413                 - (write_config_option): new function, helper to write
16414                         config options to vpnc's stdin
16415                 - (nm_vpnc_config_write): use the new helper, make the
16416                         code shorter
16417
16418 2005-08-19  Christopher Aillon <caillon@redhat.com>
16419
16420         * gnome/applet/passphrase-dialog.c:
16421         * gnome/applet/wireless-applet.glade:
16422         Make the passphrase dialog response based, and treat
16423         responses other than OK (such as Esc, [X]) as a cancel.
16424
16425 2005-08-18  Christopher Aillon <caillon@redhat.com>
16426
16427         * initscript/Gentoo/NetworkManager:
16428         * initscript/RedHat/NetworkManager:
16429         * initscript/RedHat/NetworkManagerDispatcher:
16430         * initscript/SUSE/networkmanager:
16431         CVS remove these in place of .in replacements
16432
16433         * configure.in:
16434         * initscript/Gentoo/NetworkManager.in:
16435         * initscript/RedHat/NetworkManager.in:
16436         * initscript/RedHat/NetworkManagerDispatcher.in:
16437         * initscript/SUSE/networkmanager.in:
16438         These scripts now are generated so they work still when
16439         NM is built using a bindir other than /usr/bin
16440
16441 2005-08-18  Dan Williams <dcbw@redhat.com>
16442
16443         * gnome/applet/main.c
16444                 - Revert previous change for --no-session since
16445                         --sm-disable does the same thing
16446
16447 2005-08-18  Dan Williams <dcbw@redhat.com>
16448
16449         * gnome/applet/applet-dbus-info.c
16450                 - (nmi_dbus_create_error_message): new function
16451                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
16452                         functions.  Also don't check for both device _and_ network before
16453                         asking for a user's key, because we may not have gotten all our
16454                         networks back from NM quite yet (due to the dbus pending calls
16455                         coming in later).  Fixes a hang in NM/nm-applet.
16456
16457         * src/NetworkManagerDbus.c
16458                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
16459                         slightly more sane manner, even though we are still broken for
16460                         certain other error conditions.
16461                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
16462                         to the info-daemon too
16463
16464         * src/NetworkManagerDevice.c
16465                 - Fix some debug messages to be info messages instead
16466
16467 2005-08-18  Dan Williams <dcbw@redhat.com>
16468
16469         * gnome/applet/main.c
16470                 - Add new "--no-session" parameter that disables applet
16471                         session management, ie for testing
16472
16473 2005-08-18  Christopher Aillon <caillon@redhat.com>
16474
16475         * gnome/applet/other-network-dialog.c:
16476         * gnome/applet/wireless-applet.glade: More mnemonics
16477
16478 2005-08-17  Robert Love  <rml@novell.com>
16479
16480         * initscript/SUSE/networkmanager: update
16481
16482 2005-08-17  Dan Williams  <dcbw@redhat.com>
16483
16484         * Tag NM_0_4_1_RELEASE
16485
16486 2005-08-17  Christopher Aillon  <caillon@redhat.com>
16487
16488         * gnome/applet/applet.c: More translatable string cleanup
16489
16490
16491 2005-08-17  Dan Williams  <dcbw@redhat.com>
16492
16493         * gnome/applet/applet-dbus-info.c
16494                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
16495                         from the dbus message, which tells us to unconditionally
16496                         ask the user for a new key.  Otherwise, we pull the key from
16497                         the keyring and return it.  If we fail to get the key from the
16498                         keyring, we ask the user for a new key.
16499                 - (nmi_dbus_get_network_key): new function to grab the key for
16500                         an essid from the keyring.
16501                 - (nmi_dbus_get_network_properties): don't access the keyring here.
16502                         Also, don't return any key in the dbus message.
16503
16504         * src/NetworkManagerDbus.[ch]
16505                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
16506                         indicate that we unconditionally want a new key.  This function
16507                         is now also used to get keys from the info-daemon which are
16508                         pre-stored, not just for asking the user for a new key.  The
16509                         "new_key" parameter indicates whether or not we wish to ask the
16510                         user for a new key.
16511                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
16512                         info-daemon in the return message, so use NULL instead.  The
16513                         key will be filled in at connect time by calling
16514                         nm_dbus_get_user_key_for_network()
16515
16516         * src/NetworkManagerDevice.c
16517                 - (nm_device_wireless_configure): update for "new_key" param to
16518                         nm_dbus_get_user_key_for_network().  We initially set new_key
16519                         to FALSE to see if we have a stored key in the info-daemon, but
16520                         if the connection is unsuccessful at this stage we request a
16521                         new one
16522
16523 2005-08-17  Dan Williams  <dcbw@redhat.com>
16524
16525         * gnome/applet/icons/nm-no-connection.png
16526           gnome/applet/icons/nm-device-wired.png
16527                 - Use Diana's new RJ45 connector icons
16528
16529 2005-08-17  Dan Williams  <dcbw@redhat.com>
16530
16531         * src/NetworkManagerPolicy.c
16532                 - (nm_policy_device_change_check): clarify switching rules if
16533                         both new and old devices are valid; mainly, don't switch
16534                         away from user-requested wireless connection back to a wired
16535                         one
16536
16537 2005-08-17  Dan Williams  <dcbw@redhat.com>
16538
16539         * gnome/applet/Makefile.am
16540                 - Relocate the applet to /usr/bin since it is no longer
16541                         executed by anything, but directly by the user
16542
16543 2005-08-17  Dan Williams  <dcbw@redhat.com>
16544
16545         Patch from Bill Moss <bmoss@clemson.edu>
16546
16547         * gnome/applet/applet-dbus-info.[ch]
16548                 - (nmi_save_network_info): save timestamp for network if it
16549                         was a change requested by the user
16550                 - (nmi_dbus_update_network_info): get user_requested from dbus
16551                         message and pass to nmi_save_network_info()
16552
16553         * gnome/applet/applet.c
16554                 - (nmwa_update_network_timestamp): remove
16555                 - (nmwa_menu_item_activate): don't set timestamp on networks
16556                         here, only after a successful connect in nmi_save_network_info()
16557
16558         * src/NetworkManagerDbus.[ch]
16559                 - (nm_dbus_update_network_info): pass user_requested into the 
16560                         dbus message
16561
16562         * src/NetworkManagerPolicy.c
16563                 - (nm_policy_activation_finish): pass user_requested to
16564                         nm_dbus_update_network_info()
16565
16566 2005-08-16  Robert Love  <rml@novell.com>
16567
16568         * gnome/applet/applet.c: Better "Dial Up" menu item.
16569
16570 2005-08-16  Robert Love  <rml@novell.com>
16571
16572         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
16573           "Connection Information" menu item.
16574
16575 2005-08-16  Dan Williams  <dcbw@redhat.com>
16576
16577         Patch from j@bootlab.org
16578         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
16579
16580         * configure.in: allow specifying the path to dhcdbd
16581
16582 2005-08-16  Robert Love  <rml@novell.com>
16583
16584         Patch from j@bootlab.org
16585         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
16586           src/backends/interface_parser.h: Debian dialup support.
16587
16588 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16589
16590         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
16591         * gnome/applet/applet.c: Add some mnemonics for VPNC
16592
16593         * vpn-daemons/.cvsignore: fix this up a little bit
16594
16595 2005-08-16  Robert Love  <rml@novell.com>
16596
16597         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
16598           support.
16599
16600 2005-08-16  Christopher Aillon  <caillon@redhat.com>
16601
16602         * gnome/applet/applet.c: Split markup out of translatable strings
16603         and clean up logic a little bit.  (fixes #309012)
16604
16605 2005-08-15  Christopher Aillon  <caillon@redhat.com>
16606
16607         * gnome/vpn-properties/nm-vpn-properties.c:
16608         * gnome/vpn-properties/nm-vpn-ui-interface.h:
16609         * vpn-daemons/vpnc/properties/nm-vpnc.c:
16610         Makeshift fix to remove newlines from translatable strings.
16611         Note that we now return an allocated string, so callers of
16612         get_confirmation_details () must now call g_free () on the
16613         result. (fixes #309033).
16614
16615 2005-08-12  Robert Love  <rml@novell.com>
16616
16617         * gnome/applet/applet-dbus.c: remove newlines from translatable
16618           strings--not needed here anyway. (fix b.g.o #309011)
16619         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
16620
16621 2005-08-11  Robert Love  <rml@novell.com>
16622
16623         * gnome/applet/applet.c: mark string as translatable.
16624
16625 2005-08-11  Robert Love  <rml@novell.com>
16626
16627         * initscript/SUSE/networkmanager: update.
16628
16629 2005-08-11  Dan Williams  <dcbw@redhat.com>
16630
16631         * src/nm-dhcp-manager.c
16632                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
16633                         an gateway returned from DHCP, try to use the address of the DHCP
16634                         server as the gateway instead.  Found by Ralf Ertzinger.
16635
16636 2005-08-10  Robert Love  <rml@novell.com>
16637
16638         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
16639           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
16640
16641 2005-08-10  Dan Williams  <dcbw@redhat.com>
16642
16643         Patch from Bill Moss <bmoss@clemson.edu>
16644         * Consolidate writes of access point information updates to the info daemon
16645                 so that we only do it when the connection to the access point was
16646                 successful.  Also consolidates updates to GConf in the Gnome applet.
16647
16648         * src/nm-netlink-monitor.c
16649                 - Silence compile warning when calling g_object_new()
16650
16651 2005-08-08  Dan Williams  <dcbw@redhat.com>
16652
16653         Patch from Steev <steev@steev.net>:
16654         * src/backends/NetworkManagerGentoo.c
16655                 - Stub new dialup backend functions
16656
16657 2005-08-08  Dan Williams  <dcbw@redhat.com>
16658
16659         Patch from Colin Slater:
16660         * src/backends/NetworkManagerGentoo.c
16661                 - (nm_system_update_dns): Fix exit status check for restarting
16662                         nscd
16663
16664 2005-08-05  Robert Love  <rml@novell.com>
16665
16666         * NetworkManager.h,
16667           gnome/applet/applet-dbus-devices.c,
16668           gnome/applet/applet-dbus-devices.h,
16669           gnome/applet/applet-dbus.c,
16670           gnome/applet/applet.c,
16671           gnome/applet/applet.h,
16672           src/NetworkManager.c,
16673           src/NetworkManagerMain.h,
16674           src/NetworkManagerSystem.h,
16675           src/backends/NetworkManagerRedHat.c,
16676           src/backends/NetworkManagerSuSE.c,
16677           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
16678
16679 2005-08-05  Robert Love  <rml@novell.com>
16680
16681         * gnome/applet/other-network-dialog.c: default the adhoc network to the
16682           machine's hostname to make adhoc creation idiot-proof.
16683
16684 2005-08-04  Robert Love  <rml@novell.com>
16685
16686         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
16687           freed.
16688
16689 2005-08-04  Dan Williams  <dcbw@redhat.com>
16690
16691         * gnome/applet/applet-dbus-info.c
16692           gnome/applet/applet-dbus-info.h
16693                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
16694                         to store key, key type, and auth method rather than just auth method
16695                 - (nmi_dbus_update_network_info): new function
16696                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
16697
16698         * gnome/applet/passphrase-dialog.c
16699                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
16700                         of saving the info ourselves
16701
16702         * gnome/libnm_glib/libnm_glib.c
16703                 - Remove the stupid version check for dbus
16704
16705         * src/NetworkManagerAP.c
16706           src/NetworkManagerAP.h
16707                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
16708
16709         * src/NetworkManagerDbus.c
16710           src/NetworkManagerDbus.h
16711                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
16712                         more than just the auth method
16713
16714         * src/NetworkManagerDevice.c
16715                 - Update network info at the appropriate times
16716
16717 2005-07-29  Ray Strode  <rstrode@redhat.com>
16718
16719         * src/NetworkManager.c (nm_info_handler): don't use input as format
16720         string (Spotted by Ian Jackson).
16721
16722 2005-07-27  Dan Williams  <dcbw@redhat.com>
16723
16724         * src/nm-dbus-nm.c
16725           src/nm-dbus-net.c
16726                 - Random cleanups of spacing
16727
16728         * gnome/applet/applet.h
16729           gnome/applet/other-network-dialog.c
16730           gnome/applet/passphrase-dialog.c
16731                 - Conslidate usage of NMWAEncryptionKeyTypes enum
16732
16733         Patch from Bill Moss:
16734                 - Make Other Wireless Networks work again with encryption keys
16735
16736 2005-07-26  Dan Williams  <dcbw@redhat.com>
16737
16738         Patch from Steev <steev@steev.net>:
16739         * src/backends/NetworkManagerGentoo.c
16740           src/backends/Makefile.am
16741                 - Fix up Gentoo backend
16742
16743 2005-07-26  Robert Love  <rml@novell.com>
16744
16745         * src/backends/NetworkManagerSuSE.c: misc. cleanup
16746
16747 2005-07-25  Robert Love  <rml@novell.com>
16748
16749         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
16750           in the same group as the wireless networks, since they are all
16751           mutually exclusive.
16752
16753 2005-07-24  Ray Strode  <rstrode@redhat.com>
16754
16755         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
16756         remove unneeded NULL arg from g_object_new().  Any
16757         warnings caused by not having the extra NULL are just a
16758         result of a bug in glib 2.7.0 - 2.7.2.
16759
16760 2005-07-22  Robert Love  <rml@novell.com>
16761
16762         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
16763
16764 2005-07-22  Robert Love  <rml@novell.com>
16765
16766         * src/nm-netlink-monitor.c: g_object_new() needs at least three
16767           parameters (gcc 4.0.2 warning fix).
16768
16769 2005-07-18  Robert Love  <rml@novell.com>
16770
16771         Suggested by Aaron Bockover (abockover@novell.com)
16772         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
16773           s/Ascii/ASCII
16774         * gnome/applet/passphrase-dialog.c: ditto
16775         * gnome/applet/wireless-applet.glade: ditto
16776
16777 2005-07-13  Dan Williams  <dcbw@redhat.com>
16778
16779         Patch from Ray Strode <halfline@gmail.com>
16780         * vpn-daemons/vpnc/nm-vpnc-service.c
16781                 - Don't let vpnc daemonize, fixes some races with PID file reading
16782
16783 2005-07-13  Dan Williams  <dcbw@redhat.com>
16784
16785         Patch from Ray Strode <halfline@gmail.com>
16786         * Random cleanups for strict CFLAGS
16787
16788 2005-07-07  Dan Williams  <dcbw@redhat.com>
16789
16790         Patch from Derek Atkins <warlord@MIT.EDU>
16791         * src/nm-dbus-net.c:
16792                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
16793
16794 2005-07-07  Dan Williams  <dcbw@redhat.com>
16795
16796         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
16797         * src/backends/NetworkManagerGentoo.c
16798                 - Gentoo backend Static IP nameserver fixes
16799                 - General Gentoo backend goodness
16800
16801 2005-07-07  Dan Williams  <dcbw@redhat.com>
16802
16803         Patch from Bastien Nocera:
16804         * gnome/applet/applet.c
16805                 - Fix up error reporting when icons or glade files are missing
16806
16807 2005-07-07  Robert Love  <rml@novell.com>
16808
16809         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
16810           are not any VPN connections above it.
16811
16812 2005-07-07  Robert Love  <rml@novell.com>
16813
16814         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
16815
16816 2005-07-05  Robert Love  <rml@novell.com>
16817
16818         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
16819           zero.
16820
16821 2005-07-05  Robert Love  <rml@novell.com>
16822
16823         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
16824           on wired or unencrypted wireless.
16825
16826 2005-07-01  Robert Love  <rml@novell.com>
16827
16828         * src/NetworkManagerSystem.c: Print the error via strerror().
16829
16830 2005-06-30  Robert Love  <rml@novell.com>
16831
16832         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
16833           then exit if the glade file is not found.  currently the application
16834           just hangs.
16835
16836 2005-06-30  Robert Love  <rml@novell.com>
16837
16838         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
16839           explicitly up all interfaces on wake from sleep.
16840
16841 2005-06-30  Robert Love  <rml@novell.com>
16842
16843         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16844           with information about the currently active connection.
16845         * gnome/applet/applet.h: (ditto)
16846         * gnome/applet/wireless-applet.glade: (ditto), new file
16847
16848 2005-06-30  Robert Love  <rml@novell.com>
16849
16850         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16851         * src/nm-dbus-nm.c: print when we sleep and wake up.
16852         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16853         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16854           in /sbin unless D-BUS is, folks).
16855         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16856
16857 2005-06-27  Robert Love  <rml@novell.com>
16858
16859         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16860           case.
16861
16862 2005-06-27  Robert Love  <rml@novell.com>
16863
16864         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16865           items radios.
16866
16867 2005-06-26  Robert Love  <rml@novell.com>
16868
16869         * src/NetworkManagerDevice.c: be specific about which device in
16870           nm_info() message.
16871
16872 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16873
16874         * src/nm-netlink-monitor.c: correct spelling error.
16875
16876 2005-06-23  Robert Love  <rml@novell.com>
16877
16878         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16879         * gnome/applet/passphrase-dialog.c: more of that keyring!
16880
16881 2005-06-23  Robert Love  <rml@novell.com>
16882
16883         * configure.in: remove extraneous GNOMEKEYRING directives.
16884         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16885         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16886         * gnome/applet/passphrase-dialog.c: whitespace.
16887
16888 2005-06-23  Robert Love  <rml@novell.com>
16889
16890         * src/NetworkManagerDevice.c: division in assignment was flipped.
16891
16892 2005-06-23  David Zeuthen  <david@fubar.dk>
16893
16894         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16895         signal to the child to indicate that we got what we wanted when we
16896         see two new-lines right after each other.
16897         (nmwa_vpn_request_password): Pass a structure with several members
16898         instead of just the passwords
16899
16900 2005-06-23  Dan Williams <dcbw@redhat.com>
16901
16902         * src/NetworkManager.c
16903           src/NetworkManagerMain.h
16904                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16905                 - (nm_hal_init): new function, init libhal context then add devices
16906                 - (nm_hal_deinit): new function, clean up libhal context
16907                 - (nm_data_free): Move Hal cleanup here
16908                 - (main): check whether Hal is running, and if so, get a list of
16909                         network devices from it
16910
16911         * src/NetworkManagerDbus.c
16912                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16913                         and when it appears, get a list of network devices from it.  If
16914                         Hal goes away, clean up the libhal context
16915
16916 2005-06-22  Robert Love  <rml@novell.com>
16917
16918         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16919           permissions of scripts before executing.
16920
16921 2005-06-21  Robert Love  <rml@novell.com>
16922
16923         * initscript/SUSE/networkmanager: update.
16924         * src/backends/NetworkManagerSuSE.c: cleanup.
16925
16926 2005-06-21  Robert Love <rml@novell.com>
16927
16928         * gnome/applet/applet.c: use menu mnemonics.
16929         * gnome/applet/menu-items.c: (ditto)
16930
16931 2005-06-21  Robert Love  <rml@novell.com>
16932
16933         * applet/applet-dbus-devices.c: mark non-static functions static.
16934         * applet/applet-dbus-vpn.c: (ditto)
16935         * applet/applet.c: (ditto)
16936         * applet/nm-device.h: (ditto)
16937         * applet/other-network-dialog.c: (ditto)
16938         * applet/passphrase-dialog.c: (ditto)
16939         * NetworkManager.c: (ditto)
16940         * NetworkManagerDbus.c: (ditto)
16941         * NetworkManagerDevice.c: (ditto)
16942         * NetworkManagerPolicy.c: (ditto)
16943         * NetworkManagerUtils.c: (ditto)
16944         * NetworkManagerWireless.c: (ditto)
16945         * NetworkManagerWireless.h: (ditto)
16946         * nm-netlink-monitor.c: (ditto)
16947         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16948         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16949         * autoip.c: include autoip.h.
16950         * autoip.h: new file.  define get_autoip().
16951         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16952         * NetworkManagerDbus.h: remove duplicate definitions.
16953
16954 2005-06-20  Robert Love  <rml@novell.com>
16955
16956         * Makefile.am: Add missing intltool-foo.in generated files to
16957           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16958           with the start of stuff to cleanup on 'distclea'.
16959         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16960           stuff right and 'distcheck' works.
16961         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16962           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16963           Makefile.am for each.  And systray/Makefile needs to be redone.
16964
16965 2005-06-19  Dan Williams <dcbw@redhat.com>
16966
16967         * src/NetworkManagerDevice.c
16968         - (nm_device_wireless_process_scan_results): scan every 20s when
16969           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16970
16971 2005-06-19  Dan Williams <dcbw@redhat.com>
16972
16973         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16974
16975 2005-06-18  Ray Strode <rstrode@redhat.com>
16976
16977         * src/nm-netlink-monitor.c 
16978         (nm_netlink_monitor_event_handler): check for the presence
16979         of either error condition not both. 
16980         
16981         (nm_netlink_monitor_error_handler): emit error signal if
16982         error occurs.
16983
16984         (nm_netlink_monitor_event_handler),
16985         (nm_netlink_monitor_error_handler),
16986         (nm_netlink_monitor_disconnect_handler): if an 
16987         assertion fails disconnect the event handler to prevent 
16988         infinite loops.
16989
16990         * src/nm-netlink-monitor.h: add new error condition
16991         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16992
16993 2005-06-18  Ray Strode <rstrode@redhat.com>
16994
16995         * src/nm-netlink-monitor.c 
16996         (nm_netlink_monitor_event_handler): remove bogus < 0
16997         check on unsigned value and return early if the kernel
16998         didn't send any bytes.
16999
17000 2005-06-17  Robert Love  <rml@novell.com>
17001
17002         * initscript/SUSE/networkmanager: Change the Provides and default
17003         run levels
17004
17005 2005-06-16  Dan Williams <dcbw@redhat.com>
17006
17007         Patch from Robert Love:
17008         * gnome/applet/applet.c
17009                 - Beautify some applet menu item names
17010
17011 2005-06-17  David Zeuthen  <davidz@redhat.com>
17012
17013         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
17014         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
17015         Also add new methods can_export, import_file and export.
17016
17017         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
17018         to the main UI
17019
17020         * gnome/vpn-properties/nm-vpn-properties.c:
17021         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
17022         nm-vpn-ui-interface.h.
17023         (update_edit_del_sensitivity): Also update "Export" sensitivity
17024         (add_vpn_connection): Also add new SVC_NAME column
17025         (import_settings): New function
17026         (retrieve_data_from_selected_connection): New function
17027         (edit_cb): Use retrieve_data_from_selected_connection to simplify
17028         this function
17029         (export_cb): New function
17030         (init_app): Also setup the "export" widget
17031         (main): Support the --import-service and --import-file commandline
17032         arguments
17033
17034         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
17035         D-BUS 0.34
17036
17037 2005-06-16  Dan Williams <dcbw@redhat.com>
17038
17039         Patch from Robert Love:
17040         * gnome/applet/menu-items.c
17041                 - (network_menu_item_new): pass -1 as wireless network
17042                         menu items height size request rather than ascent / 2
17043
17044 2005-06-16  Dan Williams <dcbw@redhat.com>
17045
17046         * Clean up wording in Wireless Scan Methods menu items and constants
17047
17048 2005-06-16  Robert Love  <rml@novell.com>
17049
17050         * po/POTFILES.in
17051                 - remove gtkcell* files
17052
17053 2005-06-15  Dan Williams <dcbw@redhat.com>
17054
17055         Patch from Robert Love: make the applet stetic
17056
17057         * gnome/applet/Makefile.am
17058                 - Don't compile the gtkcellview and gtkcellrendererprogress files
17059
17060         * gnome/applet/gtkcellview.h
17061           gnome/applet/gtkcellview.c
17062           gnome/applet/gtkcellrendererprogress.h
17063           gnome/applet/gtkcellrendererprogress.c
17064                 - Removed
17065
17066         * gnome/applet/menu-items.c
17067                 - Progress bars are 5:1 size ratio
17068                 - Use GTK progress bars rather than internal ones
17069
17070 2005-06-15  Dan Williams <dcbw@redhat.com>
17071
17072         Patch from Robert Love:
17073         * initscript/SUSE/networkmanager
17074                 - Fix typo
17075
17076 2005-06-15  Dan Williams <dcbw@redhat.com>
17077
17078         * src/backends/NetworkManagerSuSE.c
17079           src/backends/NetworkManagerRedHat.c
17080           src/backends/NetworkManagerDebian.c
17081                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
17082
17083 2005-06-15  Dan Williams <dcbw@redhat.com>
17084
17085         * src/backends/NetworkManagerDebian.c
17086                 - Add nm_system_device_get_use_dhcp() to debian backend
17087
17088         Patch from Kay Sievers:
17089         * src/backends/NetworkManagerSuSE.c
17090                 - Update debian backend for static IP nameservers
17091
17092         * src/NetworkManagerDevice.c
17093                 - Actually set the device to use static IP or DHCP rather
17094                         than always DHCP
17095
17096 2005-06-15  Dan Williams <dcbw@redhat.com>
17097
17098         Patch from Thom May:
17099         * src/backends/NetworkManagerDebian.c
17100                 - Update debian backend for static IP nameservers
17101
17102 2005-06-15  Dan Williams <dcbw@redhat.com>
17103
17104         Patches from Robert Love:
17105         * gnome/applet/wireless-applet.glade
17106                 - Tighten up wording
17107
17108         * src/NetworkManagerDevice.c
17109                 - Remove misplaced ';'
17110
17111         * configure.in
17112           initscript/Makefile.am
17113           initscript/SUSE/Makefile.am
17114           initscript/SUSE/networkmanager
17115                 - Add SUSE initscript
17116
17117 2005-06-12  David Zeuthen  <davidz@redhat.com>
17118
17119         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
17120
17121         * gnome/vpn-properties/nm-vpn-properties.glade: New file
17122
17123         * gnome/vpn-properties/nm-vpn-properties.c: New file
17124
17125         * gnome/vpn-properties/Makefile.am: New file
17126
17127         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
17128         array of passwords
17129
17130         * src/vpn-manager/nm-vpn-manager.c
17131         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
17132         instead of just a single one
17133
17134         * src/vpn-manager/nm-dbus-vpn.c:
17135         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
17136         here
17137         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
17138
17139         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
17140         Change the interface here to give a list of passwords. Also, don't
17141         require username, but do require service
17142
17143         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
17144         the binary for the auth-dialog and use that instead of putting up a
17145         dialog asking for a single password
17146
17147         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
17148         however do remember the service
17149
17150         * gnome/applet/main.c (main): Setup i18n
17151
17152         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
17153         connection to '%s'" to the tooltip if we are connected using VPN
17154         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
17155         key to determine whether we the auth-dialog needs to
17156         reprompt. Also cope with the fact that the auth-dialog now returns
17157         an array of passwords.
17158         (nmwa_menu_configure_vpn_item_activate): New handler for
17159         "Configure VPN..." menu item
17160         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
17161         (is_vpn_available): New function to determine if we got any
17162         NM-compatible VPN software installed
17163         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
17164         items only if we have NM-compatible VPN software installed
17165         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
17166         logic for detecting when VPN connections are removed
17167
17168         * gnome/applet/applet-dbus.h: Removed the prototypes for 
17169         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
17170         since these are defined elsewhere
17171
17172         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
17173         function used to keep track of whether the last attempt succeded
17174         (nmwa_dbus_filter): Update last_attempt according to whether the
17175         VPN connection could be established or not
17176
17177         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
17178         Change prototype to take an array of passwords, not just a single
17179         password
17180
17181         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
17182         update service, not user
17183         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
17184         dbus_active_vpn_name is not NULL before using it
17185         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
17186         string array instead of assuming a single password
17187
17188         * gnome/applet/applet-dbus-info.c:
17189         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
17190         user name; don't read from gconf
17191
17192         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
17193         VPN_NAME_FILES_DIR
17194
17195         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
17196
17197         * configure.in: Add checks for gmodule-2.0.
17198         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
17199         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
17200         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
17201         for details
17202
17203         * vpn-daemons/Makefile.am: Removed
17204
17205         * vpn-daemons/README: New file to describe extensions points for VPN
17206         software
17207
17208 2005-06-10  Dan Williams <dcbw@redhat.com>
17209
17210         * src/backends/NetworkManagerRedHat.c
17211                 - (get_current_profile_name): new function, grab current network profile name from
17212                         /etc/sysconfig/network
17213                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
17214                         update an IP4 Config structure's settings from it
17215                 - (nm_system_device_get_system_config): if we're using static IP on this device,
17216                         get DNS info from current network profile
17217
17218 2005-06-09  Dan Williams <dcbw@redhat.com>
17219
17220         Patch from Robert Love:
17221         * src/NetworkManagerDevice.c
17222           src/NetworkManagerUtils.c
17223                 - 64-bit build fixes
17224
17225 2005-06-09  Dan Williams <dcbw@redhat.com>
17226
17227         Patch from Kay Sievers and Robert Love:
17228         * configure.in
17229           src/backends/Makefile.am
17230           src/backends/NetworkManagerSuSE.c
17231                 - Add SuSE support
17232
17233 2005-06-09  Dan Williams <dcbw@redhat.com>
17234
17235         * NetworkManager.h
17236                 - Add NMWirelessScanMethod enum for scan methods
17237
17238         * gnome/applet/applet-dbus-devices.c
17239                 - (nmwa_dbus_update_scanning_enabled_cb): remove
17240                 - (nmwa_dbus_update_scanning_enabled): remove
17241                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
17242                         since it got removed
17243                 - (nmwa_dbus_enable_scanning): remove
17244
17245         * gnome/applet/applet-dbus-info.c
17246                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
17247                         update the wireless scanning method from NMI
17248                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
17249                         method value to NetworkManager
17250                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
17251
17252         * gnome/applet/applet-dbus-info.h
17253                 - Add prototype for nmi_dbus_signal_update_scan_method
17254
17255         * gnome/applet/applet.c
17256                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
17257                         Wireless Scanning menu based on current wireless scan method
17258                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
17259                         signal for Wireless Scanning menu items, tell NetworkManager the new method
17260                         and update our menu items to make sure the right one is checked
17261                 - (nmwa_set_scanning_enabled_cb): remove
17262                 - (nmwa_context_menu_update): remove references to pause_scanning_item
17263                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
17264                         Scanning menu item
17265                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
17266                         from GConf
17267                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
17268                         so we get notified of preference values too
17269                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
17270
17271         * gnome/applet/applet.h
17272                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
17273                 - Add wireless scan method member to applet data
17274                 - Remove pause_scanning_item, add Wireless Scanning submenu
17275
17276         * src/NetworkManager.c
17277                 - (nm_data_new): default to NM_SCAN_METHOD_ON
17278                 - (main): grab scanning method from NMI if we can
17279
17280         * src/NetworkManagerDbus.c
17281                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
17282                         nm_dbus_update_wireless_scan_method()
17283                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
17284                         from NMI
17285                 - (nm_dbus_nmi_is_running): redundant function, removed
17286                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
17287                         when NMI comes back
17288
17289         * src/NetworkManagerDevice.c
17290                 - (nm_device_is_activated): return TRUE if the device is activated
17291                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
17292                         and we are activated
17293
17294         * src/nm-dbus-nm.c
17295                 - (nm_dbus_nm_set_scanning_enabled): removed
17296                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
17297                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
17298
17299 2005-06-09  Dan Williams <dcbw@redhat.com>
17300
17301         * NetworkManager.h
17302           src/vpn-manager/nm-vpn-service.c
17303                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
17304
17305 2005-05-27  Dan Williams <dcbw@redhat.com>
17306
17307         * vpn-daemons/vpnc/nm-vpnc-service.c
17308                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
17309                         Should fix the bug where the VPN connection terminates the first time.
17310
17311 2005-05-20  Dan Williams <dcbw@redhat.com>
17312
17313         * NetworkManager.h
17314                 - Differentiate VPN config signals between bad VPN config options
17315                         and bad IP config
17316
17317         * gnome/applet/applet-dbus-info.h
17318                 - Add prototypes for wireless network and vpn connection update functions
17319
17320         * gnome/applet/applet-dbus.c
17321                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
17322
17323         * gnome/applet/applet.c
17324                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
17325                         error signals
17326                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
17327                         propogation to NetworkManager
17328                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
17329                         notify propogation to NetworkManager
17330
17331         * src/NetworkManagerDbus.c
17332                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
17333                         are updating so a network can be removed from it if necessary
17334
17335         * src/vpn-manager/nm-vpn-manager.c
17336                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
17337
17338         * vpn-daemons/vpnc/nm-vpnc-service.c
17339                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
17340                 - (nm_vpnc_dbus_signal_launch_failed): remove
17341                 - (nm_vpnc_dbus_signal_connect_failed): remove
17342                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
17343                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
17344                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
17345                         for new generalized error signal function, remove config file stuff
17346                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
17347                         we can write configuration options to it
17348                 - (nm_vpnc_config_file_generate): removed
17349                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
17350                 - (nm_vpnc_config_options_validate): validate the config options we receive
17351                         from NetworkManager to block potential exploits
17352                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
17353                         starting vpnc
17354                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
17355                         to NetworkManager
17356
17357 2005-05-16  Dan Williams  <dcbw@redhat.com>
17358
17359         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
17360                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
17361                         is not "connect"
17362
17363 2005-05-16  Dan Williams  <dcbw@redhat.com>
17364
17365         Patch from Tomislav Vujec <tvujec@redhat.com>
17366         * gnome/applet/applet-dbus-info.c
17367                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
17368                         GConf and pass them to NetworkManager.  New key is 'routes' under
17369                         the VPN connection, and should be a string list
17370
17371         * src/NetworkManagerSystem.c
17372                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
17373                         set them on the device when we set the rest of the VPN config.  Ensure
17374                         they are in the correct format since they are passed directly to the
17375                         command line.
17376
17377         * src/backends/NetworkManagerRedHat.c
17378           src/backends/NetworkManagerDebian.c
17379                 - (nm_system_device_add_route_via_device_with_iface): new function
17380
17381         * src/vpn-manager/nm-dbus-vpn.c
17382                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
17383
17384         * src/vpn-manager/nm-vpn-manager.c
17385                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
17386                         them into the IP4 config functions
17387
17388 2005-05-15  Dan Williams  <dcbw@redhat.com>
17389
17390         From Filip Miletic:
17391         * po/sr.po
17392           po/sr@Latn.po
17393           configure.in
17394                 - Serbian translation added
17395
17396 2005-05-15  Dan Williams  <dcbw@redhat.com>
17397
17398         * dispatcher-daemon/NetworkManagerDispatcher.c
17399                 - (main): sync arguments with NetworkManager and the applet, now use
17400                         "--no-daemon" rather than "daemon=no"
17401                 - (nmd_print_usage): Fix script path in usage message
17402
17403 2005-05-15  Dan Williams  <dcbw@redhat.com>
17404
17405         * src/NetworkManagerDevice.[ch]
17406           src/NetworkManagerPolicy.c
17407           src/NetworkManager.c
17408           src/nm-dbus-nm.c
17409                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
17410                         longer send the DeviceNoLongerActive signal unconditionally, but only
17411                         when the device is actually active.
17412
17413         * dispatcher-daemon/NetworkManagerDispatcher.c
17414                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
17415                         and simplify the logic
17416                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
17417                         we free it later on
17418
17419         * initscript/RedHat/Makefile.am
17420           initscript/RedHat/NetworkManagerDispatcher
17421                 - Add initscript for NetworkManagerDispatcher
17422
17423
17424         Patch from Bill Moss:
17425         * dispatcher-daemon/NetworkManagerDispatcher.c
17426                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
17427
17428         * src/NetworkManagerDbus.c
17429                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
17430                         and DeviceNowActive gets signaled, then the device has a new IP address
17431                         anyway.  There's no need for a separate signal.
17432
17433         * src/NetworkManagerDevice.c
17434                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
17435
17436         * src/NetworkManagerPolicy.c
17437                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
17438                         activates successfully.  This kind of went missing when I reworked the
17439                         activation code.
17440
17441 2005-05-15  Dan Williams  <dcbw@redhat.com>
17442
17443         * configure.in
17444                 - Check for dhcdbd and error if its not found
17445
17446         * src/dhcp-manager/Makefile.am
17447           src/dhcp-manager/nm-dhcp-manager.c
17448                 - Use path to dhcdbd that configure found
17449
17450 2005-05-14  Dan Williams  <dcbw@redhat.com>
17451
17452         * gnome/applet/nm-device.c
17453                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
17454                         sort wireless networks alphabetically
17455
17456         * gnome/applet/applet-dbus-devices.c
17457                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
17458                         before copying them over to the GUI
17459
17460 2005-05-14  Dan Williams  <dcbw@redhat.com>
17461
17462         * src/NetworkManager.c
17463                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
17464                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
17465                         the device list, as does nm_get_active_device() which is called from
17466                         nm_vpn_manager_deactivate_vpn_connection().
17467
17468 2005-05-14  Dan Williams  <dcbw@redhat.com>
17469
17470         * NetworkManager.h
17471                 - Add signals for VPN Launch and Connect failures
17472
17473         * gnome/applet/applet-dbus.c
17474                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
17475
17476         * gnome/applet/applet.c
17477                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
17478                         function to handle all VPN failure messages
17479                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
17480                         function to hanlde all VPN failure  messages
17481                 - (show_warning_dialog): work around focus-stealing prevention
17482
17483         * gnome/applet/other-network-dialog.c
17484           gnome/applet/passphrase-dialog.c
17485                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
17486                         problem where it never enabled for ASCII Key and Hex Key types
17487
17488         * gnome/applet/wireless-applet.glade
17489                 - Add window title to Other Wireless Network Dialog
17490
17491         * src/vpn-manager/nm-dbus-vpn.c
17492                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
17493                         function to handle all VPN failure messages
17494
17495         * src/vpn-manager/nm-vpn-manager.c
17496                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
17497
17498         * vpn-daemons/vpnc/nm-vpnc-service.c
17499                 - (nm_vpnc_dbus_signal_launch_failed): new function
17500                 - (nm_vpnc_dbus_signal_connect_failed): new function
17501                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
17502                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
17503                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
17504                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
17505
17506 2005-05-11  Dan Williams  <dcbw@redhat.com>
17507
17508         * vpn-daemons/vpnc/nm-vpnc-service.c
17509                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
17510                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
17511                         file exists before trying to write it out.
17512
17513 2005-05-10  Dan Williams  <dcbw@redhat.com>
17514
17515     * gnome/applet/applet-dbus-device.c
17516         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
17517             prevented just entering ESSID and leaving key and key type up to
17518             NetworkManager (which should have them already cached)
17519
17520 2005-05-08  Dan Williams  <dcbw@redhat.com>
17521
17522         * src/NetworkManagerPolicy.c
17523                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
17524                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
17525                         fix a situation where NM is told to terminate and the device stops activation,
17526                         but the main thread isn't aware of that because it would never have run
17527                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
17528                         had already quit.
17529
17530         * src/NetworkManagerDevice.c
17531                 - (nm_device_probe_wired_link_state): cosmetic fixes
17532                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
17533                         we've failed to activate or been canceled.
17534                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
17535
17536 2005-05-08  Dan Williams  <dcbw@redhat.com>
17537
17538         * src/NetworkManagerWireless.c
17539                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
17540                         value of WEXT quality structures, and add a debug message when we cannot
17541                         determine any quality % at all
17542
17543 2005-05-08  Dan Williams  <dcbw@redhat.com>
17544
17545         * src/dhcp-manager/nm-dhcp-manager.c
17546                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
17547                         it goes down.
17548
17549 2005-05-06  Dan Williams  <dcbw@redhat.com>
17550
17551         * gnome/applet/applet-dbus-device.c
17552           gnome/applet/applet-dbus-info.c
17553           gnome/applet/applet-dbus.c
17554           gnome/applet/applet.c
17555           gnome/applet/applet.h
17556                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
17557
17558         * gnome/applet/applet-dbus.c
17559                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
17560                         so we notice when wired device's carriers come back on.  Should
17561                         fix issue with wired devices being grayed out even if the cable
17562                         is in, for devices that support carrier detection.
17563
17564         * gnome/applet/applet.c
17565                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
17566                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
17567                         tooltip message
17568                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
17569                         Fix situation where applet wouldn't respond to menu selections
17570
17571         * src/NetworkManager.c
17572           src/NetworkManagerDevice.c
17573           src/NetworkManagerDbus.c
17574           src/NetworkManagerDbus.h
17575                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
17576
17577         * src/NetworkManagerDbus.c
17578                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
17579                         Remove, no longer used or relevant
17580                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
17581                 - (nm_dbus_schedule_device_status_change_signal): add
17582
17583         * src/NetworkManagerDevice.c
17584                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
17585                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
17586                         ie don't deactivate them unless explicitly told to by the user.  Also send
17587                         CARRIER_OFF / CARRIER_ON signals when link changes
17588                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
17589                         Don't print error message when device is no longer around
17590                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
17591                         not just during activation
17592
17593         * src/NetworkManagerPolicy.c
17594                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
17595                         auto-device-selection.
17596                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
17597
17598         * src/NetworkManagerSystem.c
17599                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
17600                         is no longer present (Bill Moss)
17601
17602         * src/backends/shvar.c
17603                 - (svOpenFile): Open read-only to make SELinux happy
17604
17605         * src/backends/NetworkManagerRedHat.c
17606                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
17607                         the path to the ifcfg-* files
17608
17609 2005-05-05  Dan Williams  <dcbw@redhat.com>
17610
17611         * Expose activation stages to NetworkManager clients, like the applet
17612         * Add Diana's progress icons to the applet, cued off NM activation stage
17613         * Use more descriptive tooltips, cued off NM activation stage
17614
17615 2005-05-05  Ray Strode  <rstrode@redhat.com>
17616
17617         * src/nm-netlink-monitor.c:
17618                 - Use clear_event_source instead of g_nullify_pointer() again.
17619
17620 2005-05-05  Dan Williams  <dcbw@redhat.com>
17621
17622         * gnome/applet/main.c
17623                 - Fix session management so the applet is actually managed now
17624
17625         * gnome/applet/passphrase-dialog.c
17626                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
17627
17628 2005-05-05  Dan Williams  <dcbw@redhat.com>
17629
17630         Patch from Bill Moss:
17631         * gnome/libnm_glib/libnm_glib.c
17632                 - Fix for dbus-0.33
17633
17634 2005-05-05  Dan Williams  <dcbw@redhat.com>
17635
17636         Suggestion from Bill Moss:
17637         * src/NetworkManagerSystem.c
17638                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
17639
17640
17641         * src/NetworkManager.c
17642                 - (nm_data_free): move destruction of the various managers after
17643                         release of device list, because deactivating and freeing a device
17644                         requires at least the named manager
17645                 - (nm_poll_and_update_wireless_link_state):
17646                   (nm_device_link_activated):
17647                   (nm_device_link_deactivated):
17648                         don't grab the device list lock when actually updating device
17649                         link status or strength, since nm_device_set_link_active()
17650                         needs to call nm_get_active_device(), which also locks the device list.
17651
17652         * src/NetworkManagerDevice.c
17653                 - (nm_device_set_link_active): if a device's link switches from off->on,
17654                         and it's wired, and the active device is wireless (or there is no
17655                         active device), activate the new device whose link just came on
17656                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
17657                         my only calling the link to the current ap "failed" when more than 2
17658                         consecutive link checks have failed
17659
17660 2005-05-04  Dan Williams  <dcbw@redhat.com>
17661
17662         * src/NetworkManagerDevice.c
17663                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
17664                         but let link_to_specific_ap() do the locking where it needs
17665
17666         Patch from Bill Moss:
17667         * src/NetworkManagerSystem.c
17668                 - Set MTU of VPN devices to 1412
17669
17670 2005-05-04  Dan Williams  <dcbw@redhat.com>
17671
17672         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
17673
17674         * Fix some holes in device activation and retaining the currently connected
17675                 access point
17676
17677 2005-05-03  Dan Williams  <dcbw@redhat.com>
17678
17679         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
17680           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
17681           means you need dhcdbd, which you can get here (get the latest one):
17682
17683                 http://people.redhat.com/jvdias/dhcdbd/
17684
17685           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
17686           interface as dhcdbd.
17687
17688         * Rewrite device activation to facilitate the new DHCP infrastructure and
17689           future improvements.  Its now "activation request" based, ie there is a single
17690           activation request composed of the device, access point, and other info which
17691           follows the entire activation process.  There are 5 stages of the activation
17692           process which correspond to:
17693
17694                 1) Device preparation
17695                 2) Device configuration (bring it up, set ESSID/Key/etc)
17696                 3) IP Config Start (fire off DHCP if we're using it)
17697                 4) IP Config Get (grab config from DHCP or static config files)
17698                 5) IP Config Commit (set device's IP address, DNS, etc)
17699
17700           Note that there is no longer a "scanning" step, since the access point must
17701           be known _before_ activation starts.  If the access point drops out or does
17702           not exist for some reason, the entire activation process fails and must be
17703           restarted for a different access point or device.
17704
17705         Patch from Bill Moss:
17706         * gnome/applet/applet.c
17707                 - Fix type of vpn_failure dialog -> vpn_banner dialog
17708
17709 2005-04-27  Dan Williams  <dcbw@redhat.com>
17710
17711         * gnome/applet/applet-dbus-vpn.c
17712           gnome/applet/applet.c
17713           gnome/applet/applet.h
17714                 - Fix up active VPN handling so that we reliably know when a VPN
17715                         connection has been deactivated
17716
17717         * src/vpn-manager/nm-vpn-manager.c
17718                 - Remove duplicate VPNConnectionChange signal
17719
17720 2005-04-27  Dan Williams  <dcbw@redhat.com>
17721
17722         Patch from Peter Jones:
17723         * Remove usage of varargs to fix crashes on PPC (RH #154336)
17724
17725         Patch from Bill Moss:
17726         * src/NetworkManagerSystem.c
17727                 - Fix checking of return value from ioctl()
17728
17729 2005-04-27  Dan Williams  <dcbw@redhat.com>
17730
17731         * Fix choosing of wireless networks and "Other wireless network..." from the applet
17732         * Warn and exit if icons cannot be found
17733
17734 2005-04-27  Dan Williams  <dcbw@redhat.com>
17735
17736         Patch from Tom Parker:
17737         * Update debian backend
17738
17739 2005-04-27  Dan Williams  <dcbw@redhat.com>
17740
17741         * Merge the applet and the info-daemon, and move the converged
17742                 applet under gnome/applet
17743         * Move libnm_glib to gnome/libnm_glib
17744         * Convert most dbus calls between the applet, info-daemon, and NM
17745                 into async calls
17746         * Fix a few things valgrind noticed
17747         * Make NM broadcast state more reliably
17748
17749 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
17750
17751         * configure.in: Added ne in ALL_LINGUAS
17752
17753 2005-04-15  Dan Williams  <dcbw@redhat.com>
17754
17755         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
17756                 code for dbus 0.2x versions
17757
17758 2005-04-15  Dan Williams  <dcbw@redhat.com>
17759
17760         Patches from Tom Parker:
17761         - Fix memleaks
17762         - Join with worker thread rather than polling for its exit
17763
17764         Patch from Bill Moss:
17765         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
17766
17767 2005-04-15  Dan Williams  <dcbw@redhat.com>
17768
17769         - Fixes to pass 'make distcheck'
17770
17771 2005-04-15  Dan Williams  <dcbw@redhat.com>
17772
17773         Initial VPN Support
17774                 - supports 'vpnc'
17775                 - reworks device IP configuration, backend files have changed and will need
17776                         to be updated for all distributions.  I will try to do what I can for
17777                         them, but I cannot test them.
17778
17779         - Move named directory to src/named-manager
17780         - Make backends directory self-contained
17781
17782 2005-04-06  Dan Williams  <dcbw@redhat.com>
17783
17784         Add debug code for socket/file descriptor leaks.  We register every socket
17785         that we open (except for stuff in dhcpcd/) for tracking, and print out the
17786         list of sockets that we forgot to close on shutdown.  This also consolidates
17787         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
17788
17789 2005-04-06  Dan Williams  <dcbw@redhat.com>
17790
17791         * dhcpcd/dhcpcd.c
17792                 - (dhcp_interface_free): fix a file descriptor leak that may have
17793                         caused network drivers to not unload due to refcounts > 0
17794
17795 2005-04-04  Dan Williams  <dcbw@redhat.com>
17796
17797         * panel-applet/NMWirelessAppletDbus.c
17798                 - (nmwa_dbus_call_nm_method): remove some commented code
17799
17800         * src/NetworkManagerAPList.[ch]
17801                 - (nm_ap_list_remove_ap_by_essid): new function
17802
17803         * src/NetworkManagerDevice.c
17804                 - (nm_device_wireless_force_use): remove access points from the ignore list
17805                         when the user forces them
17806
17807         * src/nm-dbus-device.c
17808                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
17809
17810 2005-04-04  Dan Williams  <dcbw@redhat.com>
17811
17812         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
17813
17814 2005-04-04  Dan Williams  <dcbw@redhat.com>
17815
17816         * src/NetworkManagerDevice.c:
17817                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
17818                         of only erroring after the second consecutive scan times out.  Also
17819                         don't exit when the card requires more time than we can give it, just
17820                         log the event and continue.
17821
17822 2005-04-01  Steve Murphy  <murf@e-tools.com>
17823
17824         * configure.in: Added "rw" to ALL_LINGUAS.
17825
17826 2005-04-01  Dan Williams <dcbw@redhat.com>
17827
17828         Perform scans during device activation, if needed.  Both activation 
17829         and scans run in the same GMainContext.  Therefore, if an access point
17830         is not found by the time the device starts activation, it will not
17831         be available until after activation.  We now try to scan during
17832         activation (in nm_wa_test) every 15s so that all available access
17833         points are more likely to be found and available for the activation
17834         procedure.
17835
17836         Also change nm_wireless_link_state_handle() to only update the "best"
17837         AP if we are not forcing a device and if we are not about to change
17838         state.  This attempts to work around a race when forcing a device,
17839         where the forced AP would get cleared out too soon by the link state
17840         checking timeout in the main thread, and the activation attempt with
17841         that AP would fail.
17842
17843 2005-04-01  Dan Williams <dcbw@redhat.com>
17844
17845         * po/POTFILES.in
17846                 - Update with new translatables
17847
17848 2005-03-31  Dan Williams <dcbw@redhat.com>
17849
17850         * panel-applet/NMWirelessAppletDbus.c
17851                 - Fix device names now that hal has changed device parenting for
17852                         network devices.
17853
17854 2005-03-31  Dan Williams <dcbw@redhat.com>
17855
17856         Tighten up handling of wireless devices that don't support wireless
17857         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17858         hadn't been doing pseudo-scanning for a while either and would just
17859         spin waiting for an access point.  They are now manual devices where
17860         the user must choose the access point from the menu every time.  All
17861         "allowed" access points are listed in the applet's menu regardless
17862         of whether or not they can be seen by the card, since it can't scan
17863         anyway.
17864
17865         * src/NetworkManager.c
17866                 - (nm_wireless_link_state_handle): new function, but only update
17867                         the "best" ap for non-scanning devices when its not activating,
17868                         and when no device is being forced on the card
17869                 - (nm_link_state_monitor): split wireless link state handling out
17870                         into separate function
17871
17872         * src/NetworkManagerDevice.c
17873                 - (nm_device_copy_allowed_to_dev_list): new function
17874                 - (nm_device_new): populate non-scanning cards' AP lists with
17875                         access points from the "allowed" list
17876                 - (nm_device_new): don't start a scanning timeout for devices that
17877                         can't scan
17878                 - (nm_device_activation_schedule_finish): new parameter, should be
17879                         the AP that failed to be connected to, pass it on to the
17880                         activation finish function in NetworkManagerPolicy.c
17881                 - (nm_device_activate_wireless): don't ever try to get a new AP
17882                         for non-scanning devices, just fail.  The user must choose
17883                         a new access point manually.
17884                 - (nm_device_activate): grab the AP that failed connection and
17885                         pass it on
17886                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17887                         a link to it, user must manually choose a new one
17888                 - (nm_device_do_pseudo_scan): remove function
17889                 - (nm_device_wireless_process_scan_results): remove bits for non-
17890                         scanning cards since they never get here
17891                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17892                         and fake the scan list for test devices a bit earlier
17893
17894         * src/NetworkManagerPolicy.c
17895                 - (nm_policy_activation_finish): use the failed_ap that we get
17896                         passed rather than getting the best_ap from the card, which
17897                         may have changed since we were scheduled
17898                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17899                         update their scan list directly from the allowed list when
17900                         we get updates to the allowed list from NetworkManagerInfo
17901
17902         * src/NetworkManagerPolicy.h
17903                 - New member for failed access point in NMActivationResult
17904
17905   -------------------------------------
17906
17907         Driver Notification patch: notifies the user when their driver
17908                 sucks.  Gives them the option to ignore further insertions
17909                 of the card that has the sucky driver.
17910
17911         * NetworkManager.h
17912                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17913                         enum and replace it with NO_CARRIER_DETECT and
17914                         NO_WIRELESS_SCAN
17915
17916         * panel-applet/NMWirelessApplet.[ch]
17917                 - Merge essid.glade -> wireless-applet.glade
17918                 - Implement the "Your driver sucks" notification dialog
17919
17920         * panel-applet/NMWirelessAppletDbus.c
17921                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17922                 - Grab hardware address for each device from NM too
17923                 - Check whether the driver for each device sucks or not whenever
17924                         a new device is noticed
17925
17926         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17927                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17928
17929         * src/NetworkManager.c
17930                 - Fix a double-unref on device removal
17931
17932         * src/NetworkManagerUtils.c
17933                 - Set appropriate driver support level on a device that doesn't
17934                         support scanning or carrier detection
17935
17936         * src/nm-dbus-device.c
17937                 - New "getHWAddress" dbus method on devices
17938                 - getSupportsCarrierDetect -> getDriverSupportLevel
17939
17940 2005-03-31  Dan Williams <dcbw@redhat.com>
17941
17942         * src/NetworkManagerDevice.c
17943                 - (nm_device_wireless_scan): Fix leak of scan results in some
17944                         instances
17945
17946 2005-03-29  Dan Williams <dcbw@redhat.com>
17947
17948         * src/NetworkManager.c
17949                 - (nm_poll_and_update_wireless_link_state): make code less indented
17950
17951         Patch from Bill Moss:
17952         * src/NetworkManager.c
17953                 - (nm_device_update_link_state): Update signal strength on wireless
17954                         devices every time we update link state too.
17955
17956 2005-03-29  Dan Williams <dcbw@redhat.com>
17957
17958         * src/NetworkManagerDevice.c
17959                 - (nm_device_set_essid): Work around Orinoco cards which need
17960                         extra time after setting the ESSID
17961
17962 2005-03-29  Dan Williams <dcbw@redhat.com>
17963
17964         * src/NetworkManagerDevice.c
17965                 - Merge one more bit of Peter Jones' completion patch
17966
17967 2005-03-29  Dan Williams <dcbw@redhat.com>
17968
17969         * src/NetworkManagerDevice.c
17970                 - (nm_device_force_use): Fix possible segfault
17971
17972 2005-03-29  Dan Williams <dcbw@redhat.com>
17973
17974         * src/NetworkManagerDevice.c
17975                 - Use iw_get_ext() where we should rather than iw_set_ext()
17976
17977 2005-03-29  Dan Williams <dcbw@redhat.com>
17978
17979         * src/NetworkManagerDevice.c
17980                 - (nm_device_set_up_down): remove check for unsupported devices
17981                         that caused NM to not bring devices up when they were
17982                         added to the device list.
17983
17984 2005-03-28  Dan Williams <dcbw@redhat.com>
17985
17986         * src/NetworkManagerDevice.c
17987                 - (mdio_read): Fix two bugs that caused all devices to fail
17988                         the MII carrier detection support checks
17989
17990 2005-03-26  Dan Williams <dcbw@redhat.com>
17991
17992         * src/NetworkManagerDevice.c
17993                 - (nm_device_wireless_scan): Remove duplicated scanning code
17994
17995 2005-03-25  Dan Williams <dcbw@redhat.com>
17996
17997         * panel-applet/NMWirelessApplet.c
17998                 - (nmwa_about_cb): Add some more contributors
17999                 - (nmwa_update_state): show the applet when there's no connection
18000                 - Enable the "Stop/Resume all wireless devices" option in the
18001                         context menu
18002                 - New "no connection" icon
18003
18004         * src/NetworkManager.c
18005                 - (nm_poll_and_update_wireless_link_state): don't do anything if
18006                         wireless is disabled or we're asleep
18007
18008         * src/NetworkManagerDHCP.c
18009                 - Remove trailing "\n" on debug messages
18010
18011         * src/NetworkManagerDbus.c
18012                 - (nm_dbus_network_status_from_data): new state "asleep"
18013
18014         * src/NetworkManagerDevice.c
18015                 - Merge most of Peter Jones' "completion" patch that greatly reduces
18016                         latency and wait times for most operations
18017                 - (nm_device_wireless_scan): Don't scan when asleep
18018
18019         * src/NetworkManagerPolicy.c
18020                 - (nm_policy_get_best_device): return no device when asleep
18021                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
18022                         for all wireless devices on update, not just active device
18023
18024         * src/NetworkManagerUtils.c
18025                 - Merge Peter Jones' "completion" patch
18026
18027         * src/nm-dbus-nm.c
18028                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
18029                         we're told to disable them
18030                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
18031
18032         * utils/nm-utils.h
18033                 - New variants of the warn/info/error/debug print functions that can take
18034                         variables rather than static strings
18035
18036 2005-03-24  Dan Williams <dcbw@redhat.com>
18037
18038         * src/NetworkManagerUtils.c
18039                 - (nm_get_device_driver_name): driver names are now on the parents of
18040                         "Network Interface" objects, so look for them there
18041
18042 2005-03-24  Dan Williams <dcbw@redhat.com>
18043
18044         * test/nmtest.c
18045                 - Escape some forgotten object paths before we shove them through dbus
18046
18047 2005-03-24  Dan Williams <dcbw@redhat.com>
18048
18049         * dhcpcd/dhcpcd.[ch]
18050           src/NetworkManagerDHCP.c
18051                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
18052                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
18053
18054         * src/NetworkManagerDbus.c
18055                 - spacing cleanups
18056
18057         * src/nm-dbus-dhcp.c
18058                 - Make the API suck less.  There is now only 1 type of each function,
18059                         ie only "getInteger" and no longer also "getIntegerv".  All types
18060                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
18061                         that will never have more than 1 element.  This should simplify
18062                         things greatly.
18063
18064         * test/nm-dhcp-opt-test.c
18065                 - Make the tool not segfault
18066                 - adapt to new DHCP Options API
18067
18068 2005-03-22  Dan Williams <dcbw@redhat.com>
18069
18070         * src/NetworkManager.c
18071                 - (nm_wired_link_deactivated): actually ignore netlink events from
18072                         wireless devices.
18073
18074 2005-03-22  Dan Williams <dcbw@redhat.com>
18075
18076         * src/NetworkManager.c
18077                 - (nm_wired_link_activated): actually ignore netlink events from
18078                         wireless devices.
18079
18080 2005-03-17  Dan Williams <dcbw@redhat.com>
18081
18082         Patch from Tom Parker:
18083         * src/nm-netlink-monitor.c
18084                 - Include unistd.h
18085         * info-daemon/NetworkManagerInfoDbus.c
18086                 - (nmi_dbus_update_network_auth_method): free GConf values
18087
18088         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
18089         * src/NetworkManagerDevice.c
18090                 - (nm_device_set_wireless_config): wait for successful
18091                         association longer for some cards (Atheros a/b/g)
18092
18093 2005-03-15  Ray Strode  <rstrode@redhat.com>
18094
18095         * src/NetworkManager.c:
18096         (sigterm_pipe_handler):
18097         remove bogus FIXME
18098
18099 2005-03-15  Ray Strode  <rstrode@redhat.com>
18100
18101         * src/NetworkManagerDbus.c:
18102         Fix some sign weirdness that gcc4 doesn't like,
18103         and add a header file so PPC can hopefully find
18104         SIGTRAP
18105
18106 2005-03-14  Ray Strode  <rstrode@redhat.com>
18107         
18108         Fourth (probably working) cut at porting to
18109         dbus 0.30 api and new hal. This cut adds
18110         some new logging macros to make debugging
18111         easier.
18112
18113         * dispatcher-daemon/NetworkManagerDispatcher.c:
18114         * info-daemon/NetworkmanagerInfo.c:
18115         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
18116         * info-daemon/NetworkManagerInfoVPN.c:
18117         * src/NetworkManager.c:
18118         * src/NetworkManagerAP.c:
18119         * src/NetworkManagerAPList.c:
18120         * src/NetworkManagerDHCP.c:
18121         * src/NetworkManagerDbus.c:
18122         * src/NetworkManagerDevice.c:
18123         * src/NetworkManagerPolicy.c:
18124         * src/NetworkManagerSystem.c:
18125         * src/NetworkManagerUtils.c:
18126         * src/NetworkManagerWireless.c:
18127         * src/autoip.c:
18128         * src/nm-dbus-nm.c:
18129         * src/backends/NetworkManagerDebian.c:
18130         * src/backends/NetworkManagerGentoo.c:
18131         * src/backends/NetworkManagerRedHat.c:
18132         * src/backends/NetworkManagerSlackware.c:
18133         use new logging macros.
18134
18135         * dispatcher-daemon/NetworkManagerDispatcher.c:
18136         (nmd_dbus_filter): s/dbus_free/g_free/
18137
18138         * info-daemon/Makefile.am: link in utils library.
18139         * info-daemon/NetworkmanagerInfo.c: use new logging 
18140         macros.
18141         (nmi_dbus_get_network): don't assume enumerations
18142         are 32-bit.
18143         (nmi_dbus_nmi_message_handler): don't free what 
18144         doesn't belong to us.
18145
18146         * libnm_glib/libnm_glib.c:
18147         (libnm_glib_get_nm_status): 
18148         (libnm_glib_init): don't free what doesn't
18149         belong to us.
18150         (libnm_glib_dbus): strdup result, so it doesn't get
18151         lost when message is unref'd.
18152
18153         * panel-applet/NMWirelessAppletDbus.c:
18154         (nmwa_dbus_update_devices): s/dbus_free/g_free/
18155
18156         * src/NetworkManager.c:
18157         (nm_monitor_wired_link_state): request initial status 
18158         dump of all cards when we start up, instead of relying
18159         on /sys/.../carrier.
18160         (nm_info_handler), (nm_set_up_log_handlers): 
18161         log handlers to specify what syslog priorites 
18162         the logging macros default to.
18163
18164         * src/NetworkManagerAPList.c: 
18165         (nm_ap_list_populate_from_nmi):
18166         s/dbus_free_string_array/g_strfreev/
18167
18168         * src/NetworkManagerDbus.c:
18169         (nm_dbus_get_network_object):
18170         validate d-bus message argument types.
18171         Advance message iterator after reading argument,
18172         prepend instead of append to GSList.
18173
18174         * src/NetworkManagerDevice.c:
18175         (nm_device_probe_wired_link_status):
18176         remove redundant /sys in /sys path. remove wrong
18177         contents == NULL means has carrier assumption.
18178
18179         * src/nm-netlink-monitor.c 
18180         (nm_netlink_monitor_request_status): implement
18181         function to ask kernel to dump interface link
18182         status over netlink socket.
18183
18184         * test/*.c: s/dbus_free/g_free/
18185
18186         * utils/nm-utils.h:
18187         (nm_print_backtrace): new macro to print backtrace.
18188         (nm_get_timestamp): new macro to get sub-second precise
18189         unix timestamp.
18190         (nm_info), (nm_debug), (nm_warning), (nm_error):
18191         new logging functions. nm_info just prints,
18192         nm_debug includes timestamp and function,
18193         nm_warning includes function, nm_error includes
18194         backtrace and sigtrap.
18195
18196 2005-03-11  Ray Strode  <rstrode@redhat.com>
18197
18198         Third (unfinished, partially working) cut at porting to 
18199         dbus 0.30 api and new hal.
18200
18201         * info-daemon/NetworkManagerInfoDbus.c:
18202                 don't free null arrays.
18203
18204         * panel-applet/NMWirelessAppletDbus.c: 
18205         * src/nm-dbus-device.c:
18206         * src/nm-dbus-net.c: 
18207         * src/NetworkManagerDbus.c: more 
18208         STRING -> OBJECT_PATH fun
18209         * src/NetworkManagerDevice.c:
18210         * src/NetworkManagerDevice.h:
18211         (rename nm_device_get_link_active): rename to 
18212         nm_device_has_active_link
18213         (nm_device_wireless_link_active): rename to
18214         nm_device_probe_wireless_link_state
18215         (nm_device_wired_link_active): rename to
18216         nm_device_probe_wired_link_state.  Rewrite to
18217         use carrier file since hal doesn't maintain
18218         link state anymore.
18219         (nm_device_update_link_active): rename to
18220         nm_device_update_link_state
18221         * src/NetworkManagerPolicy.c 
18222           (nm_policy_activation_finish): check for NULL
18223           MAC address.
18224
18225         * src/Makefile.am:
18226         * src/NetworkManagerMain.h: 
18227         * src/NetworkManager.c:
18228         * src/nm-netlink-monitor.c:
18229         * src/nm-netlink-monitor.h: New class to support
18230         monitoring wired ethernet link status, since HAL
18231         doesn't export that information anymore.
18232
18233 2005-03-09  Ray Strode  <rstrode@redhat.com>
18234
18235         Second (unfinished, unworking) cut at porting to 
18236         dbus 0.30 api.
18237
18238         * dispatcher-daemon/NetworkManagerDispatcher.c:
18239         * info-daemon/NetworkManagerInfoDbus.c:
18240         * panel-applet/NMWirelessAppletDbus.c:
18241         * src/NetworkManagerDbusUtils.c:
18242         * src/NetworkManagerDbusUtils.h:
18243         * src/nm-dbus-device.c:
18244         * src/nm-dbus-nm.c:
18245         * test/nmtest.c: support dbus "object path" type
18246
18247         * configure.in: 
18248         * Makefile.am:
18249         * info-daemon/Makefile.am:
18250         * libnm_glib/Makefile.am:
18251         * panel-applet/Makefile.am:
18252         * dispatcher-daemon/Makefile.am
18253         * src/Makefile.am:
18254         * test/Makefile.am:
18255         * utils/Makefile.am: 
18256         * utils/nm-utils.c: 
18257         * utils/nm-utils.h: new utils static lib
18258
18259 2005-03-07  Ray Strode  <rstrode@redhat.com>
18260
18261         * info-daemon/NetworkManagerInfoDbus.c:
18262         * libnm_glib/libnm_glib.c:
18263         * panel-applet/NMWirelessAppletDbus.c:
18264         * src/NetworkManager.c:
18265         * src/NetworkManagerDbus.c:
18266         * src/NetworkManagerDevice.c:
18267         * src/NetworkManagerUtils.c:
18268         * src/nm-dbus-device.c:
18269         * src/nm-dbus-dhcp.c:
18270         * src/nm-dbus-net.c:
18271         * src/nm-dbus-nm.c:
18272         * test/nminfotest.c:
18273         First (unfinished, unworking) cut at porting to dbus 0.30 api.
18274
18275 2005-03-04  Dan Williams  <dcbw@redhat.com>
18276
18277         * configure.in
18278                 - Mark HEAD as 0.4
18279
18280 2005-03-04  Dan Williams  <dcbw@redhat.com>
18281
18282         Patch from Peter Jones:
18283         - Make stuff work with gcc 4.0
18284
18285 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
18286
18287         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
18288
18289 2005-02-27  Jim Huang  <jserv@kaffe.org>
18290
18291         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
18292
18293 2005-02-27  Dan Williams  <dcbw@redhat.com>
18294
18295         Patch from Bill Moss:
18296         * panel-applet/NMWirelessAppletDbus.c
18297                 - Make sure strength for current access point is up-to-date when we
18298                         update the gui data model
18299
18300 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
18301
18302         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
18303
18304 2005-02-27  Dan Williams  <dcbw@redhat.com>
18305
18306         * src/backends/NetworkManagerRedHat.c
18307                 - (nm_system_init): Kill any dhclient processes lying around as well
18308                         as stopping 'nifd' if its already been started.  NetworkManager
18309                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
18310
18311 2005-02-27  Dan Williams  <dcbw@redhat.com>
18312
18313         * panel-applet/NMWirelessApplet.c
18314                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
18315                         dbus data model, not the GUI data model twice.
18316
18317 2005-02-27  Dan Williams  <dcbw@redhat.com>
18318
18319         * panel-applet/NMWirelessApplet.[ch]
18320           panel-applet/NMWirelessAppletDbus.[ch]
18321                 - Move to incremental network updates.  Instead of blowing away our list
18322                         of devices every time we get a signal from NetworkManager, we now
18323                         incrementally add/remove networks when NetworkManager notifies us that
18324                         a new network has appeared or disappered.  Strength updates now happen
18325                         on-the-fly for each access point as well.  There are now two copies of
18326                         data from NetworkManager: one for the dbus side, and one for the gui side.
18327                         When the dbus side data is modified, it is copied over to the gui side
18328                         so we don't have to hold the data_mutex for long periods of time (and
18329                         therefore block animation of the applet's icon).
18330                 - Clean up some memleaks too
18331
18332         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18333                 - Minor code beautification
18334
18335         * src/NetworkManagerAPList.c
18336                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
18337                         completely new and whether or not an existing one's strength was updated.
18338                         Try to fix multiple access points and signal strength by using the highest
18339                         signal strength in each scan for any given ESSID.
18340
18341         * src/NetworkManagerDbus.[ch]
18342                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
18343                         wireless networks; now we have only WirelessNetworkUpdate which includes
18344                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
18345                 - Kill usage of DbusMessageIter
18346
18347         * src/NetworkManagerDevice.c
18348                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
18349                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
18350                         AP rather than all-at-once.  Also don't ever remove the AP a card is
18351                         currently associated with from the network list.
18352                 - Update for new signals during scan, send out Appeared, Disappeared, or
18353                         StrengthChanged when necessary.
18354
18355 2005-02-25  Dan Williams  <dcbw@redhat.com>
18356
18357         * README
18358                 - Line break the README
18359
18360 2005-02-25  Dan Williams  <dcbw@redhat.com>
18361
18362         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
18363                 - Remove usage of gtk_window_set_default_size()
18364
18365         * panel-applet/essid.glade
18366                 - Stick default size here
18367                 - Add in random crap that current glade wants to add in now
18368
18369 2005-02-25  Dan Williams  <dcbw@redhat.com>
18370
18371         * src/backends/NetworkManagerRedHat.c
18372                 - For non-caching-nameserver/non-named case, ensure that nscd is running
18373                         and that we actually tell nscd to reload the hosts cache when it changes
18374
18375 2005-02-25  Dan Williams  <dcbw@redhat.com>
18376
18377         * info-daemon/NetworkManagerInfoDbus.c
18378                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
18379
18380         * test/nminfotest.c
18381                 - Whack usage of DbusMessageIter
18382                 - Clean up DbusError and DbusMessage handling and freeing
18383                 - Remove unused unregister handler
18384
18385         * test/nmtest.c
18386                 - Whack usage of DbusMessageIter
18387
18388         * test/nmtestdevices.c
18389                 - Whack usage of DbusMessageIter
18390
18391 2005-02-25  Dan Williams  <dcbw@redhat.com>
18392
18393         * NetworkManager.h
18394                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
18395                         signal
18396
18397 2005-02-25  Dan Williams  <dcbw@redhat.com>
18398
18399         * named/nm-named-manager.c
18400                 - Ensure that pid and watch variables for child named process get cleared out
18401                         when the child goes away.
18402
18403 2005-02-22  Dan Williams  <dcbw@redhat.com>
18404
18405         * src/NetworkManagerPolicy.c
18406                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
18407                         and NULL out data->active_device so that we have to choose another one.
18408                         This may make NetworkManager keep attempting to connect to a wired network
18409                         if it fails, but if it keeps failing the wired network has more problems than
18410                         just NetworkManager.
18411
18412         * src/backends/NetworkManagerRedHat.c
18413                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
18414                         is already running
18415
18416         * named/nm-named-manager.c
18417                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
18418                         named so that the distro can flush whatever name service caching
18419                         daemon it uses
18420
18421 2005-02-21  Dan Williams  <dcbw@redhat.com>
18422
18423         * src/NetworkManagerDHCP.[ch]
18424                 - (nm_device_dhcp_remove_timeouts): new function
18425
18426         * src/NetworkManagerDevice.c
18427                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
18428                         remove the DHCP timeouts.
18429
18430 2005-02-21  Dan Williams  <dcbw@redhat.com>
18431
18432         * panel-applet/NMWirelessApplet.[ch]
18433           panel-applet/menu-info.[ch]
18434                 - Give the panel applet some major love: menu items are no longer
18435                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
18436                         This allows the applet to actually reflect theme changes correctly,
18437                         since themeing of subclassed items in GTK _sucks_.
18438
18439 2005-02-18  Dan Williams  <dcbw@redhat.com>
18440
18441         * libnm_glib/libnm_glib.[ch]
18442           test/libnm_glib_test.c
18443                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
18444                         and its data, and doesn't have to free the callback data anymore
18445
18446 2005-02-18  Dan Williams  <dcbw@redhat.com>
18447
18448         * panel-applet/NMWirelessApplet.c
18449                 - Revert 2005-02-18 William Jon McCann fix for standard
18450                         copyright string until it passes 'make distcheck'.
18451                         With standard copyright string, xgettext complains
18452                         about "Non-ASCII string at ...".
18453
18454 2005-02-18  Dan Williams  <dcbw@redhat.com>
18455
18456         * panel-applet/essid.glade
18457           panel-applet/NMWirelessAppletOtherNetworksDialog.c
18458                 - Correct spelling of "adaptor"->"adapter"
18459
18460 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18461
18462         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
18463         (nmwa_about_cb): Use standard copyright string.  Update comment
18464         text to reflect that it is a notification area applet.  Remove
18465         leading newline in authors list.
18466         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
18467         instead of on parent menu item activation.  Fixes #167550.
18468
18469 2005-02-18  William Jon McCann  <mccann@jhu.edu>
18470
18471         * panel-applet/essid.glade: Capitalize items as per HIG.
18472           Fixes #167632
18473
18474 2005-02-16  William Jon McCann  <mccann@jhu.edu>
18475
18476         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
18477         files for GTK 2.4 or lower, since now public in GTK 2.6.
18478
18479         * panel-applet/essid.glade: Don't specify window size.
18480         
18481 2005-02-17  Dan Williams  <dcbw@redhat.com>
18482
18483         Caught by Bill Moss:
18484         * dhcpcd/client.c
18485                 - Time remaining for DHCP transaction calculation was incorrectly
18486                         inside a #ifdef DEBUG
18487
18488 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
18489
18490         * configure.in: Added fr (French) to ALL_LINGUAS.
18491
18492 2005-02-14  Dan Williams  <dcbw@redhat.com>
18493
18494         * src/NetworkManagerDHCP.c
18495                 - (set_domain_searches): Fix free of invalid pointer
18496
18497 2005-02-14  Dan Williams  <dcbw@redhat.com>
18498
18499         Patch from Peter Jones:
18500         * dhcpcd/client.c
18501                 - Ensure we return RET_DHCP_CEASED everywhere we should
18502         * dhcpcd/udpipgen.c
18503                 - Use faster TOS for IP packets
18504                 - Don't set ip_id since we're UDP
18505
18506         Patch from Tomislav Vujec:
18507         * src/nm-dbus-dhcp.c
18508           test/nm-dhcp-opt-test.c
18509                 - Clean up warnings to enable cvs tree compilation.
18510
18511 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
18512
18513         * configure.in
18514           po/hr.po
18515                 - Add the Croatian locale.
18516
18517 2005-02-14  Colin Walters  <walters@verbum.org>
18518
18519         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
18520         list of domains to search.
18521         
18522         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
18523
18524 2005-02-13  Dan Williams  <dcbw@redhat.com>
18525
18526         * dhcpcd/client.c
18527                 - Debug output cleanups of DHCP option printing and parsing.
18528
18529 2005-02-13  Dan Williams  <dcbw@redhat.com>
18530
18531         Patch from Dan Reed:  DHCP options D-BUS API
18532                 Exposes the DHCP options that a device receives to clients over D-BUS.
18533
18534         * configure.in
18535                 - A few cleanups
18536
18537         * dhcpcd/client.h
18538                 - Correct names, option length, and types for DHCP options
18539
18540         * dhcpcd/dhcpcd.[ch]
18541                 - Clarify function names that access DHCP options & data
18542
18543         * src/NetworkManagerDHCP.c
18544                 - Use new DHCP data access functions
18545
18546         * src/NetworkManagerDbus.c
18547                 - Message handler for DHCP functions
18548
18549         * src/nm-dbus-dhcp.[ch] (new)
18550                 - DHCP dbus methods
18551
18552         * test/nm-dhcp-opt-test.c
18553                 - Test DHCP D-BUS API and return all present DHCP options
18554
18555 2005-02-12  Dan Williams  <dcbw@redhat.com>
18556
18557         * test/Makefile.am
18558           test/nmclienttest.c
18559           test/nmtest.c
18560                 - Move nmclienttest.c -> nmtest.c
18561
18562 2005-02-12  Dan Williams  <dcbw@redhat.com>
18563
18564         * dhcpcd/buildmsg.c
18565                 - Pad DHCP packets until they are at least 300 bytes in size.
18566
18567 2005-02-11  Dan Williams  <dcbw@redhat.com>
18568
18569         * dhcpcd/client.c
18570                 - (dhcp_init): only print out client ID and class ID if they are specified
18571
18572         * src/NetworkManagerDbus.[ch]
18573           src/nm-dbus-nm.[ch]
18574           src/nm-dbus-device.[ch]
18575           src/nm-dbus-net.[ch]
18576                 - Move NM, Device, and Net functions to separate files and use the
18577                         dbus method list stuff in NetworkManagerDbusUtils.c to do
18578                         method dispatching
18579
18580         * src/NetworkManagerDbusUtils.c
18581                 - Add new validate_method called before each dispatch (if present)
18582                         that can validate the method call
18583
18584         * src/NetworkManagerWireless.c
18585                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
18586                         levels never to be evaluated
18587
18588         Patch from j@bootlab.org
18589         * src/NetworkManagerDevice.c
18590                 - Add typedef for "u64"
18591
18592         * src/backends/NetworkManagerDebian.c
18593                 - Copy in Dave Woodhouse's fixes for IPv6
18594
18595 2005-02-11  Dan Williams  <dcbw@redhat.com>
18596
18597         Patch from Dave Woodhouse for IPv6:
18598         * src/NetworkManagerUtils.c
18599                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
18600                         and multicast addresses
18601
18602         * src/NetworkManagerDevice.c
18603                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
18604                         after bringing up a card.
18605
18606 2005-02-10  Dan Williams  <dcbw@redhat.com>
18607
18608         Patch from Dave Woodhouse:
18609         * src/NetworkManagerSystem.h
18610           src/backends/NetworkManagerDebian.c
18611           src/backends/NetworkManagerGentoo.c
18612           src/backends/NetworkManagerSlackware.c
18613                 - New nm_system_device_add_ip6_link_address() function to add link-local
18614                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
18615
18616         * src/backends/NetworkManagerRedHat.c
18617                 - (nm_system_device_add_ip6_link_address): implement
18618                 - (nm_system_device_flush_addresses): revert to previous behavior of
18619                         flushing all addresses
18620
18621 2005-02-10  Dan Williams  <dcbw@redhat.com>
18622
18623         Patch from Tom Parker:
18624         * src/NetworkManagerDevice.c
18625                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
18626                         mii.h headers are broken, and instead use our own typedefs
18627
18628 2005-02-10  Dan Williams  <dcbw@redhat.com>
18629
18630         * dhcpcd/buildmsg.c
18631                 - (fill_host_and_class_id): only fill in client and class IDs if
18632                         they are set by callers.
18633
18634         * dhcpcd/client.c
18635                 - (class_id_setup): don't autogenerate a class ID, only use one
18636                         we're given, if any.
18637                 - (client_id_setup): don't autogenerate a client ID, only use one
18638                         we're given, if any.
18639
18640         * dhcpcd/dhcpcd.c
18641                 - (dhcp_interface_init): ensure that client options are correctly
18642                         NULL terminated
18643
18644         * src/NetworkManagerDHCP.c
18645                 - (nm_device_dhcp_request): pass hostname to dhcp library
18646
18647 2005-02-10  Dan Williams  <dcbw@redhat.com>
18648
18649         * dhcpcd/client.c
18650                 - #rh147661# Don't send kernel version in DHCP requests
18651
18652         * src/NetworkManagerSystem.h
18653           src/backends/NetworkManagerDebian.c
18654           src/backends/NetworkManagerGentoo.c
18655           src/backends/NetworkManagerRedHat.c
18656           src/backends/NetworkManagerSlackware.c
18657                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
18658                         functions, they are no longer used anyway
18659
18660         * src/backends/NetworkManagerRedHat.c
18661                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
18662                         addresses in an attempt to keep IPv6 local-scope addresses around
18663
18664 2005-02-10  Dan Williams  <dcbw@redhat.com>
18665
18666         * src/NetworkManager.c
18667                 - (nm_create_device_and_add_to_list): change the add message slightly
18668
18669         * src/NetworkManagerUtils.c
18670                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
18671                         Return driver name to calling function
18672                 - (nm_get_driver_support_level): print out the driver a device is using
18673                         during the support check
18674
18675         Patch from Dave Woodhouse:
18676         * dhcpcd/udpipgen.c
18677                 - (in_cksum): copy last byte of odd-sized packets into a
18678                         'u_short' rather than a 'u_char', should fix wrong checksums
18679                         on big-endian platforms
18680
18681 2005-02-09  Dan Williams  <dcbw@redhat.com>
18682
18683         * Clean up usage of GSList objects and looping through their members
18684         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
18685                 now.
18686         * Fix problem where even if scanning was turned off, card would still
18687                 cycle through frequencies.
18688
18689 2005-02-08  Dan Williams  <dcbw@redhat.com>
18690
18691         * panel-applet/NMWirelessApplet.c
18692                 - Fix for gtk 2.4
18693
18694 2005-02-08  Dan Williams  <dcbw@redhat.com>
18695
18696         Patch from Bill Moss
18697         * panel-applet/NMWirelessApplet.c
18698                 - Restore correct ESSID in tooltips
18699
18700 2005-02-07  Dan Williams  <dcbw@redhat.com>
18701
18702         * panel-applet/NMWirelessApplet.[ch]
18703                 - Add a context menu that contains:
18704                         Pause/Resume Wireless Scanning
18705                         Stop/Start All Wireless Devices
18706                         About...
18707                 - Grab active device strength off active device,
18708                         not its network
18709
18710         * panel-applet/NMWirelessAppletDbus.[ch]
18711                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
18712                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
18713                 - Update active device strength every 2 seconds, not every 1 second
18714
18715         * panel-applet/menu-info.c
18716                 - Only disable wired devices in the menu when they support carrier detection,
18717                         and don't currently have a link.  Non-carrier-detect devices will always
18718                         remain choosable
18719
18720         * src/Makefile.am
18721           src/NetworkManagerDbusUtils.[ch]
18722                 - Add new new dbus utils sources
18723
18724         * src/NetworkManager.c
18725                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
18726                         with the boolean parameter
18727                 - Set scanning_enabled & wireless_enabled to TRUE
18728
18729         * src/NetworkManagerDbus.c
18730                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
18731                 - Implement scanning & wireless enable/disable calls
18732                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
18733
18734         * src/NetworkManagerDevice.c
18735                 - New link detection stuff again...
18736                         o  Create device's mainloop earlier (but don't run it earlier)
18737                         o  Hook up new carrier-detect support stuff
18738                         o  Add in the ethtool & mii support detection code
18739                 - Don't scan if scanning is disabled
18740
18741         * src/NetworkManagerPolicy.c
18742                 - Never automatically choose a device that doesn't support carrier detection
18743                 - Don't automatically choose a wireless device if wireless is disabled
18744
18745 2005-02-07  Dan Williams  <dcbw@redhat.com>
18746
18747         * libnm_glib/libnm_glib.c
18748                 - Small cleanup in element list iteration
18749
18750 2005-02-07  Dan Williams  <dcbw@redhat.com>
18751
18752         * src/NetworkManagerWireless.c
18753                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
18754                         to be in line with the WEXT quality specification
18755
18756 2005-02-02  Dan Williams  <dcbw@redhat.com>
18757
18758         Patch from Nathan Fredrickson <nathan@silverorange.com>
18759         * Fix up compile for deprecation of libgnomeui
18760                 - Switch to <glib/gi18n.h> from <libintl.h>
18761                 - Remove <libgnomeui/libgnomeui.h> includes
18762                 - Use gtk_window_set_default_icon_from_file() rather than
18763                         gnome_window_set_default_icon_from_file()
18764
18765         * named/nm-named-manager.c
18766                 - (generate_named_conf): Fix return-nothing in non-void
18767                         function
18768
18769 2005-02-02  Dan Williams  <dcbw@redhat.com>
18770
18771         * Clean up unused variables and the like
18772
18773 2005-02-02  Dan Williams  <dcbw@redhat.com>
18774
18775         * src/NetworkManagerAPList.c
18776                 - (nm_ap_list_merge_scanned_ap): merge strength too
18777
18778         * src/NetworkManagerUtils.c
18779                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
18780                         of locking issues by printing out prettier information than g_mutex_lock
18781                 - Print out names of mutexes registered with nm_register_mutex_desc()
18782                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
18783                         us to seemingly block here for too long
18784
18785         * src/NetworkManager.c
18786           src/NetworkManagerAPList.c
18787           src/NetworkManagerDevice.c
18788                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
18789                         so we get better debug information printed
18790
18791         * src/NetworkManagerDbus.c
18792                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
18793                         since it sometimes has locking side effects
18794                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
18795                         from 10s
18796                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
18797                         we don't need a switch.  This gets called often enough that we can't block
18798                         until the scan mutex is acquired, because we'll block on device activation
18799                         and a few other things, which hangs main thread for too long.
18800
18801         * src/NetworkManagerPolicy.c
18802                 - (nm_policy_auto_get_best_device): reduce the possiblity that
18803                         nm_device_need_ap_switch() will be called               
18804
18805 2005-02-02  Dan Williams  <dcbw@redhat.com>
18806
18807         * panel-applet/NMWirelessApplet.c
18808                 - Display name of wireless network we are connecting to or connected to
18809                         in the tooltip of the applet
18810
18811 2005-02-02  Dan Williams  <dcbw@redhat.com>
18812
18813         * src/NetworkManagerDHCP.c
18814                 - Hopefully fix double-default-route problem by cleaning up the default
18815                         route added by DHCP code right before the DHCP transaction begins
18816
18817 2005-02-02  Dan Williams  <dcbw@redhat.com>
18818
18819         * named/nm-named-manager.c
18820                 - Write out valid resolv.conf when we exit
18821
18822 2005-02-01  Dan Williams  <dcbw@redhat.com>
18823
18824         Patch from Colin Walters:
18825         * named/nm-named-manager.c
18826                 - Make multi-domain search options work
18827
18828 2005-01-31  Dan Williams  <dcbw@redhat.com>
18829
18830         * info-daemon/NetworkManagerInfoDbus.c
18831                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
18832
18833         * src/NetworkManagerDevice.c
18834                 - (nm_device_new): Don't store the entire range struct, use only what we need
18835                         (which is currently avg_quality, max_quality, and frequencies).  Also
18836                         zero device structure when we've free'd it to maybe expose errors down
18837                         the line.
18838                 - (nm_device_update_signal_strength): grab the scan mutex before getting
18839                         quality data from the card since quality will be useless during a scan.
18840                         Call updated wireless qual-to-percent function with values stored in
18841                         nm_device_new() earlier.
18842                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18843                         nm_device_get_bad_crypt_packets())
18844                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18845                         nm_device_new()
18846                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18847                         list if available.  Problem was this: when the WEP key is wrong, NM will
18848                         try OS then SK modes, and then get stuck in SK mode after that.  This
18849                         should reset it.
18850                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18851                         function
18852
18853         * src/NetworkManagerWireless.c
18854                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18855                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18856                         if that's all present, otherwise fall back to signal-to-noise ratios.
18857
18858 2005-01-29  Dan Williams  <dcbw@redhat.com>
18859
18860         * initscript/RedHat/NetworkManager
18861                 - Don't spit out sysctl stuff to console
18862
18863         * libnm_glib/libnm_glib.c
18864                 - (libnm_glib_init): call dbus_g_thread_init()
18865
18866         * panel-applet/NMWirelessAppletDbus.c
18867                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18868
18869         * src/NetworkManager.c
18870                 - (main): call dbus_g_thread_init()
18871
18872         * src/NetworkManagerAPList.c
18873                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18874                         so we can actually see what's there in a normal syslog
18875
18876         * src/NetworkManagerDevice.c
18877                 - (nm_device_activate_wireless): print out the "waiting for access point"
18878                         message only once, then say what access point we actually got after
18879                         the wait.
18880                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18881                         function, wait until the scan is done.  Scans may change the ESSID of
18882                         the card, making this function think we need to switch access points
18883                 - (nm_device_wireless_process_scan_results): for artificial access points
18884                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18885                         prevents collisions with the scanning code, which may change the card's
18886                         ESSID and cause the access point to get dropped from the device's AP
18887                         list.  Also increase the keep-around time to 2m from 60s since the max
18888                         scan interval could be 60s in some cases.
18889
18890         * src/NetworkManagerPolicy.c
18891                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18892                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18893                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18894                         between NM and NMI.
18895
18896 2005-01-27  Dan Williams  <dcbw@redhat.com>
18897
18898         * info-daemon/NetworkManagerInfoDbus.c
18899                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18900                         GConf, make a minimal entry for it (essid & timestamp)
18901
18902         * src/NetworkManagerAPList.c
18903                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18904                         NetworkManagerInfo isn't running
18905
18906         * src/NetworkManagerDbus.[ch]
18907                 - (nm_dbus_nmi_is_running): new function
18908
18909         * src/NetworkManagerDevice.c
18910                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18911                         address to garbage.
18912
18913         * src/NetworkManagerPolicy.c
18914                 - (nm_policy_activation_finish): On successful activation, make sure
18915                         the "best" AP has a MAC address, and don't tell NMI to add the
18916                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18917                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18918                         access point after refreshing our allowed list if it doesn't already
18919                         have a "best" access point.
18920
18921 2005-01-25  Dan Williams  <dcbw@redhat.com>
18922
18923         * panel-applet/NMWirelessAppletDbus.c
18924                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18925                         so we check for NM_DBUS_SERVICE rather than not for it
18926
18927         * libnm_glib/libnm_glib.c
18928                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18929                         ServiceOwnerChanged signal
18930
18931 2005-01-25  Dan Williams  <dcbw@redhat.com>
18932
18933         * configure.in
18934                 - Check DBUS version in configure, and set the C macros
18935                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18936
18937         * info-daemon/NetworkManagerInfoDbus.c
18938                 - Remove #if 0-d section of code that quit NMI if NM went away.
18939
18940         * panel-applet/NMWirelessAppletDbus.c
18941                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18942
18943         * src/NetworkManager.c
18944           src/NetworkManagerMain.h
18945           src/NetworkManagerDbus.c
18946                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18947                 - Make updating of our Allowed Wireless Network lists from NMI
18948                         an idle function in the main thread now, with a high priority.
18949
18950 2005-01-24  Dan Williams  <dcbw@redhat.com>
18951
18952         * panel-applet/gtkcellview.[ch]
18953           panel-applet/menu-info.c
18954                 - Fix GTK version checks to be <= rather than <
18955
18956         * test/Makefile.am
18957                 - Include the libtool archive of libnm_glib rather than
18958                         trying to pull in the .so
18959
18960 2005-01-24  Dan Williams  <dcbw@redhat.com>
18961
18962         * src/NetworkManagerDevice.c
18963           src/NetworkManagerDevicePrivate.h
18964                 - Block nm_device_new() until our device's worker thread has had a
18965                         chance to start up.  Fixes a race between main thread and worker
18966                         thread starting that caused activation requests to get lost.
18967
18968 2005-01-24  Dan Williams  <dcbw@redhat.com>
18969
18970         * initscript/RedHat/NetworkManager
18971                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18972                         to add the NM startup script at priority 50, which was
18973                         way too early
18974
18975 2005-01-24  Colin Walters  <walters@redhat.com>
18976
18977         * named/named.conf: Use any port for query source instead of
18978         restricting to port 53.
18979
18980 2005-01-24  Dan Williams  <dcbw@redhat.com>
18981
18982         * initscript/RedHat/NetworkManager
18983                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18984                         to add the NM startup script at priority 50, which was
18985                         way too early
18986
18987 2005-01-24  Dan Williams  <dcbw@redhat.com>
18988
18989         Patch from Tom Parker <palfrey@tevp.net>
18990         * Fix up compile warnings & errors in the wireless applet
18991
18992 2005-01-24  Dan Williams  <dcbw@redhat.com>
18993
18994         * panel-applet/NMWirelessApplet.c
18995                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18996
18997 2005-01-24  Dan Williams  <dcbw@redhat.com>
18998
18999         * panel-applet/gtkcellview.[ch]
19000                 - Only compile these files for GTK 2.4 or lower, since 
19001                         GtkCellView is now public in GTK 2.6.  Fixes crasher
19002                         when choosing "Other Wireless Networks" from the panel
19003                         applet menu
19004
19005 2005-01-21  Dan Williams  <dcbw@redhat.com>
19006
19007         * src/NetworkManager.c
19008                 - Daemonize earlier so that glib doesn't get confused (?)
19009
19010 2005-01-21  Dan Williams  <dcbw@redhat.com>
19011
19012         * panel-applet/NMWirelessApplet.[ch]
19013           panel-applet/NMWirelessAppletDbus.c
19014           panel-applet/menu-info.c
19015           src/NetworkManagerDevice.c
19016                 - Disable wired devices in the menu when they have no link.
19017
19018 2005-01-21  Dan Williams  <dcbw@redhat.com>
19019
19020         * Cache last-known-good wireless authentication method in
19021                 NetworkManagerInfo, and use that method first during
19022                 wireless device activation.  Should speed up devices that
19023                 need Shared Key authentication method since Open System is
19024                 now the default.
19025
19026         * Remove the hack to not do full activation on wired connections
19027                 that are active when we launch, it causes too many problems
19028                 with name resolution and was a hack in the first place.
19029
19030         * Re-work wireless device activation again somewhat to have a
19031                 clearer chain of events and to use last-known-good
19032                 authentication method of the access point.  Also provide
19033                 better status throughout activation to ensure the applet
19034                 can tell the user exactly what's going on.
19035
19036         * Remove the "find wireless network" code and now simply attempt
19037                 to activate with that access point.  This reduces the delay
19038                 between selecting "Other wireless Network" and actually
19039                 connecting to that network.
19040
19041         * Correctly stop the device's worker thread when its removed.
19042
19043 2005-01-21  Dan Williams  <dcbw@redhat.com>
19044
19045         * dhcpcd/client.c
19046                 - Clean up some of the debug messages
19047
19048 2005-01-21  Dan Williams  <dcbw@redhat.com>
19049
19050         * Add new icons, more frames of animation
19051         * Remove some hacks to get the panel applet to display correct
19052                 status, an NM update will soon follow that will fix the
19053                 real issue.
19054
19055 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
19056
19057         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
19058         the first include for working i18n. Also, don't include it in .h files
19059         * panel-applet/NMWirelessApplet.h: Same
19060         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
19061         * panel-applet/menu-info.c: Same
19062
19063 2005-01-18  Dan Williams <dcbw@redhat.com>
19064
19065         * dhcpcd/client.c
19066                 - Remove some debug messages
19067                 - Wrap others in #ifdef DEBUG/#endif
19068
19069         * src/NetworkManager.c
19070                 - Remove some debug messages
19071                 - Clarify some debug messages
19072                 - Remove code related to old single-thread wireless scanning
19073
19074         * src/NetworkManagerAP.[ch]
19075                 - New AP property "last_seen" to track how recently an AP was
19076                         found in a scan
19077                 - Start using 'const' more in function arguments
19078
19079         * src/NetworkManagerAPList.[ch]
19080                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
19081                         of an AP found in an AP list from a source AP, or if not found
19082                         in the list add the source AP
19083                 - (nm_ap_list_combine): remove, no longer needed
19084
19085         * src/NetworkManagerDevice.c
19086                 - Each device now has a "worker" thread from start to end of its life.
19087                         Scanning for wireless devices now happens in that thread,
19088                         not in a single "wireless scanning thread" for all devices as
19089                         previously.  Activation consists of adding an idle handler to the
19090                         thread's main loop/context, which gets run at the next available
19091                         opportunity.
19092                 - Wireless scanning is also simplified, there is now only one list of
19093                         access points per wireless device, and APs older than 60s are
19094                         removed from the list.  Previously, we kept results for the last
19095                         3 scans and merged whole lists, which was complicated.
19096                 - Cleaned up activation debug messages.
19097                 - Wireless activation and access-point search routines now use Open System
19098                         authentication before trying Shared Key.
19099                 - Removed some code in nm_device_update_best_ap() that could cause cards
19100                         to loose their link to the access point.
19101                 - Scanning now uses a backoff algorithm, where the inverval becomes
19102                         progressively longer between scans when the list of scanned access
19103                         points doesn't change.  A change will revert to the shortest scan
19104                         interval (20s).
19105
19106         * src/NetworkManagerWireless.[ch]
19107                 - Remove code related to old single-thread wireless scanning
19108
19109 2005-01-18  Colin Walters  <walters@redhat.com>
19110
19111         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
19112         of older nameservers.
19113
19114 2005-01-18  Colin Walters  <walters@redhat.com>
19115
19116         * named/nm-named-manager.c (generate_named_conf): Many fixes
19117         to config file generation.
19118         (safer_kill): Remove, was too much trouble for little gain.
19119         (nm_named_manager_start): Run named as NM_NAMED_USER.
19120
19121         * configure.in: Add option --with-named-user.
19122
19123 2005-01-14  Colin Walters  <walters@redhat.com>
19124
19125         Patch from ed@catmur.co.uk (Ed Catmur)
19126
19127         * named/nm-named-manager.c: Add "context" property.
19128         Use it to add child watch source in specific GMainContext.
19129
19130         * src/NetworkManager.c (nm_data_new): Initialize
19131         named with correct main context.  Start named only
19132         after forking.
19133
19134 2005-01-14  Colin Walters  <walters@redhat.com>
19135
19136         * named/nm-named-manager.c (generate_named_conf): Write config
19137         and pid files into NM_NAMED_DATA_DIR; this allows things to
19138         work better with FC3 named SELinux policy.  Also fix up silly
19139         format error.
19140
19141         * configure.in: Add --with-named-dir option.
19142
19143 2005-01-14  Colin Walters  <walters@redhat.com>
19144
19145         * configure.in: Make named support require passing --with-named.
19146
19147         * named/nm-named-manager.c: Support writing resolv.conf directly
19148         without running named.
19149
19150 2005-01-13  Dan Williams <dcbw@redhat.com>
19151
19152         * named/nm-named-manager.c
19153                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
19154
19155         * src/NetworkManagerDevice.c
19156                 - Rework wireless link detection code to be more reliable
19157
19158 2005-01-12  Dan Williams <dcbw@redhat.com>
19159
19160         * initscripts/RedHat/NetworkManager
19161                 - Change initial level to "-" rather than "345" so that
19162                         we don't activate ourselves by default on install
19163
19164 2005-01-12  Dan Williams <dcbw@redhat.com>
19165
19166         * libnm_glib/
19167                 - Client library for applications using glib
19168
19169         * configure.in
19170           various Makefiles
19171                 - Split NM_CFLAGS and NM_LIBS into separate variables
19172                         like DBUS_*, HAL_* and GLIB_*
19173
19174         * src/NetworkManager.c
19175           src/NetworkManagerMain.h
19176                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
19177                         broadcast a status changed signal over DBUS from the main thread.
19178                         Still unused anywhere for the moment.
19179
19180         Patch from j@bootlab.org
19181         * panel_applet/NMWirelessAppletDbus.c
19182           src/NetworkManagerDbus.c
19183                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
19184                         for the "getMode" method call
19185
19186 2005-01-10  Dan Williams <dcbw@redhat.com>
19187
19188         * src/NetworkManagerDevice.c
19189                 - Minor fixups & corrections to "auto" frequency mode, make it
19190                         less chatty with syslog
19191
19192 2005-01-10  Dan Williams <dcbw@redhat.com>
19193
19194         * src/NetworkManagerDevice.c
19195                 - Implement "auto" frequency/channel support, since cards like Atheros
19196                         can't use other frequencies at all when you've told it to use a
19197                         specific one, even for scanning.
19198                 - Grab the scan mutex around places where we can't tolerate wireless
19199                         settings changing underneath us, like nm_device_wireless_network_exists()
19200                         and nm_device_activate_wireless()
19201
19202         * src/NetworkManagerWireless.c
19203                 - Back scan interval off to 20s instead of 14s
19204
19205 2005-01-09  Dan Williams <dcbw@redhat.com>
19206
19207         * src/NetworkManagerDevice.c
19208                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
19209                         already set.  Stops some drivers like Atmel from continually
19210                         reloading the firmware, which they do upon every configuration
19211                         change.
19212
19213 2005-01-09  Dan Williams <dcbw@redhat.com>
19214
19215         * dhcpcd/client.c
19216                 - Use correct timeout value
19217
19218         * info-daemon/NetworkManagerInfoDbus.c
19219           src/NetworkManagerDbus.c
19220                 - Consolidate communication between NM and NMI by doing only 1 dbus
19221                         method call to get Wireless Network info from NMI instead of 6
19222
19223         * src/NetworkManager.c
19224                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
19225                         when we didn't have an AP to use, we'd wait for one forever without
19226                         quitting
19227
19228         * src/NetworkManagerDevice.c
19229                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
19230                         activation, dhcp might not have started yet but we don't quit activation
19231                         before starting it, so the quit signal gets lost
19232
19233 2005-01-07  Dan Williams <dcbw@redhat.com>
19234
19235         * dhcpcd/client.c
19236                 - Rework the DHCP client code to be much less chatty when
19237                         it receives non-DHCP UDP packets during the DHCP run
19238                         (reported by and preliminary patches from Bill Moss)
19239
19240         * Move wireless scanning to a separate thread.  This thread forwards the
19241                 results to the main thread when done where they are integrated into
19242                 the device's access point lists.  This keeps the main thread (which
19243                 does all the DBUS communication) from being blocked for long periods
19244                 of time by wireless scanning.
19245
19246         * Make state modification an idle routine in the main loop, and trigger
19247                 state changes rather than polling for them.
19248
19249         * src/backends/NetworkManagerGentoo.c
19250                 - Fix up invalid C90 code (reported by Christoph Ruessler)
19251
19252         * src/NetworkManagerDevice.c
19253                 - Revert IPv6 patch for wired devices from 2004-12-22 for
19254                         router advertisements, causing problems and infinite loop
19255                         during "best" device determination due to link going up/down
19256                         (reported by Bill Moss)
19257
19258         Apply patch from Peter Jones
19259         * src/NetworkManagerDevice.c
19260                 - Shortcut for link-checking for ipw2x00 cards
19261                 - Split out association check into separate routine
19262
19263 2004-01-05  Colin Walters  <walters@redhat.com>
19264
19265         * named/named.conf: Add PID_FILE.
19266
19267         * named/nm-named-manager.c: Always generate a pid
19268         file, since older BIND versions don't support
19269         "pid-file none".
19270
19271 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
19272
19273         * configure.in (ALL_LINGUAS): Added ja (Japanese).
19274
19275 2004-12-22  Dan Williams <dcbw@redhat.com>
19276
19277         * src/NetworkManagerDevice.c
19278                 - Silently fail when setting bitrate doesn't work
19279
19280
19281         Patches from j@bootlab.org:
19282         * src/backends/NetworkManagerDebian
19283                 - Update backend to match functionality in RedHat backend
19284         * src/NetworkManagerDevice.c
19285                 - Take down then bring up wired devices after connection so
19286                 they send out ipv6 router advertisements
19287
19288 2004-12-21  Colin Walters  <walters@verbum.org>
19289
19290         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
19291         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
19292
19293 2004-12-21  Colin Walters  <walters@redhat.com>
19294
19295         * configure.in: Correct named detection.
19296
19297 2004-12-21  Colin Walters  <walters@redhat.com>
19298
19299         * src/NetworkManager.c (nm_data_new): Initialize named.
19300         Also, set up a signal handler for SIGINT/SIGTERM, and exit
19301         the mainloop when these signals are received.
19302         (nm_data_free): Unref named.
19303         (sigterm_handler, sigterm_pipe_handler): New functions for
19304         exiting mainloop.
19305         
19306         * src/NetworkManagerMain.h (NMData): Add signal handling and
19307         nameserver bits.
19308
19309         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
19310         unref.
19311
19312         * src/NetworkManagerDHCP.c (set_nameservers): New function;
19313         set nameservers from DHCP response data.
19314         (set_domain_search): Set domain search from DHCP response.
19315         (nm_device_dhcp_configure): Invoke them.
19316
19317         * src/NetworkManagerSystem.c
19318         (nm_system_device_update_resolv_conf): Delete.  Deleting
19319         code is totally sweet.
19320
19321         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
19322
19323         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
19324         implements an object which controls a nameserver.  Currently
19325         uses bind 9.
19326
19327         * configure.in: Check for named.
19328
19329         * Makefile.am (SUBDIRS): Add named dir.
19330
19331         * named/named.conf: New template config file.
19332
19333 2004-12-20  Colin Walters  <walters@redhat.com>
19334
19335         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
19336         instead of '='.
19337
19338 2004-12-17  Dan Williams  <dcbw@redhat.com>
19339
19340         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
19341                 link-local addresses instead of doing DHCP.
19342
19343         * In the panel applet, there's a new "Create new Wireless Network..." item
19344
19345         * The panel applet also sticks around now even if NetworkManager dies, but
19346                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
19347                 a bug, I'll fix that later.
19348
19349         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
19350                 lookups after a switch rather than actually doing them.
19351
19352         * Clean up some of those warnings in nm_ap_list_* functions
19353
19354         * Delay between scans changed to 15s instead of 10s
19355
19356 2004-12-15  Dan Williams  <dcbw@redhat.com>
19357
19358         Patch from Tom Parker
19359         * Add autoip/Link Local Addressing support when we fail to get a DHCP
19360                 address
19361
19362         * Longer pause after setting ESSID on cards that support a larger number
19363                 of channels to give the card time to find the right channel
19364
19365         * Add system hook to restart mDNSResponder (or whatever the local implementation
19366                 of Multicast DNS is) when we activate interfaces
19367
19368 2004-12-15  Dan Williams  <dcbw@redhat.com>
19369
19370         * Rework the DHCP code again to revert to sending full ethernet frames
19371                 rather then relying on the kernel to do the right thing with our
19372                 packets.
19373
19374 2004-12-06  Dan Williams  <dcbw@redhat.com>
19375
19376         * dhcpcd/client.c
19377                 - Fix some minor errors in dhcp_handle_transaction() that caused
19378                         unexpected early timeouts of DHCP transactions
19379
19380         * dhcpcd/client.h
19381                 - DHCP retransmit time from 4s -> 5s
19382
19383 2004-12-05  Dan Williams  <dcbw@redhat.com>
19384
19385         * Major rework of the DHCP code, taking some cues from pump.  We don't
19386                 write raw Ethernet packets anymore, which simplifies the code quite
19387                 a bit.  The new code should be more robust, not hang in recvfrom()
19388                 as much, and generally work better.  This also means that we need
19389                 to force HAL/dbus to use a created GMainContext rather than the
19390                 default context, since having the DHCP renew/rebind thread using
19391                 its own GMainContext seemed to give dbus a fit.  There is also more
19392                 debugging information printed from the DHCP loop to help with future
19393                 problems.
19394
19395         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
19396                 assume that the default gateway should be the DHCP server.
19397
19398         Patch from Matthew Schick <matt oss-institute org>
19399         * src/backends/NetworkManagerGentoo.c
19400                 - Fix compilation error due to missing "ip4_broadcast"
19401
19402 2004-12-03  Dan Williams  <dcbw@redhat.com>
19403
19404         * initscript/Makefile.am
19405         * initscript/Debian/NetworkManager
19406         * initscript/Gentoo/NetworkManager
19407         * initscript/RedHat/NetworkManager
19408         * initscript/NMLaunchHelper.c
19409                 - Remove NMLaunchHelper, if you need to wait until the network
19410                         comes up, use the dead code from CVS.
19411
19412 2004-12-01  Colin Walters  <walters@redhat.com>
19413         
19414         * configure.in: Suck in gcc warnings code from Rhythmbox,
19415         but use fewer default flags, and in particular add -Wno-unused,
19416         since the codebase has a lot of unused variables.
19417
19418         * test/nmtestdevices.c (create_device): 
19419         * test/nminfotest.c (get_network_string_property) 
19420         (get_networks_of_type): 
19421         * test/nmclienttest.c (main): 
19422         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
19423         * initscript/NMLaunchHelper.c (get_nm_status): 
19424         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
19425         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
19426         Fix declarations after statements.
19427
19428 2004-12-01  Colin Walters  <walters@redhat.com>
19429
19430         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
19431         (nmi_dbus_get_vpn_userpass): New method.
19432         (nmi_dbus_nmi_message_handler): Invoke it.
19433
19434         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
19435
19436         * info-daemon/NetworkManagerInfoVPN.h,
19437         info-daemon/NetworkManagerInfoVPN.c: New files; responds
19438         to requests for VPN passwords.
19439
19440         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
19441
19442 2004-12-01  Colin Walters  <walters@redhat.com>
19443
19444         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
19445         includes.
19446
19447 2004-12-01  Colin Walters  <walters@redhat.com>
19448
19449         * panel-applet/NMWirelessAppletDbus.c
19450         (nmwa_dbus_update_active_device_strength): Fix missing
19451         return value.
19452
19453 2004-12-01  Colin Walters  <walters@redhat.com>
19454
19455         * panel-applet/NMWirelessApplet.c: Add missing include.
19456
19457 2004-12-01  Colin Walters  <walters@redhat.com>
19458
19459         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
19460         Remove useless CLAMP (); the value is unsigned, and the case tests
19461         qual->qual < 100, so the value must always be between 0 and 100.
19462
19463 2004-12-01  Colin Walters  <walters@redhat.com>
19464
19465         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
19466
19467 2004-11-22  Colin Walters  <walters@verbum.org>
19468
19469         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
19470         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
19471         which is essentially a noop since nscd caches hosts on disk too.
19472         
19473 2004-11-22  Colin Walters  <walters@redhat.com>
19474
19475         * src/Makefile.am (NetworkManager_SOURCES): Add
19476         NetworkManagerDevicePrivate.h.
19477
19478 2004-11-22  Dan Williams <dcbw@redhat.com>
19479
19480         * src/NetworkManagerDevicePrivate.h
19481                 - Split out the NMDevice struct to a different file so that stuff like
19482                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
19483
19484         * dhcpcd/client.c
19485                 - fprintf->syslog
19486                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
19487                         need to cancel the dhcp request during the send and recv
19488
19489         * dhcpcd/client.h
19490                 - Move the DHCP option enum to dhcpcd.h
19491
19492         * src/NetworkManagerDHCP.c
19493                 - Split out the actual IP/netmask/etc setting code
19494                 - New Renew/Rebind functions
19495                 - New timer setup function for renew/rebind operations
19496
19497         * src/NetworkManagerDevice.c
19498                 - For device activation, if we are using DHCP then keep the activation thread
19499                         alive until device deactivation.  We need to renew/rebind the DHCP address
19500                         after the T1 (renew) and T2 (rebind) times have expired.
19501                 - Increase some timeouts after bringing wireless cards up/down
19502
19503 2004-11-17  Dan Williams <dcbw@redhat.com>
19504
19505         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
19506                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
19507                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
19508                 show known access points that don't broadcast their ESSID in the menus without
19509                 any user intervention whatsoever.
19510
19511         * info-daemon/NetworkManagerInfoDbus.c
19512                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
19513                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
19514
19515         * src/NetworkManagerAP.[ch]
19516                 - Add a "user_addresses" data member to the NMAccessPoint structure
19517                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
19518                         the user_addresses data member
19519
19520         * src/NetworkManagerAPList.c
19521                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
19522                         the AP's reported address
19523                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
19524
19525         * src/NetworkManagerDHCP.c
19526                 - Increase DHCP timeout from 25s -> 30s
19527
19528         * src/NetworkManagerDbus.[ch]
19529                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
19530                         user addresses
19531
19532         * src/NetworkManagerDevice.c
19533                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
19534                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
19535                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
19536                         So, we take the card down to clear it out.
19537                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
19538                         too, since that's where the user_addresses are
19539
19540         * src/NetworkManagerPolicy.c
19541                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
19542                         that wireless networks' user_addresses list upon successful activation
19543
19544 2004-11-16  Dan Williams <dcbw@redhat.com>
19545
19546         * src/NetworkManagerDevice.[ch]
19547                 - (nm_device_clear_activation_fail): new function
19548
19549         * src/NetworkManagerPolicy.c
19550                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
19551                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
19552
19553 2004-11-16  Dan Williams <dcbw@redhat.com>
19554
19555         * src/NetworkManagerDevice.c
19556                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
19557                         leak the structure, better updating of now_scanning status
19558                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
19559
19560 2004-11-15  Dan Williams <dcbw@redhat.com>
19561
19562         Major rework of link detection code.  We now use DHCP
19563         as part of the link detection which proves to be much more robust,
19564         and also supports Open System authentication for wireless networks.
19565
19566         We no longer use external DHCP client programs.  Instead, we use 
19567         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
19568         which was written by:
19569                 Yoichi Hariguchi <yoichi@fore.com>
19570                 Sergei Viznyuk <sv@phystech.com>
19571                 http://www.phystech.com/download/
19572         It resides in the "dhcpcd" directory and was refactored into a general
19573         purpose DHCP client library by me.
19574
19575         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
19576         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
19577
19578 2004-11-15  Dan Williams <dcbw@redhat.com>
19579
19580         Patch from Tom Parker <palfrey@tevp.net>:
19581
19582         * src/NetworkManagerDevice.c
19583                 - Less output to console when no access
19584                         points are found during a scan
19585
19586 2004-11-15  Dan Williams <dcbw@redhat.com>
19587
19588         Patch from Tom Parker <palfrey@tevp.net>:
19589
19590         * src/backends/interface_parser.c
19591                 - Use g_strdup ()
19592                 - Check for inp == NULL
19593                 - use syslog ()
19594
19595 2004-11-13  Colin Walters  <walters@redhat.com>
19596
19597         Patch from Tom Parker <palfrey@tevp.net>:
19598
19599         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
19600         
19601         * src/backends/NetworkManagerRedHat.c: Switch to
19602         including shvar.h instead of shvar.c.
19603
19604         * src/backends/NetworkManagerDebian.c: Don't include
19605         interface_parser.c in source file.
19606
19607         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
19608         and interface_parser.[ch].
19609         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
19610         Include shvar.c and shvar.h here.
19611         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
19612         interface_parser.c and interface_parser.h here.
19613
19614 2004-11-12  Colin Walters  <walters@redhat.com>
19615
19616         * configure.in: Strip out TARGET_DISTRO and
19617         SYSTEM_BACKEND_FILE variables.  Switch to Automake
19618         conditionals.
19619
19620         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
19621         (libnmbackend_la_SOURCES): Use Automake conditionals
19622         to add distro-specific files.
19623
19624         * initscript/Makefile.am (SUBDIRS): Update to
19625         use conditionals.
19626
19627 2004-11-12  Colin Walters  <walters@redhat.com>
19628
19629         Patches from j bootlab org
19630
19631         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
19632         Add interface_parser.[ch].
19633
19634         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
19635         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
19636
19637 2004-11-12  Colin Walters  <walters@redhat.com>
19638
19639         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
19640         call to nmi_dbus_is_running too, not necessary anymore.
19641         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
19642         pick up exit().
19643
19644 2004-11-11  Colin Walters  <walters@verbum.org>
19645
19646         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
19647         Delete.
19648         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
19649         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
19650         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
19651         This avoids a race condition that made it pretty easily
19652         possible to get two NetworkManagerInfo daemons running.
19653
19654 2004-11-11  Colin Walters  <walters@verbum.org>
19655         
19656         * src/NetworkManager.c (main): Use daemon(3).
19657
19658         * info-daemon/NetworkManagerInfo.c (main): Ditto.
19659
19660         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
19661
19662 2004-11-10 Dan Williams <dcbw@redhat.com>
19663
19664         Patches from j bootlab org
19665         * src/NetworkManagerDevice.c
19666                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
19667                         whether the card has a link or not, some cards are slow
19668                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
19669
19670         * info-daemon/NetworkManagerInfoPassphraseDialog.c
19671                 - Disable the "Login" button on the passphrase dialog until the user
19672                         enters a valid passphrase or key
19673
19674         Patches from Tom Parker <palfrey tevp net>
19675         * src/backends/NetworkManagerDebian.c
19676                 - Add static IP support to the debian backend
19677
19678         * src/backends/interface_parser.[ch]
19679                 - Parse debian interface config files
19680
19681 2004-11-08 Dan Williams <dcbw@redhat.com>
19682
19683         * src/NetworkManagerDevice.c
19684                 - Some random fprintf->syslog conversions
19685                 - (nm_device_wireless_network_exists): double-check for network
19686                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
19687
19688         * src/NetworkManagerWireless.[ch]
19689                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
19690                         so that the binary->ascii conversion works (if unsigned, the bitshift
19691                         will fill with zeros, which is what's required).  Also mask bitshift
19692                         result with 0xF for futher assurance.
19693
19694 2004-11-06 Dan Williams <dcbw@redhat.com>
19695
19696         * src/NetworkManagerUtils.c
19697                 - (nm_get_wireless_driver_support_level): default to
19698                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
19699                         flip this when changing from whitelist->blacklist of
19700                         wireless drivers
19701
19702 2004-11-05 Dan Williams <dcbw@redhat.com>
19703
19704         Patch from Robert Paskowitz:
19705         * src/backends/NetworkManagerGentoo.c
19706                 - Update static IP config code
19707
19708 2004-11-05 Dan Williams <dcbw@redhat.com>
19709
19710         * info-daemon/NetworkManagerInfoDbus.c
19711           src/NetworkManagerDbus.[ch]
19712           src/NetworkManagerDevice.c
19713                 - Keep track of the # of attempts to get the WEP key
19714                         from the user and pass that along to the info daemon
19715
19716 2004-11-05 Dan Williams <dcbw@redhat.com>
19717
19718         * src/NetworkManagerUtils.c
19719                 - Blacklist wireless cards rather than whitelisting them.
19720                 - Grab driver name from HAL rather than trying to find it
19721                         ourselves.
19722
19723 2004-11-03 Dan Williams <dcbw@redhat.com>
19724
19725         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
19726                 - Disable OK button until valid data is entered
19727                         for encryption stuff too
19728
19729         * panel-applet/NMWirelessApplet.c
19730                 - Report card strength for current AP if the card
19731                         doesn't report strength data for scanned access
19732                         points
19733
19734         * src/NetworkManagerDevice.c
19735                 - Smooth out cards reported quality, Atmel card was
19736                         intermittently reporting no quality data but soon
19737                         recovers
19738
19739         * src/NetworkManagerWireless.c
19740                 - Better quality data percentage calculation.  Atmel
19741                         cards (mine at least) seem to report the quality
19742                         in percentage format already, so honor that
19743
19744         Patch from <j@bootlab.org>
19745         * NetworkManager.h
19746           info-daemon/NetworkManagerInfoPassphraseDialog.c
19747           info-daemon/passphrase.glade
19748           panel-applet/NMWirelessAppletOtherNetworkDialog.c
19749           panel-applet/essid.glade
19750           src/NetworkManagerAP.c
19751           src/NetworkManagerDevice.c
19752           src/NetworkManagerWireless.[ch]
19753                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
19754
19755 2004-11-03 Dan Williams <dcbw@redhat.com>
19756
19757         * src/NetworkManagerDevice.[ch]
19758                 - (nm_device_set_enc_key): Add parameter to set Authentication
19759                         Mode (Open System, Shared Key, or None).  We're still using
19760                         Shared Key for now though.
19761
19762 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
19763
19764         * panel-applet/menu-info.c: change from bold text to light
19765         colored, may cause problems with some themes, i've tested a lot
19766         and they seem fine. 
19767
19768         * panel-applet/NMWirelessApplet.c: fix strength tooltip
19769
19770 2004-11-01  Colin Walters  <walters@verbum.org>
19771
19772         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
19773         (nm_wireless_128bit_key_from_passphrase): Add const.
19774
19775         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
19776         (nm_ap_set_enc_key_source): Add const.
19777         
19778 2004-11-01  Colin Walters  <walters@verbum.org>
19779
19780         * .cvsignore: Update.
19781
19782 2004-10-29 Dan Williams <dcbw@redhat.com>
19783
19784         * src/NetworkManagerDevice.c
19785                 - (nm_device_wireless_network_exists): Actually use the encryption
19786                         key we got from the applet when attempting to find a wireless network
19787                 - Don't bring devices down so much since on some cards it triggers
19788                         firmware hotplugs each time
19789
19790         * src/NetworkManagerDbus.c
19791                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
19792                         from the caller
19793
19794 2004-10-29 Dan Williams <dcbw@redhat.com>
19795
19796         * src/NetworkManager.c
19797                 - (nm_hal_device_property_modified): unlock a locked active
19798                         wireless device when a wired connection gets a link.
19799                         (Means you'll switch to wired whenever you plug in no
19800                         matter what).
19801
19802 2004-10-29 Dan Williams <dcbw@redhat.com>
19803
19804         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
19805                 - New files, implement the "Other wireless network" dialog
19806
19807         * panel-applet/NMWirelessApplet.c
19808                 - Move "other wireless network" dialog to separate file
19809
19810         * panel-applet/NMWirelessAppletDbus.[ch]
19811                 - Take key and key_type paramaters for the set_device function
19812
19813         * panel-applet/essid.glade
19814                 - Add UI bits for encryption settings
19815
19816         * src/NetworkManagerDbus.c
19817                 - Retrieve key and key_type params for "setActiveDevice" method call
19818                         and pass them on
19819                 - unref AP returned from nm_device_get_best_ap() when needed
19820
19821         * src/NetworkManagerDevice.c
19822                 - (nm_device_get_best_ap): ref the ap before returning it
19823                 - unref AP returned from nm_device_get_best_ap() when needed
19824                 - (nm_device_activate_wireless): add "ap" parameter so we don't
19825                         need to call nm_device_get_best_ap() here, it was pretty much
19826                         redundant anyway
19827                 - (AP_NEED_KEY): break second link check condition out into separate
19828                         function, and fix segfault when ap->enc_key_source was NULL
19829                 - (nm_device_find_and_use_essid): take key and key_type parameters and
19830                         pass them along to nm_device_wireless_network_exists().  If the
19831                         network does exist, set the passed-in key+key_type on the AP
19832
19833         * src/NetworkManagerPolicy.c
19834                 - unref AP returned from nm_device_get_best_ap() when needed
19835
19836 2004-10-28 Dan Williams <dcbw@redhat.com>
19837
19838         * src/NetworkManagerUtils.c
19839                 - (nm_spawn_process): Fix a potential dereference of NULL
19840
19841         Patches from Peter Jones:
19842
19843         * src/NetworkManagerDevice.c
19844                 - (nm_device_test_wireless_extensions): Better check for
19845                         wireless devices
19846
19847         * src/NetworkManagerUtils.c
19848                 - (nm_spawn_process): Pass in valid stdout and stderr so
19849                         executed programs don't randomly SIGPIPE and fail
19850                 - (nm_get_wired_driver_support_level): quash hal warning
19851                         when checking for USB ethernet device
19852
19853 2004-10-27 Dan Williams <dcbw@redhat.com>
19854
19855         * info-daemon/NetworkManagerInfo.c
19856           info-daemon/NetworkManagerInfoDbus.c
19857           info-daemon/NetworkManagerInfoPassphraseDialog.c
19858           panel-applet/NMWirelessApplet.c
19859                 - Properly escape gconf keys
19860
19861         * src/NetworkManager.c
19862                 - remove unused variables
19863
19864         * src/NetworkManagerAP.c
19865                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19866                         refcount since it got set in nm_ap_new()
19867
19868         * src/NetworkManagerAPList.c
19869                 - (nm_ap_list_combine): Give up ownership of newly created
19870                         access points to the ap list, fixes memleak
19871
19872         * src/NetworkManagerDevice.c
19873                 - Remove cached_ap_list4 member since its not really needed
19874                 - (nm_device_wireless_network_exists): Try to get correct
19875                         encryption status of a found AP if its already in our
19876                         device list
19877                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19878                         memory allocs/deallocs a bit clearer and shorter-lived
19879
19880 2004-10-26 Ray Strode <rstrode@redhat.com>
19881
19882         * panel-applet/NMWirelessApplet.c:
19883           (custom_essid_item_selected):  kill some compiler
19884         warnings 
19885
19886 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19887
19888         * info-daemon/NetworkManagerInfoDbus.c
19889                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19890                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19891
19892 2004-10-23 Dan Williams <dcbw@redhat.com>
19893
19894         * info-daemon/NetworkManagerInfoDbus.c
19895                 - Trap the "DeviceActivationFailed" signal
19896
19897         * docs/NetworkManager DBUS API.txt
19898                 - Add "DeviceActivationFailed" signal
19899
19900         * panel-applet/NMWirelessAppletDbus.c
19901                 - Quash the "NetworkManager service not available" message
19902
19903         * src/NetworkManagerDbus.[ch]
19904                 - Add the "DeviceActivationFailed" signal
19905
19906         * src/NetworkManagerDevice.c
19907                 - Add support for activation_failed flag
19908                 - Fix deadlock where activation thread didn't clean itself up, making
19909                         main thread still believe it was alive forever (didn't reset activation
19910                         flags like activating, just_activated, etc when IP configuration
19911                         failed)
19912
19913         * src/NetworkManagerPolicy.c
19914                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19915                         for wireless networks, try to fall back to some other access point
19916
19917 2004-10-23 Dan Williams <dcbw@redhat.com>
19918
19919         * panel-applet/NMWirelessApplet.[ch]
19920                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19921                         to the applet object, so we can get tooltips
19922                 - Add tooltips (RH #136866)
19923
19924         * src/NetworkManagerDevice.c
19925                 - When trying to find a wireless network, try to connect with encryption
19926                         turned on first, so that we can more accurately detect whether or not
19927                         we need to use encryption for the actual association later on
19928
19929 2004-10-21 Dan Williams <dcbw@redhat.com>
19930
19931         * Add some support for telling NetworkManagerInfo to tell the user
19932                 that they are using a device that's not fully supported
19933
19934         * Fix some assertions in debug messages due to null access point args
19935
19936 2004-10-21 Dan Williams <dcbw@redhat.com>
19937
19938         * src/NetworkManagerDevice.c
19939                 - Don't try to activate/bring up/down unsupported
19940                         devices
19941
19942         * src/NetworkManagerUtils.c
19943                 - Fix case of PCI ID checks for driver support levels
19944
19945 2004-10-21 Dan Williams <dcbw@redhat.com>
19946
19947         * NetworkManager.h
19948                 - New file, now contains commonly used structures and bits
19949                         for the dbus API of NetworkManager
19950
19951         * Makefile.am
19952                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19953
19954         * src/NetworkManager.h
19955                 - Rename -> src/NetworkManagerMain.c
19956
19957         * Various fixups all around to use NetworkManager.h and new
19958                 src/NetworkManagerMain.h, remove redundant bits that got
19959                 moved into NetworkManager.h
19960
19961         * src/NetworkManagerDevice.[ch]
19962           src/NetworkManagerUtils.[ch]
19963           src/NetworkManagerPolicy.c
19964           src/NetworkManagerDbus.c
19965                 - Whitelist wireless drivers, and blacklist some wired
19966                         drivers.  Also blacklist cipsec and ethernet-over-usb
19967                         devices at this time (RH #135722, RH #135648)
19968                 - Don't leak unsupported devices out over dbus, or allow
19969                         them to be set as the active device.  Skip over them
19970                         during automatic device picking
19971
19972         * test/nmclienttest.c
19973                 - Clean up the dbus code a lot
19974
19975 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19976
19977         * configure.in: post release bump.
19978
19979 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19980
19981         * configure.in:
19982         * NEWS: Released NetworkManager-0.3.1
19983
19984 2004-10-18 Dan Williams <dcbw@redhat.com>
19985
19986         Patches from Thom May:
19987         * test/nmtestdevices.c
19988                 - Include <string.h>
19989         * src/backends/NetworkManagerDebian.c:
19990                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19991                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19992                         Move to using g_strdup_printf rather than arbitrary buffers
19993                 - (nm_system_device_setup_static_ip4_config) Implement function.
19994                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19995
19996 2004-10-17 Dan Williams <dcbw@redhat.com>
19997
19998         * info-daemon/NetworkManagerInfoDbus.c
19999                 - Display name of network in the "network not found" dialog
20000
20001         * panel-applet/NMWirelessAppletDbus.c
20002                 - (nmwa_dbus_call_nm_method): new function replaces all other
20003                         nmwa_dbus_get_[string|string_array|int|boolean] methods
20004                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
20005                         consolidated into nmwa_dbus_get_object_name()
20006
20007 2004-10-15 Dan Williams <dcbw@redhat.com>
20008
20009         * src/NetworkManagerDbus.c
20010           info-daemon/NetworkManagerInfoDbus.c
20011                 - Display an error dialog when the user tries to use an
20012                         "Other wireless network" that's not found.
20013
20014 2004-10-15 Dan Williams <dcbw@redhat.com>
20015
20016         * panel-applet/NMWirelessApplet.[ch]
20017                 - Fix up corner cases in applet state, making it
20018                         look more responsive.  Change state to "connecting" when
20019                         the user is forcing a device too.
20020
20021 2004-10-15 Dan Williams <dcbw@redhat.com>
20022
20023         * src/NetworkManagerAPList.c
20024                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
20025
20026         * src/NetworkManagerDbus.c
20027                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
20028
20029         * src/NetworkManagerDevice.c
20030                 - Disown APs after the device's AP list takes ownership
20031
20032 2004-10-15 Dan Williams <dcbw@redhat.com>
20033
20034         * panel-applet/NMWirelessApplet.c
20035                 - Update our applet state from the GUI thread
20036
20037         * panel-applet/NMWirelessAppletDbus.c
20038                 - Greatly simplify the locking to make the GUI thread
20039                         smoother.  Update a private copy of the device list
20040                         and active device and only when done talking to
20041                         NetworkManager turn it over to the GUI thread.
20042
20043 2004-10-15 Dan Williams <dcbw@redhat.com>
20044
20045         * src/NetworkManagerAP.[ch]
20046                 - Add "artificial" get/set functions, set for APs that
20047                         aren't discovered as part of a scan but instead
20048                         discovered by force-setting the ESSID
20049
20050         * src/NetworkManagerDevice.[ch]
20051                 - (nm_device_wireless_network_exists): pass back whether
20052                         or not the discovered AP was encrypted.  Also, try
20053                         falling back to encrypted mode on the card if unencrypted
20054                         association doesn't work
20055                 - (nm_device_find_and_use_essid): If the network requested
20056                         did in fact exists, but it wasn't in our scan list, add
20057                         an "artificial" entry for it.  Some Cisco cards don't
20058                         see non-ESSID-broadcasting APs in their scan but can still
20059                         associate with them if you know the ESSID, this works around
20060                         that behavior
20061                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
20062                         to scan if the card is currently associated with that AP
20063
20064 2004-10-15 Dan Williams <dcbw@redhat.com>
20065
20066         ---- We have a website ----
20067         http://people.redhat.com/dcbw/NetworkManager
20068
20069         Patch from Robert Paskowitz:
20070         * src/NetworkManager.c
20071                 - (main): Make sure we are run as root
20072         * src/NetworkManagerDevice.c
20073                 - Fix type in ad-hoc setting function
20074
20075         Patch from Thom May:
20076         * src/backends/NetworkManagerDebian.c
20077                 - Make Debian backend compile again
20078
20079 2004-10-14 Dan Williams <dcbw@redhat.com>
20080
20081         * Tagged NetworkManager-0_3
20082
20083 2004-10-14 Dan Williams <dcbw@redhat.com>
20084
20085         Patch from Robert Paskowitz:
20086         * NEWS
20087           src/NetworkManagerDevice.[ch]
20088           src/backends/NetworkManagerDebian.c
20089           src/backends/NetworkManagerGentoo.c
20090           src/backends/NetworkManagerRedHat.c
20091           src/backends/NetworkManagerSlackware.c
20092                 - Add support for grabbing and using a broadcast address
20093                         from system config files
20094                 - Some Gentoo backend fixes for grabbing network config
20095                 - Fix LOG_WARN->LOG_WARNING
20096
20097 2004-10-14 Dan Williams <dcbw@redhat.com>
20098
20099         * NEWS: a few small fixes in the credits
20100
20101 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
20102
20103         * NEWS: prep for release.
20104
20105 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
20106
20107         * panel-applet/NMWirelessAppletDbus.c
20108         (nmwa_dbus_update_device_wireless_networks): remove warnings.
20109
20110 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
20111
20112         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
20113         applet->state == APPLET_STATE_NO_NM animation.
20114
20115         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
20116         set the text correctly.
20117
20118 2004-10-14 Dan Williams <dcbw@redhat.com>
20119
20120         * src/NetworkManager.c
20121                 - Only accept and manager 802.3 and 802.11 devices
20122
20123         * src/NetworkManagerDbus.[ch]
20124                 - (nm_dbus_nm_set_active_device): move most of the actual activation
20125                         logic into NetworkManagerDevice.c
20126                 - (nm_dbus_network_status_from_data): new function
20127                 - (nm_dbus_signal_network_status_change): new function, unused for now
20128                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
20129
20130         * src/NetworkManagerDevice.[ch]
20131                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
20132                         a random ESSID.
20133
20134 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
20135
20136         * info-daemon/NetworkManagerInfo.c 
20137                 - (main): Added session management
20138
20139 2004-10-14 Dan Williams <dcbw@redhat.com>
20140
20141         * panel-applet/NMWirelessAppletDbus.[ch]
20142                 - Expose network_device_[un]ref()
20143                 - Expose wireless_network_[un]ref()
20144                 - (wireless_network_new_with_essid): new function, create and return
20145                         a wireless network with a particular essid
20146
20147         * panel-applet/NMWirelessApplet.c
20148                 - Hook up the "other network" dialog to do something
20149
20150 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
20151
20152         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
20153         doesn't work yet, but it looks okay.
20154
20155         * panel-applet/icons/*png: Resize to 22x22 and install in the
20156         right place.
20157
20158 2004-10-13 Dan Williams <dcbw@redhat.com>
20159
20160         * panel-applet/NMWirelessApplet.c
20161                 - Add function to print out applet_state in a readable
20162                         manner
20163
20164         * src/NetworkManager.c
20165                 - (main): Don't segfault when nm_dbus_init() fails, we had
20166                         a left-over call to hal_shutdown() into which we passed NULL
20167
20168         * src/NetworkManagerAP.c
20169                 - (nm_ap_set_essid): Allow NULL essids
20170
20171         * src/NetworkManagerAPList.[ch]
20172                 - More use of nm_ap_list_[un]lock ()
20173                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
20174                         network/essid, just return nothing.  Also skip over NULL
20175                         essid access points in the list when searching
20176                 - (nm_ap_list_get_ap_by_address): new function
20177                 - (nm_ap_list_update_network): set the access point's key source to
20178                         NULL when the key returned from NetworkManagerInfo is NULL or
20179                         of 0 length
20180                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
20181                         copy timestamp over too
20182                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
20183                         find the correct ESSID for a blank-essid access point by searching
20184                         through another list and matching access point MAC addresses
20185                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
20186
20187         * src/NetworkManagerDbus.c
20188                 - (nm_dbus_nm_set_active_device): deal with random networks the user
20189                         may specify.  This is mainly for access points that don't
20190                         broadcast their essid.  So if the user tells us to associate with
20191                         some random ESSID that's not in our access point list, we find
20192                         out if the access point does in fact exist (by attempting association
20193                         and then matching that access point's MAC address with the essid the
20194                         user gave us) and then we switch to it.
20195                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
20196                         to the returned list of networks for the "getNetworks" method
20197
20198         * src/NetworkManagerDevice.[ch]
20199                 - Extra debugging info for link detection
20200                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
20201                         based on MAC address
20202                 - (nm_device_get_path_for_ap): ignore blank-essid access points
20203                 - (nm_device_wireless_network_exists): new function, find out whether
20204                         a random ESSID exists by attempting to associate with it
20205                 - (nm_device_do_normal_scan): allow blank-essid access points in our
20206                         device list as long as they have an AP MAC address we can use.
20207                         Also send WirelessNetwork[Dis]Appeared signals for non-active
20208                         devices too.  Lets the applet update more frequently.
20209
20210         * src/backends/NetworkManagerGentoo.c
20211                 - Patch from: Robert Paskowitz
20212                         - Update backend code for Gentoo
20213                         - Implement nm_system_device_update_config_info ()
20214
20215         * test/nmclienttest.c
20216                 - (set_network_device): new function, takes a command-line argument
20217                         and tells NetworkManager to use that wireless network
20218
20219 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
20220
20221         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
20222         if the notification icon crashes 5 times within 5 seconds of each respawn 
20223
20224 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
20225
20226         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
20227         g_print.
20228
20229 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
20230
20231         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
20232
20233         * panel-applet/NMWirelessApplet.c: (animation_timeout),
20234         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
20235         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
20236         Change the name of the icons.
20237
20238         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
20239         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
20240         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
20241         (nm_menu_wireless_expose_event): Really bad hack to get the style
20242         to draw in the right color.
20243
20244 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
20245
20246         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
20247         Notification if it crashes
20248
20249 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
20250
20251         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
20252         (nmwa_dbus_get_string): remove unused functions
20253
20254         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
20255         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
20256         remove unused functions
20257
20258         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
20259
20260 2004-10-12 Dan Williams <dcbw@redhat.com>
20261
20262         * panel-applet/NMWirelessAppletDbus.c
20263                 - New functions:
20264                         wireless_network_new
20265                         wireless_network_copy
20266                         network_device_new
20267                         network_device_copy
20268
20269         * src/NetworkManagerDevice.[ch]
20270                 - New functions:
20271                         nm_device_set_mode_managed
20272                         nm_device_set_mode_adhoc
20273                 - Use these functions where appropriate
20274                 - When creating a new wireless device, force the card
20275                         to managed/Infrastructure mode as soon as possible
20276
20277 2004-10-12 Dan Williams <dcbw@redhat.com>
20278
20279         * src/NetworkManagerDevice.c
20280                 - Force wireless cards into Infrastructure mode before we use them
20281
20282 2004-10-12 Dan Williams <dcbw@redhat.com>
20283
20284         * TODO
20285                 - Remove bit about static IP address support
20286
20287         * src/NetworkManagerUtils.c
20288                 - (nm_spawn_process): Add some error reporting
20289
20290         * src/NetworkManagerDevice.c
20291                 - (nm_device_activation_configure_ip): hook up to the static config
20292                         routines in the backends
20293
20294         * src/backends/NetworkManagerRedHat.c
20295                 - (nm_system_device_update_config_info): use shvar.c routines to
20296                         parse the config file iformation, not our own
20297                 - (nm_system_device_setup_static_ip4_config): new function, based
20298                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
20299                         with a static IP address and gateway
20300
20301         * src/backends/shvar.[ch]
20302                 - Parser (filched from initscripts package) for ifcfg-* files
20303
20304         * src/backends/NetworkManagerSystem.h
20305           src/backends/NetworkManagerGentoo.c
20306           src/backends/NetworkManagerDebian.c
20307           src/backends/NetworkManagerSlackware.c
20308                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
20309
20310 2004-10-11 Dan Williams <dcbw@redhat.com>
20311
20312         * TODO
20313                 - Remove bit about more robust AP diffing since I just implemented it
20314
20315 2004-10-11 Dan Williams <dcbw@redhat.com>
20316
20317         * src/NetworkManagerAP.c
20318                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
20319                         enough RAM to allocate new AP structures, but return NULL instead
20320
20321         * src/NetworkManagerAPList.[ch]
20322                 - (nm_ap_list_is_empty): new function
20323                 - (nm_ap_list_combine): new function, combine two access point lists
20324                 - (nm_ap_list_copy_keys): new function, copy keys from one list
20325                         into another
20326
20327         * src/NetworkManagerDevice.[ch]
20328                 - Rename some functions to be clearer:
20329                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
20330                         nm_device_just_activated     -> nm_device_is_just_activated
20331                         nm_device_activating         -> nm_device_is_activating
20332                         nm_device_now_scanning       -> nm_device_is_scanning
20333                 - Cache the last 4 scans so that the access point list is more stable.
20334                         We combine the lastest two scans and use that as the AP list,
20335                         and diff that combined list against the combination of the earliest
20336                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
20337
20338 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20339
20340         * info-daemon/NWManagerInfo.h
20341                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
20342
20343         * info-daemon/NWManagerInfoDbus.c
20344                 - (shutdown_callback): new function
20345                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
20346                         if NetworkManager goes away.  Kill the timeout
20347                         if NetworkManager restarts before the 30 seconds
20348                         are up.
20349                 - (nmi_dbus_service_init): 
20350                         - call gtk_main_quit if NetworkManager is not running
20351                         - add filters to monitor dbus service creations and
20352                                 deletions
20353         
20354 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
20355
20356         * panel-applet/NMWirelessApplet.c
20357                 - (nmwa_update_state): Hide notification icon if we are only
20358                         showing one wired card and no wireless interfaces 
20359                         (Red Hat Bug #134895)
20360
20361         * panel-applet/NMWirelessAppletDbus.c
20362                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
20363
20364         * info-daemon/NWManagerInfo.c
20365                 - (main): Terminated the notification_icon_cmd array with a NULL
20366
20367 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
20368
20369         * configure.in (ALL_LINGUAS): Added de (German).
20370
20371 2004-10-08 Dan Williams <dcbw@redaht.com>
20372
20373         * src/NetworkManagerDevice.c
20374                 - Be a bit more robust about link checking, ie make sure that
20375                         the WEP key we were given actually has some data in it
20376
20377 2004-10-08 Dan Williams <dcbw@redhat.com>
20378
20379         * info-daemon/NetworkManagerInfo.c (main):
20380                 - Initialize GError object to NULL
20381
20382 2004-10-08 Dan Williams <dcbw@redhat.com>
20383
20384         * panel-applet/NMWirelessAppletDbus.c
20385                 - Die if NetworkManagerInfo dies, since it manages our lifetime
20386
20387 2004-10-08 Dan Williams <dcbw@redhat.com>
20388
20389         * info-daemon/NetworkManagerInfo.[ch]
20390           info-dameon/NetworkManagerInfoDbus.[ch]
20391           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
20392                 - Preserve original label text in the passphrase dialog so that
20393                         it actually gets updated with the new network name the next
20394                         time around.  Previously, we were overwriting it so you'd get
20395                         the wrong network name to enter a key for
20396                 - Add a "Key Type" combo to the passphrase dialog, user selects
20397                         encryption key type now, type is stored in GConf too
20398                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
20399
20400         * src/NetworkManagerAP.[ch]
20401                 - Remove all the encyption method magic.  It's now set by the user
20402                         and NetworkManager retrieves the type of encryption key from
20403                         NetworkManagerInfo
20404
20405         * src/NetworkManagerAPList.[ch]
20406           src/NetworkManagerDbus.[ch]
20407                 - Adjust to new way of setting encryption key and method
20408                 - Pull encryption method down from NMI along with key
20409
20410         * src/NetworkManagerDevice.[ch]
20411                 - Removed encryption method fallback magic as the method is now
20412                         determined by the user.  This greatly simplifies the connection
20413                         logic.
20414                 - More robust connection/link logic.  Besides removing the encryption
20415                         method fallback magic, check whether or not the card is receiving
20416                         invalidly encrypted packets, which usually indicates that we have
20417                         a bad WEP key set.
20418                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
20419
20420         * test/nminfotest.c
20421                 - Test out new "Key Type" stuff in the NMI passphrase dialog
20422
20423 2004-10-07 Dan Williams <dcbw@redhat.com>
20424
20425         * info-daemon/NetworkManagerInfo.conf
20426                 - Allow root user to run NMI too
20427
20428 2004-10-06 Dan Williams <dcbw@redhat.com>
20429
20430         * src/NetworkManagerDevice.[ch]
20431           src/NetworkManagerDbus.c
20432           doc/NetworkManager DBUS API.txt
20433                 - Add a new status tag "scanning", which is set when there
20434                         is no active network connection, but NetworkManager is
20435                         looking for an access point to associate with
20436
20437         * panel-applet/main.c
20438                 - Cast the applet appropriately for gtk_widget_show_all ()
20439
20440 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
20441
20442         * panel-applet/eggtrayicon.[ch]:
20443         * panel-applet/main.c: Add missing file
20444
20445 2004-10-04 Dan Williams <dcbw@redhat.com>
20446
20447         * src/NetworkManagerDevice.[ch]
20448                 - Add a slightly more robust method of determining if the WEP key
20449                         is correct or not, by checking the WEP-discarded packet count
20450                         on the card
20451
20452         * info-daemon/NetworkManagerInfo.c
20453                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
20454                         un-escape values we pull out rather than escaping them
20455
20456 2004-10-03  Marcel Telka  <marcel@telka.sk>
20457
20458         * configure.in (ALL_LINGUAS): Added sk.
20459
20460 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
20461
20462         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
20463         and feel.  We should be back to working, and have a good, clean
20464         look.
20465
20466 2004-09-30 Dan Williams <dcbw@redhat.com>
20467
20468         * info-daemon/NetworkManagerInfo.c
20469           info-daemon/NetworkManagerInfoDbus.c
20470           test/nminfotest.c
20471                 - Escape ESSIDs in gconf
20472
20473         * src/NetworkManagerDevice.c
20474                 - Fix pseudo-scanning to use netowrk list from info daemon
20475
20476 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
20477
20478         * configure.in: Add a temporary --enable-notification-icon.  This
20479         will prolly go away.
20480
20481         * info-daemon/Makefile.am:
20482         * info-daemon/NetworkManagerInfo.c:
20483         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
20484
20485         * panel-applet/Makefile.am:
20486         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
20487         * panel-applet/NMWirelessApplet.h:
20488
20489 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
20490
20491         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
20492         before 'select custom ESSID'.
20493
20494         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
20495         fully complete, but syncing in prep for merge.
20496
20497         * panel-applet/icons/*png: New images
20498
20499 2004-09-28 Dan Williams <dcbw@redhat.com>
20500
20501         * src/NetworkManager.c
20502           src/NetworkManagerDevice.c
20503           src/NetworkManagerPolicy.c
20504                 - Don't blow away an active wired connection on startup
20505
20506 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
20507
20508         Changes from J5
20509         
20510         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
20511
20512         * info-daemon/NetworkManagerInfoDbus.c: added service name to
20513         syslog output
20514
20515 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
20516
20517         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
20518         have a wireless card.
20519
20520 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
20521
20522         * panel-applet/NMWirelessApplet.c: move the custom essid item.
20523         Also, get the right device strings.
20524
20525 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
20526
20527         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
20528         the logic to make this right.
20529
20530         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
20531         devices so that wired networks are always first.
20532
20533 2004-09-22    <clarkbw@cvs.gnome.org>
20534
20535         * initscript/Debian/.cvsignore:
20536         * initscript/Slackware/.cvsignore:
20537         Added new cvsignores for Makefile, Makefile.in
20538         
20539         * test/.cvsignore:
20540         Added nmtestdevices
20541         
20542         * src/NetworkManagerDevice.c: 
20543         * src/NetworkManager.c: 
20544         Updated the wireless/wired HAL device strings from net.ethernet to
20545         net.80203 or net.80211 depending on wired or wireless respectively
20546         
20547         * examples/python/NetworkManager.py: 
20548         s/Quality/Strength/
20549
20550         * examples/python/systray/network_tray.py:
20551         Lots of little changes and fixes.  been rotting for a while so I
20552         figured I'd finally sync them all with CVS
20553
20554 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
20555
20556         * configure.in: Add graphics
20557
20558         * panel-applet/Makefile.am: Add graphics
20559
20560         * panel-applet/icons/*: Add graphics
20561
20562         * panel-applet/NMWirelessApplet.c: Use new menu times to display
20563         the icons fully lined up.
20564
20565         * panel-applet/menu-info.c: 
20566         * panel-applet/menu-info.h: Add another menu type.
20567
20568 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
20569
20570         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
20571
20572         * panel-applet/menu-item.[ch]: Wireless menu item.
20573
20574 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
20575
20576         * info-daemon/NetworkManagerInfo.conf
20577                 - Created a more robust security policy for the DBus service
20578                         - everything is denied by default
20579                         - root can own and send to the service
20580                         - users logged in at the console can send to the service
20581
20582 2004-09-13  Dan Williams <dcbw@redhat.com>
20583
20584         * src/NetworkManagerDevice.c
20585                 - (nm_device_get_essid): use iw_get_basic_config() rather than
20586                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
20587                         the latter
20588
20589 2004-09-13  Dan Williams <dcbw@redhat.com>
20590
20591         * TODO: fix typo
20592
20593         * docs/NetworkManager DBUS API.txt
20594                 - Update for new signal strength changes
20595
20596         * panel-applet/NMWirelessApplet.c
20597                 - Make panel icon show strength of the current connection
20598                 - Cleanups and memleak fixes
20599
20600         * panel-applet/NMWirelessApplet.h
20601                 - Add data members for signal strength on devices and networks
20602
20603         * panel-applet/NMWirelessAppletDbus.c
20604                 - Free more DBusErrors
20605                 - Update for new signal strength changes
20606                 - Make devices and networks more like real objects, use ref/unref methods
20607                 - Actually unlock the mutex when updating the active device
20608
20609         * src/NetworkManagerAP.c
20610                 - Change AP functions and data members from "quality"->"strength"
20611
20612         * src/NetworkManagerDbus.c
20613                 - Kill "getMaxQuality" and "getQuality" methods
20614                 - Add "getStrength" methods for Networks and Devices
20615
20616         * src/NetworkManagerDevice.[ch]
20617                 - Add accessors for device strength
20618                 - Add functions to update strength for a device.  Note that not all drivers
20619                         actually support signal strength for scanned access points (Atmel drivers
20620                         being one)
20621                 - Calculate signal strength for each AP during scan
20622
20623         * src/NetworkManagerWireless.[ch]
20624                 - Add function to return signal strength % from a device and a raw quality struct
20625
20626         * test/nmclienttest.c
20627                 - Update for new signal strength changes
20628
20629 2004-09-11  Dan Williams <dcbw@redhat.com>
20630
20631         * src/NetworkManager.c
20632                 - Fix race condition between initscripts and NM on card insertion
20633                         which could cause a card to keep an IP address and routes around
20634                         even when it was not the active device
20635
20636         * src/NetworkManagerDbus.c
20637                 - Fix compile errors, free more DBusErrors
20638
20639 2004-09-11  Dan Williams <dcbw@redhat.com>
20640
20641         * docs/NetworkManager DBUS API.txt
20642                 - Add an explanation of NM's API
20643
20644         * src/NetworkManagerDbus.c
20645                 - Free some more DBusErrors if needed
20646
20647 2004-09-11  Dan Williams <dcbw@redhat.com>
20648
20649         * panel-applet/NMWirelessApplet.c
20650           panel-applet/NMWirelessAppletDbus.c
20651                 - Start using NetworkDevice/WirelessNetwork structures in more places
20652                 - Update for unified device/network forcing in NetworkManager
20653
20654         * src/NetworkManager.c
20655                 - some code consolidation
20656
20657         * src/NetworkManagerDbus.c
20658                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
20659                         or two arguments:  the first is the NM ID of the device to switch to,
20660                         and the second (optional) argument is the ESSID of a wireless network
20661                         to use as well.
20662                 - Get rid of "setNetwork" method due to above change
20663
20664         * src/NetworkManagerDevice.c
20665                 - (nm_device_new): perform scan and update best AP on device creation
20666                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
20667                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
20668                         spin waiting for cancellation to finish before returning
20669
20670         * src/NetworkManagerPolicy.c
20671                 - Changes here clarify the situations in which a device switch occurs, and 
20672                         make sure to keep using a forced device and network if the user gives
20673                         us one
20674                 - Remove old unused code
20675
20676 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
20677
20678         * configure.in: Added Danish (da) to ALL_LINGUAS.
20679
20680 2004-09-09  Dan Williams <dcbw@redhat.com>
20681
20682         * panel-applet/NMWirelessAppletDbus.c
20683                 - Pull fresh devices and networks from NM when wireless networks
20684                         change.  Provides faster feedback of a forced wireless network
20685
20686         * src/NetworkManagerDbus.c
20687                 - Return error when "getMaxQuality" is called on a wired device
20688                 - Make best_ap freezing actually work again, and signal cancellation
20689                         of activation if there's already a device activation when the user
20690                         freezes the best_ap
20691
20692         * src/NetworkManagerDevice.c
20693                 - Don't clear out the best_ap for wireless devices when the link goes
20694                         down, that's done elsewhere
20695                 - Kill any dhcp daemons when cancelling device activation since they
20696                         may be stuck waiting for a DHCP address, and since we're cancelling
20697                         activation we don't care about that anymore
20698
20699         * src/NetworkManagerPolicy.c
20700                 - Make sure to unref the device we ref earlier (we refed it to make sure
20701                         it stuck around during device activation and such)
20702                 - If we were going to change the best device, but its activating currently
20703                         (and therefore the change didn't occur due to the check earlier)
20704                         we mark the state changed to we come back to it later when device
20705                         activation has canceled and its no longer activating
20706
20707         * src/backends/NetworkManagerRedHat.c
20708                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
20709
20710 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
20711
20712         * info-daemon/passphrase.glade: 
20713         set passphrase input to activates_default : True
20714
20715         * examples/python/systray/network_tray.py
20716         (network_tray.sort_networks):
20717
20718         Added support for having wireless always scanning
20719
20720 2004-09-09  Dan Williams <dcbw@redhat.com>
20721
20722         NOTE: this commit changes the behavior of wireless devices in
20723         NetworkManager.  They are now up all the time, scanning all
20724         the time.  Only the active device has an IP address and routing
20725         information set up however.  Also, NetworkManager will no longer
20726         opportunistically switch wireless networks when a better one
20727         comes in range, it will remain associated with one wireless network
20728         until that one drops out.
20729
20730         * panel-applet/NMWirelessApplet.c
20731           panel-applet/NMWirelessAppletDbus.c
20732                 - List all wireless cards and their respective networks
20733
20734         * src/NMLoadModules
20735                 - Use full path to /sbin/ip
20736
20737         * src/NetworkManager.c
20738                 - Keep wireless devices up all the time so they can scan
20739
20740         * src/NetworkManagerDbus.c
20741                 - On a WirelessNetworkUpdate signal from NMI, don't update
20742                         the "best" AP
20743
20744         * src/NetworkManagerDevice.c
20745                 - (nm_device_set_link_active): clear out the best ap for
20746                         wireless devices when the link is set to FALSE
20747                 - Scan on all wireless cards, all the time
20748                 - (nm_device_activation_worker): split out the wireless card
20749                         link-waiting code to a separate function
20750                 - Keep wireless cards up even if device activation fails
20751                 - Don't update the "best" ap as much
20752
20753         * src/NetworkManagerPolicy.c
20754                 - Don't update the best ap when checking if its frozen,
20755                         let link checking clear out a frozen best ap for us
20756
20757         * src/NetworkManagerWireless.c
20758                 - Scan on all wireless cards, all the time
20759
20760 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
20761
20762         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
20763
20764 2004-09-09  Ankit Patel <ankit@redhat.com>
20765
20766         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
20767
20768 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
20769
20770         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
20771
20772 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
20773
20774         * examples/python/NetworkManager.py: 
20775         added CONNECTED, CONNECTING, and DISCONNECTED states
20776         added methods to return number of devices of a single type
20777
20778         * examples/python/systray/network_tray.py: 
20779         did some tweaks to get the menu looking near what it is supposed
20780         to look like.  Also did a Airo card hack to make it show the
20781         correct AP quality
20782
20783 2004-09-08  Dan Williams <dcbw@redhat.com>
20784
20785         * panel-applet/no-networkmanager.png
20786           panel-applet/Makefile.am
20787           panel-applet/NMWirelessApplet.c
20788                 - Add a "NetworkManager not running" icon and use it
20789                 - Use new consolidated GConf keys rather than Preferred/Trusted
20790
20791         * TODO: update
20792
20793         * info-daemon/NetworkManagerInfo.c
20794           info-daemon/NetworkManagerInfoDbus.[ch]
20795           info-daemon/NetworkManagerInfoPassphraseDialog.c
20796                 - There are now no longer two separate lists of wireless networks,
20797                         but one list where each network is "trusted" or not trusted
20798                 - Add a "getNetworkTrusted" dbus method
20799                 - "WirelessNetworkUpdate" signal now sent rather than
20800                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
20801                 - Start freeing some dbus errors (not completed yet)
20802
20803         * info-daemon/passphrase.glade
20804                 - Remove the "don't show" hints for pager and taskbar
20805                 - Add a title since its going to be in the taskbar
20806
20807         * src/NetworkManager.[ch]
20808           src/NetworkManagerAPList.[ch]
20809                 - There are now no longer two separate lists of wireless networks,
20810                         but one list where each network is "trusted" or not trusted
20811
20812         * src/NetworkManagerAP.[ch]
20813                 - Add get/set "trusted" accessors and data bit
20814
20815         * src/NetworkManagerDbus.[ch]
20816                 - Add function to get "trusted" status of a network from NetworkManagerInfo
20817                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
20818
20819         * src/NetworkManagerDevice.[ch]
20820                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
20821                 - (nm_device_new): Get device config from backend when initializing devices
20822                 - (nm_device_activation_worker): Split out device configuration on
20823                         activation to deal with static/dynamic IP differences, and try encryption
20824                         fallbacks on a device if the encryption method for the best AP is not good
20825                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
20826                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
20827
20828         * src/NetworkManagerWireless.c
20829                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
20830
20831         * src/backends/NetworkManagerRedHat.c
20832           src/backends/NetworkManagerSystem.h
20833                 - (nm_system_device_update_config_info): Add function to get device configuration
20834                         from system data in ifcfg-* files
20835
20836         * src/backends/NetworkManagerDebian.c
20837           src/backends/NetworkManagerGentoo.c
20838           src/backends/NetworkManagerSlackware.c
20839                 - Add stub functions for getting device configuration
20840
20841 2004-09-07  Dan Williams <dcbw@redhat.com>
20842
20843         * src/backends/NetworkManagerRedhat.c
20844           src/backends/NetworkManagerSlackware.c
20845                 - Use full path to /sbin/ip everywhere
20846
20847 2004-09-07  Dan Williams <dcbw@redhat.com>
20848
20849         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20850
20851         * configure.in
20852           initscript/Makefile.am
20853           initscript/Slackware/Makfile.am
20854           initscript/Slackware/rc.networkmanager
20855           src/Makefile.am
20856           src/backends/NetworkManagerSlackware.c
20857                 - Add Slackware support
20858
20859 2004-09-07  Dan Williams <dcbw@redhat.com>
20860
20861         Patches below from:
20862                 <j@bootlab.org>
20863                 Mark Roach <mrroach@okmaybe.com>
20864                 Thom May <thom@debian.org>
20865
20866         * configure.in
20867           initscript/Debian/NetworkManager
20868           initscript/Debian/Makefile.am
20869                 - Initscript for Debian
20870
20871         * src/backends/NetworkManagerDebian.c
20872                 - Add missing system init function to allow compilation
20873                         on Debian
20874
20875 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20876
20877         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20878
20879 2004-09-03  Akagic Amila <bono@linux.org.ba>
20880
20881         * configure.in: Added 'bs' to ALL_LINGUAS.
20882
20883 2004-09-02  Colin Walters  <walters@verbum.org>
20884
20885         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20886         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20887         g_strdup_printf instead of arbitrarily sized buffers.
20888
20889 2004-09-01  Colin Walters  <walters@verbum.org>
20890
20891         * NetworkManager.pc.in: New file.
20892
20893         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20894
20895 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20896         
20897         * configure.in: Punjabi(pa) is added to po/.
20898
20899 2004-08-31  Dan Williams <dcbw@redhat.com>
20900
20901         * Remove 'debug' extern global from all files since we now
20902                 use syslog()
20903
20904         * src/NetworkManager.[ch]
20905                 - Break out routine that get the net.interface property from HAL,
20906                         removing that logic from nm_create_device_and_add_to_list()
20907                 - (nm_create_device_and_add_to_list): make this a bit more general so
20908                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20909                         the create of test devices.
20910                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20911                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20912                         which makes NetworkManager listen for dbus commands to create test
20913                         devices, which have no backing hardware.  Use when you're on a plane
20914                         for example, and/or forgot your wireless card at home.  Test devices
20915                         _cannot_ be created unless NM is started with --enable-test-devices.
20916
20917         * src/NetworkManagerDbus.[ch]
20918                 - New "getLinkActive" method for devices
20919                 - New "setLinkActive" method for devices (only works on test devices)
20920                 - New "createTestDevice" method on NetworkManager object to create a test
20921                         device of a specified type (ie wired, wireless).  UDI is created from
20922                         scratch, as is the interface name.  Only works when NM is started with
20923                         --enable-test-devices switch.
20924                 - New "removeTestDevice" method on NetworkManager object which removes a
20925                         test device.  Only works when NM is started with --enable-test-devices
20926
20927         * src/NetworkManagerDevice.[ch]
20928                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20929                         whether a device is a test device or not, and what its link status is.
20930                 - Deal with test devices in most functions.  For those that work directly on hardware
20931                         special-case test devices.
20932                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20933                         command-line.
20934                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20935                         checking to separate functions to facilitate test device link checking.
20936                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20937                         don't make a distinction between System Authentication and Encryption
20938                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20939                         on the card.  We don't deal with Shared Key auth yet.
20940                 - (nm_device_activation_worker): split the activation cancel check logic out into
20941                         a separate routine nm_device_activation_cancel_if_needed()
20942                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20943                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20944                         a list of fake access points that they can "see"
20945                 - (nm_device_is_test_device): return whether or not a device is a test device
20946
20947         * src/NetworkManagerPolicy.c
20948                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20949                         previously if you "locked"/forced NM to use a wireless device but then
20950                         selected a wireless network for NM to use, it would switch to a wired device.
20951                         So, if the active device is wireless and it has a "forced" best AP, use it
20952                         if the "forced" best AP is still valid
20953                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20954                         there were no usable network devices, or the last one was removed
20955
20956         * src/backends/NetworkManager*.c
20957                 - Deal with test devices, mostly just return success for operations like getting
20958                         a DHCP address
20959
20960         * test/nmtestdevices.c
20961                 - Test tool to create/remove/link-switch test devices
20962
20963 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20964
20965         * examples/python/NetworkManager.py: 
20966         added convience functions has_wired_device and has_wireless_device
20967
20968         * examples/python/systray/network_tray.py: 
20969         cleaned up a bunch of cruft, added support for listing wireless
20970         networks just like the real applet.  This is probably all I'm
20971         going to work on this applet from now on.
20972         TODO: add support for actually changing networks and devices
20973
20974         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20975         changed "nm.networks" into a dict from a list so I can store all
20976         the cool information about networks in there
20977
20978         * examples/python/systray/network_tray.py: 
20979         Added nice message when you try to run without running make first
20980
20981         * examples/python/NetworkManager.py: 
20982         Bug fixes to the code so we get all the device information
20983         that we need in get_device()
20984         
20985         * examples/python/NMTester.py: 
20986         Fixed _print_device_list to print_device_list
20987
20988 2004-08-29  Seth Nickell  <seth@gnome.org>
20989
20990         * configure.in:
20991
20992         Actually properly setup the Debian backend in configure.
20993         
20994 2004-08-29  Colin Walters  <walters@verbum.org>
20995
20996         * test/nminfotest.c: Include string.h and stdlib.h.
20997         (get_network_string_property, get_networks_of_type): Return NULL.
20998
20999         * test/nmclienttest.c (get_device_name, get_active_device): Return
21000         NULL.
21001
21002         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
21003         use strlen, fgets always NULL-terminates the string.
21004
21005         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
21006         dbus_message_get_member): Remove /* in comment.
21007
21008         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
21009
21010         * src/NetworkManager.c (quit): Unused, delete.
21011         (nm_data_free): Cast arg to GFunc.
21012
21013         * panel-applet/NMWirelessAppletDbus.c: Need to include
21014         string.h, and dbus-glib-lowlevel.h (the latter is needed
21015         for dbus_connection_setup_with_g_main at present).
21016         (nmwa_dbus_update_wireless_network_list): Parenthesize
21017         assignment in conditional.
21018         (nmwa_dbus_worker): Return NULL.
21019
21020         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
21021         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
21022         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
21023         (nmwa_populate_menu): Return NULL on failure, instead of just
21024         return;
21025
21026         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
21027
21028         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
21029         variables.
21030
21031         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
21032         delete.
21033         
21034 2004-08-29  Colin Walters  <walters@verbum.org>
21035
21036         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
21037         a GTimeVal instead of time_t.  This is easier to work with,
21038         since time_t may be a long or double, we don't know.
21039
21040         * src/NetworkManagerDbus.h: Update prototype.
21041         
21042         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
21043         instead of time_t.
21044         (nm_ap_get_timestamp): Update to return GTimeVal.
21045         (nm_ap_set_timestamp): Update to take GTimeVal.
21046         
21047         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
21048         to handle GTimeVal.
21049
21050         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
21051         GTimeVal change.
21052         (nm_ap_list_print_members): Fix warnings in printf format.
21053
21054 2004-08-29  Colin Walters  <walters@verbum.org>
21055         
21056         * panel-applet/NMWirelessApplet.c: Include config.h.
21057
21058 2004-08-29  Colin Walters  <walters@verbum.org>
21059
21060         * configure.in: Generate config.h.
21061
21062         * configure.in: Dump dependency on OpenSSL; we can't
21063         use it since this package is GPL:
21064         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
21065         Instead, check for libgcrypt, use it if available,
21066         otherwise use included MD5 code.
21067
21068         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
21069         Suck in from gnome-keyring, munge a bit.
21070         
21071         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
21072         gnome-keyring-md5.h gnome-keyring-md5.c.
21073         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
21074
21075         * src/NetworkManagerWireless.c (nm_md5): New function, uses
21076         libgcrypt or included gnome-keyring md5 bits.
21077         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
21078
21079 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
21080
21081         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
21082
21083 2004-08-27  Bryan Clark  <bclark@redhat.com>
21084
21085         * examples/python/systray/Makefile: 
21086
21087         Updated the clean section
21088         
21089         * examples/python/systray/trayiconmodule.c: 
21090         * examples/python/systray/trayicon.override: 
21091         * examples/python/systray/network_tray.py: 
21092         * examples/python/systray/eggtrayicon.h: 
21093         * examples/python/systray/eggtrayicon.c: 
21094         * examples/python/systray/Makefile: 
21095         * examples/python/README: 
21096         * examples/python/NetworkManager.py: 
21097         * examples/python/NMTester.py: 
21098
21099         Initial commit of these python example files
21100
21101 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
21102
21103         * panel-applet/NMWirelessApplet.c
21104                 - Make current device bold
21105                 - Show more user-friendly device name if we got one from hal
21106
21107         * panel-applet/NMWirelessAppletDbus.c
21108                 - Grab "info.product" key from hal for network devices
21109                 - Cache the current active device
21110
21111 2004-08-27  Adam Weinberger  <adamw@gnome.org>
21112
21113         * configure.in: Added en_CA to ALL_LINGUAS.
21114
21115 2004-08-27  Christian Rose  <menthos@menthos.com>
21116
21117         * configure.in: Added "sv" to ALL_LINGUAS.
21118
21119 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
21120
21121         * Tag NetworkManager-0.2
21122
21123 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
21124
21125         * initscripts/Makefile.am
21126         * configure.in: Make pass distcheck
21127
21128         * po/ChangeLog: added
21129
21130 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
21131
21132         * panel-applet/NMWirelessApplet.c
21133                 - Remove debugging code
21134                 - Enable device switching from menus
21135
21136         * panel-applet/NMWirelessAppletDbus.[ch]
21137                 - Method for asking NM to switch devices
21138
21139         * src/NetworkManagerDevice.c
21140                 - Set dev->activating earlier, avoids race between
21141                         the dbus signal of "DeviceActivating" and setting
21142                         dev->activating (which is what NM's "status" method call
21143                         looks at)
21144
21145 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
21146
21147         * panel-applet/NMWirelessApplet.[ch]
21148                 - Rework menu code to add devices to menu, and to show
21149                         signal strength for each access point.  Code cleanups
21150                         too.
21151
21152         * panel-applet/NMWirelessAppletDbus.c
21153                 - Grab network devices from NetworkManager too
21154                 - Grab quality information from NM for wireless networks
21155
21156         * src/NetworkManagerDbus.[ch]
21157                 - Add dbus methods for getting the HAL UDI from a device and
21158                         for getting its base quality, if its wireless
21159                 - Consolidate some functions (wireless network notifications,
21160                         device notifications)
21161                 - Add method for requesting NM to use a particular device
21162
21163         * src/NetworkManager.c
21164                 - Change for function consolidations from NetworkManagerDbus.c
21165                 - Implement active device locking and user-requested devices
21166                         (ie, tell NM to use a particular device instead of the one
21167                         it autochose)
21168
21169         * src/NetworkManagerDevice.c
21170                 - Add method for getting the base quality of a device, if its
21171                         wireless
21172                 - Grab device base quailty info from iwlib during scans
21173
21174         * src/NetworkManagerPolicy.c
21175                 - Use a user-requested device rather than the auto-chosen device
21176                         if we are told to
21177
21178 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
21179
21180         * Makefile.am: add po as a supdir
21181
21182         * autogen.sh: use gnome-autogen.sh
21183
21184         * initscript/Gentoo/.cvsignore:
21185         * initscript/RedHat/.cvsignore: Shut up cvs
21186
21187         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
21188
21189         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
21190         (nmwa_fill): Use gettext.
21191
21192         * configure.in: add gettext support
21193         * po/.cvsignore:
21194         * po/NetworkManager.pot:
21195         * po/POTFILES.in:
21196
21197 2004-08-26  Seth Nickell  <seth@gnome.org>
21198
21199         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
21200         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
21201         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
21202         (nmwa_dispose_menu_items), (nmwa_populate_menu),
21203         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
21204         * panel-applet/NMWirelessApplet.h:
21205
21206         Use a menu bar instead of a button for the main clickable
21207         thingy.
21208         
21209 2004-08-25  Dan Williams <dcbw@redhat.com>
21210
21211         * src/NetworkManagerDevice.c
21212                 - (nm_device_set_enc_key): always set device to "open" mode instead of
21213                         turning encryption off, because the Cisco driver doesn't associate
21214                         with WEP-enabled access points unless we are in "open"
21215
21216 2004-08-25  Dan Williams <dcbw@redhat.com>
21217
21218         * src/NetworkManagerWireless.c
21219                 - Don't try to defererence blank passphrases
21220
21221 2004-08-25  Dan Williams <dcbw@redhat.com>
21222
21223         * panel-applet/NMWirelessApplet.c
21224                 - Rebuild the menu whenever a user clicks
21225
21226 2004-08-25  Dan Williams <dcbw@redhat.com>
21227
21228         * panel-applet/NMWirelessApplet.c
21229                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
21230                         when NM isn't around or when its not connected
21231
21232         * src/NetworkManagerDevice.c
21233                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
21234                         canceled.
21235
21236 2004-08-25  Dan Williams <dcbw@redhat.com>
21237
21238         * panel-applet/NMWirelessAppletDbus.c
21239                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
21240                         for getting encryption, and don't stop on "val" once we've gotten it
21241                         from NetworkManager.  Short form:  encryption should now show up.
21242
21243 2004-08-25  Dan Williams <dcbw@redhat.com>
21244
21245         * panel-applet/NMWirelessApplet.c
21246                 - Set ESSID on a gconf trusted network too when force-setting the wireless
21247                         network to associate with
21248
21249 2004-08-25  Dan Williams <dcbw@redhat.com>
21250
21251         * panel-applet/*
21252                 - Rework the panel applet to do all DBUS communication in a separate
21253                         thread
21254
21255 2004-08-25  Dan Williams <dcbw@redhat.com>
21256
21257         * info-daemon/NetworkManagerInfo.[ch]
21258                 - Remove "get_next_priority" function
21259
21260         * info-daemon/NetworkManagerInfoDbus.[ch]
21261                 - Convert "priority" functions to "timestamp"
21262
21263 2004-08-25  Dan Williams <dcbw@redhat.com>
21264
21265         * src/NetworkManagerAP.[ch]
21266                 - Add a "enc_method_good" member and accessors to an Access Point
21267                         to signal when we've found the correct encryption method
21268                         for an access point
21269                 - Add a "timestamp" member and accessors, remove "priority" member
21270                         and accessors (use timestamps instead)
21271                 - Rename "wep_key"->"enc_key"
21272                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
21273                         for a specified encryption method using the access points
21274                         source encryption key/passphrase
21275
21276         * src/NetworkManagerAPList.c
21277                 - When updating a network with dbus, grab timestamp now instead of
21278                         priority
21279
21280         * src/NetworkManagerDBus.[ch]
21281                 - Add signal for "DeviceActivating"
21282                 - Switch priority->timestamp
21283
21284         * src/NetworkManagerDevice.c
21285                 - Change references of "wep_key" -> "enc_key" or "key"
21286                 - Signal DeviceActivating when starting activation
21287                 - When activating a wireless device, if the access point we are connecting
21288                         to is encrypted, and we have a source key, try to generate a mangled
21289                         key and use that (ie, generate real WEP key from a passphrase)
21290                 - Rework device activation to fallback to other encryption methods if
21291                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
21292                         first, then if that doesn't work fall back to direct hex key).
21293                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
21294                         priority.  We now prefer the latest access point used, rather than using
21295                         a priority scheme
21296                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
21297                         points we've just discovered, and merge in correct info from the global
21298                         access point lists
21299
21300 2004-08-25  Seth Nickell  <seth@gnome.org>
21301
21302         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
21303         Debian support.
21304         
21305         * src/Makefile.am:
21306         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
21307         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
21308         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
21309         (nm_system_delete_default_route),
21310         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
21311         (nm_system_load_device_modules):
21312
21313 2004-08-24  Dan Willemsen <dan@willemsen.us>
21314
21315         * src/NetworkManager.c
21316           src/backends/NetworkManagerGentoo.c
21317           src/backends/NetworkManagerRedHat.c
21318           src/backends/NetworkManagerSystem.h
21319                 - Implement preliminary Gentoo support, adding a
21320                         nm_system_init function to the backend specification
21321
21322         * configure.in
21323                 - Distribution auto-detection, lowercase any user-fed
21324                         distribution names
21325
21326         * initscript/.cvsignore
21327           initscript/Makefile.am
21328           initscript/RedHat/Makefile.am
21329           initscript/RedHat/NetworkManager
21330           initscript/Gentoo/Makefile.am
21331           initscript/Gentoo/NetworkManager
21332                 - Refactored initscript code separately for each
21333                         distribution
21334
21335 2004-08-23  Dan Williams <dcbw@redhat.com>
21336
21337         * configure.in
21338           src/Makefile.am
21339           src/NetworkManagerDevice.c
21340           src/NetworkManager.c
21341           src/NetworkManagerUtils.[ch]
21342           src/backends/NetworkManagerSystem.h
21343           src/backends/NetworkManagerRedHat.c
21344           src/backends/NetworkManagerGentoo.c
21345                 - Refactor system-specific code into separate backends for
21346                         each distribution
21347
21348 2004-08-23  Dan Willemsen <dan@willemsen.us>
21349
21350         * dispatcher-daemon/NetworkManagerDispatcher.c
21351           info-daemon/NetworkManagerInfo.[ch]
21352           info-daemon/NetworkManagerInfoDbus.c
21353           info-daemon/NetworkManagerInfoPassphraseDialog.c
21354           src/NetworkManager.c
21355           src/NetworkManagerAP.c
21356           src/NetworkManagerAPList.c
21357           src/NetworkManagerDbus.c
21358           src/NetworkManagerDevice.c
21359           src/NetworkManagerPolicy.c
21360           src/NetworkManagerUtils.[ch]
21361           src/NetworkManagerWireless.c
21362                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
21363
21364         * src/NetworkManager.c
21365                 - Fixed usage wording for --no-daemon
21366
21367 2004-08-23  Dan Williams <dcbw@redhat.com>
21368
21369         * panel-applet/NMWirelessApplet.c
21370                 - Update our state every second to get more responsive panel icon
21371                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
21372                         was causing our marching ants status blips to never move when
21373                         looking for a wireless network
21374
21375         * src/NetworkManagerDevice.c
21376                 - (nm_device_activation_begin): return if activation has already begun
21377                 - (nm_device_do_normal_scan): merge WEP key and priority from the
21378                         trusted/preferred network into the device's access point when the
21379                         scan list is processed
21380
21381 2004-08-23  Dan Williams <dcbw@redhat.com>
21382
21383         * initscript/NetworkManager
21384                 - Use NMLaunchHelper rather than sleeping
21385
21386         * initscript/NMLaunchHelper.c
21387           Makefile.am
21388                 - Add helper program that exits only when NM activates a device,
21389                         or 10 seconds have passed, whichever happens first.  This
21390                         stops the boot processes until we have a network connection,
21391                         which NM can't do because it daemonizes and brings the connection
21392                         up in the background.  Allows stuff like NFS to not die.
21393
21394 2004-08-20  Dan Williams <dcbw@redhat.com>
21395
21396         * info-daemon/NetworkManagerInfoPassphraseDialog.c
21397                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
21398                         for a network, set the essid as well since it may not exist yet
21399                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
21400                         since WEP keys/passphrases are long and prone to entry-error
21401
21402         * panel-applet/Makefile.am
21403           panel-applet/wired.png
21404                 - Add (pulled from system-config-network temporarily)
21405
21406         * panel-applet/NMWirelessApplet.[ch]
21407                 - Show wired picture when a wired connection is used
21408                 - Rename wireless icon enums, adding WIRELESS
21409
21410         * src/NetworkManagerDevice.c
21411                 - (nm_device_activate_wireless): unset encryption before bringing
21412                         down the card and setting the essid
21413                 - (nm_device_activatin_worker): request a key from the user if the
21414                         AP we are connecting to is encrypted but we don't have a key
21415                         for it yet
21416                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
21417                         strcmp() that prevented a user-entered key from actually getting
21418                         used
21419
21420 2004-08-16  Dan Williams <dcbw@redhat.com>
21421
21422         * initscript/NetworkManager
21423                 - Check for /sbin/ip
21424                 - Do sysctl magic that network service does
21425                 - sleep 4s after start to allow network time to come up [hack]
21426
21427         * src/Makefile.am
21428           src/NMLoadModules
21429                 - Load all network device kernel modules (hal doesn't know devices
21430                         are ethernet until the module is loaded, and therefore we don't know)
21431
21432         * src/NetworkManager.c
21433                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
21434                         network devices, and bring up the loopback device explicitly
21435
21436         * src/NetworkManagerUtils.[ch]
21437                 - (nm_enable_loopback): new function
21438
21439 2004-08-13  Dan Williams <dcbw@redhat.com>
21440
21441         * configure.in
21442           panel-applet/Makefile.am
21443                 - Fix up cleanfiles and server_DATA/server_in_files
21444
21445         * README
21446                 - Update with some comments on theory of operation
21447
21448         * CONTRIBUTING
21449           Makefile.am
21450                 - Add CONTRIBUTING
21451
21452 2004-08-12  Dan Williams <dcbw@redhat.com>
21453
21454         * info-daemon/passphrase.glade
21455                 - Set window title to " "
21456
21457         * panel-applet/Makefile.am
21458           panel-applet/keyring.png
21459                 - Deliver to correct place
21460
21461         * panel-applet/NMWirelessApplet.[ch]
21462                 - Add comments
21463                 - Remove applet->have_active_device as its no longer used
21464                 - (nmwa_load_theme): load keyring.png too
21465                 - (error_dialog): remove
21466                 - (show_warning_dialog): subsume functionality of error dialog too
21467                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
21468                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
21469                         the networks menu
21470                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
21471                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
21472                         and when we get broadcasts of changed wireless access points only, not when the
21473                         user clicks on the button to display the menu (too long of a wait)
21474                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
21475                         networks that are encrypted
21476                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
21477                         menu item with g_object_set_data()
21478
21479         * panel-applet/NMWirelessAppletDbus.[ch]
21480                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
21481                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
21482                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
21483                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
21484                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
21485                         activation/deactivation signals and rebuild the menu when they happen
21486
21487         * src/NetworkManager.c
21488                 - (main): use new nm_spawn_process() rather than system()
21489
21490         * src/NetworkManagerDbus.c
21491                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
21492                         instead.  Since we can now force best_aps to stick around, the AP structure to which
21493                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
21494                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
21495                         to freeze the best_ap.
21496
21497         * src/NetworkManagerDevice.[ch]
21498                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
21499                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
21500                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
21501                         ap list
21502
21503         * src/NetworkManagerUtils.[ch]
21504                 - (nm_spawn_process): add replacement for system() usage
21505
21506 2004-08-11  Dan Williams <dcbw@redhat.com>
21507
21508         * panel-applet/NMWirelessApplet.[ch]
21509                 - Fix up copyright and credits to include Bastien and Eskil,
21510                         who created the gnome-applets wireless applet, from whose
21511                         skeleton this one was created
21512                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
21513                         pixmap to draw is computed during nmwa_update_state()
21514                 - Applet now shows itself all the time due to panel packing issues
21515                         which caused the applet to previously never come back after hiding.
21516                         When a wired device is the active device, the applet shows "not connected"
21517
21518         * panel-applet/NMWirelessAppletDbus.[ch]
21519                 - Clean up error messages and show what function they are from
21520                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
21521                 - Add new device type getters, and a status getter
21522
21523         * src/NetworkManagerDbus.c
21524                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
21525                         network is actually in the device's ap list
21526                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
21527
21528         * src/NetworkManagerDevice.c
21529                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
21530                         card
21531
21532         * test/nmclienttest.c
21533                 - Report status of NetworkManager too
21534
21535 2004-08-11  Dan Williams <dcbw@redhat.com>
21536
21537         * info-daemon/NetworkManagerInfo.c:
21538                 - (main): clean up Seth's code style
21539
21540         * info-daemon/NetworkManagerInfoDbus.c:
21541                 - Use the more aptly-named path/service/interface constants from NetworkManager
21542                 - Don't return empty strings ("") as object paths ever, instead return errors
21543
21544         * panel-applet/NMWirelessApplet.c:
21545                 - Clean up Seth's code style
21546
21547         * src/NetworkManager.[ch]
21548                 - (nm_remove_device_from_list): remove anything having to do with pending_device
21549                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
21550
21551         * src/NetworkManagerAPList.[ch]
21552                 - Move Iter struct right above the iter functions to preserve opacity
21553                 - (nm_ap_list_remove_ap): implement
21554                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
21555                         remove AP if NetworkManagerInfo doesn't know anything about it
21556                 - (nm_ap_list_diff): user NMAPList iterators
21557                 - (nm_ap_list_print_members): implement debugging function
21558
21559         * src/NetworkManagerDbus.[ch]
21560                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
21561                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
21562                         and move the actual key setting stuff into NetworkManagerDevice.c
21563                 - (nm_dbus_get_network_priority): return -1 now on errors
21564                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
21565                         get lost, and force the active device to update its "best" ap when AP lists change
21566                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
21567                         method call due to pending_device member removal
21568
21569         * src/NetworkManagerDevice.[ch]
21570                 - Move NMDevice structure to the top
21571                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
21572                 - Remove Pending Action stuff from everywhere
21573                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
21574                         activation for us.  This thread blocks until all conditions for activation have
21575                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
21576                         then setup up the interface and runs dhclient.  We have to do this because there
21577                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
21578                         run our main loop and respond to dbus method calls or HAL device removals/inserts
21579                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
21580                         can tell nm_device_activation_worker() that we've got a key
21581                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
21582                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
21583                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
21584                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
21585
21586         * src/NetworkManagerPolicy.c
21587                 - Remove anything to do with pending_device
21588                 - Adjust device activation to deal with activation-in-worker-thread
21589
21590         * src/NetworkManagerUtils.c
21591                 - Clean up locking debugging a bit
21592
21593         * src/NetworkManagerWireless.[ch]
21594                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
21595                         was badly named and is better as a device function
21596
21597         * panel-applet/.cvsignore: add
21598
21599 2004-08-09  Seth Nickell  <seth@gnome.org>
21600
21601         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
21602         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
21603         (nmwa_new):
21604         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
21605
21606         Don't load the menus until clicked on (also removes a call outside
21607         normal code paths at first load).
21608
21609         Hide applet when NM is not present.
21610         
21611         Improve printf debugging stuff.
21612         
21613 2004-08-09  Dan Williams <dcbw@redhat.com>
21614
21615         * dispatcher-daemon/NetworkManagerDispatcher.c:
21616                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
21617                 - Use constants for NetworkManager interface, service, and path
21618
21619 2004-08-09  Dan Williams <dcbw@redhat.com>
21620
21621         * src/NetworkManagerDbus.c:
21622                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
21623                         instead return an error message
21624                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
21625                         on a wired device.  Also never return an empty object path, instead return an error message
21626
21627 2004-08-06  Seth Nickell  <seth@gnome.org>
21628
21629         * panel-applet/NMWirelessApplet.c: (nmwa_new):
21630
21631         Check the error code when getting a connection.
21632         
21633         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
21634
21635         Check if the NM service exists when initializing (rather than
21636         assuming it does not).
21637         
21638         * src/NetworkManagerDbus.c: (nm_dbus_init):
21639
21640         Don't acquire the well-known service name until we have
21641         registered object/path handlers and can actually receive
21642         calls.
21643         
21644 2004-08-06  Dan Williams <dcbw@redhat.com>
21645
21646         * panel-applet/*
21647                 - Add panel applet
21648
21649         * src/NetworkManagerPolicy.c
21650           src/NetworkManager.c
21651                 - Get access point lists from NetworkManagerInfo on-demand,
21652                         and look for ServiceCreate/ServiceDeleted signals to see when
21653                         we should query NMI for lists
21654         * src/NetworkManagerAPList.c
21655                 - Make sure to init the list's mutex
21656                 - Convert traversals of the list over to the list iter functions
21657
21658         * src/NetworkManagerDbus.[ch]
21659                 - Use more aptly-named path/service/interface constants
21660                 - Treat both active and pending devices the same for "getActiveDevice"
21661                 - Add a "status" method returning "connected", "connecting", or "disconnected"
21662
21663         * src/NetworkManagerDevice.c
21664                 - Honor "ignored" network list when picking best ap to use
21665
21666 2004-08-06  Seth Nickell  <seth@gnome.org>
21667
21668         * aclocal.m4:
21669
21670         Autogenerated, remove from CVS.
21671         
21672         * autogen.sh:
21673
21674         Don't hardcode automake version.
21675         
21676         * configure.in:
21677         * info-daemon/Makefile.am:
21678         * info-daemon/NetworkManagerInfo.c: (main):
21679
21680         Use GnomeProgram et al. for doing session management.
21681         Use popt stuff for argument parsing rather than doing
21682         it manugally.
21683         
21684 2004-08-05  Dan Williams <dcbw@redhat.com>
21685
21686         * test/nminfotest.c
21687                 - Update to new NMI dbus API, check different network types
21688
21689         * info-daemon/NetworkManagerInfoDbus.c
21690                 - Update to new NM dbus API, ie network type sent in query message
21691
21692 2004-08-05  Dan Williams <dcbw@redhat.com>
21693
21694         * An assload of changes
21695
21696 2004-08-02  Dan Williams <dcbw@redhat.com>
21697
21698         * TODO
21699                 - new task: proper logging support
21700
21701         * info-daemon/NetworkManagerInfo.c
21702                 - Correct spelling of "canceled"
21703                 - Correct casting of objects for g_signal_connect()
21704
21705         * info-daemon/NetworkManagerInfoDbus.c
21706                 - Add defines for NetworkManager namespace and object path, and use them
21707                 - Add filter function to trap new signals from NetworkManager:
21708                         WirelessNetworkAppeared, WirelessNetworkDisappeared
21709
21710         * info-daemon/passphrase.glade
21711                 - Change name of "ok" button to "Login to Network..."
21712                 - Mark invisible
21713
21714         * src/NetworkManager.c
21715                 - Code and debug message cleanups
21716                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
21717                 - (nm_add_initial_devices) Check returned string array of devices
21718                         and don't try to add devices if array is NULL
21719                 - (main) Initialize libhal a bit later, make code a bit clearer
21720
21721         * src/NetworkManagerAP.[ch]
21722                 - New accessor and data member "matched": used to speed up AP list
21723                         diffing
21724                 - New accessor and data member "enc_method": will be used during key
21725                         fallback to cache which passphrase->key conversion actually works
21726                         so we don't have to do it every time
21727
21728         * src/NetworkManagerAPList.[ch]
21729                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
21730                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
21731                         between them, and send WirelessNetworkAppeared/Disappeared signals over
21732                         dbus in response to those differences
21733
21734         * src/NetworkManagerDbus.[ch]
21735                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
21736                         make an object path for that access point (NOTE that we don't yet check to
21737                         make sure that access point is actually in the device's AP list yet)
21738                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
21739                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
21740                         New: signal appearance/disappearance of wireless networks
21741                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
21742                         key entry
21743
21744         * src/NetworkManagerDevice.[ch]
21745                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
21746                 - (nm_device_ap_list_get) New: return the AP list (static function)
21747                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
21748                         new one resulting from the scan with the old one
21749
21750         * src/NetworkManagerWireless.c
21751                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
21752
21753         * test/nminfotest.c
21754                 - #define object paths and namespaces and use the #defines rather than static strings
21755                 - Test out user-key functionality of NetworkManagerInfo too
21756
21757 2004-07-29  Dan Williams <dcbw@redhat.com>
21758
21759         * info-daemon/NetworkManagerInfoDbus.c
21760           src/NetworkManagerDbus.c
21761                 - Update to current DBus (ie don't use decomposed paths when registering
21762                         object paths/fallbacks)
21763
21764 2004-07-27  Dan Williams <dcbw@redhat.com>
21765
21766         * Remove various Makefile.in files
21767
21768         * TODO
21769                 - Add some more items
21770
21771         * configure.in
21772                 - Add checks for OpenSSL/md5 headers and libs
21773
21774         * src/Makefile.am
21775                 - Use OpenSSL CFLAGS
21776
21777         * src/NetworkManagerAP.[ch]
21778                 - Remove 'stamp' functions, replace with 'invalid' functions
21779                         to support user cancelling WEP key entry
21780
21781         * src/NetworkManagerDbus.c
21782                 - Remove 'stamp' return functions
21783                 - Treat returned user key as a passphrase and convert to a WEP key,
21784                         but don't actually use the WEP key yet.  We use the returned user
21785                         key as a hexadecimal WEP key until we can figure out a UI for
21786                         passphrase-vs-hex key
21787
21788         * src/NetworkManagerWireless.[ch]
21789                 - Add passphrase-to-128bit-key function
21790
21791 2004-07-27  Dan Williams <dcbw@redhat.com>
21792
21793         * TODO
21794                 - Add a couple of items
21795
21796 2004-07-27  Dan Williams <dcbw@redhat.com>
21797
21798         * info-daemon/NetworkManagerInfo.c
21799                 - Update allowed network's GConf key when user enters a WEP key explicitly
21800
21801         * info-daemon/NetworkManagerDbus.c
21802                 - Fix some comments
21803                 - nmi_dbus_get_allowed_networks(): kill warning
21804
21805 2004-07-27  Dan Williams <dcbw@redhat.com>
21806
21807         * initscript/Makefile.in
21808                 - Remove
21809
21810         * initscript/Makefile.am
21811                 - Add correct rules to install the init.d initscript
21812
21813         * info-daemon/NetworkManagerInfoDbus.c
21814                 - Remove debug fprintf
21815
21816         * src/NetworkManagerDbus.[ch]
21817                 - Remove debug fprintfs
21818                 - Add macros for NetworkManagerInfo object path/namespace
21819                 - Use said macros instead of constant strings
21820
21821 2004-07-27  Dan Williams <dcbw@redhat.com>
21822
21823         * initscript/.cvsignore
21824                 - Add
21825
21826         * info-daemon/Makefile.am
21827                 - Install .glade files and keyring.png
21828                 - Fix stupid omission of a \ that caused half the flags not to be
21829                         passed to gcc
21830
21831         * info-daemon/NetworkManagerInfo.c
21832                 - gtk_signal_connect->g_signal_connect
21833                 - Alert NetworkManagerInfo to new glade file location
21834
21835 2004-07-27  Dan Williams <dcbw@redhat.com>
21836
21837         * test/nmclienttest.c
21838           test/nminfotest.c
21839                 - Add missing <dbus/dbus.h> headers
21840                 - Add GPL message at top
21841
21842 2004-07-27  Dan Williams <dcbw@redhat.com>
21843
21844         * src/NetworkManagerAPList.[ch]
21845           src/Makefile.am
21846                 - Add.  Deal with allowed network list additions, deletions, and updates
21847
21848         * dispatcher-daemon/NetworkManagerDispatcher.c
21849                 - Add missing <dbus/dbus.h> header
21850
21851         * info-daemon/NetworkManagerInfo.[ch]
21852                 - Add missing <dbus/dbus.h> header
21853                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21854                         network change
21855                 - Better error checking
21856
21857         * info-daemon/NetworkManagerInfoDbus.[ch]
21858                 - Add missing <dbus/dbus.h> header
21859                 - Convert to using dbus_message_append_args/dbus_message_get_args
21860                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21861                         that an allowed network changed.  We don't want to signal on individual
21862                         keys _inside_ an allowed network really, just want NM to query the info
21863                         daemon for updated info on all keys.
21864                 - Better error checking
21865
21866         * src/NetworkManager.[ch]
21867                 - Add missing <dbus/dbus.h> header
21868                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21869                 - Zero out NMData structure on free
21870                 - No longer use a thread for allowed_ap_list updating, instead its now done
21871                         through dbus queries against NetworkManagerInfo
21872                 - Populate allowed_ap_list initially before adding existing network devices
21873                         to the device list, so wireless devices can get their "best" AP
21874
21875         * src/NetworkManagerDbus.[ch]
21876                 - Convert to using dbus_message_append_args/dbus_message_get_args
21877                 - Better error checking
21878                 - Implement Allowed Network info functions to request allowed network
21879                         info from NetworkManagerInfo
21880                 - Implement the filter function to process signals from NetworkManagerInfo
21881                         about changing allowed networks
21882
21883         * src/NetworkManagerDevice.c
21884                 - Fix file descriptor leak in nm_device_update_ip4_address()
21885
21886 2004-07-27  Dan Williams <dcbw@redhat.com>
21887
21888         * .cvsignore
21889           src/.cvsignore
21890           test/.cvsignore
21891           dispatcher-daemon/.cvsignore
21892           info-daemon/.cvsignore
21893                 - Add .cvsignore files to reduce noise when diffing
21894
21895 2004-07-24  Dan Williams <dcbw@redhat.com>
21896
21897         * src/NetworkManager.[ch]
21898           src/NetworkManagerDbus.[ch]
21899           src/NetworkManagerDevice.[ch]
21900           src/NetworkManagerPolicy.c
21901           src/NetworkManagerWireless.[ch]
21902                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21903                 - Pass the NMData application data structure through all calls
21904                         that need it so we can get rid of nm_get_global_data()
21905                 - Change deallocation of the allowed_ap_list GSList in preparation
21906                         for not completely clearing it every time we get an update,
21907                         but instead getting incremental updates via GConf/dbus
21908
21909 2004-07-22  Dan Williams <dcbw@redhat.com>
21910
21911         * configure.in
21912                 - Add checks for GConf libs & headers & flags
21913
21914         * info-daemon/Makefile.am
21915                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21916
21917         * info-daemon/NetworkManagerInfo.[ch]
21918                 - Don't use gquarks for data storage, just use normal data storage
21919                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21920
21921         * info-daemon/NetworkManagerDbus.[ch]
21922                 - Add method call for getting allowed networks
21923                 - Add method calls for getting an allowed network's essid, priority, and key
21924                 - Hook the method calls up to GConf
21925                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21926                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21927                 
21928         * src/NetworkManagerDbus.[ch]
21929                 - Switch for enumeration of networks to using essid instead
21930
21931         * test/Makefile.am
21932           test/nminfotest.c
21933                 - Add test program for NetworkManagerInfo
21934
21935 2004-07-19  Dan Williams <dcbw@redhat.com>
21936
21937         * src/NetworkManagerDbus.c
21938                 - Switch from indexed device paths to names.  Less code, more efficient.
21939                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21940
21941 2004-07-19  Dan Williams <dcbw@redhat.com>
21942
21943         * dispatcher-daemon/NetworkManagerDispatcher.c
21944                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21945
21946 2004-07-19  Dan Williams <dcbw@redhat.com>
21947
21948         * Makefile.am
21949                 - Add info-daemon directory
21950
21951         * configure.in
21952                 - Check for glade libs and headers
21953                 - Add info-daemon directory
21954
21955         * src/NetworkManagerAP.c
21956                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21957                         copied over to the new AP.
21958
21959         * src/NetworkManagerDbus.c
21960           src/NetworkManagerDbus.h
21961                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21962                 - Remove nm_dbus_signal_need_key_for_network()
21963                 - Add disabled code for asynchronous user wep key callbacks
21964                 - Add functions for getting, setting, and cancelling user key operations
21965                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21966                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21967
21968         * src/NetworkManagerDevice.c
21969           src/NetworkManagerDevice.h
21970                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21971                         logic is in device activation now
21972                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21973                         key is wrong) trigger get-user-key pending action
21974                 - Implement get-user-key pending action stuff, tie to dbus messages
21975                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21976                 - Add nm_device_ap_list_get_ap_by_essid()
21977                 - Instead of copying "best" access points, ref them instead so that the key we set
21978                         sticks around
21979
21980         * src/NetworkManagerPolicy.c
21981                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21982                 - Don't cancel pending actions on a device if its the same device as last iteration
21983                 - Only promote pending_device->active_device if activation was successfull
21984
21985         * src/Makefile.am
21986                 - Rename nmclienttest->nmtest
21987
21988         * info-daemon/Makefile.am
21989           info-daemon/NetworkManagerInfo.c
21990           info-daemon/NetworkManagerInfo.h
21991           info-daemon/NetworkManagerInfoDbus.c
21992           info-daemon/NetworkManagerInfoDbus.h
21993           info-daemon/passphrase.glade
21994           info-daemon/NetworkManagerInfo.conf
21995           info-daemon/keyring.png
21996                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21997                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21998                         lists to NetworkManager by proxying user's GConf
21999           
22000
22001 2004-07-15  Dan Williams <dcbw@redhat.com>
22002
22003         * src/Makefile.am
22004                 - Turn on warnings
22005
22006         * src/NetworkManager.c
22007                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
22008                         that doing the deactivation ourselves
22009                 - Cancel an pending actions on a device if its being removed
22010                 - Break up link state checking a bit, make non-active wireless cards
22011                         deactivated to save power
22012                 - Remove unused variables
22013
22014         * src/NetworkManager.h
22015                 - Add support for "pending" device
22016
22017         * src/NetworkManagerAP.h
22018           src/NetworkManagerAP.c
22019                 - Add support for determining whether and AP has encryption enabled or not
22020                 - AP address is now "struct ether_addr" rather than a string
22021
22022         * src/NetworkManagerDbus.h
22023           src/NetworkManagerDbus.c
22024                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
22025                 - Changes for AP address from struct ether_addr->string
22026
22027         * src/NetworkManagerDevice.h
22028           src/NetworkManagerDevice.c
22029                 - Remove unused variables, fix warnings
22030                 - Add support for Pending Actions (things that block a device from being "active"
22031                         until they are completed).
22032                 - First pending action:  Get a WEP key from the user
22033                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
22034                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
22035                 - Update wireless link checking to try to determine if the AP we are associated
22036                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
22037                         trigger the GetUserKey pending action on the device
22038                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
22039                         up in that case, otherwise we can't scan or link-check on it
22040                 - Add IP address change notifications at appropriate points (still needs some work)
22041                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
22042
22043         * src/NetworkManagerPolicy.h
22044           src/NetworkManagerPolicy.c
22045                 - Split out "best" access point determiniation into separate function
22046                 - Make device activation 2-stage:  first the device is pending, then
22047                         in the next iteration through it becomes "active" unless it has
22048                         pending actions
22049
22050         * src/NetworkManagerUtils.h
22051           src/NetworkManagerUtils.c
22052                 - Clean up unused variables and warnings
22053                 - Wrap our debug macros in {} to prevent possible confusion
22054
22055         * src/NetworkManagerWireless.c
22056                 - Forgot to return current best priority, which lead to last available AP always
22057                         being chosen no matter what its priority was.  Corrected.
22058
22059 2004-07-15  Dan Williams <dcbw@redhat.com>
22060
22061         * dispatcher-daemon/Makefile.am
22062                 - Turn on warnings
22063
22064         * dispatcher-daemon/NetworkManagerDispatcher.c
22065                 - Remove unused variables due to warnings
22066                 - Fix some comments
22067                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
22068
22069 2004-07-06  Dan Williams <dcbw@redhat.com>
22070
22071         * src/NetworkManager.c
22072                 - Add IPv4 address update for active device during link state check
22073                 - Don't allow wireless cards to be powered up when they are not the
22074                         active device
22075
22076         * src/NetworkManagerDbus.c
22077           src/NetworkManagerDbus.h
22078                 - Add DBUS IPv4 address change signal
22079                 - Add DBUS IPv4 address get method for devices
22080
22081         * src/NetworkManagerDevice.c
22082                 - Make setting the WEP key actually work
22083                 - Move IP address get/set/update stuff here, per-device
22084                 - Power down/bring down wireless device when deactivated
22085                 - For scanning wireless devices, if first scan returned ENODATA, try again
22086
22087         * src/NetworkManagerPolicy.c
22088                 - Only set the WEP key for an allowed access point if there is one.
22089                         We were setting it to be blank if one wasn't specified.
22090
22091         * src/NetworkManagerUtils.h
22092           src/NetworkManagerUtils.c
22093                 - Move the IP address stuff to NetworkManagerDevice.c
22094
22095         * dispatcher-daemon/NetworkManagerDispatcher.c
22096                 - Add device IPv4 address change notification stuff
22097
22098 2004-07-05  Dan Williams <dcbw@redhat.com>
22099
22100         * dispatcher-daemon/NetworkManagerDispatcher.c
22101                 - A bit more descriptive state message
22102                 - Don't segfault when reading directory
22103
22104         * src/NetworkManager.h
22105                 - Remove NMData desired_ap member, its now
22106                         per-device rather than global
22107
22108         * src/NetworkManager.c
22109                 - Remove references to desired_ap
22110                 - Move the allowed AP list refresh stuff into a thread
22111
22112         * src/NetworkManagerDevice.c
22113           src/NetworkManagerDevice.h
22114                 - Each wireless device now has a "best ap"
22115                 - Make device activate/deactivate functions per-device
22116                 - Make wireless scanning per-device
22117                 - Add IPv4 address discover functions, stub IPv6 ones
22118                 - Move ethernet address validation functions to NetworkManagerUtils.c
22119                 - Add wireless access point accessor function
22120                 - Get/Set functions for "best ap"
22121
22122         * src/NetworkManagerPolicy.c
22123                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
22124                 - Deal with per-device "best ap" rather than data->desired_apa
22125                 - Implement allowed access point worker thread
22126                 - Add nm_policy_essid_is_allowed() function
22127
22128         * src/NetworkManagerUtils.c
22129           src/NetworkManagerUtils.h
22130                 - Add nm_ethernet_address_is_valid() function
22131                 - Add IPv4/IPv6 address get functions
22132
22133         * src/NetworkManagerWireless.c
22134           src/NetworkManagerWireless.h
22135                 - Move scanning stuff into NetworkManagerDevice.c, per-device
22136
22137 2004-06-29  Dan Williams <dcbw@redhat.com>
22138
22139         * dispatcher-daemon/NetworkManagerDispatcher.c
22140                 - Implement script callout functionality
22141
22142 2004-06-24  Dan Williams <dcbw@redhat.com>
22143
22144         * NetworkManager.c
22145             - Spacing cleanups
22146             - Flush device routes and ip addresses when added to the device list
22147
22148         * NetworkManagerDbus.c
22149             - Spacing cleanups
22150             - Add missing returns in the two signal functions
22151         
22152         * NetworkManagerPolicy.c
22153             - Spacing and variable cleanups
22154
22155 2004-06-24  Dan Williams <dcbw@redhat.com>
22156
22157         * Makefile.am
22158           Makefile.in
22159           configure.in
22160           dispatcher-daemon/Makefile.am
22161           dispatcher-daemon/Makefile.in
22162           dispatcher-daemon/NetworkManagerDispatcher.c
22163             - Add a daemon that receives signals from NetworkManager
22164                         and will (eventually) call scripts in /etc/somewhere
22165                         when devices go up or down.
22166         
22167         * NetworkManager.c
22168             - Spacing cleanups
22169             - Flush device routes and ip addresses when added to the device list
22170
22171         * NetworkManagerDbus.c
22172             - Spacing cleanups
22173             - Add missing returns in the two signal functions
22174         
22175         * NetworkManagerPolicy.c
22176             - Spacing and variable cleanups
22177             - Rename nm_policy_switch_interface->nm_policy_switch_device
22178             - nm_policy_switch_device():
22179                                 Use kill (pid) instead of system ("kill <pid>")
22180             - nm_state_modification_monitor():
22181                                 Add wireless essid to output of debug statements
22182                                 Correct typo in device compare to switch or not (should be !=)
22183                                 Don't sleep after sending "no longer active" signal, was useless
22184
22185 2004-06-24  Dan Williams <dcbw@redhat.com>
22186
22187         * Initial import