Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add an API to send Cabrillo to SCP collection (presently K6TU) #592

Closed
n4af opened this issue Apr 3, 2022 · 20 comments · Fixed by #593
Closed

Add an API to send Cabrillo to SCP collection (presently K6TU) #592

n4af opened this issue Apr 3, 2022 · 20 comments · Fixed by #593
Assignees
Milestone

Comments

@n4af
Copy link
Owner

n4af commented Apr 3, 2022

Watchful users of Super Check Partial will see a significant increase in the number of callsigns in MASTER and its derived files. This month’s release (just posted live) has 40,940 calls in MASTER – up from 35,416 last month.

This step function in active calls is a result of a new API which allows logging programs to directly submit a log to Super Check Partial. This removes the need for the contester to take the extra step of emailing the log to logs@supercheckpartial.commailto:[logs@supercheckpartial.com](mailto:logs@supercheckpartial.com). Logs are submitted securely to Super Check Partial over HTTPS and are “signed” by the logging program before submission to authenticate the origin of the log.

SCP API support has already been added to N1MM+, DXLog.net, SkookumLogger, N3FJP’s loggers and Writelog. This support is in published releases for N1MM+ and DXLog.net, selected contests for N3FJP loggers and in beta versions for SkookumLogger and Writelog.

The supporting logging programs ask the contester for their consent to upload the log to Super Check Partial – by design this is an opt-in process. Logs are NOT submitted without the contester’s consent.

@ny4i
Copy link
Collaborator

ny4i commented Apr 3, 2022 via email

@ny4i
Copy link
Collaborator

ny4i commented Apr 3, 2022

I checked the SCP site but did not see the API. Where is the API to submit the logs documented?

I presume there is a URL to post the file.

Tom

@n4af
Copy link
Owner Author

n4af commented Apr 3, 2022

Good question.
I think Stu handles via direct request:
"
If you are the author of a logging program and would like to add the API support to your program, please contact me directly for documentation etc.
"

Possibly via stu@k6tu.net
his update on the above came from
stu@ridgelift.com

@ny4i
Copy link
Collaborator

ny4i commented Apr 4, 2022

To avoid any issues with sharing the key, I suggest we create a unit with an object that can be called. It will then be included in the code as a library (dci) but we will keep the source code out of it. The source can be in a private repo.

So who is adding this? I can write the unit to do the log upload, then it can be implemented in the TR4W code.

@ny4i
Copy link
Collaborator

ny4i commented Apr 4, 2022

I spend some time looking into this project. The hard part is going to be to find a Delphi7 implementation of the SHA256 hash function. I have some leads but most encryption libraries are setup for newer versions of Delphi. The one I tested was not compatible with D7 as it used later Delphi syntax. (class functions).

My immediate thought is the easiest thing might be to make a wrapper to call the Microsoft CryptoAPI on Windows to do the SHA256.

@n4af
Copy link
Owner Author

n4af commented Apr 4, 2022 via email

@ny4i
Copy link
Collaborator

ny4i commented Apr 4, 2022 via email

@ny4i
Copy link
Collaborator

ny4i commented Apr 4, 2022 via email

@ny4i ny4i self-assigned this Apr 5, 2022
@ny4i ny4i added this to the 2022-04 milestone Apr 5, 2022
@ny4i
Copy link
Collaborator

ny4i commented Apr 5, 2022

Well we did need to hash in the program. I found the routines in Indy to set it. I also found the code to set the TLS version to 1.2. This has a few moving pieces including items such as new files that need to be installed in the program directory. I will check those in when the time comes. There will also be a new DCU called uSuperCheckPartialFileUpload.dcu. The source code will NOT be in this repo. This is to protect the implementation details (per the request of SCP/K6TU).

We do need to come up with an interface to do this send. Perhaps something on the tools menu to to upload and also an option after the CAB generation to ask if they want to upload the file automatically?

@n4af
Copy link
Owner Author

n4af commented Apr 5, 2022 via email

@ny4i
Copy link
Collaborator

ny4i commented Apr 5, 2022 via email

@n4af
Copy link
Owner Author

n4af commented Apr 5, 2022 via email

@ny4i
Copy link
Collaborator

ny4i commented Apr 7, 2022

I committed a branch called Issue592. Please download that branch and see if this works for you.

I added two required DLLs to the target folder so we need to make sure they end up in the same directory as the EXE file when built. If it makes more sense to add these to the INSTALL script, that is fine. Maybe you can copy them from he target directory so I can update they int he repo when needed.

Also, if you do actually send the file, please only send real contest logs. Stu asked me to send real contacts and not test ones. I only have the production URL set and not the test URL set for development testing.

One last item, I'm not thrilled with the way the Export Cabrillo dialog works. It seems clumsy. We click ok and the edit window pops up with the Cabrillo file. Only when I close that edit window, do I then ask if the user wants to send the file. Then you are left with a Generate Cab dialog that you have to CANCEL. Maybe that its done in case you want to edit the form but the CANCEL is a bit clumsy. I am not sure of a good alternative.

@n4af
Copy link
Owner Author

n4af commented Apr 9, 2022

fix 4.110.1

@ny4i
Copy link
Collaborator

ny4i commented Apr 9, 2022 via email

@n4af
Copy link
Owner Author

n4af commented Apr 9, 2022

ok. let me know when it is qrv to be packaged...

@n4af
Copy link
Owner Author

n4af commented Apr 9, 2022 via email

@ny4i
Copy link
Collaborator

ny4i commented Apr 9, 2022 via email

@n4af n4af closed this as completed in #593 Apr 9, 2022
@ny4i
Copy link
Collaborator

ny4i commented Oct 11, 2022 via email

@ny4i
Copy link
Collaborator

ny4i commented Oct 11, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants