hasufell 14/04/16 22:48:09 Added: 04-libntru-0.2-respect-flags.patch 02-libntru-0.2-add-warnings.patch 03-libntru-0.2-install-rules.patch 01-libntru-0.2-fix-build-on-macosx.patch 05-libntru-0.2-fix-memory-leak.patch Log: initial import (Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key BDEED020)
Revision Changes Path 1.1 dev-libs/libntru/files/04-libntru-0.2-respect-flags.patch file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/libntru/files/04-libntru-0.2-respect-flags.patch?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/libntru/files/04-libntru-0.2-respect-flags.patch?rev=1.1&content-type=text/plain Index: 04-libntru-0.2-respect-flags.patch =================================================================== From: Julian Ospald <hasuf...@gentoo.org> Date: Wed Apr 16 14:48:00 UTC 2014 Subject: respect system flags --- libntru-0.2/Makefile +++ libntru-0.2/Makefile @@ -1,12 +1,16 @@ CC?=gcc -CFLAGS=-g -Wall -Wextra -Wno-unused-parameter -O2 -LDFLAGS=-lrt +CFLAGS?=-g -O2 +CFLAGS+=-Wall -Wextra -Wno-unused-parameter +LIBS+=-lrt SRCDIR=src TESTDIR=tests LIB_OBJS=bitstring.o encparams.o hash.o idxgen.o key.o mgf.o ntru.o poly.o rand.o sha1.o sha2.o TEST_OBJS=test_bitstring.o test_hash.o test_idxgen.o test_key.o test_ntru.o test.o test_poly.o test_util.o VERSION=0.2 INST_PFX=/usr +INST_LIBDIR=$(INST_PFX)/lib +INST_INCLUDE=$(INST_PFX)/include/libntru +INST_DOCDIR=$(INST_PFX)/share/doc/libntru INST_HEADERS=ntru.h types.h key.h encparams.h hash.h rand.h err.h LIB_OBJS_PATHS=$(patsubst %,$(SRCDIR)/%,$(LIB_OBJS)) @@ -18,29 +22,29 @@ .PHONY: lib lib: $(LIB_OBJS_PATHS) - $(CC) $(CFLAGS) -shared -Wl,-soname,libntru.so -o libntru.so $(LIB_OBJS_PATHS) $(LDFLAGS) + $(CC) $(CFLAGS) $(CPPFLAGS) -shared -Wl,-soname,libntru.so -o libntru.so $(LIB_OBJS_PATHS) $(LDFLAGS) $(LIBS) .PHONY: install install: lib - test -d $(INST_PFX) || mkdir -p $(INST_PFX) - test -d $(INST_PFX)/lib || mkdir $(INST_PFX)/lib - test -d $(INST_PFX)/include/libntru || mkdir -p $(INST_PFX)/include/libntru - test -d $(INST_PFX)/share/doc/libntru || mkdir -p $(INST_PFX)/share/doc/libntru - install -m 0755 libntru.so $(INST_PFX)/lib/libntru.so - install -m 0644 README.md $(INST_PFX)/share/doc/libntru/README.md - for header in $(INST_HEADERS); do \ - install -m 0644 $(SRCDIR)/$$header $(INST_PFX)/include/libntru/; \ + test -d "$(DESTDIR)$(INST_PFX)" || mkdir -p "$(DESTDIR)$(INST_PFX)" + test -d "$(DESTDIR)$(INST_LIBDIR)" || mkdir "$(DESTDIR)$(INST_LIBDIR)" + test -d "$(DESTDIR)$(INST_INCLUDE)" || mkdir -p "$(DESTDIR)$(INST_INCLUDE)" + test -d "$(DESTDIR)$(INST_DOCDIR)" || mkdir -p "$(DESTDIR)$(INST_DOCDIR)" + install -m 0755 libntru.so "$(DESTDIR)$(INST_LIBDIR)/libntru.so" + install -m 0644 README.md "$(DESTDIR)$(INST_DOCDIR)/README.md" + for header in $(INST_HEADERS) ; do \ + install -m 0644 "$(SRCDIR)/$$header" "$(DESTDIR)$(INST_INCLUDE)/" ; \ done .PHONY: uninstall uninstall: - rm -f $(INST_PFX)/lib/libntru.so - rm -f $(INST_PFX)/share/doc/libntru/README.md - rmdir $(INST_PFX)/share/doc/libntru/ - for header in $(INST_HEADERS); do \ - rm $(INST_PFX)/include/libntru/$$header; \ + rm -f "$(DESTDIR)$(INST_LIBDIR)/libntru.so" + rm -f "$(DESTDIR)$(INST_DOCDIR)/README.md" + rmdir "$(DESTDIR)$(INST_DOCDIR)/" + for header in $(INST_HEADERS) ; do \ + rm "$(DESTDIR)$(INST_INCLUDE)/$$header" ; \ done - rmdir $(INST_PFX)/include/libntru/ + rmdir "$(DESTDIR)$(INST_INCLUDE)/" .PHONY: dist dist: @@ -57,17 +61,17 @@ rm -rf $(DIST_NAME) test: lib $(TEST_OBJS_PATHS) - $(CC) $(CFLAGS) -o test $(TEST_OBJS_PATHS) -L. -lntru -lm + $(CC) $(CFLAGS) $(CPPFLAGS) -o test $(TEST_OBJS_PATHS) $(LDFLAGS) -L. -lntru -lm LD_LIBRARY_PATH=. ./test bench: lib $(SRCDIR)/bench.o - $(CC) $(CFLAGS) -o bench $(SRCDIR)/bench.o -L. -lntru + $(CC) $(CFLAGS) $(CPPFLAGS) -o bench $(SRCDIR)/bench.o $(LDFLAGS) -L. -lntru $(SRCDIR)/%.o: $(SRCDIR)/%.c - $(CC) $(CFLAGS) -c -fPIC $< -o $@ + $(CC) $(CFLAGS) $(CPPFLAGS) -c -fPIC $< -o $@ tests/%.o: tests/%.c - $(CC) $(CFLAGS) -fPIC -I$(SRCDIR) -c $< -o $@ + $(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -I$(SRCDIR) -c $< -o $@ .PHONY: clean clean: 1.1 dev-libs/libntru/files/02-libntru-0.2-add-warnings.patch file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/libntru/files/02-libntru-0.2-add-warnings.patch?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/libntru/files/02-libntru-0.2-add-warnings.patch?rev=1.1&content-type=text/plain Index: 02-libntru-0.2-add-warnings.patch =================================================================== >From 70ee775ae08d9965b3b1a2045703ab232289cb52 Mon Sep 17 00:00:00 2001 From: Tim Buktu <tbu...@hotmail.com> Date: Tue, 15 Apr 2014 00:56:43 +0200 Subject: [PATCH] Add -Wextra -Wno-unused-parameter and fix a warning --- Makefile | 2 +- Makefile.osx | 2 +- Makefile.win | 2 +- src/rand.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index eb22b7a..ea88bb3 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ CC?=gcc -CFLAGS=-g -Wall -O2 +CFLAGS=-g -Wall -Wextra -Wno-unused-parameter -O2 LDFLAGS=-lrt SRCDIR=src TESTDIR=tests diff --git a/Makefile.osx b/Makefile.osx index ef20d64..68877fb 100644 --- a/Makefile.osx +++ b/Makefile.osx @@ -1,5 +1,5 @@ CC?=gcc -CFLAGS=-g -Wall -O2 +CFLAGS=-g -Wall -Wextra -Wno-unused-parameter -O2 SRCDIR=src TESTDIR=tests LIB_OBJS=bitstring.o encparams.o hash.o idxgen.o key.o mgf.o ntru.o poly.o rand.o sha1.o sha2.o diff --git a/Makefile.win b/Makefile.win index 8a1c55b..0eb18a5 100644 --- a/Makefile.win +++ b/Makefile.win @@ -1,5 +1,5 @@ CC?=gcc -CFLAGS=-g -Wall -O2 +CFLAGS=-g -Wall -Wextra -Wno-unused-parameter -O2 SRCDIR=src TESTDIR=tests LIB_OBJS=bitstring.o encparams.o hash.o idxgen.o key.o mgf.o ntru.o poly.o rand.o sha1.o sha2.o diff --git a/src/rand.c b/src/rand.c index 187fad2..93bf76b 100644 --- a/src/rand.c +++ b/src/rand.c @@ -17,7 +17,7 @@ uint8_t ntru_rand_wincrypt(uint8_t rand_data[], uint16_t len, NtruRandContext *r if (hCryptProv == 0) { uint8_t result = CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_FULL, 0); if (!result) { - if (GetLastError() == NTE_BAD_KEYSET) // see http://support.microsoft.com/kb/238187 + if (GetLastError() == (DWORD)NTE_BAD_KEYSET) // see http://support.microsoft.com/kb/238187 result = CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET); if (!result) return 0; -- 1.9.1 1.1 dev-libs/libntru/files/03-libntru-0.2-install-rules.patch file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/libntru/files/03-libntru-0.2-install-rules.patch?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/libntru/files/03-libntru-0.2-install-rules.patch?rev=1.1&content-type=text/plain Index: 03-libntru-0.2-install-rules.patch =================================================================== >From 625e8727bbbeb38975e54f1829bcd7a23f81bb11 Mon Sep 17 00:00:00 2001 From: Tim Buktu <tbu...@hotmail.com> Date: Tue, 15 Apr 2014 20:45:36 +0200 Subject: [PATCH] Add Makefile targets New targets: all, install, uninstall, dist, distclean This fixes https://github.com/tbuktu/libntru/issues/6 --- Makefile | 48 +++++++++++++++++++++++++++++++++++++++++++++ Makefile.osx | 47 ++++++++++++++++++++++++++++++++++++++++++++ Makefile.win | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/ntru.h | 1 - 4 files changed, 159 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index ea88bb3..e4a6370 100644 --- a/Makefile +++ b/Makefile @@ -5,14 +5,57 @@ SRCDIR=src TESTDIR=tests LIB_OBJS=bitstring.o encparams.o hash.o idxgen.o key.o mgf.o ntru.o poly.o rand.o sha1.o sha2.o TEST_OBJS=test_bitstring.o test_hash.o test_idxgen.o test_key.o test_ntru.o test.o test_poly.o test_util.o +VERSION=0.2 +INST_PFX=/usr +INST_HEADERS=ntru.h types.h key.h encparams.h hash.h rand.h err.h LIB_OBJS_PATHS=$(patsubst %,$(SRCDIR)/%,$(LIB_OBJS)) TEST_OBJS_PATHS=$(patsubst %,$(TESTDIR)/%,$(TEST_OBJS)) +DIST_NAME=libntru-$(VERSION) + +.PHONY: all +all: lib .PHONY: lib lib: $(LIB_OBJS_PATHS) $(CC) $(CFLAGS) -shared -Wl,-soname,libntru.so -o libntru.so $(LIB_OBJS_PATHS) $(LDFLAGS) +.PHONY: install +install: lib + test -d $(INST_PFX) || mkdir -p $(INST_PFX) + test -d $(INST_PFX)/lib || mkdir $(INST_PFX)/lib + test -d $(INST_PFX)/include/libntru || mkdir -p $(INST_PFX)/include/libntru + test -d $(INST_PFX)/share/doc/libntru || mkdir -p $(INST_PFX)/share/doc/libntru + install -m 0755 libntru.so $(INST_PFX)/lib/libntru.so + install -m 0644 README.md $(INST_PFX)/share/doc/libntru/README.md + for header in $(INST_HEADERS); do \ + install -m 0644 $(SRCDIR)/$$header $(INST_PFX)/include/libntru/; \ + done + +.PHONY: uninstall +uninstall: + rm -f $(INST_PFX)/lib/libntru.so + rm -f $(INST_PFX)/share/doc/libntru/README.md + rmdir $(INST_PFX)/share/doc/libntru/ + for header in $(INST_HEADERS); do \ + rm $(INST_PFX)/include/libntru/$$header; \ + done + rmdir $(INST_PFX)/include/libntru/ + +.PHONY: dist +dist: + rm -rf $(DIST_NAME) + mkdir $(DIST_NAME) + mkdir $(DIST_NAME)/$(SRCDIR) + mkdir $(DIST_NAME)/$(TESTDIR) + cp Makefile Makefile.win Makefile.osx README.md LICENSE PATENTS $(DIST_NAME) + cp $(SRCDIR)/*.c $(DIST_NAME)/$(SRCDIR) + cp $(SRCDIR)/*.h $(DIST_NAME)/$(SRCDIR) + cp $(TESTDIR)/*.c $(DIST_NAME)/$(TESTDIR) + cp $(TESTDIR)/*.h $(DIST_NAME)/$(TESTDIR) + tar cf $(DIST_NAME).tar.xz $(DIST_NAME) --lzma + rm -rf $(DIST_NAME) + test: lib $(TEST_OBJS_PATHS) $(CC) $(CFLAGS) -o test $(TEST_OBJS_PATHS) -L. -lntru -lm LD_LIBRARY_PATH=. ./test @@ -30,3 +73,8 @@ tests/%.o: tests/%.c clean: @# also clean files generated on other OSes rm -f $(SRCDIR)/*.o $(TESTDIR)/*.o libntru.so libntru.dylib libntru.dll test test.exe bench bench.exe + +.PHONY: distclean +distclean: clean + rm -rf $(DIST_NAME) + rm -f $(DIST_NAME).tar.xz $(DIST_NAME).zip diff --git a/Makefile.osx b/Makefile.osx index 68877fb..0baef8c 100644 --- a/Makefile.osx +++ b/Makefile.osx @@ -4,14 +4,56 @@ SRCDIR=src TESTDIR=tests LIB_OBJS=bitstring.o encparams.o hash.o idxgen.o key.o mgf.o ntru.o poly.o rand.o sha1.o sha2.o TEST_OBJS=test_bitstring.o test_hash.o test_idxgen.o test_key.o test_ntru.o test.o test_poly.o test_util.o +VERSION=0.2 +INST_HEADERS=ntru.h types.h key.h encparams.h hash.h rand.h err.h LIB_OBJS_PATHS=$(patsubst %,$(SRCDIR)/%,$(LIB_OBJS)) TEST_OBJS_PATHS=$(patsubst %,$(TESTDIR)/%,$(TEST_OBJS)) +DIST_NAME=libntru-$(VERSION) + +.PHONY: all +all: lib .PHONY: lib lib: $(LIB_OBJS_PATHS) $(CC) $(CFLAGS) -dylib -dynamiclib -o libntru.dylib $(LIB_OBJS_PATHS) $(LDFLAGS) +.PHONY: install +install: lib + test -d $(INST_PFX) || mkdir -p $(INST_PFX) + test -d $(INST_PFX)/lib || mkdir $(INST_PFX)/lib + test -d $(INST_PFX)/include/libntru || mkdir -p $(INST_PFX)/include/libntru + test -d $(INST_PFX)/share/doc/libntru || mkdir -p $(INST_PFX)/share/doc/libntru + install -m 0755 libntru.so $(INST_PFX)/lib/libntru.so + install -m 0644 README.md $(INST_PFX)/share/doc/libntru/README.md + for header in $(INST_HEADERS); do \ + install -m 0644 $(SRCDIR)/$$header $(INST_PFX)/include/libntru/; \ + done + +.PHONY: uninstall +uninstall: + rm -f $(INST_PFX)/lib/libntru.so + rm -f $(INST_PFX)/share/doc/libntru/README.md + rmdir $(INST_PFX)/share/doc/libntru/ + for header in $(INST_HEADERS); do \ + rm $(INST_PFX)/include/libntru/$$header; \ + done + rmdir $(INST_PFX)/include/libntru/ + +.PHONY: dist +dist: + rm -rf $(DIST_NAME) + mkdir $(DIST_NAME) + mkdir $(DIST_NAME)/$(SRCDIR) + mkdir $(DIST_NAME)/$(TESTDIR) + cp Makefile Makefile.win Makefile.osx README.md LICENSE PATENTS $(DIST_NAME) + cp $(SRCDIR)/*.c $(DIST_NAME)/$(SRCDIR) + cp $(SRCDIR)/*.h $(DIST_NAME)/$(SRCDIR) + cp $(TESTDIR)/*.c $(DIST_NAME)/$(TESTDIR) + cp $(TESTDIR)/*.h $(DIST_NAME)/$(TESTDIR) + tar cf $(DIST_NAME).tar.xz $(DIST_NAME) --lzma + rm -rf $(DIST_NAME) + test: lib $(TEST_OBJS_PATHS) $(CC) $(CFLAGS) -o test $(TEST_OBJS_PATHS) -L. -lntru -lm DYLD_LIBRARY_PATH=. ./test @@ -29,3 +71,8 @@ tests/%.o: tests/%.c clean: @# also clean files generated on other OSes rm -f $(SRCDIR)/*.o $(TESTDIR)/*.o libntru.so libntru.dylib libntru.dll test test.exe bench bench.exe + +.PHONY: distclean +distclean: clean + rm -rf $(DIST_NAME) + rm -f $(DIST_NAME).tar.xz $(DIST_NAME).zip diff --git a/Makefile.win b/Makefile.win index 0eb18a5..315e08b 100644 --- a/Makefile.win +++ b/Makefile.win @@ -4,13 +4,64 @@ SRCDIR=src TESTDIR=tests LIB_OBJS=bitstring.o encparams.o hash.o idxgen.o key.o mgf.o ntru.o poly.o rand.o sha1.o sha2.o TEST_OBJS=test_bitstring.o test_hash.o test_idxgen.o test_key.o test_ntru.o test.o test_poly.o test_util.o +VERSION=0.2 +INST_PFX=%PROGRAMFILES% +INST_HEADERS=ntru.h types.h key.h encparams.h hash.h rand.h err.h LIB_OBJS_PATHS=$(patsubst %,$(SRCDIR)/%,$(LIB_OBJS)) TEST_OBJS_PATHS=$(patsubst %,$(TESTDIR)/%,$(TEST_OBJS)) +DIST_NAME=libntru-$(VERSION) +.PHONY: all +all: lib + +.PHONY: lib lib: $(LIB_OBJS_PATHS) $(CC) $(CFLAGS) -shared -o libntru.dll $(LIB_OBJS_PATHS) -lws2_32 -ladvapi32 +.PHONY: install +install: lib + if not exist "%PROGRAMFILES%\libntru" mkdir "%PROGRAMFILES%\libntru" + if not exist "%PROGRAMFILES%\libntru\include" mkdir "%PROGRAMFILES%\libntru\include" + copy libntru.dll "%PROGRAMFILES%\libntru" + copy README.md "%PROGRAMFILES%\libntru" + for %%h in ($(INST_HEADERS)) do \ + copy $(SRCDIR)\%%h "%PROGRAMFILES%\libntru\include" + +uninstall: + if exist "%PROGRAMFILES%\libntru\libntru.dll" del "%PROGRAMFILES%\libntru\libntru.dll" + if exist "%PROGRAMFILES%\libntru\README.md" del "%PROGRAMFILES%\libntru\README.md" + for %%h in ($(INST_HEADERS)) do \ + if exist "%PROGRAMFILES%\libntru\include\%%h" del "%PROGRAMFILES%\libntru\include\%%h" + if exist "%PROGRAMFILES%\libntru\include" rmdir "%PROGRAMFILES%\libntru\include" + if exist "%PROGRAMFILES%\libntru" rmdir "%PROGRAMFILES%\libntru" + +.PHONY: dist +dist: + @if exist $(DIST_NAME)\$(SRCDIR)\*.c del $(DIST_NAME)\$(SRCDIR)\*.c + @if exist $(DIST_NAME)\$(SRCDIR)\*.h del $(DIST_NAME)\$(SRCDIR)\*.h + @if exist $(DIST_NAME)\$(SRCDIR) rmdir $(DIST_NAME)\$(SRCDIR) + @if exist $(DIST_NAME)\$(TESTDIR)\*.c del $(DIST_NAME)\$(TESTDIR)\*.c + @if exist $(DIST_NAME)\$(TESTDIR)\*.h del $(DIST_NAME)\$(TESTDIR)\*.h + @if exist $(DIST_NAME)\$(TESTDIR) rmdir $(DIST_NAME)\$(TESTDIR) + @if exist $(DIST_NAME)\*.* del /q $(DIST_NAME)\*.* + @if exist $(DIST_NAME) rmdir $(DIST_NAME) + mkdir $(DIST_NAME) + mkdir $(DIST_NAME)\$(SRCDIR) + mkdir $(DIST_NAME)\$(TESTDIR) + copy Makefile $(DIST_NAME) + copy Makefile.win $(DIST_NAME) + copy Makefile.osx $(DIST_NAME) + copy README.md $(DIST_NAME) + copy LICENSE $(DIST_NAME) + copy PATENTS $(DIST_NAME) + copy $(SRCDIR)\*.c $(DIST_NAME)\$(SRCDIR) + copy $(SRCDIR)\*.h $(DIST_NAME)\$(SRCDIR) + copy $(TESTDIR)\*.c $(DIST_NAME)\$(TESTDIR) + copy $(TESTDIR)\*.h $(DIST_NAME)\$(TESTDIR) + @rem zip is provided by MinGW + zip -rm $(DIST_NAME).zip $(DIST_NAME) + test: lib $(TEST_OBJS_PATHS) $(CC) $(CFLAGS) -o test.exe $(TEST_OBJS_PATHS) -L. -lntru -lm test.exe @@ -36,3 +87,16 @@ clean: @if exist libntru.dylib del libntru.dylib @if exist test del test @if exist bench del bench + +.PHONY: distclean +distclean: clean + @if exist $(DIST_NAME)\$(SRCDIR)\*.c del $(DIST_NAME)\$(SRCDIR)\*.c + @if exist $(DIST_NAME)\$(SRCDIR)\*.h del $(DIST_NAME)\$(SRCDIR)\*.h + @if exist $(DIST_NAME)\$(SRCDIR) rmdir $(DIST_NAME)\$(SRCDIR) + @if exist $(DIST_NAME)\$(TESTDIR)\*.c del $(DIST_NAME)\$(TESTDIR)\*.c + @if exist $(DIST_NAME)\$(TESTDIR)\*.h del $(DIST_NAME)\$(TESTDIR)\*.h + @if exist $(DIST_NAME)\$(TESTDIR) rmdir $(DIST_NAME)\$(TESTDIR) + @if exist $(DIST_NAME)\*.* del /q $(DIST_NAME)\*.* + @if exist $(DIST_NAME) rmdir $(DIST_NAME) + @if exist $(DIST_NAME).zip del $(DIST_NAME).zip + @if exist $(DIST_NAME).tar.xz del $(DIST_NAME).tar.xz diff --git a/src/ntru.h b/src/ntru.h index a8ff338..41f15e3 100644 --- a/src/ntru.h +++ b/src/ntru.h @@ -3,7 +3,6 @@ #include "types.h" #include "key.h" -#include "poly.h" #include "encparams.h" #include "rand.h" #include "err.h" -- 1.9.1 1.1 dev-libs/libntru/files/01-libntru-0.2-fix-build-on-macosx.patch file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/libntru/files/01-libntru-0.2-fix-build-on-macosx.patch?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/libntru/files/01-libntru-0.2-fix-build-on-macosx.patch?rev=1.1&content-type=text/plain Index: 01-libntru-0.2-fix-build-on-macosx.patch =================================================================== >From 286bbe95e479202d8c8c3cc7bf37eaf206e5f88c Mon Sep 17 00:00:00 2001 From: Tim Buktu <tbu...@hotmail.com> Date: Tue, 15 Apr 2014 00:39:12 +0200 Subject: [PATCH] Fix build on Mac OS X (see http://sourceforge.net/p/ntru/feature-requests/2/) --- Makefile | 14 ++++---------- Makefile.osx | 31 +++++++++++++++++++++++++++++++ Makefile.win | 7 +++++-- 3 files changed, 40 insertions(+), 12 deletions(-) create mode 100644 Makefile.osx diff --git a/Makefile b/Makefile index a349627..eb22b7a 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,4 @@ +CC?=gcc CFLAGS=-g -Wall -O2 LDFLAGS=-lrt SRCDIR=src @@ -8,17 +9,9 @@ TEST_OBJS=test_bitstring.o test_hash.o test_idxgen.o test_key.o test_ntru.o test LIB_OBJS_PATHS=$(patsubst %,$(SRCDIR)/%,$(LIB_OBJS)) TEST_OBJS_PATHS=$(patsubst %,$(TESTDIR)/%,$(TEST_OBJS)) -# Use -install_name on Mac OS, -soname everywhere else -UNAME := $(shell uname) -ifeq ($(UNAME), Darwin) - SONAME=-install_name -else - SONAME=-soname -endif - .PHONY: lib lib: $(LIB_OBJS_PATHS) - $(CC) $(CFLAGS) -shared -Wl,$(SONAME),libntru.so -o libntru.so $(LIB_OBJS_PATHS) $(LDFLAGS) + $(CC) $(CFLAGS) -shared -Wl,-soname,libntru.so -o libntru.so $(LIB_OBJS_PATHS) $(LDFLAGS) test: lib $(TEST_OBJS_PATHS) $(CC) $(CFLAGS) -o test $(TEST_OBJS_PATHS) -L. -lntru -lm @@ -35,4 +28,5 @@ tests/%.o: tests/%.c .PHONY: clean clean: - rm -f $(SRCDIR)/*.o $(TESTDIR)/*.o libntru.so libntru.dll test test.exe bench bench.exe + @# also clean files generated on other OSes + rm -f $(SRCDIR)/*.o $(TESTDIR)/*.o libntru.so libntru.dylib libntru.dll test test.exe bench bench.exe diff --git a/Makefile.osx b/Makefile.osx new file mode 100644 index 0000000..ef20d64 --- /dev/null +++ b/Makefile.osx @@ -0,0 +1,31 @@ +CC?=gcc +CFLAGS=-g -Wall -O2 +SRCDIR=src +TESTDIR=tests +LIB_OBJS=bitstring.o encparams.o hash.o idxgen.o key.o mgf.o ntru.o poly.o rand.o sha1.o sha2.o +TEST_OBJS=test_bitstring.o test_hash.o test_idxgen.o test_key.o test_ntru.o test.o test_poly.o test_util.o + +LIB_OBJS_PATHS=$(patsubst %,$(SRCDIR)/%,$(LIB_OBJS)) +TEST_OBJS_PATHS=$(patsubst %,$(TESTDIR)/%,$(TEST_OBJS)) + +.PHONY: lib +lib: $(LIB_OBJS_PATHS) + $(CC) $(CFLAGS) -dylib -dynamiclib -o libntru.dylib $(LIB_OBJS_PATHS) $(LDFLAGS) + +test: lib $(TEST_OBJS_PATHS) + $(CC) $(CFLAGS) -o test $(TEST_OBJS_PATHS) -L. -lntru -lm + DYLD_LIBRARY_PATH=. ./test + +bench: lib $(SRCDIR)/bench.o + $(CC) $(CFLAGS) -o bench $(SRCDIR)/bench.o -L. -lntru + +$(SRCDIR)/%.o: $(SRCDIR)/%.c + $(CC) $(CFLAGS) -c -fPIC $< -o $@ + +tests/%.o: tests/%.c + $(CC) $(CFLAGS) -fPIC -I$(SRCDIR) -c $< -o $@ + +.PHONY: clean +clean: + @# also clean files generated on other OSes + rm -f $(SRCDIR)/*.o $(TESTDIR)/*.o libntru.so libntru.dylib libntru.dll test test.exe bench bench.exe diff --git a/Makefile.win b/Makefile.win index de8619e..8a1c55b 100644 --- a/Makefile.win +++ b/Makefile.win @@ -1,3 +1,4 @@ +CC?=gcc CFLAGS=-g -Wall -O2 SRCDIR=src TESTDIR=tests @@ -28,8 +29,10 @@ clean: @if exist $(SRCDIR)\*.o del $(SRCDIR)\*.o @if exist $(TESTDIR)\*.o del $(TESTDIR)\*.o @if exist libntru.dll del libntru.dll - @if exist libntru.so del libntru.so @if exist test.exe del test.exe - @if exist test del test @if exist bench.exe del bench.exe + @rem ***** clean files generated on other OSes ***** + @if exist libntru.so del libntru.so + @if exist libntru.dylib del libntru.dylib + @if exist test del test @if exist bench del bench -- 1.9.1 1.1 dev-libs/libntru/files/05-libntru-0.2-fix-memory-leak.patch file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/libntru/files/05-libntru-0.2-fix-memory-leak.patch?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/libntru/files/05-libntru-0.2-fix-memory-leak.patch?rev=1.1&content-type=text/plain Index: 05-libntru-0.2-fix-memory-leak.patch =================================================================== >From eada223e688d0777f852ca827a375121b375def3 Mon Sep 17 00:00:00 2001 From: gga01 <gg...@users.noreply.github.com> Date: Wed, 16 Apr 2014 00:57:01 +0300 Subject: [PATCH] Fix memory leak (issue #7) --- src/ntru.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ntru.c b/src/ntru.c index b7513cb..73f0449 100644 --- a/src/ntru.c +++ b/src/ntru.c @@ -360,7 +360,7 @@ uint8_t ntru_encrypt_det(uint8_t *msg, uint16_t msg_len, NtruEncPubKey *pub, Ntr rand_state = NULL; NtruRandContext rand_ctx = {seed, seed_len, &rand_state}; uint8_t result = ntru_encrypt_internal(msg, msg_len, pub, params, rng, &rand_ctx, enc); - if (rand_state == NULL) + if (rand_state != NULL) free(rand_state); return result; } -- 1.9.1