# Первая коллизия???
shaos(shaos, 2) — All
2024-09-22 07:05:07


Всем привет кто ещё тут!
Какое-то время назад в эхе idec.talks прилетело ко мне сообщение не в тему (причём со старой датой):
http://shaos.net:8085/IDEC-dup.png
А сегодня я обнаружил, что хэш этого сообщения упоминается в двух эхах:
idec.talks:v2gj6Qx0JJmoNlcjcJlg
lor-opennet.17:v2gj6Qx0JJmoNlcjcJlg
Получается в idec.talks пришло сообщение, которое по хэшу совпало со старым сообщением от сентября 2019 года в lor-opennet.17?

Shaos

# Re: Первая коллизия???
shaos(shaos, 2) — shaos
2024-09-23 06:45:14


Похоже от этого же сообщения также поплохело эхе lor-opennet.17 на Таверне:

http://idec.spline-online.ru/v2gj6Qx0JJmoNlcjcJlg

Она как бы застряла на нём как на последнем, однако оно вовсе даже старое...

# Re: Первая коллизия???
Andrew Lobanov(tavern,1) — shaos
2024-09-23 07:03:10


shaos> Какое-то время назад в эхе idec.talks прилетело ко мне сообщение не в тему (причём со старой датой):
shaos> А сегодня я обнаружил, что хэш этого сообщения упоминается в двух эхах:
shaos> idec.talks:v2gj6Qx0JJmoNlcjcJlg
shaos> lor-opennet.17:v2gj6Qx0JJmoNlcjcJlg
shaos> Получается в idec.talks пришло сообщение, которое по хэшу совпало со старым сообщением от сентября 2019 года в lor-opennet.17?

Дождались коллизий, похоже. Возможно, придётся менять хеш-функцию как-то. Но это потом. За 10+ лет это первый случай, вроде. Так что маловероятно, что он повторится в ближайшее время.

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.

# Re: Первая коллизия???
shaos(shaos, 2) — Andrew Lobanov
2024-09-23 07:41:05


Наверное текущие хэши всё также ок - просто надо чтобы IDEC сервера (и наверное клиенты) были готовы к возмжным коллизиям - а то сейчас получилось, что новое сообщение пропало, а на его месте в idec.talks показывается старое сообщение из lor-opennet.17 с тем же кодом - по идее надо в idec.talks показывать новое сообщение, а запись о старом c тем же кодом в lor-opennet.17 по хорошему наверное надо бы удалить, заслав куда-то системный алерт о коллизии с подробным описанием того что куда добавилось и что откуда удалилось - вобщем как-то так...

# Re: Первая коллизия???
hugeping(ping,1) — Andrew Lobanov
2024-09-24 16:44:31


AL> Дождались коллизий, похоже. Возможно, придётся менять хеш-функцию как-то. Но это потом. За 10+ лет это первый случай, вроде. Так что маловероятно, что он повторится в ближайшее время.

AL> +++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.

Ох, нифига-себе!

# Re: Первая коллизия???
shaos(shaos, 2) — hugeping
2024-09-30 08:46:56


Предлагаю этот раздвоенный msgid включить всем в blacklist.txt т.к. он вызывает проблемы на разных нодах:

v2gj6Qx0JJmoNlcjcJlg

P.S. Также обнаружил у себя в списках несколько старых сообщений у которых длина хеша была 19 символов вместо 20 - все удалил т.к. один из узлов продолжал их у меня спрашивать (вместе с вышеупомянутым раздвоенным)...

# Re: Первая коллизия???
Andrew Lobanov(tavern,1) — shaos
2024-09-30 08:55:36


shaos> Предлагаю этот раздвоенный msgid включить всем в blacklist.txt т.к. он вызывает проблемы на разных нодах:
shaos> v2gj6Qx0JJmoNlcjcJlg

Можно, конечно.

shaos> P.S. Также обнаружил у себя в списках несколько старых сообщений у которых длина хеша была 19 символов вместо 20 - все удалил т.к. один из узлов продолжал их у меня спрашивать (вместе с вышеупомянутым раздвоенным)...

И это неправильно. Длина хеша может быть потенциально любой.

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.

# Re: Первая коллизия???
shaos(shaos, 2) — shaos
2024-09-30 08:55:13


Список коротких хэшей:

3rkSne5R2FI1QXrlJkF
bi36U9W4Zu86wagsE8X
Hi7AzJtfBZKKb96awMP
SZ7KQTwMhch9gSIJ1Q3
APcbWI1obBZ3nr5uZgt
8BqXV3KGYEqIwnPaKsB
MmBCteS6yMnC2LZLbRC
JDKVlOwszVbKpMvjwN8

