From a3be7b953b04885b28e7f8a1b9530eb3f91fa24d Mon Sep 17 00:00:00 2001 From: LoveSy Date: Fri, 14 Apr 2017 00:19:42 +0800 Subject: [PATCH] Update openbsd-netcat.patch --- openbsd-netcat/openbsd-netcat.patch | 169 +++++++++++++++++++++++++++- 1 file changed, 165 insertions(+), 4 deletions(-) diff --git a/openbsd-netcat/openbsd-netcat.patch b/openbsd-netcat/openbsd-netcat.patch index 0efe49d1..90a3f363 100644 --- a/openbsd-netcat/openbsd-netcat.patch +++ b/openbsd-netcat/openbsd-netcat.patch @@ -1129,6 +1129,168 @@ diff -uprN netcat-openbsd-1.130.bk/getentropy_linux.c netcat-openbsd-1.130/geten + errno = EIO; + return (-1); +} +diff -uprN netcat-openbsd-1.130.bk/hash/endian.h netcat-openbsd-1.130/hash/endian.h +--- netcat-openbsd-1.130.bk/hash/endian.h 1970-01-01 08:00:00.000000000 +0800 ++++ netcat-openbsd-1.130/hash/endian.h 2017-04-14 00:18:13.245102700 +0800 +@@ -0,0 +1,158 @@ ++/* ++ * Copyright © 2011 Guillem Jover ++ * ++ * Copyright © 2002 Thomas Moestl ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. 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. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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 LIBBSD_SYS_ENDIAN_H ++#define LIBBSD_SYS_ENDIAN_H ++ ++#ifndef _BYTE_ORDER ++#define _BYTE_ORDER __BYTE_ORDER ++#endif ++ ++#ifndef _LITTLE_ENDIAN ++#define _LITTLE_ENDIAN __LITTLE_ENDIAN ++#endif ++ ++#ifndef _BIG_ENDIAN ++#define _BIG_ENDIAN __BIG_ENDIAN ++#endif ++ ++#ifndef _PDP_ENDIAN ++#define _PDP_ENDIAN __PDP_ENDIAN ++#endif ++ ++#include ++ ++/* Alignment-agnostic encode/decode bytestream to/from little/big endian. */ ++ ++static __inline uint16_t ++be16dec(const void *pp) ++{ ++ uint8_t const *p = (uint8_t const *)pp; ++ ++ return ((p[0] << 8) | p[1]); ++} ++ ++static __inline uint32_t ++be32dec(const void *pp) ++{ ++ uint8_t const *p = (uint8_t const *)pp; ++ ++ return (((unsigned)p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]); ++} ++ ++static __inline uint64_t ++be64dec(const void *pp) ++{ ++ uint8_t const *p = (uint8_t const *)pp; ++ ++ return (((uint64_t)be32dec(p) << 32) | be32dec(p + 4)); ++} ++ ++static __inline uint16_t ++le16dec(const void *pp) ++{ ++ uint8_t const *p = (uint8_t const *)pp; ++ ++ return ((p[1] << 8) | p[0]); ++} ++ ++static __inline uint32_t ++le32dec(const void *pp) ++{ ++ uint8_t const *p = (uint8_t const *)pp; ++ ++ return (((unsigned)p[3] << 24) | (p[2] << 16) | (p[1] << 8) | p[0]); ++} ++ ++static __inline uint64_t ++le64dec(const void *pp) ++{ ++ uint8_t const *p = (uint8_t const *)pp; ++ ++ return (((uint64_t)le32dec(p + 4) << 32) | le32dec(p)); ++} ++ ++static __inline void ++be16enc(void *pp, uint16_t u) ++{ ++ uint8_t *p = (uint8_t *)pp; ++ ++ p[0] = (u >> 8) & 0xff; ++ p[1] = u & 0xff; ++} ++ ++static __inline void ++be32enc(void *pp, uint32_t u) ++{ ++ uint8_t *p = (uint8_t *)pp; ++ ++ p[0] = (u >> 24) & 0xff; ++ p[1] = (u >> 16) & 0xff; ++ p[2] = (u >> 8) & 0xff; ++ p[3] = u & 0xff; ++} ++ ++static __inline void ++be64enc(void *pp, uint64_t u) ++{ ++ uint8_t *p = (uint8_t *)pp; ++ ++ be32enc(p, (uint32_t)(u >> 32)); ++ be32enc(p + 4, (uint32_t)(u & 0xffffffffU)); ++} ++ ++static __inline void ++le16enc(void *pp, uint16_t u) ++{ ++ uint8_t *p = (uint8_t *)pp; ++ ++ p[0] = u & 0xff; ++ p[1] = (u >> 8) & 0xff; ++} ++ ++static __inline void ++le32enc(void *pp, uint32_t u) ++{ ++ uint8_t *p = (uint8_t *)pp; ++ ++ p[0] = u & 0xff; ++ p[1] = (u >> 8) & 0xff; ++ p[2] = (u >> 16) & 0xff; ++ p[3] = (u >> 24) & 0xff; ++} ++ ++static __inline void ++le64enc(void *pp, uint64_t u) ++{ ++ uint8_t *p = (uint8_t *)pp; ++ ++ le32enc(p, (uint32_t)(u & 0xffffffffU)); ++ le32enc(p + 4, (uint32_t)(u >> 32)); ++} ++ ++#endif diff -uprN netcat-openbsd-1.130.bk/hash/sha512.h netcat-openbsd-1.130/hash/sha512.h --- netcat-openbsd-1.130.bk/hash/sha512.h 1970-01-01 08:00:00.000000000 +0800 +++ netcat-openbsd-1.130/hash/sha512.h 2016-03-27 18:21:37.000000000 +0800 @@ -1188,8 +1350,8 @@ diff -uprN netcat-openbsd-1.130.bk/hash/sha512.h netcat-openbsd-1.130/hash/sha51 +#endif /* !_SHA512_H_ */ diff -uprN netcat-openbsd-1.130.bk/hash/sha512c.c netcat-openbsd-1.130/hash/sha512c.c --- netcat-openbsd-1.130.bk/hash/sha512c.c 1970-01-01 08:00:00.000000000 +0800 -+++ netcat-openbsd-1.130/hash/sha512c.c 2016-03-27 18:21:37.000000000 +0800 -@@ -0,0 +1,320 @@ ++++ netcat-openbsd-1.130/hash/sha512c.c 2017-04-14 00:17:04.637401600 +0800 +@@ -0,0 +1,319 @@ +/*- + * Copyright 2005 Colin Percival + * All rights reserved. @@ -1217,9 +1379,8 @@ diff -uprN netcat-openbsd-1.130.bk/hash/sha512c.c netcat-openbsd-1.130/hash/sha5 + */ + +#include -+__FBSDID("$FreeBSD$"); + -+#include ++#include "endian.h" +#include + +#include