Сообщения в Первая коллизия???

Первая коллизия???

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

Shaos
shaos to All (2024-09-22 06:05:07) [ссылка]

Re: Первая коллизия???

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

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

Она как бы застряла на нём как на последнем, однако оно вовсе даже старое...
shaos to shaos (2024-09-23 05:45:14) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
shaos> Какое-то время назад в эхе idec.talks прилетело ко мне сообщение не в тему (причём со старой датой):
shaos> А сегодня я обнаружил, что хэш этого сообщения упоминается в двух эхах:
shaos> idec.talks:v2gj6Qx0JJmoNlcjcJlg
shaos> lor-opennet.17:v2gj6Qx0JJmoNlcjcJlg
shaos> Получается в idec.talks пришло сообщение, которое по хэшу совпало со старым сообщением от сентября 2019 года в lor-opennet.17?
Дождались коллизий, похоже. Возможно, придётся менять хеш-функцию как-то. Но это потом. За 10+ лет это первый случай, вроде. Так что маловероятно, что он повторится в ближайшее время.
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to shaos (2024-09-23 06:03:10) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
Наверное текущие хэши всё также ок - просто надо чтобы IDEC сервера (и наверное клиенты) были готовы к возмжным коллизиям - а то сейчас получилось, что новое сообщение пропало, а на его месте в idec.talks показывается старое сообщение из lor-opennet.17 с тем же кодом - по идее надо в idec.talks показывать новое сообщение, а запись о старом c тем же кодом в lor-opennet.17 по хорошему наверное надо бы удалить, заслав куда-то системный алерт о коллизии с подробным описанием того что куда добавилось и что откуда удалилось - вобщем как-то так...
shaos to Andrew Lobanov (2024-09-23 06:41:05) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
AL> Дождались коллизий, похоже. Возможно, придётся менять хеш-функцию как-то. Но это потом. За 10+ лет это первый случай, вроде. Так что маловероятно, что он повторится в ближайшее время.
AL> +++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Ох, нифига-себе!
hugeping to Andrew Lobanov (2024-09-24 15:44:31) [ссылка]

Re: Первая коллизия???

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

v2gj6Qx0JJmoNlcjcJlg

P.S. Также обнаружил у себя в списках несколько старых сообщений у которых длина хеша была 19 символов вместо 20 - все удалил т.к. один из узлов продолжал их у меня спрашивать (вместе с вышеупомянутым раздвоенным)...
shaos to hugeping (2024-09-30 07:46:56) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
Список коротких хэшей:

3rkSne5R2FI1QXrlJkF
bi36U9W4Zu86wagsE8X
Hi7AzJtfBZKKb96awMP
SZ7KQTwMhch9gSIJ1Q3
APcbWI1obBZ3nr5uZgt
8BqXV3KGYEqIwnPaKsB
MmBCteS6yMnC2LZLbRC
JDKVlOwszVbKpMvjwN8
shaos to shaos (2024-09-30 07:55:13) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
shaos> Предлагаю этот раздвоенный msgid включить всем в blacklist.txt т.к. он вызывает проблемы на разных нодах:
shaos> v2gj6Qx0JJmoNlcjcJlg
Можно, конечно.
shaos> P.S. Также обнаружил у себя в списках несколько старых сообщений у которых длина хеша была 19 символов вместо 20 - все удалил т.к. один из узлов продолжал их у меня спрашивать (вместе с вышеупомянутым раздвоенным)...
И это неправильно. Длина хеша может быть потенциально любой.
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to shaos (2024-09-30 07:55:36) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
> И это неправильно. Длина хеша может быть потенциально любой.
Ну тогда тебе надо поглядеть в свой код т.к. именно твой узел продолжал у меня их спрашивать каждые 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 честно их каждый раз отдавал...
shaos to Andrew Lobanov (2024-09-30 11:16:10) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
Ну вот же :)
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 :)
shaos to shaos (2024-09-30 11:24:59) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
shaos> Предлагаю этот раздвоенный msgid включить всем в blacklist.txt т.к. он вызывает проблемы на разных нодах:
shaos> v2gj6Qx0JJmoNlcjcJlg
Гм, у меня нет такого сообщения в базах... Наверное я не фетчу эти эхи.
hugeping to shaos (2024-09-30 18:22:08) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
shaos> Ну вот же :)
shaos> ====
shaos> if len(msgid) == 20 and m[1]:
shaos> ====
shaos> в iing стоит проверка на равенство длины числу 20 :)
У меня тоже судя по коду стоит проверка на 20. Это точно не в стандарте?
hugeping to shaos (2024-09-30 18:24:57) [ссылка]

Re: Первая коллизия???

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

idec.talks:v2gj6Qx0JJmoNlcjcJlg
lor-opennet.17:v2gj6Qx0JJmoNlcjcJlg
shaos to hugeping (2024-09-30 18:54:33) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
shaos> Наверное если только одна эха есть из этих двух то ок:
shaos> idec.talks:v2gj6Qx0JJmoNlcjcJlg
idec.talks у меня есть, но сообщения этого нет. Это странно. Может всё-таки у кого-то сбойнуло что-то? Проверяли по коду - хеш действительно совпадает если его перерассчитать?
hugeping to shaos (2024-09-30 20:19:52) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
Я не вижу нового сообщения - ii-php показывает в idec.talks старую новость из lor-opennet, а таверна глючит в lor-opennet застряв на том сообщении, но перезапомнив дату как будто оно самое новое и при попытке перемотать ленту до конца оно снова перескакивает на него
shaos to hugeping (2024-09-30 21:40:12) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
shaos> Я не вижу нового сообщения - ii-php показывает в idec.talks старую новость из lor-opennet, а таверна глючит в lor-opennet застряв на том сообщении, но перезапомнив дату как будто оно самое новое и при попытке перемотать ленту до конца оно снова перескакивает на него
Откуда вообще столько шума из-за мёртвой эхи? Актуальная это ii://lor.opennet же.
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to shaos (2024-10-01 05:46:16) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
Ну архив тоже типа эха - или когда создали новую, то старую удалили и забыли? ;)
Я вот поиск хочу нагородить по всем эхам, что у меня есть - включая архивные :)
shaos to Andrew Lobanov (2024-10-01 06:07:32) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
shaos> Ну архив тоже типа эха - или когда создали новую, то старую удалили и забыли? ;)
Я просто не могу себе представить пользу от архива новостей ЛОРа и опеннета. Оно полезно в моменте.
shaos> Я вот поиск хочу нагородить по всем эхам, что у меня есть - включая архивные :)
Бывает :)
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to shaos (2024-10-01 07:54:47) [ссылка]

Re: Первая коллизия???

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

shaos to Andrew Lobanov (2024-10-01 08:23:03) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
> У меня тоже судя по коду стоит проверка на 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
shaos to hugeping (2024-10-06 07:56:55) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
>> У меня тоже судя по коду стоит проверка на 20. Это точно не в стандарте?
shaos> интересно, что как минимум 7 из проблемных 8 сообщений (у которых длина хэша 19 вместо 20) были созданы с помощью idec.el/0.1 пользователем Difrex (dynamic,1):
Проблема была не в idec.el, а в dynamic. Хеши считает нода, а не клиент.
shaos> и хэши там совсем неправильно посчитаны были т.к. реальные хеши ничего общего с названиями этих сообщений не имеют:
Реальные хеши это придуманное что-то. Они могут быть какие угодно, лишь бы не было коллизий.
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to shaos (2024-10-08 04:35:53) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
> Реальные хеши это придуманное что-то. Они могут быть какие угодно, лишь бы не было коллизий.
Ну ваш "стандарт" описывает вполне конкретно как msgid должен формироваться :)

