cleanup: include/: move base64.h to sys/base64.h
move base64.h to sys/base64.h and create a shim for backward-compatibility. No functional changes to the headers. A warning in the shim can be controlled with CONFIG_COMPAT_INCLUDES. Related to #16539 Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit is contained in:
parent
e1e05a2eac
commit
bd977d06f8
6 changed files with 87 additions and 72 deletions
|
@ -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
|
* 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_
|
#ifndef ZEPHYR_INCLUDE_BASE64_H_
|
||||||
#define ZEPHYR_INCLUDE_BASE64_H_
|
#define ZEPHYR_INCLUDE_BASE64_H_
|
||||||
|
|
||||||
#include <stddef.h>
|
#ifndef CONFIG_COMPAT_INCLUDES
|
||||||
#include <zephyr/types.h>
|
#warning "This header file has moved, include <sys/base64.h> instead."
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
#include <sys/base64.h>
|
||||||
* @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_BASE64_H_ */
|
#endif /* ZEPHYR_INCLUDE_BASE64_H_ */
|
||||||
|
|
79
include/sys/base64.h
Normal file
79
include/sys/base64.h
Normal file
|
@ -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 <stddef.h>
|
||||||
|
#include <zephyr/types.h>
|
||||||
|
|
||||||
|
#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_ */
|
|
@ -24,7 +24,7 @@
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <base64.h>
|
#include <sys/base64.h>
|
||||||
|
|
||||||
static const u8_t base64_enc_map[64] = {
|
static const u8_t base64_enc_map[64] = {
|
||||||
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
|
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
#include <crc.h>
|
#include <crc.h>
|
||||||
#include <misc/byteorder.h>
|
#include <misc/byteorder.h>
|
||||||
#include <net/buf.h>
|
#include <net/buf.h>
|
||||||
#include <base64.h>
|
#include <sys/base64.h>
|
||||||
#include <mgmt/buf.h>
|
#include <mgmt/buf.h>
|
||||||
#include <mgmt/serial.h>
|
#include <mgmt/serial.h>
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
#include "settings_priv.h"
|
#include "settings_priv.h"
|
||||||
|
|
||||||
#ifdef CONFIG_SETTINGS_USE_BASE64
|
#ifdef CONFIG_SETTINGS_USE_BASE64
|
||||||
#include "base64.h"
|
#include <sys/base64.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <logging/log.h>
|
#include <logging/log.h>
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
#include <zephyr/types.h>
|
#include <zephyr/types.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <ztest.h>
|
#include <ztest.h>
|
||||||
#include <base64.h>
|
#include <sys/base64.h>
|
||||||
|
|
||||||
static const unsigned char base64_test_dec[64] = {
|
static const unsigned char base64_test_dec[64] = {
|
||||||
0x24, 0x48, 0x6E, 0x56, 0x87, 0x62, 0x5A, 0xBD,
|
0x24, 0x48, 0x6E, 0x56, 0x87, 0x62, 0x5A, 0xBD,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue