Commit graph

263 commits

Author SHA1 Message Date
David 'Digit' Turner
a503456526 emulator: Move qemu-props to core service
The qemu-props program is launched at boot to read a series of
system property assignments from the emulator and apply them.

This is necessary to deal with the dynamic nature of the emulated
platform (e.g. the screen density which depends on the skin and
cannot be hard-coded in the platform image).

This patch ensures that qemu-props is started before any other
service that may read one of these properties (e.g. surface flinger).
This is done by encapsulating the program into a 'core' service.
Core services are all stared before regular ones.

Before the patch, qemu-props was started manually inside a script
that is called from a late emulator-specific boot service
(goldfish-setup).

The problem was that sometimes qemu-props was run too late.
This resulted in random flakiness, especially when running
on a low-end host machine.

Fix for bug 2161189 (and probably a few others)

Change-Id: I2933a25dcb5fecbb1fc238f157264e621b8f295b
2011-09-16 00:25:16 +02:00
JP Abgrall
8e3ff70444 init.rc: allow all users to open the qtaguid misc dev
The netfilter xt_qtaguid module uses a misc dev so that processes
that use the module can be tracked.
Every process that does socket tagging must open that dev.

Change-Id: I6af3e0f0180637b14455dd9607724523f142c402
2011-09-11 16:12:27 -07:00
Robert Greenwalt
1ac40f4ef1 Increase the window sizes on wifi and lte.
Set to 524288,1048576,2097152, 262144,524288,1048576.

bug:5226360
Change-Id: Id9d4257c51a355d78246b4ca59ab462fbe5b72be
2011-09-07 15:40:26 -07:00
Dima Zavin
ca47cef749 init: add charge mode handling
Introduces a 'charger' section that is processed when androidboot.mode
supplied on the kernel commandline is "charger".

In this mode, sections such as fs, post-fs, etc are skipped. Only the
'early-init' and 'init' sections of the init rc files are processed before
processing the 'charger' section.

Change-Id: If9eb6334de18f04cbcf2aab784578e2993615242
Signed-off-by: Dima Zavin <dima@android.com>
2011-09-02 12:11:18 -07:00
JP Abgrall
85e37b0a81 init: allow mediaserver to tag socket (group net_bw_acct)
The mediaserver needs to do communication on behalf of other apps
(browser, ...).
It needs to be able to tag sockets. The kernel will check for net_bw_acct
group membership.

Change-Id: I7fb063fdb7d9435d7f979df6622ff17f34049cbc
2011-08-18 00:10:06 -07:00
Dianne Hackborn
d09196d00c Merge "Activity Manager now takes care of setting OOM values." 2011-08-08 14:55:14 -07:00
Chia-chi Yeh
a24687197d init.rc: add inet permission to VPN daemons explicitly.
Racoon still needs it after dropping root privilege, or pure IPSec VPN
will fail. Mtpd works without it because net_raw implies inet. However
it would be better to set all of them clearly without the assumption.

Change-Id: I50762af2c25ec9cc559e528c7b14f469494fd553
2011-08-08 10:11:40 -07:00
Dianne Hackborn
06787f4089 Activity Manager now takes care of setting OOM values.
All init needs to do is make these files writeable so that the
activity manager can set them.

Change-Id: Ieea43208fadc01504d813be379aecbafcadf0d34
2011-08-07 16:30:24 -07:00
Mike Lockwood
7804cbf483 Move some common USB configuration logic to init.rc
Change-Id: Ib75ccfd9c4aa8aace936370c33f33a922ca3c51f
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-07-29 12:59:32 -04:00
Eric Laurent
3507616870 Fix issue 4604090: notification sound interrupted.
Removed system from mediaserver groups. Not needed anymore
now that AudioFlinger acquires wake locks via PowerManagerService.

