Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: DOMjudge/domjudge
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 2e09c16ee916f19c72ebf501cced38b5e580ee60
Choose a base ref
..
head repository: DOMjudge/domjudge
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: c7c5b813ed58fd9e8eea32441325778531f19f89
Choose a head ref
Showing with 2,829 additions and 2,746 deletions.
  1. +2 −2 .github/jobs/configure-checks/all.bats
  2. +4 −2 CONTRIBUTORS.md
  3. +1 −0 ChangeLog
  4. +1 −7 Makefile
  5. +634 −602 composer.lock
  6. +9 −6 configure.ac
  7. +1 −1 docker-compose.yml
  8. +0 −1 judge/Makefile
  9. +1 −1 judge/chroot-startstop.sh.in
  10. +7 −0 judge/runguard.c
  11. +5 −0 misc-tools/dj_make_chroot.in
  12. +18 −2 misc-tools/dj_run_chroot.in
  13. +0 −656 phpstan-baseline.neon
  14. +3 −0 phpstan.dist.neon
  15. +1 −1 webapp/Makefile
  16. +6 −0 webapp/config/packages/html_sanitizer.yaml
  17. +0 −236 webapp/config/packages/nelmio_api_doc.yaml
  18. +1 −1 webapp/migrations/Version20200111104415.php
  19. +2 −2 webapp/public/js/domjudge.js
  20. +59 −76 webapp/src/Controller/API/AccessController.php
  21. +16 −9 webapp/src/Controller/API/AwardsController.php
  22. +24 −4 webapp/src/Controller/API/BalloonController.php
  23. +9 −36 webapp/src/Controller/API/ContestController.php
  24. +34 −78 webapp/src/Controller/API/GeneralInfoController.php
  25. +33 −14 webapp/src/Controller/API/JudgehostController.php
  26. +3 −13 webapp/src/Controller/API/JudgementController.php
  27. +16 −9 webapp/src/Controller/API/JudgementTypeController.php
  28. +5 −1 webapp/src/Controller/API/MetricsController.php
  29. +2 −12 webapp/src/Controller/API/OrganizationController.php
  30. +11 −10 webapp/src/Controller/API/ProblemController.php
  31. +3 −13 webapp/src/Controller/API/RunController.php
  32. +43 −42 webapp/src/Controller/API/ScoreboardController.php
  33. +12 −25 webapp/src/Controller/API/SubmissionController.php
  34. +2 −12 webapp/src/Controller/API/TeamController.php
  35. +15 −1 webapp/src/Controller/BaseController.php
  36. +2 −1 webapp/src/Controller/Jury/AnalysisController.php
  37. +5 −1 webapp/src/Controller/Jury/BalloonController.php
  38. +86 −128 webapp/src/Controller/Jury/ClarificationController.php
  39. +11 −11 webapp/src/Controller/Jury/ConfigController.php
  40. +6 −1 webapp/src/Controller/Jury/ExecutableController.php
  41. +4 −0 webapp/src/Controller/Jury/JudgeRemainingTrait.php
  42. +2 −2 webapp/src/Controller/Jury/LanguageController.php
  43. +29 −2 webapp/src/Controller/Jury/ProblemController.php
  44. +22 −6 webapp/src/Controller/Jury/RejudgingController.php
  45. +9 −9 webapp/src/Controller/Jury/ShadowDifferencesController.php
  46. +14 −4 webapp/src/Controller/Jury/SubmissionController.php
  47. +2 −2 webapp/src/Controller/Jury/TeamCategoryController.php
  48. +9 −8 webapp/src/Controller/Jury/TeamController.php
  49. +2 −2 webapp/src/Controller/Jury/UserController.php
  50. +2 −2 webapp/src/Controller/RootController.php
  51. +2 −2 webapp/src/Controller/Team/MiscController.php
  52. +19 −0 webapp/src/DataTransferObject/Access.php
  53. +17 −0 webapp/src/DataTransferObject/AccessEndpoint.php
  54. +16 −0 webapp/src/DataTransferObject/ApiInfo.php
  55. +10 −0 webapp/src/DataTransferObject/ApiVersion.php
  56. +18 −0 webapp/src/DataTransferObject/Award.php
  57. +30 −0 webapp/src/DataTransferObject/Balloon.php
  58. +11 −0 webapp/src/DataTransferObject/BaseFile.php
  59. +15 −0 webapp/src/DataTransferObject/Command.php
  60. +16 −0 webapp/src/DataTransferObject/ConfigCheckItem.php
  61. +61 −0 webapp/src/DataTransferObject/ConfigurationSpecification.php
  62. +33 −0 webapp/src/DataTransferObject/ContestProblemArray.php
  63. +1 −1 webapp/src/{Helpers → DataTransferObject}/ContestProblemWrapper.php
  64. +15 −0 webapp/src/DataTransferObject/ContestState.php
  65. +12 −0 webapp/src/DataTransferObject/ContestStatus.php
  66. +13 −0 webapp/src/DataTransferObject/DomJudgeApiInfo.php
  67. +14 −0 webapp/src/DataTransferObject/ExtendedContestStatus.php
  68. +14 −0 webapp/src/DataTransferObject/FileWithName.php
  69. +16 −0 webapp/src/DataTransferObject/ImageFile.php
  70. +12 −0 webapp/src/DataTransferObject/JudgehostFile.php
  71. +13 −0 webapp/src/DataTransferObject/JudgementType.php
  72. +1 −1 webapp/src/{Helpers → DataTransferObject}/JudgingRunWrapper.php
  73. +1 −1 webapp/src/{Helpers → DataTransferObject}/JudgingWrapper.php
  74. +24 −0 webapp/src/DataTransferObject/OrdinalContestProblemWrapper.php
  75. +29 −0 webapp/src/DataTransferObject/Scoreboard/Problem.php
  76. +19 −0 webapp/src/DataTransferObject/Scoreboard/Row.php
  77. +18 −0 webapp/src/DataTransferObject/Scoreboard/Score.php
  78. +23 −0 webapp/src/DataTransferObject/Scoreboard/Scoreboard.php
  79. +13 −0 webapp/src/DataTransferObject/SourceCode.php
  80. +59 −0 webapp/src/DataTransferObject/SubmissionRestriction.php
  81. +1 −1 webapp/src/{Helpers → DataTransferObject}/TeamLocation.php
  82. +60 −20 webapp/src/Entity/Contest.php
  83. +23 −0 webapp/src/Entity/ContestProblem.php
  84. +3 −3 webapp/src/Entity/ExternalContestSource.php
  85. +2 −0 webapp/src/Entity/ExternalRelationshipEntityInterface.php
  86. +7 −0 webapp/src/Entity/ExternalSourceWarning.php
  87. +2 −0 webapp/src/Entity/Judging.php
  88. +9 −14 webapp/src/Entity/Language.php
  89. +22 −0 webapp/src/Entity/Problem.php
  90. +25 −0 webapp/src/Entity/Submission.php
  91. +26 −2 webapp/src/Entity/Team.php
  92. +54 −0 webapp/src/Entity/TeamAffiliation.php
  93. +3 −0 webapp/src/Entity/User.php
  94. +114 −0 webapp/src/Form/Type/JuryClarificationType.php
  95. +10 −10 webapp/src/Form/Type/TeamClarificationType.php
  96. +0 −32 webapp/src/Helpers/OrdinalArray.php
  97. +0 −23 webapp/src/Helpers/OrdinalItem.php
  98. +11 −31 webapp/src/Serializer/ContestProblemVisitor.php
  99. +16 −23 webapp/src/Serializer/ContestVisitor.php
  100. +14 −14 webapp/src/Serializer/SubmissionVisitor.php
  101. +31 −40 webapp/src/Serializer/TeamAffiliationVisitor.php
  102. +27 −20 webapp/src/Serializer/TeamVisitor.php
  103. +36 −30 webapp/src/Service/AwardService.php
  104. +9 −0 webapp/src/Service/BalloonService.php
  105. +171 −176 webapp/src/Service/CheckConfigService.php
  106. +37 −49 webapp/src/Service/ConfigurationService.php
  107. +42 −6 webapp/src/Service/DOMJudgeService.php
  108. +9 −1 webapp/src/Service/EventLogService.php
  109. +118 −4 webapp/src/Service/ExternalContestSourceService.php
  110. +66 −18 webapp/src/Service/ImportExportService.php
  111. +8 −0 webapp/src/Service/ScoreboardService.php
  112. +31 −0 webapp/src/Service/StatisticsService.php
  113. +41 −78 webapp/src/Service/SubmissionService.php
  114. +1 −0 webapp/templates/jury/analysis/team.html.twig
  115. +4 −4 webapp/templates/jury/clarification.html.twig
  116. +1 −1 webapp/templates/jury/clarification_new.html.twig
  117. +30 −56 webapp/templates/jury/partials/clarification_form.html.twig
  118. +1 −1 webapp/templates/jury/team.html.twig
  119. +1 −1 webapp/templates/partials/scoreboard_table.html.twig
  120. +1 −1 webapp/templates/team/partials/clarification.html.twig
  121. +1 −1 webapp/tests/Unit/Controller/API/ContestControllerAdminTest.php
  122. +1 −1 webapp/tests/Unit/Controller/API/OrganizationControllerTest.php
  123. +1 −1 webapp/tests/Unit/Controller/API/TeamControllerTest.php
  124. +5 −5 webapp/tests/Unit/Controller/Jury/ClarificationControllerTest.php
  125. +15 −14 webapp/tests/Unit/Service/AwardServiceTest.php
  126. +6 −6 webapp/tests/Unit/Service/ConfigurationServiceTest.php
