HEX
Server: LiteSpeed
System: Linux br-asc-web1845.main-hosting.eu 5.14.0-611.42.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Mar 24 05:30:20 EDT 2026 x86_64
User: u790421558 (790421558)
PHP: 8.2.30
Disabled: system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/imunify360-webshield/lualib/resty/openssl/include/pem.lua
local ffi = require "ffi"

require "resty.openssl.include.ossl_typ"

ffi.cdef [[
  // all pem_password_cb* has been modified to pem_password_cb to avoid a table overflow issue
  typedef int (*pem_password_cb)(char *buf, int size, int rwflag, void *userdata);
  EVP_PKEY *PEM_read_bio_PrivateKey(BIO *bp, EVP_PKEY **x,
  // the following signature has been modified to avoid ffi.cast
    pem_password_cb cb, const char *u);
  //  pem_password_cb *cb, void *u);
  EVP_PKEY *PEM_read_bio_PUBKEY(BIO *bp, EVP_PKEY **x,
  // the following signature has been modified to avoid ffi.cast
    pem_password_cb cb, const char *u);
  //  pem_password_cb *cb, void *u);
  int PEM_write_bio_PrivateKey(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc,
    unsigned char *kstr, int klen,
    pem_password_cb *cb, void *u);
  int PEM_write_bio_PUBKEY(BIO *bp, EVP_PKEY *x);

  RSA *PEM_read_bio_RSAPrivateKey(BIO *bp, RSA **x,
  // the following signature has been modified to avoid ffi.cast
    pem_password_cb cb, const char *u);
  //  pem_password_cb *cb, void *u);
  RSA *PEM_read_bio_RSAPublicKey(BIO *bp, RSA **x,
  // the following signature has been modified to avoid ffi.cast
    pem_password_cb cb, const char *u);
  //  pem_password_cb *cb, void *u);
  int PEM_write_bio_RSAPrivateKey(BIO *bp, RSA *x, const EVP_CIPHER *enc,
    unsigned char *kstr, int klen,
    pem_password_cb *cb, void *u);
  int PEM_write_bio_RSAPublicKey(BIO *bp, RSA *x);

  X509_REQ *PEM_read_bio_X509_REQ(BIO *bp, X509_REQ **x, pem_password_cb cb, void *u);
  int PEM_write_bio_X509_REQ(BIO *bp, X509_REQ *x);

  X509_CRL *PEM_read_bio_X509_CRL(BIO *bp, X509_CRL **x, pem_password_cb cb, void *u);
  int PEM_write_bio_X509_CRL(BIO *bp, X509_CRL *x);

  X509 *PEM_read_bio_X509(BIO *bp, X509 **x, pem_password_cb cb, void *u);
  int PEM_write_bio_X509(BIO *bp, X509 *x);

  DH *PEM_read_bio_DHparams(BIO *bp, DH **x, pem_password_cb cb, void *u);
  int PEM_write_bio_DHparams(BIO *bp, DH *x);

  EC_GROUP *PEM_read_bio_ECPKParameters(BIO *bp, EC_GROUP **x, pem_password_cb cb, void *u);
  int PEM_write_bio_ECPKParameters(BIO *bp, const EC_GROUP *x);

]]