The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Патч для ClamAV 0.86.2 и RAR 3 (FreeBSD) (clamav rar compress archive virus)


<< Предыдущая ИНДЕКС Правка src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: clamav, rar, compress, archive, virus,  (найти похожие документы)
From: Денис Морозов <e-theory@narod.ru.> Newsgroups: email Date: Mon, 15 Aug 2005 14:31:37 +0000 (UTC) Subject: Патч для ClamAV 0.86.2 и RAR 3 (FreeBSD) Отредактированно: 18 aug 2005 15:41:22 +000 (UTC) с учетом ошибок указанных в комментариях Задача. Получить работоспособную версию ClamAV 0.86.2 с поддержкой RAR 3 под FreeBSD 4.11 Введение. 24 июля вышла новая версия хорошего антивируснго пакета ClamAV 0.86.2, появилось желание обновиться с более старого 0.80. Так как его предполагалось использовать на почтовом сервере, необходимо было иметь возможность проверки архивов rar версии 3. В архиве рассылки: http://www.mta.org.ua/pipermail/exim-conf/2004-November/000208.html нашлась ссылка на страничку http://mcmcc.bat.ru/clam_rar3.html ,там находился пачт, включающий поддержку rar3 в ClamAV 0.80-4, но с новой версией его поставить не получилось. Воспользовавшись рекомендациями Victor Ustugov, высказанными в рассылке, спустя некоторое время удалось сделать патч и собрать ClamAV 0.86.2 с поддржкой libunrar3. Ниже приведен порядок действий (по сути пересказ указанной статьи с поправками на настоящее состояние дел. Делай раз. Сначала нужно собрать libunrar3, в портах она отсутствует, по этому нужно воспользоваться патчем предоставленным Victor Ustugov, который создаст новый порт, archivers/libunrar3, на основе archivers/unrar, скачает и пропатчит только что созданный порт. (Убедитесь что у вас установлены rsync и wget) #mkdir /usr/ports/archivers/libunrar3 #cd /usr/ports/archivers/libunrar3 #wget http://e-theory.narod.ru/clamav/patch_unrar #wget http://e-theory.narod.ru/clamav/unrar-3.4.3-fix.patch -O/usr/ports/distfiles #sh ./patch_unrarlib В результате, должна быть собрана и установлена библиотека libunrar3. Для дальнейшей успешной сборки clamav нужно внести некоторе изменения в /usr/local/include/libunrar3/dll.hpp, для этого воспользуемся патчем http://e-theory.narod.ru/clamav/patch_dll.hpp #cd /usr/local/include/libunrar3 #wget http://e-theory.narod.ru/clamav/patch_dll.hpp #patch -Np0 <patch_dll.hpp Теперь библиотека полностью готова для дальнейшего совместного использования с clamav. Делай два. Приступим непосредственно к сборке самого антивирусного пакета, нужно пропатчить ClamAV 0.86.2, что бы включить в него поддержку rar 3. Тут, к сожелению, патч находящийся по адресу http://mcmcc.bat.ru/clamav/clamav-libunrar3.patch, к новой версии уже не подошел. А так как на момент написания статью в портах была еще старая версия ClamAV, то я скачал исходники с http://clamav.net/stable.php Посмотрев и немного изменив патч к более ранней версии clamav, я сделал новый. #cd ~/ #wget http://citkit.dl.sourceforge.net/sourceforge/clamav/clamav-0.86.2.tar.gz #tar xzvf clamav-0.86.2.tar.gz #cd clamav-0.86.2 #wget http://e-theory.narod.ru/clamav/clamav-0.86.2-libunrar3.patch #patch -Np1 <clamav-0.86.2-libunrar3.patch #./configure --help #pw useradd clamav -s /sbin/nologin #./configure --with-user=clamav --with-group=clamav #make #make install Пересобрал и установил Clam, проверил свеже упакованный третьим раром mydoom - успешно: $clamscan document.rar document.rar: Worm.Mydoom.AP FOUND SCAN SUMMARY Known viruses: 36088 Engine version: 0.86.2 Scanned directories: 0 Scanned files: 1 Infected files: 1 Data scanned: 0.03 MB Time: 2.620 sec (0 m 2 s) Заключение. Таким образом цель достигнута - вирусы запакованные rar 3 успешно отлавливаются. А значит юзер может спать спокойно ;-) Ссылки. 1.ClamAV 0.86.2 http://www.clamav.net/stable.php 2.Патч для создания и сборки порта libunrar3 http://e-theory.narod.ru/clamav/patch_unrar 3.Патч для libunrar3 http://e-theory.narod.ru/clamav/unrar-3.4.3_fix.patch 4.Патч для dll.hpp http://e-theory.narod.ru/clamav/patch_dll.hpp 5.Патч для ClamAV 0.86.2 http://e-theory.narod.ru/clamav/clamav-0.86.2-libunrar3.patch 6.Копия патчей http://www.opennet.ru/soft/clam_patch

<< Предыдущая ИНДЕКС Правка src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, limit (?), 18:59, 16/08/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Блин у меня стоит 5.3 не работает стартовый скрипт что делать?
     
  • 1.2, Nikolai (??), 19:10, 16/08/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Тогда Вам стОит прописать в /etc/rc.conf
    clamav_clamd_enable="YES"
    clamav_milter_enable="YES"
    clamav_freshclam_enable="YES"

    ;)

     
  • 1.3, PomidorOFF (?), 10:31, 17/08/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Новый патч от автора (Victor Ustugov) лежит здесь:
    http://www.3nity.ru/download.htm?id=68
     
  • 1.4, balamut (?), 10:50, 17/08/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    что-то не создается по этой ссылке archivers/libunrar3/ http://www.mta.org.ua/pipermail/exim-conf/attachments/20041105/272ea044/patch
     
  • 1.5, sdn (?), 11:01, 17/08/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А под Солару можно это поставить ?
     
  • 1.6, Аноним (6), 15:32, 17/08/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Автор сам пробовал по инструкции проделать это?
    Обновил порт, запускаю этот .bin - мурыжит... качает... патч не накладывается, archivers/libunrar3 даже не упоминается в этом шелл-скрипте... Короче, Автор!!! Перепеши статью с учетом как оно должно быть на самом деле, или отзывай ее у Чиркова...
     
     
  • 2.7, Автор (?), 20:02, 17/08/2005 [^] [^^] [^^^] [ответить]  
  • +/
    В статье действительно ошибка, ссылка по которой должен раполагаться скрипт для создания libunrar3 указывает не туда, куда следует. Вместо patch_clamav.bin, конечно же нужно воспользоваться скриптом http://e-theory.narod.ru/clamav/patch-unrar. В остальном, порядок действий данный в статье приводит к желаемому результату. Прошу прощения, за недоразумение.
     
     
  • 3.8, Аноним (-), 01:48, 18/08/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Да нифига подобного...

    1. unrarlib.h - не патчится... Приходится ручками из rej-файла тянуть желаемый результат.
    2. unrarlib.c - так и не соберемся никак в патч прописать
    + #include <stdlib.h>
    перед включением dll.hpp
    3. -lunrar3 в libtool пришлось впихивать руками, иначе не собиралась libclamav.so

    Короче, статья корявая. Как уже говорил - либо переписывай, либо отзывай ее у Чиркова, иначе народ менее сообразительный так и будет плеваться...

    А вот за линк на список рассылки - спасибо, ибо как раз там и были необходимые разъяснения и патчи, плюс твой патч, хоть не полностью, но основную часть выполняет.

     

  • 1.9, liks (??), 18:21, 18/08/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Дамсс.. хотели как лучше, получилось как всегда =)..
    А я делал все как в предыдущей статье на эту тему и все работало =)
     
     
  • 2.10, Автор (?), 20:40, 18/08/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Отредактированная статья уже отправлена владельцу ресурса.
     

  • 1.11, Andre (??), 14:47, 19/08/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Шаг 2 Делал по статье bash-2 05b bash-2 05b patch -Np1 clamav-0 86 2-libun... большой текст свёрнут, показать
     
  • 1.12, Andre (??), 14:50, 19/08/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    потом
    ./configure --with-user=clamav --with-group=clamav
    и make
    И вот что в итоге:
    /usr/bin/ld: cannot find -lunrar3
    *** Error code 1

    Stop in /clamav-0.86.2/libclamav.
    *** Error code 1

    Stop in /clamav-0.86.2.
    *** Error code 1

    Stop in /clamav-0.86.2.

    Что делать?
    Заранее спасибо за ответ.

     
  • 1.13, прохожий (?), 15:25, 19/08/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Либо сказать ldconfig'у где у вас libunrar3:
    ldconfig -m /usr/local/lib
    либо не правильно собрана libunrar3, удостоверьтесь, что в archivers/libunrar3/work/unrar/makefile.unix везде закомментировано #STRIP=strip, хотя патч это везде и так исправляет.
    У меня всё успешно собралось, чего и вам желаю.
     
     
  • 2.14, odin_asb (ok), 16:40, 19/08/2005 [^] [^^] [^^^] [ответить]  
  • +/
    usr ports archivers libunrar3 work unrar makefile unix Makefile for UNIX ... большой текст свёрнут, показать
     
     
  • 3.15, прохожий (?), 21:30, 19/08/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >/usr/ports/archivers/libunrar3/work/unrar/makefile.unix :
    >#
    ># Makefile for UNIX - unrar
    >#
    ># Note: you have to 'make clean' before you can build
    ># the sfx module
    >#
    >
    ># Linux using GCC
    >CXX=g++
    >CXXFLAGS=-O2 -fPIC -DPIC
    >DEFINES=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DGUI -DSILENT
    >STRIP=strip
    >RANLIB=ranlib

    Вот тут нужно поправить
    STRIP=strip на
    #STRIP=strip

    и пересобрать libunrar3

     
     
  • 4.16, odin_asb (ok), 12:48, 23/08/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Проверил... закомментировано... пересобрал. Та же фигня :
    не может найти lunrar3
    PS libunrar3.so есть...
     

  • 1.17, devr (?), 08:16, 25/08/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Маленькие неточности в статье в шаге первом. В статье указано:
    #wget http://e-theory.narod.ru/clamav/unrar-3.4.3-fix.patch -O/usr/ports/distfiles
    #sh ./patch_unrarlib
    У меня получилось только так:
    #wget http://e-theory.narod.ru/clamav/unrar-3.4.3_fix.patch
    #sh ./patch_unrar
    В итоге результат как у odin_asb :(


     
     
  • 2.19, odin_asb (ok), 12:30, 25/08/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Я сделал так:
    wget http://e-theory.narod.ru/clamav/unrar-3.4.3_fix.patch
    и потом перетащил его в /usr/ports/distfiles
    ломало разбираться с опциями wget

    Кстати, у меня freebsd 5.2.1 ... может тут собака порылась?

     
     
  • 3.20, devr (?), 08:11, 26/08/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Не может она там порыться... у меня freebsd 4.9.x
    Я думаю может из-за того, что у меня clamav-0.86.2_1? Ругается при make install кламава.
    Пробывал clamav-0.86.2. На него даже ...-libunrar3.patch не накладывается.
    Извращался целый день, а результат 00000 :(
     

  • 1.18, sclif13 (??), 09:31, 25/08/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как я уже не извращался, но в никакую не хотит он ставиться. Сделайте нормальный патч для портов.
     
  • 1.21, odip (?), 17:50, 15/09/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Однако тяжело порты-то нормальные делать !
    Почему бы не сделать рабочие порты libunrar3 и clamav и выложить именно их ?

     
  • 1.22, Прохожий (??), 11:49, 20/09/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не совсем понимаю, зачем плодить кучу патчей,
    когда McMCC регулярно выкладывает патчи на http://mcmcc.bat.ru/clamav/ ? Автор статьи туда заглядывал?  И еще, почему такой старый libunrar3? Давно уже идет ветка 3.5.х.
     
     
  • 2.23, BubbleGum (?), 11:20, 21/09/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Без BASH'а в системе вылетает с ошибкой (указанной в предыдущих постах) при компиляции clamav. Надо бы отразить в статье...
     

  • 1.24, REN (?), 08:53, 05/10/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    После патча для clamav при его сборке появляется следующее -
    ----
    scanners.c: In function 'cli_scanrar':
    scanners.c:129: 'ArchiveList_struct' undeclared (first use in this function)
    scanners.c:129: (Each undeclared identifier is reported only once
    scanners.c:129: for each function it appears in.)
    scanners.c:129: 'rarlist' undeclared (first use in this function)
    scanners.c:130: 'rarlist_head' undeclared (first use in this function)
    scanners.c:131: syntax error before 'char'
    scanners.c:144: syntax error before ')'
    scanners.c:164: 'mdata' undeclared (first use in this function)
    scanners.c:254: 'RAR_FENTRY_ATTR_DIRECTORY' undeclared (first use in this function)
    scanners.c:269: 'rar_data_ptr' undeclared (first use in this function)
    scanners.c:269: 'rar_data_size' undeclared (first use in this function)
    ----
    Вроде виноват сам патч.
     
  • 1.25, REN (?), 10:35, 05/10/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На FreeBSD 5.3 после всех описанных действий выдается такое:
    ----
    In file included from unrarlib.c:31:
    /usr/local/include/libunrar3/dll.hpp:111: error: syntax error before '*' token
    /usr/local/include/libunrar3/dll.hpp:113: error: syntax error before '*' token
    /usr/local/include/libunrar3/dll.hpp:114: error: syntax error before '*' token
    /usr/local/include/libunrar3/dll.hpp:120: warning: data definition has no type or storage class
    /usr/local/include/libunrar3/dll.hpp:121: error: syntax error before "PASCAL"
    /usr/local/include/libunrar3/dll.hpp:121: warning: data definition has no type or storage class
    /usr/local/include/libunrar3/dll.hpp:122: error: syntax error before "RARCloseArchive"
    /usr/local/include/libunrar3/dll.hpp:123: error: syntax error before "RARReadHeader"
    /usr/local/include/libunrar3/dll.hpp:124: error: syntax error before "RARReadHeaderEx"
    /usr/local/include/libunrar3/dll.hpp:125: error: syntax error before "RARProcessFile"
    /usr/local/include/libunrar3/dll.hpp:126: error: syntax error before "RARProcessFileW"
    /usr/local/include/libunrar3/dll.hpp:127: error: syntax error before "RARSetCallback"
    /usr/local/include/libunrar3/dll.hpp:128: error: syntax error before "RARSetChangeVolProc"
    /usr/local/include/libunrar3/dll.hpp:129: error: syntax error before "RARSetProcessDataProc"
    /usr/local/include/libunrar3/dll.hpp:130: error: syntax error before "RARSetPassword"
    /usr/local/include/libunrar3/dll.hpp:131: error: syntax error before "RARGetDllVersion"
    unrarlib.c: In function 'cli_unrar3':
    unrarlib.c:46: error: syntax error before "hArcData"
    unrarlib.c:89: error: 'hArcData' undeclared (first use in this function)
    unrarlib.c:89: error: (Each undeclared identifier is reported only once
    unrarlib.c:89: error: for each function it appears in.)
    *** Error code 1
     
  • 1.26, resu (??), 19:10, 09/12/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    собрал (на линуксе) новый clamav (0.87.1) с unrar3.
    патч слегка корявый, использует полный путь к dll.hpp (надо было поправить + добавить во всех файлах, где он подключется, #include <stdio.h>)
    а так вроде работает и с новой версией.
    посмотрим...
    желаю удачи.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру