diff --git a/include/base64.h b/include/base64.h index b168a391753..d87c4556234 100644 --- a/include/base64.h +++ b/include/base64.h @@ -1,79 +1,15 @@ /* - * RFC 1521 base64 encoding/decoding + * Copyright (c) 2019 Intel Corporation * - * Copyright (C) 2018, Nordic Semiconductor ASA - * Copyright (C) 2006-2015, ARM Limited, All Rights Reserved * SPDX-License-Identifier: Apache-2.0 - * - * 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. - * - * Adapted for Zephyr by Carles Cufi (carles.cufi@nordicsemi.no) - * - Removed mbedtls_ prefixes - * - Reworked coding style */ #ifndef ZEPHYR_INCLUDE_BASE64_H_ #define ZEPHYR_INCLUDE_BASE64_H_ -#include -#include - -#ifdef __cplusplus -extern "C" { +#ifndef CONFIG_COMPAT_INCLUDES +#warning "This header file has moved, include instead." #endif -/** - * @brief Encode a buffer into base64 format - * - * @param dst destination buffer - * @param dlen size of the destination buffer - * @param olen number of bytes written - * @param src source buffer - * @param slen amount of data to be encoded - * - * @return 0 if successful, or -ENOMEM if the buffer is too small. - * *olen is always updated to reflect the amount - * of data that has (or would have) been written. - * If that length cannot be represented, then no data is - * written to the buffer and *olen is set to the maximum - * length representable as a size_t. - * - * @note Call this function with dlen = 0 to obtain the - * required buffer size in *olen - */ -int base64_encode(u8_t *dst, size_t dlen, size_t *olen, const u8_t *src, - size_t slen); - -/** - * @brief Decode a base64-formatted buffer - * - * @param dst destination buffer (can be NULL for checking size) - * @param dlen size of the destination buffer - * @param olen number of bytes written - * @param src source buffer - * @param slen amount of data to be decoded - * - * @return 0 if successful, -ENOMEM, or -EINVAL if the input data is - * not correct. *olen is always updated to reflect the amount - * of data that has (or would have) been written. - * - * @note Call this function with *dst = NULL or dlen = 0 to obtain - * the required buffer size in *olen - */ -int base64_decode(u8_t *dst, size_t dlen, size_t *olen, const u8_t *src, - size_t slen); - -#ifdef __cplusplus -} -#endif +#include #endif /* ZEPHYR_INCLUDE_BASE64_H_ */ diff --git a/include/sys/base64.h b/include/sys/base64.h new file mode 100644 index 00000000000..e526a5df194 --- /dev/null +++ b/include/sys/base64.h @@ -0,0 +1,79 @@ +/* + * RFC 1521 base64 encoding/decoding + * + * Copyright (C) 2018, Nordic Semiconductor ASA + * Copyright (C) 2006-2015, ARM Limited, All Rights Reserved + * SPDX-License-Identifier: Apache-2.0 + * + * 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. + * + * Adapted for Zephyr by Carles Cufi (carles.cufi@nordicsemi.no) + * - Removed mbedtls_ prefixes + * - Reworked coding style + */ +#ifndef ZEPHYR_INCLUDE_SYS_BASE64_H_ +#define ZEPHYR_INCLUDE_SYS_BASE64_H_ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Encode a buffer into base64 format + * + * @param dst destination buffer + * @param dlen size of the destination buffer + * @param olen number of bytes written + * @param src source buffer + * @param slen amount of data to be encoded + * + * @return 0 if successful, or -ENOMEM if the buffer is too small. + * *olen is always updated to reflect the amount + * of data that has (or would have) been written. + * If that length cannot be represented, then no data is + * written to the buffer and *olen is set to the maximum + * length representable as a size_t. + * + * @note Call this function with dlen = 0 to obtain the + * required buffer size in *olen + */ +int base64_encode(u8_t *dst, size_t dlen, size_t *olen, const u8_t *src, + size_t slen); + +/** + * @brief Decode a base64-formatted buffer + * + * @param dst destination buffer (can be NULL for checking size) + * @param dlen size of the destination buffer + * @param olen number of bytes written + * @param src source buffer + * @param slen amount of data to be decoded + * + * @return 0 if successful, -ENOMEM, or -EINVAL if the input data is + * not correct. *olen is always updated to reflect the amount + * of data that has (or would have) been written. + * + * @note Call this function with *dst = NULL or dlen = 0 to obtain + * the required buffer size in *olen + */ +int base64_decode(u8_t *dst, size_t dlen, size_t *olen, const u8_t *src, + size_t slen); + +#ifdef __cplusplus +} +#endif + +#endif /* ZEPHYR_INCLUDE_SYS_BASE64_H_ */ diff --git a/lib/os/base64.c b/lib/os/base64.c index fda63dc6f6d..8ff2536584a 100644 --- a/lib/os/base64.c +++ b/lib/os/base64.c @@ -24,7 +24,7 @@ #include #include -#include +#include static const u8_t base64_enc_map[64] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', diff --git a/subsys/mgmt/serial_util.c b/subsys/mgmt/serial_util.c index 1d283b69d2c..2a293df1c34 100644 --- a/subsys/mgmt/serial_util.c +++ b/subsys/mgmt/serial_util.c @@ -11,7 +11,7 @@ #include #include #include -#include +#include #include #include diff --git a/subsys/settings/src/settings_line.c b/subsys/settings/src/settings_line.c index cfd4a539783..3386e0b3a03 100644 --- a/subsys/settings/src/settings_line.c +++ b/subsys/settings/src/settings_line.c @@ -12,7 +12,7 @@ #include "settings_priv.h" #ifdef CONFIG_SETTINGS_USE_BASE64 -#include "base64.h" +#include #endif #include diff --git a/tests/lib/base64/src/main.c b/tests/lib/base64/src/main.c index 8b0b2b5b636..e1c6b89cbcd 100644 --- a/tests/lib/base64/src/main.c +++ b/tests/lib/base64/src/main.c @@ -26,7 +26,7 @@ #include #include #include -#include +#include static const unsigned char base64_test_dec[64] = { 0x24, 0x48, 0x6E, 0x56, 0x87, 0x62, 0x5A, 0xBD,