-
Notifications
You must be signed in to change notification settings - Fork 263
Description
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