Страница 1 из 1
ftp
Добавлено: 2008-08-28 20:54:04
DeNn
Вот появился такой вопрос: когда в папке есть вложенная папка, то обновления вложенной папки не указываются как обновления родительской папки. Можно ли как то указывать, что б он обновлял дату и на ней? ФТП сервер proftpd
Re: ftp
Добавлено: 2008-08-28 21:17:45
zg
man touch ?
Re: ftp
Добавлено: 2008-08-28 22:18:46
DeNn
Так это ж для файла?
Re: ftp
Добавлено: 2008-08-28 22:41:35
Alex Keda
в юниксах - всё файлы.
Re: ftp
Добавлено: 2008-08-29 0:12:18
DeNn
Так будьте добры подскажите как это сделать?
Re: ftp
Добавлено: 2008-08-29 0:34:37
Alex Keda
ну, если способ и есть - то это хак.
ибо вышестоящая директория при этом не меняется - значит дата меняться и не должна
Re: ftp
Добавлено: 2008-08-29 9:02:45
zg
DeNn писал(а):Так будьте добры подскажите как это сделать?
если C знаешь, то нужно слегка подправить исходники, или лучше патч написать
для fsftpd я как-то писал патч, чтобы логи на удаление файлов велись, поковырялся день и всё заработало, сложного особо ничего нет.
Re: ftp
Добавлено: 2008-08-29 12:08:47
zingel
DeNn писал(а):Вот появился такой вопрос: когда в папке есть вложенная папка, то обновления вложенной папки не указываются как обновления родительской папки. Можно ли как то указывать, что б он обновлял дату и на ней? ФТП сервер proftpd
с чего такой вывод, родительский каталог также юзает stat() && fstat() как и дочерний, это у тебя так потому, что группы на папки разные

Вот кусок из dirent.h
Код: Выделить всё
/* structure describing an open directory. */
typedef struct _dirdesc {
int dd_fd; /* file descriptor associated with directory */
long dd_loc; /* offset in current buffer */
long dd_size; /* amount of data returned by getdirentries */
char *dd_buf; /* data buffer */
int dd_len; /* size of data buffer */
long dd_seek; /* magic cookie returned by getdirentries */
long dd_rewind; /* magic cookie for rewinding */
int dd_flags; /* flags for readdir */
void *dd_lock; /* hack to avoid including <pthread.h> */
struct _telldir *dd_td; /* telldir position recording */
} DIR;
проверь группы у родительских папок