History log of /system/connectivity/shill/key_file_store_unittest.cc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
dcf057497952ef8f2a41de65717d92876fd8e1fd 28-Aug-2015 mukesh agrawal <quiche@chromium.org> shill: KeyFileStoreTest: remove unnecessary path change

It's unclear what we accomplish by changing the path
during fixture TearDown. While the comment indicates
that this is a way of avoiding saving changes, that
doesn't quite make sense, for a couple reasons:

1) Why should we care if the store is saved or not?
2) The only KeyFileStore code that should run after
the fixture TearDown() is KeyFileStore dtor. But
that doesn't pay any attention to |path_|. Nor
does the dtor call Close() or Flush().

In fact, v1 of the patch that landed this code had
an explicit store_.Close(), instead of any attempt
to avoid saving the store. AFAICT, simply removing
that Close() call is all we need to do, to avoid
writing the store to disk.

BUG=chromium:517570
TEST="USE='asan clang' FEATURES=test emerge-samus shill"

Change-Id: Ib64e339635cb5d898a0ddc9e7abbed16197f542a
Reviewed-on: https://chromium-review.googlesource.com/295928
Commit-Ready: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
8913328944aab4e1cfbb4d6493f43dfc5e28d935 28-Aug-2015 mukesh agrawal <quiche@chromium.org> shill: KeyFileStoreTest: don't use empty path

Now that KeyFileStore takes path as an argument to the
ctor, and validates that the path is non-empty, we'd
like to get rid of the empty-path checks in KeyFileStore.

Update the test code to no longer require the empty
path checks. Instead, force Flush() to fail in a more
fundamental way.

BUG=None
TEST="USE='asan clang' FEATURES=test emerge-samus shill"

Change-Id: I58c4187243c86b760dce555f8a7763648578e6b0
Reviewed-on: https://chromium-review.googlesource.com/295927
Commit-Ready: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5 03-Sep-2015 Peter Qiu <zqiu@google.com> License shill to Apache2

This patch automatically replaced the license on all text files from
Chromium OS (BSD style) to AOSP (Apache2), keeping the original year as
a reference.

The license header was added to .gyp and .gypi, the NOTICE was added with a copy
of the Apache2 license and MODULE_LICENSE_* file was added.

BUG=23587594
TEST=grep 'Chromium OS Authors' doesn't find anything.

Change-Id: If41ede586c2465f5831fb7fee270ff41dbfdb596
/system/connectivity/shill/key_file_store_unittest.cc
5acf8362389b6913a9ea1d32807ee9f9d8acfdd3 27-Aug-2015 mukesh agrawal <quiche@chromium.org> shill: KeyFileStoreTest: remove use of set_path()

Before we can remove the set_path() method from
the public API, we have to stop using it. So
update test code to modify |path_| directly,
instead.

TEST="USE='asan clang' FEATURES=test emerge-samus shill"
BUG=chromium:517570

Change-Id: Ia6c09541d3eb5520e4548d2d39db781532848f95
Reviewed-on: https://chromium-review.googlesource.com/295924
Commit-Ready: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
78e0584ef181fc8a6cfd4d3b54644af21829d2ef 27-Aug-2015 mukesh agrawal <quiche@chromium.org> shill: JsonStore/KeyFileStore: modify ctor

If we want to remove StoreInterface::set_path(),
we need to provide some other way to specify where
a store gets written.

So add a FilePath argument to the JsonStore and
KeyFileStore constructors, and update callers
accordingly.

BUG=chromium:517570
TEST="USE='asan clang json_store' FEATURES=test emerge-samus shill"
TEST="USE='asan clang' FEATURES=test emerge-samus shill"

Change-Id: I4afd2d0befb9e95f0d0f3138380ef17cd2ccd603
Reviewed-on: https://chromium-review.googlesource.com/295923
Commit-Ready: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
61bd113b69390e97802413f21b9de8041195158d 27-Aug-2015 mukesh agrawal <quiche@chromium.org> shill: KeyFileStoreTest: remove uses of path()

It'll be easier to remove the path() method from
KeyFileStore, if there's no code that calls it.
Make it so.

BUG=chromium:517570
TEST="USE='asan clang' FEATURES=test emerge-samus shill"

