Index: third_party/usrsctp/localchanges.patch |
=================================================================== |
--- third_party/usrsctp/localchanges.patch (revision 0) |
+++ third_party/usrsctp/localchanges.patch (revision 0) |
@@ -0,0 +1,246 @@ |
+diff -NcrB usrsctplib/netinet/sctp_auth.h overrides/usrsctplib/netinet/sctp_auth.h |
+*** usrsctplib/netinet/sctp_auth.h 2013-06-10 15:17:59.452245360 -0700 |
+--- overrides/usrsctplib/netinet/sctp_auth.h 2013-06-10 15:16:39.541591630 -0700 |
+*************** |
+*** 38,43 **** |
+--- 38,46 ---- |
+ #ifndef _NETINET_SCTP_AUTH_H_ |
+ #define _NETINET_SCTP_AUTH_H_ |
+ |
++ #ifdef SCTP_USE_NSS_SHA1 |
++ #include <netinet/sctp_sha1.h> |
++ #endif |
+ |
+ /* digest lengths */ |
+ #define SCTP_AUTH_DIGEST_LEN_SHA1 20 |
+diff -NcrB usrsctplib/netinet/sctp_nss_sha1.c overrides/usrsctplib/netinet/sctp_nss_sha1.c |
+*** usrsctplib/netinet/sctp_nss_sha1.c 1969-12-31 16:00:00.000000000 -0800 |
+--- overrides/usrsctplib/netinet/sctp_nss_sha1.c 2013-06-10 15:16:39.541591630 -0700 |
+*************** |
+*** 0 **** |
+--- 1,61 ---- |
++ /*- |
++ * Copyright (c) 2001-2007, by Cisco Systems, Inc. All rights reserved. |
++ * Copyright (c) 2008-2012, by Randall Stewart. All rights reserved. |
++ * Copyright (c) 2008-2012, by Michael Tuexen. All rights reserved. |
++ * |
++ * Redistribution and use in source and binary forms, with or without |
++ * modification, are permitted provided that the following conditions are met: |
++ * |
++ * a) Redistributions of source code must retain the above copyright notice, |
++ * this list of conditions and the following disclaimer. |
++ * |
++ * b) 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. |
++ * |
++ * c) Neither the name of Cisco Systems, Inc. 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. |
++ */ |
++ |
++ #ifdef __FreeBSD__ |
++ #include <sys/cdefs.h> |
++ __FBSDID("$FreeBSD$"); |
++ #endif |
++ |
++ #ifdef SCTP_USE_NSS_SHA1 |
++ #include <netinet/sctp_sha1.h> |
++ |
++ void |
++ SCTP_NSS_SHA1_Init(struct sha1_context *ctx) |
++ { |
++ ctx->pk11_ctx = PK11_CreateDigestContext(SEC_OID_SHA1); |
++ PK11_DigestBegin(ctx->pk11_ctx); |
++ } |
++ |
++ void |
++ SCTP_NSS_SHA1_Update(struct sha1_context *ctx, const unsigned char *ptr, int siz) |
++ { |
++ PK11_DigestOp(ctx->pk11_ctx, ptr, siz); |
++ } |
++ |
++ void |
++ SCTP_NSS_SHA1_Final(unsigned char *digest, struct sha1_context *ctx) |
++ { |
++ unsigned int output_len = 0; |
++ PK11_DigestFinal(ctx->pk11_ctx, digest, &output_len, sizeof(digest)); |
++ PK11_DestroyContext(ctx->pk11_ctx, PR_TRUE); |
++ } |
++ #endif |
+diff -NcrB usrsctplib/netinet/sctp_nss_sha1.h overrides/usrsctplib/netinet/sctp_nss_sha1.h |
+*** usrsctplib/netinet/sctp_nss_sha1.h 1969-12-31 16:00:00.000000000 -0800 |
+--- overrides/usrsctplib/netinet/sctp_nss_sha1.h 2013-06-10 15:16:39.541591630 -0700 |
+*************** |
+*** 0 **** |
+--- 1,67 ---- |
++ /*- |
++ * Copyright (c) 2001-2007, by Cisco Systems, Inc. All rights reserved. |
++ * Copyright (c) 2008-2012, by Randall Stewart. All rights reserved. |
++ * Copyright (c) 2008-2012, by Michael Tuexen. All rights reserved. |
++ * |
++ * Redistribution and use in source and binary forms, with or without |
++ * modification, are permitted provided that the following conditions are met: |
++ * |
++ * a) Redistributions of source code must retain the above copyright notice, |
++ * this list of conditions and the following disclaimer. |
++ * |
++ * b) 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. |
++ * |
++ * c) Neither the name of Cisco Systems, Inc. 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. |
++ */ |
++ |
++ #ifdef __FreeBSD__ |
++ #include <sys/cdefs.h> |
++ __FBSDID("$FreeBSD$"); |
++ #endif |
++ |
++ |
++ #ifndef __SCTP_NSS_SHA1_h__ |
++ #define __SCTP_NSS_SHA1_h__ |
++ |
++ #ifdef SCTP_USE_NSS_SHA1 |
++ #ifdef __Userspace_os_Darwin |
++ #define __APPLE__ |
++ #endif |
++ |
++ #include <sys/types.h> |
++ #include <pk11pub.h> |
++ |
++ #ifdef __Userspace_os_Darwin |
++ #undef __APPLE__ |
++ #endif |
++ |
++ struct sha1_context { |
++ struct PK11Context *pk11_ctx; |
++ }; // Opaque structure. |
++ |
++ typedef struct sha1_context SHA1_CTX; |
++ |
++ #if defined(_KERNEL) || defined(__Userspace__) |
++ #define SHA1_Init SCTP_NSS_SHA1_Init |
++ #define SHA1_Update SCTP_NSS_SHA1_Update |
++ #define SHA1_Final SCTP_NSS_SHA1_Final |
++ |
++ #endif /* _KERNEL */ |
++ #endif |
++ #endif |
+diff -NcrB usrsctplib/netinet/sctp_os.h overrides/usrsctplib/netinet/sctp_os.h |
+*** usrsctplib/netinet/sctp_os.h 2013-06-10 15:18:09.922331015 -0700 |
+--- overrides/usrsctplib/netinet/sctp_os.h 2013-06-10 15:16:39.541591630 -0700 |
+*************** |
+*** 73,79 **** |
+ #endif |
+ |
+ #if defined(__APPLE__) |
+! #include <netinet/sctp_os_macosx.h> |
+ #endif |
+ |
+ #if defined(__Panda__) |
+--- 73,80 ---- |
+ #endif |
+ |
+ #if defined(__APPLE__) |
+! #undef __APPLE__ |
+! // #include <netinet/sctp_os_macosx.h> |
+ #endif |
+ |
+ #if defined(__Panda__) |
+diff -NcrB usrsctplib/netinet/sctp_os_userspace.h overrides/usrsctplib/netinet/sctp_os_userspace.h |
+*** usrsctplib/netinet/sctp_os_userspace.h 2013-06-10 15:18:06.462302712 -0700 |
+--- overrides/usrsctplib/netinet/sctp_os_userspace.h 2013-06-10 15:24:33.145466427 -0700 |
+*************** |
+*** 992,998 **** |
+ #define SCTP_READ_RANDOM(buf, len) read_random(buf, len) |
+ |
+ |
+! #ifdef USE_SCTP_SHA1 |
+ #include <netinet/sctp_sha1.h> |
+ #else |
+ #if 0 /*this was old _KERNEL code... */ |
+--- 992,998 ---- |
+ #define SCTP_READ_RANDOM(buf, len) read_random(buf, len) |
+ |
+ |
+! #if defined(USE_SCTP_SHA1) || defined(SCTP_USE_NSS_SHA1) |
+ #include <netinet/sctp_sha1.h> |
+ #else |
+ #if 0 /*this was old _KERNEL code... */ |
+*************** |
+*** 1007,1023 **** |
+ #if defined(HAVE_SHA2) |
+ #include <crypto/sha2/sha2.h> |
+ #endif |
+! #if 0 |
+ /* going to have to port so generic across OS's... */ |
+! #if 1 /* openssl header files on FreeBSD 6.3 on Emulab and libssl-dev for Ubuntu */ |
+ #include <openssl/md5.h> |
+ #include <openssl/sha.h> |
+ /* libssl-dev calls this SHA_CTX, but it's refered to as SHA1_CTX within the |
+ * SCTP stack code so here we typedef (or macro?) to equate the two. |
+ */ |
+ typedef SHA_CTX SHA1_CTX; |
+ |
+! #else /* only _KERNEL? */ |
+ |
+ #include <sys/md5.h> |
+ /* map standard crypto API names */ |
+--- 1007,1026 ---- |
+ #if defined(HAVE_SHA2) |
+ #include <crypto/sha2/sha2.h> |
+ #endif |
+! |
+ /* going to have to port so generic across OS's... */ |
+! //#if 1 /* openssl header files on FreeBSD 6.3 on Emulab and libssl-dev for Ubuntu */ |
+! #ifdef SCTP_USE_OPENSSL_SHA1 |
+ #include <openssl/md5.h> |
+ #include <openssl/sha.h> |
+ /* libssl-dev calls this SHA_CTX, but it's refered to as SHA1_CTX within the |
+ * SCTP stack code so here we typedef (or macro?) to equate the two. |
+ */ |
+ typedef SHA_CTX SHA1_CTX; |
++ #endif |
+ |
+! #if 0 |
+! //#else /* only _KERNEL? */ |
+ |
+ #include <sys/md5.h> |
+ /* map standard crypto API names */ |
+*************** |
+*** 1025,1031 **** |
+ #define MD5_Update MD5Update |
+ #define MD5_Final MD5Final |
+ #endif |
+- #endif |
+ |
+ |
+ /* start OOTB only stuff */ |
+--- 1028,1033 ---- |