Версия 2.1.37 (20050422) ======================== В данной версии исправлены проблемы компиляции на Win32, а также некоторые ошибки в документации. Добавлена поддержка "премий" в режиме турнира KIROV. Премия даётся нескольким участникам, которые решили задачу первыми. Незначительно изменилась структура каталогов обмена serve<->compile и serve<->run. Новая структура каталогов не совместима со структурой каталогов предыдущей версии. INSTALL,INSTALL.RUS ------------------- Описаны все новые опции, добавленные с момента последнего обновления файла. Исправлены найденные ошибки. serve,compile,run,userlist-server,super-serve --------------------------------------------- Программы отказываются работать, если запускаются из-под пользователя root. В предыдущих версиях системы работа из-под root также не поддерживалась, но явного сообщения об ошибке не печаталось. configure --------- Поддерживается система Mono (www.mono-project.com) - свободная реализация .NET для ряда платформ. В её рамках поддерживается автоматическое обнаружение компиляторов языков C# (mcs) и Visual Basic (mbas). Для явного указания путей к этим компиляторам могут использоваться новые опции --with-mcs и --with-mbas. Обратите внимание, что текущая версия системы Mono не поддерживает настройку политики безопастности. Поэтому тестируемые программы на C# и VB запускаются с полными правами пользователя, под которым работает программа run. По этой причина использование этих языков не безопасно и не рекомендуется в турнирах, где нет контроля за программами, посылаемыми участниками. Улучшена проверка на библиотеку libcap и ядро с поддержкой специальных бит привелегий. Если программа, использующая libcap и биты CAP_SYS_OPERATIONS и CAP_SYS_ONE_EXEC компилируется, но запуск не приводит к ограничению прав программы, то после окончания скрипта configure выдаётся предупреждение. Исправлена неправильная установка макроса CONF_HAS_LIBCAP в config.h. Макрос устанавливался в 1 всегда. Проверяется, что в системе доступна программа uudecode, и если эта программа не найдена, после завершения работы configure печатается предупреждение. ejudge-setup ------------ В сгенерированных .cfg-файлах в качестве символа комментария используется `#' вместо `;'. Добавлена поддержка языков C# и Visual Basic (Mono) - см. комментарий выше. Конфигурационный файл тестового турнира 1 генерируется таким образом, что эти языки в нём недоступны для использования, то есть для них установлен флаг "disabled = 1". Для того, чтобы активировать эти языки, необходимо изменить конфигурационный файл serve.cfg вручную. Название турнира "Тестовый турнир" заменено на "Test contest", чтобы не создавать проблем с кодировками файлов, отличных от koi8-r. В настроечном скрипте, генерируемом программой, используется имя программы uudecode, которое берётся из config.h. serve ----- Поддерживается новая конфигурационная переменная score_bonus секции описания задачи файла serve.cfg. Эта переменная позволяет задавать премию в баллах к решениям задачи. Переменная действует только для турниров по системе KIROV. Значение переменной - это последовательность целых чисел (которые могут быть положительными и отрицательными), числа в которой разделены пробельными символами. Например, score_bonus = "10 5" В этом случае для той задачи, для которой установлена `score_bonus' дополнительные баллы будут начисляться по следующим правилам: - первое полное решение (то есть получившее статус OK) этой задачи получит +10 баллов к тому числу баллов, которое набрало это решение с учётов всевозможных штрафов (за предыдущии попытки, за несвоевременную сдачу, и т. д.); - второе полное решение получит +5 баллов к общему числу баллов; - третье и последующие решения не получат никаких дополнительных баллов. При подсчёте номера решения игнорируются следующие полные решения: - тех, кто уже решили эту задачу раньше. Таким образом, если участник получил +10 за задачу, то за вторую успешную сдачу той же самой задачи он ничего не получит, и вторая успешная сдача задачи будет проигнорирована при вычислении премии других участников. - посылок, для которых установлен флаг `hidden'. Такие посылки, как правило, выполняются с помощью привилегированных CGI-программ judge и master, и следовательно не должны учитываться при подсчёте баллов участников. - посылок пользователей, которые невидимы (invisible) или дисквалифицированы (banned) в турнире. Невидимые участники - это, как правило, привилегированные участники, которые не отображаются в таблице результатов. serve ----- Добавлена новая глобальная конфигурационная переменная `disable_sound' конфигурационного файла serve.cfg. Если эта переменная установлена в 1, то при тестировании программы не будет выдаваться никаких звуковых сообщений, даже если звуковые сообщения настроены в программе `run'. Данная переменная предназначена для использования в ситуациях, когда программа `run' проверяет решения сразу нескольких турниров (например, основного турнира и интернет турнира), и для каких-то турниров звуковые сообщения должны быть разрешены, а для каких-то - нет. В этом случае можно использовать эту переменную в конфигурационном файле турниров, для которых звуковые сообщения должны быть отключены.