Change-Id: Ib8ff6c55920a1664e70e0d5b03c3c13a94b5078f
Reviewed-on: https://chromium-review.googlesource.com/295920
Commit-Ready: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
94ba50c6e1b07bb56af0c6c8fe71c4de30a0f9f5 27-Aug-2015 mukesh agrawal <quiche@chromium.org> shill: KeyFileStore: improve use of set_path()

The use of StoreInterface->set_path() in KeyFileStoreTest
is somewhat opaque. Improve this as follows:
1) add a comment in OpenClose, explaining why we modify
the store's path
2) add an adapter class, which captures the intent behind
the use of set_path() in OpenCheckClose()
3) update OpenCheckClose() to use the adapter class,
instead of using KeyFileStore directly.

BUG=chromium:515570
TEST="USE='asan clang' FEATURES=test emerge-samus shill"

Change-Id: I8f9e5e43e40a4f2d6374931fe00967663a23ba8c
Reviewed-on: https://chromium-review.googlesource.com/295859
Commit-Ready: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
0709b5a6bed9f9db0d13b3da77152dbd050edc30 27-Aug-2015 mukesh agrawal <quiche@chromium.org> shill: KeyFileStoreTest: dynamically allocate store

We want to remove the set_path() method from StoreInterface,
and have StoreInterface clients pass the path to the ctor
instead. But KeyFileStore is an inline member of
KeyFileStoreTest. So, if we add a parameter to the
KeyFileStore ctor, then the test class will need to
supply that parameter in the initializer list.

There's no good way to supply that parameter at the
time KeyFileStoreTest is being constructed, since the
parameter requires state that doesn't exist at construction
time. (Specifically: we need to call CreateUniqueTempDir()
on the ScopedTempDir. But we can't do that in the initializer
list.)

We could try to kludge around this by, e.g., adding an
AutomaticScopedTempDir class, which calls its own
CreateUniqueTempDir() method in its own ctor. But, given
that the temp dir creation currently happens in SetUp(),
rather than the KeyFileStoreTest ctor, that seems like a
philosophical change.

Instead, we simply allocate the KeyFileStore in
KeyFileStoreTest::SetUp().

This change doesn't really stand on its own... But it's
done separately from the CL for removing set_path(), simply
because of the size of this change. Breaking out this
(largely mechanical) change into a separate CL should make
it easier to understand the set_path() CL.

BUG=chromium:517570
TEST="USE='asan clang' FEATURES=test emerge-samus shill"

Change-Id: I7464026923ef709004fe476865955a9d3abd475c
Reviewed-on: https://chromium-review.googlesource.com/295857
Commit-Ready: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
1a25fac8a1f60f0ed6a52b2f35d1e3489d280d3e 26-Aug-2015 mukesh agrawal <quiche@chromium.org> shill: KeyFileStore: remove GLib argument

KeyFileStore no longer makes use of the GLib*
argument passed to the ctor. So remove the
argument, and update callers appropriately.

BUG=chromium:23386647
TEST="FEATURES=test emerge-samus shill"
TEST="USE=json_store FEATURES=test emerge-samus shill"

Change-Id: I781c0db876020452d82b3a34176826933c18b779
Reviewed-on: https://chromium-review.googlesource.com/295579
Commit-Ready: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
3b30ca58d13cf66b75ba0729b222ddc42ae68b33 16-Jun-2015 Paul Stewart <pstew@chromium.org> shill: Top-level unit tests: Switch pointer/ref spacing

Switch to Chrome style spacing.

BUG=chromium:501026
TEST=Unit tests

Change-Id: I86c072b89281e0de18928b47860b99d779af061a
Reviewed-on: https://chromium-review.googlesource.com/278037
Reviewed-by: Rebecca Silberstein <silberst@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
cc225ef3b77b5e098cc12c661a947e1737480777 30-Sep-2014 Ben Chan <benchan@chromium.org> shill: Replace NULL with nullptr.

BUG=None
TEST=`USE=wimax FEATURES=test emerge-$BOARD shill`

Change-Id: I30ab47ff32dcadad09ae7a2baf4d4123a6ef0d8e
Reviewed-on: https://chromium-review.googlesource.com/220657
Reviewed-by: Ben Chan <benchan@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
Commit-Queue: Ben Chan <benchan@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
11c213f3cf64f27a0e42ee6da95e98bd1d4b3202 05-Sep-2014 Ben Chan <benchan@chromium.org> Update code to include base/files/file_util.h