# Re: Первая коллизия???
shaos(shaos, 2) — Andrew Lobanov
2024-09-30 12:16:10


> И это неправильно. Длина хеша может быть потенциально любой.

Ну тогда тебе надо поглядеть в свой код т.к. именно твой узел продолжал у меня их спрашивать каждые 10 минут :)

62.109.31.95 - - [29/Sep/2024:23:30:08 -0700] "GET /ii-point.php?q=/u/m/3rkSne5R2FI1QXrlJkF/bi36U9W4Zu86wagsE8X/Hi7AzJtfBZKKb96awMP/v2gj6Qx0JJmoNlcjcJlg/SZ7KQTwMhch9gSIJ1Q3/APcbWI1obBZ3nr5uZgt/8BqXV3KGYEqIwnPaKsB/MmBCteS6yMnC2LZLbRC/JDKVlOwszVbKpMvjwN8 HTTP/1.1" 200 10517 "-" "Python-urllib/3.11"
62.109.31.95 - - [29/Sep/2024:23:40:09 -0700] "GET /ii-point.php?q=/u/m/3rkSne5R2FI1QXrlJkF/bi36U9W4Zu86wagsE8X/Hi7AzJtfBZKKb96awMP/v2gj6Qx0JJmoNlcjcJlg/SZ7KQTwMhch9gSIJ1Q3/APcbWI1obBZ3nr5uZgt/8BqXV3KGYEqIwnPaKsB/MmBCteS6yMnC2LZLbRC/JDKVlOwszVbKpMvjwN8 HTTP/1.1" 200 10517 "-" "Python-urllib/3.11"
62.109.31.95 - - [29/Sep/2024:23:50:08 -0700] "GET /ii-point.php?q=/u/m/3rkSne5R2FI1QXrlJkF/bi36U9W4Zu86wagsE8X/Hi7AzJtfBZKKb96awMP/v2gj6Qx0JJmoNlcjcJlg/SZ7KQTwMhch9gSIJ1Q3/APcbWI1obBZ3nr5uZgt/8BqXV3KGYEqIwnPaKsB/MmBCteS6yMnC2LZLbRC/JDKVlOwszVbKpMvjwN8 HTTP/1.1" 200 10517 "-" "Python-urllib/3.11"

и ii-php честно их каждый раз отдавал...

# Re: Первая коллизия???
shaos(shaos, 2) — shaos
2024-09-30 12:24:59


Ну вот же :)

def debundle(bundle):
    for msg in bundle:
        if msg:
            m = msg.split(":")
            msgid = m[0]
            if len(msgid) == 20 and m[1]:
                msg = base64.b64decode(m[1].encode("ascii")).decode("utf8").split("\n")
                c.execute("INSERT INTO msg (msgid, tags, echoarea, time, fr, addr, t, subject, body) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?);", (msgid, msg[0], msg[1], msg[2], msg[3], msg[4], msg[5], msg[6], "\n".join(msg[8:])))
    con.commit()

в iing стоит проверка на равенство длины числу 20 :)

# Re: Первая коллизия???
hugeping(ping,1) — shaos
2024-09-30 19:22:08


shaos> Предлагаю этот раздвоенный msgid включить всем в blacklist.txt т.к. он вызывает проблемы на разных нодах:
shaos> v2gj6Qx0JJmoNlcjcJlg

Гм, у меня нет такого сообщения в базах... Наверное я не фетчу эти эхи.

# Re: Первая коллизия???
hugeping(ping,1) — shaos
2024-09-30 19:24:57


shaos> Ну вот же :)

shaos> ====
shaos> if len(msgid) == 20 and m[1]:
shaos> ====

shaos> в iing стоит проверка на равенство длины числу 20 :)

У меня тоже судя по коду стоит проверка на 20. Это точно не в стандарте?

# Re: Первая коллизия???
shaos(shaos, 2) — hugeping
2024-09-30 19:54:33


Наверное если только одна эха есть из этих двух то ок:

idec.talks:v2gj6Qx0JJmoNlcjcJlg
lor-opennet.17:v2gj6Qx0JJmoNlcjcJlg

# Re: Первая коллизия???
hugeping(ping,1) — shaos
2024-09-30 21:19:52


shaos> Наверное если только одна эха есть из этих двух то ок:

shaos> idec.talks:v2gj6Qx0JJmoNlcjcJlg

idec.talks у меня есть, но сообщения этого нет. Это странно. Может всё-таки у кого-то сбойнуло что-то? Проверяли по коду - хеш действительно совпадает если его перерассчитать?

# Re: Первая коллизия???
shaos(shaos, 2) — hugeping
2024-09-30 22:40:12