Change-Id: I177b968a0a30557d871188bf3991b96d9b391d3c
2011-07-25 18:41:30 -07:00
Conley Owens
4a2b0fcd6e am aa4a66a1: am 1e5e2d76: am af6e3266: am d0b93f43: Merge "Create world readable, system writeable /data/resource-cache."
* commit 'aa4a66a16dd9b97fb876bb296366442b8745a10b':
  Create world readable, system writeable /data/resource-cache.
2011-07-15 14:12:23 -07:00
Conley Owens
aa4a66a16d am 1e5e2d76: am af6e3266: am d0b93f43: Merge "Create world readable, system writeable /data/resource-cache."
* commit '1e5e2d7673a9ea915283f6626fa692cc169b0e67':
  Create world readable, system writeable /data/resource-cache.
2011-07-15 11:30:44 -07:00
Chia-chi Yeh
56286d6fdb Merge "init: update permissions for VPN." 2011-07-10 16:16:06 -07:00
Chia-chi Yeh
9bb4d411e0 init: update permissions for VPN.
VPN no longer uses system properties to keep network parameters.
Besides, profiles are now stored and encrypted by keystore.

Change-Id: I7575f04f350b7d8d5ba7008eb874a72180d057e8
2011-07-08 20:03:03 -07:00
Chia-chi Yeh
50d9819ef4 Merge "init: clean up init.rc as now mkdir handles EEXIST." 2011-07-08 19:26:45 -07:00
Chia-chi Yeh
ea74414159 init: clean up init.rc as now mkdir handles EEXIST.
Change-Id: I3fa2a618ef27197315fc128738a284ac644e86c0
2011-07-08 16:52:18 -07:00
Eric Laurent
f48fd5d403 Temporary workaround for issue 4604090
There was a regression caused by a change in Honeycomb that removed
mediaserver process from system group to improve security: This prevents
the audio HAL (which runs in mediaserver process) from taking wake locks
while audio is playing thus causing the pcm stream to get unexpectedly
suspended.

This temporary workaround is just to allow ICS dogfood in better conditions until
a real fix taking into account the security issue is implemented.

Change-Id: Ic19a23da4b4383559188b6f5c3a82604c3d95d74
2011-07-07 11:45:59 -07:00
Mike Lockwood
e89675584d Merge "init.rc: Allow system process to configure RNDIS USB ethernet address" 2011-07-06 17:53:56 -07:00
Mathias Agopian
64416c816c Merge "don't restart surfaceflinger when the window manager dies" 2011-07-06 11:10:41 -07:00
Mike Lockwood
9350a00ce6 init.rc: Allow system process to configure RNDIS USB ethernet address
Change-Id: Id339d8359e592dbc1279e423d9a5adc3a775949d
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-07-06 12:45:49 -04:00
Mathias Agopian
b4daef4531 don't restart surfaceflinger when the window manager dies
Change-Id: Ia3c60e6c5471e2b72d53c936de44b730c68095e0
2011-07-01 17:11:51 -07:00
Brian Carlstrom
856f63c0df Merge "Revert "Add keychain user"" 2011-07-01 13:43:33 -07:00
Eino-Ville Talvala
1c9a996c50 Add mobile filter framework library into the bootclasspath.
Change-Id: Ia9ae45de5d58ba5e98821fd04add96c6062c1a18
2011-07-01 10:30:01 -07:00
Brian Carlstrom
0491893023 Revert "Add keychain user"
This reverts commit 6541ef1562.

Bug:4970237
Change-Id: I23a90eb89c1d19893d2ba7065fc624c0521cb06e
2011-07-01 09:50:31 -07:00
vidya rao
9d94942bcd am 6a18a077: am 04cf629b: Move RILD to class main
* commit '6a18a07774123c409cefd9a92f1c4c6504f4edfd':
  Move RILD to class main
2011-06-27 14:15:33 -07:00
vidya rao
6a18a07774 am 04cf629b: Move RILD to class main
* commit '04cf629be5e99a3a920aecc0b059444bd07e9d84':
  Move RILD to class main