Разве что чётко не прописано, что заменять надо на A (большую) и z (маленькую) ;)
shaos to Andrew Lobanov (2024-10-08 06:41:25) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
Это невозможно практически. Хеши точно по сообщениям одинаковые? Я больше склоняюсь к глюку софта, генерирующего хэш. На таком малом количестве сообщений это невозможно.
iiii to shaos (2024-10-09 03:24:55) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
Я раз в несколько месяцев/лет перечитываю архив новостей и их комментов с лора 90-х / 00-х. Круто, что там это можно удобно делать.
iiii to shaos (2024-10-09 03:26:11) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
Так то теоретически возможно, но вероятность сего должна быть пренебрежима мала (но тем не менее она не нулевая)
shaos to iiii (2024-10-09 03:48:01) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
> Так то теоретически возможно, но вероятность сего должна быть пренебрежима мала (но тем не менее она не нулевая)
Блин, клиент сожрал моё сообщение и не подавился :(

Там даже первые 6 цифр на 87 сообщений никогда не совпадали. У меня были шортлинки на 6 первых символов.
+++ написано в ii-txt-0.9 (ii://K3FDA6fNzoeWmcA3p41x)
iiii to shaos (2024-10-09 04:25:56) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
> Там даже первые 6 цифр на 87 сообщений никогда не совпадали. У меня были шортлинки на 6 первых символов.
на 87 тыщ сообщений (о, в таглайне линки не рендерятся, а так?)

+ написано в ii-txt-0.9 (ii://K3FDA6fNzoeWmcA3p41x)
iiii to iiii (2024-10-09 04:28:56) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
>> Реальные хеши это придуманное что-то. Они могут быть какие угодно, лишь бы не было коллизий.
shaos> Ну ваш "стандарт" описывает вполне конкретно как msgid должен формироваться :)
Наш стандарт весь просто условность и немного договорённостей.
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to shaos (2024-10-09 04:46:36) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
>> Там даже первые 6 цифр на 87 сообщений никогда не совпадали. У меня были шортлинки на 6 первых символов.
iiii> на 87 тыщ сообщений (о, в таглайне линки не рендерятся, а так?)
Так и не должны по идее, но это дело несложное.
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to iiii (2024-10-09 04:46:37) [ссылка]

Re: Первая коллизия???

Ответ на сообщение
Значится так - первое упоминание этого msgid (v2gj6Qx0JJmoNlcjcJlg) у меня в логах появилось Sun Dec 19 12:16:49 PST 2021 когда я впервые стянул некоторые эхи с таверны на свою ноду (на тот момент это был неизменённый ii-php):

lor-opennet.17
fetch http://idec.spline-online.ml/u/m/UTCMFH1UP4bIqmAsfKpI/W5MAAlryHwKN8JULaVRp/XcXgSAAM5Lmvh2xOCEvq/z7iYfI4atYDtGthgTCFA/z9D05BUbcAzIQflFYnzG/z9Yff5M5XNJGXAbMlikb/VV5LZpf7U9HbZqD7EloC/FREYgvbDp8JUs0mDfQPj/UcXyqV4Wr9MwC7N6UbzC/v2gj6Qx0JJmoNlcjcJlg/9zrVs589o3goy25DHkxY/DeKrvjOA4Enw1iA8Gn0q/eTdc6GplkNMTuJSJk6HS/NNrA0wTBk38XVYZzh2Sh/TFJuhrx2vnh526yhRWxP/xcUP2HgvHuWS7CZb3yl5/034KH4ajtBdWpI8GPaf4/HasPCfoV1NQLfDLUeAdy/wGz7KQv3AwrZMSR4i5pk/XczrIJymRAM0BHA5l6B9

Тогда всё было ок - уникальный msgid обозначала некое старое сообщение в эхе lor-opennet.17

Второй раз этот хэш у меня в логах проскочил в январе этого года:

Sun Jan 7 17:27:01 PST 2024
fetch http://idec.spline-online.ru/u/e/idec.talks/idec.test/linux.14/lor-opennet.17/develop.16/plan.9/zx.spectrum/silicon.valley.local
idec.talks
fetch http://idec.spline-online.ru/u/m/v2gj6Qx0JJmoNlcjcJlg
message saved: ok
lor-opennet.17
fetch http://idec.spline-online.ru/u/m/e3FfHqImRAIj20s4qnzO
invalid message: e3FfHqImRAIj20s4qnzO
error saving e3FfHqImRAIj20s4qnzO

Тут уже этот хэш как бы пришёл из idec.talks (с таверны) и следом за ним пришло какое-то невалидное сообщение для lor-opennet.17 (интересно, что с таким кодом сообщения нет нигде) - могло ли что-то сломаться в тот момент в таверне? Возможно...
shaos to iiii (2024-10-09 04:52:34) [ссылка]