Вход:  Пароль:  
FreeSource: Etersoft/samba ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |

Взаимодействие Wine с CIFS-сервером

Ссылки


Документация


Устаревшее: постановка задачи


Основная задача: сообщить samba-серверу о режиме разрешения другим доступа к файлу, и получить ответ, разрешён ли доступ нам. Из этого следует, что файл должен быть открыт с соответствующими правами.


Из-за реализации открытия файлов в Linux через модуль ядра можно это это сообщить только дополнительным вызовом (при этом придётся повторно открывать файл).
Особая сложность при сообщении о доступе из wineserver – поскольку потребуется открывать файл параллельно с открытием через системный вызов.
Возможно единственный вариант передачи нужной нам информации – через блокировки.


Вариант реализации Плюсы Минусы
SAMBA-сервер Будет работать с любой ОС
Проще всего в реализации – добавить обращение к libwine-etersoft и всё (нельзя из-за GPL)
Требуется сборка сервера под каждую платформу
Неправильное (временное) решение
CIFS-модуль ядра Может работать с любым CIFS-сервером (и Windows в том числе)
Изменения в CIFS-модуле не страшно отдать под GPL
Будет работать только в Linux
Проблемы со сборкой модулей под все ядра
Всё равно менять wineserver для обращения к модулю
wineserver – реализовать в нём обращение по CIFS Самый правильный и независимый способ, позволит в дальнейшем всю функциональность реализовать. Самый сложный вариант, много работы
Нет проверенной клиентской библиотеки (libcli_smb) для SAMBA4 (но есть libsmbclient из SAMBA3 с необходимой функциональностью
Проблема с несовместимостью лицензий (LGPL для wineserver и GPL для libcli_smb)

SAMBA4: обработка открытия файла осуществляется в odb_tdb_open_file, откуда вызывается share_conflict для сверки shared и access.
модуль ядра cifs: CIFSSMBOpen, там заполняются Share Access? и Desired Access?
wineserver: файл fd.c, функция check_sharing


Ссылок на эту страницу нет


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]