IACR / latex-submit

Web server to receive uploaded LaTeX and execute it in a docker container.
GNU Affero General Public License v3.0
11 stars 0 forks source link

make API callback to hotcrp when a final version is uploaded #56

Closed kmccurley closed 9 months ago

kmccurley commented 9 months ago

When a final version of a paper is uploaded, we have in the past made an API callback to hotcrp to register this fact. In the case where the author was uploading just a zip file in the past, we recorded it as finished once the zip file was uploaded, but now the acceptance of a final version requires that it be submitted for copy editing. The API call is a POST that would go to

<hotcrp_base_url>/iacr/api/updatePaper.php

and would carry a payload of

paperId=<hotcrp_paper_id>
email=<uploading_author_email>
auth=<hmac>

In the case of the first issue, this would go to https://submit.iacr.org/cic2024_1/iacr/updatePaper.php.

The hmac must be computed in a way that is consistent with the create_hmac function in /var/www/util/hotcrp/hmac.php on submit.iacr.org. It uses a shared secret key that must become part of the config on publish.iacr.org.

If we do not make this callback, then authors may be confused thinking that their paper was not uploaded. Editors may also be confused because they won't see that the paper was uploaded in hotcrp.

kmccurley commented 9 months ago

There are two pieces to this:

  1. in hotcrp, iacr/api/updatePaper.php has to be prepared for a different authentication since year is not known to publish.iacr.org. This was addressed in this commit
  2. in this server, when a paper is sent to the copy editor, it is deemed to have been uploaded and in routes.py we now make an API call to the appropriate hotcrp instance. This is in this commit but hotcrp now needs to authenticate the hotcrp shortName and hotcrp paperId in the post to publish.iacr.org. This will be fixed in a subsequent push on hotcrp.
kmccurley commented 9 months ago

Should now be working after this commit