Re: Мысли о стандартах

Ответ на комментарий от vit01
>> В случае файлэх нужен механизм однозначного признака, отличающего имя фэхи от имени файла. Поэтому пока нет такого. Но мы ж тут обсуждаем будущее расширение стандарта =) Готов подумать и принять предложения к рассмотрению.
> Рома в таких случаях использовал двоеточие. А насчёт имени файла мы поставим его в "запретные" символы. Один фиг в некоторых ФС этот символ нельзя использовать. И слэши точно нельзя, можно их взять
А вот, кстати. В индексе фэхи есть двоеточия, а в имени нет. Значит можно считать строку с двоеточием именем фэхи =) Всё на поверхности же.
>> В случае файлэхи не очень понятен юзкейс для которого это поле нужно. Можно поподробнее?
> Не, ну ты чё. Скачивать файл 2 килобайта и 20 гигабайт есть разница и огромная. Во втором случае я ещё подумаю, надо это мне или нет (особенно если с телефона сижу, где трафик - это время и часто деньги). Да и на серверах ресурсы не резиновые. Это позволит писать скрипты, которые будут рассчитывать свободное место и выдавать уведомления мне как сисопу, например, что, дескать, всё, хватит.
За посыл в фэху 20 гигов надо карать =) Сам юзкейс фэх это передача небольших файлов.
>> Запостить файл с именем, длина которого свалит фс, вряд ли возможно, а описание вряд ли вообще может на что-то повлиять.
> Вот так и возникают уязвимости :) Ай да, и так сойдёт, как говорится ;)
Я руководствуюсь принципом Оккама. Отсекаю лишнее. Пока я не смог придумать гипотетической ситуации, которая свалит узел или клиента через длину файла или описания.
> Предлагаю имя файла ограничить 256 символами, описание - 4096. В имени файла только английский алфавит, никаких спецсимволов и пробелов.
Не взирая на мой предыдущий абзац, пожалуй всё же введу такое ограничение. Причём имя файла я бы подрезал до 64-х ну или хотя бы 128-и символов. Описание тоже срезал бы до килобайта. И то оверхед.
> В описании - любой юникод, за исключением двоеточия и переворачивающих последовательностей (для правостороннего набора). Имя поинта и адрес задаются станцией.
Двоеточие то зачем в описании запрещать? В индексе все поля фиксированы же. Выходит что-то типа того (пример на python):
f = row.split(":")
filename = f[0]
filesize = f[1]
username = f[2]
addr = f[3]
dsc = ":".join(f[4:])
и ни в чём не ограничиваем описание. Запрещать всякие спецсимволы это надо подумать. Если не затруднит, можно привести их список, а то я пока не знаю как их искать? =)

Andrew Lobanov (2017-06-15 12:33:29) [Ответить]
Предыдущее сообщение Следующее сообщение