Я не вижу нового сообщения - ii-php показывает в idec.talks старую новость из lor-opennet, а таверна глючит в lor-opennet застряв на том сообщении, но перезапомнив дату как будто оно самое новое и при попытке перемотать ленту до конца оно снова перескакивает на него

# Re: Первая коллизия???
Andrew Lobanov(tavern,1) — shaos
2024-10-01 06:46:16


shaos> Я не вижу нового сообщения - ii-php показывает в idec.talks старую новость из lor-opennet, а таверна глючит в lor-opennet застряв на том сообщении, но перезапомнив дату как будто оно самое новое и при попытке перемотать ленту до конца оно снова перескакивает на него

Откуда вообще столько шума из-за мёртвой эхи? Актуальная это ii://lor.opennet же.

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.

# Re: Первая коллизия???
shaos(shaos, 2) — Andrew Lobanov
2024-10-01 07:07:32


Ну архив тоже типа эха - или когда создали новую, то старую удалили и забыли? ;)
Я вот поиск хочу нагородить по всем эхам, что у меня есть - включая архивные :)

# Re: Первая коллизия???
Andrew Lobanov(tavern,1) — shaos
2024-10-01 08:54:47


shaos> Ну архив тоже типа эха - или когда создали новую, то старую удалили и забыли? ;)

Я просто не могу себе представить пользу от архива новостей ЛОРа и опеннета. Оно полезно в моменте.

shaos> Я вот поиск хочу нагородить по всем эхам, что у меня есть - включая архивные :)

Бывает :)

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.

# Re: Первая коллизия???
shaos(shaos, 2) — Andrew Lobanov
2024-10-01 09:23:03


> Я просто не могу себе представить пользу от архива новостей ЛОРа и опеннета. Оно полезно в моменте.

Ну вот сидит человек скажем за Спринтером или за ZX-спектрумом и через сетевушку читает ii/IDEC эхи - захотел окнутуся так сказать в историю ну или поиск организовал по ключевому слову - скажем Knoppix и смотрит чего там когда оно упоминалось - круто же? ;)

# Re: Первая коллизия???
shaos(spnet, 2) — hugeping
2024-10-06 08:56:55


> У меня тоже судя по коду стоит проверка на 20. Это точно не в стандарте?

интересно, что как минимум 7 из проблемных 8 сообщений (у которых длина хэша 19 вместо 20) были созданы с помощью idec.el/0.1 пользователем Difrex (dynamic,1):

+++ idec.el/0.1
+++ idec.el/0.1
+++ At work. idec.el/0.1
+++ idec.el/0.1
+++ idec.el/0.1
+++ idec.el/0.1
+++ Картошки хватит на всех

и хэши там совсем неправильно посчитаны были т.к. реальные хеши ничего общего с названиями этих сообщений не имеют:

SZ7KQTwMhch9gSIJ1Q3
--> vY11CNkWXWstRfHyD8EQ
APcbWI1obBZ3nr5uZgt
--> BDZIZkGNsacszWnRTEDA
8BqXV3KGYEqIwnPaKsB
--> 9Fz0f71LTxinLyAA26jc
MmBCteS6yMnC2LZLbRC
--> aDDfVncYTkdhSITwY2VB
JDKVlOwszVbKpMvjwN8
--> aagoTsW9vjv61Hsb0UBO
3rkSne5R2FI1QXrlJkF
--> R7mIPIRysuoKAchosrZX
bi36U9W4Zu86wagsE8X
--> H3E9knwnOOTSwBmwaLF7
Hi7AzJtfBZKKb96awMP
--> GPIigM4r30CcSK8tjRzd

По идее можно вернуть эти сообщения в оборот просто добавив 0 в конце ихних хэшей и поправив несколько других сообщений, которые на них ссылаются:

vHtkzHXiAYL0a7zSFS0P:> Так и не понял чем тебе мой вариант не подошёл, который я тут показывал ii://APcbWI1obBZ3nr5uZgt :)
vu94FtaImMH7E9AlDg8d:Так и не понял чем тебе мой вариант не подошёл, который я тут показывал ii://APcbWI1obBZ3nr5uZgt :)
TKcKYfkzLXg3YU3iMQrS:ii/ok/repto/8BqXV3KGYEqIwnPaKsB
sBF0YZDFAAJY9ZXGeTvw:Вот https://dynamic.lessmore.pw/msg/MmBCteS6yMnC2LZLbRC
nXdcHnk0Y4UunGNNUIwi:ii/ok/repto/3rkSne5R2FI1QXrlJkF
z8W283Fkra8J96OrKQCC:ii/ok/repto/bi36U9W4Zu86wagsE8X