Название: Установка времени файла Отправлено: Zmeishe от Июль 02, 2008, 12:32 Qt 4.3.3
Если менять время так, у файла оно получается на несколько секунд меньше Код: #include <sys/utime.h> Если иcпользовать WinAPI, то устанавливается точь в точь как надо. Код: #ifdef Q_OS_WIN Или я чего-то не догоняю ? Название: Re: Установка времени файла Отправлено: Zmeishe от Июль 02, 2008, 13:55 А вот в Linux первый вариант работает безупречно.
Код: #include <utime.h> Похоже дело не в QDateTime::toTime_t() - или не только в ней, а чём-то ещё Название: Re: Установка времени файла Отправлено: Sergeich от Июль 03, 2008, 00:45 А какая вообще задача? установить время модификации файла? Зачем это нужно? Просто любопытно :)
Название: Re: Установка времени файла Отправлено: Zmeishe от Июль 03, 2008, 07:59 Это нужно для автоматического обновления программных модулей.
Я в БД, в BLOB поле, закачиваю свежие бинарники и их зависимости от моих же библиотек. В другое поле таблицы записываю дату и время последней модификации QFileInfo::lastModified() этого бинарника. Когда на удалённой машине стартует клиентский модуль, он проверяет своё lastModified() и сравнивает с эталонным из БД, а заодно и все зависимости. В случае необходимости, подменяет сам себя и свои зависимости.(или почти сам себя ;)) Последний штрих - это установка lastModified() равным эталонному. Название: Re: Установка времени файла Отправлено: Tonal от Июль 03, 2008, 10:25 По моему проше хешик считать CRC или MD5 - вполне надёжно и быстро для этих объёмов. :)
Название: Re: Установка времени файла Отправлено: ритт от Июль 03, 2008, 10:58 Согласен с Тонал'ом
а вообще, хранение бинарников блобом (и, подозреваю, обновление вместе с репликацией бд) - не самый удачный вариант! однажды попался мне на глаза продукт конкурентов, в котором система обновлений работала по схожему принципу. всё, что было нужно: 1) добраться на мастер-сервере до этой таблицы с привилегиями на запись; 2) налокальной площадке заразить трояном самый свежий бинарь из этой таблицы; 3) записать его поверх оригинального + обновить дату модификации... ...что было дальше представляешь? в общем, зашей хотя бы механизм проверки целостности, если будешь двигаться в этом направлении :) Название: Re: Установка времени файла Отправлено: Zmeishe от Июль 03, 2008, 11:13 Замечания интересные, честно говоря, сам не подумал о таком заражении.
Но если получить права SYSDBA на эту таблицу или root`а на машине, где база лежит, то, по моему, уже ни CRC ни MD5 не спасёт, т.к. абсолютно ВСЁ станет доступным и ключи шифрования тоже. PS: "Если возможного изнасилования избежать не удалось - расслабьтесь и получите удовольствие" из инструкции агентесс британских спецслужб. Название: Re: Установка времени файла Отправлено: ритт от Июль 03, 2008, 11:42 а я и не говорил про рута...
подсказываю: софтина была написана на мфц...догадываешься какие люди писали защиту? :) а механизм проверки целостности спасёт! если это не тупо црц'шка, зашитая прямо в код, то банальным заражением нарушится целостность и автоматом модуль не обновится - клиенты не получат и гемор и не уйдут к конкурентам...а ты неспешно залатаешь дыры на сервере :) но это всё оффтоп, а тема, похоже, исчерпана...давайте её трэшанём? |