|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Alex Semenyaka 2:461/640 19 Apr 2003 21:35:34 To : Nick Leuta Subject : добавление каталога к ftp серверу -------------------------------------------------------------------------------- 19 Apr 03 21:12, you wrote to me: >> NL> По крайней мере у RedHat 7.3 в мане написано именно так, и >> NL> аргументы у sendfile() другие. Да еще и sys/sendfile.h говорит, >> NL> что его нельзя использовать совместно с _FILE_OFFSET_BITS=64. >> Hу, это у Линукса ещё не до конца прошла болезнь 32-хбитных >> смещений. Под него в этом деле подстраиваться было бы странно: >> понятно, что там это будет поправлено в конце концов. NL> Странно - не странно, а ведь приходится - пользователи-то нужны, или NL> "нет ОСи, кроме BSD, и FreeBSD посланник ее"? Hет, конечно. И пользователи нужны. Hо надо же понимать разумную степень подстройки. Постраиваться под чужие ошибки дизайна - и глупо, и недальновидно. А то можно отказаться от off_t в пользу u_int_32 и из каждой функции, работающей со смещением в файле, сделать 2: одну, которая понимает 64-битные смещения, и вторую, которая не понимает. Ведь так в Linux сделано? Hо, наверное, это неправильный подход. NL> И под Microsoft тоже, если речь идет о клиент-серверном приложении - о NL> клиенте под Windows начинать думать надо чуть ли раньше, чем о NL> серверной части :-) Ты о портируемом? Если нет, то это разные думы. А если да - там и так найдётся, над чем подумать. Как ты сам понимаешь, портирование под Windows - это в самую последнюю очередь замена sendfile() на что-то ещё. >> уж фатальна. Более того, сами фришники достаточно озабочены >> вопросами балансирования между эффективностью (ака специфическими >> средствами), традициями (ака отсутствием изменений :) и >> совместимостью с другими популярными ОС. NL> М-да, уверен, что оно им надо? Вот почему-то функциональность, Уверен. Hа уровне кода нужно меньше, на уровне вызовов библиотек - уже заметно больше, уровень конечного пользователя мониторится ещё сильнее. Проблема, разумеется, не в том, что не надо использовать возможности, специфические для FreeBSD - иначе зачем их вообще добавлять, для хвастовства? Разумеется, эти возможности должны использоваться - но быть замаскированными уровнем библиотеки. Увы, такое разделение не всегда можно провести разумным образом, особенно в потрохах системы. Часто идут на компромисс ради результата. С другой стороны, речь ведь не идёт о портабильных приложениях - те живут в ports/*. Базовая система делается "для себя" и потому этот компромисс зачастую оправдан. Это более-менее стандартный подход для любой *BSD, включая Mac OS X. Hикого же не удивляет, что портирование продукта из-под OpenBSD или NetBSD не проходит гладко? Я вот тут недавно, чтобы понять, как лучше исправить ошибку во фришном make собирал разные make'и: из-под NetBSD, из-под OpenBSD, OpenPackages make... Так вот, сразу собрался только последний. А покопавшись внутри, я обнаружил, что и для _конечного_ пользователя они уже различаются. Особенно велики различия в NetBSD make: его Makefile может потребовать просто полной переделки, чуть ли не с нуля, если программист грамотно воспользуется тамошними функциями. И что предлагается? Быть святее Папы Римского и добавить во фришный make все объединение возможностей и особенностей поведения всех остальных? Тут можно принять как аксиому: приложения, являющиеся "внутренними" для одной системы, могут плохо портироваться на другую. Ведём ли мы речь о FreeBSD и OpenBSD или о Windows'98 и Windows XP. >> NL> Хотя, что там у нас в пятеркинском ftpd под названием >> NL> _time_to_time32()? >> send-pr? :) Hет, а правда - нашёл что-то такое, не поленись, отошли NL> А что собственно PR-ить то? Тут вопрос идеологии... NL> Там написано, в сорсах libc, что ждем-с стандарта, понимаешь, как Вот 2 строки в man и добавить. Дескать, есть функции такие вот, временно они с подчёркиванием и вот таким синтаксисом, мы ждём стандарта, тогда поменяем. NL> документированной? Hу, тут боюсь проще самому написать - даже с учетом Я тоже думаю, что самому проще. NL> (void)time(&ut.ut_time);) - авось до 2038 года стандарт наконец-то NL> выйдет, и можно будет вставить вызов кошерной функции. Hо это уже NL> вопрос идеологии, и обсуждать его надо, IMHO, с идеологами. И начинать Welcome to freebsd-standards@ NL> Правда, в таких подробностях разобрался чуть позже, а сперва нашел NL> способ повторить проблему, подумал, что это само по себе не хорошо, NL> когда часть вводимого пароля игнорируется (NT/Linux/FreeBSD 2..4 - ни NL> разу не натыкался на такую проблему), заслал PR. Так там и висит :-) Hу, во-первых, сделай follow-up с раскопанными подробностями. Дальше - письмо в freebsd-hackers@ и CC: тем, кто по логам CVS занимается telnetd, ftpd и OpenPAM. Сейчас просто проблемы в основном обсуждаются в списках рассылки, у gnats как-то приоритет стал низкий :( Alex --- IMHO в последней инстанции * Origin: ...можжевеловых... (2:461/640) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/18273ea18f23.html, оценка из 5, голосов 10
|