2011-06-24 22:54:11 -07:00
vidya rao
04cf629be5 Move RILD to class main
-- This is needed so the modems (LTE & CDMA) are powered on and running
   before unlocking encrypted devices

Change-Id: I842f5286499fd76abc554ded550fb837d12b324e
2011-06-24 16:41:29 -07:00
Mike Lockwood
535164e9d9 Reimplement the "adb root" command to more closely match its previous behavior
The adb gadget driver used to reset the USB bus when the adbd daemon exited,
and the host side adb relied on this behavior to force it to reconnect
with the new adbd instance after init relaunches it.  The new gadget
drivers no longer automatically reset the USB bus when adbd is restarted
which caused adb to hang since it was no longer forced to reconnect with the
device.  We attempted to work around this on the host side adb, but that
work around has not been reliable.

This change adds a property trigger on the service.adb.root system property
which will reset the USB bus and restart the adbd daemon when adbd sets
the property to 1.  This should be much closer to the previous behavior
and will hopefully fix some problems with automated testing.

Change-Id: I177c37400009a3d83f21a5f9431f94fd1cc19b9b
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-22 08:36:53 -04:00
Mike Lockwood
352dfdfaea init.rc: Changes for new USB gadget drivers
Change-Id: I68fcf167c9fc71bb5f44793648a35d3181fd36d7
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-17 15:53:58 -04:00
Mårten Kongstad
b45280d259 Create world readable, system writeable /data/resource-cache.
/data/resource-cache is used to store idmap files.

Change-Id: I9b1dbc8d607333b71c05f55a4a402ae92193c36c
2011-05-31 15:41:15 +02:00
jeffhao
2b8f76cdbb Tracking merge of dalvik-dev to master
Reordered bootclasspath to allow verification of all framework methods.
  git cherry-pick --no-commit  ec164a0170955fe63106c2576a65bc4ffb1df425

Address CVE-2011-1090.
  git cherry-pick --no-commit  3365288d3c00072689cd9d733e055561cadc87b5

Change-Id: I6a89bc600ced06a0cb84ae1670cb7a6ea39de9c8
2011-05-27 00:50:44 -07:00
Brian Carlstrom
70080d97cf Merge "Make CertInstaller installed CA certs trusted by applications via default TrustManager (6 of 6)" 2011-05-17 10:37:56 -07:00
Brian Carlstrom
a31a351182 Make CertInstaller installed CA certs trusted by applications via default TrustManager (6 of 6)
frameworks/base

        Adding IKeyChainService APIs for CertInstaller and Settings use
    	keystore/java/android/security/IKeyChainService.aidl

    libcore

        Improve exceptions to include more information
    	luni/src/main/java/javax/security/auth/x500/X500Principal.java

        Move guts of RootKeyStoreSpi to TrustedCertificateStore, leaving only KeyStoreSpi methods.
        Added support for adding user CAs in a separate directory for system.
        Added support for removing system CAs by placing a copy in a sytem directory
    	luni/src/main/java/org/apache/harmony/xnet/provider/jsse/RootKeyStoreSpi.java
    	luni/src/main/java/org/apache/harmony/xnet/provider/jsse/TrustedCertificateStore.java

        Formerly static methods on RootKeyStoreSpi are now instance methods on TrustedCertificateStore
    	luni/src/main/java/org/apache/harmony/xnet/provider/jsse/TrustManagerImpl.java

        Added test for NativeCrypto.X509_NAME_hash_old and X509_NAME_hash
        to make sure the implementing algorithms doe not change since
        TrustedCertificateStore depend on X509_NAME_hash_old (OpenSSL
        changed the algorithm from MD5 to SHA1 when moving from 0.9.8 to
        1.0.0)

    	luni/src/test/java/org/apache/harmony/xnet/provider/jsse/NativeCryptoTest.java

        Extensive test of new TrustedCertificateStore behavior
    	luni/src/test/java/org/apache/harmony/xnet/provider/jsse/TrustedCertificateStoreTest.java

        TestKeyStore improvements
        - Refactored TestKeyStore to provide simpler createCA method (and
          internal createCertificate)
        - Cleaned up to remove use of BouncyCastle specific X509Principal
          in the TestKeyStore API when the public X500Principal would do.
        - Cleaned up TestKeyStore support methods to not throw Exception
          to remove need for static blocks for catch clauses in tests.

    	support/src/test/java/libcore/java/security/TestKeyStore.java
    	luni/src/test/java/libcore/java/security/KeyStoreTest.java
    	luni/src/test/java/org/apache/harmony/xnet/provider/jsse/NativeCryptoTest.java

        Added private PKIXParameters contructor for use by
        IndexedPKIXParameters to avoid wart of having to lookup and pass
        a TrustAnchor to satisfy the super-class sanity check.

    	luni/src/main/java/org/apache/harmony/xnet/provider/jsse/TrustManagerImpl.java
    	luni/src/main/java/org/apache/harmony/xnet/provider/jsse/IndexedPKIXParameters.java
    	luni/src/main/java/java/security/cert/PKIXParameters.java

    packages/apps/CertInstaller

        Change CertInstaller to call IKeyChainService.installCertificate
        for CA certs to pass them to the KeyChainServiceTest which will
        make them available to all apps through the
        TrustedCertificateStore. Change PKCS12 extraction to use AsyncTask.

    	src/com/android/certinstaller/CertInstaller.java

        Added installCaCertsToKeyChain and hasCaCerts accessor for use by
        CertInstaller. Use hasUserCertificate() internally. Cleanup coding
        style.

    	src/com/android/certinstaller/CredentialHelper.java

    packages/apps/KeyChain

        Added MANAGE_ACCOUNTS so that IKeyChainService.reset
        implementation can remove KeyChain accounts.

    	AndroidManifest.xml

        Implement new IKeyChainService methods:
        - Added IKeyChainService.installCaCertificate to install certs
          provided by CertInstaller using the TrustedCertificateStore.
        - Added IKeyChainService.reset to allow Settings to remove the
          KeyChain accounts so that any app granted access to keystore
          credentials are revoked when the keystore is reset.

    	src/com/android/keychain/KeyChainService.java

    packages/apps/Settings

        Changed com.android.credentials.RESET credential reset action to
        also call IKeyChainService.reset to remove any installed user CAs
        and remove KeyChain accounts to have AccountManager revoke
        credential granted to private keys removed during the RESET.

    	src/com/android/settings/CredentialStorage.java

        Added toast text value for failure case

    	res/values/strings.xml

    system/core

        Have init create world readable /data/misc/keychain to allow apps
        to access user added CA certificates installed by the CertInstaller.

    	rootdir/init.rc

Change-Id: I768ca8e8e990ff333ce0f7069a0935173498c5ed
2011-05-16 18:05:23 -07:00
Chia-chi Yeh
69f43c90cb Update the device permission of /dev/tun.
Change-Id: Ie8ad60047fc7160997100bd28a0abb439406806a
2011-05-12 13:43:34 -07:00
David 'Digit' Turner
7db617efc0 resolved conflicts for merge of b013bfc1 to honeycomb-plus-aosp
Change-Id: I159dd58c403bc38f9637163d8cd5e6270e4f201c
2011-04-29 13:31:31 +02:00
David 'Digit' Turner
b013bfc171 am 52a64057: Merge "ueventd.rc: Move /dev/qemu_trace to ueventd.goldfish.rc"
* commit '52a64057b60b0ad242e95fdc285ec60e0191d5b5':
  ueventd.rc: Move /dev/qemu_trace to ueventd.goldfish.rc
2011-04-28 02:30:33 -07:00
David 'Digit' Turner
f431d0499b ueventd.rc: Move /dev/qemu_trace to ueventd.goldfish.rc
+ Add /dev/qemu_pipe line for QEMU pipes.

Change-Id: If3c5c675bfc1585a1d6ffcd1042aaedbc2e94763
2011-04-26 18:07:45 +02:00
Jeffrey Tinker
f642c3d12f Make drmserver's primary group be system, so setgid is not required in ueventd.stingray.rc
Change-Id: Ie8a287620d22b5c1bdc459fb288b7403589ab474
2011-03-17 10:55:05 -07:00
Glenn Kasten
cfce282678 Bug 4089635 mediaserver fewer supplementary groups
Change-Id: I90111567564397ca08e87dcfcbdf23337bf79ae6
2011-03-14 11:43:45 -07:00
Glenn Kasten
b7b770dd76 Bug 4086255 drmserver process needs system group
Change-Id: If9a325b9e716abe00f3ad6f20b012861308abd2d
2011-03-11 14:33:11 -08:00
Ken Sumrall
5db0897c65 Merge "Load the persistent properties after decrypting the /data partition" into honeycomb-mr1 2011-03-10 19:32:27 -08:00
Ken Sumrall
c5c51033c8 Load the persistent properties after decrypting the /data partition
Fix for bug 3415286.  The persistent properties are normally read early
in the boot process after /data is mounted.  However, for an encrypted
system, at that point /data is a tmpfs ramdisk.  This change adds a new
command to init (load_persist_props) to read the persistent properties,
and adds an action to init.rc to load the persistent properties.  This
action is triggered by setting a property in vold, but that's in a
different CL.

Change-Id: I74b3057974ee6029c29d956b76fef5566700d471
2011-03-10 18:12:19 -08:00
Mathias Agopian
a40481b2cc Run surfaceflinger in its own process. [DO NOT MERGE]
This is to allow OpenGL ES rendering from the system process,
and help with debugging.

Bug: 4086003
Change-Id: I732e95f4fcaa358f430cc195d8e63a69263bffdc
2011-03-10 17:30:08 -08:00
David Turner
f0900adeb2 am 663268ca: am fe111c83: am e6b638be: Merge "x86: Add vold.fstab to mount the SD card"
* commit '663268caac636e32b19173743594899e52df0830':
  x86: Add vold.fstab to mount the SD card
2011-03-02 15:33:14 -08:00
David Turner
663268caac am fe111c83: am e6b638be: Merge "x86: Add vold.fstab to mount the SD card"
* commit 'fe111c83708dd3c8746b3a05d4b2f53c7a9f4477':
  x86: Add vold.fstab to mount the SD card
2011-03-02 11:38:57 -08:00
David Turner
fe111c8370 am e6b638be: Merge "x86: Add vold.fstab to mount the SD card"
* commit 'e6b638be199a5f16f3eaff69710d92ea248d60a3':
  x86: Add vold.fstab to mount the SD card
2011-03-02 07:58:39 -08:00
Mike Lockwood
0c8b18b960 am 126d4bc1: Give system server permission to enable and disable USB functions DO NOT MERGE
* commit '126d4bc18c93f06016998cf6d014c6055c2d3a40':
  Give system server permission to enable and disable USB functions DO NOT MERGE
2011-02-28 13:14:42 -08:00
Mike Lockwood
5ebe6fe677 am 642075b6: Set USB group for /dev/usb_accessory DO NOT MERGE
* commit '642075b6f74faeca53d9449ec9b74d7c66fe7cdd':
  Set USB group for /dev/usb_accessory DO NOT MERGE
2011-02-28 13:14:39 -08:00
Mike Lockwood
126d4bc18c Give system server permission to enable and disable USB functions DO NOT MERGE
Change-Id: Ie43b6679838436ac004d0b5fa59d3d98cb5b0c76
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-27 17:43:59 -08:00
Mike Lockwood
642075b6f7 Set USB group for /dev/usb_accessory DO NOT MERGE
Change-Id: I41264272ff6ce245cb2b8989ddee4a82059444a0
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-27 17:43:52 -08:00