file_util.h was moved from base to base/files
(https://codereview.chromium.org/468253002). This CL updates platform2
code to include base/files/file_util.h instead of base/file_util.h.

BUG=chromium:411001
TEST=Trybot run on paladin, release, and chromiumos-sdk builders.

Change-Id: I488925b54615e131e508a460dc1a27f88168f936
Reviewed-on: https://chromium-review.googlesource.com/216851
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
Commit-Queue: Ben Chan <benchan@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
7fab89734d88724a288e96a9996b15548c5294c7 11-Aug-2014 Ben Chan <benchan@chromium.org> shill: Use integer types from stdint.h

This CL replaces the deprecated int* and uint* types from
'base/basictypes.h' with the int*_t and uint*_t types from 'stdint.h'.

BUG=chromium:401356
TEST=`USE='cellular gdmwimax wimax' FEATURES=test emerge-$BOARD platform2`

Change-Id: I3d4c195881203dd2a47dbb5af150b6c90b9c206e
Reviewed-on: https://chromium-review.googlesource.com/211770
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Ben Chan <benchan@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
8a5322984f2d81bcbfd8d44c59747a11bd9b904b 17-Jun-2014 Alex Vakulenko <avakulenko@chromium.org> shill: Fix most of warnings from cpplint

Fix most cpplinter's warnings. On a few occasisions, the warnings
produced were false-positives, so added explicit // NOLINT comment
overrides.

There were a few instances of disallowed non-const reference usage
(reported as runtime/reference error by cpplint) for
"DBus::Error &error" which should potentially be changed
to pointers to comply with C++ coding style but I will let Shill
owners do that since there is quite a few of those and the
change isn't brain-dead simple...

BUG=None
TEST=platform2 still compiles and all unit tests pass.

Change-Id: Ic2e31896aa13d20eeb1a85dee74f3db8cccfde2e
Reviewed-on: https://chromium-review.googlesource.com/204164
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
6fbf64f493a9aae7d743888039c61a57386203db 22-May-2014 Ben Chan <benchan@chromium.org> shill: Update to build against libchrome-271506.

BUG=chromium:375032
TEST=`USE='cellular gdmwimax wimax vpn' FEATURES=test emerge-$BOARD platform2`

Change-Id: Ib7c8b2b290caa261cbb61d30cf8a361a1e3345e1
Reviewed-on: https://chromium-review.googlesource.com/201211
Tested-by: Ben Chan <benchan@chromium.org>
Commit-Queue: Ben Chan <benchan@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
a0ddf46e466bd4ba3d20952f0a6988c680c1af14 06-Feb-2014 Ben Chan <benchan@chromium.org> shill: Update to build against libchrome-242728.

BUG=chromium:341521
CQ-DEPEND=CL:193660
TEST=Tested the following:
1. `FEATURES=test USE='cellular wimax' emerge-$BOARD platform2`
2. Run the following tests:
- network_3GSmokeTest
- network_VPNConnect.*
- network_WiMaxSmoke
- wifi_matfunc

Change-Id: Ic1553c182ab7a833a68c45f012f646b8930cb095
Reviewed-on: https://chromium-review.googlesource.com/193606
Reviewed-by: Ben Chan <benchan@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
Commit-Queue: Ben Chan <benchan@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
0e1cdeae24dd678a5fe27c840802582c0ca45ec0 28-Feb-2013 Albert Chaulk <achaulk@chromium.org> shill: Implement Service.Remove & delete DHCP leases

Implement the Service.Remove dbus API and modify the unload sequence to
remove the DHCP lease file. Add unit tests to DHCPProvider & WiFiService to
check lease file deletion. Currently only WiFi does the DHCP lease delete
from DBus - WiMax/Cell/VPN do their own things for IP configuration and
Ethernet can't be removed as per the API spec.

Also make sure FilePath is qualified as base::FilePath throughout the project.

BUG=chromium-os:32756
TEST=added unittests to test the call path on Unload() to delete the lease file

Change-Id: Ic6eee17b9d81cd0be8d09c683d85d6a4d19278c9
Reviewed-on: https://gerrit.chromium.org/gerrit/44339
Tested-by: Albert Chaulk <achaulk@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Queue: Albert Chaulk <achaulk@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
5ad1606ad8b3f74b2b7960a3003a2d1ca75d52b8 22-Feb-2013 Paul Stewart <pstew@chromium.org> shill: Compile against libchrome-180609

Made the following fixes to allow compile against a new libchrome:

- ScopedVector::reset() was renamed to "clear".
- Hack in base to add "using base::FilePath;" has been removed.
- Convert MessageLoop::current()->RunAllPending() to
base::RunLoop().RunUntilIdle().
- MessageLoopProxy::PostDelayedTask() now takes a base::TimeDelta().
- scoped_refptr::release() no longer exists.
- base/eintr_wrapper.h -> base/posix/eintr_wrapper.h
- base/scoped_temp_dir.h -> base/files/scoped_temp_dir.h
- base/string_tokenizer.h -> base/strings/string_tokenizer.h
- New scoped_ptr does compile check for naughty people making scoped_ptrs
of refcounted objects.
- base::SplitString() now returns an empty vector when given an empty
string (instead of a single-element vector with an empty string).

CQ-DEPEND=CL:43774
BUG=chromium-os:38931
TEST=Unit tests, run on real hardware

Change-Id: I6f1f5807e81fb2d52f197871d32ccbccc3038a7c
Reviewed-on: https://gerrit.chromium.org/gerrit/43775
Commit-Queue: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
5b9ec98964b316efa4ed658dcb35a66482f52f56 18-Jan-2013 Paul Stewart <pstew@chromium.org> shill: KeyFileStore: Add methods to search by properties

Add methods to the StoreInterface to return a list of groups that
contain name-value pairs of properties.

BUG=chromium-os:38048
TEST=Unit tests

Change-Id: Ice46774cd31c6ab76df9d2febf4fb66bef819daa
Reviewed-on: https://gerrit.chromium.org/gerrit/41672
Commit-Queue: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
c9638618731aef83f38194c99aa1a7c7b8dcfa05 14-Sep-2012 Ben Chan <benchan@chromium.org> shill: Make KeyFileStoreTest compatible with glib 2.30 and 2.32

BUG=chromium-os:34103
TEST=Unit tests pass with glib 2.30.2 and 2.32.4

Change-Id: I845c87d66869c0b1883a580f6efd28e479d0fad3
Reviewed-on: https://gerrit.chromium.org/gerrit/33240
Commit-Ready: Ben Chan <benchan@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
2ebc16da6068c8c61658b39cf70d157d7d0911eb 23-Aug-2012 Paul Stewart <pstew@chromium.org> shill: profile: Mark invalid profiles as corrupted and ignore

If we fail to open a profile due to a failure in loading
the keyfile store, move the broken file out of the way, since
we will never be able to load this file in later attempts.
In situations where this is the default profile, this will
allow us to start up successfully the next time.

BUG=chromium-os:33822
TEST=Unit tests + manual (copy default.profile from the bug
and ensure shill restarts itself and moves the corrupted
profile out of the way.)

Change-Id: Ia3b7716b36b52c559193f6f6e28c9b185a77c01e
Reviewed-on: https://gerrit.chromium.org/gerrit/31374
Commit-Ready: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
dab3b5a9a312cb69ea6dac854772e41885387052 12-Jul-2012 Paul Stewart <pstew@chromium.org> shill: storage: Load and store uint64 values

BUG=chromium-os:31584
TEST=New unit tests; list-devices on a real machine

Change-Id: I48e58ad50e7ce15620d282d7a867b1ab253a2f56
Reviewed-on: https://gerrit.chromium.org/gerrit/27246
Reviewed-by: Ben Chan <benchan@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
9697024ace339503445d8e2b4a0e2cf07d674d71 20-Apr-2012 Gary Morain <gmorain@chromium.org> shill: limit shill profile file permissions

The shill profile file permissions must be readable and writeable
by the owner only.

BUG=chromium-os:29752
TEST=Added new checks to unit test KeyFileStoreTest.OpenClose
to verify the permissions.

Change-Id: I8907f27714fbc1bf417f38e5de4448209ab65e5e
Reviewed-on: https://gerrit.chromium.org/gerrit/20711
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Gary Morain <gmorain@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
3e20a2341d0aeb7681e4ee0f89eae6817ade2b3b 16-Feb-2012 Eric Shienbrood <ers@chromium.org> shill: Convert code to use the newest version of libchrome.

The biggest change is a switch from using the deprecated
Task and CallbackN mechanisms to using the new Callback
mechanism.

Note: Original CL was https://gerrit.chromium.org/gerrit/16156.
This is logically another patch to that CL, but since the
latter was already merged, and is considered closed by
Gerrit, it's necessary to create a new CL.

BUG=chromium-os:15330
TEST=Build shill and run it on a zgb with a modem. Build and
run unit tests.
CQ-DEPEND=I37628863370323d30cac493764ea28f8ffd42637

Change-Id: I3ae78a3aa44ec167b79f2170d07650ece888254f
Reviewed-on: https://gerrit.chromium.org/gerrit/18030
Reviewed-by: Eric Shienbrood <ers@chromium.org>
Tested-by: Eric Shienbrood <ers@chromium.org>
Commit-Ready: Eric Shienbrood <ers@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
b5c8940ae68f85c8c822936f41f4993c51624dcf 13-Mar-2012 Eric Shienbrood <ers@chromium.org> Revert "shill: Convert code to use the newest version of libchrome."

This reverts commit ffebe0c489e0ecccf497547d7078c30cbc8072e2

Unit tests ran on local machine, but wouldn't run on CQ because of some kind of environment difference.

Change-Id: Ia876c0c17f4cd84bca5e2f1bacd7e24a81832d4d
Reviewed-on: https://gerrit.chromium.org/gerrit/17969
Reviewed-by: Eric Shienbrood <ers@chromium.org>
Tested-by: Eric Shienbrood <ers@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
08a4ffb4ecf5893eb55c523d528bf3e52c66facf 16-Feb-2012 Eric Shienbrood <ers@chromium.org> shill: Convert code to use the newest version of libchrome.

The biggest change is a switch from using the deprecated
Task and CallbackN mechanisms to using the new Callback
mechanism.

This cannot be submitted until vapier submits his CL that
slot-enables the libchrome build
(https://gerrit.chromium.org/gerrit/15415).

BUG=chromium-os:15330
TEST=Build shill and run it on a zgb with a modem. Build and
run unit tests.
CQ-DEPEND=Ic24bb16aac3e1d130a784f34e848e308719a43be

Change-Id: I081a7aa66bee391b867a43e08db2eacdff760945
Reviewed-on: https://gerrit.chromium.org/gerrit/16156
Tested-by: Eric Shienbrood <ers@chromium.org>
Commit-Ready: Eric Shienbrood <ers@chromium.org>
Reviewed-by: Eric Shienbrood <ers@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
a41e38d57e4fa37bd2c8de6447890b4e1951acb7 11-Nov-2011 Paul Stewart <pstew@chromium.org> shill: wifi: Load hidden services from storage

When a device or profile comes into existence, the device
will search the profile for hidden services and instantiate
services if they do not exist. These services will not
be visible in the RPC service list until they either appear
in scan or are actively being connected.

Side effects:
* Manager now loads the devices with profile data.
* Manager now respects the "powered" attribute loaded by
devices from the profile to determine whether or not
to call Start() on them.
* Key files can be searched for groups with a certain
key. This will be useful when we start supporting GUIDs.
* On service registration go backward (from top of stack
downward) through the list of profiles searching for
configuration instead of forwards.
* Move the update of the "Services" property of the manager
to a more centralized spot in SortServices. This way,
when the service order changes (or anything else that
affects the service list) this RPC property will update.
* Hidden services are not scanned for if they are in the
ephemeral profile -- it means that whatever profile was
supporting them does not exist anymore.
* WiFi services have the unenviable task of also decoding
storage identifiers in order to glean the address, mode
and security parameters.

BUG=chromium-os:22073,chromium-os:22074
TEST=New unit tests, Manual on real hardware.
Note: I could not connect to a hidden network, but this
is because we're not setting the ApScan parameter on
wpa_supplicant so on connect it is just doing broadcast
scans. However if I seed the profile with with a record
containing a hidden SSID, shill will force a scan for
the hidden network, which will allow it to connect.

Change-Id: I97a5b5f6db7c6e6d2aabf212c5c2984ce7f4daaa
Reviewed-on: https://gerrit.chromium.org/gerrit/11558
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
5dc40aad05908dc435e623e56392780ef6d1079e 29-Oct-2011 Paul Stewart <pstew@chromium.org> shill: Implement CreateProfile, PushProfile, PopProfile

Collateral fixes: Profiles now create a header at the beginning
of the file, and this feature is plumbed down through key_file_store
and glib. InitStorage can be configured to fail if the profile
already exists/doesn't yet exist.

BUG=chromium-os:22221
TEST=New unit tests

Change-Id: Ie7c2d0dee97891b7850cec75b74052fce77eee8f
Reviewed-on: https://gerrit.chromium.org/gerrit/10884
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
b9c00597eb1f6d2560f7e88cb0d1f627228840d4 06-Oct-2011 Chris Masone <cmasone@chromium.org> [shill] Profiles need to own their own storage

We're moving to a model where we rely on the StoreInterface
implementation to maintain profile state, instead of managing
a list of Service objects manually. Thus, we need to allow
Profile to own its own StoreInterface.

BUG=chromium-os:17253
TEST=unit

Change-Id: Ie62462686ecf598efeac08a2d3180cd372430bb9
Reviewed-on: http://gerrit.chromium.org/gerrit/9916
Commit-Ready: Chris Masone <cmasone@chromium.org>
Reviewed-by: Chris Masone <cmasone@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
9d779936d8f8c2d74b30883e2a2622c4207fe797 26-Aug-2011 Chris Masone <cmasone@chromium.org> [shill] Add code for persisting profiles and services to disk.

BUG=chromium-os:17253
TEST=unit

Change-Id: Ic6dbbcb10543da3f4615cb305a77f6b9b301e8bc
Reviewed-on: http://gerrit.chromium.org/gerrit/7633
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
8a7b8be27dd4570b182fb7ea1b4c5c9f107f3f8b 22-Jul-2011 Chris Masone <cmasone@chromium.org> [shill] Enable IPConfig to Store/Load itself

BUG=chromium-os:17256
TEST=unit

Change-Id: I7792156f95ecb2e17afaf4e3250ff3dbc0e3dac9
Reviewed-on: http://gerrit.chromium.org/gerrit/4602
Tested-by: Chris Masone <cmasone@chromium.org>
Reviewed-by: Chris Masone <cmasone@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
b2841fda690034b6952fe56ef1931200bb3b8e12 30-Jun-2011 Darin Petkov <petkov@chromium.org> shill: Add persistent store support for getting/setting string lists.

BUG=chromium-os:17144
TEST=unit tests

Change-Id: Ib85935f3e53b606757aa50786d94975b1fe5109c
Reviewed-on: http://gerrit.chromium.org/gerrit/3486
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Chris Masone <cmasone@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
86964e0bae1a38c6817243959026603b4b8c69b7 29-Jun-2011 Darin Petkov <petkov@chromium.org> shill: Infrastucture for encrypting/decrypting/scrambling store values.

This adds a CryptoProvider that registers and provides access to different
prioritized crypto modules (currently DES-CBC and ROT47). Use the provider in
KeyFileStore to provide an API for getting and setting crypted string values.

BUG=chromium-os:16963
TEST=unit tests

Change-Id: I492516890eb3f527758d354cd8890088cb99dea4
Reviewed-on: http://gerrit.chromium.org/gerrit/3395
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Chris Masone <cmasone@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc
083047b53b55abe96200705618fa724e2e3ce715 24-Jun-2011 Darin Petkov <petkov@chromium.org> shill: Basic persistent store interface and key-file implementation.

The current interface and implementation support all functionality required by
the legacy network manager. The implementation uses glib's key file parser for
legacy reasons. The interface-based implementation allows us to switch to a
different format in the future, if necessary.

BUG=chromium-os:16897
TEST=unit test

Change-Id: I8fd54f47e7309c603b66ba86bbecb8d5092e8674
Reviewed-on: http://gerrit.chromium.org/gerrit/3160
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Darin Petkov <petkov@chromium.org>
/system/connectivity/shill/key_file_store_unittest.cc