виды вешалок | |
Новости | Программы | Оборудование | Ссылки | Документация | Контакты | About
Описание
    wu-imap - pop/imap сервер. Теперь авторизация работает так - пробуем проверить пользователя 
    через passwd если не получилось то смотрим через sql (если sql не работает то получим ответ сервера
    не верный пароль)
       
    Проверено на FreeBSD 4.7 , mysql 3.23.52.
    
Инсталяция
    1. Копируем файл imap2002b_patched.tar.gz в католог /var/src (кому как нравится)
    2. tar -zxf imap2002b_patched.tar.gz  
    3. Редактируем ./Makefile 
       EXTRALDFLAGS = -lmysqlclient -L/usr/local/lib/mysql (пути где лежит библиотека mysqlclient)
    4. Редактируем ./Makefile  
    5. В файле /src/osdep/unix/sql.c исправить #include "/usr/local/include/mysql.h"
    login sql.host passwd db.name на свои значения 
     .....
    if (!mysql_real_connect(&mysql,"sql.host","login","passwd","db.name",0,NULL,0)) {
     .....
     // Исправить select под свои нужды (поле passwd содержит криптованый пароль ).
    sprintf(tmps,"select login,passwd,home from users where login='%s'",user);
    .....
    6. make bsf ( для FreeBSD)
    7. полученые бинарники готовы к применению.
    
Что поправлено
/Makefile
EXTRALDFLAGS = -lmysqlclient -L/usr/local/lib/mysql

/src/osdep/unix/Makefile:
osdep.o:        osdep.c env_unix.c fs_unix.c ftl_unix.c nl_unix.c tcp_unix.c sql.c \
дописан sql.c

/src/osdep/unix/env_unix.c:
Исправлена фунция pwuser() ( Если пользователь не найден пробуем найти его в sql базе данных )

/src/osdep/unix/log_std.c:  (log_xxx.c где xxx- имя системы (смотри Makefile))
Исправлении фунции loginpw()

/src/osdep/unix/os_bsf.c: (os_xxx.c где xxx- имя системы (смотри Makefile))
Добавлен #include "sql.c" перед #include "env_unix.c"



|