diff options
author | william <william@25tandclement.com> | 2014-09-22 15:03:08 -0700 |
---|---|---|
committer | william <william@25tandclement.com> | 2014-09-22 15:03:08 -0700 |
commit | d4914b31664e771ae93b88f6f83fb24c616b20fd (patch) | |
tree | ed9e8b545d096cb97a7864d1aa95b5e3a804c338 | |
parent | a5d3fa1f606facb9d169b0821172e4a0e416386f (diff) | |
download | luaossl-d4914b31664e771ae93b88f6f83fb24c616b20fd.tar.gz luaossl-d4914b31664e771ae93b88f6f83fb24c616b20fd.tar.bz2 luaossl-d4914b31664e771ae93b88f6f83fb24c616b20fd.zip |
bind opensslv.h and opensslconf.h macros
-rw-r--r-- | src/GNUmakefile | 6 | ||||
-rw-r--r-- | src/openssl.c | 177 | ||||
-rw-r--r-- | src/openssl.lua | 1 |
3 files changed, 184 insertions, 0 deletions
diff --git a/src/GNUmakefile b/src/GNUmakefile index 6a0bb3c..1b77d43 100644 --- a/src/GNUmakefile +++ b/src/GNUmakefile | |||
@@ -87,6 +87,7 @@ LUAC$(1)_$(d) = $$(or $$(call LUAPATH_$(d), $(1), luac), true) | |||
87 | 87 | ||
88 | MODS$(1)_$(d) = \ | 88 | MODS$(1)_$(d) = \ |
89 | $$(DESTDIR)$(2)/_openssl.so \ | 89 | $$(DESTDIR)$(2)/_openssl.so \ |
90 | $$(DESTDIR)$(3)/openssl.lua \ | ||
90 | $$(DESTDIR)$(3)/openssl/bignum.lua \ | 91 | $$(DESTDIR)$(3)/openssl/bignum.lua \ |
91 | $$(DESTDIR)$(3)/openssl/pkey.lua \ | 92 | $$(DESTDIR)$(3)/openssl/pkey.lua \ |
92 | $$(DESTDIR)$(3)/openssl/pubkey.lua \ | 93 | $$(DESTDIR)$(3)/openssl/pubkey.lua \ |
@@ -111,6 +112,11 @@ $$(DESTDIR)$(2)/_openssl.so: $$(d)/$(1)/openssl.so | |||
111 | $$(MKDIR) -p $$(@D) | 112 | $$(MKDIR) -p $$(@D) |
112 | $$(CP) -fp $$< $$@ | 113 | $$(CP) -fp $$< $$@ |
113 | 114 | ||
115 | $$(DESTDIR)$(3)/openssl.lua: $$(d)/openssl.lua | ||
116 | $$(LUAC$(1)_$(d)) -p $$< | ||
117 | $$(MKDIR) -p $$(@D) | ||
118 | $$(CP) -p $$< $$@ | ||
119 | |||
114 | $$(DESTDIR)$(3)/openssl/%.lua: $$(d)/openssl.%.lua | 120 | $$(DESTDIR)$(3)/openssl/%.lua: $$(d)/openssl.%.lua |
115 | $$(LUAC$(1)_$(d)) -p $$< | 121 | $$(LUAC$(1)_$(d)) -p $$< |
116 | $$(MKDIR) -p $$(@D) | 122 | $$(MKDIR) -p $$(@D) |
diff --git a/src/openssl.c b/src/openssl.c index 4936003..5695b58 100644 --- a/src/openssl.c +++ b/src/openssl.c | |||
@@ -60,6 +60,8 @@ | |||
60 | #include <mach/mach_time.h> /* mach_absolute_time() */ | 60 | #include <mach/mach_time.h> /* mach_absolute_time() */ |
61 | #endif | 61 | #endif |
62 | 62 | ||
63 | #include <openssl/opensslconf.h> | ||
64 | #include <openssl/opensslv.h> | ||
63 | #include <openssl/err.h> | 65 | #include <openssl/err.h> |
64 | #include <openssl/bn.h> | 66 | #include <openssl/bn.h> |
65 | #include <openssl/asn1.h> | 67 | #include <openssl/asn1.h> |
@@ -518,6 +520,181 @@ static void initall(lua_State *L); | |||
518 | 520 | ||
519 | 521 | ||
520 | /* | 522 | /* |
523 | * OPENSSL - openssl | ||
524 | * | ||
525 | * Miscellaneous global interfaces. | ||
526 | * | ||
527 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ | ||
528 | |||
529 | /* | ||
530 | * NOTE: Compile-time cipher exclusions from openssl-1.0.1i/util/mkdef.pl. | ||
531 | */ | ||
532 | static const char opensslconf_no[][20] = { | ||
533 | #ifdef OPENSSL_NO_RC2 | ||
534 | { "NO_RC2" }, | ||
535 | #endif | ||
536 | #ifdef OPENSSL_NO_RC4 | ||
537 | { "NO_RC4" }, | ||
538 | #endif | ||
539 | #ifdef OPENSSL_NO_RC5 | ||
540 | { "NO_RC5" }, | ||
541 | #endif | ||
542 | #ifdef OPENSSL_NO_IDEA | ||
543 | { "NO_IDEA" }, | ||
544 | #endif | ||
545 | #ifdef OPENSSL_NO_DES | ||
546 | { "NO_DES" }, | ||
547 | #endif | ||
548 | #ifdef OPENSSL_NO_BF | ||
549 | { "NO_BF" }, | ||
550 | #endif | ||
551 | #ifdef OPENSSL_NO_CAST | ||
552 | { "NO_CAST" }, | ||
553 | #endif | ||
554 | #ifdef OPENSSL_NO_WHIRLPOOL | ||
555 | { "NO_WHIRLPOOL" }, | ||
556 | #endif | ||
557 | #ifdef OPENSSL_NO_CAMELLIA | ||
558 | { "NO_CAMELLIA" }, | ||
559 | #endif | ||
560 | #ifdef OPENSSL_NO_SEED | ||
561 | { "NO_SEED" }, | ||
562 | #endif | ||
563 | #ifdef OPENSSL_NO_MD2 | ||
564 | { "NO_MD2" }, | ||
565 | #endif | ||
566 | #ifdef OPENSSL_NO_MD4 | ||
567 | { "NO_MD4" }, | ||
568 | #endif | ||
569 | #ifdef OPENSSL_NO_MD5 | ||
570 | { "NO_MD5" }, | ||
571 | #endif | ||
572 | #ifdef OPENSSL_NO_SHA | ||
573 | { "NO_SHA" }, | ||
574 | #endif | ||
575 | #ifdef OPENSSL_NO_RIPEMD | ||
576 | { "NO_RIPEMD" }, | ||
577 | #endif | ||
578 | #ifdef OPENSSL_NO_MDC2 | ||
579 | { "NO_MDC2" }, | ||
580 | #endif | ||
581 | #ifdef OPENSSL_NO_RSA | ||
582 | { "NO_RSA" }, | ||
583 | #endif | ||
584 | #ifdef OPENSSL_NO_DSA | ||
585 | { "NO_DSA" }, | ||
586 | #endif | ||
587 | #ifdef OPENSSL_NO_DH | ||
588 | { "NO_DH" }, | ||
589 | #endif | ||
590 | #ifdef OPENSSL_NO_HMAC | ||
591 | { "NO_HMAC" }, | ||
592 | #endif | ||
593 | #ifdef OPENSSL_NO_AES | ||
594 | { "NO_AES" }, | ||
595 | #endif | ||
596 | #ifdef OPENSSL_NO_KRB5 | ||
597 | { "NO_KRB5" }, | ||
598 | #endif | ||
599 | #ifdef OPENSSL_NO_EC | ||
600 | { "NO_EC" }, | ||
601 | #endif | ||
602 | #ifdef OPENSSL_NO_ECDSA | ||
603 | { "NO_ECDSA" }, | ||
604 | #endif | ||
605 | #ifdef OPENSSL_NO_ECDH | ||
606 | { "NO_ECDH" }, | ||
607 | #endif | ||
608 | #ifdef OPENSSL_NO_ENGINE | ||
609 | { "NO_ENGINE" }, | ||
610 | #endif | ||
611 | #ifdef OPENSSL_NO_HW | ||
612 | { "NO_HW" }, | ||
613 | #endif | ||
614 | #ifdef OPENSSL_NO_FP_API | ||
615 | { "NO_FP_API" }, | ||
616 | #endif | ||
617 | #ifdef OPENSSL_NO_STATIC_ENGINE | ||
618 | { "NO_STATIC_ENGINE" }, | ||
619 | #endif | ||
620 | #ifdef OPENSSL_NO_GMP | ||
621 | { "NO_GMP" }, | ||
622 | #endif | ||
623 | #ifdef OPENSSL_NO_DEPRECATED | ||
624 | { "NO_DEPRECATED" }, | ||
625 | #endif | ||
626 | #ifdef OPENSSL_NO_RFC3779 | ||
627 | { "NO_RFC3779" }, | ||
628 | #endif | ||
629 | #ifdef OPENSSL_NO_PSK | ||
630 | { "NO_PSK" }, | ||
631 | #endif | ||
632 | #ifdef OPENSSL_NO_TLSEXT | ||
633 | { "NO_TLSEXT" }, | ||
634 | #endif | ||
635 | #ifdef OPENSSL_NO_CMS | ||
636 | { "NO_CMS" }, | ||
637 | #endif | ||
638 | #ifdef OPENSSL_NO_CAPIENG | ||
639 | { "NO_CAPIENG" }, | ||
640 | #endif | ||
641 | #ifdef OPENSSL_NO_JPAKE | ||
642 | { "NO_JPAKE" }, | ||
643 | #endif | ||
644 | #ifdef OPENSSL_NO_SRP | ||
645 | { "NO_SRP" }, | ||
646 | #endif | ||
647 | #ifdef OPENSSL_NO_SSL2 | ||
648 | { "NO_SSL2" }, | ||
649 | #endif | ||
650 | #ifdef OPENSSL_NO_EC2M | ||
651 | { "NO_EC2M" }, | ||
652 | #endif | ||
653 | #ifdef OPENSSL_NO_NISTP_GCC | ||
654 | { "NO_NISTP_GCC" }, | ||
655 | #endif | ||
656 | #ifdef OPENSSL_NO_NEXTPROTONEG | ||
657 | { "NO_NEXTPROTONEG" }, | ||
658 | #endif | ||
659 | #ifdef OPENSSL_NO_SCTP | ||
660 | { "NO_SCTP" }, | ||
661 | #endif | ||
662 | #ifdef OPENSSL_NO_UNIT_TEST | ||
663 | { "NO_UNIT_TEST" }, | ||
664 | #endif | ||
665 | { "" } /* in case nothing is defined above */ | ||
666 | }; /* opensslconf_no[] */ | ||
667 | |||
668 | |||
669 | int luaopen__openssl(lua_State *L) { | ||
670 | size_t i; | ||
671 | |||
672 | lua_newtable(L); | ||
673 | |||
674 | for (i = 0; i < countof(opensslconf_no); i++) { | ||
675 | if (*opensslconf_no[i]) { | ||
676 | lua_pushboolean(L, 1); | ||
677 | lua_setfield(L, -2, opensslconf_no[i]); | ||
678 | } | ||
679 | } | ||
680 | |||
681 | lib_pushinteger(L, OPENSSL_VERSION_NUMBER); | ||
682 | lua_setfield(L, -2, "VERSION_NUMBER"); | ||
683 | |||
684 | lua_pushstring(L, OPENSSL_VERSION_TEXT); | ||
685 | lua_setfield(L, -2, "VERSION_TEXT"); | ||
686 | |||
687 | lua_pushstring(L, SHLIB_VERSION_HISTORY); | ||
688 | lua_setfield(L, -2, "SSHLIB_VERSION_HISTORY"); | ||
689 | |||
690 | lua_pushstring(L, SHLIB_VERSION_NUMBER); | ||
691 | lua_setfield(L, -2, "SSHLIB_VERSION_NUMBER"); | ||
692 | |||
693 | return 1; | ||
694 | } /* luaopen__openssl() */ | ||
695 | |||
696 | |||
697 | /* | ||
521 | * BIGNUM - openssl.bignum | 698 | * BIGNUM - openssl.bignum |
522 | * | 699 | * |
523 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ | 700 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ |
diff --git a/src/openssl.lua b/src/openssl.lua new file mode 100644 index 0000000..cce2150 --- /dev/null +++ b/src/openssl.lua | |||
@@ -0,0 +1 @@ | |||
return require"_openssl" | |||