1.1, anonymous (??), 23:57, 03/05/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Это баг в strongswan или в openssl?
Соответственно, затрагивает ли это, к примеру, openssh с ecdsa?
| |
|
2.5, pavlinux (ok), 02:27, 04/05/2013 [^] [^^] [^^^] [ответить]
| +6 +/– |
> Это баг в strongswan или в openssl?
Не, не, не, только сильныйлебядь.
valid = ECDSA_verify(0, hash.ptr, hash.len,
- signature.ptr, signature.len, this->ec);
+ signature.ptr, signature.len, this->ec) == 1;
Вот нафига так сравнивать? Потом придут новые майнтенеры, начнут оптимизить, и покоцают == 1;
Неужели все ресурсы выжрет один добавленный if ?
ret = ECDSA_verify(0, hash.ptr, hash.len, signature.ptr, signature.len, this->ec);
if (1 == ret)
valid = TRUE;
Во, OpenSSL, специально для Равшанов и Джамшутов, в мане написал как надо делать!
http://www.openssl.org/docs/crypto/ecdsa.html
Third step: verify the created ECDSA signature using ... ECDSA_verify
ret = ECDSA_verify(0, digest, 20, buffer, buf_len, eckey);
// and finally evaluate the return value:
if (ret == -1)
{
/* error */
}
else if (ret == 0)
{
/* incorrect signature */
}
else /* ret == 1 */
{
/* signature ok */
}
| |
|
3.8, VoDA (ok), 13:11, 04/05/2013 [^] [^^] [^^^] [ответить]
| +/– |
На фоне таких ошибок становится понятно адекватность использования ТОЛЬКО boolean в операциях if.
В С/С++ можно подсунуть int или любую цифру в if и не отловить некорректный ответ. В java только прямая проверка.
PS а что они будут делать если придет возврат -2? ошибка? да, ошибка. но по логике man-ов будет signature ok.
почему в мане они предлагают серию if, а не switch case, где default будет ругаться в логи? или хотя бы проверяли на ==1.
| |
|
4.13, pavlinux (ok), 01:55, 05/05/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> В С/С++ можно подсунуть int или любую цифру в if и не отловить некорректный ответ.
Думать надо перед написанием программы, а не сразу топтаь клавиатуру.
Если не твоя, внешняя функция возвращает три результата,
то ты ОБЯЗАН обработать все три результата, а не оставлять на авось
и модальные округления, типа 23 mod 12 тоже 11 будет, и пофиг утра или вечера.
> В java только прямая проверка. PS а что они будут делать если придет возврат -2?
Куда придёт? Откуда?
> почему в мане они предлагают серию if, а не switch case, где
> default будет ругаться в логи? или хотя бы проверяли на ==1.
Ты каким местом читаешь? В серии if-elif-else именно это и есть! :)
| |
|
3.12, Аноним (-), 20:32, 04/05/2013 [^] [^^] [^^^] [ответить]
| +/– |
Пусть используют установку побитовых-масок в макросах и не выеживаються
| |
3.16, Аноним (-), 12:50, 08/05/2013 [^] [^^] [^^^] [ответить]
| +/– |
В твоем примере ошибка. valid - не инициализирован. И нафига тебе if, в оригинале очень даже годно написано.
| |
|
|
|
2.15, Аноним (-), 16:35, 05/05/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Это ж трындец, товарищи!
Этому багу сто лет в обед. Его воспроизводят и воспроизводят. Это NULL authentification.
| |
|
1.7, бедный буратино (ok), 03:14, 04/05/2013 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Вот так всегда - ждёшь уязвимости в php, а получаешь в IPSec. Не гневай Господа ямой, и сам туда не попадёшь.
| |
1.9, Дима (??), 13:18, 04/05/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Affected are only installations that have enabled and loaded the OpenSSL crypto backend (--enable-openssl). Builds using the default crypto backends are not affected.
Использую libgmp (http://gmplib.org), а не openssl.
| |
1.10, arisu (ok), 18:52, 04/05/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
очередные «оптимизаторы» не читают документацию. молодцы, они В Тренде.
| |
1.11, Аноним (-), 19:25, 04/05/2013 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Тэги: ШГ, УГ, апинастос, гвано, ссанина, мазоль, тваражог_солмнана, щвабботка
| |
|
2.14, pavlinux (ok), 12:29, 05/05/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Тэги: ШГ, УГ, апинастос, гвано, ссанина, мазоль, тваражог_солмнана, щвабботка
Это чё, из серии - хотел пофлудить, но мозга не хватило?
| |
|
|