buildroot/package/android-tools/0003-Adjust-base64-function...

97 lines
3.3 KiB
Diff
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

From 946dbb00fe4b2a75c688a470fc0c3924aa018a24 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Sun, 14 Jul 2024 11:39:49 +0200
Subject: [PATCH] Adjust base64 function handling
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
In order to support libcs that do not provide b64_pton(), one of the
Debian patches adds a copy of b64_pton() and b64_ntop(). However, no
prototype is added for those functions, causing an "implicit
declaration" warning... or error depending on the compiler version
used:
core/adbd/adb_auth_client.c:75:15: error: implicit declaration of function b64_pton [-Wimplicit-function-declaration]
This patch adds appropriate prototypes, but while at it, also renames
the internal copy of b64_*() functions to have an adb_ prefix in order
to clarify things and not clash with definitions potentially coming
from the C library.
Upstream: N/A, we're too far from upstream
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
core/adb/adb_auth_client.c | 3 ++-
core/adbd/adb_auth_client.c | 3 ++-
core/adbd/base64.c | 4 ++--
3 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/core/adb/adb_auth_client.c b/core/adb/adb_auth_client.c
index 0b4913e..25b9828 100644
--- a/core/adb/adb_auth_client.c
+++ b/core/adb/adb_auth_client.c
@@ -45,6 +45,7 @@ static char *key_paths[] = {
static fdevent listener_fde;
static int framework_fd = -1;
+extern int adb_b64_pton(char const *src, u_char *target, size_t targsize);
static void read_keys(const char *file, struct listnode *list)
{
@@ -72,7 +73,7 @@ static void read_keys(const char *file, struct listnode *list)
if (sep)
*sep = '\0';
- ret = __b64_pton(buf, (u_char *)&key->key, sizeof(key->key) + 4);
+ ret = adb_b64_pton(buf, (u_char *)&key->key, sizeof(key->key) + 4);
if (ret != sizeof(key->key)) {
D("%s: Invalid base64 data ret=%d\n", file, ret);
free(key);
diff --git a/core/adbd/adb_auth_client.c b/core/adbd/adb_auth_client.c
index 0b4913e..25b9828 100644
--- a/core/adbd/adb_auth_client.c
+++ b/core/adbd/adb_auth_client.c
@@ -45,6 +45,7 @@ static char *key_paths[] = {
static fdevent listener_fde;
static int framework_fd = -1;
+extern int adb_b64_pton(char const *src, u_char *target, size_t targsize);
static void read_keys(const char *file, struct listnode *list)
{
@@ -72,7 +73,7 @@ static void read_keys(const char *file, struct listnode *list)
if (sep)
*sep = '\0';
- ret = __b64_pton(buf, (u_char *)&key->key, sizeof(key->key) + 4);
+ ret = adb_b64_pton(buf, (u_char *)&key->key, sizeof(key->key) + 4);
if (ret != sizeof(key->key)) {
D("%s: Invalid base64 data ret=%d\n", file, ret);
free(key);
diff --git a/core/adbd/base64.c b/core/adbd/base64.c
index 7270703..91fc1b2 100644
--- a/core/adbd/base64.c
+++ b/core/adbd/base64.c
@@ -134,7 +134,7 @@ static const char Pad64 = '=';
*/
int
-b64_ntop(src, srclength, target, targsize)
+adb_b64_ntop(src, srclength, target, targsize)
u_char const *src;
size_t srclength;
char *target;
@@ -212,7 +212,7 @@ b64_ntop(src, srclength, target, targsize)
*/
int
-b64_pton(src, target, targsize)
+adb_b64_pton(src, target, targsize)
char const *src;
u_char *target;
size_t targsize;
--
2.47.0