4 changes: 2 additions & 2 deletions .github/jobs/configure-checks/all.bats
100644 → 100755
Original file line number Diff line number Diff line change
@@ -105,8 +105,8 @@ compiler_assertions () {
}

compile_assertions_finished () {
assert_line " * CFLAGS..............: -g -O2 -Wall -fstack-protector -fPIE -D_FORTIFY_SOURCE=2"
assert_line " * CXXFLAGS............: -g -O2 -Wall -fstack-protector -fPIE -D_FORTIFY_SOURCE=2"
assert_line " * CFLAGS..............: -g -O2 -Wall -Wformat -Wformat-security -pedantic -fstack-protector -fPIE -D_FORTIFY_SOURCE=2 -std=c11"
assert_line " * CXXFLAGS............: -g -O2 -Wall -Wformat -Wformat-security -pedantic -fstack-protector -fPIE -D_FORTIFY_SOURCE=2 -std=c++11"
assert_line " * LDFLAGS.............: -fPIE -pie -Wl,-z,relro -Wl,-z,now"
}

6 changes: 4 additions & 2 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -69,5 +69,7 @@ how to best contribute.

## Special thanks

Special thanks go to Aidan Stephenson for researching and responsibly
disclosing a security vulnerability in DOMjudge.
Special thanks go to the following people for researching and
responsibly disclosing a security vulnerability in DOMjudge:
* Atsutoshi Kikuchi
* Aidan Stephenson
1 change: 1 addition & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -2,6 +2,7 @@ DOMjudge Programming Contest Judging System

Version 8.3.0DEV
----------------------------
- [security] Close metadata file descriptor for the child in runguard.
- Document that minimum PHP version is now 8.1.0.
- Upgrade Symfony to 6.2 and upgrade other library dependencies.
- Show link to problem text on jury problem overview and contest detail pages.
8 changes: 1 addition & 7 deletions Makefile
Original file line number Diff line number Diff line change
@@ -47,7 +47,7 @@ endif
domserver: domserver-configure paths.mk config
judgehost: judgehost-configure paths.mk config
docs: paths.mk config
install-domserver: domserver composer-dump-autoload domserver-create-dirs
install-domserver: composer-dump-autoload domserver-create-dirs
install-judgehost: judgehost judgehost-create-dirs
install-docs: docs-create-dirs
dist: configure composer-dependencies
@@ -193,9 +193,6 @@ paths.mk:
@exit 1

# Configure for running in source tree, not meant for normal use:
MAINT_CXFLAGS=-g -O1 -Wall -fstack-protector -D_FORTIFY_SOURCE=2 \
-fPIE -Wformat -Wformat-security -pedantic
MAINT_LDFLAGS=-fPIE -pie -Wl,-z,relro -Wl,-z,now
maintainer-conf: inplace-conf-common composer-dependencies-dev webapp/.env.local
inplace-conf: inplace-conf-common composer-dependencies
inplace-conf-common: dist
@@ -212,9 +209,6 @@ inplace-conf-common: dist
--with-judgehost_judgedir=$(CURDIR)/output/judgings \
--with-domserver_databasedumpdir=$(CURDIR)/output/db-dumps \
--with-baseurl='http://localhost/domjudge/' \
CFLAGS='$(MAINT_CXFLAGS) -std=c11' \
CXXFLAGS='$(MAINT_CXFLAGS) -std=c++11' \
LDFLAGS='$(MAINT_LDFLAGS)' \
$(CONFIGURE_FLAGS)

# Run Symfony in dev mode (for maintainer-mode):
Loading