summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwilliam <william@25tandclement.com>2014-09-22 15:03:08 -0700
committerwilliam <william@25tandclement.com>2014-09-22 15:03:08 -0700
commitd4914b31664e771ae93b88f6f83fb24c616b20fd (patch)
treeed9e8b545d096cb97a7864d1aa95b5e3a804c338
parenta5d3fa1f606facb9d169b0821172e4a0e416386f (diff)
downloadluaossl-d4914b31664e771ae93b88f6f83fb24c616b20fd.tar.gz
luaossl-d4914b31664e771ae93b88f6f83fb24c616b20fd.tar.bz2
luaossl-d4914b31664e771ae93b88f6f83fb24c616b20fd.zip
bind opensslv.h and opensslconf.h macros
-rw-r--r--src/GNUmakefile6
-rw-r--r--src/openssl.c177
-rw-r--r--src/openssl.lua1
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
88MODS$(1)_$(d) = \ 88MODS$(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 */
532static 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
669int 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"