Skip to content

Request to Add OpenSSL Support in "cupsHashData" (cups/hash.c) Function for AirPrint Web UI Interface #762

@sahayap

Description

@sahayap

Dear Team.

I am Sahaya Darcius from Bixolon Co., Ltd, and I hope you all doing well. As a part of our ongoing efforts to develop AirPrint support for our printers, we have been using the PAPPL framework, CUPS 2.4.5, and OpenSSL-1.1.1g. While our printing functionality has been successfully implemented, we have encountered an issue with the Web UI interface.

Upon conducting a thorough analysis, we have identified the root cause of the problem, which lies in the "cupsHashData" function within the "papplClientGetCSRFToken" function in the "client-accessors.c" file. It has come to light that this function returns incorrect Hash binary data.

Upon further investigation, we discovered that the "cupsHashData" function in the "cups/hash.c" file only supports GnuTLS and does not extend its compatibility to OpenSSL. The discrepancy in the algorithm values passed from the "papplClientGetCSRFToken" function is another contributing factor, as it uses "sha2-256," whereas OpenSSL expects "sha256."

In light of these findings, we have taken the initiative to resolve the issue by implementing our own hash data function for sha256 using OpenSSL. I am delighted to inform you that this solution has proven to be successful, and the Web UI is now functioning optimally.

However, we believe that adding OpenSSL support to the "cupsHashData" function in the "cups/hash.c" file would greatly enhance its usability and flexibility for other users facing similar challenges. Therefore, I kindly request your esteemed team to consider integrating OpenSSL support into the "cupsHashData" function.

Your support in implementing this enhancement will undoubtedly benefit many users in the community who rely on CUPS and OpenSSL for their printing solutions.

Thank you for your time and consideration.

Best Regards,
Sahaya Darcius P

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions