Что такое код icap_delete_event

Что такое код icap_delete_event

Учетной записи не удалось выполнить вход в систему.

Субъект:
ИД безопасности: NULL SID
Имя учетной записи: —
Домен учетной записи: —
Код входа: 0x0

Учетная запись, которой не удалось выполнить вход:
ИД безопасности: NULL SID
Имя учетной записи: ADMINISTRATOR (имена бывают разные,в том числе и имя моей учётки.ПРИМ)
Домен учетной записи:

Сведения об ошибке:
Причина ошибки: Неизвестное имя пользователя или неверный пароль.
Состояние: 0xc000006d
Подсостояние: 0xc0000064

Сведения о процессе:
Идентификатор процесса вызывающей стороны: 0x0
Имя процесса вызывающей стороны: —

Сведения о сети:
Имя рабочей станции: \\59.120.13.196
Сетевой адрес источника: 59.120.13.196 (адреса бывают разные.ПРИМ)
Порт источника: 1796 (порты бывают разные.ПРИМ)

Сведения о проверке подлинности:
Процесс входа: NtLmSsp
Пакет проверки подлинности: NTLM
Промежуточные службы: —
Имя пакета (только NTLM): —
Длина ключа: 0

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

Поля «Субъект» указывают на учетную запись локальной системы, запросившую вход. Обычно это служба, например, служба «Сервер», или локальный процесс, такой как Winlogon.exe или Services.exe.

В поле «Тип входа» указан тип выполненного входа. Наиболее распространенными являются типы 2 (интерактивный) и 3 (сетевой).

В полях «Сведения о процессе» указано, какая учетная запись и процесс в системе выполнили запрос на вход.

Поля «Сведения о сети» указывают на источник запроса на удаленный вход. Имя рабочей станции доступно не всегда, и в некоторых случаях это поле может оставаться незаполненным.

Поля сведений о проверке подлинности содержат подробные данные о конкретном запросе на вход.
— В поле «Промежуточные службы» указано, какие промежуточные службы участвовали в данном запросе на вход.
— Поле «Имя пакета» указывает на подпротокол, использованный с протоколами NTLM.
— Поле «Длина ключа» содержит длину созданного ключа сеанса. Это поле может иметь значение «0», если ключ сеанса не запрашивался

[ Name] Microsoft-Windows-Security-Auditing
[ Guid]

Fullcalendar: How to remove event

Thanks to another post here on StackOverflow, I added some code to my select: method that prevents users from adding an event on a date prior to NOW.

The downside is that when they click on the empty time slot, and the system then complains (an alert message), the attempted event remains. How do I get rid of it? Thanks!

Update: Here’s my code:

3 Answers 3

If you’re using FullCalendar V2, you need to use the removeEvents method.

You can use it to delete events with a certain ID by calling it in this way:

If you want to use your own function that decides whether or not an event get’s removed, you can call it this way:

Использование Squ > 0

Администрирование

Статья была опубликована 1 февраля 2010 года в 00:00, а последний раз правилась 1 февраля 2010 года в 10:46.

Я принимал участие в бета-тестировании icap-демона от Dr.Web, остался им доволен (несмотря на некоторые проблемы, не решенные на этот момент), но финансовая сторона вопроса меня сильно ограничивает, поэтому в очередной раз мой выбор пал на ClamAV.

Использование Squid с помощью ClamAV и c-icap для проверки web-трафика на вирусы

В предыдущей статье («Использование ClamAV для проверки ресурсов Samba 3.0.x в Linux») я описал настройку совместной работы ClamAV и Samba для прозрачной проверки загружаемых файлов. Но Samba — не единственный источник потенциальной вирусной угрозы: обычный web-серфинг представляет собой намного бОльшую угрозу, поскольку является внешним источником опасности (Samba же — внутренний источник). В антивирусной защите следует прежде всего контролировать (проверять) всю поступающую извне информацию, один из источников которой — интернет.

Актуальность защиты Samba-ресурсов (те, кто знаком с Win32.Parite.2, меня прекрасно поймут) также достаточно высока. В этой статье я обратил внимание на проверку web-трафика, проходящего через Squid на вирусы, используя ClamAV и c-icap (с протоколом ICAP можно более подробно ознакомиться на сайте www.i-cap.org). Это наиболее верный способ антивирусной проверки web-трафика. Редиректоры в Squid тоже можно использовать, но при больших нагрузках редиректоры сильно ограничены и не позволяют распределить нагрузку. Кроме того, редиректоры крайне ограничены и в возможности обратного взаимодействия с пользователем.

Я принимал участие в бета-тестировании icap-демона от Dr.Web, остался им доволен (несмотря на некоторые проблемы, не решенные на этот момент), но финансовая сторона вопроса меня сильно ограничивает, поэтому в очередной раз мой выбор пал на ClamAV.

Получение необходимых файлов

Для дальнейших действий понадобится:

  • Исходные коды Squid Proxy Server с поддержкой ICAP. Одну из возможных вариаций можно получить со страницы c-icap — http://sourceforge.net/projects/c-icap, последней на этот момент из этого источника оказалась версия 2.5.STABLE11-20050927 (я использовал версию именно от разработчиков c-icap). Также можно получить Squid с поддержкой ICAP от DrюWeb на download.drweb.com. Первый источник отличен от второго тем, что в первом не исправлена проблема с обрывом закачки клиентом (т.е. прокси-сервер в любом случае скачивает файл до конца, что ведет к расходу трафика).
  • c-icap — демон ICAP — http://sourceforge.net/projects/c-icap, последняя версия на данный момент — c-icap-220505.
  • Последняя версия ClamAV, которую нам предоставляют разработчики этого свободного (GNU GPL) антивируса — www.clamav.net.

Установка и настройка ClamAV

О процессе установки и настройки ClamAV можно более подробно узнать из предыдущей статьи — «Использование ClamAV для проверки ресурсов Samba 3.0.x в Linux (на примере Slackware Linux 10.1)».

Для работы не понадобится работающий демон clamd, так что можете смело пропустить его конфигурирование (clamd.conf), если он не используется или не будет использоваться.

c-icap работает со своим антивирусным модулем, основанным на ClamAV, поэтому нам понадобится наличие в системе libclamav (достаточно установленного обычным способом ClamAV). В случае отсутствия в системе libclamav c-icap просто не соберется.

Установка и настройки c-icap с поддержкой ClamAV

Распакуем архив c_icap-220505.tar.gz в /usr/src (или туда, где у вас лежат исходные коды). Скрипт configure в каталоге с исходниками c-icap следует запускать со следующими параметрами:

Или, например, так, если —prefix=/opt/clamav для configure от ClamAV:

Демон c_icap собирается статически. —prefix также можно указать по вкусу. Можно собирать и сам демон:

Необходимо проверить, все ли верно собралось:

И непосредственно установить c-icap в систему (в тот каталог, который был указан через —prefix):

Теперь необходимо исправить некоторые настройки в c-icap.conf. В случае нашего —prefix=/usr/local/c_icap не трудно догадаться, что конфиги лежат в /usr/local/c_icap/etc.

Рекомендую обратить внимание на следующие параметры:

  • User лучше поставить nobody, поскольку wwwrun, указанный по умолчанию, скорее всего отсутствует в системе.
  • TmpDir /tmp — ваш каталог временных файлов.
  • Далее необходимо настроить ACL — Access Control Lists — список IP-адресов, которые могут использовать данный ICAP-демон:

Так можно определить, откуда разрешен доступ к нашему сервису icap, а откуда — нет. Заметьте, что в данных ACL определяется не список непосредственных клиентов прокси-сервера, а именно список клиентов демона ICAP, т.е. список прокси-серверов (их IP-адреса).

Я составил ACL для случая работы демона ICAP и Squid на одном хосте.

  • srv_clamav.ClamAvTmpDir /tmp — временный каталог для модуля ClamAV.
  • srv_clamav.VirSaveDir /var/infected/ — каталог карантина. Другие аналогичные лучше закомментировать!
  • srv_clamav.VirHTTPServer «DUMMY».

Можно попробовать и так:

— URL скрипта на локальном web-сервере, ссылка на который будет сообщена пользователю в уведомлении о попытке доступа к инфицированному объекту.

Необходимо некоторое пояснение: опция srv_clamav.VirSaveDir может быть задана несколько раз — таким образом, что инфицированные файлы будут сохраняться в множестве мест. Если задать одним из карантинных каталогов корень web-сервера, то можно дать пользователям возможность осознанно скачать инфицированный файл. Остается только воспользоваться файлом contrib/get_file.pl в исходных кодах c-icap.

У меня необходимости в этом не было.

Создайте каталог /var/infected и сделайте его владельцем пользователя nobody (chown nobody /var/infected).

Осуществим пробный запуск c-icap:

Если сообщений об ошибках нет, то стоит убедиться и в том, что c-icap прослушивает нужный сокет:

Если видим нечто похожее на следующую строку, все в порядке:

Оставим демона c-icap работать и перейдем к дальнейшим настройкам.

Установка и настройка прокси-сервера Squid

Распакуем в /usr/src полученный ранее Squid:

Перейдем в каталог с исходниками Squid и запустим configure так:

До запуска configure в Squid от Dr.Web необходимо запустить bootstrap.sh, находящийся в корневом каталоге исходных кодов Squid. Если вы используете Squid от Dr.Web, то обязательно прочитайте документацию из пакета drweb-icapd!

Имеем установленный Squid в /usr/local/squid. Теперь изменим настройки в squid.conf.

Необходимо найти пару строк:

Раскомментировать их и установить собственное значение, вместо 192.168.1.0/24 192.168.2.0/24 (в моем случае пользователи прокси-серверs находились в сети 172.16.194.0/24):

Перейдите в /usr/local/squid/var, создайте каталог cache. Теперь там же выполните команду:

Сменить владельца необходимо по той причине, что демон прокси-сервера будет запущен от пользователя nobody и не сможет писать логи и использовать кэш.

Осталось создать структуру каталогов для кэширования. Перейдите в /usr/local/squid/sbin и выполните:

По умолчанию параметр cache_dir в squid.conf задан так:

Вы можете изменить путь к кэшу (например, если он расположен у вас на другом разделе или жестком диске), и тогда необходимо проверить права на указанный вами каталог.

На данном этапе мы имеем рабочий Squid, но без поддержки ICAP, т.е. обычной кэширующий прокси-сервер.

Более подробно о настройке Squid можно узнать на squid.opennet.ru.

Добавим поддержку ICAP…

Добавление поддержки ICAP в squid.conf

Найдите по слову icap_enable и выставите значение icap_enable on. Найдите по слову icap_preview_enable и выставите значение icap_preview_enable on. Найдите по слову icap_preview_size и выставите значение icap_preview_size 128. Найдите по слову icap_send_client_ip и выставите значение icap_send_client_ip on. Найдите по слову icap_service и добавьте пару таких icap-сервисов:

Найдите по слову icap_class и добавьте такой icap-класс:

Найдите по слову icap_access и добавьте следующие права доступа:

Суммарно для поддержки ICAP в squid.conf должны быть добавлены следующие строки:

На этом минимальное конфигурирование прокси-сервера закончено.

Если все верно, то сообщений в консоли быть не должно.

Добавьте прокси-сервер в вашем браузере (если проксирование не прозрачное) и откройте страницу http://www.eicar.com/anti_virus_test_file.htm.

Попытайтесь скачать файл eicar.com. Если вы видите подобное сообщение: «A VIRUS FOUND …» — значит все верно работает.

Обратите внимание, что кэш прокси-сервера не должен содержать инфицированных объектов! Поэтому перед началом использования Squid совместно с c-icap кэш лучше очистить. Так же учтите, что браузер имеет свой кэш.

Обновление антивирусных баз ClamAV

Добавьте freshclam в crontab. Реинициализация баз c-icap производится каждые srv_clamav.VirUpdateTime минут — этот параметр можно указать в c-icap.conf (по умолчанию, 15 минут).

Файл c-icap.magic и типы проверяемых объектов

Данный файл может быть найден в том же каталоге, что и c-icap.conf. Он представляет собой описание форматов различных групп типов файлов (TEXT, DATA, EXECUTABLE, ARCHIVE, GRAPHICS, STREAM, DOCUMENT — определенные группы в c-icap.magic по умолчанию). Антивирусная проверка строится по типам файлов, проходящих через проски-сервер. Некоторые типы, например, можно исключить или добавить свои типы.

Формат записи строки, для определения файла по его magic-числу (последовательности):

Offset — смещение, с которого начинается Magic-последовательность. Type и Group — тип и группа, к которой следует относить файл с данной magic-последовательностью. Desc — краткое описание, технической нагрузки не несет.

Для примера загляните в c-icap.magic.

Обратите также внимание, что в c-icap.conf параметр srv_clamav.ScanFileTypes определяет группы и типы файлов (можно прописывать и группы, и типы), которые следует проверять. Что определяет srv_clamav.VirScanFileTypes, я окончательно не понял, но подозреваю, что принудительно проверяемые группы файлов (EXECUTABLE и ARCHIVE по умолчанию).

В моем конфиге c-icap вышеописанные параметры выглядят так:

    Squid выдает сообщение ICAP protocol error, страницы не открываются. Проверьте, верно ли вы указали ACL в c-icap.conf, в данном ACL должен быть разрешен доступ не для пользователей, а для прокси-сервера.

Попробуйте завершить процессы Squid и c-icap, а затем запустить их в следующем порядке: сначала c-icap, а затем Squid.

Также такая ошибка может возникать, если демону с-icap не хватает прав на запись в карантинный каталог или в лог-файлы.

Если проблема так и не решилась, то попробуйте запустить Squid с параметрами -d 10 -N -X:

И c-icap c параметрами -N -d 10 -D: Увидите подробную информацию, по которой можно разобраться, что и где не так.
Squid выдает сообщение ICAP protocol error только на некоторых страницах (на одних и тех же).

Проверьте, есть ли у c-icap права на запись в карантинный каталог (а еще лучше сделать владельцем всех карантинных каталогов пользователя под которым запущен c-icap).

Попробуйте запустить c-icap и Squid в режиме отладки (как это сделать, сказано выше).

Также неплохо посмотреть логи c-icap.

Попробуйте снова загрузить объект, на котором возникает ошибка. Возможно вы узнаете намного больше о проблеме и сможете ее решить.

Теперь и web-серфинг защищен от вирусов и прочих вредоносных кодов (в том числе и некоторые эксплоиты для MS IE). Как корпоративное решение для сервера с большой нагрузкой этот метод не опробован, но, думаю, может быть реализован (хотя бы потому, что нагрузку можно распределить на несколько ICAP-серверов). Как решение для небольшой организации — вполне актуально.

И помните, что разработчики пишут на своем сайте:

  • >The Antivirus ClamAV service
  • >This service is under development.

О некоторых принципах работы протокола ICAP на русском можно узнать из руководства DrWeb-ICAP — одна из успешных коммерческих реализаций протокола ICAP. Можно прочесть и RFC 3507.

Что такое код icap_delete_event

Установил Windows 2008 Standart.

Используемые роли: AD, DNS, DHCP

Включил в GPO в политиках безопасности «Аудит входа в систему» = «Успех»

После этого в журнале событий, безопасность, если пользователь авторизуется на рабочей станции сыпятся события такого вида:

4624 Вход в систему 3 раза для одного и того же пользователя, и сразу же, 4634 Выход из системы несколько раз для того же пользователя, который только что зашел на рабочую машину.

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

Ответы

Проанализировал логи и нашел себе костыль как буду делать.

При входе на рабочую станцию генерируется 8 событий. 4 входа 4624 и 4 выхода 4634

При выходе с рабочей станции генерируется 2 события. 1 вход 4624 и 1 выход 4634

При применении или обновлении ГПО генерируется 6 событий. 3 входа 4624 и 3 выхода 4634 (собственно из-за этого при входе и получается 8 событий, так как рабочая станция запрашивает ГПО у КД и видимо что-то еще)

Так как логи аудита безопасности с сервера я лью на линуксовую машину, осталось написать парсер, который будет разгребать события и класть в БД, для удобства обработки.

Сеть гетерогенная, поэтому скрипты при входе и выходе на рабочих станциях мне не подходят.

Функция keybd_event

Функция keybd_event синтезирует нажатие клавиши. Система может использовать такое синтезируемое нажатие клавиши, чтобы создать сообщение WM_KEYUP или WM_KEYDOWN. Вызывает функцию keybd_event программа обработки прерываний драйвера клавиатуры.

Windows NT/2000/XP: Эта функция была заменена. Используйте SendInput вместо нее.

[in] Определяет код виртуальной клавиши. Код должен быть значением в диапазоне от 1 до 254. Полный список см. в статье Коды виртуальных клавиш.

Этот параметр не используется.

[in] Определяет различные виды операций функции. Этот параметр может состоять из одного или нескольких ниже следующих значений.

Флажок

Предназначение

KEYEVENTF_EXTENDEDKEY

Если он установлен, скэн-коду предшествует префиксный байт, имеющий значение 0xE0 (224).

KEYEVENTF_KEYUP

Если он установлен, клавиша была отпущена. Если не установлен, клавиша была нажата.

[in] Определяет дополнительное значение, связанное с нажатием клавиши.

У этой функции нет возвращаемых значений.

Прикладная программа может смоделировать нажатие клавиши PrintScreen , чтобы получить снимок экрана и сохранить его в буфере обмена. Чтобы сделать это, вызовите keybd_event с установленным параметром bVk в VK_SNAPSHOT .

Windows NT/2000/XP: Функция keybd_event может переключить клавиши NUM LOCK, CAPS LOCK и SCROLL LOCK.

Windows 95/98/Me: Функция keybd_event может переключить только клавиши CAPS LOCK и SCROLL LOCK. Она не может переключить клавишу NUM LOCK.

Ниже следующее типовая программа переключает индикатор NUM LOCK, используя функцию keybd_event () виртуальной клавишей VK_NUMLOCK . Требуется Булево значение, которое указывает, должен ли индикатор быть выключен — (ЛОЖЬ (FALSE)) или включен — (ИСТИНА (TRUE)). Та же самая методика может использоваться для клавиши CAPS LOCK ( VK_CAPITAL ) и клавиши SCROLL LOCK ( VK_SCROLL ).

void SetNumLock( BOOL bState )

Что такое код icap_delete_event

Статья перемещена в архив, по причине, что это почти ни у кого не работает.
Если у вас заработает — отпишитесь в форум, вместе с настройками :)

Встала ребром проблема вирусов, которые народ тащил из инета. Внутри локалки, на серваках, и на производительных машинах, стояли антивирусы, но на все машины поставить не было возможности — некоторые машины относительно слабые, на других по сети работали с большими файлами — и народ начинал буянить, когда по две-три минуты приходилось ждать открытия файла — с учётом того, что файл ещё и открывается столько же. Короче, идея была оставить антивири на серваках, и профильтровать всё, что попадает в локалку. С ftp и почтой проблемы не было — для этого был поставлен frox и проверка всей почты. C http всё оказалось несколько сложнее — под squid нашлось несколько решений, все через редиректор — что тоже не очень хорошо, ибо редиректор может быть только один — если я ставлю антивирус, то лишаюсь своей баннерорезалки (которая ещё и порнуху очень шикарно режет). Плюс — у этих решений оказались и свои минусы — траффик прилично возрастал — инет нынче стал динамический, и многие страницы не кэшируются вообще.
Гугление и яндексение дало ключевое слово — icap. В портах его не оказалось:

Чтож. Пока будем ставить антивирь, поищем icap и поконфигурим :) Антивирь — ClamAV:

Выбираем следующие опции:

CURL — можно не выбирать, я его выбрал с прицелом на своё будущее, а моё может отличаться от Вашего :) КОРОЧЕ, в данном случае он не нужен. Надо заметить, что ClamAV тащит за собой приличное чило всяких архиваторов (вернее будет сказать — разархиваторов.) — arc, lha, unarj, unrar, unzip, zoo. Также надо обновить БД антивируса:

clamd нам не нужен — icap работает сам по себе, без clamd, потому его не запускаем. Вообще, неплохо бы обновление засунуть в рутовый кронтаб, раза три-четыре в сутки.
icap берём отсюда. Распаковываем в `мусорную` папку и конфигурим со следующими параметрами:

После чего собираем, проверяем, что насобиралось и устанавливаем:

После инсталляции копируем исходные конфиги, на вcякий случай:

И рихтуем кофиг с-icap до следующего состояния:
/usr/local/etc/c-icap.conf

После чего создаём нужные директории и даём на них права пользователю, от которого будет работать icap:

Также добавляем такие строки в /etc/syslog.conf по необходимости (логов довольно много получается):

После чего можно запускать icap (эти ключи для отладки, обычный запуск без них), после чего проверяем — запустился ли он.

Если почему-то не запустился, то неплохо поставить уровень отладки 10, для максимума подробностей, тогда всё встанет на свои места.
После этого ставим squid из портов:

В окошке выбираем следующие опции (если пересобираете — то перед этим надо запустить `make config` — иначе окошка не будет и он соберётся с прежними опциями):

После установки, рихтуем конфиг сквида:
/usr/local/etc/squid/squid.conf

Для автоматического запуска icap пишем следующий скриптик:
/usr/local/etc/rc.d/icap.sh

Вот и всё. Должно работать. Если не взлетело — пробуем всё в отладочном режиме. Для проверки пройдут ли вирусы — можно сходить сюда, и попробовать скачать файлики, что предложены — в них тестовый вирус. Если всё пучком — вылезет страничка про то, что найден вирус :)
Также надо заметить, что решение это весьма красивое — позволяет строить проверку как на прозрачном, так и на непрозрачном прокси — но при этом достаточно ресурсоёмкое — на тестовой машине (AMD K6-II 450 MHz, 256RAM) уходило 50-60% ресурсов хотя линия у меня дома 160кб и юзер я один. На работе на 2GHz P-IV об 1 гектаре ОЗУ на 8 мегабитной линии, при 30 пользователях тормозов не видно (хотя, все 30 одновременно в инет не лезут).
На `бис` рашил развлечься — русифицировать то сообщение что вылазиет, про вирус — которое врезано намертво в код. Для этого рихтуем строки в файле (в исходниках):
services/clamav/srv_clamav_vir.c

на такие, например:

И в файле services/clamav/srv_clamav.c

После чего пересобираем, и переставляем icap.

Баги, что нашёл (или мои кривые руки): вирусы вида *.com и *.txt не находил до перезагрузки машины. Почему — не знаю. Зато архивы находил. После ребута — всё встало на свои места. Всё находит.
Также баг — неверно определяется ось (в FreeBSD4.11, в 6-ке всё нормально), в итоге приходится править несколько файлов руками, т.к. фрёвый gcc работает несколько иначе, чем в линухах — вылетает ошибка

/usr/libexec/elf/ld: cannot find -lpthread

И приходится шуршать по всем файлам (предварительно сделав ` make clean `) и заменять
— l pthread на -pthread . Файлов немного — штуки 4, и в двух не в одном месте а паре — итого 6 раз.
Из той же оперы (и тоже в 4.11!):

/usr/libexec/elf/ld: cannot find -lgdbm

Лечится точно также как и в предыдущем случае, только мест побольше. Также оно должно стоять (может у Вас просто не установлена):

Надо также заметить, что если на машине включен режим эмуляции линуха — третьей ошибки не будет.

P.S. c-icap появился в портах.

На данный момент (2006-03-28) порт собран неправильно, там на весь каталог /var/log даётся команда по смене пользователя, да ещё и рекурсивно :). Поэтому перед установкой правим файл /usr/ports/www/c-icap/files/pkg-install.in на предмет закомментить такую строку:

Надо просто поставить перед ней решётку, она третья снизу. При установке ставим крестик про ClamAV (он по дефолту уже стоит), и всё. Запускается с теми же настройками, что и в статье. На данный момент уже вышла следующая версия сквида с поддержкой icap — 2.5.STABLE13, с ней эта связка работает более стабильно.

размещено: 2006-01-22,
последнее обновление: 2008-07-09,
автор: lissyara

deviel aka pasha, 2006-02-09 в 19:55:11

#========================================================
вместо скрипта /usr/local/etc/rc.d/icap.sh использую следующий:
#!/bin/sh
/usr/local/bin/c-icap -f /usr/local/etc/c-icap.conf -D
#========================================================
настройки ACL в /usr/local/etc/c-icap.conf у меня пошли такие:
# —— My ACL Rules —— #
acl localhost_options src 127.0.0.1/255.255.255.255 type options
acl localhost_respmod src 127.0.0.0/255.255.225.255 type respmod
acl localhost src 127.0.0.1/255.255.255.255
acl all src 0.0.0.0/0.0.0.0
icap_access allow localhost_options
icap_access allow localhost_respmod
icap_access allow localhost
icap_access deny all

Задам вопрос здесь, настроил, при попытки скачать файло со спробной страницы выдает
>>ОШИБКА
>>Доступ к кэшу запрещён
это так и должно быть?
и еще, отличие от всего этого, я c_icap ставил из портов

:) Там чел, что порт составлял, догадался влепить команду
chown -R cicap:cicap /var/log
Руки надо отрывать за такое. Сам щас сидел, права восстанавливал.

Ищи, где и что не так. У меня завёлся, с теми же настройками что и в статье, после того как все права перевыставил.

ALex_hha, 2006-04-26 в 18:49:25

Уже есть в портах, так что ставим от туда :)

NuN, 2006-05-18 в 13:39:53

Всё стало только , хех наоборот ловит com и txt а zip нет :( И работает только ./c-icap -D -N -d 10 если просто запустить ./c-icap — слетает :(

-|LSV|-, 2006-05-28 в 7:27:15

А как такое лечить?
Error creating mutexError creating mutexCan’t init shared memory.Fatal error, exiting!

Baneff, 2006-06-14 в 17:30:18

> Баги, что нашёл (или мои кривые руки): вирусы вида *.com
> и *.txt не находил до перезагрузки машины. Почему — не
> знаю. Зато архивы находил. После ребута — всё встало на
> свои места. Всё находит.

> Всё стало только , хех наоборот ловит com и txt а
> zip нет :(

У меня аналогично. Проблема в кеше бровзера. Я пытался эти тестовые файлы смотреть до включения c-icap, поэтому те файлы, которые якобы не ловились, бровзер брал из своего кеша, а не тянул через сквида. Чтение файлов с принудительным обновлением моментально привела к тому, что ловиться стало все, что должно.

Отличная статья. Спасибо!

Огромное спасибо за статью!
Долго мучился почему c_icap-030606rc1 не хочет грузить модуль srv_clamav, а вылетает с ошибкой string «service» not found. Заработало только с версией clamav-0.88. Поскольку нужна только библиотека, на хосте остался новый clamav-0.90.

Andrew, 2007-03-12 в 11:04:56

На сайте c-icap http://sourceforge.net/projects/c-icap выложили исправление для ошибки string «service» not found:
New patch for libclamav-1.0.40 and newer 2007-03-04
С ним все работает (c_icap-030606rc1 и clamav-0.90)

Alex, 2007-03-13 в 19:39:02

Пропатчил все работает c_icap-030606rc1 и clamav-0.90 (из портов), только когда натыкается на вирус выдает HTTP Error 403 — Forbidden, и на srv_clamav.VirSaveDir и srv_clamav.VirHTTPServer ни какой реакции.

Ставил всё согласно статьи, но при попытке запустить:

Setting parameter :ClamAvMaxFileSizeInArchive=104857600
Going to search variable ClamAvMaxRecLevel in table srv_clamav
Setting parameter :ClamAvMaxRecLevel=5

can not init loggers. Exiting.

как это можно побороть.

ставил все из портов, при поытке запустить вываливает следующее

Starting c_icap.
Initialization of echo module.
Initialization of url_check module.
Segmentation fault (core dumped)

vasilich, 2007-04-23 в 12:13:21

Если freebsd6.X, то в скрипт configure надо добавить

freebsd6.*)
CFLAGS=»-D_THREAD_SAFE $CFLAGS»
THREADS_LDADD=»-XCClinker -lthr»
THREADS_LDFLAGS=»»

;;
тк clamav на freebsd6.X в портах собирается с lthr.

spmn, 2007-05-11 в 15:49:38

В какой файл добавлять надо? в patch-configure?
Если в него добавляю, то при команде make случается:
===> Applying FreeBSD patches for c-icap-030606_3,1
1 out of 1 hunks failed—saving rejects to configure.rej
File to patch:

И просит какой-то файл. . Что ему надо?

vasilich, 2007-05-15 в 15:56:05

>>В какой файл добавлять надо? в patch-configure?
Добавить в файл /usr/ports/www/c-icap/work/c_icap-030606rc1/configure после выполнения команды make path, потом вернуться в /usr/ports/www/c-icap (cd /usr/ports/www/c-icap) и make install

spmn, 2007-05-16 в 18:41:35

Не помогло :(
Бум ждать новой версии . скорее бы

Demon, 2007-05-18 в 15:34:56

>>выпадает ошибка:
>>can not init loggers. Exiting.
>>и полный стоп!

если делал по статье то сервер стартует с правами узверя squid а папка /var/c-icap имеет права на cicap:cicap делай выводы )

>>Не помогло :(
>>Бум ждать новой версии . скорее бы
была таже проблема обошел так)
ее /usr/ports/www/c-icap/files/path-configure

/////////////////////////////////////////////////////////
— freebsd5.*)
+ freebsd6.*)
## If I understand how all those threading models works correctly
## in FreeBSD I will make an option in configure script
## —with-freebsd-threads=
@@ -19454,9 +19454,9 @@
# THREADS_LDADD=»-llthread -lgcc_r»
# THREADS_LDFLAGS=»-L/usr/local/lib»

-## FreeBSD Standard threads
+## FreeBSD 6.x
— CFLAGS=»-pthread -D_THREAD_SAFE $CFLAGS»
+ CFLAGS=»-D_THREAD_SAFE $CFLAGS»
— THREADS_LDADD=»-XCClinker -lc_r»
+ THREADS_LDADD=»-XCClinker -lthr»
THREADS_LDFLAGS=»»
/////////////////////////////////////////////////////
и все)))) заработало

spmn, 2007-05-19 в 4:45:28

Demon
Все равно:
Setting parameter :ServicesDir=/usr/local/lib/c_icap/
Loading service :echo_module path srv_echo.so
Found handler C_handler for service with extension:.so
Initialization of echo module.
Loading service :antivirus_module path srv_clamav.so
Found handler C_handler for service with extension:.so
Going to initialize srvclamav
Ошибка сегментации(core dumped)

В дополнение хочу поделиться опытом запуска Squid+c-icap+ClamAV в рабочую эксплуатацию на маршрутизаторе офиса из 50 компьютеров.

Итак имеем:
Железо – Intel PIII-1000/512Ram.
ОС — FreeBSD 5.5 Release.

Установка и настройка ClamAV.
Можно установить из портов. Версия на момент написания комментариев – 0.90.3. Когда делаем make – может выдать ошибку и ругнуться:
«On FreeBSD before 6.2 ports system unfortunately can not set default X11BASE by itself so please help it a bit by setting X11BASE=$ in make.conf.
On the other hand, if you do wish to use non-default X11BASE, please set variable USE_NONDEFAULT_X11BASE»
Чтобы это устранить добавляем в /etc/make.conf строку: X11BASE=$ и повторяем сборку.
##
#> cd /usr/ports/security/clamav
#> make
#> make install clean
##
В /etc/rc.conf прописываем строчки:
clamav_clamd_enable= ” NO ” &nbsp # демон clamd для работы c-icap не нужен
clamav_freshclam_enable= ” YES ” # запуск демона обновления антивирусных баз

Хотя если вам не нужен висящий в системе процесс, в предыдущем пункте можно поставить “ NO ” , и запускать обновление баз из крона, добавив в /etc/crontab строчку:
##
0 &nbsp 0,6,12,18 &nbsp * &nbsp * &nbsp * &nbsp /usr/local/bin/freshclam
##
И, разумеется, необходимо настроить конфиг, отвечающий за обновление баз ClamAV — &nbsp /usr/local/etc/feshclam.conf, например так:

##
DatabaseDirectory /var/db/clamav
UpdateLogFile /var/log/clamav/freshclam.log
LogVerbose no
LogSyslog yes
LogFacility LOG_MAIL
DatabaseOwner clamav
AllowSupplementaryGroups no
DatabaseMirror database.clamav.net
MaxAttempts 3
ScriptedUpdates yes
Checks 6
##

Установка и настройка прокси-сервера Squid.
Устанавливаем версию Squid от c-icap: squid-icap-2.5.STABLE12-20051102.
##
#> cd /distfiles/squid
#> tar –xzf squid-icap-2.5.STABLE12-20051102.tar.gz
#> cd squid-icap-2.5.STABLE12-20051102
##
Конфигурить можно по-разному, главное включить поддержку c-icap. Например так:
##
#>./configure —prefix=/usr/local/squid \ &nbsp # путь по умолчанию
&nbsp —enable-ipf-transparent \ &nbsp # поддержка прозрачного прокси
&nbsp —enable-delay-pools \ &nbsp &nbsp # управление ограничением трафика
&nbsp —enable-useragent-log \ &nbsp # журнализовать заголовок Useragent
&nbsp —enable-kill-parent-hack \ &nbsp # помогает сделать shutdown чисто
&nbsp —enable-arp-acl \ &nbsp # возможность использования mac – адреса в ACL
&nbsp —enable-icmp \ &nbsp &nbsp &nbsp # измерять путь до каждого HTTP-сервера
&nbsp —enable-icap-support \ &nbsp # поддержка c_icap
&nbsp —enable-err-language= ” English ” \ # язык сообщений об ошибках
&nbsp —enable-default-err-language=English # язык сообщений об ошибках по умолчанию

#> make all
#> make install
##
Проверяем строки в squid.conf, относящиеся к поддержке c_icap:
##
icap_enable on
# выключаем предпросмотр
# ничего, кроме ошибок я от него не получил
icap_preview_enable off
icap_preview_size 128
icap_send_client_ip on
icap_service service_avi_req reqmod_precache 0 icap://localhost:1344/srv_clamav
icap_service service_avi respmod_precache 1 icap://localhost:1344/srv_clamav
icap_class class_antivirus service_avi service_avi_req
icap_access class_antivirus allow all
##
Если вы настраиваете Squid в первый раз, рекомендую сначала выключить поддержку c_icap (icap_enable off), отстроить работу прокси, и только потом подключать c_icap.

Вот и все.
Решение работает достаточно устойчиво, что является еще одним подтверждением разумности данного подхода.

Clamav не захотел собираться, пришлось руками в маке файлах в местах указания CFLAGS дописать опции -lbind -L/usr/lib
наверняка есть более правильный способ, но я за 3 дня смог победить его тока так, фряха к стати 5.4.

mikola, 2007-07-03 в 12:27:31

c-icap уже есть в портах /usr/ports/www/c-icap

SergSS, 2007-10-10 в 19:47:39

Включаю в сквиде icap и сё. висит.(

FreeBSD 6.2-RELEASE #0: Fri Jan 12 11:05:30 UTC 2007
Squid Cache: Version 3.0.PRE7+PatchSets-20070919
icap ставил и из портов и с оффа.

Вот такой у мну вывод sockstat почему-то.
#>sockstat | grep icap
squid c-icap 99182 5 tcp4 *:1344 *:*
squid c-icap 99181 5 tcp4 *:1344 *:*
squid c-icap 99180 5 tcp4 *:1344 *:*
squid c-icap 99179 5 tcp4 *:1344 *:*

Почему нет строчек с датаграммами: .
squid c-icap 33144 4 dgram -> /var/run/logpriv

Лог icap server:
Wed Oct 10 21:04:07 2007, general, Waiting for a request.
Wed Oct 10 21:04:07 2007, general, Waiting for a request.
Wed Oct 10 21:04:07 2007, general, Waiting for a request.
Wed Oct 10 21:04:07 2007, general, Child 97274 getting requests now .
Wed Oct 10 21:04:07 2007, general, Waiting for a request.
Wed Oct 10 21:04:07 2007, general, Waiting for a request.
Wed Oct 10 21:04:07 2007, general, Waiting for a request.
Wed Oct 10 21:04:07 2007, general, Waiting for a request.
Wed Oct 10 21:04:07 2007, general, Waiting for a request.
Wed Oct 10 21:04:07 2007, general, Waiting for a request.
Wed Oct 10 21:04:08 2007, general, Server stats:
Childs:3
Free servers:9
Used servers:0
Requests served:0
Wed Oct 10 21:04:09 2007, general, Server stats:
Childs:3
Free servers:9
Used servers:0
Requests served:0
.
Wed Oct 10 21:04:46 2007, general, Server stats:
Childs:3
Free servers:8
Used servers:1
Requests served:0
Wed Oct 10 21:04:47 2007, general, Server stats:
Childs:3
Free servers:8
Used servers:1
Requests served:0
.
Wed Oct 10 21:04:51 2007, general, Error parsing headers :(0)
Wed Oct 10 21:04:51 2007, general, Process request timeout or interupted.
Wed Oct 10 21:04:51 2007, general, Waiting for a request.
Wed Oct 10 21:04:52 2007, general, Server stats:
Childs:3
Free servers:9
Used servers:0
Requests served:0
Wed Oct 10 21:04:53 2007, general, Server stats:
Childs:3
Free servers:9
Used servers:0
Requests served:0

Совсем мозг сломал уже)

У меня аналогичная ситуация:
Вот такой у мну вывод sockstat почему-то.
#>sockstat | grep icap
squid c-icap 99182 5 tcp4 *:1344 *:*
squid c-icap 99181 5 tcp4 *:1344 *:*
squid c-icap 99180 5 tcp4 *:1344 *:*
squid c-icap 99179 5 tcp4 *:1344 *:*

И в логах:
general, Error parsing headers :(0)
Может ктото розобрался?

andrew, 2007-12-26 в 17:06:01

какая версия icap?

С последними версиями C-ICAP 180407 и squid-3 c отключением
preview РАБОТАЕТ. Машина 2Xeon 4MB, RAM4 GB RAM, дискиSATA.
FreeeBSD-7.0PRERELEASE.

vasilich, 2008-01-29 в 15:30:42

To Sam: А если в консоли набрать Ctrl+C, c-icap 180407
не выгружается из памяти, на оф. сайте этот случай описан.

mrlexy, 2008-01-29 в 17:20:28

пробовал обуздать icap, так и не победил, то здесь вывалется — то там отвалится, поставил связку squid+havp+clamd, четенько все работает даже при учете того, что havp в соседней клетке (jail) сидит.

to vasilich:
а с какой целью Ctrl+C?
я c_icap скриптом запускаю от версии из портов

squid+havp+clamd -пробовал — тоже ничего
но мне логи нужны от squida — с havp получается, что все
под одним IP ходят. Хотя я может чего-то недосмотрел

mrlexy, 2008-01-30 в 10:27:25

Sam> с havp получается, что все
под одним IP ходят. Хотя я может чего-то недосмотрел
по другому цепочку построй — сначала squid, потом havp

# были проблемы с авторизацией по сессиям/печенькам
# на некоторых сайтах, здесь их можно зарулить без каскада
hierarchy_stoplist host_to_path_thru

# здесь указываем хост/порт havp
cache_peer HAVP.HOST parent 8080 0 no-query

# использовать сначала havp
prefer_direct off

в данной конфигурациии не валится даже если сдох havp, просто все идет только через squid

единственно, немного тоскливо искать заразника, примерно так:

# tail /var/log/havp/access.log
29/01/2008 15:35:33 192.168.x.x GET 200 http://meddesk.ru/ 284+56791 VIRUS Clamd: Exploit.IFrame.Gen-1

# cat /var/squid/logs/access.log | grep ‘http://meddesk.ru/’
1202010133.246 823 192.168.y.y TCP_MISS/200 3431 GET http://meddesk.ru/ — FIRST_UP_PARENT/mail.office.atl text/html

где 192.168.y.y — IP? с которого была попытка доступа к зараженной странице

vasilich, 2008-01-30 в 12:01:32

To Sam: Вопрос в том, что просматривать любой лог,
например, tail -f /var/lol/maillog, а потом дать в
консоли Ctrl+C, c-icap успешно перехватывает этот сигнал и прекращает работу. Из-за этого перешли на
squid+havp+libclamav+squid. Работает успешно.

mrlexy, 2008-01-30 в 12:09:51

2 vasilich:
сначала тоже пробовал на libclamav, но он грузит систему больше чем clamd, как следствие куча форкнутых havp’ов в процессах.

vasilich, 2008-01-30 в 12:49:09

To mrlexy: Спасибо за подсказку, а то shared memory растет дико и ругань в kernel.log и messages:
Jan 25 10:00:03 mail kernel: collecting pv entries — suggest increasing PMAP_SHPGPERPROC
Лечил PMAP_SHPGPERPROC=230 в конфигурации ядра.

to vasilich:
удаленно или прямо на серваке?

vasilich, 2008-01-30 в 15:30:45

To Sam: я работал удаленно через ssh-сессию, вот ссылка, где я описал эту ситуацию [url=http://sourceforge.net/tracker/index.php?func=detail&at >

ГРАЖДАНЕ! А вы не обратили внимание как вас несёт нехило.

та ладно.
Любимая тема всех времён и народов — ИКАП =)
Изредка он у кого-то заработает — обсуждения на месяцы потом =)))
===========
А вот гражданам обсуждающим — форум для чего придуман?
И обсуждение ваше по почте читает полторы сотни человек подписанных на комменты сайта. Не думаю что оно всем интересно.

Andrew, 2008-04-10 в 9:41:42

Тут на форуме товарищ alive правильно указал:
>Re: c-icap
> alive 2008-03-22 18:24:57
>
>c-icap качать надо с оффсайта и ставить вручную..
>./configure —enable-static —with-clamav=/usr/local — prefix=/usr/local && make && make install
>с порта только rc скрипт выдрать не помешает.
>я так подозреваю что в порте ошибка мейнтейнером допущена

скачал c_icap-180407.tar.gz, собрал ручками, и он нормально заработал с clamav-0.92.1.tar.gz из портов.

Так что красный текст в шапке можно поправить на что-то вроде: » работает, но после танцев с бубном » :)

А так реально глючноватый этот c-icap. Я его где-то год назад поставил, так он у меня после этого www.price.ru отказался открываться. Всё остальное открывается, а price.ru — нет. Пришлось исключить его из антивирусной проверки. Новый с-icap похоже чуть получше — сайт открывает, но ошибка в squid-е всё равно проскакивает (не только про этот сайт):
2008/04/10 12:27:00| comm_call_handlers(): WARNING defer handler for fd=29 (desc=http://www.price.ru/bin/price/prodlist?curr=2&base=1&pnam=flash) does not call commDeferFD() — backing off manually

Было дело, здесь делился опытом по настройке i-cap (пост выше). Но разочаровался. Нестабильная вещь или просто мне не повезло ;-). Поставил SQUID+HAVP и забыл о проблеме вирусов по HTTP.

Внесу свои 5 копеек.

Сперва ставил c-icap из порта (freeBSD7), пересобрал Сквид с потдержкой icap. ничо не заработало!
2 дня парился, хотя особой нужды в clamav на страже офисного HTTP трафика не вижу, т.к. стоит Нортоновский Сервер. просто хотелось попробовать!

2м шагом было скачать с сайта проекта c-icap исходники и самого c-icap и Сквида 2.5-icap, всё встало, но не заработало. выдавало в лог
Error creating mutexError creating mutexCan’t init shared memory.Fatal error, exiting!

в Итоге. скачал я последний на тот момент сквид (05222008) и всё вроде заработало, писало тока warning на то что к icap_class не можно прикручивать сразу 2 сервиса. чтож сделал 2 класса.
Ну и. всё заработало, тестовый вирус ловит. ошибку 403 в IE поправил правкой сорсов + русифицировал выводимое предупреждение.

З.Ы. но от всего этого хозяйства пришлось отказаться до лучших времён, т.к. на машине где всё это крутится (Cel2600\256) c-icap откушивает 90-95% процессорного времени при количестве пользователей 15 чел.

два дня настраивал, сделал пашет, пока без вылетов.
взял последние исходники icap с офсайта, clamav 0.93.3 из портов, и squid3.0 stable7 так же из портов.
брал потому что HAVP не очень привлекает т.к. squid с ним общается как с parent proxy. в остальном пока рад.

zersh, 2008-07-11 в 16:15:54

делал подобную связку на нескольких серверах, все работает ловится и без проблем!

Для тех у кого узкий канал в мир, к примеру 256kbps
рекомендую поиграться с параметрами icap’a
у себя выставил:
srv_clamav.StartSendPercentDataAfter 256K
так же советовал бы поиграться с остальными параметрами, сказывается при закачке файлов.

Проделал в точь как описал hopeful. Никаких проблем при сборке не возникло.
OC:
[root@piton

/src/squid-icap-2.5.STABLE12/src]# uname -a
FreeBSD piton 6.2-RELEASE-p7 FreeBSD 6.2-RELEASE-p7 #0: Sat Jan 5 09:39:15 MSK 2008 root@piton:/usr/obj/usr/src/sys/P
ITON-KERNEL i386
[root@piton

/src/squid-icap-2.5.STABLE12/src] #
c-icap: 060708 &nbsp July 6, 2008
squid: squid-icap &nbsp 2.5.STABLE12-20051102 &nbsp November 3, 2005

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

Storoge, 2008-12-16 в 17:17:32

Я тоже поставил взятый с сайта c-icap 060708, а squid у меня squid-3.0.10. Единственный нюанс:если делать по статье, то при запуске squid пишет WARNING: Multiple ICAP services per icap_class are not yet supported. See Squid.
Я сделал так:
icap_service service_avi_req reqmod_precache 0 icap://localhost:1344/srv_clamav
icap_service service_avi respmod_precache 1 icap://localhost:1344/srv_clamav
icap_class class_antivirus service_avi_req
icap_class class_antivirus2 service_avi
icap_access class_antivirus allow all
icap_access class_antivirus2 allow all

И все нормально заработало.

zersh, 2010-05-31 в 16:21:41

для связки
Squid-3.1.0.17 + c-icap-060708_1,1 (7.3-RELEASE)
в squid.conf нужно прописать следующее:

icap_enable on
icap_preview_enable on
icap_preview_size 128
icap_send_client_ip on
icap_send_client_username on
icap_service service_req reqmod_precache bypass=1 icap://localhost:1344/srv_clamav
adaptation_access service_req allow all
icap_service service_resp respmod_precache bypass=1 icap://localhost:1344/srv_clamav
adaptation_access service_resp allow all

AlexRay, 2012-04-06 в 14:26:09

Заработало без особых проблем. Ставил из портов.
Squid-3.1.0.19 + c-icap-060708-2,1 (9.0 RELEASE)

с-icap.conf:
PidFile /var/run/c-icap.pid
CommandsSocket /var/run/c-icap/c-icap.ctl
Timeout 300
KeepAlive On
MaxKeepAliveRequests 300
KeepAliveTimeout 600
StartServers 3
MaxServers 10
MinSpareThreads 10
MaxSpareThreads 30
ThreadsPerChild 10
MaxRequestsPerChild 0
Port 1344
User squid
Group squid
TmpDir /var/tmp
MaxMemObject 131072
ServerLog /var/log/c_icap/server.log
AccessLog /var/log/c_icap/access.log
DebugLevel 3
ModulesDir /usr/local/lib/c_icap
Module logger sys_logger.so
sys_logger.Prefix «C-ICAP:»
sys_logger.Facility local1
Logger sys_logger
acl localsquid_respmod src 127.0.0.1 type respmod
acl localsquid src 127.0.0.1
acl externalnet src 0.0.0.0/0.0.0.0
icap_access allow localsquid_respmod
icap_access allow localsquid
icap_access deny externalnet
ServicesDir /usr/local/lib/c_icap
Service echo_module srv_echo.so
Service url_check_module srv_url_check.so
Service antivirus_module srv_clamav.so
ServiceAlias avscan srv_clamav?allow204=on&sizelimit=off&mode=simple
srv_clamav.ScanFileTypes TEXT DATA EXECUTABLE ARCHIVE GIF JPEG MSOFFICE
srv_clamav.SendPercentData 5
srv_clamav.StartSendPercentDataAfter 2M
srv_clamav.MaxObjectSize 5M
srv_clamav.ClamAvTmpDir /var/tmp
srv_clamav.ClamAvMaxFilesInArchive 0
srv_clamav.ClamAvMaxFileSizeInArchive 100M
srv_clamav.ClamAvMaxRecLevel 5

squid.conf:
icap_enable on
icap_preview_size 128
icap_send_client_ip on
icap_send_client_username on
icap_service service_req reqmod_precache bypass=1 icap://localhost:1344/srv_clamav
adaptation_access service_req allow all
icap_service service_resp respmod_precache bypass=1 icap://localhost:1344/srv_clamav
adaptation_access service_resp allow all

Применяю c-icap примерно с января 2009 года.
По этой статье (в то время+что-то еще почитать пришлось).
Собрано несколько площадок с повязкой vpn через ракун2.
Нагрузка sendmail,squid,racoon2,dummy,voice-ip и т.д. (около 150 портов на каждом сервере) в офисах 15-20 человек.
Нареканий особых и проблем нет.

Первоначальная машина P-II 233 Asus P2B 320Мб RAM.
Потом, через год добавил память до 512Мб и процессор поменял на 266.
Все регулярно обновлялось (версия системы, мир, порты. )
Весной 2012 года пришлось заменить железо. Как-никак комп был изначально куплен в феврале 1998 года и пошли микротрещины на материнке.

На новом железе вылезла фишка:
Чтобы систему не переустанавливать все делалось переносом.
Винт (80Гб но в режиме 32Гб, иначе биос виснет на старом компе) подключался к новому серваку через платку переходник IDE->SATA.
Потом банально все перенесено на новый винт.
Все работало.
Потом перекомпилирован мир на SMP.
Все работало.
Потом перекомпилирован мир на x64 (adm64).
Все работало.
Потом перекомпилированы все порты.

И вот после последнего действия c-icap сказал КРЯ в виде ошибки протокола icap (подробности опускаю).

Не найдя решения (а надо сказать на сайте автора я нашел такую ошибку как возникла у меня, но найденные рекомендации ни к чему не привели, а трабл у него висит открытым уже несколько лет) был просто поднят c-icap на другой машине и привязан через сокет.
Полет полгода нормальный.

Следущая фишка возникла после июня 2012, когда вышла новая версия c-icap-0.2.1_1,2.
В этой версии введена модульность и проверка на вирусы через clamv ушла в модуль. Причем при переустановке об этом ни слова, ни гу-гу.
Результат — не забудьте после обновления доустановить /usr/ports/www/c-icap-modules .
Обратите внимание что при установке порта c-icap надпись «Build with srv_clamav service» теперь отсутствует, но это никак не мешает.

В новой версии пользователь меняется с cicap на c_icap .
И меняются названия библиотек с srv_clamav на virus_scan .
Старый конфиг нужно переименовать, перекинуть из /usr/local/etc в /usr/local/etc/c-icap .
А в новый перенести свои параметры. Так проще будет.
В новом /usr/local/etc/c-icap.conf добавить инклуд (как сделать написано в /usr/local/etc/virus_scan.conf).
Поменять в /etc/rc.conf соответственно ссылку на новое место конфига.
Логи тоже теперь передвинулись в каталог /var/log/c-icap .
Да и еще фишка, не знаю у кого как, но в новом конфиге от (теперь уже) модуля /usr/local/etc/c-icap/virus_scan.conf есть параметры virus_scan.UseClamd off и virus_scan.ClamdSocket
Пришлось закомментировать их иначе c-icap не запускался.
Комментариев теперь в конфиге намного больше.
В общем причесали c-icap.
В общем и целом мне очень нравится.


2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов. 2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540 2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма 2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh 2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ 2011-06-15, -ZG-
Охранная система на FreeBSD+LPT
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией. 2011-03-13, terminus
ng_nat
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat 2011-02-20, Капитан
Nagios+Digitemp
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp. 2011-02-17, Le1
Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл. 2011-02-16, fox
hast carp zfs ucarp cluster
HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления… 2011-02-04, BlackCat
Восстановление ZFS
История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий. 2011-02-03, Капитан
1-Wire
Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp. 2011-01-28, Капитан
Температура в серверной
Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG 2011-01-21, m4rkell
Syslog server
Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк 2011-01-07, lissyara
Canon/gphotofs
Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты. 2010-12-13, Al
IPSec
Описание принципов работы IPSEC и способов аутентификации. 2010-12-07, manefesto
FreeBSD on flash
Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =) 2010-12-05, Fomalhaut
root ZFS, GPT
Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы — ZFS 2010-09-05, Cancer
Настройка аудиоплеера на ximp3
Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к 2010-08-31, Cancer
Установка и настройка OpenVPN
На днях появилась задача — объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах. 2010-08-25, manefesto
freebsd lvm
Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела 2010-04-30, gonzo111
proftpd file auth&quota
Proftpd — квоты и авторизация из файлов, без использования базы данных и/или системных пользователей 2010-04-22, lissyara
tw_cli
Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email. 2010-04-14, fox
MySQL Master+Master
MySQL (Master Master) and (Master Slave) Как настроить репликацию… 2010-03-09, terminus
DNS zones
Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон. 2010-03-09, aspera
Squid+AD (group access)
Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы 2010-03-02, BlackCat
Шлюз: Часть 4
Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org. 2010-03-01, BlackCat
Шлюз: Часть 3
Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов. 2010-03-01, BlackCat
Шлюз: Часть 2
Конфигурация МСЭ pf для проброса портов с изменением порта назначения и без, а так же поддержки активного режима FTP и ограничения максимального размера сегмента 2010-03-01, BlackCat
Шлюз: Часть 1
Быстрая настройка шлюза/маршрутизатора с установлением PPPoE-соединения, поддержкой NAT и DNS-forwarding. 2010-02-23, Morty
darkstat
Простая считалка траффика, со встроенным веб-сервером. Очень маленькая, может делать отчеты трафика по хостам, портам, протоколам, а также строить графики 2010-01-23, gonzo111
squid+sams+sqstat
Пилим squid и sams — примеры конфигов с объяснениями. Установка SqStat. 2009-12-19, schizoid
mpd5 + radius + ng_car + Abills
Настройка pppoe-сервера с биллинговой системой Abills и шейпером ng_car 2009-11-16, lissyara
UFS->ZFS
Удалённая миграция с UFS на ZFS. Загрузка с раздела zfs. Настройка для работы с малым количеством памяти под архитектурой i386. 2009-11-13, gx_ua
fusefs-ntfs
Установка, настройка и использование fusefs-ntfs, драйвер NTFS, предназанченного для монтирования NTFS разделов под FreeBSD 2009-11-12, Morty
LiveCD
Создание собственного LiveCD с необходимыми вам изменениями, автоматизирование данного процесса, а так же вариант скоростной сборки СД. 2009-09-27, lissyara
Samba как PDC
Контроллер домена — аналог M$ NT4 домена под самбой, без использования LDAP и прочей хиромантии. Просто и быстро =) 2009-08-30, terminus
ipfw nat
Подробное руководство по ipfw nat, сложные случаи конфигурации. 2009-08-24, levantuev
HotSpot
Установка Hotspot системы в общественное заведение. 2009-08-18, lissyara
diskless
Создание бездисковых терминалов под управлением FreeBSD — с загрузкой по сети. Используются для старта rdesktop и подключения к виндовому серверу терминалов. 2009-07-29, BAV_Lug
Видеонаблюдение
Настройка бюджетного варианта видеонаблюдения на удаленном объекте 2009-07-22, Cancer
OpenLDAP адресная книга
Настройка и создание адресной книги на базе OpenLDAP + phpLDAPadmin 2009-06-30, SergeySL
AimSniff
Руководство по созданию системы мониторинга ICQ-переписки на базе AimSniff, использующей базу данных MySQL для хранения и Web-интерфейс WAS (Web Aim Sniff) для просмотра перехваченных сообщений 2009-06-25, atrium
Управление правами доступа
Полномочия пользователей и файлов, принадлежащих им, формирует концепцию ОС UNIX. 2009-06-16, DNK
Exim+PgSQL
Установка почтовой системы exim+pgsql на FreeBSD 7.1 2009-05-30, mvalery
HDD(mbr) -> HDD(gpt)
Как разбить диск размером более 2TB на разделы, сделать загрузочным, а затем перенести на него информацию с рабочей системы — донора. 2009-05-22, Cancer
SendXMPP
Отправка сообщений на Джаббер сервер по средствам SendXMPP 2009-05-11, Raven2000
Network UPS Tools
Network UPS Tools представляет собой набор программ, которые обеспечивают общий интерфейс для мониторинга и администрирование UPS оборудования.
вверх

Статистика сайта
Сейчас на сайте находится: 12 чел.
За последние 30 мин было: 58 человек
За сегодня было
2988 показов,
359 уникальных IP

Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

Проблема Squid+C-icap+ClamAV

Все новые темы

newser

Зарегистрирован: 08.04.2004
Пользователь #: 16,366
Сообщения: 14727

Голоса: 97

Добавлено: Пн 16 Авг, 2010 19:02 Заголовок сообщения:
_________________
Модератор разделов » Unix » и » Unix для новичков «.
Правила (ППВР) разделов можно прочитать здесь.
Вернуться к началу
MasTiCorE
Активный участник

Зарегистрирован: 10.05.2006
Пользователь #: 36,859
Сообщения: 860

Голоса: 1

Добавлено: Пн 16 Авг, 2010 19:05 Заголовок сообщения:
Вернуться к началу
-tays-
Участник форума

Зарегистрирован: 27.01.2010
Пользователь #: 84,680
Сообщения: 163

Голоса: 1

Добавлено: Пн 16 Авг, 2010 19:06 Заголовок сообщения:
Вернуться к началу
-tays-
Участник форума

Зарегистрирован: 27.01.2010
Пользователь #: 84,680
Сообщения: 163

Голоса: 1

Добавлено: Вт 17 Авг, 2010 12:46 Заголовок сообщения:
Вернуться к началу
beza
Новичок

Зарегистрирован: 08.12.2005
Пользователь #: 30,961
Сообщения: 60

Добавлено: Вт 17 Авг, 2010 13:37 Заголовок сообщения:
Вернуться к началу
-tays-
Участник форума

Зарегистрирован: 27.01.2010
Пользователь #: 84,680
Сообщения: 163

Голоса: 1

Добавлено: Вт 17 Авг, 2010 14:09 Заголовок сообщения:
Вернуться к началу
MasTiCorE
Активный участник

Зарегистрирован: 10.05.2006
Пользователь #: 36,859
Сообщения: 860

Голоса: 1

Добавлено: Вт 17 Авг, 2010 16:08 Заголовок сообщения:
Вернуться к началу
-tays-
Участник форума

Зарегистрирован: 27.01.2010
Пользователь #: 84,680
Сообщения: 163

Голоса: 1

Добавлено: Вт 17 Авг, 2010 18:32 Заголовок сообщения:
Вернуться к началу
MasTiCorE
Активный участник

Зарегистрирован: 10.05.2006
Пользователь #: 36,859
Сообщения: 860

Нужно ли обнулять указатель после использования оператора delete?

Нужно ли обнулять указатель после использования оператора delete ? Или же он, в отличие от функции malloc , обнуляет указатель самостоятельно?

И что насчет удаления указателя в следующем коде:

Нужно ли удалять указатель, как в третьей строчке? Если нет, то я так понимаю, что необходимо его обнулить, как в четвертой?

4 ответа 4

Данный код имеет неопределенное поведение, так как имеет место попытка дважды удалить память, адресуемую указателем a , причем во второй раз используется неверный оператор удаления.

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

так как можно вызывать операторы delete и delete[] для null -указателей.

Однако тем самым вы маскируете потенциальную ошибку в вашей программе. Возможно, что ваша программа работает неправильно и, действительно, пытается по крайней мере дважды удалить ту же самую область память. Если вы присвоите указателю значение nullptr , то вам будет сложно обнаружить данную ошибку.

Аргумент в пользу присваивания значения nullptr состоит в том, что если у вас указатель равен nullptr , то вам будет легко обнаружить попытку обращения к памяти с использованием этого указателя. Однако на самом деле это не всегда так. Например, операционная система z/OS на IBM mainframe позволяет читать память, используя null-указатель. Она лишь не разрешает записывать данные по такому указателю. Поэтому, опять-таки, присваивая значение nullptr указателю, вы можете замаскировать ошибку, когда вы будете обращаться к памяти на чтение по нулевому адресу. По-моему опыту такую ошибку часто совершают C программисты, работающие на IBM mainfarme , когда используют стандартные строковые функции из библиотеки , вызывая, например, функцию сравнения строк strcmp , когда один из указателей равен NULL . В результате программа имеет неопределенное поведение. Но обнаружить такую ошибку очень сложно.

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

Так что универсального правила нет. Желательно делать так, чтобы время жизни переменной, обозначающей указатель, совпадало с временем жизни памяти, на которую он указывает. В этом случае нет никакого смысла присваивать указателю значение nullptr , так как указатель прекращает свое существование одновременно с удалением адресуемой им памятью.

Чаще всего вы можете встретить код, где используется либо инициализация указателя нулем, либо присвоения ему null-значения в старых C программах, так как ранее, до принятия стандарта C99, переменные можно было объявлять только в начале блоков кода. Поэтому между объявлением указателя и его использованием или между удалением памяти, адресуемой указателем, и прекращением жизни самого указателя очень часто имелось много строк кода, которые трудно охватить одним взором исходного текста. Поэтому присвоение указателям значения NULL , позволяло читающим код легче разобраться в логике работы той или иной громоздкой функции.

В настоящее время вы как в C, так и в C++ можете объявлять переменные в любом месте блока кода, а потому можете сужать время жизни переменных до той части кода, где они непосредственно используются. А потому большой надобности присваивать нулевого значения «отработавшему» указателю уже нет.

Старайтесь объявлять переменные в наименьшей области объявления там, где они непосредственно используются. чтобы не было «подвисших» переменных, о которых нельзя сказать, используются ли они еще где-либо в коде, или они уже больше не используются.

Кроме того в C++ есть так называемые умные указатели, а также соответствующие контейнеры, которые сами заботятся об удаление уже не используемой памяти. Выделение и удаление памяти «вручную» чревато возникновению ошибок в программе.

Что такое код icap_delete_event

Ответчики управления воздушным движением (УВД) предназначены для автоматической передачи авиадиспетчеру информации, необходимой для управления движением летательного аппарата (ЛА). Ответчики передают сигналы ответа на запросные сигналы, излучаемые вторичными радиолокаторами (или встроенными вторичными каналами обзорных радиолокаторов) и составляют вместе с последними систему вторичной радиолокации.

Они отвечают на запрос вторичного локатора диспетчерской службы четырёхзначным кодом. Этот код (squawk code) предварительно выдается диспетчером и выставляется пилотом судна на панели управления ответчиком (если диспетчер не выдал пилоту код, то в этом случае выставляется стандартный: 7000 — код полета по Европе и 1200 — код полета по Америке). Диспетчер на мониторе локатора видит отметку о положении воздушного судна вместе с кодом.

Существует несколько специальных кодов (squawk code).

  • 7700 Авария или другая нештатная ситуация на борту
  • 7600 Потеря связи
  • 7500 Захват самолета

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

Различают три типа ответчиков:

  • ответчики типа I предназначены для работы с запросными кодами ЗК1-ЗК4 (то есть с кодом УВД стран СНГ);
  • ответчики типа II реагируют на запросные коды, принятые ICAO;
  • ответчики типа III могут использовать как код УВД, так и международный код, и имеют два основных режима работы: «УВД» и «RBS».

В некоторых ответчиках предусмотрен также режим работы с вторичными посадочными радиолокаторами.

Ответчик режима А — ответчик, способный выдавать только четырёхзначный код. Существенным недостатком таких ответчиков считается отсутствие информации о высоте полёта воздушного судна.

Ответчик режима С был разработан для устранения недостатка ответчика режима A и передаёт следующие данные:

  • четырёхзначный код;
  • барометрическую высоту по стандартному давлению без коррекции.

Ответчик режима А+С, иногда называемые RBS, в США является обязательным при полётах выше 10 000 футов (3 км) и в пределах 30 миль вокруг больших аэропортов.

Ответчик режима S решает проблему зашумлённости эфира — передаёт данные только в том случае, если эфир свободен. Проблема актуальна при наличии большого количества ЛА, например, в зоне аэропорта. Эти ответчики дополнительно передают в эфир:

  • бортовой номер;
  • позывной;
  • заводской номер ответчика;
  • высоту полёта ВС;
  • скорость;
  • GPS координаты.

Ответчики режима S в зависимости от набора передаваемых параметров делят на:

  • ELS (ELementary Surveillance);
  • EHS (EnHanced Surveillance).

В Европе ELS является обязательным для всех ЛА, а EHS требуется при полётах в верхнем воздушном пространстве и для тяжёлых самолётов.

Коды аэропортов мира — смысл кодировки и примеры

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

Купив билет, каждый пассажир видит код аэропорта, из которого он будет вылетать, — для чего нужен такой код? Разве недостаточно названия и адреса аэропорта для его идентификации? Что же на самом деле скрывают коды и какие виды кодов существуют?

Зачем нужны коды?

В Копенгагене есть аэропорт. Люди, вылетавшие из него, видела на своих билетах код — СРН. Можно предложить, что код взят из согласных букв города — «К», «П», «Г».

В российском городе Саранск тоже есть аэропорт и на билетах из него ставится такой же код — СРН. Вероятно, и тут использовали согласные буквы.

Возникает вопрос — если код нужен для идентификации авиационного узла среди всех прочих, почему встречаются одинаковые обозначения. Может, коды нужны не для этого?

Потребность в едином реестре

После того, как авиаперелеты стали выполняться для перевозки пассажиров и обрели характер масс-медиа, возникла необходимость в присвоении городам и аэропортам наименований. Ведь есть Лондон в Великобритании, а есть Лондон в Канаде. Есть Одесса в Украине, а есть Одесса в США и тому подобное.

Однако для информационного обмена диспетчеров, пилотов, пассажиров, авиационных служб и прочих субъектов было неудобно использовать длинные названия, нужны были короткие и просты обозначения — коды.

В результате их использования на сегодняшний день вся система обслуживания аэропортов и перелетов построена на идентификации через уникальные коды. Вшитые в систему программы способны раскодировать их и правильно перенаправить данные.

Многие не знают, но подобные коды присваиваются не только аэровокзалам, но и другим крупным транспортным узлам — железнодорожным вокзалам, морским и речным портам, населенным пунктам.

Системы кодирования

В международной практике используются 2 основные системы кодов для аэропортов:

Первый код применяется для наземных субъектов, а также в системах бронирования билетов, — т. е. для пассажиров и служб, осуществляющих различные функции, не относящиеся напрямую к авиации. Этот потребительский код имеет 3 латинские буквы и хорошо знаком тем, кто хотя бы раз совершал полет через аэропорт.

Вторым кодом пользуются летчики и диспетчеры. Он состоит из 4 латинских букв, которые формируют его на основании территориального признака, хотя простому обывателю такой код кажется случайным.

Также каждая страна использует свою национальную систему обозначения аэропортов. В России — это система кодов наподобие ИАТА, которая применялась в Советском Союзе. Код состоит из 3 кириллических букв. Эту систему часто ошибочно называют сиреновской, но «Сирена» — система для покупки билетов, появилась значительно позже российского ИАТА.

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

Немного истории

Международная организация гражданской авиации (на английском — ICAO) предложила пользоваться четырехзначными кодами для каждого аэропорта и заключить их в единый свод для применения пилотами и авиадиспетчерами. Причем знаки для кода выбирались по сложной методологии.

Первая буква обозначала регион — например, Европа, Австралия

Несмотря на громоздкость, эта система была внедрена тотально на всем международном пространстве и продолжает существовать и теперь — в некоторых узких отраслях авиации (метеосводки, радионавигация, аэронавигация) по миру применяю ИКАО.

А в массовом масштабе стала применяться новая система — ИАТА, которая сократила коды аэропортов до 3 символов и сделала его цельным и неделимым.

Сейчас присвоено около 12 тысяч кодов ИАТА, тогда как при возможностях латинских букв можно составить примерно 17 тысяч комбинаци .

Каждый год список кодов ИАТА обновляется — для фиксации произошедших изменений: присвоение нового кода, передачи кода одного аэропорта другому и т. п.

ИАТА расшифровывается как Международная ассоциация воздушного транспорта, именно она предложила новый метод распознавания авиационных станций.

  • в Ростове-на-Дону в связи с участием в Чемпионате мира по футболу в 2020 году открылся новый международный аэропорт — Платов; старый аэровокзал имел код ИАТА «ROV», который передали новому — теперь «ROV” обозначает Платов, а старый вокзал получил код «RVI»; при этом код ИКАО у новой воздушной гавани — «URRP”, а национальное обозначение — «РОВ», повторяет вариант Международной ассоциации воздушного транспорта, но на кириллице;
  • у московского Домодево код ИАТА «DME», а четырехзначная кодировка представляет такое наименование — «UUDD”, в отечественной системе он числится как «ДМД»;
  • у аэропорта Симферополя после перехода Крыма под юрисдикцию России сохранился код «SIP», в системе ИКАО — «UKFF”, во внутренней кодировки РФ — «УРФФ».

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

Совпадение кодов Копенгагена и Саранска связано с тем, что один код состоит из латинских букв, а другой — из кириллических. Электронные системы различают разные алфавиты, поэтому путаница исключается.

Илон Маск рекомендует:  EndThread - Процедура Delphi
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL