Version 2.1.37 (20050422) ========================= This release fixes certain compilation problems on the Win32 platform, and some documentation bugs. Added support for "bonuses" in the contests using the KIROV scoring system. Bonus score is given to the players, who solved the given problem first. The directory structure of the serve<->compile and the serve<->run spool directories is changed. The new structure is not compatible to the directory structure of the previous version of the ejudge system. INSTALL,INSTALL.RUS ------------------- All the new options of the configure script are described. Some errors are fixed. serve,compile,run,userlist-server,super-serve --------------------------------------------- All the programs refuse to start if being run under the `root' (uid 0) user. The previous versions of the ejudge did not support running under root anyway, but did not report this properly. configure --------- The Mono (www.mono-project.com) framework is supported. The Mono Project is a free implementation of the .NET framework for a variety of platforms. The C# compiler (mcs) and Visual Basic Compiler (mbas) are supported under the Mono framework. The two new options of the configure script: --with-mcs and --with-mbas may be used to specify paths to the corresponding compilers explicitly. Note, that the current version of the Mono framework does not support security policies. Thus the programs in the MSIL (i.e. compiled by mcs or mbas compilers) are started with all the capabilities and permissions of the user, who started the `run' program. Because of this use of these languages in contests with untrusted participants is not secure and is not recommended. Checking of the `libcap' library and the CAP_SYS_OPERATIONS-patched Linux kernel is improved. If a sample program, which uses the libcap library and CAP_SYS_OPERATIONS bit can be compiled, but the CAP_SYS_OPERATIONS bit is not effective when this program is executed, the configure script issues a warning after all the configure tests are done. Fixed invalid setting of the CONF_HAS_LIBCAP macro in the config.h. This macros was set to 1 always in the previous version. The configure checks, that the operating system has the `uudecode' program installed, and if this program is not installed, a warning is issued after all the configure tests are done. ejudge-setup ------------ In the configuration .cfg files generated by the system the '#' is used as comment character instead of ';'. Added support for the C# and Visual Basic compilers using the Mono framework - see the comment above. However, even if these compilers are detected in the system, the serve.cfg configuration file for the test contest 1 is generated with these languages disabled for use, i.e. the language configuration sections of these languages has "disabled = 1" directive. In order to activate these languages one has to change the serve.cfg configuration file manually. The contest name in russian is replaced with the English "Test contest" in order to avoid problems with non-koi8 charsets. The ejudge install script, which is generated by the program uses the name of the uudecode program as specified in the config.h. serve ----- A new problem configuration variable `score_bonus' is supported in the contest configuration file `serve.cfg'. This variable allows specifying the bonus score given to successful solution of the specified problem. The variable is only effective for the contests using the KIROV score system. The value of the variable is a sequence of integer numbers, which may be either positive, or negative. The numbers are separated with whitespaces. For example, score_bonus = "10 5" In this case bonus score is given for the solutions of the corresponding problem according to the following rules: - the first full solution (i.e. the solution with the OK status) of this problem is given +10 points to the score given after all the penalty calculation); - the second full solution is given +5 points; - the third and the following solutions are given no bonus points. The following runs are ignored in calculation of the number of the full solution of some problem: - runs of those participants, who have already solved this problem. For example, if a participant gets +10 points for a full solution, the second full solution gets no bonus points at all and the second full solution is ignored in calculation of the full solution number. - runs with the `hidden' flag set. These runs normally are submitted by the privileged `judge' and `master' programs and thus are ignored. - runs of invisible or banned users. The invisible users are normally privileged users, which are not displayed in the contest standings. serve ----- A new `disable_sound' global configuration variable is added to the server configuration file `serve.cfg'. If this variable is set to 1, no sound notifications are produced during testing even if the sound notifications are enabled in the configuration file. This variable may be used in situations, when one instance of the `run' program tests the runs of several different contests simultaneously (for example, the main contest and the parallel internet contest). For the main contest the sound notifications are enabled, but for the internet contest they should be disabled. In this case this variable should be set in the configuration file of the internet contest.