From 2312cea43b383c40ecdadaa94893f6dbb50698b7 Mon Sep 17 00:00:00 2001 From: fattire Date: Wed, 6 Nov 2013 19:04:43 -0800 Subject: [PATCH] Merge commit '4a0eb239e802bc20c2d2101217170879440b8e99' into HEAD Conflicts: BoardConfig.mk CleanSpec.mk device-common.mk factory-images/generate-factory-images-package.sh full_grouper.mk init.grouper.rc kernel media_codecs.xml self-extractors/generate-packages.sh self-extractors/nvidia/staging/keymaster/Android.mk self-extractors/nxp/LICENSE sepolicy/app.te sepolicy/btmacreader.te sepolicy/device.te sepolicy/file.te sepolicy/file_contexts sepolicy/sensors_config.te sepolicy/surfaceflinger.te sepolicy/system.te Change-Id: I9a32a731651ee6d02e347c7aef3b68d609710561 --- BoardConfig.mk | 21 +- CleanSpec.mk | 1 + audio_policy.conf | 20 +- bluetooth/bdroid_buildcfg.h | 6 +- device-common.mk | 5 +- .../generate-factory-images-package.sh | 21 +- full_grouper.mk | 2 +- init.grouper.rc | 13 +- media_codecs.xml | 5 +- self-extractors/asus/COPYRIGHT | 2 +- self-extractors/asus/LICENSE | 226 +++- self-extractors/broadcom/LICENSE | 291 +++--- self-extractors/elan/LICENSE | 291 +++--- self-extractors/generate-packages.sh | 53 +- self-extractors/invensense/LICENSE | 291 +++--- self-extractors/nvidia/LICENSE | 291 +++--- .../nvidia/staging/device-partial.mk | 2 + .../staging/keymaster}/Android.mk | 37 +- .../nvidia/staging/keymaster/NOTICE | 220 ++++ .../nvidia/staging/keymaster/cryptoki.h | 54 + .../staging/keymaster/keymaster_grouper.cpp | 981 ++++++++++++++++++ .../nvidia/staging/keymaster/pkcs11.h | 595 +++++++++++ .../nvidia/staging/keymaster/s_type.h | 146 +++ self-extractors/nxp/LICENSE | 291 +++--- self-extractors/root/BoardConfigVendor.mk | 3 - self-extractors/root/device-vendor.mk | 3 - self-extractors/trusted_logic/COPYRIGHT | 1 - self-extractors/trusted_logic/LICENSE | 1 - .../staging/BoardConfigPartial.mk | 13 - .../trusted_logic/staging/device-partial.mk | 18 - self-extractors/widevine/LICENSE | 291 +++--- sepolicy/app.te | 1 - sepolicy/btmacreader.te | 15 +- sepolicy/device.te | 4 +- sepolicy/file.te | 5 +- sepolicy/file_contexts | 17 - sepolicy/sensors_config.te | 17 +- sepolicy/surfaceflinger.te | 2 +- sepolicy/system.te | 3 +- system.prop | 3 + vendorsetup.sh | 2 +- 41 files changed, 3268 insertions(+), 996 deletions(-) rename self-extractors/{trusted_logic/staging/proprietary => nvidia/staging/keymaster}/Android.mk (66%) create mode 100644 self-extractors/nvidia/staging/keymaster/NOTICE create mode 100644 self-extractors/nvidia/staging/keymaster/cryptoki.h create mode 100644 self-extractors/nvidia/staging/keymaster/keymaster_grouper.cpp create mode 100644 self-extractors/nvidia/staging/keymaster/pkcs11.h create mode 100644 self-extractors/nvidia/staging/keymaster/s_type.h delete mode 100644 self-extractors/trusted_logic/COPYRIGHT delete mode 100644 self-extractors/trusted_logic/LICENSE delete mode 100644 self-extractors/trusted_logic/staging/BoardConfigPartial.mk delete mode 100644 self-extractors/trusted_logic/staging/device-partial.mk diff --git a/BoardConfig.mk b/BoardConfig.mk index 7886701..27314e0 100644 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -31,7 +31,7 @@ USE_CAMERA_STUB := true USE_PROPRIETARY_AUDIO_EXTENSIONS := false -BOARD_LIB_DUMPSTATE := libdumpstate.grouper +BOARD_HAL_STATIC_LIBRARIES := libdumpstate.grouper TARGET_RECOVERY_UI_LIB := librecovery_ui_grouper RECOVERY_FSTAB_VERSION := 2 @@ -42,3 +42,22 @@ TARGET_RELEASETOOLS_EXTENSIONS := device/asus/grouper include device/asus/grouper/BoardConfigCommon.mk TARGET_RECOVERY_FSTAB = device/asus/grouper/fstab.grouper + +BOARD_SEPOLICY_DIRS := \ + device/asus/grouper/sepolicy + +BOARD_SEPOLICY_UNION := \ + file_contexts \ + genfs_contexts \ + app.te \ + btmacreader.te \ + device.te \ + drmserver.te \ + init_shell.te \ + file.te \ + rild.te \ + sensors_config.te \ + shell.te \ + surfaceflinger.te \ + system.te \ + zygote.te diff --git a/CleanSpec.mk b/CleanSpec.mk index 0e75dbe..f427bf4 100644 --- a/CleanSpec.mk +++ b/CleanSpec.mk @@ -48,4 +48,5 @@ # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST # ************************************************ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/default.prop) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop) $(call add-clean-step, rm -rf $(TARGET_OUT)/etc/permissions/android.hardware.bluetooth_le.xml) diff --git a/audio_policy.conf b/audio_policy.conf index 1da8157..aac5c66 100644 --- a/audio_policy.conf +++ b/audio_policy.conf @@ -5,7 +5,7 @@ global_configuration { attached_output_devices AUDIO_DEVICE_OUT_SPEAKER default_output_device AUDIO_DEVICE_OUT_SPEAKER - attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC + attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_REMOTE_SUBMIX } # audio hardware module section: contains descriptors for all audio hw modules present on the @@ -65,4 +65,22 @@ audio_hw_modules { } } } + r_submix { + outputs { + submix { + sampling_rates 44100|48000 + channel_masks AUDIO_CHANNEL_OUT_STEREO + formats AUDIO_FORMAT_PCM_16_BIT + devices AUDIO_DEVICE_OUT_REMOTE_SUBMIX + } + } + inputs { + submix { + sampling_rates 44100|48000 + channel_masks AUDIO_CHANNEL_IN_STEREO + formats AUDIO_FORMAT_PCM_16_BIT + devices AUDIO_DEVICE_IN_REMOTE_SUBMIX + } + } + } } diff --git a/bluetooth/bdroid_buildcfg.h b/bluetooth/bdroid_buildcfg.h index aa61dba..6bb11fb 100644 --- a/bluetooth/bdroid_buildcfg.h +++ b/bluetooth/bdroid_buildcfg.h @@ -25,7 +25,9 @@ #define BTA_DM_COD {0x1A, 0x01, 0x14} #define BTIF_HF_SERVICES (BTA_HSP_SERVICE_MASK) -#define BTIF_HF_SERVICE_NAMES { BTIF_HSAG_SERVICE_NAME } +#define BTIF_HF_SERVICE_NAMES { BTIF_HSAG_SERVICE_NAME, NULL } #define PAN_NAP_DISABLED TRUE - +#define BLE_INCLUDED FALSE +#define BTA_GATT_INCLUDED FALSE +#define SMP_INCLUDED FALSE #endif diff --git a/device-common.mk b/device-common.mk index c1c39ec..062893c 100644 --- a/device-common.mk +++ b/device-common.mk @@ -73,6 +73,7 @@ PRODUCT_PACKAGES := \ power.grouper \ audio.a2dp.default \ audio.usb.default \ + audio.r_submix.default \ librs_jni \ setup_fs \ l2ping \ @@ -103,10 +104,6 @@ PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \ device/asus/grouper/media_codecs.xml:system/etc/media_codecs.xml -# Bluetooth config file -PRODUCT_COPY_FILES += \ - system/bluetooth/data/main.nonsmartphone.conf:system/etc/bluetooth/main.conf \ - # audio mixer paths PRODUCT_COPY_FILES += \ device/asus/grouper/mixer_paths.xml:system/etc/mixer_paths.xml diff --git a/factory-images/generate-factory-images-package.sh b/factory-images/generate-factory-images-package.sh index 91f552c..a462da4 100755 --- a/factory-images/generate-factory-images-package.sh +++ b/factory-images/generate-factory-images-package.sh @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright (C) 2011 The Android Open Source Project +# Copyright 2011 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -33,16 +33,29 @@ # 526897 = JOP39B # 527221 = JOP40 # 527662 = JOP40C +# 533553 = JOP40D # end jb-mr1-dev +# start jb-mr1.1-dev +# 551245 = JDP82 +# 573038 = JDQ39 +# end jb-mr1.1-dev +# start jb-mr2-dev +# 683083 = JWR51 +# 689345 = JWR58 +# 690834 = JWR59 +# 704243 = JWR66G +# 711294 = JWR66N +# 737497 = JWR66V +# end jb-mr2-dev source ../../../common/clear-factory-images-variables.sh -BUILD=527662 +BUILD=737497 DEVICE=grouper PRODUCT=nakasi -VERSION=jop40c +VERSION=jwr66v SRCPREFIX=signed- BOOTLOADERFILE=bootloader.bin -BOOTLOADER=4.13 +BOOTLOADER=4.23 SLEEPDURATION=10 UNLOCKBOOTLOADER=true ERASEALL=true diff --git a/full_grouper.mk b/full_grouper.mk index b61c8df..c21bd22 100644 --- a/full_grouper.mk +++ b/full_grouper.mk @@ -31,4 +31,4 @@ PRODUCT_DEVICE := grouper PRODUCT_BRAND := Android # Don't restrict vendor folder PRODUCT_RESTRICT_VENDOR_FILES := false -PRODUCT_MODEL := AOSP on Grouper +PRODUCT_MODEL := CyanogenMod on Grouper diff --git a/init.grouper.rc b/init.grouper.rc index 1c271e5..6766cfe 100644 --- a/init.grouper.rc +++ b/init.grouper.rc @@ -316,7 +316,8 @@ on boot service wpa_supplicant /system/bin/wpa_supplicant \ -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \ -I/system/etc/wifi/wpa_supplicant_overlay.conf \ - -e/data/misc/wifi/entropy.bin + -O/data/misc/wifi/sockets \ + -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0 # we will start as root and wpa_supplicant will switch to user wifi # after setting up the capabilities required for WEXT # user wifi @@ -328,10 +329,12 @@ service wpa_supplicant /system/bin/wpa_supplicant \ service p2p_supplicant /system/bin/wpa_supplicant \ -iwlan0 -Dnl80211 -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf \ - -I/system/etc/wifi/wpa_supplicant_overlay.conf -N \ - -ip2p0 -Dnl80211 -c /data/misc/wifi/p2p_supplicant.conf \ -I/system/etc/wifi/wpa_supplicant_overlay.conf \ - -e/data/misc/wifi/entropy.bin -puse_p2p_group_interface=1 + -O/data/misc/wifi/sockets -N \ + -ip2p0 -Dnl80211 -c /data/misc/wifi/p2p_supplicant.conf \ + -I/system/etc/wifi/p2p_supplicant_overlay.conf \ + -puse_p2p_group_interface=1 -e/data/misc/wifi/entropy.bin \ + -g@android:wpa_wlan0 # we will start as root and wpa_supplicant will switch to user wifi # after setting up the capabilities required for WEXT # user wifi @@ -389,7 +392,7 @@ service iprenew_bt-pan /system/bin/dhcpcd -n #Sensor load calibration files end # virtual sdcard daemon running as media_rw (1023) -service sdcard /system/bin/sdcard /data/media /mnt/shell/emulated 1023 1023 +service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emulated class late_start # bugreport is triggered by the VOLUME-DOWN and VOLUME-UP keys diff --git a/media_codecs.xml b/media_codecs.xml index a6f013d..c55db6e 100644 --- a/media_codecs.xml +++ b/media_codecs.xml @@ -95,7 +95,8 @@ Only the three quirks included above are recognized at this point: - + + @@ -107,6 +108,6 @@ Only the three quirks included above are recognized at this point: - + diff --git a/self-extractors/asus/COPYRIGHT b/self-extractors/asus/COPYRIGHT index 3c57a55..e2ba69c 100644 --- a/self-extractors/asus/COPYRIGHT +++ b/self-extractors/asus/COPYRIGHT @@ -1 +1 @@ -# (C) ASUS. All Rights Reserved. +# (C) ASUSTek COMPUTER INC. diff --git a/self-extractors/asus/LICENSE b/self-extractors/asus/LICENSE index 6f8b29e..2eaa115 100644 --- a/self-extractors/asus/LICENSE +++ b/self-extractors/asus/LICENSE @@ -1 +1,225 @@ -ASUS LICENSE GOES HERE +THIS DEVELOPER SOFTWARE LICENSE AGREEMENT (THE "AGREEMENT") IS A LEGALLY +BINDING AGREEMENT BETWEEN ASUSTek COMPUTER INC. ("LICENSOR") AND +YOU OR THE LEGAL ENTITY YOU REPRESENT ("You" or its possessive, "Your"). BY +TYPING "I ACCEPT" WHERE INDICATED YOU ACKNOWLEDGE THAT YOU HAVE READ THIS +AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS. +IF YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION +PROCESS AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE +SOFTWARE OR DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS +SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE +SOFTWARE IS INSTALLED ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL +ENTITY, THEN YOU REPRESENT AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND +SUCH ENTITY TO THE TERMS AND CONDITIONS OF THIS AGREEMENT. + + 1. Special Definitions + + a. The term "Android" means the open source mobile platform, software + stack, operating system, middleware, application programming + interfaces and mobile applications under the trade-name "Android" + distributed at Android.com. + + b. The term "Android Applications" means a software application or + open-source contribution developed by You, designed to operate with + Android that does not contain or incorporate any of the Software. + + c. The term "Authorized Android Enabled Device" means only the device + identified on the site from which You downloaded the Software. + The term "Software" means the Licensor's proprietary software and + libraries in object code form, designed for use on the Authorized + Android Enabled Device. + + d. The term "Authorized Android Enabled Device Software" means a + packaged build for Authorized Android Enabled Devices, consisting + of files suitable for installation on an Authorized Android Enabled + Device using a mechanism such as fastboot mode or recovery mode. + + 2. License Grant + + a. Subject to the terms of this Agreement, Licensor hereby grants to + You, free of charge, a non-exclusive, non-sublicensable, + non-transferable, limited license, during the term of + this Agreement, to download, install and use the Software + internally in machine-readable (i.e., object code) form and the + Documentation for non-commercial use on an Authorized Android + Enabled Device and non-commercial redistribution of the Authorized + Android Enabled Device Software (the "Limited Purpose"). You may + grant your end users the right to use the Software for + the Limited Purpose. + The license to the Software granted to You hereunder is solely for + the Limited Purpose set forth in this section, and the Software + shall not be used for any other purpose. + + 3. Restrictions + + a. Retention of Rights. The entire right, title and interest in the + Software shall remain with Licensor and, unless specified in + writing hereunder, no rights are granted to any of the Software. + Except for the right to use the Software for the Limited Purpose, + the delivery of the Software to You does not convey to You any + intellectual property rights in the Software, including, but not + limited to any rights under any patent, trademark, copyright, or + trade secret. Neither the delivery of the Software to You nor any + terms set forth herein shall be construed to grant to You, either + expressly, by implication or by way of estoppel, any license under + any patents or other intellectual property rights covering or + relating to any other product or invention or any combination of + the Software with any other product. Any rights not expressly + granted to You herein are reserved by Licensor. + + b. No Commercialization or Distribution of the Software and + Documentation. Except as expressly provided in Section 2 of this + Agreement, You shall have no right to (i) copy, disclose, + distribute, publically perform, publically display, transfer, + alter, modify, translate, disassemble, decompile, reverse engineer, + or adapt the Software and Documentation, or any portion thereof, or + create any derivative works based thereon; (ii) rent, lease, + assign, sublicense, resell, disclose or otherwise transfer the + Software and Documentation in whole or in part to any third party + (iii) use the Software and Documentation except for the Limited + Purpose, (iv) remove or alter any of the copyright or proprietary + notices contained in any of the Software and Documentation. For the + purposes of clarity, nothing in this Agreement prohibits You from + making and distributing Android Applications under commercial or + non-commercial terms, provided that You shall not contain, + incorporate, and/or compile the Software or any of its derivative + works, in whole or in part, into Your Android Applications and/or + any software/devices created by You or by third parties acting on + Your behalf. You and any such third party shall comply with all of + the terms and conditions of this Agreement. + + c. No Reverse Engineering. Except for any portions of the Software + provided to You in source code format and except for any third + party code distributed with the Software that is licensed under + contrary terms, You will not reverse engineer, disassemble, + decompile, or translate the Software, or otherwise attempt to + derive the source code version of the Software, except if and to + the extent expressly permitted under any applicable law. + + d. Third Party Software. You agree that Android may contain third + party software. You agree that you may not distribute such third + party software for any purpose without appropriate licenses from + the applicable third party or parties. + + e. No Transfer or Assignment. You shall not assign any of its rights + or obligations under this Agreement. Any attempted assignment in + contravention of this Section shall be void. + + 4. Indemnity + + a. You agree to indemnify and hold harmless Licensor and + its officers, directors, customers, employees and successors and + assigns (each an "Indemnified Party") against any and all claims, + demands, causes of action, losses, liabilities, damages, costs and + expenses, incurred by the Indemnified Party (including but not + limited to costs of defense, investigation and reasonable + attorney's fees) arising out of, resulting from or related to + (i) any software, products, documentation, content, materials or + derivative works created or developed by You using the Software + which causes an infringement of any patent, copyright, trademark, + trade secret, or other property, publicity or privacy rights of any + third parties arising in any jurisdiction anywhere in the world, + (ii) the download, distribution, installation, storage, execution, + use or transfer of such software, products, documentation, content, + materials or derivative works by any person or entity, and/or + (iii) any breach of this Agreement by You. If requested by an + Indemnified Party, You agree to defend such Indemnified Party in + connection with any third party claims, demands, or causes of + action resulting from, arising out of or in connection with any of + the foregoing. + + 5. Limitation of Liability + + a. TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAWS, UNDER NO + CIRCUMSTANCES, INCLUDING WITHOUT LIMITATION NEGLIGENCE, SHALL + LICENSOR, ITS AFFILIATES AND/OR ITS DIRECTORS, OFFICERS, + EMPLOYEES OR AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL, + SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT + LIMITED TO DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS + INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR ANY DOWNLOAD, + INSTALLATION OR USE OF, OR INABILITY TO USE, THE SOFTWARE, EVEN IF + LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR + EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO + THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE LIMITED. + IN NO EVENT SHALL LICENSOR'S TOTAL AGGREGATE LIABILITY + TO YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF + ACTIONS (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE, + INDEMNIFICATION OR OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS + (US$100). THE LIMITATIONS SET FORTH IN THIS PARAGRAPH SHALL BE + DEEMED TO APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW. + THE PARTIES HAVE FULLY CONSIDERED THE FOREGOING ALLOCATION OF RISK + AND FIND IT REASONABLE, AND THAT THE FOREGOING LIMITATIONS IN THIS + PARAGRAPH ARE AN ESSENTIAL BASIS OF THE BARGAIN BETWEEN THE + PARTIES. + + 6. No Warranty + + a. LICENSOR MAKES NO WARRANTIES, EXPRESS OR IMPLIED, WITH + RESPECT TO THE SOFTWARE AND DOCUMENTATION PROVIDED UNDER THIS + AGREEMENT, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF + MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR AGAINST + INFRINGEMENT, OR ANY EXPRESS OR IMPLIED WARRANTY ARISING OUT OF + TRADE USAGE OR OUT OF A COURSE OF DEALING OR COURSE OF PERFORMANCE. + NOTHING CONTAINED IN THIS AGREEMENT SHALL BE CONSTRUED AS A + WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE VALIDITY OR + SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT + AND (II) THAT ANY MANUFACTURE OR USE WILL BE FREE FROM INFRINGEMENT + OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY RIGHTS OF + OTHERS, AND IT SHALL BE THE SOLE RESPONSIBILITY OF YOU TO MAKE SUCH + DETERMINATION AS IS NECESSARY WITH RESPECT TO THE ACQUISITION OF + LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY OF THIRD + PARTIES. Licensor SHALL NOT HAVE ANY OBLIGATION TO + PROVIDE ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT. + + 7. Term and Termination + + a. This Agreement shall be effective on the date You accept this + Agreement and shall remain in effect until terminated as provided + herein. You may terminate the Agreement at any time by deleting and + destroying all copies of the Software and all related information + in Your possession or control. This Agreement terminates + immediately and automatically, with or without notice, if You fail + to comply with any provision hereof. Additionally, Licensor may at + any time terminate this Agreement, without cause, upon notice to + You. Upon termination You must delete or destroy all copies of the + Software in Your possession, and the license granted to You in this + Agreement shall terminate. Sections 3, 4, 5, 6 and 8 shall survive + the termination of this Agreement. + + 8. Miscellaneous + + a. Governing Law. This Agreement is governed and interpreted in + accordance with the laws of the State of California without giving + effect to its conflict of laws provisions. The United Nations + Convention on Contracts for the International Sale of Goods is + expressly disclaimed and shall not apply. Any claim arising out of + or related to this Agreement must be brought exclusively in a + federal or state court located in Santa Clara County, California + and You consent to the jurisdiction and venue of such courts. + + b. Waiver and Severability. The failure of either party to require + performance by the other party of any provision of this Agreement + shall not affect the full right to require such performance at any + time thereafter; nor shall the waiver by either party of a breach + of any provision of this Agreement be taken or held to be a waiver + of the provision itself. Severability. If any provision of this + Agreement is unenforceable or invalid under any applicable law or + is so held by applicable court decision, such unenforceability or + invalidity shall not render this Agreement unenforceable or invalid + as a whole, and such provision shall be changed and interpreted so + as to best accomplish the objectives of such unenforceable or + invalid provision within the limits of applicable law or + applicable court decisions. + + c. Amendment and Modification. This Agreement and any of its terms and + provisions may only be amended, modified, supplemented or waived in + a writing signed by both parties hereto. + + d. Compliance with Laws. You shall comply with all applicable laws, + rules, and regulations in connection with its activities under this + Agreement. + + e. Entire Agreement. This Agreement completely and exclusively states + the agreement between You and Licensor regarding this subject + matter. diff --git a/self-extractors/broadcom/LICENSE b/self-extractors/broadcom/LICENSE index 3f2a075..f633ddc 100644 --- a/self-extractors/broadcom/LICENSE +++ b/self-extractors/broadcom/LICENSE @@ -2,14 +2,14 @@ THIS DEVELOPER SOFTWARE LICENSE AGREEMENT (THE "AGREEMENT") IS A LEGALLY BINDING AGREEMENT BETWEEN BROADCOM CORPORATION ("LICENSOR") AND YOU OR THE LEGAL ENTITY YOU REPRESENT ("You" or its possessive, "Your"). BY TYPING "I ACCEPT" WHERE INDICATED YOU ACKNOWLEDGE THAT YOU HAVE READ THIS -AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS. IF -YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION PROCESS -AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE SOFTWARE OR -DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS SUBJECT TO THE -TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE SOFTWARE IS INSTALLED -ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL ENTITY, THEN YOU REPRESENT -AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND SUCH ENTITY TO THE TERMS AND -CONDITIONS OF THIS AGREEMENT. +AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS. +IF YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION +PROCESS AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE +SOFTWARE OR DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS +SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE +SOFTWARE IS INSTALLED ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL +ENTITY, THEN YOU REPRESENT AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND +SUCH ENTITY TO THE TERMS AND CONDITIONS OF THIS AGREEMENT. 1. Special Definitions @@ -29,157 +29,163 @@ CONDITIONS OF THIS AGREEMENT. Android Enabled Device. d. The term "Authorized Android Enabled Device Software" means a - packaged build for Authorized Android Enabled Devices, consisting of - files suitable for installation on an Authorized Android Enabled + packaged build for Authorized Android Enabled Devices, consisting + of files suitable for installation on an Authorized Android Enabled Device using a mechanism such as fastboot mode or recovery mode. 2. License Grant a. Subject to the terms of this Agreement, Licensor hereby grants to You, free of charge, a non-exclusive, non-sublicensable, - non-transferable, limited license, during the term of this Agreement, - to download, install and use the Software internally in - machine-readable (i.e., object code) form and the Documentation for - non-commercial use on an Authorized Android Enabled Device and - non-commercial redistribution of the Authorized Android Enabled - Device Software (the "Limited Purpose"). You may grant your end users - the right to use the Software for the Limited Purpose. The license to - the Software granted to You hereunder is solely for the Limited - Purpose set forth in this section, and the Software shall not be used - for any other purpose. + non-transferable, limited license, during the term of + this Agreement, to download, install and use the Software + internally in machine-readable (i.e., object code) form and the + Documentation for non-commercial use on an Authorized Android + Enabled Device and non-commercial redistribution of the Authorized + Android Enabled Device Software (the "Limited Purpose"). You may + grant your end users the right to use the Software for + the Limited Purpose. + The license to the Software granted to You hereunder is solely for + the Limited Purpose set forth in this section, and the Software + shall not be used for any other purpose. 3. Restrictions a. Retention of Rights. The entire right, title and interest in the - Software shall remain with Licensor and, unless specified in writing - hereunder, no rights are granted to any of the Software. Except for - the right to use the Software for the Limited Purpose, the delivery - of the Software to You does not convey to You any intellectual - property rights in the Software, including, but not limited to any - rights under any patent, trademark, copyright, or trade secret. - Neither the delivery of the Software to You nor any terms set forth - herein shall be construed to grant to You, either expressly, by - implication or by way of estoppel, any license under any patents or - other intellectual property rights covering or relating to any other - product or invention or any combination of the Software with any - other product. Any rights not expressly granted to You herein are - reserved by Licensor. + Software shall remain with Licensor and, unless specified in + writing hereunder, no rights are granted to any of the Software. + Except for the right to use the Software for the Limited Purpose, + the delivery of the Software to You does not convey to You any + intellectual property rights in the Software, including, but not + limited to any rights under any patent, trademark, copyright, or + trade secret. Neither the delivery of the Software to You nor any + terms set forth herein shall be construed to grant to You, either + expressly, by implication or by way of estoppel, any license under + any patents or other intellectual property rights covering or + relating to any other product or invention or any combination of + the Software with any other product. Any rights not expressly + granted to You herein are reserved by Licensor. b. No Commercialization or Distribution of the Software and Documentation. Except as expressly provided in Section 2 of this - Agreement, You shall have no right to (i) copy, disclose, distribute, - publically perform, publically display, transfer, alter, modify, - translate, disassemble, decompile, reverse engineer, or adapt the - Software and Documentation, or any portion thereof, or create any - derivative works based thereon; (ii) rent, lease, assign, sublicense, - resell, disclose or otherwise transfer the Software and Documentation - in whole or in part to any third party (iii) use the Software and - Documentation except for the Limited Purpose, (iv) remove or alter - any of the copyright or proprietary notices contained in any of the - Software and Documentation. For the purposes of clarity, nothing in - this Agreement prohibits You from making and distributing Android - Applications under commercial or non-commercial terms, provided that - You shall not contain, incorporate, and/or compile the Software or - any of its derivative works, in whole or in part, into Your Android - Applications and/or any software/devices created by You or by third - parties acting on Your behalf. You and any such third party shall - comply with all of the terms and conditions of this Agreement. + Agreement, You shall have no right to (i) copy, disclose, + distribute, publically perform, publically display, transfer, + alter, modify, translate, disassemble, decompile, reverse engineer, + or adapt the Software and Documentation, or any portion thereof, or + create any derivative works based thereon; (ii) rent, lease, + assign, sublicense, resell, disclose or otherwise transfer the + Software and Documentation in whole or in part to any third party + (iii) use the Software and Documentation except for the Limited + Purpose, (iv) remove or alter any of the copyright or proprietary + notices contained in any of the Software and Documentation. For the + purposes of clarity, nothing in this Agreement prohibits You from + making and distributing Android Applications under commercial or + non-commercial terms, provided that You shall not contain, + incorporate, and/or compile the Software or any of its derivative + works, in whole or in part, into Your Android Applications and/or + any software/devices created by You or by third parties acting on + Your behalf. You and any such third party shall comply with all of + the terms and conditions of this Agreement. c. No Reverse Engineering. Except for any portions of the Software - provided to You in source code format and except for any third party - code distributed with the Software that is licensed under contrary - terms, You will not reverse engineer, disassemble, - decompile, or translate the Software, or otherwise attempt to derive - the source code version of the Software, except if and to the extent - expressly permitted under any applicable law. - - d. Third Party Software. You agree that Android may contain third party - software. You agree that you may not distribute such third party - software for any purpose without appropriate licenses from the - applicable third party or parties. - - e. No Transfer or Assignment. You shall not assign any of its rights or - obligations under this Agreement. Any attempted assignment in + provided to You in source code format and except for any third + party code distributed with the Software that is licensed under + contrary terms, You will not reverse engineer, disassemble, + decompile, or translate the Software, or otherwise attempt to + derive the source code version of the Software, except if and to + the extent expressly permitted under any applicable law. + + d. Third Party Software. You agree that Android may contain third + party software. You agree that you may not distribute such third + party software for any purpose without appropriate licenses from + the applicable third party or parties. + + e. No Transfer or Assignment. You shall not assign any of its rights + or obligations under this Agreement. Any attempted assignment in contravention of this Section shall be void. 4. Indemnity - a. You agree to indemnify and hold harmless Licensor and its officers, - directors, customers, employees and successors and assigns (each an - "Indemnified Party") against any and all claims, demands, causes of - action, losses, liabilities, damages, costs and expenses, incurred by - the Indemnified Party (including but not limited to costs of defense, - investigation and reasonable attorney's fees) arising out of, - resulting from or related to (i) any software, products, - documentation, content, materials or derivative works created or - developed by You using the Software which causes an infringement of - any patent, copyright, trademark, trade secret, or other property, - publicity or privacy rights of any third parties arising in any - jurisdiction anywhere in the world, (ii) the download, distribution, - installation, storage, execution, use or transfer of such software, - products, documentation, content, materials or derivative works by - any person or entity, and/or (iii) any breach of this Agreement by - You. If requested by an Indemnified Party, You agree to defend such - Indemnified Party in connection with any third party claims, demands, - or causes of action resulting from, arising out of or in connection - with any of the foregoing. + a. You agree to indemnify and hold harmless Licensor and + its officers, directors, customers, employees and successors and + assigns (each an "Indemnified Party") against any and all claims, + demands, causes of action, losses, liabilities, damages, costs and + expenses, incurred by the Indemnified Party (including but not + limited to costs of defense, investigation and reasonable + attorney's fees) arising out of, resulting from or related to + (i) any software, products, documentation, content, materials or + derivative works created or developed by You using the Software + which causes an infringement of any patent, copyright, trademark, + trade secret, or other property, publicity or privacy rights of any + third parties arising in any jurisdiction anywhere in the world, + (ii) the download, distribution, installation, storage, execution, + use or transfer of such software, products, documentation, content, + materials or derivative works by any person or entity, and/or + (iii) any breach of this Agreement by You. If requested by an + Indemnified Party, You agree to defend such Indemnified Party in + connection with any third party claims, demands, or causes of + action resulting from, arising out of or in connection with any of + the foregoing. 5. Limitation of Liability a. TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAWS, UNDER NO CIRCUMSTANCES, INCLUDING WITHOUT LIMITATION NEGLIGENCE, SHALL - LICENSOR, ITS AFFILIATES AND/OR ITS DIRECTORS, OFFICERS, EMPLOYEES OR - AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE OR - CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO DAMAGES FOR LOSS - OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS - INFORMATION AND THE LIKE) ARISING OUT OF OR IN CONNECTION WITH THE - SOFTWARE OR ANY DOWNLOAD, INSTALLATION OR USE OF, OR INABILITY TO - USE, THE SOFTWARE, EVEN IF LICENSOR HAS BEEN ADVISED OF THE - POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE - LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL - DAMAGES SO THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE - LIMITED. IN NO EVENT SHALL LICENSOR'S TOTAL AGGREGATE LIABILITY TO - YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF ACTIONS - (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE, INDEMNIFICATION OR - OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS (US$100). THE LIMITATIONS - SET FORTH IN THIS PARAGRAPH SHALL BE DEEMED TO APPLY TO THE MAXIMUM - EXTENT PERMITTED BY APPLICABLE LAW. THE PARTIES HAVE FULLY CONSIDERED - THE FOREGOING ALLOCATION OF RISK AND FIND IT REASONABLE, AND THAT THE - FOREGOING LIMITATIONS IN THIS PARAGRAPH ARE AN ESSENTIAL BASIS OF - THE BARGAIN BETWEEN THE PARTIES. + LICENSOR, ITS AFFILIATES AND/OR ITS DIRECTORS, OFFICERS, + EMPLOYEES OR AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL, + SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT + LIMITED TO DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS + INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR ANY DOWNLOAD, + INSTALLATION OR USE OF, OR INABILITY TO USE, THE SOFTWARE, EVEN IF + LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR + EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO + THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE LIMITED. + IN NO EVENT SHALL LICENSOR'S TOTAL AGGREGATE LIABILITY + TO YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF + ACTIONS (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE, + INDEMNIFICATION OR OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS + (US$100). THE LIMITATIONS SET FORTH IN THIS PARAGRAPH SHALL BE + DEEMED TO APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW. + THE PARTIES HAVE FULLY CONSIDERED THE FOREGOING ALLOCATION OF RISK + AND FIND IT REASONABLE, AND THAT THE FOREGOING LIMITATIONS IN THIS + PARAGRAPH ARE AN ESSENTIAL BASIS OF THE BARGAIN BETWEEN THE + PARTIES. 6. No Warranty - a. LICENSOR MAKES NO WARRANTIES, EXPRESS OR IMPLIED, WITH RESPECT TO THE - SOFTWARE AND DOCUMENTATION PROVIDED UNDER THIS AGREEMENT, INCLUDING - BUT NOT LIMITED TO ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A - PARTICULAR PURPOSE OR AGAINST INFRINGEMENT, OR ANY EXPRESS OR IMPLIED - WARRANTY ARISING OUT OF TRADE USAGE OR OUT OF A COURSE OF DEALING OR - COURSE OF PERFORMANCE. NOTHING CONTAINED IN THIS AGREEMENT SHALL BE - CONSTRUED AS A WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE - VALIDITY OR SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL - PROPERTY RIGHT AND (II) THAT ANY MANUFACTURE OR USE WILL BE FREE FROM - INFRINGEMENT OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY - RIGHTS OF OTHERS, AND IT SHALL BE THE SOLE RESPONSIBILITY OF YOU TO - MAKE SUCH DETERMINATION AS IS NECESSARY WITH RESPECT TO THE - ACQUISITION OF LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY - OF THIRD PARTIES. LICENSOR SHALL NOT HAVE ANY OBLIGATION TO PROVIDE - ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT. + a. LICENSOR MAKES NO WARRANTIES, EXPRESS OR IMPLIED, WITH + RESPECT TO THE SOFTWARE AND DOCUMENTATION PROVIDED UNDER THIS + AGREEMENT, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF + MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR AGAINST + INFRINGEMENT, OR ANY EXPRESS OR IMPLIED WARRANTY ARISING OUT OF + TRADE USAGE OR OUT OF A COURSE OF DEALING OR COURSE OF PERFORMANCE. + NOTHING CONTAINED IN THIS AGREEMENT SHALL BE CONSTRUED AS A + WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE VALIDITY OR + SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT + AND (II) THAT ANY MANUFACTURE OR USE WILL BE FREE FROM INFRINGEMENT + OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY RIGHTS OF + OTHERS, AND IT SHALL BE THE SOLE RESPONSIBILITY OF YOU TO MAKE SUCH + DETERMINATION AS IS NECESSARY WITH RESPECT TO THE ACQUISITION OF + LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY OF THIRD + PARTIES. Licensor SHALL NOT HAVE ANY OBLIGATION TO + PROVIDE ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT. 7. Term and Termination a. This Agreement shall be effective on the date You accept this Agreement and shall remain in effect until terminated as provided herein. You may terminate the Agreement at any time by deleting and - destroying all copies of the Software and all related information in - Your possession or control. This Agreement terminates immediately and - automatically, with or without notice, if You fail to comply with any - provision hereof. Additionally, Licensor may at any time terminate - this Agreement, without cause, upon notice to You. Upon termination - You must delete or destroy all copies of the Software in Your - possession, and the license granted to You in this Agreement shall - terminate. Sections 3, 4, 5, 6 and 8 shall survive the termination of - this Agreement. + destroying all copies of the Software and all related information + in Your possession or control. This Agreement terminates + immediately and automatically, with or without notice, if You fail + to comply with any provision hereof. Additionally, Licensor may at + any time terminate this Agreement, without cause, upon notice to + You. Upon termination You must delete or destroy all copies of the + Software in Your possession, and the license granted to You in this + Agreement shall terminate. Sections 3, 4, 5, 6 and 8 shall survive + the termination of this Agreement. 8. Miscellaneous @@ -187,32 +193,33 @@ CONDITIONS OF THIS AGREEMENT. accordance with the laws of the State of California without giving effect to its conflict of laws provisions. The United Nations Convention on Contracts for the International Sale of Goods is - expressly disclaimed and shall not apply. Any claim arising out of or - related to this Agreement must be brought exclusively in a federal or - state court located in Santa Clara County, California and You consent - to the jurisdiction and venue of such courts. + expressly disclaimed and shall not apply. Any claim arising out of + or related to this Agreement must be brought exclusively in a + federal or state court located in Santa Clara County, California + and You consent to the jurisdiction and venue of such courts. b. Waiver and Severability. The failure of either party to require performance by the other party of any provision of this Agreement shall not affect the full right to require such performance at any - time thereafter; nor shall the waiver by either party of a breach of - any provision of this Agreement be taken or held to be a waiver of - the provision itself. Severability. If any provision of this - Agreement is unenforceable or invalid under any applicable law or is - so held by applicable court decision, such unenforceability or + time thereafter; nor shall the waiver by either party of a breach + of any provision of this Agreement be taken or held to be a waiver + of the provision itself. Severability. If any provision of this + Agreement is unenforceable or invalid under any applicable law or + is so held by applicable court decision, such unenforceability or invalidity shall not render this Agreement unenforceable or invalid - as a whole, and such provision shall be changed and interpreted so as - to best accomplish the objectives of such unenforceable or invalid - provision within the limits of applicable law or applicable court - decisions. + as a whole, and such provision shall be changed and interpreted so + as to best accomplish the objectives of such unenforceable or + invalid provision within the limits of applicable law or + applicable court decisions. c. Amendment and Modification. This Agreement and any of its terms and - provisions may only be amended, modified, supplemented or waived in a - writing signed by both parties hereto. + provisions may only be amended, modified, supplemented or waived in + a writing signed by both parties hereto. d. Compliance with Laws. You shall comply with all applicable laws, rules, and regulations in connection with its activities under this Agreement. e. Entire Agreement. This Agreement completely and exclusively states - the agreement between You and Licensor regarding this subject matter. + the agreement between You and Licensor regarding this subject + matter. diff --git a/self-extractors/elan/LICENSE b/self-extractors/elan/LICENSE index 1b49d1f..3af79ec 100644 --- a/self-extractors/elan/LICENSE +++ b/self-extractors/elan/LICENSE @@ -2,14 +2,14 @@ THIS DEVELOPER SOFTWARE LICENSE AGREEMENT (THE "AGREEMENT") IS A LEGALLY BINDING AGREEMENT BETWEEN ELAN MICROELECTRONICS CORPORATION ("LICENSOR") AND YOU OR THE LEGAL ENTITY YOU REPRESENT ("You" or its possessive, "Your"). BY TYPING "I ACCEPT" WHERE INDICATED YOU ACKNOWLEDGE THAT YOU HAVE READ THIS -AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS. IF -YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION PROCESS -AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE SOFTWARE OR -DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS SUBJECT TO THE -TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE SOFTWARE IS INSTALLED -ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL ENTITY, THEN YOU REPRESENT -AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND SUCH ENTITY TO THE TERMS AND -CONDITIONS OF THIS AGREEMENT. +AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS. +IF YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION +PROCESS AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE +SOFTWARE OR DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS +SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE +SOFTWARE IS INSTALLED ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL +ENTITY, THEN YOU REPRESENT AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND +SUCH ENTITY TO THE TERMS AND CONDITIONS OF THIS AGREEMENT. 1. Special Definitions @@ -29,157 +29,163 @@ CONDITIONS OF THIS AGREEMENT. Android Enabled Device. d. The term "Authorized Android Enabled Device Software" means a - packaged build for Authorized Android Enabled Devices, consisting of - files suitable for installation on an Authorized Android Enabled + packaged build for Authorized Android Enabled Devices, consisting + of files suitable for installation on an Authorized Android Enabled Device using a mechanism such as fastboot mode or recovery mode. 2. License Grant a. Subject to the terms of this Agreement, Licensor hereby grants to You, free of charge, a non-exclusive, non-sublicensable, - non-transferable, limited license, during the term of this Agreement, - to download, install and use the Software internally in - machine-readable (i.e., object code) form and the Documentation for - non-commercial use on an Authorized Android Enabled Device and - non-commercial redistribution of the Authorized Android Enabled - Device Software (the "Limited Purpose"). You may grant your end users - the right to use the Software for the Limited Purpose. The license to - the Software granted to You hereunder is solely for the Limited - Purpose set forth in this section, and the Software shall not be used - for any other purpose. + non-transferable, limited license, during the term of + this Agreement, to download, install and use the Software + internally in machine-readable (i.e., object code) form and the + Documentation for non-commercial use on an Authorized Android + Enabled Device and non-commercial redistribution of the Authorized + Android Enabled Device Software (the "Limited Purpose"). You may + grant your end users the right to use the Software for + the Limited Purpose. + The license to the Software granted to You hereunder is solely for + the Limited Purpose set forth in this section, and the Software + shall not be used for any other purpose. 3. Restrictions a. Retention of Rights. The entire right, title and interest in the - Software shall remain with Licensor and, unless specified in writing - hereunder, no rights are granted to any of the Software. Except for - the right to use the Software for the Limited Purpose, the delivery - of the Software to You does not convey to You any intellectual - property rights in the Software, including, but not limited to any - rights under any patent, trademark, copyright, or trade secret. - Neither the delivery of the Software to You nor any terms set forth - herein shall be construed to grant to You, either expressly, by - implication or by way of estoppel, any license under any patents or - other intellectual property rights covering or relating to any other - product or invention or any combination of the Software with any - other product. Any rights not expressly granted to You herein are - reserved by Licensor. + Software shall remain with Licensor and, unless specified in + writing hereunder, no rights are granted to any of the Software. + Except for the right to use the Software for the Limited Purpose, + the delivery of the Software to You does not convey to You any + intellectual property rights in the Software, including, but not + limited to any rights under any patent, trademark, copyright, or + trade secret. Neither the delivery of the Software to You nor any + terms set forth herein shall be construed to grant to You, either + expressly, by implication or by way of estoppel, any license under + any patents or other intellectual property rights covering or + relating to any other product or invention or any combination of + the Software with any other product. Any rights not expressly + granted to You herein are reserved by Licensor. b. No Commercialization or Distribution of the Software and Documentation. Except as expressly provided in Section 2 of this - Agreement, You shall have no right to (i) copy, disclose, distribute, - publically perform, publically display, transfer, alter, modify, - translate, disassemble, decompile, reverse engineer, or adapt the - Software and Documentation, or any portion thereof, or create any - derivative works based thereon; (ii) rent, lease, assign, sublicense, - resell, disclose or otherwise transfer the Software and Documentation - in whole or in part to any third party (iii) use the Software and - Documentation except for the Limited Purpose, (iv) remove or alter - any of the copyright or proprietary notices contained in any of the - Software and Documentation. For the purposes of clarity, nothing in - this Agreement prohibits You from making and distributing Android - Applications under commercial or non-commercial terms, provided that - You shall not contain, incorporate, and/or compile the Software or - any of its derivative works, in whole or in part, into Your Android - Applications and/or any software/devices created by You or by third - parties acting on Your behalf. You and any such third party shall - comply with all of the terms and conditions of this Agreement. + Agreement, You shall have no right to (i) copy, disclose, + distribute, publically perform, publically display, transfer, + alter, modify, translate, disassemble, decompile, reverse engineer, + or adapt the Software and Documentation, or any portion thereof, or + create any derivative works based thereon; (ii) rent, lease, + assign, sublicense, resell, disclose or otherwise transfer the + Software and Documentation in whole or in part to any third party + (iii) use the Software and Documentation except for the Limited + Purpose, (iv) remove or alter any of the copyright or proprietary + notices contained in any of the Software and Documentation. For the + purposes of clarity, nothing in this Agreement prohibits You from + making and distributing Android Applications under commercial or + non-commercial terms, provided that You shall not contain, + incorporate, and/or compile the Software or any of its derivative + works, in whole or in part, into Your Android Applications and/or + any software/devices created by You or by third parties acting on + Your behalf. You and any such third party shall comply with all of + the terms and conditions of this Agreement. c. No Reverse Engineering. Except for any portions of the Software - provided to You in source code format and except for any third party - code distributed with the Software that is licensed under contrary - terms, You will not reverse engineer, disassemble, - decompile, or translate the Software, or otherwise attempt to derive - the source code version of the Software, except if and to the extent - expressly permitted under any applicable law. - - d. Third Party Software. You agree that Android may contain third party - software. You agree that you may not distribute such third party - software for any purpose without appropriate licenses from the - applicable third party or parties. - - e. No Transfer or Assignment. You shall not assign any of its rights or - obligations under this Agreement. Any attempted assignment in + provided to You in source code format and except for any third + party code distributed with the Software that is licensed under + contrary terms, You will not reverse engineer, disassemble, + decompile, or translate the Software, or otherwise attempt to + derive the source code version of the Software, except if and to + the extent expressly permitted under any applicable law. + + d. Third Party Software. You agree that Android may contain third + party software. You agree that you may not distribute such third + party software for any purpose without appropriate licenses from + the applicable third party or parties. + + e. No Transfer or Assignment. You shall not assign any of its rights + or obligations under this Agreement. Any attempted assignment in contravention of this Section shall be void. 4. Indemnity - a. You agree to indemnify and hold harmless Licensor and its officers, - directors, customers, employees and successors and assigns (each an - "Indemnified Party") against any and all claims, demands, causes of - action, losses, liabilities, damages, costs and expenses, incurred by - the Indemnified Party (including but not limited to costs of defense, - investigation and reasonable attorney's fees) arising out of, - resulting from or related to (i) any software, products, - documentation, content, materials or derivative works created or - developed by You using the Software which causes an infringement of - any patent, copyright, trademark, trade secret, or other property, - publicity or privacy rights of any third parties arising in any - jurisdiction anywhere in the world, (ii) the download, distribution, - installation, storage, execution, use or transfer of such software, - products, documentation, content, materials or derivative works by - any person or entity, and/or (iii) any breach of this Agreement by - You. If requested by an Indemnified Party, You agree to defend such - Indemnified Party in connection with any third party claims, demands, - or causes of action resulting from, arising out of or in connection - with any of the foregoing. + a. You agree to indemnify and hold harmless Licensor and + its officers, directors, customers, employees and successors and + assigns (each an "Indemnified Party") against any and all claims, + demands, causes of action, losses, liabilities, damages, costs and + expenses, incurred by the Indemnified Party (including but not + limited to costs of defense, investigation and reasonable + attorney's fees) arising out of, resulting from or related to + (i) any software, products, documentation, content, materials or + derivative works created or developed by You using the Software + which causes an infringement of any patent, copyright, trademark, + trade secret, or other property, publicity or privacy rights of any + third parties arising in any jurisdiction anywhere in the world, + (ii) the download, distribution, installation, storage, execution, + use or transfer of such software, products, documentation, content, + materials or derivative works by any person or entity, and/or + (iii) any breach of this Agreement by You. If requested by an + Indemnified Party, You agree to defend such Indemnified Party in + connection with any third party claims, demands, or causes of + action resulting from, arising out of or in connection with any of + the foregoing. 5. Limitation of Liability a. TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAWS, UNDER NO CIRCUMSTANCES, INCLUDING WITHOUT LIMITATION NEGLIGENCE, SHALL - LICENSOR, ITS AFFILIATES AND/OR ITS DIRECTORS, OFFICERS, EMPLOYEES OR - AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE OR - CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO DAMAGES FOR LOSS - OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS - INFORMATION AND THE LIKE) ARISING OUT OF OR IN CONNECTION WITH THE - SOFTWARE OR ANY DOWNLOAD, INSTALLATION OR USE OF, OR INABILITY TO - USE, THE SOFTWARE, EVEN IF LICENSOR HAS BEEN ADVISED OF THE - POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE - LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL - DAMAGES SO THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE - LIMITED. IN NO EVENT SHALL LICENSOR'S TOTAL AGGREGATE LIABILITY TO - YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF ACTIONS - (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE, INDEMNIFICATION OR - OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS (US$100). THE LIMITATIONS - SET FORTH IN THIS PARAGRAPH SHALL BE DEEMED TO APPLY TO THE MAXIMUM - EXTENT PERMITTED BY APPLICABLE LAW. THE PARTIES HAVE FULLY CONSIDERED - THE FOREGOING ALLOCATION OF RISK AND FIND IT REASONABLE, AND THAT THE - FOREGOING LIMITATIONS IN THIS PARAGRAPH ARE AN ESSENTIAL BASIS OF - THE BARGAIN BETWEEN THE PARTIES. + LICENSOR, ITS AFFILIATES AND/OR ITS DIRECTORS, OFFICERS, + EMPLOYEES OR AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL, + SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT + LIMITED TO DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS + INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR ANY DOWNLOAD, + INSTALLATION OR USE OF, OR INABILITY TO USE, THE SOFTWARE, EVEN IF + LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR + EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO + THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE LIMITED. + IN NO EVENT SHALL LICENSOR'S TOTAL AGGREGATE LIABILITY + TO YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF + ACTIONS (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE, + INDEMNIFICATION OR OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS + (US$100). THE LIMITATIONS SET FORTH IN THIS PARAGRAPH SHALL BE + DEEMED TO APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW. + THE PARTIES HAVE FULLY CONSIDERED THE FOREGOING ALLOCATION OF RISK + AND FIND IT REASONABLE, AND THAT THE FOREGOING LIMITATIONS IN THIS + PARAGRAPH ARE AN ESSENTIAL BASIS OF THE BARGAIN BETWEEN THE + PARTIES. 6. No Warranty - a. LICENSOR MAKES NO WARRANTIES, EXPRESS OR IMPLIED, WITH RESPECT TO THE - SOFTWARE AND DOCUMENTATION PROVIDED UNDER THIS AGREEMENT, INCLUDING - BUT NOT LIMITED TO ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A - PARTICULAR PURPOSE OR AGAINST INFRINGEMENT, OR ANY EXPRESS OR IMPLIED - WARRANTY ARISING OUT OF TRADE USAGE OR OUT OF A COURSE OF DEALING OR - COURSE OF PERFORMANCE. NOTHING CONTAINED IN THIS AGREEMENT SHALL BE - CONSTRUED AS A WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE - VALIDITY OR SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL - PROPERTY RIGHT AND (II) THAT ANY MANUFACTURE OR USE WILL BE FREE FROM - INFRINGEMENT OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY - RIGHTS OF OTHERS, AND IT SHALL BE THE SOLE RESPONSIBILITY OF YOU TO - MAKE SUCH DETERMINATION AS IS NECESSARY WITH RESPECT TO THE - ACQUISITION OF LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY - OF THIRD PARTIES. LICENSOR SHALL NOT HAVE ANY OBLIGATION TO PROVIDE - ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT. + a. LICENSOR MAKES NO WARRANTIES, EXPRESS OR IMPLIED, WITH + RESPECT TO THE SOFTWARE AND DOCUMENTATION PROVIDED UNDER THIS + AGREEMENT, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF + MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR AGAINST + INFRINGEMENT, OR ANY EXPRESS OR IMPLIED WARRANTY ARISING OUT OF + TRADE USAGE OR OUT OF A COURSE OF DEALING OR COURSE OF PERFORMANCE. + NOTHING CONTAINED IN THIS AGREEMENT SHALL BE CONSTRUED AS A + WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE VALIDITY OR + SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT + AND (II) THAT ANY MANUFACTURE OR USE WILL BE FREE FROM INFRINGEMENT + OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY RIGHTS OF + OTHERS, AND IT SHALL BE THE SOLE RESPONSIBILITY OF YOU TO MAKE SUCH + DETERMINATION AS IS NECESSARY WITH RESPECT TO THE ACQUISITION OF + LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY OF THIRD + PARTIES. Licensor SHALL NOT HAVE ANY OBLIGATION TO + PROVIDE ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT. 7. Term and Termination a. This Agreement shall be effective on the date You accept this Agreement and shall remain in effect until terminated as provided herein. You may terminate the Agreement at any time by deleting and - destroying all copies of the Software and all related information in - Your possession or control. This Agreement terminates immediately and - automatically, with or without notice, if You fail to comply with any - provision hereof. Additionally, Licensor may at any time terminate - this Agreement, without cause, upon notice to You. Upon termination - You must delete or destroy all copies of the Software in Your - possession, and the license granted to You in this Agreement shall - terminate. Sections 3, 4, 5, 6 and 8 shall survive the termination of - this Agreement. + destroying all copies of the Software and all related information + in Your possession or control. This Agreement terminates + immediately and automatically, with or without notice, if You fail + to comply with any provision hereof. Additionally, Licensor may at + any time terminate this Agreement, without cause, upon notice to + You. Upon termination You must delete or destroy all copies of the + Software in Your possession, and the license granted to You in this + Agreement shall terminate. Sections 3, 4, 5, 6 and 8 shall survive + the termination of this Agreement. 8. Miscellaneous @@ -187,32 +193,33 @@ CONDITIONS OF THIS AGREEMENT. accordance with the laws of the State of California without giving effect to its conflict of laws provisions. The United Nations Convention on Contracts for the International Sale of Goods is - expressly disclaimed and shall not apply. Any claim arising out of or - related to this Agreement must be brought exclusively in a federal or - state court located in Santa Clara County, California and You consent - to the jurisdiction and venue of such courts. + expressly disclaimed and shall not apply. Any claim arising out of + or related to this Agreement must be brought exclusively in a + federal or state court located in Santa Clara County, California + and You consent to the jurisdiction and venue of such courts. b. Waiver and Severability. The failure of either party to require performance by the other party of any provision of this Agreement shall not affect the full right to require such performance at any - time thereafter; nor shall the waiver by either party of a breach of - any provision of this Agreement be taken or held to be a waiver of - the provision itself. Severability. If any provision of this - Agreement is unenforceable or invalid under any applicable law or is - so held by applicable court decision, such unenforceability or + time thereafter; nor shall the waiver by either party of a breach + of any provision of this Agreement be taken or held to be a waiver + of the provision itself. Severability. If any provision of this + Agreement is unenforceable or invalid under any applicable law or + is so held by applicable court decision, such unenforceability or invalidity shall not render this Agreement unenforceable or invalid - as a whole, and such provision shall be changed and interpreted so as - to best accomplish the objectives of such unenforceable or invalid - provision within the limits of applicable law or applicable court - decisions. + as a whole, and such provision shall be changed and interpreted so + as to best accomplish the objectives of such unenforceable or + invalid provision within the limits of applicable law or + applicable court decisions. c. Amendment and Modification. This Agreement and any of its terms and - provisions may only be amended, modified, supplemented or waived in a - writing signed by both parties hereto. + provisions may only be amended, modified, supplemented or waived in + a writing signed by both parties hereto. d. Compliance with Laws. You shall comply with all applicable laws, rules, and regulations in connection with its activities under this Agreement. e. Entire Agreement. This Agreement completely and exclusively states - the agreement between You and Licensor regarding this subject matter. + the agreement between You and Licensor regarding this subject + matter. diff --git a/self-extractors/generate-packages.sh b/self-extractors/generate-packages.sh index 987d134..a0be66c 100755 --- a/self-extractors/generate-packages.sh +++ b/self-extractors/generate-packages.sh @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright (C) 2010 The Android Open Source Project +# Copyright 2010 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -32,23 +32,55 @@ # 524024 = JOP36 # 527221 = JOP40 # 527662 = JOP40C +# 561924 = JOP40G # end jb-mr1-dev -BRANCH=jb-mr1-dev -if test $BRANCH=jb-dev +# start jb-mr1.1-dev +# 551245 = JDP82 +# 573038 = JDQ39 +# end jb-mr1.1-dev +# start jb-mr2-dev +# 638589 = JWR11D +# 681336 = JWR50 +# 683083 = JWR51 +# 684634 = JWR52 +# 686185 = JWR53 +# 689345 = JWR58 +# 690834 = JWR59 +# 692263 = JWR60 +# 695489 = JWR64 +# 699533 = JWR66 +# 701448 = JWR66C +# 704243 = JWR66G +# 711294 = JWR66N +# 736095 = JWR66U +# 737497 = JWR66V +# end jb-mr2-dev +BRANCH=jb-mr2-dev +if test $BRANCH = jb-dev then ZIP=nakasi-ota-485486.zip BUILD=jzo54k fi # jb-dev -if test $BRANCH=jb-mr1-dev +if test $BRANCH = jb-mr1-dev then - ZIP=nakasi-ota-527662.zip - BUILD=jop40c + ZIP=nakasi-ota-561924.zip + BUILD=jop40g fi # jb-mr1-dev +if test $BRANCH = jb-mr1.1-dev +then + ZIP=nakasi-ota-573038.zip + BUILD=jdq39 +fi # jb-mr1.1-dev +if test $BRANCH = jb-mr2-dev +then + ZIP=nakasi-ota-737497 + BUILD=jwr66v +fi # jb-mr2-dev ROOTDEVICE=grouper DEVICE=grouper MANUFACTURER=asus -for COMPANY in broadcom elan invensense nvidia nxp widevine # asus trusted_logic +for COMPANY in asus broadcom elan invensense nvidia nxp widevine do echo Processing files from $COMPANY rm -rf tmp @@ -88,6 +120,7 @@ do ;; nvidia) TO_EXTRACT="\ + system/bin/tf_daemon \ system/etc/firmware/nvavp_os_00001000.bin \ system/etc/firmware/nvavp_os_0ff00000.bin \ system/etc/firmware/nvavp_os_e0000000.bin \ @@ -151,12 +184,6 @@ do system/vendor/firmware/libpn544_fw.so \ " ;; - trusted_logic) - TO_EXTRACT="\ - system/bin/tf_daemon \ - system/lib/hw/keystore.grouper.so \ - " - ;; widevine) TO_EXTRACT="\ system/lib/libdrmdecrypt.so \ diff --git a/self-extractors/invensense/LICENSE b/self-extractors/invensense/LICENSE index 480d51a..e697fb0 100644 --- a/self-extractors/invensense/LICENSE +++ b/self-extractors/invensense/LICENSE @@ -2,14 +2,14 @@ THIS DEVELOPER SOFTWARE LICENSE AGREEMENT (THE "AGREEMENT") IS A LEGALLY BINDING AGREEMENT BETWEEN Invensense, Inc. ("LICENSOR") AND YOU OR THE LEGAL ENTITY YOU REPRESENT ("You" or its possessive, "Your"). BY TYPING "I ACCEPT" WHERE INDICATED YOU ACKNOWLEDGE THAT YOU HAVE READ THIS -AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS. IF -YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION PROCESS -AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE SOFTWARE OR -DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS SUBJECT TO THE -TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE SOFTWARE IS INSTALLED -ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL ENTITY, THEN YOU REPRESENT -AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND SUCH ENTITY TO THE TERMS AND -CONDITIONS OF THIS AGREEMENT. +AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS. +IF YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION +PROCESS AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE +SOFTWARE OR DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS +SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE +SOFTWARE IS INSTALLED ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL +ENTITY, THEN YOU REPRESENT AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND +SUCH ENTITY TO THE TERMS AND CONDITIONS OF THIS AGREEMENT. 1. Special Definitions @@ -29,157 +29,163 @@ CONDITIONS OF THIS AGREEMENT. Android Enabled Device. d. The term "Authorized Android Enabled Device Software" means a - packaged build for Authorized Android Enabled Devices, consisting of - files suitable for installation on an Authorized Android Enabled + packaged build for Authorized Android Enabled Devices, consisting + of files suitable for installation on an Authorized Android Enabled Device using a mechanism such as fastboot mode or recovery mode. 2. License Grant a. Subject to the terms of this Agreement, Licensor hereby grants to You, free of charge, a non-exclusive, non-sublicensable, - non-transferable, limited license, during the term of this Agreement, - to download, install and use the Software internally in - machine-readable (i.e., object code) form and the Documentation for - non-commercial use on an Authorized Android Enabled Device and - non-commercial redistribution of the Authorized Android Enabled - Device Software (the "Limited Purpose"). You may grant your end users - the right to use the Software for the Limited Purpose. The license to - the Software granted to You hereunder is solely for the Limited - Purpose set forth in this section, and the Software shall not be used - for any other purpose. + non-transferable, limited license, during the term of + this Agreement, to download, install and use the Software + internally in machine-readable (i.e., object code) form and the + Documentation for non-commercial use on an Authorized Android + Enabled Device and non-commercial redistribution of the Authorized + Android Enabled Device Software (the "Limited Purpose"). You may + grant your end users the right to use the Software for + the Limited Purpose. + The license to the Software granted to You hereunder is solely for + the Limited Purpose set forth in this section, and the Software + shall not be used for any other purpose. 3. Restrictions a. Retention of Rights. The entire right, title and interest in the - Software shall remain with Licensor and, unless specified in writing - hereunder, no rights are granted to any of the Software. Except for - the right to use the Software for the Limited Purpose, the delivery - of the Software to You does not convey to You any intellectual - property rights in the Software, including, but not limited to any - rights under any patent, trademark, copyright, or trade secret. - Neither the delivery of the Software to You nor any terms set forth - herein shall be construed to grant to You, either expressly, by - implication or by way of estoppel, any license under any patents or - other intellectual property rights covering or relating to any other - product or invention or any combination of the Software with any - other product. Any rights not expressly granted to You herein are - reserved by Licensor. + Software shall remain with Licensor and, unless specified in + writing hereunder, no rights are granted to any of the Software. + Except for the right to use the Software for the Limited Purpose, + the delivery of the Software to You does not convey to You any + intellectual property rights in the Software, including, but not + limited to any rights under any patent, trademark, copyright, or + trade secret. Neither the delivery of the Software to You nor any + terms set forth herein shall be construed to grant to You, either + expressly, by implication or by way of estoppel, any license under + any patents or other intellectual property rights covering or + relating to any other product or invention or any combination of + the Software with any other product. Any rights not expressly + granted to You herein are reserved by Licensor. b. No Commercialization or Distribution of the Software and Documentation. Except as expressly provided in Section 2 of this - Agreement, You shall have no right to (i) copy, disclose, distribute, - publically perform, publically display, transfer, alter, modify, - translate, disassemble, decompile, reverse engineer, or adapt the - Software and Documentation, or any portion thereof, or create any - derivative works based thereon; (ii) rent, lease, assign, sublicense, - resell, disclose or otherwise transfer the Software and Documentation - in whole or in part to any third party (iii) use the Software and - Documentation except for the Limited Purpose, (iv) remove or alter - any of the copyright or proprietary notices contained in any of the - Software and Documentation. For the purposes of clarity, nothing in - this Agreement prohibits You from making and distributing Android - Applications under commercial or non-commercial terms, provided that - You shall not contain, incorporate, and/or compile the Software or - any of its derivative works, in whole or in part, into Your Android - Applications and/or any software/devices created by You or by third - parties acting on Your behalf. You and any such third party shall - comply with all of the terms and conditions of this Agreement. + Agreement, You shall have no right to (i) copy, disclose, + distribute, publically perform, publically display, transfer, + alter, modify, translate, disassemble, decompile, reverse engineer, + or adapt the Software and Documentation, or any portion thereof, or + create any derivative works based thereon; (ii) rent, lease, + assign, sublicense, resell, disclose or otherwise transfer the + Software and Documentation in whole or in part to any third party + (iii) use the Software and Documentation except for the Limited + Purpose, (iv) remove or alter any of the copyright or proprietary + notices contained in any of the Software and Documentation. For the + purposes of clarity, nothing in this Agreement prohibits You from + making and distributing Android Applications under commercial or + non-commercial terms, provided that You shall not contain, + incorporate, and/or compile the Software or any of its derivative + works, in whole or in part, into Your Android Applications and/or + any software/devices created by You or by third parties acting on + Your behalf. You and any such third party shall comply with all of + the terms and conditions of this Agreement. c. No Reverse Engineering. Except for any portions of the Software - provided to You in source code format and except for any third party - code distributed with the Software that is licensed under contrary - terms, You will not reverse engineer, disassemble, - decompile, or translate the Software, or otherwise attempt to derive - the source code version of the Software, except if and to the extent - expressly permitted under any applicable law. - - d. Third Party Software. You agree that Android may contain third party - software. You agree that you may not distribute such third party - software for any purpose without appropriate licenses from the - applicable third party or parties. - - e. No Transfer or Assignment. You shall not assign any of its rights or - obligations under this Agreement. Any attempted assignment in + provided to You in source code format and except for any third + party code distributed with the Software that is licensed under + contrary terms, You will not reverse engineer, disassemble, + decompile, or translate the Software, or otherwise attempt to + derive the source code version of the Software, except if and to + the extent expressly permitted under any applicable law. + + d. Third Party Software. You agree that Android may contain third + party software. You agree that you may not distribute such third + party software for any purpose without appropriate licenses from + the applicable third party or parties. + + e. No Transfer or Assignment. You shall not assign any of its rights + or obligations under this Agreement. Any attempted assignment in contravention of this Section shall be void. 4. Indemnity - a. You agree to indemnify and hold harmless Licensor and its officers, - directors, customers, employees and successors and assigns (each an - "Indemnified Party") against any and all claims, demands, causes of - action, losses, liabilities, damages, costs and expenses, incurred by - the Indemnified Party (including but not limited to costs of defense, - investigation and reasonable attorney's fees) arising out of, - resulting from or related to (i) any software, products, - documentation, content, materials or derivative works created or - developed by You using the Software which causes an infringement of - any patent, copyright, trademark, trade secret, or other property, - publicity or privacy rights of any third parties arising in any - jurisdiction anywhere in the world, (ii) the download, distribution, - installation, storage, execution, use or transfer of such software, - products, documentation, content, materials or derivative works by - any person or entity, and/or (iii) any breach of this Agreement by - You. If requested by an Indemnified Party, You agree to defend such - Indemnified Party in connection with any third party claims, demands, - or causes of action resulting from, arising out of or in connection - with any of the foregoing. + a. You agree to indemnify and hold harmless Licensor and + its officers, directors, customers, employees and successors and + assigns (each an "Indemnified Party") against any and all claims, + demands, causes of action, losses, liabilities, damages, costs and + expenses, incurred by the Indemnified Party (including but not + limited to costs of defense, investigation and reasonable + attorney's fees) arising out of, resulting from or related to + (i) any software, products, documentation, content, materials or + derivative works created or developed by You using the Software + which causes an infringement of any patent, copyright, trademark, + trade secret, or other property, publicity or privacy rights of any + third parties arising in any jurisdiction anywhere in the world, + (ii) the download, distribution, installation, storage, execution, + use or transfer of such software, products, documentation, content, + materials or derivative works by any person or entity, and/or + (iii) any breach of this Agreement by You. If requested by an + Indemnified Party, You agree to defend such Indemnified Party in + connection with any third party claims, demands, or causes of + action resulting from, arising out of or in connection with any of + the foregoing. 5. Limitation of Liability a. TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAWS, UNDER NO CIRCUMSTANCES, INCLUDING WITHOUT LIMITATION NEGLIGENCE, SHALL - LICENSOR, ITS AFFILIATES AND/OR ITS DIRECTORS, OFFICERS, EMPLOYEES OR - AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE OR - CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO DAMAGES FOR LOSS - OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS - INFORMATION AND THE LIKE) ARISING OUT OF OR IN CONNECTION WITH THE - SOFTWARE OR ANY DOWNLOAD, INSTALLATION OR USE OF, OR INABILITY TO - USE, THE SOFTWARE, EVEN IF LICENSOR HAS BEEN ADVISED OF THE - POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE - LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL - DAMAGES SO THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE - LIMITED. IN NO EVENT SHALL LICENSOR'S TOTAL AGGREGATE LIABILITY TO - YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF ACTIONS - (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE, INDEMNIFICATION OR - OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS (US$100). THE LIMITATIONS - SET FORTH IN THIS PARAGRAPH SHALL BE DEEMED TO APPLY TO THE MAXIMUM - EXTENT PERMITTED BY APPLICABLE LAW. THE PARTIES HAVE FULLY CONSIDERED - THE FOREGOING ALLOCATION OF RISK AND FIND IT REASONABLE, AND THAT THE - FOREGOING LIMITATIONS IN THIS PARAGRAPH ARE AN ESSENTIAL BASIS OF - THE BARGAIN BETWEEN THE PARTIES. + LICENSOR, ITS AFFILIATES AND/OR ITS DIRECTORS, OFFICERS, + EMPLOYEES OR AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL, + SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT + LIMITED TO DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS + INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR ANY DOWNLOAD, + INSTALLATION OR USE OF, OR INABILITY TO USE, THE SOFTWARE, EVEN IF + LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR + EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO + THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE LIMITED. + IN NO EVENT SHALL LICENSOR'S TOTAL AGGREGATE LIABILITY + TO YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF + ACTIONS (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE, + INDEMNIFICATION OR OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS + (US$100). THE LIMITATIONS SET FORTH IN THIS PARAGRAPH SHALL BE + DEEMED TO APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW. + THE PARTIES HAVE FULLY CONSIDERED THE FOREGOING ALLOCATION OF RISK + AND FIND IT REASONABLE, AND THAT THE FOREGOING LIMITATIONS IN THIS + PARAGRAPH ARE AN ESSENTIAL BASIS OF THE BARGAIN BETWEEN THE + PARTIES. 6. No Warranty - a. LICENSOR MAKES NO WARRANTIES, EXPRESS OR IMPLIED, WITH RESPECT TO THE - SOFTWARE AND DOCUMENTATION PROVIDED UNDER THIS AGREEMENT, INCLUDING - BUT NOT LIMITED TO ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A - PARTICULAR PURPOSE OR AGAINST INFRINGEMENT, OR ANY EXPRESS OR IMPLIED - WARRANTY ARISING OUT OF TRADE USAGE OR OUT OF A COURSE OF DEALING OR - COURSE OF PERFORMANCE. NOTHING CONTAINED IN THIS AGREEMENT SHALL BE - CONSTRUED AS A WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE - VALIDITY OR SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL - PROPERTY RIGHT AND (II) THAT ANY MANUFACTURE OR USE WILL BE FREE FROM - INFRINGEMENT OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY - RIGHTS OF OTHERS, AND IT SHALL BE THE SOLE RESPONSIBILITY OF YOU TO - MAKE SUCH DETERMINATION AS IS NECESSARY WITH RESPECT TO THE - ACQUISITION OF LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY - OF THIRD PARTIES. LICENSOR SHALL NOT HAVE ANY OBLIGATION TO PROVIDE - ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT. + a. LICENSOR MAKES NO WARRANTIES, EXPRESS OR IMPLIED, WITH + RESPECT TO THE SOFTWARE AND DOCUMENTATION PROVIDED UNDER THIS + AGREEMENT, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF + MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR AGAINST + INFRINGEMENT, OR ANY EXPRESS OR IMPLIED WARRANTY ARISING OUT OF + TRADE USAGE OR OUT OF A COURSE OF DEALING OR COURSE OF PERFORMANCE. + NOTHING CONTAINED IN THIS AGREEMENT SHALL BE CONSTRUED AS A + WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE VALIDITY OR + SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT + AND (II) THAT ANY MANUFACTURE OR USE WILL BE FREE FROM INFRINGEMENT + OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY RIGHTS OF + OTHERS, AND IT SHALL BE THE SOLE RESPONSIBILITY OF YOU TO MAKE SUCH + DETERMINATION AS IS NECESSARY WITH RESPECT TO THE ACQUISITION OF + LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY OF THIRD + PARTIES. Licensor SHALL NOT HAVE ANY OBLIGATION TO + PROVIDE ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT. 7. Term and Termination a. This Agreement shall be effective on the date You accept this Agreement and shall remain in effect until terminated as provided herein. You may terminate the Agreement at any time by deleting and - destroying all copies of the Software and all related information in - Your possession or control. This Agreement terminates immediately and - automatically, with or without notice, if You fail to comply with any - provision hereof. Additionally, Licensor may at any time terminate - this Agreement, without cause, upon notice to You. Upon termination - You must delete or destroy all copies of the Software in Your - possession, and the license granted to You in this Agreement shall - terminate. Sections 3, 4, 5, 6 and 8 shall survive the termination of - this Agreement. + destroying all copies of the Software and all related information + in Your possession or control. This Agreement terminates + immediately and automatically, with or without notice, if You fail + to comply with any provision hereof. Additionally, Licensor may at + any time terminate this Agreement, without cause, upon notice to + You. Upon termination You must delete or destroy all copies of the + Software in Your possession, and the license granted to You in this + Agreement shall terminate. Sections 3, 4, 5, 6 and 8 shall survive + the termination of this Agreement. 8. Miscellaneous @@ -187,32 +193,33 @@ CONDITIONS OF THIS AGREEMENT. accordance with the laws of the State of California without giving effect to its conflict of laws provisions. The United Nations Convention on Contracts for the International Sale of Goods is - expressly disclaimed and shall not apply. Any claim arising out of or - related to this Agreement must be brought exclusively in a federal or - state court located in Santa Clara County, California and You consent - to the jurisdiction and venue of such courts. + expressly disclaimed and shall not apply. Any claim arising out of + or related to this Agreement must be brought exclusively in a + federal or state court located in Santa Clara County, California + and You consent to the jurisdiction and venue of such courts. b. Waiver and Severability. The failure of either party to require performance by the other party of any provision of this Agreement shall not affect the full right to require such performance at any - time thereafter; nor shall the waiver by either party of a breach of - any provision of this Agreement be taken or held to be a waiver of - the provision itself. Severability. If any provision of this - Agreement is unenforceable or invalid under any applicable law or is - so held by applicable court decision, such unenforceability or + time thereafter; nor shall the waiver by either party of a breach + of any provision of this Agreement be taken or held to be a waiver + of the provision itself. Severability. If any provision of this + Agreement is unenforceable or invalid under any applicable law or + is so held by applicable court decision, such unenforceability or invalidity shall not render this Agreement unenforceable or invalid - as a whole, and such provision shall be changed and interpreted so as - to best accomplish the objectives of such unenforceable or invalid - provision within the limits of applicable law or applicable court - decisions. + as a whole, and such provision shall be changed and interpreted so + as to best accomplish the objectives of such unenforceable or + invalid provision within the limits of applicable law or + applicable court decisions. c. Amendment and Modification. This Agreement and any of its terms and - provisions may only be amended, modified, supplemented or waived in a - writing signed by both parties hereto. + provisions may only be amended, modified, supplemented or waived in + a writing signed by both parties hereto. d. Compliance with Laws. You shall comply with all applicable laws, rules, and regulations in connection with its activities under this Agreement. e. Entire Agreement. This Agreement completely and exclusively states - the agreement between You and Licensor regarding this subject matter. + the agreement between You and Licensor regarding this subject + matter. diff --git a/self-extractors/nvidia/LICENSE b/self-extractors/nvidia/LICENSE index fc98233..313293a 100644 --- a/self-extractors/nvidia/LICENSE +++ b/self-extractors/nvidia/LICENSE @@ -2,14 +2,14 @@ THIS DEVELOPER SOFTWARE LICENSE AGREEMENT (THE "AGREEMENT") IS A LEGALLY BINDING AGREEMENT BETWEEN NVIDIA CORPORATION ("LICENSOR") AND YOU OR THE LEGAL ENTITY YOU REPRESENT ("You" or its possessive, "Your"). BY TYPING "I ACCEPT" WHERE INDICATED YOU ACKNOWLEDGE THAT YOU HAVE READ THIS -AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS. IF -YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION PROCESS -AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE SOFTWARE OR -DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS SUBJECT TO THE -TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE SOFTWARE IS INSTALLED -ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL ENTITY, THEN YOU REPRESENT -AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND SUCH ENTITY TO THE TERMS AND -CONDITIONS OF THIS AGREEMENT. +AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS. +IF YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION +PROCESS AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE +SOFTWARE OR DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS +SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE +SOFTWARE IS INSTALLED ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL +ENTITY, THEN YOU REPRESENT AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND +SUCH ENTITY TO THE TERMS AND CONDITIONS OF THIS AGREEMENT. 1. Special Definitions @@ -29,157 +29,163 @@ CONDITIONS OF THIS AGREEMENT. Android Enabled Device. d. The term "Authorized Android Enabled Device Software" means a - packaged build for Authorized Android Enabled Devices, consisting of - files suitable for installation on an Authorized Android Enabled + packaged build for Authorized Android Enabled Devices, consisting + of files suitable for installation on an Authorized Android Enabled Device using a mechanism such as fastboot mode or recovery mode. 2. License Grant a. Subject to the terms of this Agreement, Licensor hereby grants to You, free of charge, a non-exclusive, non-sublicensable, - non-transferable, limited license, during the term of this Agreement, - to download, install and use the Software internally in - machine-readable (i.e., object code) form and the Documentation for - non-commercial use on an Authorized Android Enabled Device and - non-commercial redistribution of the Authorized Android Enabled - Device Software (the "Limited Purpose"). You may grant your end users - the right to use the Software for the Limited Purpose. The license to - the Software granted to You hereunder is solely for the Limited - Purpose set forth in this section, and the Software shall not be used - for any other purpose. + non-transferable, limited license, during the term of + this Agreement, to download, install and use the Software + internally in machine-readable (i.e., object code) form and the + Documentation for non-commercial use on an Authorized Android + Enabled Device and non-commercial redistribution of the Authorized + Android Enabled Device Software (the "Limited Purpose"). You may + grant your end users the right to use the Software for + the Limited Purpose. + The license to the Software granted to You hereunder is solely for + the Limited Purpose set forth in this section, and the Software + shall not be used for any other purpose. 3. Restrictions a. Retention of Rights. The entire right, title and interest in the - Software shall remain with Licensor and, unless specified in writing - hereunder, no rights are granted to any of the Software. Except for - the right to use the Software for the Limited Purpose, the delivery - of the Software to You does not convey to You any intellectual - property rights in the Software, including, but not limited to any - rights under any patent, trademark, copyright, or trade secret. - Neither the delivery of the Software to You nor any terms set forth - herein shall be construed to grant to You, either expressly, by - implication or by way of estoppel, any license under any patents or - other intellectual property rights covering or relating to any other - product or invention or any combination of the Software with any - other product. Any rights not expressly granted to You herein are - reserved by Licensor. + Software shall remain with Licensor and, unless specified in + writing hereunder, no rights are granted to any of the Software. + Except for the right to use the Software for the Limited Purpose, + the delivery of the Software to You does not convey to You any + intellectual property rights in the Software, including, but not + limited to any rights under any patent, trademark, copyright, or + trade secret. Neither the delivery of the Software to You nor any + terms set forth herein shall be construed to grant to You, either + expressly, by implication or by way of estoppel, any license under + any patents or other intellectual property rights covering or + relating to any other product or invention or any combination of + the Software with any other product. Any rights not expressly + granted to You herein are reserved by Licensor. b. No Commercialization or Distribution of the Software and Documentation. Except as expressly provided in Section 2 of this - Agreement, You shall have no right to (i) copy, disclose, distribute, - publically perform, publically display, transfer, alter, modify, - translate, disassemble, decompile, reverse engineer, or adapt the - Software and Documentation, or any portion thereof, or create any - derivative works based thereon; (ii) rent, lease, assign, sublicense, - resell, disclose or otherwise transfer the Software and Documentation - in whole or in part to any third party (iii) use the Software and - Documentation except for the Limited Purpose, (iv) remove or alter - any of the copyright or proprietary notices contained in any of the - Software and Documentation. For the purposes of clarity, nothing in - this Agreement prohibits You from making and distributing Android - Applications under commercial or non-commercial terms, provided that - You shall not contain, incorporate, and/or compile the Software or - any of its derivative works, in whole or in part, into Your Android - Applications and/or any software/devices created by You or by third - parties acting on Your behalf. You and any such third party shall - comply with all of the terms and conditions of this Agreement. + Agreement, You shall have no right to (i) copy, disclose, + distribute, publically perform, publically display, transfer, + alter, modify, translate, disassemble, decompile, reverse engineer, + or adapt the Software and Documentation, or any portion thereof, or + create any derivative works based thereon; (ii) rent, lease, + assign, sublicense, resell, disclose or otherwise transfer the + Software and Documentation in whole or in part to any third party + (iii) use the Software and Documentation except for the Limited + Purpose, (iv) remove or alter any of the copyright or proprietary + notices contained in any of the Software and Documentation. For the + purposes of clarity, nothing in this Agreement prohibits You from + making and distributing Android Applications under commercial or + non-commercial terms, provided that You shall not contain, + incorporate, and/or compile the Software or any of its derivative + works, in whole or in part, into Your Android Applications and/or + any software/devices created by You or by third parties acting on + Your behalf. You and any such third party shall comply with all of + the terms and conditions of this Agreement. c. No Reverse Engineering. Except for any portions of the Software - provided to You in source code format and except for any third party - code distributed with the Software that is licensed under contrary - terms, You will not reverse engineer, disassemble, - decompile, or translate the Software, or otherwise attempt to derive - the source code version of the Software, except if and to the extent - expressly permitted under any applicable law. - - d. Third Party Software. You agree that Android may contain third party - software. You agree that you may not distribute such third party - software for any purpose without appropriate licenses from the - applicable third party or parties. - - e. No Transfer or Assignment. You shall not assign any of its rights or - obligations under this Agreement. Any attempted assignment in + provided to You in source code format and except for any third + party code distributed with the Software that is licensed under + contrary terms, You will not reverse engineer, disassemble, + decompile, or translate the Software, or otherwise attempt to + derive the source code version of the Software, except if and to + the extent expressly permitted under any applicable law. + + d. Third Party Software. You agree that Android may contain third + party software. You agree that you may not distribute such third + party software for any purpose without appropriate licenses from + the applicable third party or parties. + + e. No Transfer or Assignment. You shall not assign any of its rights + or obligations under this Agreement. Any attempted assignment in contravention of this Section shall be void. 4. Indemnity - a. You agree to indemnify and hold harmless Licensor and its officers, - directors, customers, employees and successors and assigns (each an - "Indemnified Party") against any and all claims, demands, causes of - action, losses, liabilities, damages, costs and expenses, incurred by - the Indemnified Party (including but not limited to costs of defense, - investigation and reasonable attorney's fees) arising out of, - resulting from or related to (i) any software, products, - documentation, content, materials or derivative works created or - developed by You using the Software which causes an infringement of - any patent, copyright, trademark, trade secret, or other property, - publicity or privacy rights of any third parties arising in any - jurisdiction anywhere in the world, (ii) the download, distribution, - installation, storage, execution, use or transfer of such software, - products, documentation, content, materials or derivative works by - any person or entity, and/or (iii) any breach of this Agreement by - You. If requested by an Indemnified Party, You agree to defend such - Indemnified Party in connection with any third party claims, demands, - or causes of action resulting from, arising out of or in connection - with any of the foregoing. + a. You agree to indemnify and hold harmless Licensor and + its officers, directors, customers, employees and successors and + assigns (each an "Indemnified Party") against any and all claims, + demands, causes of action, losses, liabilities, damages, costs and + expenses, incurred by the Indemnified Party (including but not + limited to costs of defense, investigation and reasonable + attorney's fees) arising out of, resulting from or related to + (i) any software, products, documentation, content, materials or + derivative works created or developed by You using the Software + which causes an infringement of any patent, copyright, trademark, + trade secret, or other property, publicity or privacy rights of any + third parties arising in any jurisdiction anywhere in the world, + (ii) the download, distribution, installation, storage, execution, + use or transfer of such software, products, documentation, content, + materials or derivative works by any person or entity, and/or + (iii) any breach of this Agreement by You. If requested by an + Indemnified Party, You agree to defend such Indemnified Party in + connection with any third party claims, demands, or causes of + action resulting from, arising out of or in connection with any of + the foregoing. 5. Limitation of Liability a. TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAWS, UNDER NO CIRCUMSTANCES, INCLUDING WITHOUT LIMITATION NEGLIGENCE, SHALL - LICENSOR, ITS AFFILIATES AND/OR ITS DIRECTORS, OFFICERS, EMPLOYEES OR - AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE OR - CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO DAMAGES FOR LOSS - OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS - INFORMATION AND THE LIKE) ARISING OUT OF OR IN CONNECTION WITH THE - SOFTWARE OR ANY DOWNLOAD, INSTALLATION OR USE OF, OR INABILITY TO - USE, THE SOFTWARE, EVEN IF LICENSOR HAS BEEN ADVISED OF THE - POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE - LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL - DAMAGES SO THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE - LIMITED. IN NO EVENT SHALL LICENSOR'S TOTAL AGGREGATE LIABILITY TO - YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF ACTIONS - (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE, INDEMNIFICATION OR - OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS (US$100). THE LIMITATIONS - SET FORTH IN THIS PARAGRAPH SHALL BE DEEMED TO APPLY TO THE MAXIMUM - EXTENT PERMITTED BY APPLICABLE LAW. THE PARTIES HAVE FULLY CONSIDERED - THE FOREGOING ALLOCATION OF RISK AND FIND IT REASONABLE, AND THAT THE - FOREGOING LIMITATIONS IN THIS PARAGRAPH ARE AN ESSENTIAL BASIS OF - THE BARGAIN BETWEEN THE PARTIES. + LICENSOR, ITS AFFILIATES AND/OR ITS DIRECTORS, OFFICERS, + EMPLOYEES OR AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL, + SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT + LIMITED TO DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS + INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR ANY DOWNLOAD, + INSTALLATION OR USE OF, OR INABILITY TO USE, THE SOFTWARE, EVEN IF + LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR + EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO + THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE LIMITED. + IN NO EVENT SHALL LICENSOR'S TOTAL AGGREGATE LIABILITY + TO YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF + ACTIONS (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE, + INDEMNIFICATION OR OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS + (US$100). THE LIMITATIONS SET FORTH IN THIS PARAGRAPH SHALL BE + DEEMED TO APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW. + THE PARTIES HAVE FULLY CONSIDERED THE FOREGOING ALLOCATION OF RISK + AND FIND IT REASONABLE, AND THAT THE FOREGOING LIMITATIONS IN THIS + PARAGRAPH ARE AN ESSENTIAL BASIS OF THE BARGAIN BETWEEN THE + PARTIES. 6. No Warranty - a. LICENSOR MAKES NO WARRANTIES, EXPRESS OR IMPLIED, WITH RESPECT TO THE - SOFTWARE AND DOCUMENTATION PROVIDED UNDER THIS AGREEMENT, INCLUDING - BUT NOT LIMITED TO ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A - PARTICULAR PURPOSE OR AGAINST INFRINGEMENT, OR ANY EXPRESS OR IMPLIED - WARRANTY ARISING OUT OF TRADE USAGE OR OUT OF A COURSE OF DEALING OR - COURSE OF PERFORMANCE. NOTHING CONTAINED IN THIS AGREEMENT SHALL BE - CONSTRUED AS A WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE - VALIDITY OR SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL - PROPERTY RIGHT AND (II) THAT ANY MANUFACTURE OR USE WILL BE FREE FROM - INFRINGEMENT OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY - RIGHTS OF OTHERS, AND IT SHALL BE THE SOLE RESPONSIBILITY OF YOU TO - MAKE SUCH DETERMINATION AS IS NECESSARY WITH RESPECT TO THE - ACQUISITION OF LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY - OF THIRD PARTIES. LICENSOR SHALL NOT HAVE ANY OBLIGATION TO PROVIDE - ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT. + a. LICENSOR MAKES NO WARRANTIES, EXPRESS OR IMPLIED, WITH + RESPECT TO THE SOFTWARE AND DOCUMENTATION PROVIDED UNDER THIS + AGREEMENT, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF + MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR AGAINST + INFRINGEMENT, OR ANY EXPRESS OR IMPLIED WARRANTY ARISING OUT OF + TRADE USAGE OR OUT OF A COURSE OF DEALING OR COURSE OF PERFORMANCE. + NOTHING CONTAINED IN THIS AGREEMENT SHALL BE CONSTRUED AS A + WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE VALIDITY OR + SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT + AND (II) THAT ANY MANUFACTURE OR USE WILL BE FREE FROM INFRINGEMENT + OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY RIGHTS OF + OTHERS, AND IT SHALL BE THE SOLE RESPONSIBILITY OF YOU TO MAKE SUCH + DETERMINATION AS IS NECESSARY WITH RESPECT TO THE ACQUISITION OF + LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY OF THIRD + PARTIES. Licensor SHALL NOT HAVE ANY OBLIGATION TO + PROVIDE ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT. 7. Term and Termination a. This Agreement shall be effective on the date You accept this Agreement and shall remain in effect until terminated as provided herein. You may terminate the Agreement at any time by deleting and - destroying all copies of the Software and all related information in - Your possession or control. This Agreement terminates immediately and - automatically, with or without notice, if You fail to comply with any - provision hereof. Additionally, Licensor may at any time terminate - this Agreement, without cause, upon notice to You. Upon termination - You must delete or destroy all copies of the Software in Your - possession, and the license granted to You in this Agreement shall - terminate. Sections 3, 4, 5, 6 and 8 shall survive the termination of - this Agreement. + destroying all copies of the Software and all related information + in Your possession or control. This Agreement terminates + immediately and automatically, with or without notice, if You fail + to comply with any provision hereof. Additionally, Licensor may at + any time terminate this Agreement, without cause, upon notice to + You. Upon termination You must delete or destroy all copies of the + Software in Your possession, and the license granted to You in this + Agreement shall terminate. Sections 3, 4, 5, 6 and 8 shall survive + the termination of this Agreement. 8. Miscellaneous @@ -187,32 +193,33 @@ CONDITIONS OF THIS AGREEMENT. accordance with the laws of the State of California without giving effect to its conflict of laws provisions. The United Nations Convention on Contracts for the International Sale of Goods is - expressly disclaimed and shall not apply. Any claim arising out of or - related to this Agreement must be brought exclusively in a federal or - state court located in Santa Clara County, California and You consent - to the jurisdiction and venue of such courts. + expressly disclaimed and shall not apply. Any claim arising out of + or related to this Agreement must be brought exclusively in a + federal or state court located in Santa Clara County, California + and You consent to the jurisdiction and venue of such courts. b. Waiver and Severability. The failure of either party to require performance by the other party of any provision of this Agreement shall not affect the full right to require such performance at any - time thereafter; nor shall the waiver by either party of a breach of - any provision of this Agreement be taken or held to be a waiver of - the provision itself. Severability. If any provision of this - Agreement is unenforceable or invalid under any applicable law or is - so held by applicable court decision, such unenforceability or + time thereafter; nor shall the waiver by either party of a breach + of any provision of this Agreement be taken or held to be a waiver + of the provision itself. Severability. If any provision of this + Agreement is unenforceable or invalid under any applicable law or + is so held by applicable court decision, such unenforceability or invalidity shall not render this Agreement unenforceable or invalid - as a whole, and such provision shall be changed and interpreted so as - to best accomplish the objectives of such unenforceable or invalid - provision within the limits of applicable law or applicable court - decisions. + as a whole, and such provision shall be changed and interpreted so + as to best accomplish the objectives of such unenforceable or + invalid provision within the limits of applicable law or + applicable court decisions. c. Amendment and Modification. This Agreement and any of its terms and - provisions may only be amended, modified, supplemented or waived in a - writing signed by both parties hereto. + provisions may only be amended, modified, supplemented or waived in + a writing signed by both parties hereto. d. Compliance with Laws. You shall comply with all applicable laws, rules, and regulations in connection with its activities under this Agreement. e. Entire Agreement. This Agreement completely and exclusively states - the agreement between You and Licensor regarding this subject matter. + the agreement between You and Licensor regarding this subject + matter. diff --git a/self-extractors/nvidia/staging/device-partial.mk b/self-extractors/nvidia/staging/device-partial.mk index 52f4aae..4b5399e 100644 --- a/self-extractors/nvidia/staging/device-partial.mk +++ b/self-extractors/nvidia/staging/device-partial.mk @@ -70,3 +70,5 @@ PRODUCT_PACKAGES := \ libnvwsi \ libstagefrighthw \ libtf_crypto_sst + +PRODUCT_PACKAGES += keystore.grouper diff --git a/self-extractors/trusted_logic/staging/proprietary/Android.mk b/self-extractors/nvidia/staging/keymaster/Android.mk similarity index 66% rename from self-extractors/trusted_logic/staging/proprietary/Android.mk rename to self-extractors/nvidia/staging/keymaster/Android.mk index 055849e..2e88dc3 100644 --- a/self-extractors/trusted_logic/staging/proprietary/Android.mk +++ b/self-extractors/nvidia/staging/keymaster/Android.mk @@ -12,27 +12,34 @@ # See the License for the specific language governing permissions and # limitations under the License. -LOCAL_PATH := $(call my-dir) - +ifeq ($(TARGET_ARCH),arm) ifeq ($(TARGET_DEVICE),grouper) -include $(CLEAR_VARS) -LOCAL_MODULE := tf_daemon -LOCAL_SRC_FILES := tf_daemon -LOCAL_MODULE_CLASS := EXECUTABLES -LOCAL_MODULE_PATH := $(TARGET_OUT)/bin -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_OWNER := trusted_logic -include $(BUILD_PREBUILT) +LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) + LOCAL_MODULE := keystore.grouper -LOCAL_SRC_FILES := keystore.grouper.so -LOCAL_MODULE_SUFFIX := .so -LOCAL_MODULE_CLASS := SHARED_LIBRARIES + LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw + +LOCAL_SRC_FILES := \ + keymaster_grouper.cpp + +LOCAL_C_INCLUDES := \ + libcore/include \ + external/openssl/include \ + $(LOCAL_PATH)/../security/tf_sdk/include + +LOCAL_CFLAGS := -fvisibility=hidden -Wall -Werror + +LOCAL_SHARED_LIBRARIES := libcutils liblog libcrypto libtf_crypto_sst + LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_OWNER := trusted_logic -include $(BUILD_PREBUILT) +LOCAL_MODULE_OWNER := google + +include $(BUILD_SHARED_LIBRARY) + +endif endif diff --git a/self-extractors/nvidia/staging/keymaster/NOTICE b/self-extractors/nvidia/staging/keymaster/NOTICE new file mode 100644 index 0000000..390eaed --- /dev/null +++ b/self-extractors/nvidia/staging/keymaster/NOTICE @@ -0,0 +1,220 @@ +/** + * Copyright(c) 2011 Trusted Logic. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name Trusted Logic nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + + Copyright (C) 2011 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + diff --git a/self-extractors/nvidia/staging/keymaster/cryptoki.h b/self-extractors/nvidia/staging/keymaster/cryptoki.h new file mode 100644 index 0000000..41a66ec --- /dev/null +++ b/self-extractors/nvidia/staging/keymaster/cryptoki.h @@ -0,0 +1,54 @@ +/** + * Copyright(c) 2011 Trusted Logic. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name Trusted Logic nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef __CRYPTOKI_H__ +#define __CRYPTOKI_H__ + +#include "s_type.h" + +/* Define CRYPTOKI_EXPORTS during the build of cryptoki libraries. Do + * not define it in applications. + */ +#ifdef CRYPTOKI_EXPORTS +#define PKCS11_EXPORT S_DLL_EXPORT +#else +#define PKCS11_EXPORT S_DLL_IMPORT +#endif + +#define CKV_TOKEN_SYSTEM 0x00000001 +#define CKV_TOKEN_SYSTEM_SHARED 0x00000000 +#define CKV_TOKEN_USER 0x00004004 +#define CKV_TOKEN_USER_SHARED 0x00004012 + +#define CKV_TOKEN_SYSTEM_GROUP(gid) (0x00010000 | (gid)) +#define CKV_TOKEN_USER_GROUP(gid) (0x00020000 | (gid)) + +#include "pkcs11.h" + +#endif /* __CRYPTOKI_H__ */ diff --git a/self-extractors/nvidia/staging/keymaster/keymaster_grouper.cpp b/self-extractors/nvidia/staging/keymaster/keymaster_grouper.cpp new file mode 100644 index 0000000..365b2e1 --- /dev/null +++ b/self-extractors/nvidia/staging/keymaster/keymaster_grouper.cpp @@ -0,0 +1,981 @@ +/* + * Copyright (C) 2011 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include +#include +#include + +// For debugging +#define LOG_NDEBUG 0 + +// TEE is the Trusted Execution Environment +#define LOG_TAG "TEEKeyMaster" +#include + +#include +#include + +#include +#include +#include +#include +#include + +#include +#include + +#include + + +/** The size of a key ID in bytes */ +#define ID_LENGTH 32 + +/** The current stored key version. */ +const static uint32_t KEY_VERSION = 1; + + +struct EVP_PKEY_Delete { + void operator()(EVP_PKEY* p) const { + EVP_PKEY_free(p); + } +}; +typedef UniquePtr Unique_EVP_PKEY; + +struct RSA_Delete { + void operator()(RSA* p) const { + RSA_free(p); + } +}; +typedef UniquePtr Unique_RSA; + +struct PKCS8_PRIV_KEY_INFO_Delete { + void operator()(PKCS8_PRIV_KEY_INFO* p) const { + PKCS8_PRIV_KEY_INFO_free(p); + } +}; +typedef UniquePtr Unique_PKCS8_PRIV_KEY_INFO; + +typedef UniquePtr Unique_keymaster_device_t; + +typedef UniquePtr Unique_CK_BYTE; + +typedef UniquePtr Unique_CK_ATTRIBUTE; + +class ByteArray { +public: + ByteArray(CK_BYTE* array, size_t len) : + mArray(array), mLength(len) { + } + + ByteArray(size_t len) : + mLength(len) { + mArray = new CK_BYTE[len]; + } + + ~ByteArray() { + if (mArray != NULL) { + delete[] mArray; + } + } + + CK_BYTE* get() const { + return mArray; + } + + void setLength(size_t length) { + mLength = length; + } + + size_t length() const { + return mLength; + } + + CK_BYTE* release() { + CK_BYTE* array = mArray; + mArray = NULL; + return array; + } + +private: + CK_BYTE* mArray; + size_t mLength; +}; +typedef UniquePtr Unique_ByteArray; + +class CryptoSession { +public: + CryptoSession(CK_SESSION_HANDLE masterHandle) : + mHandle(masterHandle), mSubsession(CK_INVALID_HANDLE) { + CK_SESSION_HANDLE subsessionHandle = mHandle; + CK_RV openSessionRV = C_OpenSession(CKV_TOKEN_USER, + CKF_SERIAL_SESSION | CKF_RW_SESSION | CKVF_OPEN_SUB_SESSION, + NULL, + NULL, + &subsessionHandle); + + if (openSessionRV != CKR_OK || subsessionHandle == CK_INVALID_HANDLE) { + (void) C_Finalize(NULL_PTR); + ALOGE("Error opening secondary session with TEE: 0x%x", openSessionRV); + } else { + ALOGV("Opening subsession 0x%x", subsessionHandle); + mSubsession = subsessionHandle; + } + } + + ~CryptoSession() { + if (mSubsession != CK_INVALID_HANDLE) { + CK_RV rv = C_CloseSession(mSubsession); + ALOGV("Closing subsession 0x%x: 0x%x", mSubsession, rv); + mSubsession = CK_INVALID_HANDLE; + } + } + + CK_SESSION_HANDLE get() const { + return mSubsession; + } + + CK_SESSION_HANDLE getPrimary() const { + return mHandle; + } + +private: + CK_SESSION_HANDLE mHandle; + CK_SESSION_HANDLE mSubsession; +}; + +class ObjectHandle { +public: + ObjectHandle(const CryptoSession* session, CK_OBJECT_HANDLE handle = CK_INVALID_HANDLE) : + mSession(session), mHandle(handle) { + } + + ~ObjectHandle() { + if (mHandle != CK_INVALID_HANDLE) { + CK_RV rv = C_CloseObjectHandle(mSession->getPrimary(), mHandle); + if (rv != CKR_OK) { + ALOGW("Couldn't close object handle 0x%x: 0x%x", mHandle, rv); + } else { + ALOGV("Closing object handle 0x%x", mHandle); + mHandle = CK_INVALID_HANDLE; + } + } + } + + CK_OBJECT_HANDLE get() const { + return mHandle; + } + + void reset(CK_OBJECT_HANDLE handle) { + mHandle = handle; + } + +private: + const CryptoSession* mSession; + CK_OBJECT_HANDLE mHandle; +}; + + +/** + * Many OpenSSL APIs take ownership of an argument on success but don't free the argument + * on failure. This means we need to tell our scoped pointers when we've transferred ownership, + * without triggering a warning by not using the result of release(). + */ +#define OWNERSHIP_TRANSFERRED(obj) \ + typeof (obj.release()) _dummy __attribute__((unused)) = obj.release() + + +/* + * Checks this thread's OpenSSL error queue and logs if + * necessary. + */ +static void logOpenSSLError(const char* location) { + int error = ERR_get_error(); + + if (error != 0) { + char message[256]; + ERR_error_string_n(error, message, sizeof(message)); + ALOGE("OpenSSL error in %s %d: %s", location, error, message); + } + + ERR_clear_error(); + ERR_remove_state(0); +} + + +/** + * Convert from OpenSSL's BIGNUM format to TEE's Big Integer format. + */ +static ByteArray* bignum_to_array(const BIGNUM* bn) { + const int bignumSize = BN_num_bytes(bn); + + Unique_CK_BYTE bytes(new CK_BYTE[bignumSize]); + + unsigned char* tmp = reinterpret_cast(bytes.get()); + if (BN_bn2bin(bn, tmp) != bignumSize) { + ALOGE("public exponent size wasn't what was expected"); + return NULL; + } + + return new ByteArray(bytes.release(), bignumSize); +} + +static void set_attribute(CK_ATTRIBUTE* attrib, CK_ATTRIBUTE_TYPE type, void* pValue, + CK_ULONG ulValueLen) { + attrib->type = type; + attrib->pValue = pValue; + attrib->ulValueLen = ulValueLen; +} + +static ByteArray* generate_random_id() { + Unique_ByteArray id(new ByteArray(ID_LENGTH)); + if (RAND_pseudo_bytes(reinterpret_cast(id->get()), id->length()) < 0) { + return NULL; + } + + return id.release(); +} + +static int keyblob_save(ByteArray* objId, uint8_t** key_blob, size_t* key_blob_length) { + Unique_ByteArray handleBlob(new ByteArray(sizeof(uint32_t) + objId->length())); + if (handleBlob.get() == NULL) { + ALOGE("Could not allocate key blob"); + return -1; + } + uint8_t* tmp = handleBlob->get(); + for (size_t i = 0; i < sizeof(uint32_t); i++) { + *tmp++ = KEY_VERSION >> ((sizeof(uint32_t) - i - 1) * 8); + } + memcpy(tmp, objId->get(), objId->length()); + + *key_blob_length = handleBlob->length(); + *key_blob = handleBlob->get(); + ByteArray* unused __attribute__((unused)) = handleBlob.release(); + + return 0; +} + +static int find_single_object(const uint8_t* obj_id, const size_t obj_id_length, + CK_OBJECT_CLASS obj_class, const CryptoSession* session, ObjectHandle* object) { + + // Note that the CKA_ID attribute is never written, so we can cast away const here. + void* obj_id_ptr = reinterpret_cast(const_cast(obj_id)); + CK_ATTRIBUTE attributes[] = { + { CKA_ID, obj_id_ptr, obj_id_length }, + { CKA_CLASS, &obj_class, sizeof(obj_class) }, + }; + + CK_RV rv = C_FindObjectsInit(session->get(), attributes, + sizeof(attributes) / sizeof(CK_ATTRIBUTE)); + if (rv != CKR_OK) { + ALOGE("Error in C_FindObjectsInit: 0x%x", rv); + return -1; + } + + CK_OBJECT_HANDLE tmpHandle; + CK_ULONG tmpCount; + + rv = C_FindObjects(session->get(), &tmpHandle, 1, &tmpCount); + ALOGV("Found %d object 0x%x : class 0x%x", tmpCount, tmpHandle, obj_class); + if (rv != CKR_OK || tmpCount != 1) { + C_FindObjectsFinal(session->get()); + ALOGE("Couldn't find key!"); + return -1; + } + C_FindObjectsFinal(session->get()); + + object->reset(tmpHandle); + return 0; +} + +static int keyblob_restore(const CryptoSession* session, const uint8_t* keyBlob, + const size_t keyBlobLength, ObjectHandle* public_key, ObjectHandle* private_key) { + if (keyBlob == NULL) { + ALOGE("key blob was null"); + return -1; + } + + if (keyBlobLength < (sizeof(KEY_VERSION) + ID_LENGTH)) { + ALOGE("key blob is not correct size"); + return -1; + } + + uint32_t keyVersion = 0; + + const uint8_t* p = keyBlob; + for (size_t i = 0; i < sizeof(keyVersion); i++) { + keyVersion = (keyVersion << 8) | *p++; + } + + if (keyVersion != 1) { + ALOGE("Invalid key version %d", keyVersion); + return -1; + } + + return find_single_object(p, ID_LENGTH, CKO_PUBLIC_KEY, session, public_key) + || find_single_object(p, ID_LENGTH, CKO_PRIVATE_KEY, session, private_key); +} + +static int tee_generate_keypair(const keymaster_device_t* dev, + const keymaster_keypair_t type, const void* key_params, + uint8_t** key_blob, size_t* key_blob_length) { + CK_BBOOL bTRUE = CK_TRUE; + + if (type != TYPE_RSA) { + ALOGW("Unknown key type %d", type); + return -1; + } + + if (key_params == NULL) { + ALOGW("generate_keypair params were NULL"); + return -1; + } + + keymaster_rsa_keygen_params_t* rsa_params = (keymaster_rsa_keygen_params_t*) key_params; + + CK_MECHANISM mechanism = { + CKM_RSA_PKCS_KEY_PAIR_GEN, NULL, 0, + }; + CK_ULONG modulusBits = (CK_ULONG) rsa_params->modulus_size; + + /** + * Convert our unsigned 64-bit integer to the TEE Big Integer class. It's + * an unsigned array of bytes with MSB first. + */ + CK_BYTE publicExponent[sizeof(uint64_t)]; + const uint64_t exp = rsa_params->public_exponent; + size_t offset = sizeof(publicExponent) - 1; + for (size_t i = 0; i < sizeof(publicExponent); i++) { + publicExponent[offset--] = (exp >> (i * CHAR_BIT)) & 0xFF; + } + + Unique_ByteArray objId(generate_random_id()); + if (objId.get() == NULL) { + ALOGE("Couldn't generate random key ID"); + return -1; + } + + CK_ATTRIBUTE publicKeyTemplate[] = { + {CKA_ID, objId->get(), objId->length()}, + {CKA_TOKEN, &bTRUE, sizeof(bTRUE)}, + {CKA_ENCRYPT, &bTRUE, sizeof(bTRUE)}, + {CKA_VERIFY, &bTRUE, sizeof(bTRUE)}, + {CKA_MODULUS_BITS, &modulusBits, sizeof(modulusBits)}, + {CKA_PUBLIC_EXPONENT, publicExponent, sizeof(publicExponent)}, + }; + + CK_ATTRIBUTE privateKeyTemplate[] = { + {CKA_ID, objId->get(), objId->length()}, + {CKA_TOKEN, &bTRUE, sizeof(bTRUE)}, + {CKA_DECRYPT, &bTRUE, sizeof(bTRUE)}, + {CKA_SIGN, &bTRUE, sizeof(bTRUE)}, + }; + + CryptoSession session(reinterpret_cast(dev->context)); + + CK_OBJECT_HANDLE hPublicKey, hPrivateKey; + CK_RV rv = C_GenerateKeyPair(session.get(), + &mechanism, + publicKeyTemplate, + sizeof(publicKeyTemplate)/sizeof(CK_ATTRIBUTE), + privateKeyTemplate, + sizeof(privateKeyTemplate)/sizeof(CK_ATTRIBUTE), + &hPublicKey, + &hPrivateKey); + + if (rv != CKR_OK) { + ALOGE("Generate keypair failed: 0x%x", rv); + return -1; + } + + ObjectHandle publicKey(&session, hPublicKey); + ObjectHandle privateKey(&session, hPrivateKey); + ALOGV("public handle = 0x%x, private handle = 0x%x", publicKey.get(), privateKey.get()); + + return keyblob_save(objId.get(), key_blob, key_blob_length); +} + +static int tee_import_keypair(const keymaster_device_t* dev, + const uint8_t* key, const size_t key_length, + uint8_t** key_blob, size_t* key_blob_length) { + CK_RV rv; + CK_BBOOL bTRUE = CK_TRUE; + + if (key == NULL) { + ALOGW("provided key is null"); + return -1; + } + + Unique_PKCS8_PRIV_KEY_INFO pkcs8(d2i_PKCS8_PRIV_KEY_INFO(NULL, &key, key_length)); + if (pkcs8.get() == NULL) { + logOpenSSLError("tee_import_keypair"); + return -1; + } + + /* assign to EVP */ + Unique_EVP_PKEY pkey(EVP_PKCS82PKEY(pkcs8.get())); + if (pkey.get() == NULL) { + logOpenSSLError("tee_import_keypair"); + return -1; + } + + if (EVP_PKEY_type(pkey->type) != EVP_PKEY_RSA) { + ALOGE("Unsupported key type: %d", EVP_PKEY_type(pkey->type)); + return -1; + } + + Unique_RSA rsa(EVP_PKEY_get1_RSA(pkey.get())); + if (rsa.get() == NULL) { + logOpenSSLError("tee_import_keypair"); + return -1; + } + + Unique_ByteArray modulus(bignum_to_array(rsa->n)); + if (modulus.get() == NULL) { + ALOGW("Could not convert modulus to array"); + return -1; + } + + Unique_ByteArray publicExponent(bignum_to_array(rsa->e)); + if (publicExponent.get() == NULL) { + ALOGW("Could not convert publicExponent to array"); + return -1; + } + + CK_KEY_TYPE rsaType = CKK_RSA; + + CK_OBJECT_CLASS pubClass = CKO_PUBLIC_KEY; + + Unique_ByteArray objId(generate_random_id()); + if (objId.get() == NULL) { + ALOGE("Couldn't generate random key ID"); + return -1; + } + + CK_ATTRIBUTE publicKeyTemplate[] = { + {CKA_ID, objId->get(), objId->length()}, + {CKA_TOKEN, &bTRUE, sizeof(bTRUE)}, + {CKA_CLASS, &pubClass, sizeof(pubClass)}, + {CKA_KEY_TYPE, &rsaType, sizeof(rsaType)}, + {CKA_ENCRYPT, &bTRUE, sizeof(bTRUE)}, + {CKA_VERIFY, &bTRUE, sizeof(bTRUE)}, + {CKA_MODULUS, modulus->get(), modulus->length()}, + {CKA_PUBLIC_EXPONENT, publicExponent->get(), publicExponent->length()}, + }; + + CryptoSession session(reinterpret_cast(dev->context)); + + CK_OBJECT_HANDLE hPublicKey; + rv = C_CreateObject(session.get(), + publicKeyTemplate, + sizeof(publicKeyTemplate)/sizeof(CK_ATTRIBUTE), + &hPublicKey); + if (rv != CKR_OK) { + ALOGE("Creation of public key failed: 0x%x", rv); + return -1; + } + ObjectHandle publicKey(&session, hPublicKey); + + Unique_ByteArray privateExponent(bignum_to_array(rsa->d)); + if (privateExponent.get() == NULL) { + ALOGW("Could not convert private exponent"); + return -1; + } + + + /* + * Normally we need: + * CKA_ID + * CKA_TOKEN + * CKA_CLASS + * CKA_KEY_TYPE + * + * CKA_DECRYPT + * CKA_SIGN + * + * CKA_MODULUS + * CKA_PUBLIC_EXPONENT + * CKA_PRIVATE_EXPONENT + */ +#define PRIV_ATTRIB_NORMAL_NUM (4 + 2 + 3) + + /* + * For additional private key values: + * CKA_PRIME_1 + * CKA_PRIME_2 + * + * CKA_EXPONENT_1 + * CKA_EXPONENT_2 + * + * CKA_COEFFICIENT + */ +#define PRIV_ATTRIB_EXTENDED_NUM (PRIV_ATTRIB_NORMAL_NUM + 5) + + /* + * If we have the prime, prime exponents, and coefficient, we can + * copy them in. + */ + bool has_extra_data = (rsa->p != NULL) && (rsa->q != NULL) && (rsa->dmp1 != NULL) && + (rsa->dmq1 != NULL) && (rsa->iqmp != NULL); + + Unique_CK_ATTRIBUTE privateKeyTemplate(new CK_ATTRIBUTE[ + has_extra_data ? PRIV_ATTRIB_EXTENDED_NUM : PRIV_ATTRIB_NORMAL_NUM]); + + CK_OBJECT_CLASS privClass = CKO_PRIVATE_KEY; + + size_t templateOffset = 0; + + set_attribute(&privateKeyTemplate[templateOffset++], CKA_ID, objId->get(), objId->length()); + set_attribute(&privateKeyTemplate[templateOffset++], CKA_TOKEN, &bTRUE, sizeof(bTRUE)); + set_attribute(&privateKeyTemplate[templateOffset++], CKA_CLASS, &privClass, sizeof(privClass)); + set_attribute(&privateKeyTemplate[templateOffset++], CKA_KEY_TYPE, &rsaType, sizeof(rsaType)); + + set_attribute(&privateKeyTemplate[templateOffset++], CKA_DECRYPT, &bTRUE, sizeof(bTRUE)); + set_attribute(&privateKeyTemplate[templateOffset++], CKA_SIGN, &bTRUE, sizeof(bTRUE)); + + set_attribute(&privateKeyTemplate[templateOffset++], CKA_MODULUS, modulus->get(), + modulus->length()); + set_attribute(&privateKeyTemplate[templateOffset++], CKA_PUBLIC_EXPONENT, + publicExponent->get(), publicExponent->length()); + set_attribute(&privateKeyTemplate[templateOffset++], CKA_PRIVATE_EXPONENT, + privateExponent->get(), privateExponent->length()); + + Unique_ByteArray prime1, prime2, exp1, exp2, coeff; + if (has_extra_data) { + prime1.reset(bignum_to_array(rsa->p)); + if (prime1->get() == NULL) { + ALOGW("Could not convert prime1"); + return -1; + } + set_attribute(&privateKeyTemplate[templateOffset++], CKA_PRIME_1, prime1->get(), + prime1->length()); + + prime2.reset(bignum_to_array(rsa->q)); + if (prime2->get() == NULL) { + ALOGW("Could not convert prime2"); + return -1; + } + set_attribute(&privateKeyTemplate[templateOffset++], CKA_PRIME_2, prime2->get(), + prime2->length()); + + exp1.reset(bignum_to_array(rsa->dmp1)); + if (exp1->get() == NULL) { + ALOGW("Could not convert exponent 1"); + return -1; + } + set_attribute(&privateKeyTemplate[templateOffset++], CKA_EXPONENT_1, exp1->get(), + exp1->length()); + + exp2.reset(bignum_to_array(rsa->dmq1)); + if (exp2->get() == NULL) { + ALOGW("Could not convert exponent 2"); + return -1; + } + set_attribute(&privateKeyTemplate[templateOffset++], CKA_EXPONENT_2, exp2->get(), + exp2->length()); + + coeff.reset(bignum_to_array(rsa->iqmp)); + if (coeff->get() == NULL) { + ALOGW("Could not convert coefficient"); + return -1; + } + set_attribute(&privateKeyTemplate[templateOffset++], CKA_COEFFICIENT, coeff->get(), + coeff->length()); + } + + CK_OBJECT_HANDLE hPrivateKey; + rv = C_CreateObject(session.get(), + privateKeyTemplate.get(), + templateOffset, + &hPrivateKey); + if (rv != CKR_OK) { + ALOGE("Creation of private key failed: 0x%x", rv); + return -1; + } + ObjectHandle privateKey(&session, hPrivateKey); + + ALOGV("public handle = 0x%x, private handle = 0x%x", publicKey.get(), privateKey.get()); + + return keyblob_save(objId.get(), key_blob, key_blob_length); +} + +static int tee_get_keypair_public(const struct keymaster_device* dev, + const uint8_t* key_blob, const size_t key_blob_length, + uint8_t** x509_data, size_t* x509_data_length) { + + CryptoSession session(reinterpret_cast(dev->context)); + + ObjectHandle publicKey(&session); + ObjectHandle privateKey(&session); + + if (keyblob_restore(&session, key_blob, key_blob_length, &publicKey, &privateKey)) { + return -1; + } + + if (x509_data == NULL || x509_data_length == NULL) { + ALOGW("Provided destination variables were null"); + return -1; + } + + CK_ATTRIBUTE attributes[] = { + {CKA_MODULUS, NULL, 0}, + {CKA_PUBLIC_EXPONENT, NULL, 0}, + }; + + // Call first to get the sizes of the values. + CK_RV rv = C_GetAttributeValue(session.get(), publicKey.get(), attributes, + sizeof(attributes)/sizeof(CK_ATTRIBUTE)); + if (rv != CKR_OK) { + ALOGW("Could not query attribute value sizes: 0x%02x", rv); + return -1; + } + + ByteArray modulus(new CK_BYTE[attributes[0].ulValueLen], attributes[0].ulValueLen); + ByteArray exponent(new CK_BYTE[attributes[1].ulValueLen], attributes[1].ulValueLen); + + attributes[0].pValue = modulus.get(); + attributes[1].pValue = exponent.get(); + + rv = C_GetAttributeValue(session.get(), publicKey.get(), attributes, + sizeof(attributes) / sizeof(CK_ATTRIBUTE)); + if (rv != CKR_OK) { + ALOGW("Could not query attribute values: 0x%02x", rv); + return -1; + } + + ALOGV("modulus is %d (ret=%d), exponent is %d (ret=%d)", + modulus.length(), attributes[0].ulValueLen, + exponent.length(), attributes[1].ulValueLen); + + /* + * Work around a bug in the implementation. The first call to measure how large the array + * should be sometimes returns values that are too large. The call to get the actual value + * returns the correct length of the array, so use that instead. + */ + modulus.setLength(attributes[0].ulValueLen); + exponent.setLength(attributes[1].ulValueLen); + + Unique_RSA rsa(RSA_new()); + if (rsa.get() == NULL) { + ALOGE("Could not allocate RSA structure"); + return -1; + } + + rsa->n = BN_bin2bn(reinterpret_cast(modulus.get()), modulus.length(), + NULL); + if (rsa->n == NULL) { + logOpenSSLError("tee_get_keypair_public"); + return -1; + } + + rsa->e = BN_bin2bn(reinterpret_cast(exponent.get()), exponent.length(), + NULL); + if (rsa->e == NULL) { + logOpenSSLError("tee_get_keypair_public"); + return -1; + } + + Unique_EVP_PKEY pkey(EVP_PKEY_new()); + if (pkey.get() == NULL) { + ALOGE("Could not allocate EVP_PKEY structure"); + return -1; + } + if (EVP_PKEY_assign_RSA(pkey.get(), rsa.get()) != 1) { + logOpenSSLError("tee_get_keypair_public"); + return -1; + } + OWNERSHIP_TRANSFERRED(rsa); + + int len = i2d_PUBKEY(pkey.get(), NULL); + if (len <= 0) { + logOpenSSLError("tee_get_keypair_public"); + return -1; + } + + UniquePtr key(static_cast(malloc(len))); + if (key.get() == NULL) { + ALOGE("Could not allocate memory for public key data"); + return -1; + } + + unsigned char* tmp = reinterpret_cast(key.get()); + if (i2d_PUBKEY(pkey.get(), &tmp) != len) { + logOpenSSLError("tee_get_keypair_public"); + return -1; + } + + ALOGV("Length of x509 data is %d", len); + *x509_data_length = len; + *x509_data = key.release(); + + return 0; +} + +static int tee_delete_keypair(const struct keymaster_device* dev, + const uint8_t* key_blob, const size_t key_blob_length) { + + CryptoSession session(reinterpret_cast(dev->context)); + + ObjectHandle publicKey(&session); + ObjectHandle privateKey(&session); + + if (keyblob_restore(&session, key_blob, key_blob_length, &publicKey, &privateKey)) { + return -1; + } + + // Delete the private key. + CK_RV rv = C_DestroyObject(session.get(), privateKey.get()); + if (rv != CKR_OK) { + ALOGW("Could destroy private key object: 0x%02x", rv); + return -1; + } + + // Delete the public key. + rv = C_DestroyObject(session.get(), publicKey.get()); + if (rv != CKR_OK) { + ALOGW("Could destroy public key object: 0x%02x", rv); + return -1; + } + + return 0; +} + +static int tee_sign_data(const keymaster_device_t* dev, + const void* params, + const uint8_t* key_blob, const size_t key_blob_length, + const uint8_t* data, const size_t dataLength, + uint8_t** signedData, size_t* signedDataLength) { + ALOGV("tee_sign_data(%p, %p, %llu, %p, %llu, %p, %p)", dev, key_blob, + (unsigned long long) key_blob_length, data, (unsigned long long) dataLength, signedData, + signedDataLength); + + if (params == NULL) { + ALOGW("Signing params were null"); + return -1; + } + + CryptoSession session(reinterpret_cast(dev->context)); + + ObjectHandle publicKey(&session); + ObjectHandle privateKey(&session); + + if (keyblob_restore(&session, key_blob, key_blob_length, &publicKey, &privateKey)) { + return -1; + } + ALOGV("public handle = 0x%x, private handle = 0x%x", publicKey.get(), privateKey.get()); + + keymaster_rsa_sign_params_t* sign_params = (keymaster_rsa_sign_params_t*) params; + if (sign_params->digest_type != DIGEST_NONE) { + ALOGW("Cannot handle digest type %d", sign_params->digest_type); + return -1; + } else if (sign_params->padding_type != PADDING_NONE) { + ALOGW("Cannot handle padding type %d", sign_params->padding_type); + return -1; + } + + CK_MECHANISM rawRsaMechanism = { + CKM_RSA_X_509, NULL, 0 + }; + + CK_RV rv = C_SignInit(session.get(), &rawRsaMechanism, privateKey.get()); + if (rv != CKR_OK) { + ALOGV("C_SignInit failed: 0x%x", rv); + return -1; + } + + CK_BYTE signature[1024]; + CK_ULONG signatureLength = 1024; + + rv = C_Sign(session.get(), data, dataLength, signature, &signatureLength); + if (rv != CKR_OK) { + ALOGV("C_SignFinal failed: 0x%x", rv); + return -1; + } + + UniquePtr finalSignature(new uint8_t[signatureLength]); + if (finalSignature.get() == NULL) { + ALOGE("Couldn't allocate memory to copy signature"); + return -1; + } + + memcpy(finalSignature.get(), signature, signatureLength); + + *signedData = finalSignature.release(); + *signedDataLength = static_cast(signatureLength); + + ALOGV("tee_sign_data(%p, %p, %llu, %p, %llu, %p, %p) => %p size %llu", dev, key_blob, + (unsigned long long) key_blob_length, data, (unsigned long long) dataLength, signedData, + signedDataLength, *signedData, (unsigned long long) *signedDataLength); + + return 0; +} + +static int tee_verify_data(const keymaster_device_t* dev, + const void* params, + const uint8_t* keyBlob, const size_t keyBlobLength, + const uint8_t* signedData, const size_t signedDataLength, + const uint8_t* signature, const size_t signatureLength) { + ALOGV("tee_verify_data(%p, %p, %llu, %p, %llu, %p, %llu)", dev, keyBlob, + (unsigned long long) keyBlobLength, signedData, (unsigned long long) signedDataLength, + signature, (unsigned long long) signatureLength); + + if (params == NULL) { + ALOGW("Verification params were null"); + return -1; + } + + CryptoSession session(reinterpret_cast(dev->context)); + + ObjectHandle publicKey(&session); + ObjectHandle privateKey(&session); + + if (keyblob_restore(&session, keyBlob, keyBlobLength, &publicKey, &privateKey)) { + return -1; + } + ALOGV("public handle = 0x%x, private handle = 0x%x", publicKey.get(), privateKey.get()); + + keymaster_rsa_sign_params_t* sign_params = (keymaster_rsa_sign_params_t*) params; + if (sign_params->digest_type != DIGEST_NONE) { + ALOGW("Cannot handle digest type %d", sign_params->digest_type); + return -1; + } else if (sign_params->padding_type != PADDING_NONE) { + ALOGW("Cannot handle padding type %d", sign_params->padding_type); + return -1; + } + + CK_MECHANISM rawRsaMechanism = { + CKM_RSA_X_509, NULL, 0 + }; + + CK_RV rv = C_VerifyInit(session.get(), &rawRsaMechanism, publicKey.get()); + if (rv != CKR_OK) { + ALOGV("C_VerifyInit failed: 0x%x", rv); + return -1; + } + + // This is a bad prototype for this function. C_Verify should have only const args. + rv = C_Verify(session.get(), signedData, signedDataLength, + const_cast(signature), signatureLength); + if (rv != CKR_OK) { + ALOGV("C_Verify failed: 0x%x", rv); + return -1; + } + + return 0; +} + +/* Close an opened OpenSSL instance */ +static int tee_close(hw_device_t *dev) { + keymaster_device_t *keymaster_dev = (keymaster_device_t *) dev; + if (keymaster_dev != NULL) { + CK_SESSION_HANDLE handle = reinterpret_cast(keymaster_dev->context); + if (handle != CK_INVALID_HANDLE) { + C_CloseSession(handle); + } + } + + CK_RV finalizeRV = C_Finalize(NULL_PTR); + if (finalizeRV != CKR_OK) { + ALOGE("Error closing the TEE"); + } + free(dev); + + return 0; +} + +/* + * Generic device handling + */ +static int tee_open(const hw_module_t* module, const char* name, + hw_device_t** device) { + if (strcmp(name, KEYSTORE_KEYMASTER) != 0) + return -EINVAL; + + Unique_keymaster_device_t dev(new keymaster_device_t); + if (dev.get() == NULL) + return -ENOMEM; + + dev->common.tag = HARDWARE_DEVICE_TAG; + dev->common.version = 1; + dev->common.module = (struct hw_module_t*) module; + dev->common.close = tee_close; + + dev->generate_keypair = tee_generate_keypair; + dev->import_keypair = tee_import_keypair; + dev->get_keypair_public = tee_get_keypair_public; + dev->delete_keypair = tee_delete_keypair; + dev->sign_data = tee_sign_data; + dev->verify_data = tee_verify_data; + dev->delete_all = NULL; + + CK_RV initializeRV = C_Initialize(NULL); + if (initializeRV != CKR_OK) { + ALOGE("Error initializing TEE: 0x%x", initializeRV); + return -ENODEV; + } + + CK_INFO info; + CK_RV infoRV = C_GetInfo(&info); + if (infoRV != CKR_OK) { + (void) C_Finalize(NULL_PTR); + ALOGE("Error getting information about TEE during initialization: 0x%x", infoRV); + return -ENODEV; + } + + ALOGI("C_GetInfo cryptokiVer=%d.%d manufID=%s flags=%d libDesc=%s libVer=%d.%d\n", + info.cryptokiVersion.major, info.cryptokiVersion.minor, + info.manufacturerID, info.flags, info.libraryDescription, + info.libraryVersion.major, info.libraryVersion.minor); + + CK_SESSION_HANDLE sessionHandle = CK_INVALID_HANDLE; + + CK_RV openSessionRV = C_OpenSession(CKV_TOKEN_USER, + CKF_SERIAL_SESSION | CKF_RW_SESSION, + NULL, + NULL, + &sessionHandle); + + if (openSessionRV != CKR_OK || sessionHandle == CK_INVALID_HANDLE) { + (void) C_Finalize(NULL_PTR); + ALOGE("Error opening primary session with TEE: 0x%x", openSessionRV); + return -1; + } + + ERR_load_crypto_strings(); + ERR_load_BIO_strings(); + + dev->context = reinterpret_cast(sessionHandle); + *device = reinterpret_cast(dev.release()); + + return 0; +} + +static struct hw_module_methods_t keystore_module_methods = { + open: tee_open, +}; + +struct keystore_module HAL_MODULE_INFO_SYM +__attribute__ ((visibility ("default"))) = { + common: { + tag: HARDWARE_MODULE_TAG, + version_major: 1, + version_minor: 0, + id: KEYSTORE_HARDWARE_MODULE_ID, + name: "Keymaster TEE HAL", + author: "The Android Open Source Project", + methods: &keystore_module_methods, + dso: 0, + reserved: {}, + }, +}; diff --git a/self-extractors/nvidia/staging/keymaster/pkcs11.h b/self-extractors/nvidia/staging/keymaster/pkcs11.h new file mode 100644 index 0000000..8f28917 --- /dev/null +++ b/self-extractors/nvidia/staging/keymaster/pkcs11.h @@ -0,0 +1,595 @@ +/** + * Copyright(c) 2011 Trusted Logic. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name Trusted Logic nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This header file contains the definition of the PKCS#11 types and functions + * supported by the Trusted Foundations Software. This header file is + * derived from the RSA Security Inc. PKCS #11 Cryptographic Token Interface + * (Cryptoki) + */ +#ifndef __PKCS11_H__ +#define __PKCS11_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/*------------------------------------------ +* Types and constants +*------------------------------------------*/ + +#include "s_type.h" + +#define CK_TRUE true +#define CK_FALSE false + +#ifndef FALSE +#define FALSE CK_FALSE +#endif + +#ifndef TRUE +#define TRUE CK_TRUE +#endif + +#define NULL_PTR NULL + +typedef uint8_t CK_BYTE, *CK_BYTE_PTR; +typedef CK_BYTE CK_CHAR, *CK_CHAR_PTR; +typedef CK_BYTE CK_UTF8CHAR, *CK_UTF8CHAR_PTR; +typedef bool CK_BBOOL; +typedef uint32_t CK_ULONG, *CK_ULONG_PTR; +typedef int32_t CK_LONG; +typedef CK_ULONG CK_FLAGS; +typedef void* CK_VOID_PTR, *CK_VOID_PTR_PTR; + +#define CK_INVALID_HANDLE 0 + +typedef struct CK_VERSION +{ + CK_BYTE major; + CK_BYTE minor; +} +CK_VERSION, *CK_VERSION_PTR; + +typedef struct CK_INFO +{ + CK_VERSION cryptokiVersion; + CK_UTF8CHAR manufacturerID[32]; + CK_FLAGS flags; + CK_UTF8CHAR libraryDescription[32]; + CK_VERSION libraryVersion; +} +CK_INFO, *CK_INFO_PTR; + +typedef CK_ULONG CK_NOTIFICATION; +typedef CK_ULONG CK_SLOT_ID, *CK_SLOT_ID_PTR; +typedef CK_ULONG CK_SESSION_HANDLE, *CK_SESSION_HANDLE_PTR; + +typedef CK_ULONG CK_USER_TYPE; +#define CKU_SO 0 +#define CKU_USER 1 +#define CKU_CONTEXT_SPECIFIC 2 + +typedef CK_ULONG CK_STATE; +#define CKS_RO_PUBLIC_SESSION 0 +#define CKS_RO_USER_FUNCTIONS 1 +#define CKS_RW_PUBLIC_SESSION 2 +#define CKS_RW_USER_FUNCTIONS 3 +#define CKS_RW_SO_FUNCTIONS 4 + +typedef struct CK_SESSION_INFO +{ + CK_SLOT_ID slotID; + CK_STATE state; + CK_FLAGS flags; + CK_ULONG ulDeviceError; +} +CK_SESSION_INFO, *CK_SESSION_INFO_PTR; + +#define CKF_RW_SESSION 0x00000002 +#define CKF_SERIAL_SESSION 0x00000004 +#define CKVF_OPEN_SUB_SESSION 0x00000008 + +typedef CK_ULONG CK_OBJECT_HANDLE, *CK_OBJECT_HANDLE_PTR; + +typedef CK_ULONG CK_OBJECT_CLASS, *CK_OBJECT_CLASS_PTR; + +#define CKO_DATA 0x00000000 +#define CKO_PUBLIC_KEY 0x00000002 +#define CKO_PRIVATE_KEY 0x00000003 +#define CKO_SECRET_KEY 0x00000004 + +typedef CK_ULONG CK_KEY_TYPE; + +#define CKK_RSA 0x00000000 +#define CKK_DSA 0x00000001 +#define CKK_DH 0x00000002 +#define CKK_EC 0x00000003 + +#define CKK_GENERIC_SECRET 0x00000010 + +#define CKK_RC4 0x00000012 +#define CKK_DES 0x00000013 +#define CKK_DES2 0x00000014 +#define CKK_DES3 0x00000015 + +#define CKK_AES 0x0000001F + +#define CKK_VENDOR_DEFINED 0x80000000 + +typedef CK_ULONG CK_ATTRIBUTE_TYPE; + +#define CKF_ARRAY_ATTRIBUTE 0x40000000 + +#define CKA_CLASS 0x00000000 +#define CKA_TOKEN 0x00000001 +#define CKA_PRIVATE 0x00000002 +#define CKA_VALUE 0x00000011 + +#define CKA_OBJECT_ID 0x00000012 + +#define CKA_KEY_TYPE 0x00000100 +#define CKA_ID 0x00000102 +#define CKA_SENSITIVE 0x00000103 +#define CKA_ENCRYPT 0x00000104 +#define CKA_DECRYPT 0x00000105 +#define CKA_WRAP 0x00000106 +#define CKA_UNWRAP 0x00000107 +#define CKA_SIGN 0x00000108 +#define CKA_VERIFY 0x0000010A +#define CKA_DERIVE 0x0000010C +#define CKA_MODULUS 0x00000120 +#define CKA_MODULUS_BITS 0x00000121 +#define CKA_PUBLIC_EXPONENT 0x00000122 +#define CKA_PRIVATE_EXPONENT 0x00000123 +#define CKA_PRIME_1 0x00000124 +#define CKA_PRIME_2 0x00000125 +#define CKA_EXPONENT_1 0x00000126 +#define CKA_EXPONENT_2 0x00000127 +#define CKA_COEFFICIENT 0x00000128 +#define CKA_PRIME 0x00000130 +#define CKA_SUBPRIME 0x00000131 +#define CKA_BASE 0x00000132 + +#define CKA_VALUE_BITS 0x00000160 +#define CKA_VALUE_LEN 0x00000161 + +#define CKA_EXTRACTABLE 0x00000162 + +#define CKA_MODIFIABLE 0x00000170 +#define CKA_COPYABLE 0x00000171 +#define CKA_ALWAYS_AUTHENTICATE 0x00000202 + +#define CKA_VENDOR_DEFINED 0x80000000 + +#define CKAV_ALLOW_NON_SENSITIVE_DERIVED_KEY 0x80000001 + +typedef struct CK_ATTRIBUTE +{ + CK_ATTRIBUTE_TYPE type; + void* pValue; + CK_ULONG ulValueLen; +} +CK_ATTRIBUTE, *CK_ATTRIBUTE_PTR; + +typedef CK_ULONG CK_MECHANISM_TYPE, *CK_MECHANISM_TYPE_PTR; + +#define CKM_RSA_PKCS_KEY_PAIR_GEN 0x00000000 +#define CKM_RSA_PKCS 0x00000001 +#define CKM_RSA_X_509 0x00000003 +#define CKM_MD5_RSA_PKCS 0x00000005 +#define CKM_SHA1_RSA_PKCS 0x00000006 +#define CKM_RSA_PKCS_OAEP 0x00000009 +#define CKM_RSA_PKCS_PSS 0x0000000D +#define CKM_SHA1_RSA_PKCS_PSS 0x0000000E +#define CKM_DSA_KEY_PAIR_GEN 0x00000010 +#define CKM_DSA 0x00000011 +#define CKM_DSA_SHA1 0x00000012 +#define CKM_DH_PKCS_KEY_PAIR_GEN 0x00000020 +#define CKM_DH_PKCS_DERIVE 0x00000021 +#define CKM_SHA256_RSA_PKCS 0x00000040 +#define CKM_SHA384_RSA_PKCS 0x00000041 +#define CKM_SHA512_RSA_PKCS 0x00000042 +#define CKM_SHA256_RSA_PKCS_PSS 0x00000043 +#define CKM_SHA384_RSA_PKCS_PSS 0x00000044 +#define CKM_SHA512_RSA_PKCS_PSS 0x00000045 +#define CKM_SHA224_RSA_PKCS 0x00000046 +#define CKM_SHA224_RSA_PKCS_PSS 0x00000047 +#define CKM_RC4_KEY_GEN 0x00000110 +#define CKM_RC4 0x00000111 +#define CKM_DES_KEY_GEN 0x00000120 +#define CKM_DES_ECB 0x00000121 +#define CKM_DES_CBC 0x00000122 +#define CKM_DES_MAC 0x00000123 +#define CKM_DES2_KEY_GEN 0x00000130 +#define CKM_DES3_KEY_GEN 0x00000131 +#define CKM_DES3_ECB 0x00000132 +#define CKM_DES3_CBC 0x00000133 +#define CKM_DES3_MAC 0x00000134 +#define CKM_MD5 0x00000210 +#define CKM_MD5_HMAC 0x00000211 +#define CKM_SHA_1 0x00000220 +#define CKM_SHA_1_HMAC 0x00000221 +#define CKM_SHA256 0x00000250 +#define CKM_SHA256_HMAC 0x00000251 +#define CKM_SHA224 0x00000255 +#define CKM_SHA224_HMAC 0x00000256 +#define CKM_SHA384 0x00000260 +#define CKM_SHA384_HMAC 0x00000261 +#define CKM_SHA512 0x00000270 +#define CKM_SHA512_HMAC 0x00000271 +#define CKM_GENERIC_SECRET_KEY_GEN 0x00000350 +#define CKM_AES_KEY_GEN 0x00001080 +#define CKM_AES_ECB 0x00001081 +#define CKM_AES_CBC 0x00001082 +#define CKM_AES_MAC 0x00001083 +#define CKM_AES_CTR 0x00001086 +#define CKM_VENDOR_DEFINED 0x80000000 +#define CKMV_AES_CTR 0x80000001 + +#define CKMV_IMPLEMENTATION_DEFINED_0 0xC0000000 +#define CKMV_IMPLEMENTATION_DEFINED_1 0xC0000001 +#define CKMV_IMPLEMENTATION_DEFINED_2 0xC0000002 +#define CKMV_IMPLEMENTATION_DEFINED_3 0xC0000003 +#define CKMV_IMPLEMENTATION_DEFINED_4 0xC0000004 +#define CKMV_IMPLEMENTATION_DEFINED_5 0xC0000005 +#define CKMV_IMPLEMENTATION_DEFINED_6 0xC0000006 +#define CKMV_IMPLEMENTATION_DEFINED_7 0xC0000007 +#define CKMV_IMPLEMENTATION_DEFINED_8 0xC0000008 +#define CKMV_IMPLEMENTATION_DEFINED_9 0xC0000009 +#define CKMV_IMPLEMENTATION_DEFINED_10 0xC000000A +#define CKMV_IMPLEMENTATION_DEFINED_11 0xC000000B +#define CKMV_IMPLEMENTATION_DEFINED_12 0xC000000C +#define CKMV_IMPLEMENTATION_DEFINED_13 0xC000000D +#define CKMV_IMPLEMENTATION_DEFINED_14 0xC000000E +#define CKMV_IMPLEMENTATION_DEFINED_15 0xC000000F + +typedef struct CK_MECHANISM +{ + CK_MECHANISM_TYPE mechanism; + void* pParameter; + CK_ULONG ulParameterLen; /* in bytes */ +} +CK_MECHANISM, *CK_MECHANISM_PTR; + +typedef CK_ULONG CK_RV; + +#define CKR_OK 0x00000000 +#define CKR_CANCEL 0x00000001 +#define CKR_HOST_MEMORY 0x00000002 +#define CKR_SLOT_ID_INVALID 0x00000003 +#define CKR_GENERAL_ERROR 0x00000005 +#define CKR_ARGUMENTS_BAD 0x00000007 +#define CKR_ATTRIBUTE_SENSITIVE 0x00000011 +#define CKR_ATTRIBUTE_TYPE_INVALID 0x00000012 +#define CKR_ATTRIBUTE_VALUE_INVALID 0x00000013 +#define CKR_COPY_PROHIBITED 0x0000001A +#define CKR_DATA_INVALID 0x00000020 +#define CKR_DATA_LEN_RANGE 0x00000021 +#define CKR_DEVICE_ERROR 0x00000030 +#define CKR_DEVICE_MEMORY 0x00000031 +#define CKR_ENCRYPTED_DATA_INVALID 0x00000040 +#define CKR_ENCRYPTED_DATA_LEN_RANGE 0x00000041 +#define CKR_KEY_HANDLE_INVALID 0x00000060 +#define CKR_KEY_SIZE_RANGE 0x00000062 +#define CKR_KEY_TYPE_INCONSISTENT 0x00000063 +#define CKR_KEY_FUNCTION_NOT_PERMITTED 0x00000068 +#define CKR_KEY_NOT_WRAPPABLE 0x00000069 +#define CKR_MECHANISM_INVALID 0x00000070 +#define CKR_MECHANISM_PARAM_INVALID 0x00000071 +#define CKR_OBJECT_HANDLE_INVALID 0x00000082 +#define CKR_OPERATION_ACTIVE 0x00000090 +#define CKR_OPERATION_NOT_INITIALIZED 0x00000091 +#define CKR_PIN_INCORRECT 0x000000A0 +#define CKR_SESSION_COUNT 0x000000B1 +#define CKR_SESSION_HANDLE_INVALID 0x000000B3 +#define CKR_SESSION_PARALLEL_NOT_SUPPORTED 0x000000B4 +#define CKR_SESSION_READ_ONLY 0x000000B5 +#define CKR_SIGNATURE_INVALID 0x000000C0 +#define CKR_SIGNATURE_LEN_RANGE 0x000000C1 +#define CKR_TEMPLATE_INCOMPLETE 0x000000D0 +#define CKR_TEMPLATE_INCONSISTENT 0x000000D1 +#define CKR_TOKEN_NOT_PRESENT 0x000000E0 +#define CKR_USER_ALREADY_LOGGED_IN 0x00000100 +#define CKR_USER_NOT_LOGGED_IN 0x00000101 +#define CKR_USER_TYPE_INVALID 0x00000103 +#define CKR_WRAPPED_KEY_LEN_RANGE 0x00000112 +#define CKR_WRAPPING_KEY_HANDLE_INVALID 0x00000113 +#define CKR_RANDOM_SEED_NOT_SUPPORTED 0x00000120 +#define CKR_RANDOM_NO_RNG 0x00000121 +#define CKR_BUFFER_TOO_SMALL 0x00000150 +#define CKR_CRYPTOKI_NOT_INITIALIZED 0x00000190 +#define CKR_CRYPTOKI_ALREADY_INITIALIZED 0x00000191 +#define CKR_VENDOR_DEFINED 0x80000000 + +typedef CK_RV (*CK_NOTIFY)( + CK_SESSION_HANDLE hSession, + CK_NOTIFICATION event, + void* pApplication +); + +typedef CK_ULONG CK_RSA_PKCS_MGF_TYPE, *CK_RSA_PKCS_MGF_TYPE_PTR; + +#define CKG_MGF1_SHA1 0x00000001 +#define CKG_MGF1_SHA256 0x00000002 +#define CKG_MGF1_SHA384 0x00000003 +#define CKG_MGF1_SHA512 0x00000004 +#define CKG_MGF1_SHA224 0x00000005 + +typedef CK_ULONG CK_RSA_PKCS_OAEP_SOURCE_TYPE, *CK_RSA_PKCS_OAEP_SOURCE_TYPE_PTR; + +#define CKZ_DATA_SPECIFIED 0x00000001 +typedef struct CK_RSA_PKCS_OAEP_PARAMS +{ + CK_MECHANISM_TYPE hashAlg; + CK_RSA_PKCS_MGF_TYPE mgf; + CK_RSA_PKCS_OAEP_SOURCE_TYPE source; + void* pSourceData; + CK_ULONG ulSourceDataLen; +} +CK_RSA_PKCS_OAEP_PARAMS, *CK_RSA_PKCS_OAEP_PARAMS_PTR; + +typedef struct CK_RSA_PKCS_PSS_PARAMS +{ + CK_MECHANISM_TYPE hashAlg; + CK_RSA_PKCS_MGF_TYPE mgf; + CK_ULONG sLen; +} +CK_RSA_PKCS_PSS_PARAMS, *CK_RSA_PKCS_PSS_PARAMS_PTR; + +typedef struct CK_AES_CTR_PARAMS +{ + CK_ULONG ulCounterBits; + CK_BYTE cb[16]; +} +CK_AES_CTR_PARAMS, *CK_AES_CTR_PARAMS_PTR; + +/*------------------------------------------ +* Functions +*------------------------------------------*/ +CK_RV PKCS11_EXPORT C_Initialize(void* pInitArgs); + +CK_RV PKCS11_EXPORT C_Finalize(void* pReserved); + +CK_RV PKCS11_EXPORT C_GetInfo(CK_INFO* pInfo); + +CK_RV PKCS11_EXPORT C_OpenSession( + CK_SLOT_ID slotID, + CK_FLAGS flags, + void* pApplication, + CK_NOTIFY Notify, + CK_SESSION_HANDLE* phSession); + +CK_RV PKCS11_EXPORT C_CloseSession( + CK_SESSION_HANDLE hSession); + +CK_RV PKCS11_EXPORT C_Login( + CK_SESSION_HANDLE hSession, + CK_USER_TYPE userType, + const CK_UTF8CHAR* pPin, + CK_ULONG ulPinLen); + +CK_RV PKCS11_EXPORT C_Logout( + CK_SESSION_HANDLE hSession); + +CK_RV PKCS11_EXPORT C_CreateObject( + CK_SESSION_HANDLE hSession, + const CK_ATTRIBUTE* pTemplate, + CK_ULONG ulCount, + CK_OBJECT_HANDLE* phObject); + +CK_RV PKCS11_EXPORT C_DestroyObject( + CK_SESSION_HANDLE hSession, + CK_OBJECT_HANDLE hObject); + +CK_RV PKCS11_EXPORT C_GetAttributeValue( + CK_SESSION_HANDLE hSession, + CK_OBJECT_HANDLE hObject, + CK_ATTRIBUTE* pTemplate, + CK_ULONG ulCount); + +CK_RV PKCS11_EXPORT C_FindObjectsInit( + CK_SESSION_HANDLE hSession, + const CK_ATTRIBUTE* pTemplate, + CK_ULONG ulCount); + +CK_RV PKCS11_EXPORT C_FindObjects( + CK_SESSION_HANDLE hSession, + CK_OBJECT_HANDLE* phObject, + CK_ULONG ulMaxObjectCount, + CK_ULONG* pulObjectCount); + +CK_RV PKCS11_EXPORT C_FindObjectsFinal( + CK_SESSION_HANDLE hSession); + +CK_RV PKCS11_EXPORT C_EncryptInit( + CK_SESSION_HANDLE hSession, + const CK_MECHANISM* pMechanism, + CK_OBJECT_HANDLE hKey); + +CK_RV PKCS11_EXPORT C_Encrypt( + CK_SESSION_HANDLE hSession, + const CK_BYTE* pData, + CK_ULONG ulDataLen, + CK_BYTE* pEncryptedData, + CK_ULONG* pulEncryptedDataLen); + +CK_RV PKCS11_EXPORT C_EncryptUpdate( + CK_SESSION_HANDLE hSession, + const CK_BYTE* pPart, + CK_ULONG ulPartLen, + CK_BYTE* pEncryptedPart, + CK_ULONG* pulEncryptedPartLen); + +CK_RV PKCS11_EXPORT C_EncryptFinal( + CK_SESSION_HANDLE hSession, + CK_BYTE* pLastEncryptedPart, + CK_ULONG* pulLastEncryptedPartLen); + +CK_RV PKCS11_EXPORT C_DecryptInit( + CK_SESSION_HANDLE hSession, + const CK_MECHANISM* pMechanism, + CK_OBJECT_HANDLE hKey); + +CK_RV PKCS11_EXPORT C_Decrypt( + CK_SESSION_HANDLE hSession, + const CK_BYTE* pEncryptedData, + CK_ULONG ulEncryptedDataLen, + CK_BYTE* pData, + CK_ULONG* pulDataLen); + +CK_RV PKCS11_EXPORT C_DecryptUpdate( + CK_SESSION_HANDLE hSession, + const CK_BYTE* pEncryptedPart, + CK_ULONG ulEncryptedPartLen, + CK_BYTE* pPart, + CK_ULONG* pulPartLen); + +CK_RV PKCS11_EXPORT C_DecryptFinal( + CK_SESSION_HANDLE hSession, + CK_BYTE* pLastPart, + CK_ULONG* pulLastPartLen); + +CK_RV PKCS11_EXPORT C_DigestInit( + CK_SESSION_HANDLE hSession, + const CK_MECHANISM* pMechanism); + +CK_RV PKCS11_EXPORT C_Digest( + CK_SESSION_HANDLE hSession, + const CK_BYTE* pData, + CK_ULONG ulDataLen, + CK_BYTE* pDigest, + CK_ULONG* pulDigestLen); + +CK_RV PKCS11_EXPORT C_DigestUpdate( + CK_SESSION_HANDLE hSession, + const CK_BYTE* pPart, + CK_ULONG ulPartLen); + +CK_RV PKCS11_EXPORT C_DigestFinal( + CK_SESSION_HANDLE hSession, + CK_BYTE* pDigest, + CK_ULONG* pulDigestLen); + +CK_RV PKCS11_EXPORT C_SignInit( + CK_SESSION_HANDLE hSession, + const CK_MECHANISM* pMechanism, + CK_OBJECT_HANDLE hKey); + +CK_RV PKCS11_EXPORT C_Sign( + CK_SESSION_HANDLE hSession, + const CK_BYTE* pData, + CK_ULONG ulDataLen, + CK_BYTE* pSignature, + CK_ULONG* pulSignatureLen); + +CK_RV PKCS11_EXPORT C_SignUpdate( + CK_SESSION_HANDLE hSession, + const CK_BYTE* pPart, + CK_ULONG ulPartLen); + +CK_RV PKCS11_EXPORT C_SignFinal( + CK_SESSION_HANDLE hSession, + CK_BYTE* pSignature, + CK_ULONG* pulSignatureLen); + +CK_RV PKCS11_EXPORT C_VerifyInit( + CK_SESSION_HANDLE hSession, + const CK_MECHANISM* pMechanism, + CK_OBJECT_HANDLE hKey); + +CK_RV PKCS11_EXPORT C_Verify( + CK_SESSION_HANDLE hSession, + const CK_BYTE* pData, + CK_ULONG ulDataLen, + CK_BYTE* pSignature, + CK_ULONG ulSignatureLen); + +CK_RV PKCS11_EXPORT C_VerifyUpdate( + CK_SESSION_HANDLE hSession, + const CK_BYTE* pPart, + CK_ULONG ulPartLen); + +CK_RV PKCS11_EXPORT C_VerifyFinal( + CK_SESSION_HANDLE hSession, + const CK_BYTE* pSignature, + CK_ULONG ulSignatureLen); + +CK_RV PKCS11_EXPORT C_GenerateKey( + CK_SESSION_HANDLE hSession, + const CK_MECHANISM* pMechanism, + const CK_ATTRIBUTE* pTemplate, + CK_ULONG ulCount, + CK_OBJECT_HANDLE* phKey); + +CK_RV PKCS11_EXPORT C_GenerateKeyPair( + CK_SESSION_HANDLE hSession, + const CK_MECHANISM* pMechanism, + const CK_ATTRIBUTE* pPublicKeyTemplate, + CK_ULONG ulPublicKeyAttributeCount, + const CK_ATTRIBUTE* pPrivateKeyTemplate, + CK_ULONG ulPrivateKeyAttributeCount, + CK_OBJECT_HANDLE* phPublicKey, + CK_OBJECT_HANDLE* phPrivateKey); + +CK_RV PKCS11_EXPORT C_DeriveKey( + CK_SESSION_HANDLE hSession, + const CK_MECHANISM* pMechanism, + CK_OBJECT_HANDLE hBaseKey, + const CK_ATTRIBUTE* pTemplate, + CK_ULONG ulAttributeCount, + CK_OBJECT_HANDLE* phKey); + +CK_RV PKCS11_EXPORT C_SeedRandom( + CK_SESSION_HANDLE hSession, + const CK_BYTE* pSeed, + CK_ULONG ulSeedLen); + +CK_RV PKCS11_EXPORT C_GenerateRandom( + CK_SESSION_HANDLE hSession, + CK_BYTE* pRandomData, + CK_ULONG ulRandomLen); + +CK_RV PKCS11_EXPORT C_CloseObjectHandle( + CK_SESSION_HANDLE hSession, + CK_OBJECT_HANDLE hObject); + +CK_RV PKCS11_EXPORT C_CopyObject( + CK_SESSION_HANDLE hSession, + CK_OBJECT_HANDLE hObject, + const CK_ATTRIBUTE* pTemplate, + CK_ULONG ulAttributeCount, + CK_OBJECT_HANDLE* phNewObject); + +#ifdef __cplusplus +} +#endif + +#endif /* __PKCS11_H__ */ diff --git a/self-extractors/nvidia/staging/keymaster/s_type.h b/self-extractors/nvidia/staging/keymaster/s_type.h new file mode 100644 index 0000000..ae260cc --- /dev/null +++ b/self-extractors/nvidia/staging/keymaster/s_type.h @@ -0,0 +1,146 @@ +/** + * Copyright(c) 2011 Trusted Logic. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name Trusted Logic nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * Definition of the machine-specific integer types + **/ +#ifndef __S_TYPE_H__ +#define __S_TYPE_H__ + +/* C99 integer types */ +#if (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L) &&(!defined(ANDROID)) + +#include + +/* Figure out if a 64-bit integer types is available */ +#if \ + defined(_MSC_VER) || \ + defined(__SYMBIAN32__) || \ + defined(_WIN32_WCE) || \ + (defined(ULLONG_MAX) && ULLONG_MAX == 0xFFFFFFFFFFFFFFFFULL) || \ + (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 0xFFFFFFFFFFFFFFFFULL) +typedef unsigned long long uint64_t; +typedef long long int64_t; +#else +#define __S_TYPE_INT64_UNDEFINED +#endif + +#if UINT_MAX == 0xFFFFFFFF +typedef unsigned int uint32_t; +typedef int int32_t; +#elif ULONG_MAX == 0xFFFFFFFF +typedef unsigned long uint32_t; +typedef long int32_t; +#else +#error This compiler is not supported. +#endif + +#if USHRT_MAX == 0xFFFF +typedef unsigned short uint16_t; +typedef short int16_t; +#else +#error This compiler is not supported. +#endif + +#if UCHAR_MAX == 0xFF +typedef unsigned char uint8_t; +typedef signed char int8_t; +#else +#error This compiler is not supported. +#endif + +#if !defined(__cplusplus) +typedef unsigned char bool; +#define false ( (bool)0 ) +#define true ( (bool)1 ) +#endif + +#else /* !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L */ + +#include +#include + +#endif /* !(!defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L) */ + +#include + +#ifndef NULL +# ifdef __cplusplus +# define NULL 0 +# else +# define NULL ((void *)0) +# endif +#endif + +#define IN +#define OUT + +/* + * Definition of other common types + */ + +typedef uint32_t S_RESULT; +typedef S_RESULT TEEC_Result; +typedef S_RESULT SM_ERROR; + +typedef uint32_t S_HANDLE; +typedef S_HANDLE SM_HANDLE; +#define S_HANDLE_NULL ((S_HANDLE)0) +#define SM_HANDLE_INVALID S_HANDLE_NULL + +/** Definition of an UUID (from RFC 4122 http://www.ietf.org/rfc/rfc4122.txt) */ +typedef struct S_UUID +{ + uint32_t time_low; + uint16_t time_mid; + uint16_t time_hi_and_version; + uint8_t clock_seq_and_node[8]; +}S_UUID; +typedef S_UUID TEEC_UUID; +typedef S_UUID SM_UUID; + +/* DLL Import/Export directives */ + +#if defined(WIN32) || defined(__ARMCC_VERSION) || defined(__WINSCW__) || defined(_WIN32_WCE) +# define S_DLL_EXPORT __declspec(dllexport) +# define S_DLL_IMPORT __declspec(dllimport) +# define S_NO_RETURN __declspec(noreturn) +#elif defined(__GNUC__) +# define S_DLL_EXPORT __attribute__ ((visibility ("default"))) +# define S_DLL_IMPORT __attribute__ ((visibility ("default"))) +# define S_NO_RETURN __attribute__ ((noreturn)) +#else +# define S_DLL_EXPORT +# define S_DLL_IMPORT +# define S_NO_RETURN +#endif + +#endif /* __S_TYPE_H__ */ + diff --git a/self-extractors/nxp/LICENSE b/self-extractors/nxp/LICENSE index 988274c..f684b9e 100644 --- a/self-extractors/nxp/LICENSE +++ b/self-extractors/nxp/LICENSE @@ -2,14 +2,14 @@ THIS DEVELOPER SOFTWARE LICENSE AGREEMENT (THE "AGREEMENT") IS A LEGALLY BINDING AGREEMENT BETWEEN NXP Semiconductors Netherlands B.V ("LICENSOR") AND YOU OR THE LEGAL ENTITY YOU REPRESENT ("You" or its possessive, "Your"). BY TYPING "I ACCEPT" WHERE INDICATED YOU ACKNOWLEDGE THAT YOU HAVE READ THIS -AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS. IF -YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION PROCESS -AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE SOFTWARE OR -DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS SUBJECT TO THE -TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE SOFTWARE IS INSTALLED -ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL ENTITY, THEN YOU REPRESENT -AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND SUCH ENTITY TO THE TERMS AND -CONDITIONS OF THIS AGREEMENT. +AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS. +IF YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION +PROCESS AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE +SOFTWARE OR DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS +SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE +SOFTWARE IS INSTALLED ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL +ENTITY, THEN YOU REPRESENT AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND +SUCH ENTITY TO THE TERMS AND CONDITIONS OF THIS AGREEMENT. 1. Special Definitions @@ -29,157 +29,163 @@ CONDITIONS OF THIS AGREEMENT. Android Enabled Device. d. The term "Authorized Android Enabled Device Software" means a - packaged build for Authorized Android Enabled Devices, consisting of - files suitable for installation on an Authorized Android Enabled + packaged build for Authorized Android Enabled Devices, consisting + of files suitable for installation on an Authorized Android Enabled Device using a mechanism such as fastboot mode or recovery mode. 2. License Grant a. Subject to the terms of this Agreement, Licensor hereby grants to You, free of charge, a non-exclusive, non-sublicensable, - non-transferable, limited license, during the term of this Agreement, - to download, install and use the Software internally in - machine-readable (i.e., object code) form and the Documentation for - non-commercial use on an Authorized Android Enabled Device and - non-commercial redistribution of the Authorized Android Enabled - Device Software (the "Limited Purpose"). You may grant your end users - the right to use the Software for the Limited Purpose. The license to - the Software granted to You hereunder is solely for the Limited - Purpose set forth in this section, and the Software shall not be used - for any other purpose. + non-transferable, limited license, during the term of + this Agreement, to download, install and use the Software + internally in machine-readable (i.e., object code) form and the + Documentation for non-commercial use on an Authorized Android + Enabled Device and non-commercial redistribution of the Authorized + Android Enabled Device Software (the "Limited Purpose"). You may + grant your end users the right to use the Software for + the Limited Purpose. + The license to the Software granted to You hereunder is solely for + the Limited Purpose set forth in this section, and the Software + shall not be used for any other purpose. 3. Restrictions a. Retention of Rights. The entire right, title and interest in the - Software shall remain with Licensor and, unless specified in writing - hereunder, no rights are granted to any of the Software. Except for - the right to use the Software for the Limited Purpose, the delivery - of the Software to You does not convey to You any intellectual - property rights in the Software, including, but not limited to any - rights under any patent, trademark, copyright, or trade secret. - Neither the delivery of the Software to You nor any terms set forth - herein shall be construed to grant to You, either expressly, by - implication or by way of estoppel, any license under any patents or - other intellectual property rights covering or relating to any other - product or invention or any combination of the Software with any - other product. Any rights not expressly granted to You herein are - reserved by Licensor. + Software shall remain with Licensor and, unless specified in + writing hereunder, no rights are granted to any of the Software. + Except for the right to use the Software for the Limited Purpose, + the delivery of the Software to You does not convey to You any + intellectual property rights in the Software, including, but not + limited to any rights under any patent, trademark, copyright, or + trade secret. Neither the delivery of the Software to You nor any + terms set forth herein shall be construed to grant to You, either + expressly, by implication or by way of estoppel, any license under + any patents or other intellectual property rights covering or + relating to any other product or invention or any combination of + the Software with any other product. Any rights not expressly + granted to You herein are reserved by Licensor. b. No Commercialization or Distribution of the Software and Documentation. Except as expressly provided in Section 2 of this - Agreement, You shall have no right to (i) copy, disclose, distribute, - publically perform, publically display, transfer, alter, modify, - translate, disassemble, decompile, reverse engineer, or adapt the - Software and Documentation, or any portion thereof, or create any - derivative works based thereon; (ii) rent, lease, assign, sublicense, - resell, disclose or otherwise transfer the Software and Documentation - in whole or in part to any third party (iii) use the Software and - Documentation except for the Limited Purpose, (iv) remove or alter - any of the copyright or proprietary notices contained in any of the - Software and Documentation. For the purposes of clarity, nothing in - this Agreement prohibits You from making and distributing Android - Applications under commercial or non-commercial terms, provided that - You shall not contain, incorporate, and/or compile the Software or - any of its derivative works, in whole or in part, into Your Android - Applications and/or any software/devices created by You or by third - parties acting on Your behalf. You and any such third party shall - comply with all of the terms and conditions of this Agreement. + Agreement, You shall have no right to (i) copy, disclose, + distribute, publically perform, publically display, transfer, + alter, modify, translate, disassemble, decompile, reverse engineer, + or adapt the Software and Documentation, or any portion thereof, or + create any derivative works based thereon; (ii) rent, lease, + assign, sublicense, resell, disclose or otherwise transfer the + Software and Documentation in whole or in part to any third party + (iii) use the Software and Documentation except for the Limited + Purpose, (iv) remove or alter any of the copyright or proprietary + notices contained in any of the Software and Documentation. For the + purposes of clarity, nothing in this Agreement prohibits You from + making and distributing Android Applications under commercial or + non-commercial terms, provided that You shall not contain, + incorporate, and/or compile the Software or any of its derivative + works, in whole or in part, into Your Android Applications and/or + any software/devices created by You or by third parties acting on + Your behalf. You and any such third party shall comply with all of + the terms and conditions of this Agreement. c. No Reverse Engineering. Except for any portions of the Software - provided to You in source code format and except for any third party - code distributed with the Software that is licensed under contrary - terms, You will not reverse engineer, disassemble, - decompile, or translate the Software, or otherwise attempt to derive - the source code version of the Software, except if and to the extent - expressly permitted under any applicable law. - - d. Third Party Software. You agree that Android may contain third party - software. You agree that you may not distribute such third party - software for any purpose without appropriate licenses from the - applicable third party or parties. - - e. No Transfer or Assignment. You shall not assign any of its rights or - obligations under this Agreement. Any attempted assignment in + provided to You in source code format and except for any third + party code distributed with the Software that is licensed under + contrary terms, You will not reverse engineer, disassemble, + decompile, or translate the Software, or otherwise attempt to + derive the source code version of the Software, except if and to + the extent expressly permitted under any applicable law. + + d. Third Party Software. You agree that Android may contain third + party software. You agree that you may not distribute such third + party software for any purpose without appropriate licenses from + the applicable third party or parties. + + e. No Transfer or Assignment. You shall not assign any of its rights + or obligations under this Agreement. Any attempted assignment in contravention of this Section shall be void. 4. Indemnity - a. You agree to indemnify and hold harmless Licensor and its officers, - directors, customers, employees and successors and assigns (each an - "Indemnified Party") against any and all claims, demands, causes of - action, losses, liabilities, damages, costs and expenses, incurred by - the Indemnified Party (including but not limited to costs of defense, - investigation and reasonable attorney's fees) arising out of, - resulting from or related to (i) any software, products, - documentation, content, materials or derivative works created or - developed by You using the Software which causes an infringement of - any patent, copyright, trademark, trade secret, or other property, - publicity or privacy rights of any third parties arising in any - jurisdiction anywhere in the world, (ii) the download, distribution, - installation, storage, execution, use or transfer of such software, - products, documentation, content, materials or derivative works by - any person or entity, and/or (iii) any breach of this Agreement by - You. If requested by an Indemnified Party, You agree to defend such - Indemnified Party in connection with any third party claims, demands, - or causes of action resulting from, arising out of or in connection - with any of the foregoing. + a. You agree to indemnify and hold harmless Licensor and + its officers, directors, customers, employees and successors and + assigns (each an "Indemnified Party") against any and all claims, + demands, causes of action, losses, liabilities, damages, costs and + expenses, incurred by the Indemnified Party (including but not + limited to costs of defense, investigation and reasonable + attorney's fees) arising out of, resulting from or related to + (i) any software, products, documentation, content, materials or + derivative works created or developed by You using the Software + which causes an infringement of any patent, copyright, trademark, + trade secret, or other property, publicity or privacy rights of any + third parties arising in any jurisdiction anywhere in the world, + (ii) the download, distribution, installation, storage, execution, + use or transfer of such software, products, documentation, content, + materials or derivative works by any person or entity, and/or + (iii) any breach of this Agreement by You. If requested by an + Indemnified Party, You agree to defend such Indemnified Party in + connection with any third party claims, demands, or causes of + action resulting from, arising out of or in connection with any of + the foregoing. 5. Limitation of Liability a. TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAWS, UNDER NO CIRCUMSTANCES, INCLUDING WITHOUT LIMITATION NEGLIGENCE, SHALL - LICENSOR, ITS AFFILIATES AND/OR ITS DIRECTORS, OFFICERS, EMPLOYEES OR - AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE OR - CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO DAMAGES FOR LOSS - OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS - INFORMATION AND THE LIKE) ARISING OUT OF OR IN CONNECTION WITH THE - SOFTWARE OR ANY DOWNLOAD, INSTALLATION OR USE OF, OR INABILITY TO - USE, THE SOFTWARE, EVEN IF LICENSOR HAS BEEN ADVISED OF THE - POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE - LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL - DAMAGES SO THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE - LIMITED. IN NO EVENT SHALL LICENSOR'S TOTAL AGGREGATE LIABILITY TO - YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF ACTIONS - (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE, INDEMNIFICATION OR - OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS (US$100). THE LIMITATIONS - SET FORTH IN THIS PARAGRAPH SHALL BE DEEMED TO APPLY TO THE MAXIMUM - EXTENT PERMITTED BY APPLICABLE LAW. THE PARTIES HAVE FULLY CONSIDERED - THE FOREGOING ALLOCATION OF RISK AND FIND IT REASONABLE, AND THAT THE - FOREGOING LIMITATIONS IN THIS PARAGRAPH ARE AN ESSENTIAL BASIS OF - THE BARGAIN BETWEEN THE PARTIES. + LICENSOR, ITS AFFILIATES AND/OR ITS DIRECTORS, OFFICERS, + EMPLOYEES OR AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL, + SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT + LIMITED TO DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS + INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR ANY DOWNLOAD, + INSTALLATION OR USE OF, OR INABILITY TO USE, THE SOFTWARE, EVEN IF + LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR + EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO + THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE LIMITED. + IN NO EVENT SHALL LICENSOR'S TOTAL AGGREGATE LIABILITY + TO YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF + ACTIONS (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE, + INDEMNIFICATION OR OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS + (US$100). THE LIMITATIONS SET FORTH IN THIS PARAGRAPH SHALL BE + DEEMED TO APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW. + THE PARTIES HAVE FULLY CONSIDERED THE FOREGOING ALLOCATION OF RISK + AND FIND IT REASONABLE, AND THAT THE FOREGOING LIMITATIONS IN THIS + PARAGRAPH ARE AN ESSENTIAL BASIS OF THE BARGAIN BETWEEN THE + PARTIES. 6. No Warranty - a. LICENSOR MAKES NO WARRANTIES, EXPRESS OR IMPLIED, WITH RESPECT TO THE - SOFTWARE AND DOCUMENTATION PROVIDED UNDER THIS AGREEMENT, INCLUDING - BUT NOT LIMITED TO ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A - PARTICULAR PURPOSE OR AGAINST INFRINGEMENT, OR ANY EXPRESS OR IMPLIED - WARRANTY ARISING OUT OF TRADE USAGE OR OUT OF A COURSE OF DEALING OR - COURSE OF PERFORMANCE. NOTHING CONTAINED IN THIS AGREEMENT SHALL BE - CONSTRUED AS A WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE - VALIDITY OR SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL - PROPERTY RIGHT AND (II) THAT ANY MANUFACTURE OR USE WILL BE FREE FROM - INFRINGEMENT OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY - RIGHTS OF OTHERS, AND IT SHALL BE THE SOLE RESPONSIBILITY OF YOU TO - MAKE SUCH DETERMINATION AS IS NECESSARY WITH RESPECT TO THE - ACQUISITION OF LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY - OF THIRD PARTIES. LICENSOR SHALL NOT HAVE ANY OBLIGATION TO PROVIDE - ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT. + a. LICENSOR MAKES NO WARRANTIES, EXPRESS OR IMPLIED, WITH + RESPECT TO THE SOFTWARE AND DOCUMENTATION PROVIDED UNDER THIS + AGREEMENT, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF + MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR AGAINST + INFRINGEMENT, OR ANY EXPRESS OR IMPLIED WARRANTY ARISING OUT OF + TRADE USAGE OR OUT OF A COURSE OF DEALING OR COURSE OF PERFORMANCE. + NOTHING CONTAINED IN THIS AGREEMENT SHALL BE CONSTRUED AS A + WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE VALIDITY OR + SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT + AND (II) THAT ANY MANUFACTURE OR USE WILL BE FREE FROM INFRINGEMENT + OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY RIGHTS OF + OTHERS, AND IT SHALL BE THE SOLE RESPONSIBILITY OF YOU TO MAKE SUCH + DETERMINATION AS IS NECESSARY WITH RESPECT TO THE ACQUISITION OF + LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY OF THIRD + PARTIES. Licensor SHALL NOT HAVE ANY OBLIGATION TO + PROVIDE ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT. 7. Term and Termination a. This Agreement shall be effective on the date You accept this Agreement and shall remain in effect until terminated as provided herein. You may terminate the Agreement at any time by deleting and - destroying all copies of the Software and all related information in - Your possession or control. This Agreement terminates immediately and - automatically, with or without notice, if You fail to comply with any - provision hereof. Additionally, Licensor may at any time terminate - this Agreement, without cause, upon notice to You. Upon termination - You must delete or destroy all copies of the Software in Your - possession, and the license granted to You in this Agreement shall - terminate. Sections 3, 4, 5, 6 and 8 shall survive the termination of - this Agreement. + destroying all copies of the Software and all related information + in Your possession or control. This Agreement terminates + immediately and automatically, with or without notice, if You fail + to comply with any provision hereof. Additionally, Licensor may at + any time terminate this Agreement, without cause, upon notice to + You. Upon termination You must delete or destroy all copies of the + Software in Your possession, and the license granted to You in this + Agreement shall terminate. Sections 3, 4, 5, 6 and 8 shall survive + the termination of this Agreement. 8. Miscellaneous @@ -187,32 +193,33 @@ CONDITIONS OF THIS AGREEMENT. accordance with the laws of the State of California without giving effect to its conflict of laws provisions. The United Nations Convention on Contracts for the International Sale of Goods is - expressly disclaimed and shall not apply. Any claim arising out of or - related to this Agreement must be brought exclusively in a federal or - state court located in Santa Clara County, California and You consent - to the jurisdiction and venue of such courts. + expressly disclaimed and shall not apply. Any claim arising out of + or related to this Agreement must be brought exclusively in a + federal or state court located in Santa Clara County, California + and You consent to the jurisdiction and venue of such courts. b. Waiver and Severability. The failure of either party to require performance by the other party of any provision of this Agreement shall not affect the full right to require such performance at any - time thereafter; nor shall the waiver by either party of a breach of - any provision of this Agreement be taken or held to be a waiver of - the provision itself. Severability. If any provision of this - Agreement is unenforceable or invalid under any applicable law or is - so held by applicable court decision, such unenforceability or + time thereafter; nor shall the waiver by either party of a breach + of any provision of this Agreement be taken or held to be a waiver + of the provision itself. Severability. If any provision of this + Agreement is unenforceable or invalid under any applicable law or + is so held by applicable court decision, such unenforceability or invalidity shall not render this Agreement unenforceable or invalid - as a whole, and such provision shall be changed and interpreted so as - to best accomplish the objectives of such unenforceable or invalid - provision within the limits of applicable law or applicable court - decisions. + as a whole, and such provision shall be changed and interpreted so + as to best accomplish the objectives of such unenforceable or + invalid provision within the limits of applicable law or + applicable court decisions. c. Amendment and Modification. This Agreement and any of its terms and - provisions may only be amended, modified, supplemented or waived in a - writing signed by both parties hereto. + provisions may only be amended, modified, supplemented or waived in + a writing signed by both parties hereto. d. Compliance with Laws. You shall comply with all applicable laws, rules, and regulations in connection with its activities under this Agreement. e. Entire Agreement. This Agreement completely and exclusively states - the agreement between You and Licensor regarding this subject matter. + the agreement between You and Licensor regarding this subject + matter. diff --git a/self-extractors/root/BoardConfigVendor.mk b/self-extractors/root/BoardConfigVendor.mk index 2e4748c..d18865d 100644 --- a/self-extractors/root/BoardConfigVendor.mk +++ b/self-extractors/root/BoardConfigVendor.mk @@ -20,7 +20,4 @@ LOCAL_STEM := grouper/BoardConfigPartial.mk -include vendor/invensense/$(LOCAL_STEM) -include vendor/nvidia/$(LOCAL_STEM) -include vendor/nxp/$(LOCAL_STEM) --include vendor/trusted_logic/$(LOCAL_STEM) -include vendor/widevine/$(LOCAL_STEM) - --include vendor/unknown/$(LOCAL_STEM) diff --git a/self-extractors/root/device-vendor.mk b/self-extractors/root/device-vendor.mk index c45106d..8adbbbb 100644 --- a/self-extractors/root/device-vendor.mk +++ b/self-extractors/root/device-vendor.mk @@ -20,9 +20,6 @@ $(call inherit-product-if-exists, vendor/elan/$(LOCAL_STEM)) $(call inherit-product-if-exists, vendor/invensense/$(LOCAL_STEM)) $(call inherit-product-if-exists, vendor/nvidia/$(LOCAL_STEM)) $(call inherit-product-if-exists, vendor/nxp/$(LOCAL_STEM)) -$(call inherit-product-if-exists, vendor/trusted_logic/$(LOCAL_STEM)) $(call inherit-product-if-exists, vendor/widevine/$(LOCAL_STEM)) -$(call inherit-product-if-exists, vendor/unknown/$(LOCAL_STEM)) - PRODUCT_RESTRICT_VENDOR_FILES := owner diff --git a/self-extractors/trusted_logic/COPYRIGHT b/self-extractors/trusted_logic/COPYRIGHT deleted file mode 100644 index 935df27..0000000 --- a/self-extractors/trusted_logic/COPYRIGHT +++ /dev/null @@ -1 +0,0 @@ -# (C) Trusted Logic. All Rights Reserved. diff --git a/self-extractors/trusted_logic/LICENSE b/self-extractors/trusted_logic/LICENSE deleted file mode 100644 index 86f44f7..0000000 --- a/self-extractors/trusted_logic/LICENSE +++ /dev/null @@ -1 +0,0 @@ -TRUSTED LOGIC LICENSE GOES HERE diff --git a/self-extractors/trusted_logic/staging/BoardConfigPartial.mk b/self-extractors/trusted_logic/staging/BoardConfigPartial.mk deleted file mode 100644 index 01a0ff3..0000000 --- a/self-extractors/trusted_logic/staging/BoardConfigPartial.mk +++ /dev/null @@ -1,13 +0,0 @@ -# Copyright (C) 2010 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. diff --git a/self-extractors/trusted_logic/staging/device-partial.mk b/self-extractors/trusted_logic/staging/device-partial.mk deleted file mode 100644 index 80f8910..0000000 --- a/self-extractors/trusted_logic/staging/device-partial.mk +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright (C) 2010 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Trusted Logic blob(s) necessary for Grouper hardware -PRODUCT_PACKAGES := \ - tf_daemon \ - keystore.grouper diff --git a/self-extractors/widevine/LICENSE b/self-extractors/widevine/LICENSE index 11f8237..164dae2 100644 --- a/self-extractors/widevine/LICENSE +++ b/self-extractors/widevine/LICENSE @@ -2,14 +2,14 @@ THIS DEVELOPER SOFTWARE LICENSE AGREEMENT (THE "AGREEMENT") IS A LEGALLY BINDING AGREEMENT BETWEEN Google Inc. ("LICENSOR") AND YOU OR THE LEGAL ENTITY YOU REPRESENT ("You" or its possessive, "Your"). BY TYPING "I ACCEPT" WHERE INDICATED YOU ACKNOWLEDGE THAT YOU HAVE READ THIS -AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS. IF -YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION PROCESS -AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE SOFTWARE OR -DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS SUBJECT TO THE -TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE SOFTWARE IS INSTALLED -ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL ENTITY, THEN YOU REPRESENT -AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND SUCH ENTITY TO THE TERMS AND -CONDITIONS OF THIS AGREEMENT. +AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS. +IF YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION +PROCESS AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE +SOFTWARE OR DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS +SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE +SOFTWARE IS INSTALLED ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL +ENTITY, THEN YOU REPRESENT AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND +SUCH ENTITY TO THE TERMS AND CONDITIONS OF THIS AGREEMENT. 1. Special Definitions @@ -29,157 +29,163 @@ CONDITIONS OF THIS AGREEMENT. Android Enabled Device. d. The term "Authorized Android Enabled Device Software" means a - packaged build for Authorized Android Enabled Devices, consisting of - files suitable for installation on an Authorized Android Enabled + packaged build for Authorized Android Enabled Devices, consisting + of files suitable for installation on an Authorized Android Enabled Device using a mechanism such as fastboot mode or recovery mode. 2. License Grant a. Subject to the terms of this Agreement, Licensor hereby grants to You, free of charge, a non-exclusive, non-sublicensable, - non-transferable, limited license, during the term of this Agreement, - to download, install and use the Software internally in - machine-readable (i.e., object code) form and the Documentation for - non-commercial use on an Authorized Android Enabled Device and - non-commercial redistribution of the Authorized Android Enabled - Device Software (the "Limited Purpose"). You may grant your end users - the right to use the Software for the Limited Purpose. The license to - the Software granted to You hereunder is solely for the Limited - Purpose set forth in this section, and the Software shall not be used - for any other purpose. + non-transferable, limited license, during the term of + this Agreement, to download, install and use the Software + internally in machine-readable (i.e., object code) form and the + Documentation for non-commercial use on an Authorized Android + Enabled Device and non-commercial redistribution of the Authorized + Android Enabled Device Software (the "Limited Purpose"). You may + grant your end users the right to use the Software for + the Limited Purpose. + The license to the Software granted to You hereunder is solely for + the Limited Purpose set forth in this section, and the Software + shall not be used for any other purpose. 3. Restrictions a. Retention of Rights. The entire right, title and interest in the - Software shall remain with Licensor and, unless specified in writing - hereunder, no rights are granted to any of the Software. Except for - the right to use the Software for the Limited Purpose, the delivery - of the Software to You does not convey to You any intellectual - property rights in the Software, including, but not limited to any - rights under any patent, trademark, copyright, or trade secret. - Neither the delivery of the Software to You nor any terms set forth - herein shall be construed to grant to You, either expressly, by - implication or by way of estoppel, any license under any patents or - other intellectual property rights covering or relating to any other - product or invention or any combination of the Software with any - other product. Any rights not expressly granted to You herein are - reserved by Licensor. + Software shall remain with Licensor and, unless specified in + writing hereunder, no rights are granted to any of the Software. + Except for the right to use the Software for the Limited Purpose, + the delivery of the Software to You does not convey to You any + intellectual property rights in the Software, including, but not + limited to any rights under any patent, trademark, copyright, or + trade secret. Neither the delivery of the Software to You nor any + terms set forth herein shall be construed to grant to You, either + expressly, by implication or by way of estoppel, any license under + any patents or other intellectual property rights covering or + relating to any other product or invention or any combination of + the Software with any other product. Any rights not expressly + granted to You herein are reserved by Licensor. b. No Commercialization or Distribution of the Software and Documentation. Except as expressly provided in Section 2 of this - Agreement, You shall have no right to (i) copy, disclose, distribute, - publically perform, publically display, transfer, alter, modify, - translate, disassemble, decompile, reverse engineer, or adapt the - Software and Documentation, or any portion thereof, or create any - derivative works based thereon; (ii) rent, lease, assign, sublicense, - resell, disclose or otherwise transfer the Software and Documentation - in whole or in part to any third party (iii) use the Software and - Documentation except for the Limited Purpose, (iv) remove or alter - any of the copyright or proprietary notices contained in any of the - Software and Documentation. For the purposes of clarity, nothing in - this Agreement prohibits You from making and distributing Android - Applications under commercial or non-commercial terms, provided that - You shall not contain, incorporate, and/or compile the Software or - any of its derivative works, in whole or in part, into Your Android - Applications and/or any software/devices created by You or by third - parties acting on Your behalf. You and any such third party shall - comply with all of the terms and conditions of this Agreement. + Agreement, You shall have no right to (i) copy, disclose, + distribute, publically perform, publically display, transfer, + alter, modify, translate, disassemble, decompile, reverse engineer, + or adapt the Software and Documentation, or any portion thereof, or + create any derivative works based thereon; (ii) rent, lease, + assign, sublicense, resell, disclose or otherwise transfer the + Software and Documentation in whole or in part to any third party + (iii) use the Software and Documentation except for the Limited + Purpose, (iv) remove or alter any of the copyright or proprietary + notices contained in any of the Software and Documentation. For the + purposes of clarity, nothing in this Agreement prohibits You from + making and distributing Android Applications under commercial or + non-commercial terms, provided that You shall not contain, + incorporate, and/or compile the Software or any of its derivative + works, in whole or in part, into Your Android Applications and/or + any software/devices created by You or by third parties acting on + Your behalf. You and any such third party shall comply with all of + the terms and conditions of this Agreement. c. No Reverse Engineering. Except for any portions of the Software - provided to You in source code format and except for any third party - code distributed with the Software that is licensed under contrary - terms, You will not reverse engineer, disassemble, - decompile, or translate the Software, or otherwise attempt to derive - the source code version of the Software, except if and to the extent - expressly permitted under any applicable law. - - d. Third Party Software. You agree that Android may contain third party - software. You agree that you may not distribute such third party - software for any purpose without appropriate licenses from the - applicable third party or parties. - - e. No Transfer or Assignment. You shall not assign any of its rights or - obligations under this Agreement. Any attempted assignment in + provided to You in source code format and except for any third + party code distributed with the Software that is licensed under + contrary terms, You will not reverse engineer, disassemble, + decompile, or translate the Software, or otherwise attempt to + derive the source code version of the Software, except if and to + the extent expressly permitted under any applicable law. + + d. Third Party Software. You agree that Android may contain third + party software. You agree that you may not distribute such third + party software for any purpose without appropriate licenses from + the applicable third party or parties. + + e. No Transfer or Assignment. You shall not assign any of its rights + or obligations under this Agreement. Any attempted assignment in contravention of this Section shall be void. 4. Indemnity - a. You agree to indemnify and hold harmless Licensor and its officers, - directors, customers, employees and successors and assigns (each an - "Indemnified Party") against any and all claims, demands, causes of - action, losses, liabilities, damages, costs and expenses, incurred by - the Indemnified Party (including but not limited to costs of defense, - investigation and reasonable attorney's fees) arising out of, - resulting from or related to (i) any software, products, - documentation, content, materials or derivative works created or - developed by You using the Software which causes an infringement of - any patent, copyright, trademark, trade secret, or other property, - publicity or privacy rights of any third parties arising in any - jurisdiction anywhere in the world, (ii) the download, distribution, - installation, storage, execution, use or transfer of such software, - products, documentation, content, materials or derivative works by - any person or entity, and/or (iii) any breach of this Agreement by - You. If requested by an Indemnified Party, You agree to defend such - Indemnified Party in connection with any third party claims, demands, - or causes of action resulting from, arising out of or in connection - with any of the foregoing. + a. You agree to indemnify and hold harmless Licensor and + its officers, directors, customers, employees and successors and + assigns (each an "Indemnified Party") against any and all claims, + demands, causes of action, losses, liabilities, damages, costs and + expenses, incurred by the Indemnified Party (including but not + limited to costs of defense, investigation and reasonable + attorney's fees) arising out of, resulting from or related to + (i) any software, products, documentation, content, materials or + derivative works created or developed by You using the Software + which causes an infringement of any patent, copyright, trademark, + trade secret, or other property, publicity or privacy rights of any + third parties arising in any jurisdiction anywhere in the world, + (ii) the download, distribution, installation, storage, execution, + use or transfer of such software, products, documentation, content, + materials or derivative works by any person or entity, and/or + (iii) any breach of this Agreement by You. If requested by an + Indemnified Party, You agree to defend such Indemnified Party in + connection with any third party claims, demands, or causes of + action resulting from, arising out of or in connection with any of + the foregoing. 5. Limitation of Liability a. TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAWS, UNDER NO CIRCUMSTANCES, INCLUDING WITHOUT LIMITATION NEGLIGENCE, SHALL - LICENSOR, ITS AFFILIATES AND/OR ITS DIRECTORS, OFFICERS, EMPLOYEES OR - AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE OR - CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO DAMAGES FOR LOSS - OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS - INFORMATION AND THE LIKE) ARISING OUT OF OR IN CONNECTION WITH THE - SOFTWARE OR ANY DOWNLOAD, INSTALLATION OR USE OF, OR INABILITY TO - USE, THE SOFTWARE, EVEN IF LICENSOR HAS BEEN ADVISED OF THE - POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE - LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL - DAMAGES SO THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE - LIMITED. IN NO EVENT SHALL LICENSOR'S TOTAL AGGREGATE LIABILITY TO - YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF ACTIONS - (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE, INDEMNIFICATION OR - OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS (US$100). THE LIMITATIONS - SET FORTH IN THIS PARAGRAPH SHALL BE DEEMED TO APPLY TO THE MAXIMUM - EXTENT PERMITTED BY APPLICABLE LAW. THE PARTIES HAVE FULLY CONSIDERED - THE FOREGOING ALLOCATION OF RISK AND FIND IT REASONABLE, AND THAT THE - FOREGOING LIMITATIONS IN THIS PARAGRAPH ARE AN ESSENTIAL BASIS OF - THE BARGAIN BETWEEN THE PARTIES. + LICENSOR, ITS AFFILIATES AND/OR ITS DIRECTORS, OFFICERS, + EMPLOYEES OR AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL, + SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT + LIMITED TO DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS + INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR ANY DOWNLOAD, + INSTALLATION OR USE OF, OR INABILITY TO USE, THE SOFTWARE, EVEN IF + LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR + EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO + THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE LIMITED. + IN NO EVENT SHALL LICENSOR'S TOTAL AGGREGATE LIABILITY + TO YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF + ACTIONS (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE, + INDEMNIFICATION OR OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS + (US$100). THE LIMITATIONS SET FORTH IN THIS PARAGRAPH SHALL BE + DEEMED TO APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW. + THE PARTIES HAVE FULLY CONSIDERED THE FOREGOING ALLOCATION OF RISK + AND FIND IT REASONABLE, AND THAT THE FOREGOING LIMITATIONS IN THIS + PARAGRAPH ARE AN ESSENTIAL BASIS OF THE BARGAIN BETWEEN THE + PARTIES. 6. No Warranty - a. LICENSOR MAKES NO WARRANTIES, EXPRESS OR IMPLIED, WITH RESPECT TO THE - SOFTWARE AND DOCUMENTATION PROVIDED UNDER THIS AGREEMENT, INCLUDING - BUT NOT LIMITED TO ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A - PARTICULAR PURPOSE OR AGAINST INFRINGEMENT, OR ANY EXPRESS OR IMPLIED - WARRANTY ARISING OUT OF TRADE USAGE OR OUT OF A COURSE OF DEALING OR - COURSE OF PERFORMANCE. NOTHING CONTAINED IN THIS AGREEMENT SHALL BE - CONSTRUED AS A WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE - VALIDITY OR SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL - PROPERTY RIGHT AND (II) THAT ANY MANUFACTURE OR USE WILL BE FREE FROM - INFRINGEMENT OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY - RIGHTS OF OTHERS, AND IT SHALL BE THE SOLE RESPONSIBILITY OF YOU TO - MAKE SUCH DETERMINATION AS IS NECESSARY WITH RESPECT TO THE - ACQUISITION OF LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY - OF THIRD PARTIES. LICENSOR SHALL NOT HAVE ANY OBLIGATION TO PROVIDE - ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT. + a. LICENSOR MAKES NO WARRANTIES, EXPRESS OR IMPLIED, WITH + RESPECT TO THE SOFTWARE AND DOCUMENTATION PROVIDED UNDER THIS + AGREEMENT, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF + MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR AGAINST + INFRINGEMENT, OR ANY EXPRESS OR IMPLIED WARRANTY ARISING OUT OF + TRADE USAGE OR OUT OF A COURSE OF DEALING OR COURSE OF PERFORMANCE. + NOTHING CONTAINED IN THIS AGREEMENT SHALL BE CONSTRUED AS A + WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE VALIDITY OR + SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT + AND (II) THAT ANY MANUFACTURE OR USE WILL BE FREE FROM INFRINGEMENT + OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY RIGHTS OF + OTHERS, AND IT SHALL BE THE SOLE RESPONSIBILITY OF YOU TO MAKE SUCH + DETERMINATION AS IS NECESSARY WITH RESPECT TO THE ACQUISITION OF + LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY OF THIRD + PARTIES. Licensor SHALL NOT HAVE ANY OBLIGATION TO + PROVIDE ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT. 7. Term and Termination a. This Agreement shall be effective on the date You accept this Agreement and shall remain in effect until terminated as provided herein. You may terminate the Agreement at any time by deleting and - destroying all copies of the Software and all related information in - Your possession or control. This Agreement terminates immediately and - automatically, with or without notice, if You fail to comply with any - provision hereof. Additionally, Licensor may at any time terminate - this Agreement, without cause, upon notice to You. Upon termination - You must delete or destroy all copies of the Software in Your - possession, and the license granted to You in this Agreement shall - terminate. Sections 3, 4, 5, 6 and 8 shall survive the termination of - this Agreement. + destroying all copies of the Software and all related information + in Your possession or control. This Agreement terminates + immediately and automatically, with or without notice, if You fail + to comply with any provision hereof. Additionally, Licensor may at + any time terminate this Agreement, without cause, upon notice to + You. Upon termination You must delete or destroy all copies of the + Software in Your possession, and the license granted to You in this + Agreement shall terminate. Sections 3, 4, 5, 6 and 8 shall survive + the termination of this Agreement. 8. Miscellaneous @@ -187,32 +193,33 @@ CONDITIONS OF THIS AGREEMENT. accordance with the laws of the State of California without giving effect to its conflict of laws provisions. The United Nations Convention on Contracts for the International Sale of Goods is - expressly disclaimed and shall not apply. Any claim arising out of or - related to this Agreement must be brought exclusively in a federal or - state court located in Santa Clara County, California and You consent - to the jurisdiction and venue of such courts. + expressly disclaimed and shall not apply. Any claim arising out of + or related to this Agreement must be brought exclusively in a + federal or state court located in Santa Clara County, California + and You consent to the jurisdiction and venue of such courts. b. Waiver and Severability. The failure of either party to require performance by the other party of any provision of this Agreement shall not affect the full right to require such performance at any - time thereafter; nor shall the waiver by either party of a breach of - any provision of this Agreement be taken or held to be a waiver of - the provision itself. Severability. If any provision of this - Agreement is unenforceable or invalid under any applicable law or is - so held by applicable court decision, such unenforceability or + time thereafter; nor shall the waiver by either party of a breach + of any provision of this Agreement be taken or held to be a waiver + of the provision itself. Severability. If any provision of this + Agreement is unenforceable or invalid under any applicable law or + is so held by applicable court decision, such unenforceability or invalidity shall not render this Agreement unenforceable or invalid - as a whole, and such provision shall be changed and interpreted so as - to best accomplish the objectives of such unenforceable or invalid - provision within the limits of applicable law or applicable court - decisions. + as a whole, and such provision shall be changed and interpreted so + as to best accomplish the objectives of such unenforceable or + invalid provision within the limits of applicable law or + applicable court decisions. c. Amendment and Modification. This Agreement and any of its terms and - provisions may only be amended, modified, supplemented or waived in a - writing signed by both parties hereto. + provisions may only be amended, modified, supplemented or waived in + a writing signed by both parties hereto. d. Compliance with Laws. You shall comply with all applicable laws, rules, and regulations in connection with its activities under this Agreement. e. Entire Agreement. This Agreement completely and exclusively states - the agreement between You and Licensor regarding this subject matter. + the agreement between You and Licensor regarding this subject + matter. diff --git a/sepolicy/app.te b/sepolicy/app.te index 9d8a4ad..9d9b5b6 100644 --- a/sepolicy/app.te +++ b/sepolicy/app.te @@ -1,2 +1 @@ allow appdomain sysfs_devices_system_cpu:dir r_dir_perms; -allow appdomain { nvhost_writable_device nv_device }:chr_file rw_file_perms; diff --git a/sepolicy/btmacreader.te b/sepolicy/btmacreader.te index 8950ee3..231777b 100644 --- a/sepolicy/btmacreader.te +++ b/sepolicy/btmacreader.te @@ -1,18 +1,7 @@ type btmacreader, domain; +permissive btmacreader; type btmacreader_exec, exec_type, file_type; type mac_data_file, file_type, data_file_type; init_daemon_domain(btmacreader) -allow btmacreader self:capability dac_override; -allow btmacreader mac_data_file:dir { mounton rmdir }; -allow btmacreader shell_exec:file rx_file_perms; file_type_auto_trans(btmacreader, system_data_file, mac_data_file) - -# Execute toolbox commands -allow btmacreader system_file:file execute_no_trans; - -# Read from per device partition -allow btmacreader sensors_block_device:lnk_file read; -allow btmacreader sdcard_external:filesystem { mount unmount }; -allow btmacreader tty_device:chr_file rw_file_perms; -allow btmacreader self:capability sys_admin; -allow btmacreader bluetooth_data_file:dir search; +unconfined_domain(btmacreader) diff --git a/sepolicy/device.te b/sepolicy/device.te index a4d1779..b997573 100644 --- a/sepolicy/device.te +++ b/sepolicy/device.te @@ -1,7 +1,5 @@ type knv_device, dev_type; -type nv_device, dev_type, mlstrustedobject; -type nvhost_device, dev_type; -type nvhost_writable_device, dev_type, mlstrustedobject; type elan_ip_device, dev_type; type sensors_block_device, dev_type; +type sysfs_devices_tegradc, dev_type; type diag_device, dev_type; diff --git a/sepolicy/file.te b/sepolicy/file.te index b786114..cbd5a6c 100644 --- a/sepolicy/file.te +++ b/sepolicy/file.te @@ -1,3 +1,4 @@ type sysfs_firmware_writable, fs_type, sysfs_type; -type sysfs_devices_system_cpu, fs_type, sysfs_type; -type sysfs_devices_tegradc, fs_type, sysfs_type; + +allow sysfs_devices_tegradc sysfs:filesystem associate; +allow sysfs_devices_system_cpu sysfs:filesystem associate; diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts index 8cd41b5..772943d 100644 --- a/sepolicy/file_contexts +++ b/sepolicy/file_contexts @@ -2,35 +2,18 @@ /dev/diag u:object_r:diag_device:s0 /dev/elan-iap u:object_r:elan_ip_device:s0 /dev/knvmap u:object_r:knv_device:s0 -/dev/nvmap u:object_r:nv_device:s0 /dev/lightsensor u:object_r:sensors_device:s0 /dev/mi1040 u:object_r:camera_device:s0 -/dev/ov2710 u:object_r:camera_device:s0 -/dev/tegra_camera u:object_r:camera_device:s0 -/dev/camera.* u:object_r:camera_device:s0 -/dev/focuser.* u:object_r:camera_device:s0 -/dev/torch.* u:object_r:camera_device:s0 -/dev/video0 u:object_r:camera_device:s0 -/dev/video1 u:object_r:camera_device:s0 -/dev/nvhost.* u:object_r:nvhost_device:s0 -/dev/nvhost-ctrl u:object_r:nvhost_writable_device:s0 -/dev/nvhost-gr2d u:object_r:nvhost_writable_device:s0 -/dev/nvhost-gr3d u:object_r:nvhost_writable_device:s0 -/dev/pn544 u:object_r:nfc_device:s0 -/dev/spdif.* u:object_r:audio_device:s0 -/dev/tegra.* u:object_r:video_device:s0 /dev/ttyHS1 u:object_r:gps_device:s0 /dev/ttyHS2 u:object_r:hci_attach_dev:s0 /data/amit(/.*)? u:object_r:sensors_data_file:s0 /data/calibration(/.*)? u:object_r:sensors_data_file:s0 /data/lightsensor(/.*)? u:object_r:sensors_data_file:s0 -/data/mac(/.*)? u:object_r:mac_data_file:s0 /data/sensors(/.*)? u:object_r:sensors_data_file:s0 /data/tf(/.*)? u:object_r:tee_data_file:s0 /system/bin/brcm_patchram_plus -- u:object_r:hci_attach_exec:s0 -/system/bin/btmacreader -- u:object_r:btmacreader_exec:s0 /system/bin/glgps -- u:object_r:gpsd_exec:s0 /system/bin/sensors-config -- u:object_r:sensors_config_exec:s0 diff --git a/sepolicy/sensors_config.te b/sepolicy/sensors_config.te index 52257a5..2669715 100644 --- a/sepolicy/sensors_config.te +++ b/sepolicy/sensors_config.te @@ -2,22 +2,9 @@ # sensors_config: load calibration files. ########## type sensors_config, domain; +permissive sensors_config; type sensors_config_exec, exec_type, file_type; type sensors_data_file, file_type, data_file_type; init_daemon_domain(sensors_config) -allow sensors_config self:capability { dac_override chown fowner fsetid }; -allow sensors_config sensors_data_file:dir { create_dir_perms mounton }; -allow sensors_config sensors_data_file:file create_file_perms; -allow sensors_config shell_exec:file rx_file_perms; file_type_auto_trans(sensors_config, system_data_file, sensors_data_file) - -# Execute toolbox commands -allow sensors_config system_file:file execute_no_trans; - -# Read from per device partition -allow sensors_config block_device:dir search; -allow sensors_config sensors_block_device:lnk_file read; -allow sensors_config sdcard_external:filesystem { mount unmount }; -allow sensors_config sdcard_external:file r_file_perms; -allow sensors_config tty_device:chr_file rw_file_perms; -allow sensors_config self:capability sys_admin; +unconfined_domain(sensors_config) diff --git a/sepolicy/surfaceflinger.te b/sepolicy/surfaceflinger.te index 314ce63..36965aa 100644 --- a/sepolicy/surfaceflinger.te +++ b/sepolicy/surfaceflinger.te @@ -1,3 +1,3 @@ -allow surfaceflinger { knv_device nvhost_writable_device }:chr_file rw_file_perms; +allow surfaceflinger knv_device:chr_file rw_file_perms; allow surfaceflinger { sysfs_devices_system_cpu sysfs_devices_tegradc }:file w_file_perms; allow surfaceflinger sysfs_devices_system_cpu:dir w_dir_perms; diff --git a/sepolicy/system.te b/sepolicy/system.te index 814fdea..c370b77 100644 --- a/sepolicy/system.te +++ b/sepolicy/system.te @@ -1,6 +1,5 @@ -allow { system system_app } { knv_device nvhost_writable_device }:chr_file rw_file_perms; +allow { system system_app }knv_device:chr_file rw_file_perms; allow system sysfs_devices_system_cpu:file w_file_perms; allow system sysfs_devices_system_cpu:dir r_dir_perms; allow system elan_ip_device:chr_file rw_file_perms; allow system diag_device:chr_file rw_file_perms; -allow system usb_device:dir r_dir_perms; diff --git a/system.prop b/system.prop index 79b5203..befcf94 100644 --- a/system.prop +++ b/system.prop @@ -11,3 +11,6 @@ debug.nfc.se=false # set default lcd density to TVDPI ro.sf.lcd_density=213 + +# don't preload OpenGL in Zygote, the Tegra drivers do not like it +ro.zygote.disable_gl_preload=true diff --git a/vendorsetup.sh b/vendorsetup.sh index 749ec76..aa3e953 100644 --- a/vendorsetup.sh +++ b/vendorsetup.sh @@ -20,4 +20,4 @@ # In particular, you can add lunch options with the add_lunch_combo # function: add_lunch_combo generic-eng -add_lunch_combo full_grouper-userdebug +add_lunch_combo aosp_grouper-userdebug