По поводу отчета Жени RX3PR: получил его по почте и проверил. Все нормально. Пустой позывной в заголовке обнаружен.
Вчера я изменял софт, очевидно это помогло. Также вчера отключил предупреждения на несоответствия позывных, если позывной в заголовке не указан. Эти предупреждения бессмысленны при ошибке в тэге "CALLSIGN:".
Спасибо всем за проверку! Еще два дня можно пробовать. Не обязательно только отчеты за наши тесты, можно вообще любые. Проверяется насколько правильно тут реализован разбор формата Cabrillo. В моей прошлой программе для Win/*nix - contesta, которую Валера третий год использует для судейства, этот алгоритм уже был отлажен. Но здесь он значительно изменился, т.к. я хочу учесть прошлые ошибки и сделать новую программу лучше.
Сергей RD9CX, конечно, возможность присылать обновления закладывается с самого начала. Всем (или многим) знакомо как работают роботы по приему отчетов за CQWW, WPX, RDAC и др. У нас делается свое, не хуже и притом бесплатно.
Проверять как работают обновления можно будет уже на следующем этапе (Phase 2). Сейчас над этим работаю.
Принцип следующий:
Началось время приема отчетов. На сайте contesting.qrp.ru автоматически активируется форма для загрузки отчетов. Участник, который загружает для данного контеста свой отчет в первый раз, делает это, как Вы это делаете сейчас: отчет попадает на сервер, анализируется на ошибки формата, если ошибок нет, то информация поступает в базу для дальнейшего судейства. Если ошибки есть, отчет не принимается, а участник должен их самостоятельно исправить и повторить попытку. Это точно также, как в CQWW, только там отчет шлется по почте.
После того как отчет принят, участник получает цифровой пароль на случай, если ему нужно будет заменить отчет на другой. Это очень полезно, т.к. бывают случаи, когда ошибка была замечена уже после отправки. Пока время приема отчетов не закончилось, участник может сколько угодно раз высылать обновления. К анализу принимается последний присланный отчет. Однако, ВСЕ присланные отчеты сохраняются на случай, если возникнут спорные ситуации или у судьи возникнут подозрения в мошенничестве. Тогда можно будет поднять всю историю обновлений и узнать что, когда, кем и с какого адреса высылалось.
Автоматически выданный пароль нужно будет вводить, чтобы Ваше обновление было принято.
Тут приходится иметь пароли, чтобы хоть как-то снизить уязвимость системы к атакам. Если пароля
не будет, то возможна такая ситуация:
- Легитимный участник RA1HAM в первый раз высылает свой отчет. Ошибок нет, отчет принят. RA1HAM справедливо думает, что с отчетом все в порядке и проблем нет.
- Допустим, есть нехороший человек - атакующий FU1CK, который хочет навредить RA1HAM. Он чуть позже высылает фиктивный отчет якобы от RA1HAM. Если никакой аутентификации (пароля) нет, то фиктивный отчет сделает неактуальным легальный отчет от RA1HAM, и тем самым повлияет на его результат. В фиктивном отчете может быть все что угодно. Например, куча ошибок в QSO, за которые у RA1HAM снимут очки.
- RA1HAM ничего про атаку не знает, и не узнает до конца приема отчетов, когда вскроется атака, но будет уже поздно, время вышло.
Чтобы этого избежать выдаются пароли и только их владелец сможет вносить обновления.
Но даже с паролями не исключена другая ситуация:
- Атакующий FU1CK раньше RA1HAM высылает фиктивный отчет от имени RA1HAM и получает пароль.
- Когда RA1HAM будет высылать свой отчет, он увидит, что уже кто-то его опередил. Т.к. он не знает пароля, он не сможет обновить имеющийся отчет. В таком случае выход один - бить тревогу и обращаться непосредственно к судье. Судья сможет посмотреть историю обновлений и увидит кто навредил RA1HAM. Затем судья самостоятельно удалит фиктивный отчет и примет отчет легального участника.
Все это по-началу кажется излишним; что у нас таких людей нет. Но не стоит обольщатья. Мы живем в реальном мире и потому должны учитывать все варианты. Когда в Клубе все живут по правилам - очень хорошо, всё спокойно, система работает. Если появился злоумышленник - не страшно, контестинговая система может ему противостоять. Так что это тоже не проблема.
Ну, а дальнейшие планы по Contesting @ RU-QRP Club - это, кроме приеиа отчетов через web форму, прием их по e-mail, а также on-line контестинг, когда участник прямо во время соревнования вводит QSO на сайт, они сразу поступают в базу, и сразу формируется текущий результат. Согласитесь, очень заманчиво прямо во время теста видеть текущие результаты участников, знать кто в лидерах и где ты!
Разработка займет определенное время. Сначала делаем полноценное судейство с отчетами через web, затем по e-mail, затем on-line. В итоге должна получиться очень перспективная система.
С Вашей помощью сделаем ее быстрее.