| 1 | ############################################################################# |
|---|
| 2 | # (c)2009-2011 Broadcom Corporation |
|---|
| 3 | # |
|---|
| 4 | # This program is the proprietary software of Broadcom Corporation and/or its licensors, |
|---|
| 5 | # and may only be used, duplicated, modified or distributed pursuant to the terms and |
|---|
| 6 | # conditions of a separate, written license agreement executed between you and Broadcom |
|---|
| 7 | # (an "Authorized License"). Except as set forth in an Authorized License, Broadcom grants |
|---|
| 8 | # no license (express or implied), right to use, or waiver of any kind with respect to the |
|---|
| 9 | # Software, and Broadcom expressly reserves all rights in and to the Software and all |
|---|
| 10 | # intellectual property rights therein. IF YOU HAVE NO AUTHORIZED LICENSE, THEN YOU |
|---|
| 11 | # HAVE NO RIGHT TO USE THIS SOFTWARE IN ANY WAY, AND SHOULD IMMEDIATELY |
|---|
| 12 | # NOTIFY BROADCOM AND DISCONTINUE ALL USE OF THE SOFTWARE. |
|---|
| 13 | # |
|---|
| 14 | # Except as expressly set forth in the Authorized License, |
|---|
| 15 | # |
|---|
| 16 | # 1. This program, including its structure, sequence and organization, constitutes the valuable trade |
|---|
| 17 | # secrets of Broadcom, and you shall use all reasonable efforts to protect the confidentiality thereof, |
|---|
| 18 | # and to use this information only in connection with your use of Broadcom integrated circuit products. |
|---|
| 19 | # |
|---|
| 20 | # 2. TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS" |
|---|
| 21 | # AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES, REPRESENTATIONS OR |
|---|
| 22 | # WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO |
|---|
| 23 | # THE SOFTWARE. BROADCOM SPECIFICALLY DISCLAIMS ANY AND ALL IMPLIED WARRANTIES |
|---|
| 24 | # OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, |
|---|
| 25 | # LACK OF VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION |
|---|
| 26 | # OR CORRESPONDENCE TO DESCRIPTION. YOU ASSUME THE ENTIRE RISK ARISING OUT OF |
|---|
| 27 | # USE OR PERFORMANCE OF THE SOFTWARE. |
|---|
| 28 | # |
|---|
| 29 | # 3. TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM OR ITS |
|---|
| 30 | # LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL, INCIDENTAL, SPECIAL, INDIRECT, OR |
|---|
| 31 | # EXEMPLARY DAMAGES WHATSOEVER ARISING OUT OF OR IN ANY WAY RELATING TO YOUR |
|---|
| 32 | # USE OF OR INABILITY TO USE THE SOFTWARE EVEN IF BROADCOM HAS BEEN ADVISED OF |
|---|
| 33 | # THE POSSIBILITY OF SUCH DAMAGES; OR (ii) ANY AMOUNT IN EXCESS OF THE AMOUNT |
|---|
| 34 | # ACTUALLY PAID FOR THE SOFTWARE ITSELF OR U.S. $1, WHICHEVER IS GREATER. THESE |
|---|
| 35 | # LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF |
|---|
| 36 | # ANY LIMITED REMEDY. |
|---|
| 37 | # |
|---|
| 38 | # $brcm_Workfile: dtcp_ip_lib.inc $ |
|---|
| 39 | # $brcm_Revision: 16 $ |
|---|
| 40 | # $brcm_Date: 2/11/11 5:39p $ |
|---|
| 41 | # |
|---|
| 42 | # Module Description: |
|---|
| 43 | # |
|---|
| 44 | # Revision History: |
|---|
| 45 | # |
|---|
| 46 | # $brcm_Log: /nexus/lib/dtcp_ip/dtcp_ip_lib.inc $ |
|---|
| 47 | # |
|---|
| 48 | # 16 2/11/11 5:39p leisun |
|---|
| 49 | # SWSECURITY-32: Updated lib to V1SE1.3 conformance. |
|---|
| 50 | # |
|---|
| 51 | # 15 7/14/10 3:41p leisun |
|---|
| 52 | # SW7420-561: production key fix |
|---|
| 53 | # |
|---|
| 54 | # 14 7/14/10 3:34p leisun |
|---|
| 55 | # SW7420-561: production key fix |
|---|
| 56 | # |
|---|
| 57 | # 13 7/6/10 3:01p leisun |
|---|
| 58 | # SW7420-561: Added key encryption support, fix makefile issue |
|---|
| 59 | # |
|---|
| 60 | # 12 7/2/10 2:29p leisun |
|---|
| 61 | # SW7420-561: Added key encryption support |
|---|
| 62 | # |
|---|
| 63 | # 11 4/8/10 6:00p sgundime |
|---|
| 64 | # SW7420-689:CLOSE_SOCKET_ON_AKE_OK - made it always on. No need to set |
|---|
| 65 | # DTCP_IP_CLOSE_SOCKET_ON_AKE_OK. |
|---|
| 66 | # |
|---|
| 67 | # 10 12/30/09 9:27p dliu |
|---|
| 68 | # SW7405-3400: Make demo mode default off |
|---|
| 69 | # |
|---|
| 70 | # 9 12/23/09 4:09p leisun |
|---|
| 71 | # SW7420-502: conditional compile for DTCP-IP |
|---|
| 72 | # |
|---|
| 73 | # 8 12/23/09 3:10p leisun |
|---|
| 74 | # SW7420-502: conditional compile for DTCP-IP |
|---|
| 75 | # |
|---|
| 76 | # 7 8/7/09 5:55p lwhite |
|---|
| 77 | # PR55693: PCP 14 byte fix |
|---|
| 78 | # |
|---|
| 79 | # 6 7/31/09 4:04p leisun |
|---|
| 80 | # PR 55693: removed bcrypt dependency |
|---|
| 81 | # |
|---|
| 82 | # 5 6/30/09 10:24p leisun |
|---|
| 83 | # PR 55693: Change DTCP_IP_HW_ENCRYPTION/DECRYPTION to |
|---|
| 84 | # B_DTCP_IP_HW_ENCRYPTION/DECRYPTION |
|---|
| 85 | # |
|---|
| 86 | # 4 6/26/09 11:28a ssood |
|---|
| 87 | # PR53773: Added include path for Nexus Security module |
|---|
| 88 | # |
|---|
| 89 | # 3 6/25/09 6:46p ssood |
|---|
| 90 | # PR53773: Added include path for OpenSSL include files |
|---|
| 91 | # |
|---|
| 92 | # 2 6/25/09 2:55a ssood |
|---|
| 93 | # PR53773: turning off DTCP debug logs |
|---|
| 94 | # |
|---|
| 95 | # 1 6/5/09 4:06p leisun |
|---|
| 96 | # PR 55693: checking in DTCP-IP lib |
|---|
| 97 | # |
|---|
| 98 | ############################################################################# |
|---|
| 99 | |
|---|
| 100 | #Identify this library |
|---|
| 101 | # |
|---|
| 102 | B_LIBS += B_DTCP_IP_LIB |
|---|
| 103 | |
|---|
| 104 | # |
|---|
| 105 | #Define source files in this library |
|---|
| 106 | # |
|---|
| 107 | DTCP_TOP_DIR := $(B_LIB_TOP)/dtcp_ip |
|---|
| 108 | |
|---|
| 109 | B_DTCP_IP_LIB_SOURCES = $(DTCP_TOP_DIR)/src/b_dtcp_ake.c \ |
|---|
| 110 | $(DTCP_TOP_DIR)/src/b_dtcp_ake_msg.c \ |
|---|
| 111 | $(DTCP_TOP_DIR)/src/b_dtcp_applib.c \ |
|---|
| 112 | $(DTCP_TOP_DIR)/src/b_dtcp_applib_priv.c \ |
|---|
| 113 | $(DTCP_TOP_DIR)/src/b_dtcp_content.c \ |
|---|
| 114 | $(DTCP_TOP_DIR)/src/b_dtcp_exch_key.c \ |
|---|
| 115 | $(DTCP_TOP_DIR)/src/b_dtcp_ip_ake.c \ |
|---|
| 116 | $(DTCP_TOP_DIR)/src/b_dtcp_ip_ake_msg.c \ |
|---|
| 117 | $(DTCP_TOP_DIR)/src/b_dtcp_ip_stack.c \ |
|---|
| 118 | $(DTCP_TOP_DIR)/src/b_dtcp_ip_transport.c \ |
|---|
| 119 | $(DTCP_TOP_DIR)/src/b_dtcp_ip_transport_priv.c \ |
|---|
| 120 | $(DTCP_TOP_DIR)/src/b_dtcp_srm.c \ |
|---|
| 121 | $(DTCP_TOP_DIR)/src/b_dtcp_stack.c \ |
|---|
| 122 | $(DTCP_TOP_DIR)/src/b_dtcp_stream.c \ |
|---|
| 123 | $(DTCP_TOP_DIR)/src/b_ecc_wrapper.c \ |
|---|
| 124 | $(DTCP_TOP_DIR)/src/b_socket_wrapper.c \ |
|---|
| 125 | $(DTCP_TOP_DIR)/src/bcrypt.c \ |
|---|
| 126 | $(DTCP_TOP_DIR)/src/bcrypt_ecc_sw.c \ |
|---|
| 127 | $(DTCP_TOP_DIR)/src/bcrypt_ecdsa_sw.c \ |
|---|
| 128 | $(DTCP_TOP_DIR)/src/bcrypt_aes_sw.c \ |
|---|
| 129 | $(DTCP_TOP_DIR)/src/bcrypt_sha1_sw.c |
|---|
| 130 | |
|---|
| 131 | # |
|---|
| 132 | #Define public include path for this library, |
|---|
| 133 | # |
|---|
| 134 | |
|---|
| 135 | B_DTCP_IP_LIB_PUBLIC_INCLUDES += $(B_LIB_TOP)/os/include \ |
|---|
| 136 | $(B_LIB_TOP)/os/include/linuxuser \ |
|---|
| 137 | $(B_LIB_TOP)/../../BSEAV/lib/openssl/src/include \ |
|---|
| 138 | $(B_LIB_TOP)/../../nexus/modules/security/$(BCHP_CHIP)/include \ |
|---|
| 139 | $(B_LIB_TOP)/../../nexus/modules/security/$(BCHP_CHIP)/keyladder_ext/include \ |
|---|
| 140 | |
|---|
| 141 | #Define private include path(s) for this library |
|---|
| 142 | # |
|---|
| 143 | B_DTCP_IP_LIB_PRIVATE_INCLUDES += $(DTCP_TOP_DIR)/include |
|---|
| 144 | |
|---|
| 145 | # |
|---|
| 146 | #Defines extra C definations, These are from original DTCP package. |
|---|
| 147 | #NOTE: the DTCP_IP_HARDWARE_DECRYPTION need to be defined, if you wan to use |
|---|
| 148 | #Broadcom's M2M hardware to decrypt DTCP content stream. |
|---|
| 149 | # |
|---|
| 150 | B_DTCP_IP_LIB_DEFINES += LINUX_BUILD _POSIX \ |
|---|
| 151 | __cdecl="" \ |
|---|
| 152 | __stdcall="" |
|---|
| 153 | #CKC_CHECK \ |
|---|
| 154 | #DTCP_DEMO_MODE |
|---|
| 155 | |
|---|
| 156 | |
|---|
| 157 | ifeq ($(DTCP_IP_HARDWARE_DECRYPTION), y) |
|---|
| 158 | B_DTCP_IP_LIB_DEFINES += B_DTCP_IP_HW_DECRYPTION |
|---|
| 159 | endif |
|---|
| 160 | ifeq ($(DTCP_IP_HARDWARE_ENCRYPTION), y) |
|---|
| 161 | B_DTCP_IP_LIB_DEFINES += B_DTCP_IP_HW_ENCRYPTION |
|---|
| 162 | endif |
|---|
| 163 | #ifeq ($(DTCP_IP_CLOSE_SOCKET_ON_AKE_OK), y) |
|---|
| 164 | # Make it default on! |
|---|
| 165 | B_DTCP_IP_LIB_DEFINES += CLOSE_SOCKET_ON_AKE_OK |
|---|
| 166 | #endif |
|---|
| 167 | ifeq ($(DTCP_IP_PRODUCTION_KEY), y) |
|---|
| 168 | B_DTCP_IP_LIB_DEFINES += B_DTCP_IP_PRODUCTION_KEY |
|---|
| 169 | B_DTCP_IP_LIB_SOURCES += $(DTCP_TOP_DIR)/src/decrypto.c |
|---|
| 170 | endif |
|---|
| 171 | |
|---|
| 172 | # |
|---|
| 173 | #This is hack to get the C++ style comment in the lib to compile! |
|---|
| 174 | B_LIB_CFLAGS += -std=c99 |
|---|