• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

zhaozg / lua-openssl / 25776786822

13 May 2026 03:39AM UTC coverage: 92.808% (-1.0%) from 93.832%
25776786822

push

travis-ci

web-flow
Merge 7a7956b1d into d7aec501b

995 of 1143 new or added lines in 12 files covered. (87.05%)

15 existing lines in 2 files now uncovered.

10607 of 11429 relevant lines covered (92.81%)

1999.88 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

78.13
/src/pkey/engine.c
1
/***
2
 * pkey engine module
3
 * Engine support for hardware acceleration
4
 */
5
#include "pkey.h"
6

7
/* Suppress deprecation warnings */
8
#if defined(__GNUC__) || defined(__clang__)
9
#pragma GCC diagnostic push
10
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
11
#endif
12

13
#ifndef OPENSSL_NO_ENGINE
14

15
/***
16
 * set engine for the key
17
 * @function set_engine
18
 * @tparam openssl.engine eng engine object to use for this key
19
 * @treturn boolean result true for success
20
 */
21
int
22
openssl_pkey_set_engine(lua_State *L)
14✔
23
{
24
  EVP_PKEY *pkey = CHECK_OBJECT(1, EVP_PKEY, "openssl.evp_pkey");
14✔
25
  ENGINE   *eng = CHECK_OBJECT(2, ENGINE, "openssl.engine");
14✔
26

27
  int ret = 0;
14✔
28

29
  int typ = EVP_PKEY_type(EVP_PKEY_id(pkey));
14✔
30
  switch (typ) {
14✔
31
#ifndef OPENSSL_NO_RSA
32
  case EVP_PKEY_RSA: {
8✔
33
    RSA              *rsa = (RSA *)EVP_PKEY_get0_RSA(pkey);
8✔
34
    const RSA_METHOD *m = ENGINE_get_RSA(eng);
8✔
35
    if (m != NULL) ret = RSA_set_method(rsa, m);
8✔
36
    break;
8✔
37
  }
38
#endif
39
#ifndef OPENSSL_NO_DSA
40
  case EVP_PKEY_DSA: {
2✔
41
    DSA              *dsa = (DSA *)EVP_PKEY_get0_DSA(pkey);
2✔
42
    const DSA_METHOD *m = ENGINE_get_DSA(eng);
2✔
43
    if (m != NULL) ret = DSA_set_method(dsa, m);
2✔
44
    break;
2✔
45
  }
46
#endif
47
#ifndef OPENSSL_NO_DH
NEW
48
  case EVP_PKEY_DH: {
×
NEW
49
    DH              *dh = (DH *)EVP_PKEY_get0_DH(pkey);
×
NEW
50
    const DH_METHOD *m = ENGINE_get_DH(eng);
×
NEW
51
    if (m != NULL) ret = DH_set_method(dh, m);
×
NEW
52
    break;
×
53
  }
54
#endif
55
#ifndef OPENSSL_NO_EC
56
  case EVP_PKEY_EC: {
4✔
57
    EC_KEY *ec = (EC_KEY *)EVP_PKEY_get0_EC_KEY(pkey);
4✔
58
#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
59
    const ECDSA_METHOD *m = ENGINE_get_ECDSA(eng);
1✔
60
    if (m != NULL) ret = ECDSA_set_method(ec, m);
1✔
61
#else
62
    const EC_KEY_METHOD *m = ENGINE_get_EC(eng);
3✔
63
    if (m != NULL) ret = EC_KEY_set_method(ec, m);
3✔
64
#endif
65
    break;
4✔
66
  }
67
#endif
NEW
68
  default:
×
NEW
69
    break;
×
70
  }
71

72
  lua_pushboolean(L, ret == 1);
14✔
73
  return 1;
14✔
74
}
75
#endif /* OPENSSL_NO_ENGINE */
76

77
#if defined(__GNUC__) || defined(__clang__)
78
#pragma GCC diagnostic pop
79
#endif
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc