170 похожих чатов

Кто-То может помочь понять, что происходит? Почему там хвосты других

данных в конце иногда, хм?

rd_kafka_jwt_b64_decode_payload из
https://github.com/confluentinc/librdkafka/blob/v1.9.2/src/rdkafka_sasl_oauthbearer_oidc.c, где я убрал static, чтобы использовать извне.

Я наконец-то локализировал проблему после дня дебага, но поведение очень странное.
int
main(
int argc,
char** argv)
{
const char* jwt_token = "eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJKb2huIERvZSIsImV4cCI6LTV9.Y";

for (size_t i = 0; i < 4; ++i)
{
char* decoded_payloads = nullptr;
const char* errstr = rd_kafka_jwt_b64_decode_payload(jwt_token, &decoded_payloads);
assert(!errstr);
printf("Payloads: %s;\n", decoded_payloads);
}
return 0;
}


Вывод
Payloads: {"sub":"John Doe","exp":-5};
Payloads: {"sub":"John Doe","exp":-5}ret;
Payloads: {"sub":"John Doe","exp":-5};
Payloads: {"sub":"John Doe","exp":-5}oint.url;

22 ответов

28 просмотров
Gleb-Pylypets Автор вопроса

эти хвосты похожи на данные типа client.secret, token.endpoint.url. Посмотреть, что внутри токена можно на jwt.io - там обычный JSON

Это твоя функция? Xxxxfdecode_payloads?

Gleb-Pylypets Автор вопроса
Ilya Zviagin
Это твоя функция? Xxxxfdecode_payloads?

нет, это из librdkafka. но даже если её вынести в main.cpp, то проблема остаётся та же. https://github.com/confluentinc/librdkafka/blob/v1.9.2/src/rdkafka_sasl_oauthbearer_oidc.c

Gleb Pylypets
нет, это из librdkafka. но даже если её вынести в ...

Эта функция что ты вызываешь? static const char *rd_kafka_jwt_b64_decode_payload(const char *src, char **bufplainp) ?

Gleb Pylypets
+

А как ты не вызываешь, если она static? Это же невозможно...

Gleb-Pylypets Автор вопроса
Gleb-Pylypets Автор вопроса

Вот, писал.

Gleb-Pylypets Автор вопроса
Gleb Pylypets
А можно детальнее?)

Расскажу, но это к твоей проблеме может и не иметь отношения...

Gleb-Pylypets Автор вопроса
Ilya Zviagin
Как думаешь, почему она static?

Не знаю ( Думал, что по дизайну не нужно её экспортировать, поэтому и статик

Gleb-Pylypets Автор вопроса
Gleb-Pylypets Автор вопроса
Ilya Zviagin
А ПОЧЕМУ не нужно еë экспортировать?

не было необходимости - чтобы не торчали лишние символы в .so?

Gleb Pylypets
не было необходимости - чтобы не торчали лишние си...

Нет, не поэтому. Потому что она не предназначена для вызова снаружи, клиентом библиотеки. Вполне возможно, что эта функция может вызываться только из других функций этой библиотеки, которые знают как еë вызывать правильно и как правильно интерпретировать результат. Но это не точно, потому что точно это можно сказать только очень хорошо зная эту библиотеку

Gleb-Pylypets Автор вопроса
Ilya Zviagin
Нет, не поэтому. Потому что она не предназначена...

Ну это мелочи же. Я изучил код либы, поэтому знаю как использовать

Gleb Pylypets
Ну это мелочи же. Я изучил код либы, поэтому знаю ...

я смотрю, тут наглядный пример работы hyrum's law

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта