summaryrefslogtreecommitdiff
path: root/init/builtins.cpp
AgeCommit message (Collapse)Author
2015-05-27init: expand_props on triggerMark Salyzyn
Bug: 19608716 Change-Id: Ifce8bfde04f8e6f707245e0b53400072d94447b2
2015-05-12Fix insmod module sizeTom Cherry
read_file() used to append a new line character to the end of the buffer it returns, because parse_config() isn't able to cope with input that's not '\n'-terminated. Fix read_file() to be less insane, and push the workarounds into the parse_config() callers. Longer term we should rewrite parse_config(). Bug: http://b/21079470 Change-Id: Ie9d9a7adcd33b66621726aef20c4b8cc51c08be7 (cherry picked from commit eaa3b4ec6f79fe06163b8dd6fe8ba2581d3b9c0b)
2015-05-12Enable property expansion for insmodEmmanuel Berthier
Useful for dynamic kernel module location. This permits to use init rule like: insmod ${persist.modules.location}/<module_name> Change-Id: If7479bdcb4e69ea7666f52a0075c785be025c2e9 Signed-off-by: Emmanuel Berthier <emmanuel.berthier@intel.com> (cherry picked from commit ac41230cbc10bae95a049282238adb03605579c2)
2015-05-12Fix insmod module sizeTom Cherry
read_file() used to append a new line character to the end of the buffer it returns, because parse_config() isn't able to cope with input that's not '\n'-terminated. Fix read_file() to be less insane, and push the workarounds into the parse_config() callers. Longer term we should rewrite parse_config(). Change-Id: Ie9d9a7adcd33b66621726aef20c4b8cc51c08be7
2015-05-04Merge "Enable property expansion for insmod"Elliott Hughes
2015-04-28Securely encrypt the master keyPaul Lawrence
Move all key management into vold Reuse vold's existing key management through the crypto footer to manage the device wide keys. Use ro.crypto.type flag to determine crypto type, which prevents any issues when running in block encrypted mode, as well as speeding up boot in block or no encryption. This is one of four changes to enable this functionality: https://android-review.googlesource.com/#/c/148586/ https://android-review.googlesource.com/#/c/148604/ https://android-review.googlesource.com/#/c/148606/ https://android-review.googlesource.com/#/c/148607/ Bug: 18151196 Change-Id: I6a8a18f43ae837e330e2785bd26c2c306ae1816b
2015-04-28Merge "Revert "Securely encrypt the master key""Paul Lawrence
2015-04-28Revert "Securely encrypt the master key"Paul Lawrence
This reverts commit 4bf1887c787a025aad2fbafe382e556e85ac73b0. Change-Id: Ie6d1f39de530b99b50a27ddc45bcc900a24e04b5
2015-04-28Merge "Revert "Only run vold command when file encryption enabled""Paul Lawrence
2015-04-28Revert "Only run vold command when file encryption enabled"Paul Lawrence
This reverts commit efe190e02387de382bb6d187ce62aec0fe9cfb44. Change-Id: Ib15af9a85b0b885a388bda28511a6fc39a777264
2015-04-28Merge "Only run vold command when file encryption enabled"Paul Lawrence
2015-04-27Merge "Securely encrypt the master key"Paul Lawrence
2015-04-27Enable property expansion for insmodEmmanuel Berthier
Useful for dynamic kernel module location. This permits to use init rule like: insmod ${persist.modules.location}/<module_name> Change-Id: If7479bdcb4e69ea7666f52a0075c785be025c2e9 Signed-off-by: Emmanuel Berthier <emmanuel.berthier@intel.com>
2015-04-24Revert "Revert "Remove now-unusable 'setcon' command.""Elliott Hughes
This reverts commit b862bd00a4192d48c3ae82156d8c35b32283e9e4. This change was fine but an earlier change it depended on was broken. That change has been fixed and resubmitted. Bug: http://b/19702273 Change-Id: I17e565721026e48e2a73526f729f2481d4d6edb5
2015-04-24Revert "Remove now-unusable 'setcon' command."Nick Kralevich
Temporarily revert because device isn't booting. This reverts commit 7b15ac99f3bfef33c82ea109487c99a77b41ebfb. Change-Id: Ice986bac62e20c70f7bedf1744a617b97392ae8c
2015-04-23Remove now-unusable 'setcon' command.Elliott Hughes
Bug: http://b/19702273 Change-Id: Icd340c80ba074476dcc63f1c1dd5c61a5c768893
2015-04-23Securely encrypt the master keyPaul Lawrence
Remove unencrypted link since it is easier to manage directly Move creation of key to vold Start vold early so this is possible in a timely fashion This is one of four changes to enable this functionality: https://android-review.googlesource.com/#/c/144586/ https://android-review.googlesource.com/#/c/144663/ https://android-review.googlesource.com/#/c/144672/ https://android-review.googlesource.com/#/c/144673/ Bug: 18151196 Change-Id: Idb17d1f1a724c6ec509d181ae4427113e9d3b5e6
2015-04-23Only run vold command when file encryption enabledPaul Lawrence
Avod slowing other boot times Change-Id: I4862312ea90d8a1e67d9a755a75f708f5e82cbc5
2015-04-07Merge "Set verity mode as the verified property value"Sami Tolvanen
2015-04-03Remove execonce.Elliott Hughes
Use 'exec' instead. Change-Id: I1320d1971f7cd8b23753c27aa87089006e112a11
2015-03-31Revert "Revert "Adding e4crypt support""Paul Lawrence
Fix build break caused by original change This reverts commit 84b0bab58fcc7f225e9a17a15c531b0c2fc509c5. Change-Id: I99fbd7c3d1ed92db1f546033c8493bb71a327924
2015-03-31Set verity mode as the verified property valueSami Tolvanen
Set the verity mode as the value for partition.%s.verified to make it easier for userspace to determine in which mode dm-verity was started. Change-Id: Icc635515f8a8ede941277aed196867351d8387cb
2015-03-20Always use strerror to report errno.Elliott Hughes
Change-Id: Icd18e4bd7dc093c18967f45b99cd451359457b03
2015-03-20Clean up property setting code.Elliott Hughes
In particular, ensure that all property_set failures are reported. Change-Id: Iab94a28bcba2346868c0f39bcfe26e55a2c55562
2015-03-19Add init command to set verified propertiesSami Tolvanen
Add a command that updates dm-verity state and sets partition.%.verified properties used by adb remount. This is needed in init since fs_mgr cannot set properties: I6a28cccb1ccce960841af20a4b20c32d424b5524 Change-Id: I0fdf5bc29c56690dcadff9d0eb216d3c68483538
2015-03-18Remove chroot from init.Elliott Hughes
This is not obviously useful. Let's wait until we have an actual need. Change-Id: I2c75c96314b281e89df25b6ed202b3dd5dfdaf15
2015-03-15Remove chdir from init.Elliott Hughes
Change-Id: Ib2880c6cb18db613deac04ee3b06b9719f5248b9
2015-03-13Remove obsolete setkey.Elliott Hughes
It's undocumented and unused. Change-Id: I685dc900adbc14f2e8b4eeebb1e4d111782f141d
2015-03-13Remove getsebool/setsebool from init and toolbox.Stephen Smalley
These were leftovers from the SELinux boolean support that was originally merged. Since Android prohibits SELinux policy booleans, we can just drop it. Change-Id: I02f646a7d8db65e153702205b082b87a73f60d73 Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2015-03-11builtins: remove setenforce commandNick Kralevich
Adding "setenforce 0" to init.rc isn't a supported way to turn off SELinux, and doesn't work with AOSP SELinux policy. Remove the code from init. Change-Id: If8c8149560789c9a7ba518a0a100e6033bb68898
2015-03-11Merge "Implement exec."Elliott Hughes
2015-03-04Add init support for dm-verity logging modeSami Tolvanen
Add a built-in command for loading verity state. If dm-verity will be started in logging mode, trigger verity-logging. Needs changes from Ibb82953594d234f81ad21c40f524190b88e4ac8f Change-Id: I5af4918f2f14fdd4d07f51c55837e08111fd3748
2015-02-25Implement exec.Elliott Hughes
Change-Id: I20329bc9b378479d745b498d6a00eca0872cd5ab
2015-02-17Move sprintf to snprintf.Yabin Cui
Bug: 19340053 Change-Id: Id0d866e6195ed4752b4be6081eeb2aab8b1dbe9a
2015-02-07Bump do_write buffer sizeJohan Redestig
In the case of do_write (write to generic file) there is really no relation to the PROP_VALUE_MAX limitation of system properties. The current value, 92, is not so much for writing to files so bump it a bit. Ideally there should not be any low hard limit in this case. Either expand_props should allocate the output buffer or take the output fd and to streaming write. Such a change is rather invasive though and at this point in time it seems reasonable that one dont want more than 256 character strings in the init files. Change-Id: I846a282ae4e747e6171eef38b302b46287951451
2015-02-06Clean up reading and writing in init.Elliott Hughes
This isn't particularly useful in and of itself, but it does introduce the first (trivial) unit test, improves the documentation (including details about how to debug init crashes), and made me aware of how unpleasant the existing parser is. I also fixed a bug in passing --- unless you thought the "peboot" and "pm" commands were features... Bug: 19217569 Change-Id: I6ab76129a543ce3ed3dab52ef2c638009874c3de
2015-02-04Use TEMP_FAILURE_RETRY, always build bootchart.cpp.Elliott Hughes
Also switch the revision parsing over to sscanf as promised. I haven't done the hardware parsing because I don't yet know whether we actually need to keep the space-stripping code. Change-Id: Ic33378345cd515cb08d00c543acf44eb72673396
2015-02-04Build init as C++.Elliott Hughes
This is just the minimal change to keep it building. Change-Id: I245c5b8413a1db114576c81462eb5737f5ffcef2