Проблема с SVN svnserve и SASL с использованием DIGEST-MD5 в 64-битной Windows. (Win 7 и Server 2008)

Я пытаюсь заставить Subversion 1.8.5 + SASL2 работать на Windows 7 или Server 2008, либо 64-битная версия. Я просто хочу локальное шифрование от SASL с использованием DIGEST-MD5. Мне не нужны LDAP, AD, SSPI или любые другие методы аутентификации.

Я боролся с этим в течение двух дней, поэтому документирование всего, что я пробовал, на самом деле не является ценным способом обратиться за помощью.

Все ссылки, учебные пособия и т. Д., Которые я обнаружил, по-видимому, указывают на то, что это довольно просто на компьютере с XP, на Server 2003 или на 32-разрядной машине. Но мое окружение кажется достаточно отклоняющимся, чтобы вызвать у меня головную боль.

Мой вывод заключается в том, что библиотеки svnserve / sasl не могут прочитать файл sasldb. Вот что я сделал, и как я могу сделать такой вывод.

Я следую инструкциям в главе по настройке сервера. также это было полезно: http://tortoisesvn.net/sasl_howto.html (и многое из этого повторяется по всей сети)

(Во многих документах написано "добавить ключи реестра" SearchPath и ConfFile, но установщики CollabNet и Cyrus добавили "строки" под этими ключами... что-то, что, вероятно, должно быть исправлено в документе. Кроме того, я знаю о Wow6432Node для 32-битных приложений в 64-битном мире)

Я получил всю настройку, работающую в Linux (Ubuntu). Итак, я знаю, как настроить шифрование DIGEST-MD5 и добавить пользователей. (Причина, по которой мне нужна Windows, заключается в том, что мы также делаем сборки Windows на компьютере, поэтому нам нужна среда Windows)

Я использую CollabNet, сборку Win32 (но я также пробовал сборку x64). Он поставляется с уже существующими библиотеками Sasl, но не имеет ни одного исполняемого файла для управления sasldb. Поэтому я также загрузил двоичные файлы для Sasl из sourceforge (cyrus-sasl-2.1.26-static-x86), чтобы я мог создавать и управлять файлом sasldb.

Достаточно фона. Моя проблема в том, что я получаю ошибку:

SASL (-13): пользователь не найден

Пользователь находится в файле БД. Я положил его туда, и могу увидеть это с помощью команды sasldblistusers2.

Интересно, что они перечислены три раза в версии для Windows:

  • я @TheRealm: userPassword

  • я @TheRealm: cmusaslsecretOTP

  • я @TheRealm: cmusaslsecretSRP

Но он указан только один раз, первая строка, в sasldb, который я создал на машине linux.

Я изначально запускаю svnserve из командной строки. И будет, пока у меня все заработает, и я буду готов установить его в качестве службы.

К сожалению, после появления сообщения о выполнении libSasl не появляется ни одного сообщения об ошибке.

Вот что я предположил, это поток:

Клиент -> Svnserve ->libSasl -> реестр SearchPath -> Libs -> реестр ConfFile -> файл Sasldb

Поэтому я систематически повредил некоторые настройки по указанному выше пути, чтобы увидеть, какие ошибки были.

  • Я изменил subsersion.conf, чтобы просто использовать файл паролей. Все хорошо.

  • Я удалил libSasl - Очевидно, сервер даже не запустился.

  • Я изменил SearchPath - Сбой "svn не удалось получить список..." Хорошо.

  • Я изменил его обратно, получил "пользователь не найден". Хорошо

  • Я удалил файл svn.conf. Получил "SVN не может получить список..." Хорошо.

  • Я положил его обратно и изменил настройку ConfFile. Та же ошибка: "svn не может получить список..."

  • Я испортил запись "mech_list: DIGEST-MD5" в файле svn.conf. Та же ошибка: "svn не может получить список..."

  • Поэтому, когда все настроено правильно, я получаю ошибку "пользователь не найден".

  • Если я удаляю или изменяю запись "sasldb_path:", я все равно получаю ошибку "пользователь не найден".

Мой вывод заключается в том, что библиотека server / sasl находит все шаги, чтобы добраться до файла svn.conf, и даже читает из него строку "mech_list:", поэтому она должна быть в состоянии найти имя указанного файла sasldb, который я указала,

Но по какой-то причине он не может открыть файл или, если может, не может найти добавленное мной имя.

Я переместил файл и изменил права на него. Нет разницы.

Я даже скопировал файл sasldb с машины linux на машину с Windows (поэтому он пытается прочитать этот файл, который имеет только одно имя, и я знаю, что он работает при установке Linux). Но это не имело значения.

У кого-нибудь есть совет?
Кто-нибудь получил это для работы в 64-битной системе?

Заранее благодарю за любую помощь.
-Скотт

0 ответов

Другие вопросы по тегам