summaryrefslogtreecommitdiff
path: root/main/openssl/crypto/pkcs12
diff options
context:
space:
mode:
authorArne Schwabe <arne@rfc2549.org>2014-02-13 15:53:13 +0100
committerArne Schwabe <arne@rfc2549.org>2014-02-13 15:53:13 +0100
commitdfd5ef42cf6b68bd7ee7b522ac3c9a55cd54c889 (patch)
tree39061cd184fac30537df44c379a4ecb18d119bc6 /main/openssl/crypto/pkcs12
parentb91aedc11393608ba7fb38f358c35ece662fd1b7 (diff)
Move to new gradle project structure (drop Eclipse support, add initial remote demo project)
--HG-- rename : build.gradle => main/build.gradle rename : jni/Android.mk => main/jni/Android.mk rename : jni/Application.mk => main/jni/Application.mk rename : jni/dummy.cpp => main/jni/dummy.cpp rename : jni/jbcrypto.cpp => main/jni/jbcrypto.cpp rename : jni/jniglue.c => main/jni/jniglue.c rename : jni/jniglue.h => main/jni/jniglue.h rename : jni/minivpn.c => main/jni/minivpn.c rename : lzo/AUTHORS => main/lzo/AUTHORS rename : lzo/Android.mk => main/lzo/Android.mk rename : lzo/B/00README.TXT => main/lzo/B/00README.TXT rename : lzo/B/clean.bat => main/lzo/B/clean.bat rename : lzo/B/done.bat => main/lzo/B/done.bat rename : lzo/B/dos16/bc.bat => main/lzo/B/dos16/bc.bat rename : lzo/B/dos16/bc.rsp => main/lzo/B/dos16/bc.rsp rename : lzo/B/dos16/bc_286.bat => main/lzo/B/dos16/bc_286.bat rename : lzo/B/dos16/bc_pp.bat => main/lzo/B/dos16/bc_pp.bat rename : lzo/B/dos16/dm.bat => main/lzo/B/dos16/dm.bat rename : lzo/B/dos16/mc.bat => main/lzo/B/dos16/mc.bat rename : lzo/B/dos16/mc_qc.bat => main/lzo/B/dos16/mc_qc.bat rename : lzo/B/dos16/qc.bat => main/lzo/B/dos16/qc.bat rename : lzo/B/dos16/sc.bat => main/lzo/B/dos16/sc.bat rename : lzo/B/dos16/tc.bat => main/lzo/B/dos16/tc.bat rename : lzo/B/dos16/vc.bat => main/lzo/B/dos16/vc.bat rename : lzo/B/dos16/vc_qc.bat => main/lzo/B/dos16/vc_qc.bat rename : lzo/B/dos16/wc.bat => main/lzo/B/dos16/wc.bat rename : lzo/B/dos16/wc.rsp => main/lzo/B/dos16/wc.rsp rename : lzo/B/dos32/bc_pp.bat => main/lzo/B/dos32/bc_pp.bat rename : lzo/B/dos32/dj2.bat => main/lzo/B/dos32/dj2.bat rename : lzo/B/dos32/dj2.opt => main/lzo/B/dos32/dj2.opt rename : lzo/B/dos32/dm.bat => main/lzo/B/dos32/dm.bat rename : lzo/B/dos32/emx.bat => main/lzo/B/dos32/emx.bat rename : lzo/B/dos32/highc.bat => main/lzo/B/dos32/highc.bat rename : lzo/B/dos32/highc.rsp => main/lzo/B/dos32/highc.rsp rename : lzo/B/dos32/ndp.bat => main/lzo/B/dos32/ndp.bat rename : lzo/B/dos32/ndp.rsp => main/lzo/B/dos32/ndp.rsp rename : lzo/B/dos32/sc.bat => main/lzo/B/dos32/sc.bat rename : lzo/B/dos32/wc.bat => main/lzo/B/dos32/wc.bat rename : lzo/B/dos32/zc.bat => main/lzo/B/dos32/zc.bat rename : lzo/B/generic/Makefile => main/lzo/B/generic/Makefile rename : lzo/B/generic/build.sh => main/lzo/B/generic/build.sh rename : lzo/B/generic/build_freestanding.sh => main/lzo/B/generic/build_freestanding.sh rename : lzo/B/generic/build_gcc.sh => main/lzo/B/generic/build_gcc.sh rename : lzo/B/generic/clean.sh => main/lzo/B/generic/clean.sh rename : lzo/B/os2/emx.bat => main/lzo/B/os2/emx.bat rename : lzo/B/os2/wc.bat => main/lzo/B/os2/wc.bat rename : lzo/B/os2/zc.bat => main/lzo/B/os2/zc.bat rename : lzo/B/os2_16/mc.bat => main/lzo/B/os2_16/mc.bat rename : lzo/B/os2_16/wc.bat => main/lzo/B/os2_16/wc.bat rename : lzo/B/prepare.bat => main/lzo/B/prepare.bat rename : lzo/B/src.rsp => main/lzo/B/src.rsp rename : lzo/B/unset.bat => main/lzo/B/unset.bat rename : lzo/B/win16/bc.bat => main/lzo/B/win16/bc.bat rename : lzo/B/win16/dm.bat => main/lzo/B/win16/dm.bat rename : lzo/B/win16/mc.bat => main/lzo/B/win16/mc.bat rename : lzo/B/win16/sc.bat => main/lzo/B/win16/sc.bat rename : lzo/B/win16/vc.bat => main/lzo/B/win16/vc.bat rename : lzo/B/win16/wc.bat => main/lzo/B/win16/wc.bat rename : lzo/B/win32/bc.bat => main/lzo/B/win32/bc.bat rename : lzo/B/win32/bc.rsp => main/lzo/B/win32/bc.rsp rename : lzo/B/win32/cygwin.bat => main/lzo/B/win32/cygwin.bat rename : lzo/B/win32/cygwin.rsp => main/lzo/B/win32/cygwin.rsp rename : lzo/B/win32/dm.bat => main/lzo/B/win32/dm.bat rename : lzo/B/win32/ic.bat => main/lzo/B/win32/ic.bat rename : lzo/B/win32/lccwin32.bat => main/lzo/B/win32/lccwin32.bat rename : lzo/B/win32/mingw.bat => main/lzo/B/win32/mingw.bat rename : lzo/B/win32/mwerks.bat => main/lzo/B/win32/mwerks.bat rename : lzo/B/win32/pellesc.bat => main/lzo/B/win32/pellesc.bat rename : lzo/B/win32/pgi.bat => main/lzo/B/win32/pgi.bat rename : lzo/B/win32/pw32.bat => main/lzo/B/win32/pw32.bat rename : lzo/B/win32/rsxnt.bat => main/lzo/B/win32/rsxnt.bat rename : lzo/B/win32/sc.bat => main/lzo/B/win32/sc.bat rename : lzo/B/win32/vc.bat => main/lzo/B/win32/vc.bat rename : lzo/B/win32/vc.rsp => main/lzo/B/win32/vc.rsp rename : lzo/B/win32/vc_dll.bat => main/lzo/B/win32/vc_dll.bat rename : lzo/B/win32/vc_dll.def => main/lzo/B/win32/vc_dll.def rename : lzo/B/win32/wc.bat => main/lzo/B/win32/wc.bat rename : lzo/B/win32/wc.rsp => main/lzo/B/win32/wc.rsp rename : lzo/B/win64/ic.bat => main/lzo/B/win64/ic.bat rename : lzo/B/win64/ic_dll.bat => main/lzo/B/win64/ic_dll.bat rename : lzo/B/win64/vc.bat => main/lzo/B/win64/vc.bat rename : lzo/B/win64/vc.rsp => main/lzo/B/win64/vc.rsp rename : lzo/B/win64/vc_dll.bat => main/lzo/B/win64/vc_dll.bat rename : lzo/B/win64/vc_dll.def => main/lzo/B/win64/vc_dll.def rename : lzo/BUGS => main/lzo/BUGS rename : lzo/COPYING => main/lzo/COPYING rename : lzo/ChangeLog => main/lzo/ChangeLog rename : lzo/INSTALL => main/lzo/INSTALL rename : lzo/Makefile => main/lzo/Makefile rename : lzo/Makefile.am => main/lzo/Makefile.am rename : lzo/Makefile.in => main/lzo/Makefile.in rename : lzo/NEWS => main/lzo/NEWS rename : lzo/README => main/lzo/README rename : lzo/README.ANDROID => main/lzo/README.ANDROID rename : lzo/THANKS => main/lzo/THANKS rename : lzo/aclocal.m4 => main/lzo/aclocal.m4 rename : lzo/asm/i386/00README.TXT => main/lzo/asm/i386/00README.TXT rename : lzo/asm/i386/obj/coff32/lzo1c_s1.o => main/lzo/asm/i386/obj/coff32/lzo1c_s1.o rename : lzo/asm/i386/obj/coff32/lzo1c_s2.o => main/lzo/asm/i386/obj/coff32/lzo1c_s2.o rename : lzo/asm/i386/obj/coff32/lzo1f_f1.o => main/lzo/asm/i386/obj/coff32/lzo1f_f1.o rename : lzo/asm/i386/obj/coff32/lzo1f_f2.o => main/lzo/asm/i386/obj/coff32/lzo1f_f2.o rename : lzo/asm/i386/obj/coff32/lzo1x_f1.o => main/lzo/asm/i386/obj/coff32/lzo1x_f1.o rename : lzo/asm/i386/obj/coff32/lzo1x_f2.o => main/lzo/asm/i386/obj/coff32/lzo1x_f2.o rename : lzo/asm/i386/obj/coff32/lzo1x_s1.o => main/lzo/asm/i386/obj/coff32/lzo1x_s1.o rename : lzo/asm/i386/obj/coff32/lzo1x_s2.o => main/lzo/asm/i386/obj/coff32/lzo1x_s2.o rename : lzo/asm/i386/obj/coff32/lzo1y_f1.o => main/lzo/asm/i386/obj/coff32/lzo1y_f1.o rename : lzo/asm/i386/obj/coff32/lzo1y_f2.o => main/lzo/asm/i386/obj/coff32/lzo1y_f2.o rename : lzo/asm/i386/obj/coff32/lzo1y_s1.o => main/lzo/asm/i386/obj/coff32/lzo1y_s1.o rename : lzo/asm/i386/obj/coff32/lzo1y_s2.o => main/lzo/asm/i386/obj/coff32/lzo1y_s2.o rename : lzo/asm/i386/obj/elf32/lzo1c_s1.o => main/lzo/asm/i386/obj/elf32/lzo1c_s1.o rename : lzo/asm/i386/obj/elf32/lzo1c_s2.o => main/lzo/asm/i386/obj/elf32/lzo1c_s2.o rename : lzo/asm/i386/obj/elf32/lzo1f_f1.o => main/lzo/asm/i386/obj/elf32/lzo1f_f1.o rename : lzo/asm/i386/obj/elf32/lzo1f_f2.o => main/lzo/asm/i386/obj/elf32/lzo1f_f2.o rename : lzo/asm/i386/obj/elf32/lzo1x_f1.o => main/lzo/asm/i386/obj/elf32/lzo1x_f1.o rename : lzo/asm/i386/obj/elf32/lzo1x_f2.o => main/lzo/asm/i386/obj/elf32/lzo1x_f2.o rename : lzo/asm/i386/obj/elf32/lzo1x_s1.o => main/lzo/asm/i386/obj/elf32/lzo1x_s1.o rename : lzo/asm/i386/obj/elf32/lzo1x_s2.o => main/lzo/asm/i386/obj/elf32/lzo1x_s2.o rename : lzo/asm/i386/obj/elf32/lzo1y_f1.o => main/lzo/asm/i386/obj/elf32/lzo1y_f1.o rename : lzo/asm/i386/obj/elf32/lzo1y_f2.o => main/lzo/asm/i386/obj/elf32/lzo1y_f2.o rename : lzo/asm/i386/obj/elf32/lzo1y_s1.o => main/lzo/asm/i386/obj/elf32/lzo1y_s1.o rename : lzo/asm/i386/obj/elf32/lzo1y_s2.o => main/lzo/asm/i386/obj/elf32/lzo1y_s2.o rename : lzo/asm/i386/obj/omf32/lzo1c_s1.obj => main/lzo/asm/i386/obj/omf32/lzo1c_s1.obj rename : lzo/asm/i386/obj/omf32/lzo1c_s2.obj => main/lzo/asm/i386/obj/omf32/lzo1c_s2.obj rename : lzo/asm/i386/obj/omf32/lzo1f_f1.obj => main/lzo/asm/i386/obj/omf32/lzo1f_f1.obj rename : lzo/asm/i386/obj/omf32/lzo1f_f2.obj => main/lzo/asm/i386/obj/omf32/lzo1f_f2.obj rename : lzo/asm/i386/obj/omf32/lzo1x_f1.obj => main/lzo/asm/i386/obj/omf32/lzo1x_f1.obj rename : lzo/asm/i386/obj/omf32/lzo1x_f2.obj => main/lzo/asm/i386/obj/omf32/lzo1x_f2.obj rename : lzo/asm/i386/obj/omf32/lzo1x_s1.obj => main/lzo/asm/i386/obj/omf32/lzo1x_s1.obj rename : lzo/asm/i386/obj/omf32/lzo1x_s2.obj => main/lzo/asm/i386/obj/omf32/lzo1x_s2.obj rename : lzo/asm/i386/obj/omf32/lzo1y_f1.obj => main/lzo/asm/i386/obj/omf32/lzo1y_f1.obj rename : lzo/asm/i386/obj/omf32/lzo1y_f2.obj => main/lzo/asm/i386/obj/omf32/lzo1y_f2.obj rename : lzo/asm/i386/obj/omf32/lzo1y_s1.obj => main/lzo/asm/i386/obj/omf32/lzo1y_s1.obj rename : lzo/asm/i386/obj/omf32/lzo1y_s2.obj => main/lzo/asm/i386/obj/omf32/lzo1y_s2.obj rename : lzo/asm/i386/obj/win32/lzo1c_s1.obj => main/lzo/asm/i386/obj/win32/lzo1c_s1.obj rename : lzo/asm/i386/obj/win32/lzo1c_s2.obj => main/lzo/asm/i386/obj/win32/lzo1c_s2.obj rename : lzo/asm/i386/obj/win32/lzo1f_f1.obj => main/lzo/asm/i386/obj/win32/lzo1f_f1.obj rename : lzo/asm/i386/obj/win32/lzo1f_f2.obj => main/lzo/asm/i386/obj/win32/lzo1f_f2.obj rename : lzo/asm/i386/obj/win32/lzo1x_f1.obj => main/lzo/asm/i386/obj/win32/lzo1x_f1.obj rename : lzo/asm/i386/obj/win32/lzo1x_f2.obj => main/lzo/asm/i386/obj/win32/lzo1x_f2.obj rename : lzo/asm/i386/obj/win32/lzo1x_s1.obj => main/lzo/asm/i386/obj/win32/lzo1x_s1.obj rename : lzo/asm/i386/obj/win32/lzo1x_s2.obj => main/lzo/asm/i386/obj/win32/lzo1x_s2.obj rename : lzo/asm/i386/obj/win32/lzo1y_f1.obj => main/lzo/asm/i386/obj/win32/lzo1y_f1.obj rename : lzo/asm/i386/obj/win32/lzo1y_f2.obj => main/lzo/asm/i386/obj/win32/lzo1y_f2.obj rename : lzo/asm/i386/obj/win32/lzo1y_s1.obj => main/lzo/asm/i386/obj/win32/lzo1y_s1.obj rename : lzo/asm/i386/obj/win32/lzo1y_s2.obj => main/lzo/asm/i386/obj/win32/lzo1y_s2.obj rename : lzo/asm/i386/src/enter.ash => main/lzo/asm/i386/src/enter.ash rename : lzo/asm/i386/src/leave.ash => main/lzo/asm/i386/src/leave.ash rename : lzo/asm/i386/src/lzo1c_d.ash => main/lzo/asm/i386/src/lzo1c_d.ash rename : lzo/asm/i386/src/lzo1c_s1.S => main/lzo/asm/i386/src/lzo1c_s1.S rename : lzo/asm/i386/src/lzo1c_s2.S => main/lzo/asm/i386/src/lzo1c_s2.S rename : lzo/asm/i386/src/lzo1f_d.ash => main/lzo/asm/i386/src/lzo1f_d.ash rename : lzo/asm/i386/src/lzo1f_f1.S => main/lzo/asm/i386/src/lzo1f_f1.S rename : lzo/asm/i386/src/lzo1f_f2.S => main/lzo/asm/i386/src/lzo1f_f2.S rename : lzo/asm/i386/src/lzo1x_d.ash => main/lzo/asm/i386/src/lzo1x_d.ash rename : lzo/asm/i386/src/lzo1x_f1.S => main/lzo/asm/i386/src/lzo1x_f1.S rename : lzo/asm/i386/src/lzo1x_f2.S => main/lzo/asm/i386/src/lzo1x_f2.S rename : lzo/asm/i386/src/lzo1x_s1.S => main/lzo/asm/i386/src/lzo1x_s1.S rename : lzo/asm/i386/src/lzo1x_s2.S => main/lzo/asm/i386/src/lzo1x_s2.S rename : lzo/asm/i386/src/lzo1y_f1.S => main/lzo/asm/i386/src/lzo1y_f1.S rename : lzo/asm/i386/src/lzo1y_f2.S => main/lzo/asm/i386/src/lzo1y_f2.S rename : lzo/asm/i386/src/lzo1y_s1.S => main/lzo/asm/i386/src/lzo1y_s1.S rename : lzo/asm/i386/src/lzo1y_s2.S => main/lzo/asm/i386/src/lzo1y_s2.S rename : lzo/asm/i386/src/lzo_asm.h => main/lzo/asm/i386/src/lzo_asm.h rename : lzo/asm/i386/src_gas/all/asm_all.S => main/lzo/asm/i386/src_gas/all/asm_all.S rename : lzo/asm/i386/src_gas/asminit.def => main/lzo/asm/i386/src_gas/asminit.def rename : lzo/asm/i386/src_gas/lzo1c_s1.S => main/lzo/asm/i386/src_gas/lzo1c_s1.S rename : lzo/asm/i386/src_gas/lzo1c_s2.S => main/lzo/asm/i386/src_gas/lzo1c_s2.S rename : lzo/asm/i386/src_gas/lzo1f_f1.S => main/lzo/asm/i386/src_gas/lzo1f_f1.S rename : lzo/asm/i386/src_gas/lzo1f_f2.S => main/lzo/asm/i386/src_gas/lzo1f_f2.S rename : lzo/asm/i386/src_gas/lzo1x_f1.S => main/lzo/asm/i386/src_gas/lzo1x_f1.S rename : lzo/asm/i386/src_gas/lzo1x_f2.S => main/lzo/asm/i386/src_gas/lzo1x_f2.S rename : lzo/asm/i386/src_gas/lzo1x_s1.S => main/lzo/asm/i386/src_gas/lzo1x_s1.S rename : lzo/asm/i386/src_gas/lzo1x_s2.S => main/lzo/asm/i386/src_gas/lzo1x_s2.S rename : lzo/asm/i386/src_gas/lzo1y_f1.S => main/lzo/asm/i386/src_gas/lzo1y_f1.S rename : lzo/asm/i386/src_gas/lzo1y_f2.S => main/lzo/asm/i386/src_gas/lzo1y_f2.S rename : lzo/asm/i386/src_gas/lzo1y_s1.S => main/lzo/asm/i386/src_gas/lzo1y_s1.S rename : lzo/asm/i386/src_gas/lzo1y_s2.S => main/lzo/asm/i386/src_gas/lzo1y_s2.S rename : lzo/asm/i386/src_masm/all/asm_all.asm => main/lzo/asm/i386/src_masm/all/asm_all.asm rename : lzo/asm/i386/src_masm/asminit.def => main/lzo/asm/i386/src_masm/asminit.def rename : lzo/asm/i386/src_masm/lzo1c_s1.asm => main/lzo/asm/i386/src_masm/lzo1c_s1.asm rename : lzo/asm/i386/src_masm/lzo1c_s2.asm => main/lzo/asm/i386/src_masm/lzo1c_s2.asm rename : lzo/asm/i386/src_masm/lzo1f_f1.asm => main/lzo/asm/i386/src_masm/lzo1f_f1.asm rename : lzo/asm/i386/src_masm/lzo1f_f2.asm => main/lzo/asm/i386/src_masm/lzo1f_f2.asm rename : lzo/asm/i386/src_masm/lzo1x_f1.asm => main/lzo/asm/i386/src_masm/lzo1x_f1.asm rename : lzo/asm/i386/src_masm/lzo1x_f2.asm => main/lzo/asm/i386/src_masm/lzo1x_f2.asm rename : lzo/asm/i386/src_masm/lzo1x_s1.asm => main/lzo/asm/i386/src_masm/lzo1x_s1.asm rename : lzo/asm/i386/src_masm/lzo1x_s2.asm => main/lzo/asm/i386/src_masm/lzo1x_s2.asm rename : lzo/asm/i386/src_masm/lzo1y_f1.asm => main/lzo/asm/i386/src_masm/lzo1y_f1.asm rename : lzo/asm/i386/src_masm/lzo1y_f2.asm => main/lzo/asm/i386/src_masm/lzo1y_f2.asm rename : lzo/asm/i386/src_masm/lzo1y_s1.asm => main/lzo/asm/i386/src_masm/lzo1y_s1.asm rename : lzo/asm/i386/src_masm/lzo1y_s2.asm => main/lzo/asm/i386/src_masm/lzo1y_s2.asm rename : lzo/asm/i386/src_nasm/all/asm_all.asm => main/lzo/asm/i386/src_nasm/all/asm_all.asm rename : lzo/asm/i386/src_nasm/asminit.def => main/lzo/asm/i386/src_nasm/asminit.def rename : lzo/asm/i386/src_nasm/lzo1c_s1.asm => main/lzo/asm/i386/src_nasm/lzo1c_s1.asm rename : lzo/asm/i386/src_nasm/lzo1c_s2.asm => main/lzo/asm/i386/src_nasm/lzo1c_s2.asm rename : lzo/asm/i386/src_nasm/lzo1f_f1.asm => main/lzo/asm/i386/src_nasm/lzo1f_f1.asm rename : lzo/asm/i386/src_nasm/lzo1f_f2.asm => main/lzo/asm/i386/src_nasm/lzo1f_f2.asm rename : lzo/asm/i386/src_nasm/lzo1x_f1.asm => main/lzo/asm/i386/src_nasm/lzo1x_f1.asm rename : lzo/asm/i386/src_nasm/lzo1x_f2.asm => main/lzo/asm/i386/src_nasm/lzo1x_f2.asm rename : lzo/asm/i386/src_nasm/lzo1x_s1.asm => main/lzo/asm/i386/src_nasm/lzo1x_s1.asm rename : lzo/asm/i386/src_nasm/lzo1x_s2.asm => main/lzo/asm/i386/src_nasm/lzo1x_s2.asm rename : lzo/asm/i386/src_nasm/lzo1y_f1.asm => main/lzo/asm/i386/src_nasm/lzo1y_f1.asm rename : lzo/asm/i386/src_nasm/lzo1y_f2.asm => main/lzo/asm/i386/src_nasm/lzo1y_f2.asm rename : lzo/asm/i386/src_nasm/lzo1y_s1.asm => main/lzo/asm/i386/src_nasm/lzo1y_s1.asm rename : lzo/asm/i386/src_nasm/lzo1y_s2.asm => main/lzo/asm/i386/src_nasm/lzo1y_s2.asm rename : lzo/autoconf/compile => main/lzo/autoconf/compile rename : lzo/autoconf/config.guess => main/lzo/autoconf/config.guess rename : lzo/autoconf/config.rpath => main/lzo/autoconf/config.rpath rename : lzo/autoconf/config.sub => main/lzo/autoconf/config.sub rename : lzo/autoconf/depcomp => main/lzo/autoconf/depcomp rename : lzo/autoconf/install-sh => main/lzo/autoconf/install-sh rename : lzo/autoconf/local.m4 => main/lzo/autoconf/local.m4 rename : lzo/autoconf/ltmain.sh => main/lzo/autoconf/ltmain.sh rename : lzo/autoconf/mdate-sh => main/lzo/autoconf/mdate-sh rename : lzo/autoconf/missing => main/lzo/autoconf/missing rename : lzo/autoconf/mkinstalldirs => main/lzo/autoconf/mkinstalldirs rename : lzo/autoconf/py-compile => main/lzo/autoconf/py-compile rename : lzo/autoconf/shtool => main/lzo/autoconf/shtool rename : lzo/autoconf/ylwrap => main/lzo/autoconf/ylwrap rename : lzo/config.h => main/lzo/config.h rename : lzo/config.hin => main/lzo/config.hin rename : lzo/config.log => main/lzo/config.log rename : lzo/config.status => main/lzo/config.status rename : lzo/configure => main/lzo/configure rename : lzo/configure.ac => main/lzo/configure.ac rename : lzo/doc/LZO.FAQ => main/lzo/doc/LZO.FAQ rename : lzo/doc/LZO.TXT => main/lzo/doc/LZO.TXT rename : lzo/doc/LZOAPI.TXT => main/lzo/doc/LZOAPI.TXT rename : lzo/doc/LZOTEST.TXT => main/lzo/doc/LZOTEST.TXT rename : lzo/examples/.deps/dict.Po => main/lzo/examples/.deps/dict.Po rename : lzo/examples/.deps/lzopack.Po => main/lzo/examples/.deps/lzopack.Po rename : lzo/examples/.deps/overlap.Po => main/lzo/examples/.deps/overlap.Po rename : lzo/examples/.deps/precomp.Po => main/lzo/examples/.deps/precomp.Po rename : lzo/examples/.deps/precomp2.Po => main/lzo/examples/.deps/precomp2.Po rename : lzo/examples/.deps/simple.Po => main/lzo/examples/.deps/simple.Po rename : lzo/examples/Makefile => main/lzo/examples/Makefile rename : lzo/examples/Makefile.am => main/lzo/examples/Makefile.am rename : lzo/examples/Makefile.in => main/lzo/examples/Makefile.in rename : lzo/examples/dict.c => main/lzo/examples/dict.c rename : lzo/examples/lzopack.c => main/lzo/examples/lzopack.c rename : lzo/examples/overlap.c => main/lzo/examples/overlap.c rename : lzo/examples/portab.h => main/lzo/examples/portab.h rename : lzo/examples/portab_a.h => main/lzo/examples/portab_a.h rename : lzo/examples/precomp.c => main/lzo/examples/precomp.c rename : lzo/examples/precomp2.c => main/lzo/examples/precomp2.c rename : lzo/examples/simple.c => main/lzo/examples/simple.c rename : lzo/include/Makefile => main/lzo/include/Makefile rename : lzo/include/Makefile.am => main/lzo/include/Makefile.am rename : lzo/include/Makefile.in => main/lzo/include/Makefile.in rename : lzo/include/lzo/Makefile => main/lzo/include/lzo/Makefile rename : lzo/include/lzo/Makefile.am => main/lzo/include/lzo/Makefile.am rename : lzo/include/lzo/Makefile.in => main/lzo/include/lzo/Makefile.in rename : lzo/include/lzo/lzo1.h => main/lzo/include/lzo/lzo1.h rename : lzo/include/lzo/lzo1a.h => main/lzo/include/lzo/lzo1a.h rename : lzo/include/lzo/lzo1b.h => main/lzo/include/lzo/lzo1b.h rename : lzo/include/lzo/lzo1c.h => main/lzo/include/lzo/lzo1c.h rename : lzo/include/lzo/lzo1f.h => main/lzo/include/lzo/lzo1f.h rename : lzo/include/lzo/lzo1x.h => main/lzo/include/lzo/lzo1x.h rename : lzo/include/lzo/lzo1y.h => main/lzo/include/lzo/lzo1y.h rename : lzo/include/lzo/lzo1z.h => main/lzo/include/lzo/lzo1z.h rename : lzo/include/lzo/lzo2a.h => main/lzo/include/lzo/lzo2a.h rename : lzo/include/lzo/lzo_asm.h => main/lzo/include/lzo/lzo_asm.h rename : lzo/include/lzo/lzoconf.h => main/lzo/include/lzo/lzoconf.h rename : lzo/include/lzo/lzodefs.h => main/lzo/include/lzo/lzodefs.h rename : lzo/include/lzo/lzoutil.h => main/lzo/include/lzo/lzoutil.h rename : lzo/libtool => main/lzo/libtool rename : lzo/lzotest/.deps/lzotest.Po => main/lzo/lzotest/.deps/lzotest.Po rename : lzo/lzotest/Makefile => main/lzo/lzotest/Makefile rename : lzo/lzotest/Makefile.am => main/lzo/lzotest/Makefile.am rename : lzo/lzotest/Makefile.in => main/lzo/lzotest/Makefile.in rename : lzo/lzotest/asm.h => main/lzo/lzotest/asm.h rename : lzo/lzotest/db.h => main/lzo/lzotest/db.h rename : lzo/lzotest/lzotest.c => main/lzo/lzotest/lzotest.c rename : lzo/lzotest/mygetopt.ch => main/lzo/lzotest/mygetopt.ch rename : lzo/lzotest/mygetopt.h => main/lzo/lzotest/mygetopt.h rename : lzo/lzotest/wrap.h => main/lzo/lzotest/wrap.h rename : lzo/lzotest/wrapmisc.h => main/lzo/lzotest/wrapmisc.h rename : lzo/minilzo/.deps/minilzo.Po => main/lzo/minilzo/.deps/minilzo.Po rename : lzo/minilzo/.deps/testmini.Po => main/lzo/minilzo/.deps/testmini.Po rename : lzo/minilzo/Makefile => main/lzo/minilzo/Makefile rename : lzo/minilzo/Makefile.am => main/lzo/minilzo/Makefile.am rename : lzo/minilzo/Makefile.in => main/lzo/minilzo/Makefile.in rename : lzo/minilzo/Makefile.minilzo => main/lzo/minilzo/Makefile.minilzo rename : lzo/minilzo/README.LZO => main/lzo/minilzo/README.LZO rename : lzo/minilzo/minilzo.c => main/lzo/minilzo/minilzo.c rename : lzo/minilzo/minilzo.h => main/lzo/minilzo/minilzo.h rename : lzo/minilzo/testmini.c => main/lzo/minilzo/testmini.c rename : lzo/src/.deps/lzo1.Plo => main/lzo/src/.deps/lzo1.Plo rename : lzo/src/.deps/lzo1_99.Plo => main/lzo/src/.deps/lzo1_99.Plo rename : lzo/src/.deps/lzo1a.Plo => main/lzo/src/.deps/lzo1a.Plo rename : lzo/src/.deps/lzo1a_99.Plo => main/lzo/src/.deps/lzo1a_99.Plo rename : lzo/src/.deps/lzo1b_1.Plo => main/lzo/src/.deps/lzo1b_1.Plo rename : lzo/src/.deps/lzo1b_2.Plo => main/lzo/src/.deps/lzo1b_2.Plo rename : lzo/src/.deps/lzo1b_3.Plo => main/lzo/src/.deps/lzo1b_3.Plo rename : lzo/src/.deps/lzo1b_4.Plo => main/lzo/src/.deps/lzo1b_4.Plo rename : lzo/src/.deps/lzo1b_5.Plo => main/lzo/src/.deps/lzo1b_5.Plo rename : lzo/src/.deps/lzo1b_6.Plo => main/lzo/src/.deps/lzo1b_6.Plo rename : lzo/src/.deps/lzo1b_7.Plo => main/lzo/src/.deps/lzo1b_7.Plo rename : lzo/src/.deps/lzo1b_8.Plo => main/lzo/src/.deps/lzo1b_8.Plo rename : lzo/src/.deps/lzo1b_9.Plo => main/lzo/src/.deps/lzo1b_9.Plo rename : lzo/src/.deps/lzo1b_99.Plo => main/lzo/src/.deps/lzo1b_99.Plo rename : lzo/src/.deps/lzo1b_9x.Plo => main/lzo/src/.deps/lzo1b_9x.Plo rename : lzo/src/.deps/lzo1b_cc.Plo => main/lzo/src/.deps/lzo1b_cc.Plo rename : lzo/src/.deps/lzo1b_d1.Plo => main/lzo/src/.deps/lzo1b_d1.Plo rename : lzo/src/.deps/lzo1b_d2.Plo => main/lzo/src/.deps/lzo1b_d2.Plo rename : lzo/src/.deps/lzo1b_rr.Plo => main/lzo/src/.deps/lzo1b_rr.Plo rename : lzo/src/.deps/lzo1b_xx.Plo => main/lzo/src/.deps/lzo1b_xx.Plo rename : lzo/src/.deps/lzo1c_1.Plo => main/lzo/src/.deps/lzo1c_1.Plo rename : lzo/src/.deps/lzo1c_2.Plo => main/lzo/src/.deps/lzo1c_2.Plo rename : lzo/src/.deps/lzo1c_3.Plo => main/lzo/src/.deps/lzo1c_3.Plo rename : lzo/src/.deps/lzo1c_4.Plo => main/lzo/src/.deps/lzo1c_4.Plo rename : lzo/src/.deps/lzo1c_5.Plo => main/lzo/src/.deps/lzo1c_5.Plo rename : lzo/src/.deps/lzo1c_6.Plo => main/lzo/src/.deps/lzo1c_6.Plo rename : lzo/src/.deps/lzo1c_7.Plo => main/lzo/src/.deps/lzo1c_7.Plo rename : lzo/src/.deps/lzo1c_8.Plo => main/lzo/src/.deps/lzo1c_8.Plo rename : lzo/src/.deps/lzo1c_9.Plo => main/lzo/src/.deps/lzo1c_9.Plo rename : lzo/src/.deps/lzo1c_99.Plo => main/lzo/src/.deps/lzo1c_99.Plo rename : lzo/src/.deps/lzo1c_9x.Plo => main/lzo/src/.deps/lzo1c_9x.Plo rename : lzo/src/.deps/lzo1c_cc.Plo => main/lzo/src/.deps/lzo1c_cc.Plo rename : lzo/src/.deps/lzo1c_d1.Plo => main/lzo/src/.deps/lzo1c_d1.Plo rename : lzo/src/.deps/lzo1c_d2.Plo => main/lzo/src/.deps/lzo1c_d2.Plo rename : lzo/src/.deps/lzo1c_rr.Plo => main/lzo/src/.deps/lzo1c_rr.Plo rename : lzo/src/.deps/lzo1c_xx.Plo => main/lzo/src/.deps/lzo1c_xx.Plo rename : lzo/src/.deps/lzo1f_1.Plo => main/lzo/src/.deps/lzo1f_1.Plo rename : lzo/src/.deps/lzo1f_9x.Plo => main/lzo/src/.deps/lzo1f_9x.Plo rename : lzo/src/.deps/lzo1f_d1.Plo => main/lzo/src/.deps/lzo1f_d1.Plo rename : lzo/src/.deps/lzo1f_d2.Plo => main/lzo/src/.deps/lzo1f_d2.Plo rename : lzo/src/.deps/lzo1x_1.Plo => main/lzo/src/.deps/lzo1x_1.Plo rename : lzo/src/.deps/lzo1x_1k.Plo => main/lzo/src/.deps/lzo1x_1k.Plo rename : lzo/src/.deps/lzo1x_1l.Plo => main/lzo/src/.deps/lzo1x_1l.Plo rename : lzo/src/.deps/lzo1x_1o.Plo => main/lzo/src/.deps/lzo1x_1o.Plo rename : lzo/src/.deps/lzo1x_9x.Plo => main/lzo/src/.deps/lzo1x_9x.Plo rename : lzo/src/.deps/lzo1x_d1.Plo => main/lzo/src/.deps/lzo1x_d1.Plo rename : lzo/src/.deps/lzo1x_d2.Plo => main/lzo/src/.deps/lzo1x_d2.Plo rename : lzo/src/.deps/lzo1x_d3.Plo => main/lzo/src/.deps/lzo1x_d3.Plo rename : lzo/src/.deps/lzo1x_o.Plo => main/lzo/src/.deps/lzo1x_o.Plo rename : lzo/src/.deps/lzo1y_1.Plo => main/lzo/src/.deps/lzo1y_1.Plo rename : lzo/src/.deps/lzo1y_9x.Plo => main/lzo/src/.deps/lzo1y_9x.Plo rename : lzo/src/.deps/lzo1y_d1.Plo => main/lzo/src/.deps/lzo1y_d1.Plo rename : lzo/src/.deps/lzo1y_d2.Plo => main/lzo/src/.deps/lzo1y_d2.Plo rename : lzo/src/.deps/lzo1y_d3.Plo => main/lzo/src/.deps/lzo1y_d3.Plo rename : lzo/src/.deps/lzo1y_o.Plo => main/lzo/src/.deps/lzo1y_o.Plo rename : lzo/src/.deps/lzo1z_9x.Plo => main/lzo/src/.deps/lzo1z_9x.Plo rename : lzo/src/.deps/lzo1z_d1.Plo => main/lzo/src/.deps/lzo1z_d1.Plo rename : lzo/src/.deps/lzo1z_d2.Plo => main/lzo/src/.deps/lzo1z_d2.Plo rename : lzo/src/.deps/lzo1z_d3.Plo => main/lzo/src/.deps/lzo1z_d3.Plo rename : lzo/src/.deps/lzo2a_9x.Plo => main/lzo/src/.deps/lzo2a_9x.Plo rename : lzo/src/.deps/lzo2a_d1.Plo => main/lzo/src/.deps/lzo2a_d1.Plo rename : lzo/src/.deps/lzo2a_d2.Plo => main/lzo/src/.deps/lzo2a_d2.Plo rename : lzo/src/.deps/lzo_crc.Plo => main/lzo/src/.deps/lzo_crc.Plo rename : lzo/src/.deps/lzo_init.Plo => main/lzo/src/.deps/lzo_init.Plo rename : lzo/src/.deps/lzo_ptr.Plo => main/lzo/src/.deps/lzo_ptr.Plo rename : lzo/src/.deps/lzo_str.Plo => main/lzo/src/.deps/lzo_str.Plo rename : lzo/src/.deps/lzo_util.Plo => main/lzo/src/.deps/lzo_util.Plo rename : lzo/src/Makefile => main/lzo/src/Makefile rename : lzo/src/Makefile.am => main/lzo/src/Makefile.am rename : lzo/src/Makefile.in => main/lzo/src/Makefile.in rename : lzo/src/compr1b.h => main/lzo/src/compr1b.h rename : lzo/src/compr1c.h => main/lzo/src/compr1c.h rename : lzo/src/config1.h => main/lzo/src/config1.h rename : lzo/src/config1a.h => main/lzo/src/config1a.h rename : lzo/src/config1b.h => main/lzo/src/config1b.h rename : lzo/src/config1c.h => main/lzo/src/config1c.h rename : lzo/src/config1f.h => main/lzo/src/config1f.h rename : lzo/src/config1x.h => main/lzo/src/config1x.h rename : lzo/src/config1y.h => main/lzo/src/config1y.h rename : lzo/src/config1z.h => main/lzo/src/config1z.h rename : lzo/src/config2a.h => main/lzo/src/config2a.h rename : lzo/src/lzo1.c => main/lzo/src/lzo1.c rename : lzo/src/lzo1_99.c => main/lzo/src/lzo1_99.c rename : lzo/src/lzo1_cm.ch => main/lzo/src/lzo1_cm.ch rename : lzo/src/lzo1_d.ch => main/lzo/src/lzo1_d.ch rename : lzo/src/lzo1a.c => main/lzo/src/lzo1a.c rename : lzo/src/lzo1a_99.c => main/lzo/src/lzo1a_99.c rename : lzo/src/lzo1a_cm.ch => main/lzo/src/lzo1a_cm.ch rename : lzo/src/lzo1a_cr.ch => main/lzo/src/lzo1a_cr.ch rename : lzo/src/lzo1a_de.h => main/lzo/src/lzo1a_de.h rename : lzo/src/lzo1b_1.c => main/lzo/src/lzo1b_1.c rename : lzo/src/lzo1b_2.c => main/lzo/src/lzo1b_2.c rename : lzo/src/lzo1b_3.c => main/lzo/src/lzo1b_3.c rename : lzo/src/lzo1b_4.c => main/lzo/src/lzo1b_4.c rename : lzo/src/lzo1b_5.c => main/lzo/src/lzo1b_5.c rename : lzo/src/lzo1b_6.c => main/lzo/src/lzo1b_6.c rename : lzo/src/lzo1b_7.c => main/lzo/src/lzo1b_7.c rename : lzo/src/lzo1b_8.c => main/lzo/src/lzo1b_8.c rename : lzo/src/lzo1b_9.c => main/lzo/src/lzo1b_9.c rename : lzo/src/lzo1b_99.c => main/lzo/src/lzo1b_99.c rename : lzo/src/lzo1b_9x.c => main/lzo/src/lzo1b_9x.c rename : lzo/src/lzo1b_c.ch => main/lzo/src/lzo1b_c.ch rename : lzo/src/lzo1b_cc.c => main/lzo/src/lzo1b_cc.c rename : lzo/src/lzo1b_cc.h => main/lzo/src/lzo1b_cc.h rename : lzo/src/lzo1b_cm.ch => main/lzo/src/lzo1b_cm.ch rename : lzo/src/lzo1b_cr.ch => main/lzo/src/lzo1b_cr.ch rename : lzo/src/lzo1b_d.ch => main/lzo/src/lzo1b_d.ch rename : lzo/src/lzo1b_d1.c => main/lzo/src/lzo1b_d1.c rename : lzo/src/lzo1b_d2.c => main/lzo/src/lzo1b_d2.c rename : lzo/src/lzo1b_de.h => main/lzo/src/lzo1b_de.h rename : lzo/src/lzo1b_r.ch => main/lzo/src/lzo1b_r.ch rename : lzo/src/lzo1b_rr.c => main/lzo/src/lzo1b_rr.c rename : lzo/src/lzo1b_sm.ch => main/lzo/src/lzo1b_sm.ch rename : lzo/src/lzo1b_tm.ch => main/lzo/src/lzo1b_tm.ch rename : lzo/src/lzo1b_xx.c => main/lzo/src/lzo1b_xx.c rename : lzo/src/lzo1c_1.c => main/lzo/src/lzo1c_1.c rename : lzo/src/lzo1c_2.c => main/lzo/src/lzo1c_2.c rename : lzo/src/lzo1c_3.c => main/lzo/src/lzo1c_3.c rename : lzo/src/lzo1c_4.c => main/lzo/src/lzo1c_4.c rename : lzo/src/lzo1c_5.c => main/lzo/src/lzo1c_5.c rename : lzo/src/lzo1c_6.c => main/lzo/src/lzo1c_6.c rename : lzo/src/lzo1c_7.c => main/lzo/src/lzo1c_7.c rename : lzo/src/lzo1c_8.c => main/lzo/src/lzo1c_8.c rename : lzo/src/lzo1c_9.c => main/lzo/src/lzo1c_9.c rename : lzo/src/lzo1c_99.c => main/lzo/src/lzo1c_99.c rename : lzo/src/lzo1c_9x.c => main/lzo/src/lzo1c_9x.c rename : lzo/src/lzo1c_cc.c => main/lzo/src/lzo1c_cc.c rename : lzo/src/lzo1c_cc.h => main/lzo/src/lzo1c_cc.h rename : lzo/src/lzo1c_d1.c => main/lzo/src/lzo1c_d1.c rename : lzo/src/lzo1c_d2.c => main/lzo/src/lzo1c_d2.c rename : lzo/src/lzo1c_rr.c => main/lzo/src/lzo1c_rr.c rename : lzo/src/lzo1c_xx.c => main/lzo/src/lzo1c_xx.c rename : lzo/src/lzo1f_1.c => main/lzo/src/lzo1f_1.c rename : lzo/src/lzo1f_9x.c => main/lzo/src/lzo1f_9x.c rename : lzo/src/lzo1f_d.ch => main/lzo/src/lzo1f_d.ch rename : lzo/src/lzo1f_d1.c => main/lzo/src/lzo1f_d1.c rename : lzo/src/lzo1f_d2.c => main/lzo/src/lzo1f_d2.c rename : lzo/src/lzo1x_1.c => main/lzo/src/lzo1x_1.c rename : lzo/src/lzo1x_1k.c => main/lzo/src/lzo1x_1k.c rename : lzo/src/lzo1x_1l.c => main/lzo/src/lzo1x_1l.c rename : lzo/src/lzo1x_1o.c => main/lzo/src/lzo1x_1o.c rename : lzo/src/lzo1x_9x.c => main/lzo/src/lzo1x_9x.c rename : lzo/src/lzo1x_c.ch => main/lzo/src/lzo1x_c.ch rename : lzo/src/lzo1x_d.ch => main/lzo/src/lzo1x_d.ch rename : lzo/src/lzo1x_d1.c => main/lzo/src/lzo1x_d1.c rename : lzo/src/lzo1x_d2.c => main/lzo/src/lzo1x_d2.c rename : lzo/src/lzo1x_d3.c => main/lzo/src/lzo1x_d3.c rename : lzo/src/lzo1x_o.c => main/lzo/src/lzo1x_o.c rename : lzo/src/lzo1x_oo.ch => main/lzo/src/lzo1x_oo.ch rename : lzo/src/lzo1y_1.c => main/lzo/src/lzo1y_1.c rename : lzo/src/lzo1y_9x.c => main/lzo/src/lzo1y_9x.c rename : lzo/src/lzo1y_d1.c => main/lzo/src/lzo1y_d1.c rename : lzo/src/lzo1y_d2.c => main/lzo/src/lzo1y_d2.c rename : lzo/src/lzo1y_d3.c => main/lzo/src/lzo1y_d3.c rename : lzo/src/lzo1y_o.c => main/lzo/src/lzo1y_o.c rename : lzo/src/lzo1z_9x.c => main/lzo/src/lzo1z_9x.c rename : lzo/src/lzo1z_d1.c => main/lzo/src/lzo1z_d1.c rename : lzo/src/lzo1z_d2.c => main/lzo/src/lzo1z_d2.c rename : lzo/src/lzo1z_d3.c => main/lzo/src/lzo1z_d3.c rename : lzo/src/lzo2a_9x.c => main/lzo/src/lzo2a_9x.c rename : lzo/src/lzo2a_d.ch => main/lzo/src/lzo2a_d.ch rename : lzo/src/lzo2a_d1.c => main/lzo/src/lzo2a_d1.c rename : lzo/src/lzo2a_d2.c => main/lzo/src/lzo2a_d2.c rename : lzo/src/lzo_conf.h => main/lzo/src/lzo_conf.h rename : lzo/src/lzo_crc.c => main/lzo/src/lzo_crc.c rename : lzo/src/lzo_dict.h => main/lzo/src/lzo_dict.h rename : lzo/src/lzo_dll.ch => main/lzo/src/lzo_dll.ch rename : lzo/src/lzo_func.ch => main/lzo/src/lzo_func.ch rename : lzo/src/lzo_init.c => main/lzo/src/lzo_init.c rename : lzo/src/lzo_mchw.ch => main/lzo/src/lzo_mchw.ch rename : lzo/src/lzo_ptr.c => main/lzo/src/lzo_ptr.c rename : lzo/src/lzo_ptr.h => main/lzo/src/lzo_ptr.h rename : lzo/src/lzo_str.c => main/lzo/src/lzo_str.c rename : lzo/src/lzo_swd.ch => main/lzo/src/lzo_swd.ch rename : lzo/src/lzo_util.c => main/lzo/src/lzo_util.c rename : lzo/src/miniacc.h => main/lzo/src/miniacc.h rename : lzo/src/stats1a.h => main/lzo/src/stats1a.h rename : lzo/src/stats1b.h => main/lzo/src/stats1b.h rename : lzo/src/stats1c.h => main/lzo/src/stats1c.h rename : lzo/stamp-h1 => main/lzo/stamp-h1 rename : lzo/tests/.deps/align.Po => main/lzo/tests/.deps/align.Po rename : lzo/tests/.deps/chksum.Po => main/lzo/tests/.deps/chksum.Po rename : lzo/tests/.deps/promote.Po => main/lzo/tests/.deps/promote.Po rename : lzo/tests/.deps/sizes.Po => main/lzo/tests/.deps/sizes.Po rename : lzo/tests/Makefile => main/lzo/tests/Makefile rename : lzo/tests/Makefile.am => main/lzo/tests/Makefile.am rename : lzo/tests/Makefile.in => main/lzo/tests/Makefile.in rename : lzo/tests/align.c => main/lzo/tests/align.c rename : lzo/tests/chksum.c => main/lzo/tests/chksum.c rename : lzo/tests/promote.c => main/lzo/tests/promote.c rename : lzo/tests/sizes.c => main/lzo/tests/sizes.c rename : lzo/util/check.sh => main/lzo/util/check.sh rename : lzo/util/checkasm.sh => main/lzo/util/checkasm.sh rename : lzo/util/notime.pl => main/lzo/util/notime.pl rename : lzo/util/overlap.sh => main/lzo/util/overlap.sh rename : lzo/util/shortf.pl => main/lzo/util/shortf.pl rename : lzo/util/table.pl => main/lzo/util/table.pl rename : lzo/util/uncompr.pl => main/lzo/util/uncompr.pl rename : openssl/Android.mk => main/openssl/Android.mk rename : openssl/CleanSpec.mk => main/openssl/CleanSpec.mk rename : openssl/MODULE_LICENSE_BSD_LIKE => main/openssl/MODULE_LICENSE_BSD_LIKE rename : openssl/NOTICE => main/openssl/NOTICE rename : openssl/README.android => main/openssl/README.android rename : openssl/ThirdPartyProject.prop => main/openssl/ThirdPartyProject.prop rename : openssl/android-config.mk => main/openssl/android-config.mk rename : openssl/android.testssl/CAss.cnf => main/openssl/android.testssl/CAss.cnf rename : openssl/android.testssl/Uss.cnf => main/openssl/android.testssl/Uss.cnf rename : openssl/android.testssl/server2.pem => main/openssl/android.testssl/server2.pem rename : openssl/android.testssl/testssl => main/openssl/android.testssl/testssl rename : openssl/android.testssl/testssl.sh => main/openssl/android.testssl/testssl.sh rename : openssl/apps/Android.mk => main/openssl/apps/Android.mk rename : openssl/apps/CA.pl => main/openssl/apps/CA.pl rename : openssl/apps/CA.pl.in => main/openssl/apps/CA.pl.in rename : openssl/apps/CA.sh => main/openssl/apps/CA.sh rename : openssl/apps/app_rand.c => main/openssl/apps/app_rand.c rename : openssl/apps/apps.c => main/openssl/apps/apps.c rename : openssl/apps/apps.h => main/openssl/apps/apps.h rename : openssl/apps/asn1pars.c => main/openssl/apps/asn1pars.c rename : openssl/apps/ca-cert.srl => main/openssl/apps/ca-cert.srl rename : openssl/apps/ca-key.pem => main/openssl/apps/ca-key.pem rename : openssl/apps/ca-req.pem => main/openssl/apps/ca-req.pem rename : openssl/apps/ca.c => main/openssl/apps/ca.c rename : openssl/apps/cert.pem => main/openssl/apps/cert.pem rename : openssl/apps/ciphers.c => main/openssl/apps/ciphers.c rename : openssl/apps/client.pem => main/openssl/apps/client.pem rename : openssl/apps/cms.c => main/openssl/apps/cms.c rename : openssl/apps/crl.c => main/openssl/apps/crl.c rename : openssl/apps/crl2p7.c => main/openssl/apps/crl2p7.c rename : openssl/apps/dgst.c => main/openssl/apps/dgst.c rename : openssl/apps/dh.c => main/openssl/apps/dh.c rename : openssl/apps/dh1024.pem => main/openssl/apps/dh1024.pem rename : openssl/apps/dh2048.pem => main/openssl/apps/dh2048.pem rename : openssl/apps/dh4096.pem => main/openssl/apps/dh4096.pem rename : openssl/apps/dh512.pem => main/openssl/apps/dh512.pem rename : openssl/apps/dhparam.c => main/openssl/apps/dhparam.c rename : openssl/apps/dsa-ca.pem => main/openssl/apps/dsa-ca.pem rename : openssl/apps/dsa-pca.pem => main/openssl/apps/dsa-pca.pem rename : openssl/apps/dsa.c => main/openssl/apps/dsa.c rename : openssl/apps/dsa1024.pem => main/openssl/apps/dsa1024.pem rename : openssl/apps/dsa512.pem => main/openssl/apps/dsa512.pem rename : openssl/apps/dsap.pem => main/openssl/apps/dsap.pem rename : openssl/apps/dsaparam.c => main/openssl/apps/dsaparam.c rename : openssl/apps/ec.c => main/openssl/apps/ec.c rename : openssl/apps/ecparam.c => main/openssl/apps/ecparam.c rename : openssl/apps/enc.c => main/openssl/apps/enc.c rename : openssl/apps/engine.c => main/openssl/apps/engine.c rename : openssl/apps/errstr.c => main/openssl/apps/errstr.c rename : openssl/apps/gendh.c => main/openssl/apps/gendh.c rename : openssl/apps/gendsa.c => main/openssl/apps/gendsa.c rename : openssl/apps/genpkey.c => main/openssl/apps/genpkey.c rename : openssl/apps/genrsa.c => main/openssl/apps/genrsa.c rename : openssl/apps/md4.c => main/openssl/apps/md4.c rename : openssl/apps/nseq.c => main/openssl/apps/nseq.c rename : openssl/apps/ocsp.c => main/openssl/apps/ocsp.c rename : openssl/apps/oid.cnf => main/openssl/apps/oid.cnf rename : openssl/apps/openssl.c => main/openssl/apps/openssl.c rename : openssl/apps/openssl.cnf => main/openssl/apps/openssl.cnf rename : openssl/apps/passwd.c => main/openssl/apps/passwd.c rename : openssl/apps/pca-cert.srl => main/openssl/apps/pca-cert.srl rename : openssl/apps/pca-key.pem => main/openssl/apps/pca-key.pem rename : openssl/apps/pca-req.pem => main/openssl/apps/pca-req.pem rename : openssl/apps/pkcs12.c => main/openssl/apps/pkcs12.c rename : openssl/apps/pkcs7.c => main/openssl/apps/pkcs7.c rename : openssl/apps/pkcs8.c => main/openssl/apps/pkcs8.c rename : openssl/apps/pkey.c => main/openssl/apps/pkey.c rename : openssl/apps/pkeyparam.c => main/openssl/apps/pkeyparam.c rename : openssl/apps/pkeyutl.c => main/openssl/apps/pkeyutl.c rename : openssl/apps/prime.c => main/openssl/apps/prime.c rename : openssl/apps/privkey.pem => main/openssl/apps/privkey.pem rename : openssl/apps/progs.h => main/openssl/apps/progs.h rename : openssl/apps/progs.pl => main/openssl/apps/progs.pl rename : openssl/apps/rand.c => main/openssl/apps/rand.c rename : openssl/apps/req.c => main/openssl/apps/req.c rename : openssl/apps/req.pem => main/openssl/apps/req.pem rename : openssl/apps/rsa.c => main/openssl/apps/rsa.c rename : openssl/apps/rsa8192.pem => main/openssl/apps/rsa8192.pem rename : openssl/apps/rsautl.c => main/openssl/apps/rsautl.c rename : openssl/apps/s1024key.pem => main/openssl/apps/s1024key.pem rename : openssl/apps/s1024req.pem => main/openssl/apps/s1024req.pem rename : openssl/apps/s512-key.pem => main/openssl/apps/s512-key.pem rename : openssl/apps/s512-req.pem => main/openssl/apps/s512-req.pem rename : openssl/apps/s_apps.h => main/openssl/apps/s_apps.h rename : openssl/apps/s_cb.c => main/openssl/apps/s_cb.c rename : openssl/apps/s_client.c => main/openssl/apps/s_client.c rename : openssl/apps/s_server.c => main/openssl/apps/s_server.c rename : openssl/apps/s_socket.c => main/openssl/apps/s_socket.c rename : openssl/apps/s_time.c => main/openssl/apps/s_time.c rename : openssl/apps/server.pem => main/openssl/apps/server.pem rename : openssl/apps/server.srl => main/openssl/apps/server.srl rename : openssl/apps/server2.pem => main/openssl/apps/server2.pem rename : openssl/apps/sess_id.c => main/openssl/apps/sess_id.c rename : openssl/apps/smime.c => main/openssl/apps/smime.c rename : openssl/apps/speed.c => main/openssl/apps/speed.c rename : openssl/apps/spkac.c => main/openssl/apps/spkac.c rename : openssl/apps/testCA.pem => main/openssl/apps/testCA.pem rename : openssl/apps/testdsa.h => main/openssl/apps/testdsa.h rename : openssl/apps/testrsa.h => main/openssl/apps/testrsa.h rename : openssl/apps/timeouts.h => main/openssl/apps/timeouts.h rename : openssl/apps/verify.c => main/openssl/apps/verify.c rename : openssl/apps/version.c => main/openssl/apps/version.c rename : openssl/apps/winrand.c => main/openssl/apps/winrand.c rename : openssl/apps/x509.c => main/openssl/apps/x509.c rename : openssl/crypto/Android.mk => main/openssl/crypto/Android.mk rename : openssl/crypto/LPdir_nyi.c => main/openssl/crypto/LPdir_nyi.c rename : openssl/crypto/LPdir_unix.c => main/openssl/crypto/LPdir_unix.c rename : openssl/crypto/LPdir_win.c => main/openssl/crypto/LPdir_win.c rename : openssl/crypto/LPdir_wince.c => main/openssl/crypto/LPdir_wince.c rename : openssl/crypto/aes/README => main/openssl/crypto/aes/README rename : openssl/crypto/aes/aes.h => main/openssl/crypto/aes/aes.h rename : openssl/crypto/aes/aes_cbc.c => main/openssl/crypto/aes/aes_cbc.c rename : openssl/crypto/aes/aes_cfb.c => main/openssl/crypto/aes/aes_cfb.c rename : openssl/crypto/aes/aes_core.c => main/openssl/crypto/aes/aes_core.c rename : openssl/crypto/aes/aes_ctr.c => main/openssl/crypto/aes/aes_ctr.c rename : openssl/crypto/aes/aes_ecb.c => main/openssl/crypto/aes/aes_ecb.c rename : openssl/crypto/aes/aes_ige.c => main/openssl/crypto/aes/aes_ige.c rename : openssl/crypto/aes/aes_locl.h => main/openssl/crypto/aes/aes_locl.h rename : openssl/crypto/aes/aes_misc.c => main/openssl/crypto/aes/aes_misc.c rename : openssl/crypto/aes/aes_ofb.c => main/openssl/crypto/aes/aes_ofb.c rename : openssl/crypto/aes/aes_wrap.c => main/openssl/crypto/aes/aes_wrap.c rename : openssl/crypto/aes/aes_x86core.c => main/openssl/crypto/aes/aes_x86core.c rename : openssl/crypto/aes/asm/aes-586.pl => main/openssl/crypto/aes/asm/aes-586.pl rename : openssl/crypto/aes/asm/aes-armv4.pl => main/openssl/crypto/aes/asm/aes-armv4.pl rename : openssl/crypto/aes/asm/aes-armv4.s => main/openssl/crypto/aes/asm/aes-armv4.s rename : openssl/crypto/aes/asm/aes-ia64.S => main/openssl/crypto/aes/asm/aes-ia64.S rename : openssl/crypto/aes/asm/aes-ppc.pl => main/openssl/crypto/aes/asm/aes-ppc.pl rename : openssl/crypto/aes/asm/aes-s390x.pl => main/openssl/crypto/aes/asm/aes-s390x.pl rename : openssl/crypto/aes/asm/aes-sparcv9.pl => main/openssl/crypto/aes/asm/aes-sparcv9.pl rename : openssl/crypto/aes/asm/aes-x86_64.pl => main/openssl/crypto/aes/asm/aes-x86_64.pl rename : openssl/crypto/alphacpuid.pl => main/openssl/crypto/alphacpuid.pl rename : openssl/crypto/asn1/a_bitstr.c => main/openssl/crypto/asn1/a_bitstr.c rename : openssl/crypto/asn1/a_bool.c => main/openssl/crypto/asn1/a_bool.c rename : openssl/crypto/asn1/a_bytes.c => main/openssl/crypto/asn1/a_bytes.c rename : openssl/crypto/asn1/a_d2i_fp.c => main/openssl/crypto/asn1/a_d2i_fp.c rename : openssl/crypto/asn1/a_digest.c => main/openssl/crypto/asn1/a_digest.c rename : openssl/crypto/asn1/a_dup.c => main/openssl/crypto/asn1/a_dup.c rename : openssl/crypto/asn1/a_enum.c => main/openssl/crypto/asn1/a_enum.c rename : openssl/crypto/asn1/a_gentm.c => main/openssl/crypto/asn1/a_gentm.c rename : openssl/crypto/asn1/a_i2d_fp.c => main/openssl/crypto/asn1/a_i2d_fp.c rename : openssl/crypto/asn1/a_int.c => main/openssl/crypto/asn1/a_int.c rename : openssl/crypto/asn1/a_mbstr.c => main/openssl/crypto/asn1/a_mbstr.c rename : openssl/crypto/asn1/a_object.c => main/openssl/crypto/asn1/a_object.c rename : openssl/crypto/asn1/a_octet.c => main/openssl/crypto/asn1/a_octet.c rename : openssl/crypto/asn1/a_print.c => main/openssl/crypto/asn1/a_print.c rename : openssl/crypto/asn1/a_set.c => main/openssl/crypto/asn1/a_set.c rename : openssl/crypto/asn1/a_sign.c => main/openssl/crypto/asn1/a_sign.c rename : openssl/crypto/asn1/a_strex.c => main/openssl/crypto/asn1/a_strex.c rename : openssl/crypto/asn1/a_strnid.c => main/openssl/crypto/asn1/a_strnid.c rename : openssl/crypto/asn1/a_time.c => main/openssl/crypto/asn1/a_time.c rename : openssl/crypto/asn1/a_type.c => main/openssl/crypto/asn1/a_type.c rename : openssl/crypto/asn1/a_utctm.c => main/openssl/crypto/asn1/a_utctm.c rename : openssl/crypto/asn1/a_utf8.c => main/openssl/crypto/asn1/a_utf8.c rename : openssl/crypto/asn1/a_verify.c => main/openssl/crypto/asn1/a_verify.c rename : openssl/crypto/asn1/ameth_lib.c => main/openssl/crypto/asn1/ameth_lib.c rename : openssl/crypto/asn1/asn1.h => main/openssl/crypto/asn1/asn1.h rename : openssl/crypto/asn1/asn1_err.c => main/openssl/crypto/asn1/asn1_err.c rename : openssl/crypto/asn1/asn1_gen.c => main/openssl/crypto/asn1/asn1_gen.c rename : openssl/crypto/asn1/asn1_lib.c => main/openssl/crypto/asn1/asn1_lib.c rename : openssl/crypto/asn1/asn1_locl.h => main/openssl/crypto/asn1/asn1_locl.h rename : openssl/crypto/asn1/asn1_mac.h => main/openssl/crypto/asn1/asn1_mac.h rename : openssl/crypto/asn1/asn1_par.c => main/openssl/crypto/asn1/asn1_par.c rename : openssl/crypto/asn1/asn1t.h => main/openssl/crypto/asn1/asn1t.h rename : openssl/crypto/asn1/asn_mime.c => main/openssl/crypto/asn1/asn_mime.c rename : openssl/crypto/asn1/asn_moid.c => main/openssl/crypto/asn1/asn_moid.c rename : openssl/crypto/asn1/asn_pack.c => main/openssl/crypto/asn1/asn_pack.c rename : openssl/crypto/asn1/bio_asn1.c => main/openssl/crypto/asn1/bio_asn1.c rename : openssl/crypto/asn1/bio_ndef.c => main/openssl/crypto/asn1/bio_ndef.c rename : openssl/crypto/asn1/charmap.h => main/openssl/crypto/asn1/charmap.h rename : openssl/crypto/asn1/charmap.pl => main/openssl/crypto/asn1/charmap.pl rename : openssl/crypto/asn1/d2i_pr.c => main/openssl/crypto/asn1/d2i_pr.c rename : openssl/crypto/asn1/d2i_pu.c => main/openssl/crypto/asn1/d2i_pu.c rename : openssl/crypto/asn1/evp_asn1.c => main/openssl/crypto/asn1/evp_asn1.c rename : openssl/crypto/asn1/f_enum.c => main/openssl/crypto/asn1/f_enum.c rename : openssl/crypto/asn1/f_int.c => main/openssl/crypto/asn1/f_int.c rename : openssl/crypto/asn1/f_string.c => main/openssl/crypto/asn1/f_string.c rename : openssl/crypto/asn1/i2d_pr.c => main/openssl/crypto/asn1/i2d_pr.c rename : openssl/crypto/asn1/i2d_pu.c => main/openssl/crypto/asn1/i2d_pu.c rename : openssl/crypto/asn1/n_pkey.c => main/openssl/crypto/asn1/n_pkey.c rename : openssl/crypto/asn1/nsseq.c => main/openssl/crypto/asn1/nsseq.c rename : openssl/crypto/asn1/p5_pbe.c => main/openssl/crypto/asn1/p5_pbe.c rename : openssl/crypto/asn1/p5_pbev2.c => main/openssl/crypto/asn1/p5_pbev2.c rename : openssl/crypto/asn1/p8_pkey.c => main/openssl/crypto/asn1/p8_pkey.c rename : openssl/crypto/asn1/t_bitst.c => main/openssl/crypto/asn1/t_bitst.c rename : openssl/crypto/asn1/t_crl.c => main/openssl/crypto/asn1/t_crl.c rename : openssl/crypto/asn1/t_pkey.c => main/openssl/crypto/asn1/t_pkey.c rename : openssl/crypto/asn1/t_req.c => main/openssl/crypto/asn1/t_req.c rename : openssl/crypto/asn1/t_spki.c => main/openssl/crypto/asn1/t_spki.c rename : openssl/crypto/asn1/t_x509.c => main/openssl/crypto/asn1/t_x509.c rename : openssl/crypto/asn1/t_x509a.c => main/openssl/crypto/asn1/t_x509a.c rename : openssl/crypto/asn1/tasn_dec.c => main/openssl/crypto/asn1/tasn_dec.c rename : openssl/crypto/asn1/tasn_enc.c => main/openssl/crypto/asn1/tasn_enc.c rename : openssl/crypto/asn1/tasn_fre.c => main/openssl/crypto/asn1/tasn_fre.c rename : openssl/crypto/asn1/tasn_new.c => main/openssl/crypto/asn1/tasn_new.c rename : openssl/crypto/asn1/tasn_prn.c => main/openssl/crypto/asn1/tasn_prn.c rename : openssl/crypto/asn1/tasn_typ.c => main/openssl/crypto/asn1/tasn_typ.c rename : openssl/crypto/asn1/tasn_utl.c => main/openssl/crypto/asn1/tasn_utl.c rename : openssl/crypto/asn1/x_algor.c => main/openssl/crypto/asn1/x_algor.c rename : openssl/crypto/asn1/x_attrib.c => main/openssl/crypto/asn1/x_attrib.c rename : openssl/crypto/asn1/x_bignum.c => main/openssl/crypto/asn1/x_bignum.c rename : openssl/crypto/asn1/x_crl.c => main/openssl/crypto/asn1/x_crl.c rename : openssl/crypto/asn1/x_exten.c => main/openssl/crypto/asn1/x_exten.c rename : openssl/crypto/asn1/x_info.c => main/openssl/crypto/asn1/x_info.c rename : openssl/crypto/asn1/x_long.c => main/openssl/crypto/asn1/x_long.c rename : openssl/crypto/asn1/x_name.c => main/openssl/crypto/asn1/x_name.c rename : openssl/crypto/asn1/x_nx509.c => main/openssl/crypto/asn1/x_nx509.c rename : openssl/crypto/asn1/x_pkey.c => main/openssl/crypto/asn1/x_pkey.c rename : openssl/crypto/asn1/x_pubkey.c => main/openssl/crypto/asn1/x_pubkey.c rename : openssl/crypto/asn1/x_req.c => main/openssl/crypto/asn1/x_req.c rename : openssl/crypto/asn1/x_sig.c => main/openssl/crypto/asn1/x_sig.c rename : openssl/crypto/asn1/x_spki.c => main/openssl/crypto/asn1/x_spki.c rename : openssl/crypto/asn1/x_val.c => main/openssl/crypto/asn1/x_val.c rename : openssl/crypto/asn1/x_x509.c => main/openssl/crypto/asn1/x_x509.c rename : openssl/crypto/asn1/x_x509a.c => main/openssl/crypto/asn1/x_x509a.c rename : openssl/crypto/bf/COPYRIGHT => main/openssl/crypto/bf/COPYRIGHT rename : openssl/crypto/bf/asm/bf-586.pl => main/openssl/crypto/bf/asm/bf-586.pl rename : openssl/crypto/bf/asm/bf-686.pl => main/openssl/crypto/bf/asm/bf-686.pl rename : openssl/crypto/bf/bf_cfb64.c => main/openssl/crypto/bf/bf_cfb64.c rename : openssl/crypto/bf/bf_ecb.c => main/openssl/crypto/bf/bf_ecb.c rename : openssl/crypto/bf/bf_enc.c => main/openssl/crypto/bf/bf_enc.c rename : openssl/crypto/bf/bf_locl.h => main/openssl/crypto/bf/bf_locl.h rename : openssl/crypto/bf/bf_ofb64.c => main/openssl/crypto/bf/bf_ofb64.c rename : openssl/crypto/bf/bf_pi.h => main/openssl/crypto/bf/bf_pi.h rename : openssl/crypto/bf/bf_skey.c => main/openssl/crypto/bf/bf_skey.c rename : openssl/crypto/bf/blowfish.h => main/openssl/crypto/bf/blowfish.h rename : openssl/crypto/bio/b_dump.c => main/openssl/crypto/bio/b_dump.c rename : openssl/crypto/bio/b_print.c => main/openssl/crypto/bio/b_print.c rename : openssl/crypto/bio/b_sock.c => main/openssl/crypto/bio/b_sock.c rename : openssl/crypto/bio/bf_buff.c => main/openssl/crypto/bio/bf_buff.c rename : openssl/crypto/bio/bf_lbuf.c => main/openssl/crypto/bio/bf_lbuf.c rename : openssl/crypto/bio/bf_nbio.c => main/openssl/crypto/bio/bf_nbio.c rename : openssl/crypto/bio/bf_null.c => main/openssl/crypto/bio/bf_null.c rename : openssl/crypto/bio/bio.h => main/openssl/crypto/bio/bio.h rename : openssl/crypto/bio/bio_cb.c => main/openssl/crypto/bio/bio_cb.c rename : openssl/crypto/bio/bio_err.c => main/openssl/crypto/bio/bio_err.c rename : openssl/crypto/bio/bio_lcl.h => main/openssl/crypto/bio/bio_lcl.h rename : openssl/crypto/bio/bio_lib.c => main/openssl/crypto/bio/bio_lib.c rename : openssl/crypto/bio/bss_acpt.c => main/openssl/crypto/bio/bss_acpt.c rename : openssl/crypto/bio/bss_bio.c => main/openssl/crypto/bio/bss_bio.c rename : openssl/crypto/bio/bss_conn.c => main/openssl/crypto/bio/bss_conn.c rename : openssl/crypto/bio/bss_dgram.c => main/openssl/crypto/bio/bss_dgram.c rename : openssl/crypto/bio/bss_fd.c => main/openssl/crypto/bio/bss_fd.c rename : openssl/crypto/bio/bss_file.c => main/openssl/crypto/bio/bss_file.c rename : openssl/crypto/bio/bss_log.c => main/openssl/crypto/bio/bss_log.c rename : openssl/crypto/bio/bss_mem.c => main/openssl/crypto/bio/bss_mem.c rename : openssl/crypto/bio/bss_null.c => main/openssl/crypto/bio/bss_null.c rename : openssl/crypto/bio/bss_sock.c => main/openssl/crypto/bio/bss_sock.c rename : openssl/crypto/bn/asm/README => main/openssl/crypto/bn/asm/README rename : openssl/crypto/bn/asm/alpha-mont.pl => main/openssl/crypto/bn/asm/alpha-mont.pl rename : openssl/crypto/bn/asm/armv4-mont.pl => main/openssl/crypto/bn/asm/armv4-mont.pl rename : openssl/crypto/bn/asm/armv4-mont.s => main/openssl/crypto/bn/asm/armv4-mont.s rename : openssl/crypto/bn/asm/bn-586.pl => main/openssl/crypto/bn/asm/bn-586.pl rename : openssl/crypto/bn/asm/co-586.pl => main/openssl/crypto/bn/asm/co-586.pl rename : openssl/crypto/bn/asm/ia64.S => main/openssl/crypto/bn/asm/ia64.S rename : openssl/crypto/bn/asm/mips3-mont.pl => main/openssl/crypto/bn/asm/mips3-mont.pl rename : openssl/crypto/bn/asm/mips3.s => main/openssl/crypto/bn/asm/mips3.s rename : openssl/crypto/bn/asm/pa-risc2.s => main/openssl/crypto/bn/asm/pa-risc2.s rename : openssl/crypto/bn/asm/pa-risc2W.s => main/openssl/crypto/bn/asm/pa-risc2W.s rename : openssl/crypto/bn/asm/ppc-mont.pl => main/openssl/crypto/bn/asm/ppc-mont.pl rename : openssl/crypto/bn/asm/ppc.pl => main/openssl/crypto/bn/asm/ppc.pl rename : openssl/crypto/bn/asm/ppc64-mont.pl => main/openssl/crypto/bn/asm/ppc64-mont.pl rename : openssl/crypto/bn/asm/s390x-mont.pl => main/openssl/crypto/bn/asm/s390x-mont.pl rename : openssl/crypto/bn/asm/s390x.S => main/openssl/crypto/bn/asm/s390x.S rename : openssl/crypto/bn/asm/sparcv8.S => main/openssl/crypto/bn/asm/sparcv8.S rename : openssl/crypto/bn/asm/sparcv8plus.S => main/openssl/crypto/bn/asm/sparcv8plus.S rename : openssl/crypto/bn/asm/sparcv9-mont.pl => main/openssl/crypto/bn/asm/sparcv9-mont.pl rename : openssl/crypto/bn/asm/sparcv9a-mont.pl => main/openssl/crypto/bn/asm/sparcv9a-mont.pl rename : openssl/crypto/bn/asm/via-mont.pl => main/openssl/crypto/bn/asm/via-mont.pl rename : openssl/crypto/bn/asm/x86-mont.pl => main/openssl/crypto/bn/asm/x86-mont.pl rename : openssl/crypto/bn/asm/x86.pl => main/openssl/crypto/bn/asm/x86.pl rename : openssl/crypto/bn/asm/x86/add.pl => main/openssl/crypto/bn/asm/x86/add.pl rename : openssl/crypto/bn/asm/x86/comba.pl => main/openssl/crypto/bn/asm/x86/comba.pl rename : openssl/crypto/bn/asm/x86/div.pl => main/openssl/crypto/bn/asm/x86/div.pl rename : openssl/crypto/bn/asm/x86/f => main/openssl/crypto/bn/asm/x86/f rename : openssl/crypto/bn/asm/x86/mul.pl => main/openssl/crypto/bn/asm/x86/mul.pl rename : openssl/crypto/bn/asm/x86/mul_add.pl => main/openssl/crypto/bn/asm/x86/mul_add.pl rename : openssl/crypto/bn/asm/x86/sqr.pl => main/openssl/crypto/bn/asm/x86/sqr.pl rename : openssl/crypto/bn/asm/x86/sub.pl => main/openssl/crypto/bn/asm/x86/sub.pl rename : openssl/crypto/bn/asm/x86_64-gcc.c => main/openssl/crypto/bn/asm/x86_64-gcc.c rename : openssl/crypto/bn/asm/x86_64-mont.pl => main/openssl/crypto/bn/asm/x86_64-mont.pl rename : openssl/crypto/bn/bn.h => main/openssl/crypto/bn/bn.h rename : openssl/crypto/bn/bn.mul => main/openssl/crypto/bn/bn.mul rename : openssl/crypto/bn/bn_add.c => main/openssl/crypto/bn/bn_add.c rename : openssl/crypto/bn/bn_asm.c => main/openssl/crypto/bn/bn_asm.c rename : openssl/crypto/bn/bn_blind.c => main/openssl/crypto/bn/bn_blind.c rename : openssl/crypto/bn/bn_const.c => main/openssl/crypto/bn/bn_const.c rename : openssl/crypto/bn/bn_ctx.c => main/openssl/crypto/bn/bn_ctx.c rename : openssl/crypto/bn/bn_depr.c => main/openssl/crypto/bn/bn_depr.c rename : openssl/crypto/bn/bn_div.c => main/openssl/crypto/bn/bn_div.c rename : openssl/crypto/bn/bn_err.c => main/openssl/crypto/bn/bn_err.c rename : openssl/crypto/bn/bn_exp.c => main/openssl/crypto/bn/bn_exp.c rename : openssl/crypto/bn/bn_exp2.c => main/openssl/crypto/bn/bn_exp2.c rename : openssl/crypto/bn/bn_gcd.c => main/openssl/crypto/bn/bn_gcd.c rename : openssl/crypto/bn/bn_gf2m.c => main/openssl/crypto/bn/bn_gf2m.c rename : openssl/crypto/bn/bn_kron.c => main/openssl/crypto/bn/bn_kron.c rename : openssl/crypto/bn/bn_lcl.h => main/openssl/crypto/bn/bn_lcl.h rename : openssl/crypto/bn/bn_lib.c => main/openssl/crypto/bn/bn_lib.c rename : openssl/crypto/bn/bn_mod.c => main/openssl/crypto/bn/bn_mod.c rename : openssl/crypto/bn/bn_mont.c => main/openssl/crypto/bn/bn_mont.c rename : openssl/crypto/bn/bn_mpi.c => main/openssl/crypto/bn/bn_mpi.c rename : openssl/crypto/bn/bn_mul.c => main/openssl/crypto/bn/bn_mul.c rename : openssl/crypto/bn/bn_nist.c => main/openssl/crypto/bn/bn_nist.c rename : openssl/crypto/bn/bn_prime.c => main/openssl/crypto/bn/bn_prime.c rename : openssl/crypto/bn/bn_prime.h => main/openssl/crypto/bn/bn_prime.h rename : openssl/crypto/bn/bn_prime.pl => main/openssl/crypto/bn/bn_prime.pl rename : openssl/crypto/bn/bn_print.c => main/openssl/crypto/bn/bn_print.c rename : openssl/crypto/bn/bn_rand.c => main/openssl/crypto/bn/bn_rand.c rename : openssl/crypto/bn/bn_recp.c => main/openssl/crypto/bn/bn_recp.c rename : openssl/crypto/bn/bn_shift.c => main/openssl/crypto/bn/bn_shift.c rename : openssl/crypto/bn/bn_sqr.c => main/openssl/crypto/bn/bn_sqr.c rename : openssl/crypto/bn/bn_sqrt.c => main/openssl/crypto/bn/bn_sqrt.c rename : openssl/crypto/bn/bn_word.c => main/openssl/crypto/bn/bn_word.c rename : openssl/crypto/bn/bnspeed.c => main/openssl/crypto/bn/bnspeed.c rename : openssl/crypto/bn/bntest.c => main/openssl/crypto/bn/bntest.c rename : openssl/crypto/bn/divtest.c => main/openssl/crypto/bn/divtest.c rename : openssl/crypto/bn/exp.c => main/openssl/crypto/bn/exp.c rename : openssl/crypto/bn/expspeed.c => main/openssl/crypto/bn/expspeed.c rename : openssl/crypto/bn/exptest.c => main/openssl/crypto/bn/exptest.c rename : openssl/crypto/bn/todo => main/openssl/crypto/bn/todo rename : openssl/crypto/buffer/buf_err.c => main/openssl/crypto/buffer/buf_err.c rename : openssl/crypto/buffer/buffer.c => main/openssl/crypto/buffer/buffer.c rename : openssl/crypto/buffer/buffer.h => main/openssl/crypto/buffer/buffer.h rename : openssl/crypto/comp/c_rle.c => main/openssl/crypto/comp/c_rle.c rename : openssl/crypto/comp/c_zlib.c => main/openssl/crypto/comp/c_zlib.c rename : openssl/crypto/comp/comp.h => main/openssl/crypto/comp/comp.h rename : openssl/crypto/comp/comp_err.c => main/openssl/crypto/comp/comp_err.c rename : openssl/crypto/comp/comp_lib.c => main/openssl/crypto/comp/comp_lib.c rename : openssl/crypto/conf/README => main/openssl/crypto/conf/README rename : openssl/crypto/conf/cnf_save.c => main/openssl/crypto/conf/cnf_save.c rename : openssl/crypto/conf/conf.h => main/openssl/crypto/conf/conf.h rename : openssl/crypto/conf/conf_api.c => main/openssl/crypto/conf/conf_api.c rename : openssl/crypto/conf/conf_api.h => main/openssl/crypto/conf/conf_api.h rename : openssl/crypto/conf/conf_def.c => main/openssl/crypto/conf/conf_def.c rename : openssl/crypto/conf/conf_def.h => main/openssl/crypto/conf/conf_def.h rename : openssl/crypto/conf/conf_err.c => main/openssl/crypto/conf/conf_err.c rename : openssl/crypto/conf/conf_lib.c => main/openssl/crypto/conf/conf_lib.c rename : openssl/crypto/conf/conf_mall.c => main/openssl/crypto/conf/conf_mall.c rename : openssl/crypto/conf/conf_mod.c => main/openssl/crypto/conf/conf_mod.c rename : openssl/crypto/conf/conf_sap.c => main/openssl/crypto/conf/conf_sap.c rename : openssl/crypto/conf/keysets.pl => main/openssl/crypto/conf/keysets.pl rename : openssl/crypto/conf/ssleay.cnf => main/openssl/crypto/conf/ssleay.cnf rename : openssl/crypto/conf/test.c => main/openssl/crypto/conf/test.c rename : openssl/crypto/cpt_err.c => main/openssl/crypto/cpt_err.c rename : openssl/crypto/cryptlib.c => main/openssl/crypto/cryptlib.c rename : openssl/crypto/cryptlib.h => main/openssl/crypto/cryptlib.h rename : openssl/crypto/crypto.h => main/openssl/crypto/crypto.h rename : openssl/crypto/cversion.c => main/openssl/crypto/cversion.c rename : openssl/crypto/des/COPYRIGHT => main/openssl/crypto/des/COPYRIGHT rename : openssl/crypto/des/DES.pm => main/openssl/crypto/des/DES.pm rename : openssl/crypto/des/DES.xs => main/openssl/crypto/des/DES.xs rename : openssl/crypto/des/FILES0 => main/openssl/crypto/des/FILES0 rename : openssl/crypto/des/INSTALL => main/openssl/crypto/des/INSTALL rename : openssl/crypto/des/Imakefile => main/openssl/crypto/des/Imakefile rename : openssl/crypto/des/KERBEROS => main/openssl/crypto/des/KERBEROS rename : openssl/crypto/des/README => main/openssl/crypto/des/README rename : openssl/crypto/des/VERSION => main/openssl/crypto/des/VERSION rename : openssl/crypto/des/asm/crypt586.pl => main/openssl/crypto/des/asm/crypt586.pl rename : openssl/crypto/des/asm/des-586.pl => main/openssl/crypto/des/asm/des-586.pl rename : openssl/crypto/des/asm/des_enc.m4 => main/openssl/crypto/des/asm/des_enc.m4 rename : openssl/crypto/des/asm/desboth.pl => main/openssl/crypto/des/asm/desboth.pl rename : openssl/crypto/des/asm/readme => main/openssl/crypto/des/asm/readme rename : openssl/crypto/des/cbc3_enc.c => main/openssl/crypto/des/cbc3_enc.c rename : openssl/crypto/des/cbc_cksm.c => main/openssl/crypto/des/cbc_cksm.c rename : openssl/crypto/des/cbc_enc.c => main/openssl/crypto/des/cbc_enc.c rename : openssl/crypto/des/cfb64ede.c => main/openssl/crypto/des/cfb64ede.c rename : openssl/crypto/des/cfb64enc.c => main/openssl/crypto/des/cfb64enc.c rename : openssl/crypto/des/cfb_enc.c => main/openssl/crypto/des/cfb_enc.c rename : openssl/crypto/des/des.c => main/openssl/crypto/des/des.c rename : openssl/crypto/des/des.h => main/openssl/crypto/des/des.h rename : openssl/crypto/des/des.pod => main/openssl/crypto/des/des.pod rename : openssl/crypto/des/des3s.cpp => main/openssl/crypto/des/des3s.cpp rename : openssl/crypto/des/des_enc.c => main/openssl/crypto/des/des_enc.c rename : openssl/crypto/des/des_locl.h => main/openssl/crypto/des/des_locl.h rename : openssl/crypto/des/des_old.c => main/openssl/crypto/des/des_old.c rename : openssl/crypto/des/des_old.h => main/openssl/crypto/des/des_old.h rename : openssl/crypto/des/des_old2.c => main/openssl/crypto/des/des_old2.c rename : openssl/crypto/des/des_opts.c => main/openssl/crypto/des/des_opts.c rename : openssl/crypto/des/des_ver.h => main/openssl/crypto/des/des_ver.h rename : openssl/crypto/des/dess.cpp => main/openssl/crypto/des/dess.cpp rename : openssl/crypto/des/destest.c => main/openssl/crypto/des/destest.c rename : openssl/crypto/des/ecb3_enc.c => main/openssl/crypto/des/ecb3_enc.c rename : openssl/crypto/des/ecb_enc.c => main/openssl/crypto/des/ecb_enc.c rename : openssl/crypto/des/ede_cbcm_enc.c => main/openssl/crypto/des/ede_cbcm_enc.c rename : openssl/crypto/des/enc_read.c => main/openssl/crypto/des/enc_read.c rename : openssl/crypto/des/enc_writ.c => main/openssl/crypto/des/enc_writ.c rename : openssl/crypto/des/fcrypt.c => main/openssl/crypto/des/fcrypt.c rename : openssl/crypto/des/fcrypt_b.c => main/openssl/crypto/des/fcrypt_b.c rename : openssl/crypto/des/makefile.bc => main/openssl/crypto/des/makefile.bc rename : openssl/crypto/des/ncbc_enc.c => main/openssl/crypto/des/ncbc_enc.c rename : openssl/crypto/des/ofb64ede.c => main/openssl/crypto/des/ofb64ede.c rename : openssl/crypto/des/ofb64enc.c => main/openssl/crypto/des/ofb64enc.c rename : openssl/crypto/des/ofb_enc.c => main/openssl/crypto/des/ofb_enc.c rename : openssl/crypto/des/options.txt => main/openssl/crypto/des/options.txt rename : openssl/crypto/des/pcbc_enc.c => main/openssl/crypto/des/pcbc_enc.c rename : openssl/crypto/des/qud_cksm.c => main/openssl/crypto/des/qud_cksm.c rename : openssl/crypto/des/rand_key.c => main/openssl/crypto/des/rand_key.c rename : openssl/crypto/des/read2pwd.c => main/openssl/crypto/des/read2pwd.c rename : openssl/crypto/des/read_pwd.c => main/openssl/crypto/des/read_pwd.c rename : openssl/crypto/des/rpc_des.h => main/openssl/crypto/des/rpc_des.h rename : openssl/crypto/des/rpc_enc.c => main/openssl/crypto/des/rpc_enc.c rename : openssl/crypto/des/rpw.c => main/openssl/crypto/des/rpw.c rename : openssl/crypto/des/set_key.c => main/openssl/crypto/des/set_key.c rename : openssl/crypto/des/speed.c => main/openssl/crypto/des/speed.c rename : openssl/crypto/des/spr.h => main/openssl/crypto/des/spr.h rename : openssl/crypto/des/str2key.c => main/openssl/crypto/des/str2key.c rename : openssl/crypto/des/t/test => main/openssl/crypto/des/t/test rename : openssl/crypto/des/times/486-50.sol => main/openssl/crypto/des/times/486-50.sol rename : openssl/crypto/des/times/586-100.lnx => main/openssl/crypto/des/times/586-100.lnx rename : openssl/crypto/des/times/686-200.fre => main/openssl/crypto/des/times/686-200.fre rename : openssl/crypto/des/times/aix.cc => main/openssl/crypto/des/times/aix.cc rename : openssl/crypto/des/times/alpha.cc => main/openssl/crypto/des/times/alpha.cc rename : openssl/crypto/des/times/hpux.cc => main/openssl/crypto/des/times/hpux.cc rename : openssl/crypto/des/times/sparc.gcc => main/openssl/crypto/des/times/sparc.gcc rename : openssl/crypto/des/times/usparc.cc => main/openssl/crypto/des/times/usparc.cc rename : openssl/crypto/des/typemap => main/openssl/crypto/des/typemap rename : openssl/crypto/des/xcbc_enc.c => main/openssl/crypto/des/xcbc_enc.c rename : openssl/crypto/dh/dh.h => main/openssl/crypto/dh/dh.h rename : openssl/crypto/dh/dh1024.pem => main/openssl/crypto/dh/dh1024.pem rename : openssl/crypto/dh/dh192.pem => main/openssl/crypto/dh/dh192.pem rename : openssl/crypto/dh/dh2048.pem => main/openssl/crypto/dh/dh2048.pem rename : openssl/crypto/dh/dh4096.pem => main/openssl/crypto/dh/dh4096.pem rename : openssl/crypto/dh/dh512.pem => main/openssl/crypto/dh/dh512.pem rename : openssl/crypto/dh/dh_ameth.c => main/openssl/crypto/dh/dh_ameth.c rename : openssl/crypto/dh/dh_asn1.c => main/openssl/crypto/dh/dh_asn1.c rename : openssl/crypto/dh/dh_check.c => main/openssl/crypto/dh/dh_check.c rename : openssl/crypto/dh/dh_depr.c => main/openssl/crypto/dh/dh_depr.c rename : openssl/crypto/dh/dh_err.c => main/openssl/crypto/dh/dh_err.c rename : openssl/crypto/dh/dh_gen.c => main/openssl/crypto/dh/dh_gen.c rename : openssl/crypto/dh/dh_key.c => main/openssl/crypto/dh/dh_key.c rename : openssl/crypto/dh/dh_lib.c => main/openssl/crypto/dh/dh_lib.c rename : openssl/crypto/dh/dh_pmeth.c => main/openssl/crypto/dh/dh_pmeth.c rename : openssl/crypto/dh/dhtest.c => main/openssl/crypto/dh/dhtest.c rename : openssl/crypto/dh/example => main/openssl/crypto/dh/example rename : openssl/crypto/dh/generate => main/openssl/crypto/dh/generate rename : openssl/crypto/dh/p1024.c => main/openssl/crypto/dh/p1024.c rename : openssl/crypto/dh/p192.c => main/openssl/crypto/dh/p192.c rename : openssl/crypto/dh/p512.c => main/openssl/crypto/dh/p512.c rename : openssl/crypto/dsa/README => main/openssl/crypto/dsa/README rename : openssl/crypto/dsa/dsa.h => main/openssl/crypto/dsa/dsa.h rename : openssl/crypto/dsa/dsa_ameth.c => main/openssl/crypto/dsa/dsa_ameth.c rename : openssl/crypto/dsa/dsa_asn1.c => main/openssl/crypto/dsa/dsa_asn1.c rename : openssl/crypto/dsa/dsa_depr.c => main/openssl/crypto/dsa/dsa_depr.c rename : openssl/crypto/dsa/dsa_err.c => main/openssl/crypto/dsa/dsa_err.c rename : openssl/crypto/dsa/dsa_gen.c => main/openssl/crypto/dsa/dsa_gen.c rename : openssl/crypto/dsa/dsa_key.c => main/openssl/crypto/dsa/dsa_key.c rename : openssl/crypto/dsa/dsa_lib.c => main/openssl/crypto/dsa/dsa_lib.c rename : openssl/crypto/dsa/dsa_locl.h => main/openssl/crypto/dsa/dsa_locl.h rename : openssl/crypto/dsa/dsa_ossl.c => main/openssl/crypto/dsa/dsa_ossl.c rename : openssl/crypto/dsa/dsa_pmeth.c => main/openssl/crypto/dsa/dsa_pmeth.c rename : openssl/crypto/dsa/dsa_prn.c => main/openssl/crypto/dsa/dsa_prn.c rename : openssl/crypto/dsa/dsa_sign.c => main/openssl/crypto/dsa/dsa_sign.c rename : openssl/crypto/dsa/dsa_vrf.c => main/openssl/crypto/dsa/dsa_vrf.c rename : openssl/crypto/dsa/dsagen.c => main/openssl/crypto/dsa/dsagen.c rename : openssl/crypto/dsa/dsatest.c => main/openssl/crypto/dsa/dsatest.c rename : openssl/crypto/dsa/fips186a.txt => main/openssl/crypto/dsa/fips186a.txt rename : openssl/crypto/dso/README => main/openssl/crypto/dso/README rename : openssl/crypto/dso/dso.h => main/openssl/crypto/dso/dso.h rename : openssl/crypto/dso/dso_dl.c => main/openssl/crypto/dso/dso_dl.c rename : openssl/crypto/dso/dso_dlfcn.c => main/openssl/crypto/dso/dso_dlfcn.c rename : openssl/crypto/dso/dso_err.c => main/openssl/crypto/dso/dso_err.c rename : openssl/crypto/dso/dso_lib.c => main/openssl/crypto/dso/dso_lib.c rename : openssl/crypto/dso/dso_null.c => main/openssl/crypto/dso/dso_null.c rename : openssl/crypto/dso/dso_openssl.c => main/openssl/crypto/dso/dso_openssl.c rename : openssl/crypto/ebcdic.c => main/openssl/crypto/ebcdic.c rename : openssl/crypto/ebcdic.h => main/openssl/crypto/ebcdic.h rename : openssl/crypto/ec/ec.h => main/openssl/crypto/ec/ec.h rename : openssl/crypto/ec/ec2_mult.c => main/openssl/crypto/ec/ec2_mult.c rename : openssl/crypto/ec/ec2_smpl.c => main/openssl/crypto/ec/ec2_smpl.c rename : openssl/crypto/ec/ec_ameth.c => main/openssl/crypto/ec/ec_ameth.c rename : openssl/crypto/ec/ec_asn1.c => main/openssl/crypto/ec/ec_asn1.c rename : openssl/crypto/ec/ec_check.c => main/openssl/crypto/ec/ec_check.c rename : openssl/crypto/ec/ec_curve.c => main/openssl/crypto/ec/ec_curve.c rename : openssl/crypto/ec/ec_cvt.c => main/openssl/crypto/ec/ec_cvt.c rename : openssl/crypto/ec/ec_err.c => main/openssl/crypto/ec/ec_err.c rename : openssl/crypto/ec/ec_key.c => main/openssl/crypto/ec/ec_key.c rename : openssl/crypto/ec/ec_lcl.h => main/openssl/crypto/ec/ec_lcl.h rename : openssl/crypto/ec/ec_lib.c => main/openssl/crypto/ec/ec_lib.c rename : openssl/crypto/ec/ec_mult.c => main/openssl/crypto/ec/ec_mult.c rename : openssl/crypto/ec/ec_pmeth.c => main/openssl/crypto/ec/ec_pmeth.c rename : openssl/crypto/ec/ec_print.c => main/openssl/crypto/ec/ec_print.c rename : openssl/crypto/ec/eck_prn.c => main/openssl/crypto/ec/eck_prn.c rename : openssl/crypto/ec/ecp_mont.c => main/openssl/crypto/ec/ecp_mont.c rename : openssl/crypto/ec/ecp_nist.c => main/openssl/crypto/ec/ecp_nist.c rename : openssl/crypto/ec/ecp_smpl.c => main/openssl/crypto/ec/ecp_smpl.c rename : openssl/crypto/ec/ectest.c => main/openssl/crypto/ec/ectest.c rename : openssl/crypto/ecdh/ecdh.h => main/openssl/crypto/ecdh/ecdh.h rename : openssl/crypto/ecdh/ecdhtest.c => main/openssl/crypto/ecdh/ecdhtest.c rename : openssl/crypto/ecdh/ech_err.c => main/openssl/crypto/ecdh/ech_err.c rename : openssl/crypto/ecdh/ech_key.c => main/openssl/crypto/ecdh/ech_key.c rename : openssl/crypto/ecdh/ech_lib.c => main/openssl/crypto/ecdh/ech_lib.c rename : openssl/crypto/ecdh/ech_locl.h => main/openssl/crypto/ecdh/ech_locl.h rename : openssl/crypto/ecdh/ech_ossl.c => main/openssl/crypto/ecdh/ech_ossl.c rename : openssl/crypto/ecdsa/ecdsa.h => main/openssl/crypto/ecdsa/ecdsa.h rename : openssl/crypto/ecdsa/ecdsatest.c => main/openssl/crypto/ecdsa/ecdsatest.c rename : openssl/crypto/ecdsa/ecs_asn1.c => main/openssl/crypto/ecdsa/ecs_asn1.c rename : openssl/crypto/ecdsa/ecs_err.c => main/openssl/crypto/ecdsa/ecs_err.c rename : openssl/crypto/ecdsa/ecs_lib.c => main/openssl/crypto/ecdsa/ecs_lib.c rename : openssl/crypto/ecdsa/ecs_locl.h => main/openssl/crypto/ecdsa/ecs_locl.h rename : openssl/crypto/ecdsa/ecs_ossl.c => main/openssl/crypto/ecdsa/ecs_ossl.c rename : openssl/crypto/ecdsa/ecs_sign.c => main/openssl/crypto/ecdsa/ecs_sign.c rename : openssl/crypto/ecdsa/ecs_vrf.c => main/openssl/crypto/ecdsa/ecs_vrf.c rename : openssl/crypto/engine/README => main/openssl/crypto/engine/README rename : openssl/crypto/engine/eng_all.c => main/openssl/crypto/engine/eng_all.c rename : openssl/crypto/engine/eng_cnf.c => main/openssl/crypto/engine/eng_cnf.c rename : openssl/crypto/engine/eng_cryptodev.c => main/openssl/crypto/engine/eng_cryptodev.c rename : openssl/crypto/engine/eng_ctrl.c => main/openssl/crypto/engine/eng_ctrl.c rename : openssl/crypto/engine/eng_dyn.c => main/openssl/crypto/engine/eng_dyn.c rename : openssl/crypto/engine/eng_err.c => main/openssl/crypto/engine/eng_err.c rename : openssl/crypto/engine/eng_fat.c => main/openssl/crypto/engine/eng_fat.c rename : openssl/crypto/engine/eng_init.c => main/openssl/crypto/engine/eng_init.c rename : openssl/crypto/engine/eng_int.h => main/openssl/crypto/engine/eng_int.h rename : openssl/crypto/engine/eng_lib.c => main/openssl/crypto/engine/eng_lib.c rename : openssl/crypto/engine/eng_list.c => main/openssl/crypto/engine/eng_list.c rename : openssl/crypto/engine/eng_openssl.c => main/openssl/crypto/engine/eng_openssl.c rename : openssl/crypto/engine/eng_pkey.c => main/openssl/crypto/engine/eng_pkey.c rename : openssl/crypto/engine/eng_table.c => main/openssl/crypto/engine/eng_table.c rename : openssl/crypto/engine/engine.h => main/openssl/crypto/engine/engine.h rename : openssl/crypto/engine/enginetest.c => main/openssl/crypto/engine/enginetest.c rename : openssl/crypto/engine/tb_cipher.c => main/openssl/crypto/engine/tb_cipher.c rename : openssl/crypto/engine/tb_dh.c => main/openssl/crypto/engine/tb_dh.c rename : openssl/crypto/engine/tb_digest.c => main/openssl/crypto/engine/tb_digest.c rename : openssl/crypto/engine/tb_dsa.c => main/openssl/crypto/engine/tb_dsa.c rename : openssl/crypto/engine/tb_ecdh.c => main/openssl/crypto/engine/tb_ecdh.c rename : openssl/crypto/engine/tb_ecdsa.c => main/openssl/crypto/engine/tb_ecdsa.c rename : openssl/crypto/engine/tb_rand.c => main/openssl/crypto/engine/tb_rand.c rename : openssl/crypto/engine/tb_rsa.c => main/openssl/crypto/engine/tb_rsa.c rename : openssl/crypto/engine/tb_store.c => main/openssl/crypto/engine/tb_store.c rename : openssl/crypto/err/err.c => main/openssl/crypto/err/err.c rename : openssl/crypto/err/err.h => main/openssl/crypto/err/err.h rename : openssl/crypto/err/err_all.c => main/openssl/crypto/err/err_all.c rename : openssl/crypto/err/err_prn.c => main/openssl/crypto/err/err_prn.c rename : openssl/crypto/err/openssl.ec => main/openssl/crypto/err/openssl.ec rename : openssl/crypto/evp/bio_b64.c => main/openssl/crypto/evp/bio_b64.c rename : openssl/crypto/evp/bio_enc.c => main/openssl/crypto/evp/bio_enc.c rename : openssl/crypto/evp/bio_md.c => main/openssl/crypto/evp/bio_md.c rename : openssl/crypto/evp/bio_ok.c => main/openssl/crypto/evp/bio_ok.c rename : openssl/crypto/evp/c_all.c => main/openssl/crypto/evp/c_all.c rename : openssl/crypto/evp/c_allc.c => main/openssl/crypto/evp/c_allc.c rename : openssl/crypto/evp/c_alld.c => main/openssl/crypto/evp/c_alld.c rename : openssl/crypto/evp/digest.c => main/openssl/crypto/evp/digest.c rename : openssl/crypto/evp/e_aes.c => main/openssl/crypto/evp/e_aes.c rename : openssl/crypto/evp/e_bf.c => main/openssl/crypto/evp/e_bf.c rename : openssl/crypto/evp/e_camellia.c => main/openssl/crypto/evp/e_camellia.c rename : openssl/crypto/evp/e_cast.c => main/openssl/crypto/evp/e_cast.c rename : openssl/crypto/evp/e_des.c => main/openssl/crypto/evp/e_des.c rename : openssl/crypto/evp/e_des3.c => main/openssl/crypto/evp/e_des3.c rename : openssl/crypto/evp/e_dsa.c => main/openssl/crypto/evp/e_dsa.c rename : openssl/crypto/evp/e_idea.c => main/openssl/crypto/evp/e_idea.c rename : openssl/crypto/evp/e_null.c => main/openssl/crypto/evp/e_null.c rename : openssl/crypto/evp/e_old.c => main/openssl/crypto/evp/e_old.c rename : openssl/crypto/evp/e_rc2.c => main/openssl/crypto/evp/e_rc2.c rename : openssl/crypto/evp/e_rc4.c => main/openssl/crypto/evp/e_rc4.c rename : openssl/crypto/evp/e_rc5.c => main/openssl/crypto/evp/e_rc5.c rename : openssl/crypto/evp/e_seed.c => main/openssl/crypto/evp/e_seed.c rename : openssl/crypto/evp/e_xcbc_d.c => main/openssl/crypto/evp/e_xcbc_d.c rename : openssl/crypto/evp/encode.c => main/openssl/crypto/evp/encode.c rename : openssl/crypto/evp/evp.h => main/openssl/crypto/evp/evp.h rename : openssl/crypto/evp/evp_acnf.c => main/openssl/crypto/evp/evp_acnf.c rename : openssl/crypto/evp/evp_enc.c => main/openssl/crypto/evp/evp_enc.c rename : openssl/crypto/evp/evp_err.c => main/openssl/crypto/evp/evp_err.c rename : openssl/crypto/evp/evp_key.c => main/openssl/crypto/evp/evp_key.c rename : openssl/crypto/evp/evp_lib.c => main/openssl/crypto/evp/evp_lib.c rename : openssl/crypto/evp/evp_locl.h => main/openssl/crypto/evp/evp_locl.h rename : openssl/crypto/evp/evp_pbe.c => main/openssl/crypto/evp/evp_pbe.c rename : openssl/crypto/evp/evp_pkey.c => main/openssl/crypto/evp/evp_pkey.c rename : openssl/crypto/evp/evp_test.c => main/openssl/crypto/evp/evp_test.c rename : openssl/crypto/evp/evptests.txt => main/openssl/crypto/evp/evptests.txt rename : openssl/crypto/evp/m_dss.c => main/openssl/crypto/evp/m_dss.c rename : openssl/crypto/evp/m_dss1.c => main/openssl/crypto/evp/m_dss1.c rename : openssl/crypto/evp/m_ecdsa.c => main/openssl/crypto/evp/m_ecdsa.c rename : openssl/crypto/evp/m_md4.c => main/openssl/crypto/evp/m_md4.c rename : openssl/crypto/evp/m_md5.c => main/openssl/crypto/evp/m_md5.c rename : openssl/crypto/evp/m_mdc2.c => main/openssl/crypto/evp/m_mdc2.c rename : openssl/crypto/evp/m_null.c => main/openssl/crypto/evp/m_null.c rename : openssl/crypto/evp/m_ripemd.c => main/openssl/crypto/evp/m_ripemd.c rename : openssl/crypto/evp/m_sha1.c => main/openssl/crypto/evp/m_sha1.c rename : openssl/crypto/evp/m_sigver.c => main/openssl/crypto/evp/m_sigver.c rename : openssl/crypto/evp/m_wp.c => main/openssl/crypto/evp/m_wp.c rename : openssl/crypto/evp/names.c => main/openssl/crypto/evp/names.c rename : openssl/crypto/evp/openbsd_hw.c => main/openssl/crypto/evp/openbsd_hw.c rename : openssl/crypto/evp/p5_crpt.c => main/openssl/crypto/evp/p5_crpt.c rename : openssl/crypto/evp/p5_crpt2.c => main/openssl/crypto/evp/p5_crpt2.c rename : openssl/crypto/evp/p_dec.c => main/openssl/crypto/evp/p_dec.c rename : openssl/crypto/evp/p_enc.c => main/openssl/crypto/evp/p_enc.c rename : openssl/crypto/evp/p_lib.c => main/openssl/crypto/evp/p_lib.c rename : openssl/crypto/evp/p_open.c => main/openssl/crypto/evp/p_open.c rename : openssl/crypto/evp/p_seal.c => main/openssl/crypto/evp/p_seal.c rename : openssl/crypto/evp/p_sign.c => main/openssl/crypto/evp/p_sign.c rename : openssl/crypto/evp/p_verify.c => main/openssl/crypto/evp/p_verify.c rename : openssl/crypto/evp/pmeth_fn.c => main/openssl/crypto/evp/pmeth_fn.c rename : openssl/crypto/evp/pmeth_gn.c => main/openssl/crypto/evp/pmeth_gn.c rename : openssl/crypto/evp/pmeth_lib.c => main/openssl/crypto/evp/pmeth_lib.c rename : openssl/crypto/ex_data.c => main/openssl/crypto/ex_data.c rename : openssl/crypto/hmac/hm_ameth.c => main/openssl/crypto/hmac/hm_ameth.c rename : openssl/crypto/hmac/hm_pmeth.c => main/openssl/crypto/hmac/hm_pmeth.c rename : openssl/crypto/hmac/hmac.c => main/openssl/crypto/hmac/hmac.c rename : openssl/crypto/hmac/hmac.h => main/openssl/crypto/hmac/hmac.h rename : openssl/crypto/hmac/hmactest.c => main/openssl/crypto/hmac/hmactest.c rename : openssl/crypto/ia64cpuid.S => main/openssl/crypto/ia64cpuid.S rename : openssl/crypto/jpake/jpake.c => main/openssl/crypto/jpake/jpake.c rename : openssl/crypto/jpake/jpake.h => main/openssl/crypto/jpake/jpake.h rename : openssl/crypto/jpake/jpake_err.c => main/openssl/crypto/jpake/jpake_err.c rename : openssl/crypto/jpake/jpaketest.c => main/openssl/crypto/jpake/jpaketest.c rename : openssl/crypto/krb5/krb5_asn.c => main/openssl/crypto/krb5/krb5_asn.c rename : openssl/crypto/krb5/krb5_asn.h => main/openssl/crypto/krb5/krb5_asn.h rename : openssl/crypto/lhash/lh_stats.c => main/openssl/crypto/lhash/lh_stats.c rename : openssl/crypto/lhash/lh_test.c => main/openssl/crypto/lhash/lh_test.c rename : openssl/crypto/lhash/lhash.c => main/openssl/crypto/lhash/lhash.c rename : openssl/crypto/lhash/lhash.h => main/openssl/crypto/lhash/lhash.h rename : openssl/crypto/lhash/num.pl => main/openssl/crypto/lhash/num.pl rename : openssl/crypto/md32_common.h => main/openssl/crypto/md32_common.h rename : openssl/crypto/md4/md4.c => main/openssl/crypto/md4/md4.c rename : openssl/crypto/md4/md4.h => main/openssl/crypto/md4/md4.h rename : openssl/crypto/md4/md4_dgst.c => main/openssl/crypto/md4/md4_dgst.c rename : openssl/crypto/md4/md4_locl.h => main/openssl/crypto/md4/md4_locl.h rename : openssl/crypto/md4/md4_one.c => main/openssl/crypto/md4/md4_one.c rename : openssl/crypto/md4/md4s.cpp => main/openssl/crypto/md4/md4s.cpp rename : openssl/crypto/md4/md4test.c => main/openssl/crypto/md4/md4test.c rename : openssl/crypto/md5/asm/md5-586.pl => main/openssl/crypto/md5/asm/md5-586.pl rename : openssl/crypto/md5/asm/md5-ia64.S => main/openssl/crypto/md5/asm/md5-ia64.S rename : openssl/crypto/md5/asm/md5-x86_64.pl => main/openssl/crypto/md5/asm/md5-x86_64.pl rename : openssl/crypto/md5/md5.c => main/openssl/crypto/md5/md5.c rename : openssl/crypto/md5/md5.h => main/openssl/crypto/md5/md5.h rename : openssl/crypto/md5/md5_dgst.c => main/openssl/crypto/md5/md5_dgst.c rename : openssl/crypto/md5/md5_locl.h => main/openssl/crypto/md5/md5_locl.h rename : openssl/crypto/md5/md5_one.c => main/openssl/crypto/md5/md5_one.c rename : openssl/crypto/md5/md5s.cpp => main/openssl/crypto/md5/md5s.cpp rename : openssl/crypto/md5/md5test.c => main/openssl/crypto/md5/md5test.c rename : openssl/crypto/mdc2/mdc2.h => main/openssl/crypto/mdc2/mdc2.h rename : openssl/crypto/mdc2/mdc2_one.c => main/openssl/crypto/mdc2/mdc2_one.c rename : openssl/crypto/mdc2/mdc2dgst.c => main/openssl/crypto/mdc2/mdc2dgst.c rename : openssl/crypto/mdc2/mdc2test.c => main/openssl/crypto/mdc2/mdc2test.c rename : openssl/crypto/mem.c => main/openssl/crypto/mem.c rename : openssl/crypto/mem_clr.c => main/openssl/crypto/mem_clr.c rename : openssl/crypto/mem_dbg.c => main/openssl/crypto/mem_dbg.c rename : openssl/crypto/modes/cbc128.c => main/openssl/crypto/modes/cbc128.c rename : openssl/crypto/modes/cfb128.c => main/openssl/crypto/modes/cfb128.c rename : openssl/crypto/modes/ctr128.c => main/openssl/crypto/modes/ctr128.c rename : openssl/crypto/modes/ofb128.c => main/openssl/crypto/modes/ofb128.c rename : openssl/crypto/o_dir.c => main/openssl/crypto/o_dir.c rename : openssl/crypto/o_dir.h => main/openssl/crypto/o_dir.h rename : openssl/crypto/o_dir_test.c => main/openssl/crypto/o_dir_test.c rename : openssl/crypto/o_str.c => main/openssl/crypto/o_str.c rename : openssl/crypto/o_str.h => main/openssl/crypto/o_str.h rename : openssl/crypto/o_time.c => main/openssl/crypto/o_time.c rename : openssl/crypto/o_time.h => main/openssl/crypto/o_time.h rename : openssl/crypto/objects/o_names.c => main/openssl/crypto/objects/o_names.c rename : openssl/crypto/objects/obj_dat.c => main/openssl/crypto/objects/obj_dat.c rename : openssl/crypto/objects/obj_dat.h => main/openssl/crypto/objects/obj_dat.h rename : openssl/crypto/objects/obj_dat.pl => main/openssl/crypto/objects/obj_dat.pl rename : openssl/crypto/objects/obj_err.c => main/openssl/crypto/objects/obj_err.c rename : openssl/crypto/objects/obj_lib.c => main/openssl/crypto/objects/obj_lib.c rename : openssl/crypto/objects/obj_mac.h => main/openssl/crypto/objects/obj_mac.h rename : openssl/crypto/objects/obj_mac.num => main/openssl/crypto/objects/obj_mac.num rename : openssl/crypto/objects/obj_xref.c => main/openssl/crypto/objects/obj_xref.c rename : openssl/crypto/objects/obj_xref.h => main/openssl/crypto/objects/obj_xref.h rename : openssl/crypto/objects/obj_xref.txt => main/openssl/crypto/objects/obj_xref.txt rename : openssl/crypto/objects/objects.README => main/openssl/crypto/objects/objects.README rename : openssl/crypto/objects/objects.h => main/openssl/crypto/objects/objects.h rename : openssl/crypto/objects/objects.pl => main/openssl/crypto/objects/objects.pl rename : openssl/crypto/objects/objects.txt => main/openssl/crypto/objects/objects.txt rename : openssl/crypto/objects/objxref.pl => main/openssl/crypto/objects/objxref.pl rename : openssl/crypto/ocsp/ocsp.h => main/openssl/crypto/ocsp/ocsp.h rename : openssl/crypto/ocsp/ocsp_asn.c => main/openssl/crypto/ocsp/ocsp_asn.c rename : openssl/crypto/ocsp/ocsp_cl.c => main/openssl/crypto/ocsp/ocsp_cl.c rename : openssl/crypto/ocsp/ocsp_err.c => main/openssl/crypto/ocsp/ocsp_err.c rename : openssl/crypto/ocsp/ocsp_ext.c => main/openssl/crypto/ocsp/ocsp_ext.c rename : openssl/crypto/ocsp/ocsp_ht.c => main/openssl/crypto/ocsp/ocsp_ht.c rename : openssl/crypto/ocsp/ocsp_lib.c => main/openssl/crypto/ocsp/ocsp_lib.c rename : openssl/crypto/ocsp/ocsp_prn.c => main/openssl/crypto/ocsp/ocsp_prn.c rename : openssl/crypto/ocsp/ocsp_srv.c => main/openssl/crypto/ocsp/ocsp_srv.c rename : openssl/crypto/ocsp/ocsp_vfy.c => main/openssl/crypto/ocsp/ocsp_vfy.c rename : openssl/crypto/opensslconf.h => main/openssl/crypto/opensslconf.h rename : openssl/crypto/opensslconf.h.in => main/openssl/crypto/opensslconf.h.in rename : openssl/crypto/opensslv.h => main/openssl/crypto/opensslv.h rename : openssl/crypto/ossl_typ.h => main/openssl/crypto/ossl_typ.h rename : openssl/crypto/pem/message => main/openssl/crypto/pem/message rename : openssl/crypto/pem/pem.h => main/openssl/crypto/pem/pem.h rename : openssl/crypto/pem/pem2.h => main/openssl/crypto/pem/pem2.h rename : openssl/crypto/pem/pem_all.c => main/openssl/crypto/pem/pem_all.c rename : openssl/crypto/pem/pem_err.c => main/openssl/crypto/pem/pem_err.c rename : openssl/crypto/pem/pem_info.c => main/openssl/crypto/pem/pem_info.c rename : openssl/crypto/pem/pem_lib.c => main/openssl/crypto/pem/pem_lib.c rename : openssl/crypto/pem/pem_oth.c => main/openssl/crypto/pem/pem_oth.c rename : openssl/crypto/pem/pem_pk8.c => main/openssl/crypto/pem/pem_pk8.c rename : openssl/crypto/pem/pem_pkey.c => main/openssl/crypto/pem/pem_pkey.c rename : openssl/crypto/pem/pem_seal.c => main/openssl/crypto/pem/pem_seal.c rename : openssl/crypto/pem/pem_sign.c => main/openssl/crypto/pem/pem_sign.c rename : openssl/crypto/pem/pem_x509.c => main/openssl/crypto/pem/pem_x509.c rename : openssl/crypto/pem/pem_xaux.c => main/openssl/crypto/pem/pem_xaux.c rename : openssl/crypto/pem/pkcs7.lis => main/openssl/crypto/pem/pkcs7.lis rename : openssl/crypto/pem/pvkfmt.c => main/openssl/crypto/pem/pvkfmt.c rename : openssl/crypto/perlasm/cbc.pl => main/openssl/crypto/perlasm/cbc.pl rename : openssl/crypto/perlasm/ppc-xlate.pl => main/openssl/crypto/perlasm/ppc-xlate.pl rename : openssl/crypto/perlasm/readme => main/openssl/crypto/perlasm/readme rename : openssl/crypto/perlasm/x86_64-xlate.pl => main/openssl/crypto/perlasm/x86_64-xlate.pl rename : openssl/crypto/perlasm/x86asm.pl => main/openssl/crypto/perlasm/x86asm.pl rename : openssl/crypto/perlasm/x86gas.pl => main/openssl/crypto/perlasm/x86gas.pl rename : openssl/crypto/perlasm/x86masm.pl => main/openssl/crypto/perlasm/x86masm.pl rename : openssl/crypto/perlasm/x86nasm.pl => main/openssl/crypto/perlasm/x86nasm.pl rename : openssl/crypto/pkcs12/p12_add.c => main/openssl/crypto/pkcs12/p12_add.c rename : openssl/crypto/pkcs12/p12_asn.c => main/openssl/crypto/pkcs12/p12_asn.c rename : openssl/crypto/pkcs12/p12_attr.c => main/openssl/crypto/pkcs12/p12_attr.c rename : openssl/crypto/pkcs12/p12_crpt.c => main/openssl/crypto/pkcs12/p12_crpt.c rename : openssl/crypto/pkcs12/p12_crt.c => main/openssl/crypto/pkcs12/p12_crt.c rename : openssl/crypto/pkcs12/p12_decr.c => main/openssl/crypto/pkcs12/p12_decr.c rename : openssl/crypto/pkcs12/p12_init.c => main/openssl/crypto/pkcs12/p12_init.c rename : openssl/crypto/pkcs12/p12_key.c => main/openssl/crypto/pkcs12/p12_key.c rename : openssl/crypto/pkcs12/p12_kiss.c => main/openssl/crypto/pkcs12/p12_kiss.c rename : openssl/crypto/pkcs12/p12_mutl.c => main/openssl/crypto/pkcs12/p12_mutl.c rename : openssl/crypto/pkcs12/p12_npas.c => main/openssl/crypto/pkcs12/p12_npas.c rename : openssl/crypto/pkcs12/p12_p8d.c => main/openssl/crypto/pkcs12/p12_p8d.c rename : openssl/crypto/pkcs12/p12_p8e.c => main/openssl/crypto/pkcs12/p12_p8e.c rename : openssl/crypto/pkcs12/p12_utl.c => main/openssl/crypto/pkcs12/p12_utl.c rename : openssl/crypto/pkcs12/pk12err.c => main/openssl/crypto/pkcs12/pk12err.c rename : openssl/crypto/pkcs12/pkcs12.h => main/openssl/crypto/pkcs12/pkcs12.h rename : openssl/crypto/pkcs7/bio_ber.c => main/openssl/crypto/pkcs7/bio_ber.c rename : openssl/crypto/pkcs7/dec.c => main/openssl/crypto/pkcs7/dec.c rename : openssl/crypto/pkcs7/des.pem => main/openssl/crypto/pkcs7/des.pem rename : openssl/crypto/pkcs7/doc => main/openssl/crypto/pkcs7/doc rename : openssl/crypto/pkcs7/enc.c => main/openssl/crypto/pkcs7/enc.c rename : openssl/crypto/pkcs7/es1.pem => main/openssl/crypto/pkcs7/es1.pem rename : openssl/crypto/pkcs7/example.c => main/openssl/crypto/pkcs7/example.c rename : openssl/crypto/pkcs7/example.h => main/openssl/crypto/pkcs7/example.h rename : openssl/crypto/pkcs7/info.pem => main/openssl/crypto/pkcs7/info.pem rename : openssl/crypto/pkcs7/infokey.pem => main/openssl/crypto/pkcs7/infokey.pem rename : openssl/crypto/pkcs7/p7/a1 => main/openssl/crypto/pkcs7/p7/a1 rename : openssl/crypto/pkcs7/p7/a2 => main/openssl/crypto/pkcs7/p7/a2 rename : openssl/crypto/pkcs7/p7/cert.p7c => main/openssl/crypto/pkcs7/p7/cert.p7c rename : openssl/crypto/pkcs7/p7/smime.p7m => main/openssl/crypto/pkcs7/p7/smime.p7m rename : openssl/crypto/pkcs7/p7/smime.p7s => main/openssl/crypto/pkcs7/p7/smime.p7s rename : openssl/crypto/pkcs7/pk7_asn1.c => main/openssl/crypto/pkcs7/pk7_asn1.c rename : openssl/crypto/pkcs7/pk7_attr.c => main/openssl/crypto/pkcs7/pk7_attr.c rename : openssl/crypto/pkcs7/pk7_dgst.c => main/openssl/crypto/pkcs7/pk7_dgst.c rename : openssl/crypto/pkcs7/pk7_doit.c => main/openssl/crypto/pkcs7/pk7_doit.c rename : openssl/crypto/pkcs7/pk7_enc.c => main/openssl/crypto/pkcs7/pk7_enc.c rename : openssl/crypto/pkcs7/pk7_lib.c => main/openssl/crypto/pkcs7/pk7_lib.c rename : openssl/crypto/pkcs7/pk7_mime.c => main/openssl/crypto/pkcs7/pk7_mime.c rename : openssl/crypto/pkcs7/pk7_smime.c => main/openssl/crypto/pkcs7/pk7_smime.c rename : openssl/crypto/pkcs7/pkcs7.h => main/openssl/crypto/pkcs7/pkcs7.h rename : openssl/crypto/pkcs7/pkcs7err.c => main/openssl/crypto/pkcs7/pkcs7err.c rename : openssl/crypto/pkcs7/server.pem => main/openssl/crypto/pkcs7/server.pem rename : openssl/crypto/pkcs7/sign.c => main/openssl/crypto/pkcs7/sign.c rename : openssl/crypto/pkcs7/t/3des.pem => main/openssl/crypto/pkcs7/t/3des.pem rename : openssl/crypto/pkcs7/t/3dess.pem => main/openssl/crypto/pkcs7/t/3dess.pem rename : openssl/crypto/pkcs7/t/c.pem => main/openssl/crypto/pkcs7/t/c.pem rename : openssl/crypto/pkcs7/t/ff => main/openssl/crypto/pkcs7/t/ff rename : openssl/crypto/pkcs7/t/msie-e => main/openssl/crypto/pkcs7/t/msie-e rename : openssl/crypto/pkcs7/t/msie-e.pem => main/openssl/crypto/pkcs7/t/msie-e.pem rename : openssl/crypto/pkcs7/t/msie-enc-01 => main/openssl/crypto/pkcs7/t/msie-enc-01 rename : openssl/crypto/pkcs7/t/msie-enc-01.pem => main/openssl/crypto/pkcs7/t/msie-enc-01.pem rename : openssl/crypto/pkcs7/t/msie-enc-02 => main/openssl/crypto/pkcs7/t/msie-enc-02 rename : openssl/crypto/pkcs7/t/msie-enc-02.pem => main/openssl/crypto/pkcs7/t/msie-enc-02.pem rename : openssl/crypto/pkcs7/t/msie-s-a-e => main/openssl/crypto/pkcs7/t/msie-s-a-e rename : openssl/crypto/pkcs7/t/msie-s-a-e.pem => main/openssl/crypto/pkcs7/t/msie-s-a-e.pem rename : openssl/crypto/pkcs7/t/nav-smime => main/openssl/crypto/pkcs7/t/nav-smime rename : openssl/crypto/pkcs7/t/s.pem => main/openssl/crypto/pkcs7/t/s.pem rename : openssl/crypto/pkcs7/t/server.pem => main/openssl/crypto/pkcs7/t/server.pem rename : openssl/crypto/pkcs7/verify.c => main/openssl/crypto/pkcs7/verify.c rename : openssl/crypto/ppccpuid.pl => main/openssl/crypto/ppccpuid.pl rename : openssl/crypto/pqueue/pq_test.c => main/openssl/crypto/pqueue/pq_test.c rename : openssl/crypto/pqueue/pqueue.c => main/openssl/crypto/pqueue/pqueue.c rename : openssl/crypto/pqueue/pqueue.h => main/openssl/crypto/pqueue/pqueue.h rename : openssl/crypto/rand/md_rand.c => main/openssl/crypto/rand/md_rand.c rename : openssl/crypto/rand/rand.h => main/openssl/crypto/rand/rand.h rename : openssl/crypto/rand/rand_egd.c => main/openssl/crypto/rand/rand_egd.c rename : openssl/crypto/rand/rand_err.c => main/openssl/crypto/rand/rand_err.c rename : openssl/crypto/rand/rand_lcl.h => main/openssl/crypto/rand/rand_lcl.h rename : openssl/crypto/rand/rand_lib.c => main/openssl/crypto/rand/rand_lib.c rename : openssl/crypto/rand/rand_nw.c => main/openssl/crypto/rand/rand_nw.c rename : openssl/crypto/rand/rand_os2.c => main/openssl/crypto/rand/rand_os2.c rename : openssl/crypto/rand/rand_unix.c => main/openssl/crypto/rand/rand_unix.c rename : openssl/crypto/rand/rand_win.c => main/openssl/crypto/rand/rand_win.c rename : openssl/crypto/rand/randfile.c => main/openssl/crypto/rand/randfile.c rename : openssl/crypto/rand/randtest.c => main/openssl/crypto/rand/randtest.c rename : openssl/crypto/rc2/rc2.h => main/openssl/crypto/rc2/rc2.h rename : openssl/crypto/rc2/rc2_cbc.c => main/openssl/crypto/rc2/rc2_cbc.c rename : openssl/crypto/rc2/rc2_ecb.c => main/openssl/crypto/rc2/rc2_ecb.c rename : openssl/crypto/rc2/rc2_locl.h => main/openssl/crypto/rc2/rc2_locl.h rename : openssl/crypto/rc2/rc2_skey.c => main/openssl/crypto/rc2/rc2_skey.c rename : openssl/crypto/rc2/rc2cfb64.c => main/openssl/crypto/rc2/rc2cfb64.c rename : openssl/crypto/rc2/rc2ofb64.c => main/openssl/crypto/rc2/rc2ofb64.c rename : openssl/crypto/rc2/rc2speed.c => main/openssl/crypto/rc2/rc2speed.c rename : openssl/crypto/rc2/rc2test.c => main/openssl/crypto/rc2/rc2test.c rename : openssl/crypto/rc2/rrc2.doc => main/openssl/crypto/rc2/rrc2.doc rename : openssl/crypto/rc2/tab.c => main/openssl/crypto/rc2/tab.c rename : openssl/crypto/rc2/version => main/openssl/crypto/rc2/version rename : openssl/crypto/rc4/asm/rc4-586.pl => main/openssl/crypto/rc4/asm/rc4-586.pl rename : openssl/crypto/rc4/asm/rc4-ia64.pl => main/openssl/crypto/rc4/asm/rc4-ia64.pl rename : openssl/crypto/rc4/asm/rc4-s390x.pl => main/openssl/crypto/rc4/asm/rc4-s390x.pl rename : openssl/crypto/rc4/asm/rc4-x86_64.pl => main/openssl/crypto/rc4/asm/rc4-x86_64.pl rename : openssl/crypto/rc4/rc4.c => main/openssl/crypto/rc4/rc4.c rename : openssl/crypto/rc4/rc4.h => main/openssl/crypto/rc4/rc4.h rename : openssl/crypto/rc4/rc4_enc.c => main/openssl/crypto/rc4/rc4_enc.c rename : openssl/crypto/rc4/rc4_locl.h => main/openssl/crypto/rc4/rc4_locl.h rename : openssl/crypto/rc4/rc4_skey.c => main/openssl/crypto/rc4/rc4_skey.c rename : openssl/crypto/rc4/rc4s.cpp => main/openssl/crypto/rc4/rc4s.cpp rename : openssl/crypto/rc4/rc4speed.c => main/openssl/crypto/rc4/rc4speed.c rename : openssl/crypto/rc4/rc4test.c => main/openssl/crypto/rc4/rc4test.c rename : openssl/crypto/rc4/rrc4.doc => main/openssl/crypto/rc4/rrc4.doc rename : openssl/crypto/ripemd/README => main/openssl/crypto/ripemd/README rename : openssl/crypto/ripemd/asm/rips.cpp => main/openssl/crypto/ripemd/asm/rips.cpp rename : openssl/crypto/ripemd/asm/rmd-586.pl => main/openssl/crypto/ripemd/asm/rmd-586.pl rename : openssl/crypto/ripemd/ripemd.h => main/openssl/crypto/ripemd/ripemd.h rename : openssl/crypto/ripemd/rmd160.c => main/openssl/crypto/ripemd/rmd160.c rename : openssl/crypto/ripemd/rmd_dgst.c => main/openssl/crypto/ripemd/rmd_dgst.c rename : openssl/crypto/ripemd/rmd_locl.h => main/openssl/crypto/ripemd/rmd_locl.h rename : openssl/crypto/ripemd/rmd_one.c => main/openssl/crypto/ripemd/rmd_one.c rename : openssl/crypto/ripemd/rmdconst.h => main/openssl/crypto/ripemd/rmdconst.h rename : openssl/crypto/ripemd/rmdtest.c => main/openssl/crypto/ripemd/rmdtest.c rename : openssl/crypto/rsa/rsa.h => main/openssl/crypto/rsa/rsa.h rename : openssl/crypto/rsa/rsa_ameth.c => main/openssl/crypto/rsa/rsa_ameth.c rename : openssl/crypto/rsa/rsa_asn1.c => main/openssl/crypto/rsa/rsa_asn1.c rename : openssl/crypto/rsa/rsa_chk.c => main/openssl/crypto/rsa/rsa_chk.c rename : openssl/crypto/rsa/rsa_depr.c => main/openssl/crypto/rsa/rsa_depr.c rename : openssl/crypto/rsa/rsa_eay.c => main/openssl/crypto/rsa/rsa_eay.c rename : openssl/crypto/rsa/rsa_err.c => main/openssl/crypto/rsa/rsa_err.c rename : openssl/crypto/rsa/rsa_gen.c => main/openssl/crypto/rsa/rsa_gen.c rename : openssl/crypto/rsa/rsa_lib.c => main/openssl/crypto/rsa/rsa_lib.c rename : openssl/crypto/rsa/rsa_locl.h => main/openssl/crypto/rsa/rsa_locl.h rename : openssl/crypto/rsa/rsa_none.c => main/openssl/crypto/rsa/rsa_none.c rename : openssl/crypto/rsa/rsa_null.c => main/openssl/crypto/rsa/rsa_null.c rename : openssl/crypto/rsa/rsa_oaep.c => main/openssl/crypto/rsa/rsa_oaep.c rename : openssl/crypto/rsa/rsa_pk1.c => main/openssl/crypto/rsa/rsa_pk1.c rename : openssl/crypto/rsa/rsa_pmeth.c => main/openssl/crypto/rsa/rsa_pmeth.c rename : openssl/crypto/rsa/rsa_prn.c => main/openssl/crypto/rsa/rsa_prn.c rename : openssl/crypto/rsa/rsa_pss.c => main/openssl/crypto/rsa/rsa_pss.c rename : openssl/crypto/rsa/rsa_saos.c => main/openssl/crypto/rsa/rsa_saos.c rename : openssl/crypto/rsa/rsa_sign.c => main/openssl/crypto/rsa/rsa_sign.c rename : openssl/crypto/rsa/rsa_ssl.c => main/openssl/crypto/rsa/rsa_ssl.c rename : openssl/crypto/rsa/rsa_test.c => main/openssl/crypto/rsa/rsa_test.c rename : openssl/crypto/rsa/rsa_x931.c => main/openssl/crypto/rsa/rsa_x931.c rename : openssl/crypto/s390xcap.c => main/openssl/crypto/s390xcap.c rename : openssl/crypto/s390xcpuid.S => main/openssl/crypto/s390xcpuid.S rename : openssl/crypto/sha/asm/README => main/openssl/crypto/sha/asm/README rename : openssl/crypto/sha/asm/sha1-586.pl => main/openssl/crypto/sha/asm/sha1-586.pl rename : openssl/crypto/sha/asm/sha1-armv4-large.pl => main/openssl/crypto/sha/asm/sha1-armv4-large.pl rename : openssl/crypto/sha/asm/sha1-armv4-large.s => main/openssl/crypto/sha/asm/sha1-armv4-large.s rename : openssl/crypto/sha/asm/sha1-ia64.pl => main/openssl/crypto/sha/asm/sha1-ia64.pl rename : openssl/crypto/sha/asm/sha1-ppc.pl => main/openssl/crypto/sha/asm/sha1-ppc.pl rename : openssl/crypto/sha/asm/sha1-s390x.pl => main/openssl/crypto/sha/asm/sha1-s390x.pl rename : openssl/crypto/sha/asm/sha1-sparcv9.pl => main/openssl/crypto/sha/asm/sha1-sparcv9.pl rename : openssl/crypto/sha/asm/sha1-sparcv9a.pl => main/openssl/crypto/sha/asm/sha1-sparcv9a.pl rename : openssl/crypto/sha/asm/sha1-thumb.pl => main/openssl/crypto/sha/asm/sha1-thumb.pl rename : openssl/crypto/sha/asm/sha1-x86_64.pl => main/openssl/crypto/sha/asm/sha1-x86_64.pl rename : openssl/crypto/sha/asm/sha256-586.pl => main/openssl/crypto/sha/asm/sha256-586.pl rename : openssl/crypto/sha/asm/sha256-armv4.pl => main/openssl/crypto/sha/asm/sha256-armv4.pl rename : openssl/crypto/sha/asm/sha256-armv4.s => main/openssl/crypto/sha/asm/sha256-armv4.s rename : openssl/crypto/sha/asm/sha512-586.pl => main/openssl/crypto/sha/asm/sha512-586.pl rename : openssl/crypto/sha/asm/sha512-armv4.pl => main/openssl/crypto/sha/asm/sha512-armv4.pl rename : openssl/crypto/sha/asm/sha512-armv4.s => main/openssl/crypto/sha/asm/sha512-armv4.s rename : openssl/crypto/sha/asm/sha512-ia64.pl => main/openssl/crypto/sha/asm/sha512-ia64.pl rename : openssl/crypto/sha/asm/sha512-ppc.pl => main/openssl/crypto/sha/asm/sha512-ppc.pl rename : openssl/crypto/sha/asm/sha512-s390x.pl => main/openssl/crypto/sha/asm/sha512-s390x.pl rename : openssl/crypto/sha/asm/sha512-sparcv9.pl => main/openssl/crypto/sha/asm/sha512-sparcv9.pl rename : openssl/crypto/sha/asm/sha512-x86_64.pl => main/openssl/crypto/sha/asm/sha512-x86_64.pl rename : openssl/crypto/sha/sha.c => main/openssl/crypto/sha/sha.c rename : openssl/crypto/sha/sha.h => main/openssl/crypto/sha/sha.h rename : openssl/crypto/sha/sha1.c => main/openssl/crypto/sha/sha1.c rename : openssl/crypto/sha/sha1_one.c => main/openssl/crypto/sha/sha1_one.c rename : openssl/crypto/sha/sha1dgst.c => main/openssl/crypto/sha/sha1dgst.c rename : openssl/crypto/sha/sha1test.c => main/openssl/crypto/sha/sha1test.c rename : openssl/crypto/sha/sha256.c => main/openssl/crypto/sha/sha256.c rename : openssl/crypto/sha/sha256t.c => main/openssl/crypto/sha/sha256t.c rename : openssl/crypto/sha/sha512.c => main/openssl/crypto/sha/sha512.c rename : openssl/crypto/sha/sha512t.c => main/openssl/crypto/sha/sha512t.c rename : openssl/crypto/sha/sha_dgst.c => main/openssl/crypto/sha/sha_dgst.c rename : openssl/crypto/sha/sha_locl.h => main/openssl/crypto/sha/sha_locl.h rename : openssl/crypto/sha/shatest.c => main/openssl/crypto/sha/shatest.c rename : openssl/crypto/sparccpuid.S => main/openssl/crypto/sparccpuid.S rename : openssl/crypto/sparcv9cap.c => main/openssl/crypto/sparcv9cap.c rename : openssl/crypto/stack/safestack.h => main/openssl/crypto/stack/safestack.h rename : openssl/crypto/stack/stack.c => main/openssl/crypto/stack/stack.c rename : openssl/crypto/stack/stack.h => main/openssl/crypto/stack/stack.h rename : openssl/crypto/store/README => main/openssl/crypto/store/README rename : openssl/crypto/store/store.h => main/openssl/crypto/store/store.h rename : openssl/crypto/store/str_err.c => main/openssl/crypto/store/str_err.c rename : openssl/crypto/store/str_lib.c => main/openssl/crypto/store/str_lib.c rename : openssl/crypto/store/str_locl.h => main/openssl/crypto/store/str_locl.h rename : openssl/crypto/store/str_mem.c => main/openssl/crypto/store/str_mem.c rename : openssl/crypto/store/str_meth.c => main/openssl/crypto/store/str_meth.c rename : openssl/crypto/symhacks.h => main/openssl/crypto/symhacks.h rename : openssl/crypto/threads/README => main/openssl/crypto/threads/README rename : openssl/crypto/threads/mttest.c => main/openssl/crypto/threads/mttest.c rename : openssl/crypto/threads/netware.bat => main/openssl/crypto/threads/netware.bat rename : openssl/crypto/threads/profile.sh => main/openssl/crypto/threads/profile.sh rename : openssl/crypto/threads/ptest.bat => main/openssl/crypto/threads/ptest.bat rename : openssl/crypto/threads/pthread.sh => main/openssl/crypto/threads/pthread.sh rename : openssl/crypto/threads/pthread2.sh => main/openssl/crypto/threads/pthread2.sh rename : openssl/crypto/threads/purify.sh => main/openssl/crypto/threads/purify.sh rename : openssl/crypto/threads/solaris.sh => main/openssl/crypto/threads/solaris.sh rename : openssl/crypto/threads/th-lock.c => main/openssl/crypto/threads/th-lock.c rename : openssl/crypto/ts/ts_err.c => main/openssl/crypto/ts/ts_err.c rename : openssl/crypto/txt_db/txt_db.c => main/openssl/crypto/txt_db/txt_db.c rename : openssl/crypto/txt_db/txt_db.h => main/openssl/crypto/txt_db/txt_db.h rename : openssl/crypto/ui/ui.h => main/openssl/crypto/ui/ui.h rename : openssl/crypto/ui/ui_compat.c => main/openssl/crypto/ui/ui_compat.c rename : openssl/crypto/ui/ui_compat.h => main/openssl/crypto/ui/ui_compat.h rename : openssl/crypto/ui/ui_err.c => main/openssl/crypto/ui/ui_err.c rename : openssl/crypto/ui/ui_lib.c => main/openssl/crypto/ui/ui_lib.c rename : openssl/crypto/ui/ui_locl.h => main/openssl/crypto/ui/ui_locl.h rename : openssl/crypto/ui/ui_openssl.c => main/openssl/crypto/ui/ui_openssl.c rename : openssl/crypto/ui/ui_util.c => main/openssl/crypto/ui/ui_util.c rename : openssl/crypto/uid.c => main/openssl/crypto/uid.c rename : openssl/crypto/x509/by_dir.c => main/openssl/crypto/x509/by_dir.c rename : openssl/crypto/x509/by_file.c => main/openssl/crypto/x509/by_file.c rename : openssl/crypto/x509/x509.h => main/openssl/crypto/x509/x509.h rename : openssl/crypto/x509/x509_att.c => main/openssl/crypto/x509/x509_att.c rename : openssl/crypto/x509/x509_cmp.c => main/openssl/crypto/x509/x509_cmp.c rename : openssl/crypto/x509/x509_d2.c => main/openssl/crypto/x509/x509_d2.c rename : openssl/crypto/x509/x509_def.c => main/openssl/crypto/x509/x509_def.c rename : openssl/crypto/x509/x509_err.c => main/openssl/crypto/x509/x509_err.c rename : openssl/crypto/x509/x509_ext.c => main/openssl/crypto/x509/x509_ext.c rename : openssl/crypto/x509/x509_lu.c => main/openssl/crypto/x509/x509_lu.c rename : openssl/crypto/x509/x509_obj.c => main/openssl/crypto/x509/x509_obj.c rename : openssl/crypto/x509/x509_r2x.c => main/openssl/crypto/x509/x509_r2x.c rename : openssl/crypto/x509/x509_req.c => main/openssl/crypto/x509/x509_req.c rename : openssl/crypto/x509/x509_set.c => main/openssl/crypto/x509/x509_set.c rename : openssl/crypto/x509/x509_trs.c => main/openssl/crypto/x509/x509_trs.c rename : openssl/crypto/x509/x509_txt.c => main/openssl/crypto/x509/x509_txt.c rename : openssl/crypto/x509/x509_v3.c => main/openssl/crypto/x509/x509_v3.c rename : openssl/crypto/x509/x509_vfy.c => main/openssl/crypto/x509/x509_vfy.c rename : openssl/crypto/x509/x509_vfy.h => main/openssl/crypto/x509/x509_vfy.h rename : openssl/crypto/x509/x509_vpm.c => main/openssl/crypto/x509/x509_vpm.c rename : openssl/crypto/x509/x509cset.c => main/openssl/crypto/x509/x509cset.c rename : openssl/crypto/x509/x509name.c => main/openssl/crypto/x509/x509name.c rename : openssl/crypto/x509/x509rset.c => main/openssl/crypto/x509/x509rset.c rename : openssl/crypto/x509/x509spki.c => main/openssl/crypto/x509/x509spki.c rename : openssl/crypto/x509/x509type.c => main/openssl/crypto/x509/x509type.c rename : openssl/crypto/x509/x_all.c => main/openssl/crypto/x509/x_all.c rename : openssl/crypto/x509v3/ext_dat.h => main/openssl/crypto/x509v3/ext_dat.h rename : openssl/crypto/x509v3/pcy_cache.c => main/openssl/crypto/x509v3/pcy_cache.c rename : openssl/crypto/x509v3/pcy_data.c => main/openssl/crypto/x509v3/pcy_data.c rename : openssl/crypto/x509v3/pcy_int.h => main/openssl/crypto/x509v3/pcy_int.h rename : openssl/crypto/x509v3/pcy_lib.c => main/openssl/crypto/x509v3/pcy_lib.c rename : openssl/crypto/x509v3/pcy_map.c => main/openssl/crypto/x509v3/pcy_map.c rename : openssl/crypto/x509v3/pcy_node.c => main/openssl/crypto/x509v3/pcy_node.c rename : openssl/crypto/x509v3/pcy_tree.c => main/openssl/crypto/x509v3/pcy_tree.c rename : openssl/crypto/x509v3/tabtest.c => main/openssl/crypto/x509v3/tabtest.c rename : openssl/crypto/x509v3/v3_addr.c => main/openssl/crypto/x509v3/v3_addr.c rename : openssl/crypto/x509v3/v3_akey.c => main/openssl/crypto/x509v3/v3_akey.c rename : openssl/crypto/x509v3/v3_akeya.c => main/openssl/crypto/x509v3/v3_akeya.c rename : openssl/crypto/x509v3/v3_alt.c => main/openssl/crypto/x509v3/v3_alt.c rename : openssl/crypto/x509v3/v3_asid.c => main/openssl/crypto/x509v3/v3_asid.c rename : openssl/crypto/x509v3/v3_bcons.c => main/openssl/crypto/x509v3/v3_bcons.c rename : openssl/crypto/x509v3/v3_bitst.c => main/openssl/crypto/x509v3/v3_bitst.c rename : openssl/crypto/x509v3/v3_conf.c => main/openssl/crypto/x509v3/v3_conf.c rename : openssl/crypto/x509v3/v3_cpols.c => main/openssl/crypto/x509v3/v3_cpols.c rename : openssl/crypto/x509v3/v3_crld.c => main/openssl/crypto/x509v3/v3_crld.c rename : openssl/crypto/x509v3/v3_enum.c => main/openssl/crypto/x509v3/v3_enum.c rename : openssl/crypto/x509v3/v3_extku.c => main/openssl/crypto/x509v3/v3_extku.c rename : openssl/crypto/x509v3/v3_genn.c => main/openssl/crypto/x509v3/v3_genn.c rename : openssl/crypto/x509v3/v3_ia5.c => main/openssl/crypto/x509v3/v3_ia5.c rename : openssl/crypto/x509v3/v3_info.c => main/openssl/crypto/x509v3/v3_info.c rename : openssl/crypto/x509v3/v3_int.c => main/openssl/crypto/x509v3/v3_int.c rename : openssl/crypto/x509v3/v3_lib.c => main/openssl/crypto/x509v3/v3_lib.c rename : openssl/crypto/x509v3/v3_ncons.c => main/openssl/crypto/x509v3/v3_ncons.c rename : openssl/crypto/x509v3/v3_ocsp.c => main/openssl/crypto/x509v3/v3_ocsp.c rename : openssl/crypto/x509v3/v3_pci.c => main/openssl/crypto/x509v3/v3_pci.c rename : openssl/crypto/x509v3/v3_pcia.c => main/openssl/crypto/x509v3/v3_pcia.c rename : openssl/crypto/x509v3/v3_pcons.c => main/openssl/crypto/x509v3/v3_pcons.c rename : openssl/crypto/x509v3/v3_pku.c => main/openssl/crypto/x509v3/v3_pku.c rename : openssl/crypto/x509v3/v3_pmaps.c => main/openssl/crypto/x509v3/v3_pmaps.c rename : openssl/crypto/x509v3/v3_prn.c => main/openssl/crypto/x509v3/v3_prn.c rename : openssl/crypto/x509v3/v3_purp.c => main/openssl/crypto/x509v3/v3_purp.c rename : openssl/crypto/x509v3/v3_skey.c => main/openssl/crypto/x509v3/v3_skey.c rename : openssl/crypto/x509v3/v3_sxnet.c => main/openssl/crypto/x509v3/v3_sxnet.c rename : openssl/crypto/x509v3/v3_utl.c => main/openssl/crypto/x509v3/v3_utl.c rename : openssl/crypto/x509v3/v3conf.c => main/openssl/crypto/x509v3/v3conf.c rename : openssl/crypto/x509v3/v3err.c => main/openssl/crypto/x509v3/v3err.c rename : openssl/crypto/x509v3/v3prin.c => main/openssl/crypto/x509v3/v3prin.c rename : openssl/crypto/x509v3/x509v3.h => main/openssl/crypto/x509v3/x509v3.h rename : openssl/crypto/x86_64cpuid.pl => main/openssl/crypto/x86_64cpuid.pl rename : openssl/crypto/x86cpuid.pl => main/openssl/crypto/x86cpuid.pl rename : openssl/e_os.h => main/openssl/e_os.h rename : openssl/e_os2.h => main/openssl/e_os2.h rename : openssl/import_openssl.sh => main/openssl/import_openssl.sh rename : openssl/include/openssl/aes.h => main/openssl/include/openssl/aes.h rename : openssl/include/openssl/asn1.h => main/openssl/include/openssl/asn1.h rename : openssl/include/openssl/asn1_mac.h => main/openssl/include/openssl/asn1_mac.h rename : openssl/include/openssl/asn1t.h => main/openssl/include/openssl/asn1t.h rename : openssl/include/openssl/bio.h => main/openssl/include/openssl/bio.h rename : openssl/include/openssl/blowfish.h => main/openssl/include/openssl/blowfish.h rename : openssl/include/openssl/bn.h => main/openssl/include/openssl/bn.h rename : openssl/include/openssl/buffer.h => main/openssl/include/openssl/buffer.h rename : openssl/include/openssl/comp.h => main/openssl/include/openssl/comp.h rename : openssl/include/openssl/conf.h => main/openssl/include/openssl/conf.h rename : openssl/include/openssl/conf_api.h => main/openssl/include/openssl/conf_api.h rename : openssl/include/openssl/crypto.h => main/openssl/include/openssl/crypto.h rename : openssl/include/openssl/des.h => main/openssl/include/openssl/des.h rename : openssl/include/openssl/des_old.h => main/openssl/include/openssl/des_old.h rename : openssl/include/openssl/dh.h => main/openssl/include/openssl/dh.h rename : openssl/include/openssl/dsa.h => main/openssl/include/openssl/dsa.h rename : openssl/include/openssl/dso.h => main/openssl/include/openssl/dso.h rename : openssl/include/openssl/dtls1.h => main/openssl/include/openssl/dtls1.h rename : openssl/include/openssl/e_os2.h => main/openssl/include/openssl/e_os2.h rename : openssl/include/openssl/ebcdic.h => main/openssl/include/openssl/ebcdic.h rename : openssl/include/openssl/ec.h => main/openssl/include/openssl/ec.h rename : openssl/include/openssl/ecdh.h => main/openssl/include/openssl/ecdh.h rename : openssl/include/openssl/ecdsa.h => main/openssl/include/openssl/ecdsa.h rename : openssl/include/openssl/engine.h => main/openssl/include/openssl/engine.h rename : openssl/include/openssl/err.h => main/openssl/include/openssl/err.h rename : openssl/include/openssl/evp.h => main/openssl/include/openssl/evp.h rename : openssl/include/openssl/hmac.h => main/openssl/include/openssl/hmac.h rename : openssl/include/openssl/krb5_asn.h => main/openssl/include/openssl/krb5_asn.h rename : openssl/include/openssl/kssl.h => main/openssl/include/openssl/kssl.h rename : openssl/include/openssl/lhash.h => main/openssl/include/openssl/lhash.h rename : openssl/include/openssl/md4.h => main/openssl/include/openssl/md4.h rename : openssl/include/openssl/md5.h => main/openssl/include/openssl/md5.h rename : openssl/include/openssl/modes.h => main/openssl/include/openssl/modes.h rename : openssl/include/openssl/obj_mac.h => main/openssl/include/openssl/obj_mac.h rename : openssl/include/openssl/objects.h => main/openssl/include/openssl/objects.h rename : openssl/include/openssl/ocsp.h => main/openssl/include/openssl/ocsp.h rename : openssl/include/openssl/opensslconf.h => main/openssl/include/openssl/opensslconf.h rename : openssl/include/openssl/opensslv.h => main/openssl/include/openssl/opensslv.h rename : openssl/include/openssl/ossl_typ.h => main/openssl/include/openssl/ossl_typ.h rename : openssl/include/openssl/pem.h => main/openssl/include/openssl/pem.h rename : openssl/include/openssl/pem2.h => main/openssl/include/openssl/pem2.h rename : openssl/include/openssl/pkcs12.h => main/openssl/include/openssl/pkcs12.h rename : openssl/include/openssl/pkcs7.h => main/openssl/include/openssl/pkcs7.h rename : openssl/include/openssl/pqueue.h => main/openssl/include/openssl/pqueue.h rename : openssl/include/openssl/rand.h => main/openssl/include/openssl/rand.h rename : openssl/include/openssl/rc2.h => main/openssl/include/openssl/rc2.h rename : openssl/include/openssl/rc4.h => main/openssl/include/openssl/rc4.h rename : openssl/include/openssl/ripemd.h => main/openssl/include/openssl/ripemd.h rename : openssl/include/openssl/rsa.h => main/openssl/include/openssl/rsa.h rename : openssl/include/openssl/safestack.h => main/openssl/include/openssl/safestack.h rename : openssl/include/openssl/sha.h => main/openssl/include/openssl/sha.h rename : openssl/include/openssl/ssl.h => main/openssl/include/openssl/ssl.h rename : openssl/include/openssl/ssl2.h => main/openssl/include/openssl/ssl2.h rename : openssl/include/openssl/ssl23.h => main/openssl/include/openssl/ssl23.h rename : openssl/include/openssl/ssl3.h => main/openssl/include/openssl/ssl3.h rename : openssl/include/openssl/stack.h => main/openssl/include/openssl/stack.h rename : openssl/include/openssl/symhacks.h => main/openssl/include/openssl/symhacks.h rename : openssl/include/openssl/tls1.h => main/openssl/include/openssl/tls1.h rename : openssl/include/openssl/ts.h => main/openssl/include/openssl/ts.h rename : openssl/include/openssl/txt_db.h => main/openssl/include/openssl/txt_db.h rename : openssl/include/openssl/ui.h => main/openssl/include/openssl/ui.h rename : openssl/include/openssl/ui_compat.h => main/openssl/include/openssl/ui_compat.h rename : openssl/include/openssl/x509.h => main/openssl/include/openssl/x509.h rename : openssl/include/openssl/x509_vfy.h => main/openssl/include/openssl/x509_vfy.h rename : openssl/include/openssl/x509v3.h => main/openssl/include/openssl/x509v3.h rename : openssl/openssl.config => main/openssl/openssl.config rename : openssl/openssl.version => main/openssl/openssl.version rename : openssl/patches/README => main/openssl/patches/README rename : openssl/patches/apps_Android.mk => main/openssl/patches/apps_Android.mk rename : openssl/patches/crypto_Android.mk => main/openssl/patches/crypto_Android.mk rename : openssl/patches/handshake_cutthrough.patch => main/openssl/patches/handshake_cutthrough.patch rename : openssl/patches/jsse.patch => main/openssl/patches/jsse.patch rename : openssl/patches/npn.patch => main/openssl/patches/npn.patch rename : openssl/patches/progs.patch => main/openssl/patches/progs.patch rename : openssl/patches/sha1_armv4_large.patch => main/openssl/patches/sha1_armv4_large.patch rename : openssl/patches/small_records.patch => main/openssl/patches/small_records.patch rename : openssl/patches/ssl_Android.mk => main/openssl/patches/ssl_Android.mk rename : openssl/patches/sslv3_uninit_padding.patch => main/openssl/patches/sslv3_uninit_padding.patch rename : openssl/patches/testssl.sh => main/openssl/patches/testssl.sh rename : openssl/ssl/Android.mk => main/openssl/ssl/Android.mk rename : openssl/ssl/Makefile => main/openssl/ssl/Makefile rename : openssl/ssl/bio_ssl.c => main/openssl/ssl/bio_ssl.c rename : openssl/ssl/d1_both.c => main/openssl/ssl/d1_both.c rename : openssl/ssl/d1_clnt.c => main/openssl/ssl/d1_clnt.c rename : openssl/ssl/d1_enc.c => main/openssl/ssl/d1_enc.c rename : openssl/ssl/d1_lib.c => main/openssl/ssl/d1_lib.c rename : openssl/ssl/d1_meth.c => main/openssl/ssl/d1_meth.c rename : openssl/ssl/d1_pkt.c => main/openssl/ssl/d1_pkt.c rename : openssl/ssl/d1_srvr.c => main/openssl/ssl/d1_srvr.c rename : openssl/ssl/dtls1.h => main/openssl/ssl/dtls1.h rename : openssl/ssl/kssl.c => main/openssl/ssl/kssl.c rename : openssl/ssl/kssl.h => main/openssl/ssl/kssl.h rename : openssl/ssl/kssl_lcl.h => main/openssl/ssl/kssl_lcl.h rename : openssl/ssl/s23_clnt.c => main/openssl/ssl/s23_clnt.c rename : openssl/ssl/s23_lib.c => main/openssl/ssl/s23_lib.c rename : openssl/ssl/s23_meth.c => main/openssl/ssl/s23_meth.c rename : openssl/ssl/s23_pkt.c => main/openssl/ssl/s23_pkt.c rename : openssl/ssl/s23_srvr.c => main/openssl/ssl/s23_srvr.c rename : openssl/ssl/s2_clnt.c => main/openssl/ssl/s2_clnt.c rename : openssl/ssl/s2_enc.c => main/openssl/ssl/s2_enc.c rename : openssl/ssl/s2_lib.c => main/openssl/ssl/s2_lib.c rename : openssl/ssl/s2_meth.c => main/openssl/ssl/s2_meth.c rename : openssl/ssl/s2_pkt.c => main/openssl/ssl/s2_pkt.c rename : openssl/ssl/s2_srvr.c => main/openssl/ssl/s2_srvr.c rename : openssl/ssl/s3_both.c => main/openssl/ssl/s3_both.c rename : openssl/ssl/s3_clnt.c => main/openssl/ssl/s3_clnt.c rename : openssl/ssl/s3_enc.c => main/openssl/ssl/s3_enc.c rename : openssl/ssl/s3_lib.c => main/openssl/ssl/s3_lib.c rename : openssl/ssl/s3_meth.c => main/openssl/ssl/s3_meth.c rename : openssl/ssl/s3_pkt.c => main/openssl/ssl/s3_pkt.c rename : openssl/ssl/s3_srvr.c => main/openssl/ssl/s3_srvr.c rename : openssl/ssl/ssl.h => main/openssl/ssl/ssl.h rename : openssl/ssl/ssl2.h => main/openssl/ssl/ssl2.h rename : openssl/ssl/ssl23.h => main/openssl/ssl/ssl23.h rename : openssl/ssl/ssl3.h => main/openssl/ssl/ssl3.h rename : openssl/ssl/ssl_algs.c => main/openssl/ssl/ssl_algs.c rename : openssl/ssl/ssl_asn1.c => main/openssl/ssl/ssl_asn1.c rename : openssl/ssl/ssl_cert.c => main/openssl/ssl/ssl_cert.c rename : openssl/ssl/ssl_ciph.c => main/openssl/ssl/ssl_ciph.c rename : openssl/ssl/ssl_err.c => main/openssl/ssl/ssl_err.c rename : openssl/ssl/ssl_err2.c => main/openssl/ssl/ssl_err2.c rename : openssl/ssl/ssl_lib.c => main/openssl/ssl/ssl_lib.c rename : openssl/ssl/ssl_locl.h => main/openssl/ssl/ssl_locl.h rename : openssl/ssl/ssl_rsa.c => main/openssl/ssl/ssl_rsa.c rename : openssl/ssl/ssl_sess.c => main/openssl/ssl/ssl_sess.c rename : openssl/ssl/ssl_stat.c => main/openssl/ssl/ssl_stat.c rename : openssl/ssl/ssl_txt.c => main/openssl/ssl/ssl_txt.c rename : openssl/ssl/ssltest.c => main/openssl/ssl/ssltest.c rename : openssl/ssl/t1_clnt.c => main/openssl/ssl/t1_clnt.c rename : openssl/ssl/t1_enc.c => main/openssl/ssl/t1_enc.c rename : openssl/ssl/t1_lib.c => main/openssl/ssl/t1_lib.c rename : openssl/ssl/t1_meth.c => main/openssl/ssl/t1_meth.c rename : openssl/ssl/t1_reneg.c => main/openssl/ssl/t1_reneg.c rename : openssl/ssl/t1_srvr.c => main/openssl/ssl/t1_srvr.c rename : openssl/ssl/tls1.h => main/openssl/ssl/tls1.h rename : openvpn/.gitignore => main/openvpn/.gitignore rename : openvpn/.mailmap => main/openvpn/.mailmap rename : openvpn/.svncommitters => main/openvpn/.svncommitters rename : openvpn/AUTHORS => main/openvpn/AUTHORS rename : openvpn/Android.mk => main/openvpn/Android.mk rename : openvpn/COPYING => main/openvpn/COPYING rename : openvpn/COPYRIGHT.GPL => main/openvpn/COPYRIGHT.GPL rename : openvpn/ChangeLog => main/openvpn/ChangeLog rename : openvpn/INSTALL => main/openvpn/INSTALL rename : openvpn/INSTALL-win32.txt => main/openvpn/INSTALL-win32.txt rename : openvpn/Makefile.am => main/openvpn/Makefile.am rename : openvpn/NEWS => main/openvpn/NEWS rename : openvpn/PORTS => main/openvpn/PORTS rename : openvpn/README => main/openvpn/README rename : openvpn/README.IPv6 => main/openvpn/README.IPv6 rename : openvpn/README.polarssl => main/openvpn/README.polarssl rename : openvpn/TODO.IPv6 => main/openvpn/TODO.IPv6 rename : openvpn/build/Makefile.am => main/openvpn/build/Makefile.am rename : openvpn/build/ltrc.inc => main/openvpn/build/ltrc.inc rename : openvpn/build/msvc/Makefile.am => main/openvpn/build/msvc/Makefile.am rename : openvpn/build/msvc/msvc-generate/Makefile.am => main/openvpn/build/msvc/msvc-generate/Makefile.am rename : openvpn/build/msvc/msvc-generate/Makefile.mak => main/openvpn/build/msvc/msvc-generate/Makefile.mak rename : openvpn/build/msvc/msvc-generate/msvc-generate.js => main/openvpn/build/msvc/msvc-generate/msvc-generate.js rename : openvpn/build/msvc/msvc-generate/msvc-generate.vcxproj => main/openvpn/build/msvc/msvc-generate/msvc-generate.vcxproj rename : openvpn/compat.m4 => main/openvpn/compat.m4 rename : openvpn/config-msvc-version.h.in => main/openvpn/config-msvc-version.h.in rename : openvpn/config-msvc.h => main/openvpn/config-msvc.h rename : openvpn/config-version.h => main/openvpn/config-version.h rename : openvpn/config.h => main/openvpn/config.h rename : openvpn/configure.ac => main/openvpn/configure.ac rename : openvpn/contrib/OCSP_check/OCSP_check.sh => main/openvpn/contrib/OCSP_check/OCSP_check.sh rename : openvpn/contrib/README => main/openvpn/contrib/README rename : openvpn/contrib/multilevel-init.patch => main/openvpn/contrib/multilevel-init.patch rename : openvpn/contrib/openvpn-fwmarkroute-1.00/README => main/openvpn/contrib/openvpn-fwmarkroute-1.00/README rename : openvpn/contrib/openvpn-fwmarkroute-1.00/fwmarkroute.down => main/openvpn/contrib/openvpn-fwmarkroute-1.00/fwmarkroute.down rename : openvpn/contrib/openvpn-fwmarkroute-1.00/fwmarkroute.up => main/openvpn/contrib/openvpn-fwmarkroute-1.00/fwmarkroute.up rename : openvpn/contrib/pull-resolv-conf/client.down => main/openvpn/contrib/pull-resolv-conf/client.down rename : openvpn/contrib/pull-resolv-conf/client.up => main/openvpn/contrib/pull-resolv-conf/client.up rename : openvpn/debug/doval => main/openvpn/debug/doval rename : openvpn/debug/dovalns => main/openvpn/debug/dovalns rename : openvpn/debug/valgrind-suppress => main/openvpn/debug/valgrind-suppress rename : openvpn/distro/Makefile.am => main/openvpn/distro/Makefile.am rename : openvpn/distro/rpm/Makefile.am => main/openvpn/distro/rpm/Makefile.am rename : openvpn/distro/rpm/openvpn.init.d.rhel => main/openvpn/distro/rpm/openvpn.init.d.rhel rename : openvpn/distro/rpm/openvpn.init.d.suse => main/openvpn/distro/rpm/openvpn.init.d.suse rename : openvpn/distro/rpm/openvpn.spec => main/openvpn/distro/rpm/openvpn.spec rename : openvpn/distro/rpm/openvpn.spec.in => main/openvpn/distro/rpm/openvpn.spec.in rename : openvpn/doc/Makefile.am => main/openvpn/doc/Makefile.am rename : openvpn/doc/README.plugins => main/openvpn/doc/README.plugins rename : openvpn/doc/android.txt => main/openvpn/doc/android.txt rename : openvpn/doc/doxygen/doc_compression.h => main/openvpn/doc/doxygen/doc_compression.h rename : openvpn/doc/doxygen/doc_control_processor.h => main/openvpn/doc/doxygen/doc_control_processor.h rename : openvpn/doc/doxygen/doc_control_tls.h => main/openvpn/doc/doxygen/doc_control_tls.h rename : openvpn/doc/doxygen/doc_data_control.h => main/openvpn/doc/doxygen/doc_data_control.h rename : openvpn/doc/doxygen/doc_data_crypto.h => main/openvpn/doc/doxygen/doc_data_crypto.h rename : openvpn/doc/doxygen/doc_eventloop.h => main/openvpn/doc/doxygen/doc_eventloop.h rename : openvpn/doc/doxygen/doc_external_multiplexer.h => main/openvpn/doc/doxygen/doc_external_multiplexer.h rename : openvpn/doc/doxygen/doc_fragmentation.h => main/openvpn/doc/doxygen/doc_fragmentation.h rename : openvpn/doc/doxygen/doc_internal_multiplexer.h => main/openvpn/doc/doxygen/doc_internal_multiplexer.h rename : openvpn/doc/doxygen/doc_key_generation.h => main/openvpn/doc/doxygen/doc_key_generation.h rename : openvpn/doc/doxygen/doc_mainpage.h => main/openvpn/doc/doxygen/doc_mainpage.h rename : openvpn/doc/doxygen/doc_memory_management.h => main/openvpn/doc/doxygen/doc_memory_management.h rename : openvpn/doc/doxygen/doc_protocol_overview.h => main/openvpn/doc/doxygen/doc_protocol_overview.h rename : openvpn/doc/doxygen/doc_reliable.h => main/openvpn/doc/doxygen/doc_reliable.h rename : openvpn/doc/doxygen/doc_tunnel_state.h => main/openvpn/doc/doxygen/doc_tunnel_state.h rename : openvpn/doc/doxygen/openvpn.doxyfile => main/openvpn/doc/doxygen/openvpn.doxyfile rename : openvpn/doc/management-notes.txt => main/openvpn/doc/management-notes.txt rename : openvpn/doc/openvpn.8 => main/openvpn/doc/openvpn.8 rename : openvpn/include/Makefile.am => main/openvpn/include/Makefile.am rename : openvpn/include/openvpn-plugin.h => main/openvpn/include/openvpn-plugin.h rename : openvpn/m4/.keep => main/openvpn/m4/.keep rename : openvpn/m4/ax_emptyarray.m4 => main/openvpn/m4/ax_emptyarray.m4 rename : openvpn/m4/ax_socklen_t.m4 => main/openvpn/m4/ax_socklen_t.m4 rename : openvpn/m4/ax_varargs.m4 => main/openvpn/m4/ax_varargs.m4 rename : openvpn/m4/pkg.m4 => main/openvpn/m4/pkg.m4 rename : openvpn/msvc-build.bat => main/openvpn/msvc-build.bat rename : openvpn/msvc-dev.bat => main/openvpn/msvc-dev.bat rename : openvpn/msvc-env.bat => main/openvpn/msvc-env.bat rename : openvpn/openvpn.sln => main/openvpn/openvpn.sln rename : openvpn/sample/Makefile.am => main/openvpn/sample/Makefile.am rename : openvpn/sample/sample-config-files/README => main/openvpn/sample/sample-config-files/README rename : openvpn/sample/sample-config-files/client.conf => main/openvpn/sample/sample-config-files/client.conf rename : openvpn/sample/sample-config-files/firewall.sh => main/openvpn/sample/sample-config-files/firewall.sh rename : openvpn/sample/sample-config-files/home.up => main/openvpn/sample/sample-config-files/home.up rename : openvpn/sample/sample-config-files/loopback-client => main/openvpn/sample/sample-config-files/loopback-client rename : openvpn/sample/sample-config-files/loopback-server => main/openvpn/sample/sample-config-files/loopback-server rename : openvpn/sample/sample-config-files/office.up => main/openvpn/sample/sample-config-files/office.up rename : openvpn/sample/sample-config-files/openvpn-shutdown.sh => main/openvpn/sample/sample-config-files/openvpn-shutdown.sh rename : openvpn/sample/sample-config-files/openvpn-startup.sh => main/openvpn/sample/sample-config-files/openvpn-startup.sh rename : openvpn/sample/sample-config-files/server.conf => main/openvpn/sample/sample-config-files/server.conf rename : openvpn/sample/sample-config-files/static-home.conf => main/openvpn/sample/sample-config-files/static-home.conf rename : openvpn/sample/sample-config-files/static-office.conf => main/openvpn/sample/sample-config-files/static-office.conf rename : openvpn/sample/sample-config-files/tls-home.conf => main/openvpn/sample/sample-config-files/tls-home.conf rename : openvpn/sample/sample-config-files/tls-office.conf => main/openvpn/sample/sample-config-files/tls-office.conf rename : openvpn/sample/sample-config-files/xinetd-client-config => main/openvpn/sample/sample-config-files/xinetd-client-config rename : openvpn/sample/sample-config-files/xinetd-server-config => main/openvpn/sample/sample-config-files/xinetd-server-config rename : openvpn/sample/sample-keys/README => main/openvpn/sample/sample-keys/README rename : openvpn/sample/sample-keys/ca.crt => main/openvpn/sample/sample-keys/ca.crt rename : openvpn/sample/sample-keys/ca.key => main/openvpn/sample/sample-keys/ca.key rename : openvpn/sample/sample-keys/client.crt => main/openvpn/sample/sample-keys/client.crt rename : openvpn/sample/sample-keys/client.key => main/openvpn/sample/sample-keys/client.key rename : openvpn/sample/sample-keys/dh1024.pem => main/openvpn/sample/sample-keys/dh1024.pem rename : openvpn/sample/sample-keys/pass.crt => main/openvpn/sample/sample-keys/pass.crt rename : openvpn/sample/sample-keys/pass.key => main/openvpn/sample/sample-keys/pass.key rename : openvpn/sample/sample-keys/pkcs12.p12 => main/openvpn/sample/sample-keys/pkcs12.p12 rename : openvpn/sample/sample-keys/server.crt => main/openvpn/sample/sample-keys/server.crt rename : openvpn/sample/sample-keys/server.key => main/openvpn/sample/sample-keys/server.key rename : openvpn/sample/sample-plugins/defer/README => main/openvpn/sample/sample-plugins/defer/README rename : openvpn/sample/sample-plugins/defer/build => main/openvpn/sample/sample-plugins/defer/build rename : openvpn/sample/sample-plugins/defer/simple.c => main/openvpn/sample/sample-plugins/defer/simple.c rename : openvpn/sample/sample-plugins/defer/simple.def => main/openvpn/sample/sample-plugins/defer/simple.def rename : openvpn/sample/sample-plugins/defer/winbuild => main/openvpn/sample/sample-plugins/defer/winbuild rename : openvpn/sample/sample-plugins/log/build => main/openvpn/sample/sample-plugins/log/build rename : openvpn/sample/sample-plugins/log/log.c => main/openvpn/sample/sample-plugins/log/log.c rename : openvpn/sample/sample-plugins/log/log_v3.c => main/openvpn/sample/sample-plugins/log/log_v3.c rename : openvpn/sample/sample-plugins/log/winbuild => main/openvpn/sample/sample-plugins/log/winbuild rename : openvpn/sample/sample-plugins/simple/README => main/openvpn/sample/sample-plugins/simple/README rename : openvpn/sample/sample-plugins/simple/build => main/openvpn/sample/sample-plugins/simple/build rename : openvpn/sample/sample-plugins/simple/simple.c => main/openvpn/sample/sample-plugins/simple/simple.c rename : openvpn/sample/sample-plugins/simple/simple.def => main/openvpn/sample/sample-plugins/simple/simple.def rename : openvpn/sample/sample-plugins/simple/winbuild => main/openvpn/sample/sample-plugins/simple/winbuild rename : openvpn/sample/sample-scripts/auth-pam.pl => main/openvpn/sample/sample-scripts/auth-pam.pl rename : openvpn/sample/sample-scripts/bridge-start => main/openvpn/sample/sample-scripts/bridge-start rename : openvpn/sample/sample-scripts/bridge-stop => main/openvpn/sample/sample-scripts/bridge-stop rename : openvpn/sample/sample-scripts/ucn.pl => main/openvpn/sample/sample-scripts/ucn.pl rename : openvpn/sample/sample-scripts/verify-cn => main/openvpn/sample/sample-scripts/verify-cn rename : openvpn/sample/sample-windows/sample.ovpn => main/openvpn/sample/sample-windows/sample.ovpn rename : openvpn/src/Makefile.am => main/openvpn/src/Makefile.am rename : openvpn/src/compat/Makefile.am => main/openvpn/src/compat/Makefile.am rename : openvpn/src/compat/compat-basename.c => main/openvpn/src/compat/compat-basename.c rename : openvpn/src/compat/compat-daemon.c => main/openvpn/src/compat/compat-daemon.c rename : openvpn/src/compat/compat-dirname.c => main/openvpn/src/compat/compat-dirname.c rename : openvpn/src/compat/compat-gettimeofday.c => main/openvpn/src/compat/compat-gettimeofday.c rename : openvpn/src/compat/compat-inet_ntop.c => main/openvpn/src/compat/compat-inet_ntop.c rename : openvpn/src/compat/compat-inet_pton.c => main/openvpn/src/compat/compat-inet_pton.c rename : openvpn/src/compat/compat-lz4.c => main/openvpn/src/compat/compat-lz4.c rename : openvpn/src/compat/compat-lz4.h => main/openvpn/src/compat/compat-lz4.h rename : openvpn/src/compat/compat-stdbool.h => main/openvpn/src/compat/compat-stdbool.h rename : openvpn/src/compat/compat.h => main/openvpn/src/compat/compat.h rename : openvpn/src/compat/compat.vcxproj => main/openvpn/src/compat/compat.vcxproj rename : openvpn/src/compat/compat.vcxproj.filters => main/openvpn/src/compat/compat.vcxproj.filters rename : openvpn/src/openvpn/Makefile.am => main/openvpn/src/openvpn/Makefile.am rename : openvpn/src/openvpn/base64.c => main/openvpn/src/openvpn/base64.c rename : openvpn/src/openvpn/base64.h => main/openvpn/src/openvpn/base64.h rename : openvpn/src/openvpn/basic.h => main/openvpn/src/openvpn/basic.h rename : openvpn/src/openvpn/breakpad.cpp => main/openvpn/src/openvpn/breakpad.cpp rename : openvpn/src/openvpn/breakpad.h => main/openvpn/src/openvpn/breakpad.h rename : openvpn/src/openvpn/buffer.c => main/openvpn/src/openvpn/buffer.c rename : openvpn/src/openvpn/buffer.h => main/openvpn/src/openvpn/buffer.h rename : openvpn/src/openvpn/circ_list.h => main/openvpn/src/openvpn/circ_list.h rename : openvpn/src/openvpn/clinat.c => main/openvpn/src/openvpn/clinat.c rename : openvpn/src/openvpn/clinat.h => main/openvpn/src/openvpn/clinat.h rename : openvpn/src/openvpn/common.h => main/openvpn/src/openvpn/common.h rename : openvpn/src/openvpn/comp-lz4.c => main/openvpn/src/openvpn/comp-lz4.c rename : openvpn/src/openvpn/comp-lz4.h => main/openvpn/src/openvpn/comp-lz4.h rename : openvpn/src/openvpn/comp.c => main/openvpn/src/openvpn/comp.c rename : openvpn/src/openvpn/comp.h => main/openvpn/src/openvpn/comp.h rename : openvpn/src/openvpn/compstub.c => main/openvpn/src/openvpn/compstub.c rename : openvpn/src/openvpn/console.c => main/openvpn/src/openvpn/console.c rename : openvpn/src/openvpn/console.h => main/openvpn/src/openvpn/console.h rename : openvpn/src/openvpn/crypto.c => main/openvpn/src/openvpn/crypto.c rename : openvpn/src/openvpn/crypto.h => main/openvpn/src/openvpn/crypto.h rename : openvpn/src/openvpn/crypto_backend.h => main/openvpn/src/openvpn/crypto_backend.h rename : openvpn/src/openvpn/crypto_openssl.c => main/openvpn/src/openvpn/crypto_openssl.c rename : openvpn/src/openvpn/crypto_openssl.h => main/openvpn/src/openvpn/crypto_openssl.h rename : openvpn/src/openvpn/crypto_polarssl.c => main/openvpn/src/openvpn/crypto_polarssl.c rename : openvpn/src/openvpn/crypto_polarssl.h => main/openvpn/src/openvpn/crypto_polarssl.h rename : openvpn/src/openvpn/cryptoapi.c => main/openvpn/src/openvpn/cryptoapi.c rename : openvpn/src/openvpn/cryptoapi.h => main/openvpn/src/openvpn/cryptoapi.h rename : openvpn/src/openvpn/dhcp.c => main/openvpn/src/openvpn/dhcp.c rename : openvpn/src/openvpn/dhcp.h => main/openvpn/src/openvpn/dhcp.h rename : openvpn/src/openvpn/errlevel.h => main/openvpn/src/openvpn/errlevel.h rename : openvpn/src/openvpn/error.c => main/openvpn/src/openvpn/error.c rename : openvpn/src/openvpn/error.h => main/openvpn/src/openvpn/error.h rename : openvpn/src/openvpn/event.c => main/openvpn/src/openvpn/event.c rename : openvpn/src/openvpn/event.h => main/openvpn/src/openvpn/event.h rename : openvpn/src/openvpn/fdmisc.c => main/openvpn/src/openvpn/fdmisc.c rename : openvpn/src/openvpn/fdmisc.h => main/openvpn/src/openvpn/fdmisc.h rename : openvpn/src/openvpn/forward-inline.h => main/openvpn/src/openvpn/forward-inline.h rename : openvpn/src/openvpn/forward.c => main/openvpn/src/openvpn/forward.c rename : openvpn/src/openvpn/forward.h => main/openvpn/src/openvpn/forward.h rename : openvpn/src/openvpn/fragment.c => main/openvpn/src/openvpn/fragment.c rename : openvpn/src/openvpn/fragment.h => main/openvpn/src/openvpn/fragment.h rename : openvpn/src/openvpn/gremlin.c => main/openvpn/src/openvpn/gremlin.c rename : openvpn/src/openvpn/gremlin.h => main/openvpn/src/openvpn/gremlin.h rename : openvpn/src/openvpn/helper.c => main/openvpn/src/openvpn/helper.c rename : openvpn/src/openvpn/helper.h => main/openvpn/src/openvpn/helper.h rename : openvpn/src/openvpn/httpdigest.c => main/openvpn/src/openvpn/httpdigest.c rename : openvpn/src/openvpn/httpdigest.h => main/openvpn/src/openvpn/httpdigest.h rename : openvpn/src/openvpn/init.c => main/openvpn/src/openvpn/init.c rename : openvpn/src/openvpn/init.h => main/openvpn/src/openvpn/init.h rename : openvpn/src/openvpn/integer.h => main/openvpn/src/openvpn/integer.h rename : openvpn/src/openvpn/interval.c => main/openvpn/src/openvpn/interval.c rename : openvpn/src/openvpn/interval.h => main/openvpn/src/openvpn/interval.h rename : openvpn/src/openvpn/list.c => main/openvpn/src/openvpn/list.c rename : openvpn/src/openvpn/list.h => main/openvpn/src/openvpn/list.h rename : openvpn/src/openvpn/lladdr.c => main/openvpn/src/openvpn/lladdr.c rename : openvpn/src/openvpn/lladdr.h => main/openvpn/src/openvpn/lladdr.h rename : openvpn/src/openvpn/lzo.c => main/openvpn/src/openvpn/lzo.c rename : openvpn/src/openvpn/lzo.h => main/openvpn/src/openvpn/lzo.h rename : openvpn/src/openvpn/manage.c => main/openvpn/src/openvpn/manage.c rename : openvpn/src/openvpn/manage.h => main/openvpn/src/openvpn/manage.h rename : openvpn/src/openvpn/mbuf.c => main/openvpn/src/openvpn/mbuf.c rename : openvpn/src/openvpn/mbuf.h => main/openvpn/src/openvpn/mbuf.h rename : openvpn/src/openvpn/memdbg.h => main/openvpn/src/openvpn/memdbg.h rename : openvpn/src/openvpn/misc.c => main/openvpn/src/openvpn/misc.c rename : openvpn/src/openvpn/misc.h => main/openvpn/src/openvpn/misc.h rename : openvpn/src/openvpn/mroute.c => main/openvpn/src/openvpn/mroute.c rename : openvpn/src/openvpn/mroute.h => main/openvpn/src/openvpn/mroute.h rename : openvpn/src/openvpn/mss.c => main/openvpn/src/openvpn/mss.c rename : openvpn/src/openvpn/mss.h => main/openvpn/src/openvpn/mss.h rename : openvpn/src/openvpn/mstats.c => main/openvpn/src/openvpn/mstats.c rename : openvpn/src/openvpn/mstats.h => main/openvpn/src/openvpn/mstats.h rename : openvpn/src/openvpn/mtcp.c => main/openvpn/src/openvpn/mtcp.c rename : openvpn/src/openvpn/mtcp.h => main/openvpn/src/openvpn/mtcp.h rename : openvpn/src/openvpn/mtu.c => main/openvpn/src/openvpn/mtu.c rename : openvpn/src/openvpn/mtu.h => main/openvpn/src/openvpn/mtu.h rename : openvpn/src/openvpn/mudp.c => main/openvpn/src/openvpn/mudp.c rename : openvpn/src/openvpn/mudp.h => main/openvpn/src/openvpn/mudp.h rename : openvpn/src/openvpn/multi.c => main/openvpn/src/openvpn/multi.c rename : openvpn/src/openvpn/multi.h => main/openvpn/src/openvpn/multi.h rename : openvpn/src/openvpn/ntlm.c => main/openvpn/src/openvpn/ntlm.c rename : openvpn/src/openvpn/ntlm.h => main/openvpn/src/openvpn/ntlm.h rename : openvpn/src/openvpn/occ-inline.h => main/openvpn/src/openvpn/occ-inline.h rename : openvpn/src/openvpn/occ.c => main/openvpn/src/openvpn/occ.c rename : openvpn/src/openvpn/occ.h => main/openvpn/src/openvpn/occ.h rename : openvpn/src/openvpn/openvpn.c => main/openvpn/src/openvpn/openvpn.c rename : openvpn/src/openvpn/openvpn.h => main/openvpn/src/openvpn/openvpn.h rename : openvpn/src/openvpn/openvpn.vcxproj => main/openvpn/src/openvpn/openvpn.vcxproj rename : openvpn/src/openvpn/openvpn.vcxproj.filters => main/openvpn/src/openvpn/openvpn.vcxproj.filters rename : openvpn/src/openvpn/openvpn_win32_resources.rc => main/openvpn/src/openvpn/openvpn_win32_resources.rc rename : openvpn/src/openvpn/options.c => main/openvpn/src/openvpn/options.c rename : openvpn/src/openvpn/options.h => main/openvpn/src/openvpn/options.h rename : openvpn/src/openvpn/otime.c => main/openvpn/src/openvpn/otime.c rename : openvpn/src/openvpn/otime.h => main/openvpn/src/openvpn/otime.h rename : openvpn/src/openvpn/packet_id.c => main/openvpn/src/openvpn/packet_id.c rename : openvpn/src/openvpn/packet_id.h => main/openvpn/src/openvpn/packet_id.h rename : openvpn/src/openvpn/perf.c => main/openvpn/src/openvpn/perf.c rename : openvpn/src/openvpn/perf.h => main/openvpn/src/openvpn/perf.h rename : openvpn/src/openvpn/pf-inline.h => main/openvpn/src/openvpn/pf-inline.h rename : openvpn/src/openvpn/pf.c => main/openvpn/src/openvpn/pf.c rename : openvpn/src/openvpn/pf.h => main/openvpn/src/openvpn/pf.h rename : openvpn/src/openvpn/ping-inline.h => main/openvpn/src/openvpn/ping-inline.h rename : openvpn/src/openvpn/ping.c => main/openvpn/src/openvpn/ping.c rename : openvpn/src/openvpn/ping.h => main/openvpn/src/openvpn/ping.h rename : openvpn/src/openvpn/pkcs11.c => main/openvpn/src/openvpn/pkcs11.c rename : openvpn/src/openvpn/pkcs11.h => main/openvpn/src/openvpn/pkcs11.h rename : openvpn/src/openvpn/pkcs11_backend.h => main/openvpn/src/openvpn/pkcs11_backend.h rename : openvpn/src/openvpn/pkcs11_openssl.c => main/openvpn/src/openvpn/pkcs11_openssl.c rename : openvpn/src/openvpn/pkcs11_polarssl.c => main/openvpn/src/openvpn/pkcs11_polarssl.c rename : openvpn/src/openvpn/platform.c => main/openvpn/src/openvpn/platform.c rename : openvpn/src/openvpn/platform.h => main/openvpn/src/openvpn/platform.h rename : openvpn/src/openvpn/plugin.c => main/openvpn/src/openvpn/plugin.c rename : openvpn/src/openvpn/plugin.h => main/openvpn/src/openvpn/plugin.h rename : openvpn/src/openvpn/pool.c => main/openvpn/src/openvpn/pool.c rename : openvpn/src/openvpn/pool.h => main/openvpn/src/openvpn/pool.h rename : openvpn/src/openvpn/proto.c => main/openvpn/src/openvpn/proto.c rename : openvpn/src/openvpn/proto.h => main/openvpn/src/openvpn/proto.h rename : openvpn/src/openvpn/proxy.c => main/openvpn/src/openvpn/proxy.c rename : openvpn/src/openvpn/proxy.h => main/openvpn/src/openvpn/proxy.h rename : openvpn/src/openvpn/ps.c => main/openvpn/src/openvpn/ps.c rename : openvpn/src/openvpn/ps.h => main/openvpn/src/openvpn/ps.h rename : openvpn/src/openvpn/push.c => main/openvpn/src/openvpn/push.c rename : openvpn/src/openvpn/push.h => main/openvpn/src/openvpn/push.h rename : openvpn/src/openvpn/pushlist.h => main/openvpn/src/openvpn/pushlist.h rename : openvpn/src/openvpn/reliable.c => main/openvpn/src/openvpn/reliable.c rename : openvpn/src/openvpn/reliable.h => main/openvpn/src/openvpn/reliable.h rename : openvpn/src/openvpn/route.c => main/openvpn/src/openvpn/route.c rename : openvpn/src/openvpn/route.h => main/openvpn/src/openvpn/route.h rename : openvpn/src/openvpn/schedule.c => main/openvpn/src/openvpn/schedule.c rename : openvpn/src/openvpn/schedule.h => main/openvpn/src/openvpn/schedule.h rename : openvpn/src/openvpn/session_id.c => main/openvpn/src/openvpn/session_id.c rename : openvpn/src/openvpn/session_id.h => main/openvpn/src/openvpn/session_id.h rename : openvpn/src/openvpn/shaper.c => main/openvpn/src/openvpn/shaper.c rename : openvpn/src/openvpn/shaper.h => main/openvpn/src/openvpn/shaper.h rename : openvpn/src/openvpn/sig.c => main/openvpn/src/openvpn/sig.c rename : openvpn/src/openvpn/sig.h => main/openvpn/src/openvpn/sig.h rename : openvpn/src/openvpn/snappy.c => main/openvpn/src/openvpn/snappy.c rename : openvpn/src/openvpn/snappy.h => main/openvpn/src/openvpn/snappy.h rename : openvpn/src/openvpn/socket.c => main/openvpn/src/openvpn/socket.c rename : openvpn/src/openvpn/socket.h => main/openvpn/src/openvpn/socket.h rename : openvpn/src/openvpn/socks.c => main/openvpn/src/openvpn/socks.c rename : openvpn/src/openvpn/socks.h => main/openvpn/src/openvpn/socks.h rename : openvpn/src/openvpn/ssl.c => main/openvpn/src/openvpn/ssl.c rename : openvpn/src/openvpn/ssl.h => main/openvpn/src/openvpn/ssl.h rename : openvpn/src/openvpn/ssl_backend.h => main/openvpn/src/openvpn/ssl_backend.h rename : openvpn/src/openvpn/ssl_common.h => main/openvpn/src/openvpn/ssl_common.h rename : openvpn/src/openvpn/ssl_openssl.c => main/openvpn/src/openvpn/ssl_openssl.c rename : openvpn/src/openvpn/ssl_openssl.h => main/openvpn/src/openvpn/ssl_openssl.h rename : openvpn/src/openvpn/ssl_polarssl.c => main/openvpn/src/openvpn/ssl_polarssl.c rename : openvpn/src/openvpn/ssl_polarssl.h => main/openvpn/src/openvpn/ssl_polarssl.h rename : openvpn/src/openvpn/ssl_verify.c => main/openvpn/src/openvpn/ssl_verify.c rename : openvpn/src/openvpn/ssl_verify.h => main/openvpn/src/openvpn/ssl_verify.h rename : openvpn/src/openvpn/ssl_verify_backend.h => main/openvpn/src/openvpn/ssl_verify_backend.h rename : openvpn/src/openvpn/ssl_verify_openssl.c => main/openvpn/src/openvpn/ssl_verify_openssl.c rename : openvpn/src/openvpn/ssl_verify_openssl.h => main/openvpn/src/openvpn/ssl_verify_openssl.h rename : openvpn/src/openvpn/ssl_verify_polarssl.c => main/openvpn/src/openvpn/ssl_verify_polarssl.c rename : openvpn/src/openvpn/ssl_verify_polarssl.h => main/openvpn/src/openvpn/ssl_verify_polarssl.h rename : openvpn/src/openvpn/status.c => main/openvpn/src/openvpn/status.c rename : openvpn/src/openvpn/status.h => main/openvpn/src/openvpn/status.h rename : openvpn/src/openvpn/syshead.h => main/openvpn/src/openvpn/syshead.h rename : openvpn/src/openvpn/tun.c => main/openvpn/src/openvpn/tun.c rename : openvpn/src/openvpn/tun.h => main/openvpn/src/openvpn/tun.h rename : openvpn/src/openvpn/win32.c => main/openvpn/src/openvpn/win32.c rename : openvpn/src/openvpn/win32.h => main/openvpn/src/openvpn/win32.h rename : openvpn/src/openvpnserv/Makefile.am => main/openvpn/src/openvpnserv/Makefile.am rename : openvpn/src/openvpnserv/openvpnserv.c => main/openvpn/src/openvpnserv/openvpnserv.c rename : openvpn/src/openvpnserv/openvpnserv.vcxproj => main/openvpn/src/openvpnserv/openvpnserv.vcxproj rename : openvpn/src/openvpnserv/openvpnserv.vcxproj.filters => main/openvpn/src/openvpnserv/openvpnserv.vcxproj.filters rename : openvpn/src/openvpnserv/openvpnserv_resources.rc => main/openvpn/src/openvpnserv/openvpnserv_resources.rc rename : openvpn/src/openvpnserv/service.c => main/openvpn/src/openvpnserv/service.c rename : openvpn/src/openvpnserv/service.h => main/openvpn/src/openvpnserv/service.h rename : openvpn/src/plugins/Makefile.am => main/openvpn/src/plugins/Makefile.am rename : openvpn/src/plugins/Makefile.in => main/openvpn/src/plugins/Makefile.in rename : openvpn/src/plugins/auth-pam/Makefile.am => main/openvpn/src/plugins/auth-pam/Makefile.am rename : openvpn/src/plugins/auth-pam/Makefile.in => main/openvpn/src/plugins/auth-pam/Makefile.in rename : openvpn/src/plugins/auth-pam/README.auth-pam => main/openvpn/src/plugins/auth-pam/README.auth-pam rename : openvpn/src/plugins/auth-pam/auth-pam.c => main/openvpn/src/plugins/auth-pam/auth-pam.c rename : openvpn/src/plugins/auth-pam/auth-pam.exports => main/openvpn/src/plugins/auth-pam/auth-pam.exports rename : openvpn/src/plugins/auth-pam/pamdl.c => main/openvpn/src/plugins/auth-pam/pamdl.c rename : openvpn/src/plugins/auth-pam/pamdl.h => main/openvpn/src/plugins/auth-pam/pamdl.h rename : openvpn/src/plugins/down-root/Makefile.am => main/openvpn/src/plugins/down-root/Makefile.am rename : openvpn/src/plugins/down-root/Makefile.in => main/openvpn/src/plugins/down-root/Makefile.in rename : openvpn/src/plugins/down-root/README.down-root => main/openvpn/src/plugins/down-root/README.down-root rename : openvpn/src/plugins/down-root/down-root.c => main/openvpn/src/plugins/down-root/down-root.c rename : openvpn/src/plugins/down-root/down-root.exports => main/openvpn/src/plugins/down-root/down-root.exports rename : openvpn/tests/Makefile.am => main/openvpn/tests/Makefile.am rename : openvpn/tests/t_client.rc-sample => main/openvpn/tests/t_client.rc-sample rename : openvpn/tests/t_client.sh.in => main/openvpn/tests/t_client.sh.in rename : openvpn/tests/t_cltsrv-down.sh => main/openvpn/tests/t_cltsrv-down.sh rename : openvpn/tests/t_cltsrv.sh => main/openvpn/tests/t_cltsrv.sh rename : openvpn/tests/t_lpback.sh => main/openvpn/tests/t_lpback.sh rename : openvpn/version.m4 => main/openvpn/version.m4 rename : openvpn/version.sh.in => main/openvpn/version.sh.in rename : snappy/Android.mk => main/snappy/Android.mk rename : snappy/COPYING => main/snappy/COPYING rename : snappy/conf/config.h => main/snappy/conf/config.h rename : snappy/snappy-c.cc => main/snappy/snappy-c.cc rename : snappy/snappy-c.h => main/snappy/snappy-c.h rename : snappy/snappy-internal.h => main/snappy/snappy-internal.h rename : snappy/snappy-sinksource.cc => main/snappy/snappy-sinksource.cc rename : snappy/snappy-sinksource.h => main/snappy/snappy-sinksource.h rename : snappy/snappy-stubs-internal.cc => main/snappy/snappy-stubs-internal.cc rename : snappy/snappy-stubs-internal.h => main/snappy/snappy-stubs-internal.h rename : snappy/snappy-stubs-public.h => main/snappy/snappy-stubs-public.h rename : snappy/snappy-stubs-public.h.in => main/snappy/snappy-stubs-public.h.in rename : snappy/snappy-test.cc => main/snappy/snappy-test.cc rename : snappy/snappy-test.h => main/snappy/snappy-test.h rename : snappy/snappy.cc => main/snappy/snappy.cc rename : snappy/snappy.h => main/snappy/snappy.h rename : snappy/snappy_unittest.cc => main/snappy/snappy_unittest.cc rename : AndroidManifest.xml => main/src/main/AndroidManifest.xml rename : src/de/blinkt/openvpn/FileProvider.java => main/src/main/java/de/blinkt/openvpn/FileProvider.java rename : src/de/blinkt/openvpn/LaunchVPN.java => main/src/main/java/de/blinkt/openvpn/LaunchVPN.java rename : src/de/blinkt/openvpn/OnBootReceiver.java => main/src/main/java/de/blinkt/openvpn/OnBootReceiver.java rename : src/de/blinkt/openvpn/VpnProfile.java => main/src/main/java/de/blinkt/openvpn/VpnProfile.java rename : src/de/blinkt/openvpn/activities/ConfigConverter.java => main/src/main/java/de/blinkt/openvpn/activities/ConfigConverter.java rename : src/de/blinkt/openvpn/activities/CreateShortcuts.java => main/src/main/java/de/blinkt/openvpn/activities/CreateShortcuts.java rename : src/de/blinkt/openvpn/activities/DisconnectVPN.java => main/src/main/java/de/blinkt/openvpn/activities/DisconnectVPN.java rename : src/de/blinkt/openvpn/activities/FileSelect.java => main/src/main/java/de/blinkt/openvpn/activities/FileSelect.java rename : src/de/blinkt/openvpn/activities/LogWindow.java => main/src/main/java/de/blinkt/openvpn/activities/LogWindow.java rename : src/de/blinkt/openvpn/activities/MainActivity.java => main/src/main/java/de/blinkt/openvpn/activities/MainActivity.java rename : src/de/blinkt/openvpn/activities/VPNPreferences.java => main/src/main/java/de/blinkt/openvpn/activities/VPNPreferences.java rename : src/de/blinkt/openvpn/api/APIVpnProfile.java => main/src/main/java/de/blinkt/openvpn/api/APIVpnProfile.java rename : src/de/blinkt/openvpn/api/ConfirmDialog.java => main/src/main/java/de/blinkt/openvpn/api/ConfirmDialog.java rename : src/de/blinkt/openvpn/api/ExternalAppDatabase.java => main/src/main/java/de/blinkt/openvpn/api/ExternalAppDatabase.java rename : src/de/blinkt/openvpn/api/ExternalOpenVPNService.java => main/src/main/java/de/blinkt/openvpn/api/ExternalOpenVPNService.java rename : src/de/blinkt/openvpn/api/GrantPermissionsActivity.java => main/src/main/java/de/blinkt/openvpn/api/GrantPermissionsActivity.java rename : src/de/blinkt/openvpn/api/SecurityRemoteException.java => main/src/main/java/de/blinkt/openvpn/api/SecurityRemoteException.java rename : src/de/blinkt/openvpn/core/CIDRIP.java => main/src/main/java/de/blinkt/openvpn/core/CIDRIP.java rename : src/de/blinkt/openvpn/core/ConfigParser.java => main/src/main/java/de/blinkt/openvpn/core/ConfigParser.java rename : src/de/blinkt/openvpn/core/DeviceStateReceiver.java => main/src/main/java/de/blinkt/openvpn/core/DeviceStateReceiver.java rename : src/de/blinkt/openvpn/core/GetRestrictionReceiver.java => main/src/main/java/de/blinkt/openvpn/core/GetRestrictionReceiver.java rename : src/de/blinkt/openvpn/core/ICSOpenVPNApplication.java => main/src/main/java/de/blinkt/openvpn/core/ICSOpenVPNApplication.java rename : src/de/blinkt/openvpn/core/NativeUtils.java => main/src/main/java/de/blinkt/openvpn/core/NativeUtils.java rename : src/de/blinkt/openvpn/core/NetworkSpace.java => main/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java rename : src/de/blinkt/openvpn/core/OpenVPNManagement.java => main/src/main/java/de/blinkt/openvpn/core/OpenVPNManagement.java rename : src/de/blinkt/openvpn/core/OpenVPNThread.java => main/src/main/java/de/blinkt/openvpn/core/OpenVPNThread.java rename : src/de/blinkt/openvpn/core/OpenVpnManagementThread.java => main/src/main/java/de/blinkt/openvpn/core/OpenVpnManagementThread.java rename : src/de/blinkt/openvpn/core/OpenVpnService.java => main/src/main/java/de/blinkt/openvpn/core/OpenVpnService.java rename : src/de/blinkt/openvpn/core/PRNGFixes.java => main/src/main/java/de/blinkt/openvpn/core/PRNGFixes.java rename : src/de/blinkt/openvpn/core/ProfileManager.java => main/src/main/java/de/blinkt/openvpn/core/ProfileManager.java rename : src/de/blinkt/openvpn/core/ProxyDetection.java => main/src/main/java/de/blinkt/openvpn/core/ProxyDetection.java rename : src/de/blinkt/openvpn/core/VPNLaunchHelper.java => main/src/main/java/de/blinkt/openvpn/core/VPNLaunchHelper.java rename : src/de/blinkt/openvpn/core/VpnStatus.java => main/src/main/java/de/blinkt/openvpn/core/VpnStatus.java rename : src/de/blinkt/openvpn/core/X509Utils.java => main/src/main/java/de/blinkt/openvpn/core/X509Utils.java rename : src/de/blinkt/openvpn/fragments/AboutFragment.java => main/src/main/java/de/blinkt/openvpn/fragments/AboutFragment.java rename : src/de/blinkt/openvpn/fragments/FaqFragment.java => main/src/main/java/de/blinkt/openvpn/fragments/FaqFragment.java rename : src/de/blinkt/openvpn/fragments/FileSelectionFragment.java => main/src/main/java/de/blinkt/openvpn/fragments/FileSelectionFragment.java rename : src/de/blinkt/openvpn/fragments/GeneralSettings.java => main/src/main/java/de/blinkt/openvpn/fragments/GeneralSettings.java rename : src/de/blinkt/openvpn/fragments/InlineFileTab.java => main/src/main/java/de/blinkt/openvpn/fragments/InlineFileTab.java rename : src/de/blinkt/openvpn/fragments/LogFragment.java => main/src/main/java/de/blinkt/openvpn/fragments/LogFragment.java rename : src/de/blinkt/openvpn/fragments/OpenVpnPreferencesFragment.java => main/src/main/java/de/blinkt/openvpn/fragments/OpenVpnPreferencesFragment.java rename : src/de/blinkt/openvpn/fragments/SendDumpFragment.java => main/src/main/java/de/blinkt/openvpn/fragments/SendDumpFragment.java rename : src/de/blinkt/openvpn/fragments/Settings_Authentication.java => main/src/main/java/de/blinkt/openvpn/fragments/Settings_Authentication.java rename : src/de/blinkt/openvpn/fragments/Settings_Basic.java => main/src/main/java/de/blinkt/openvpn/fragments/Settings_Basic.java rename : src/de/blinkt/openvpn/fragments/Settings_IP.java => main/src/main/java/de/blinkt/openvpn/fragments/Settings_IP.java rename : src/de/blinkt/openvpn/fragments/Settings_Obscure.java => main/src/main/java/de/blinkt/openvpn/fragments/Settings_Obscure.java rename : src/de/blinkt/openvpn/fragments/Settings_Routing.java => main/src/main/java/de/blinkt/openvpn/fragments/Settings_Routing.java rename : src/de/blinkt/openvpn/fragments/ShowConfigFragment.java => main/src/main/java/de/blinkt/openvpn/fragments/ShowConfigFragment.java rename : src/de/blinkt/openvpn/fragments/Utils.java => main/src/main/java/de/blinkt/openvpn/fragments/Utils.java rename : src/de/blinkt/openvpn/fragments/VPNProfileList.java => main/src/main/java/de/blinkt/openvpn/fragments/VPNProfileList.java rename : src/de/blinkt/openvpn/views/FileSelectLayout.java => main/src/main/java/de/blinkt/openvpn/views/FileSelectLayout.java rename : src/de/blinkt/openvpn/views/RemoteCNPreference.java => main/src/main/java/de/blinkt/openvpn/views/RemoteCNPreference.java rename : src/de/blinkt/openvpn/views/SeekBarTicks.java => main/src/main/java/de/blinkt/openvpn/views/SeekBarTicks.java rename : src/org/spongycastle/util/encoders/Base64.java => main/src/main/java/org/spongycastle/util/encoders/Base64.java rename : src/org/spongycastle/util/encoders/Base64Encoder.java => main/src/main/java/org/spongycastle/util/encoders/Base64Encoder.java rename : src/org/spongycastle/util/encoders/Encoder.java => main/src/main/java/org/spongycastle/util/encoders/Encoder.java rename : src/org/spongycastle/util/io/pem/PemGenerationException.java => main/src/main/java/org/spongycastle/util/io/pem/PemGenerationException.java rename : src/org/spongycastle/util/io/pem/PemHeader.java => main/src/main/java/org/spongycastle/util/io/pem/PemHeader.java rename : src/org/spongycastle/util/io/pem/PemObject.java => main/src/main/java/org/spongycastle/util/io/pem/PemObject.java rename : src/org/spongycastle/util/io/pem/PemObjectGenerator.java => main/src/main/java/org/spongycastle/util/io/pem/PemObjectGenerator.java rename : src/org/spongycastle/util/io/pem/PemReader.java => main/src/main/java/org/spongycastle/util/io/pem/PemReader.java rename : src/org/spongycastle/util/io/pem/PemWriter.java => main/src/main/java/org/spongycastle/util/io/pem/PemWriter.java
Diffstat (limited to 'main/openssl/crypto/pkcs12')
-rw-r--r--main/openssl/crypto/pkcs12/p12_add.c240
-rw-r--r--main/openssl/crypto/pkcs12/p12_asn.c125
-rw-r--r--main/openssl/crypto/pkcs12/p12_attr.c145
-rw-r--r--main/openssl/crypto/pkcs12/p12_crpt.c112
-rw-r--r--main/openssl/crypto/pkcs12/p12_crt.c359
-rw-r--r--main/openssl/crypto/pkcs12/p12_decr.c177
-rw-r--r--main/openssl/crypto/pkcs12/p12_init.c92
-rw-r--r--main/openssl/crypto/pkcs12/p12_key.c217
-rw-r--r--main/openssl/crypto/pkcs12/p12_kiss.c302
-rw-r--r--main/openssl/crypto/pkcs12/p12_mutl.c186
-rw-r--r--main/openssl/crypto/pkcs12/p12_npas.c225
-rw-r--r--main/openssl/crypto/pkcs12/p12_p8d.c68
-rw-r--r--main/openssl/crypto/pkcs12/p12_p8e.c97
-rw-r--r--main/openssl/crypto/pkcs12/p12_utl.c146
-rw-r--r--main/openssl/crypto/pkcs12/pk12err.c144
-rw-r--r--main/openssl/crypto/pkcs12/pkcs12.h331
16 files changed, 2966 insertions, 0 deletions
diff --git a/main/openssl/crypto/pkcs12/p12_add.c b/main/openssl/crypto/pkcs12/p12_add.c
new file mode 100644
index 00000000..27ac5fac
--- /dev/null
+++ b/main/openssl/crypto/pkcs12/p12_add.c
@@ -0,0 +1,240 @@
+/* p12_add.c */
+/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
+ * project 1999.
+ */
+/* ====================================================================
+ * Copyright (c) 1999 The OpenSSL Project. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ * software must display the following acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For written permission, please contact
+ * licensing@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ * nor may "OpenSSL" appear in their names without prior written
+ * permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com). This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+#include <stdio.h>
+#include "cryptlib.h"
+#include <openssl/pkcs12.h>
+
+/* Pack an object into an OCTET STRING and turn into a safebag */
+
+PKCS12_SAFEBAG *PKCS12_item_pack_safebag(void *obj, const ASN1_ITEM *it, int nid1,
+ int nid2)
+{
+ PKCS12_BAGS *bag;
+ PKCS12_SAFEBAG *safebag;
+ if (!(bag = PKCS12_BAGS_new())) {
+ PKCS12err(PKCS12_F_PKCS12_ITEM_PACK_SAFEBAG, ERR_R_MALLOC_FAILURE);
+ return NULL;
+ }
+ bag->type = OBJ_nid2obj(nid1);
+ if (!ASN1_item_pack(obj, it, &bag->value.octet)) {
+ PKCS12err(PKCS12_F_PKCS12_ITEM_PACK_SAFEBAG, ERR_R_MALLOC_FAILURE);
+ return NULL;
+ }
+ if (!(safebag = PKCS12_SAFEBAG_new())) {
+ PKCS12err(PKCS12_F_PKCS12_ITEM_PACK_SAFEBAG, ERR_R_MALLOC_FAILURE);
+ return NULL;
+ }
+ safebag->value.bag = bag;
+ safebag->type = OBJ_nid2obj(nid2);
+ return safebag;
+}
+
+/* Turn PKCS8 object into a keybag */
+
+PKCS12_SAFEBAG *PKCS12_MAKE_KEYBAG(PKCS8_PRIV_KEY_INFO *p8)
+{
+ PKCS12_SAFEBAG *bag;
+ if (!(bag = PKCS12_SAFEBAG_new())) {
+ PKCS12err(PKCS12_F_PKCS12_MAKE_KEYBAG,ERR_R_MALLOC_FAILURE);
+ return NULL;
+ }
+ bag->type = OBJ_nid2obj(NID_keyBag);
+ bag->value.keybag = p8;
+ return bag;
+}
+
+/* Turn PKCS8 object into a shrouded keybag */
+
+PKCS12_SAFEBAG *PKCS12_MAKE_SHKEYBAG(int pbe_nid, const char *pass,
+ int passlen, unsigned char *salt, int saltlen, int iter,
+ PKCS8_PRIV_KEY_INFO *p8)
+{
+ PKCS12_SAFEBAG *bag;
+ const EVP_CIPHER *pbe_ciph;
+
+ /* Set up the safe bag */
+ if (!(bag = PKCS12_SAFEBAG_new())) {
+ PKCS12err(PKCS12_F_PKCS12_MAKE_SHKEYBAG, ERR_R_MALLOC_FAILURE);
+ return NULL;
+ }
+
+ bag->type = OBJ_nid2obj(NID_pkcs8ShroudedKeyBag);
+
+ pbe_ciph = EVP_get_cipherbynid(pbe_nid);
+
+ if (pbe_ciph)
+ pbe_nid = -1;
+
+ if (!(bag->value.shkeybag =
+ PKCS8_encrypt(pbe_nid, pbe_ciph, pass, passlen, salt, saltlen, iter,
+ p8))) {
+ PKCS12err(PKCS12_F_PKCS12_MAKE_SHKEYBAG, ERR_R_MALLOC_FAILURE);
+ return NULL;
+ }
+
+ return bag;
+}
+
+/* Turn a stack of SAFEBAGS into a PKCS#7 data Contentinfo */
+PKCS7 *PKCS12_pack_p7data(STACK_OF(PKCS12_SAFEBAG) *sk)
+{
+ PKCS7 *p7;
+ if (!(p7 = PKCS7_new())) {
+ PKCS12err(PKCS12_F_PKCS12_PACK_P7DATA, ERR_R_MALLOC_FAILURE);
+ return NULL;
+ }
+ p7->type = OBJ_nid2obj(NID_pkcs7_data);
+ if (!(p7->d.data = M_ASN1_OCTET_STRING_new())) {
+ PKCS12err(PKCS12_F_PKCS12_PACK_P7DATA, ERR_R_MALLOC_FAILURE);
+ return NULL;
+ }
+
+ if (!ASN1_item_pack(sk, ASN1_ITEM_rptr(PKCS12_SAFEBAGS), &p7->d.data)) {
+ PKCS12err(PKCS12_F_PKCS12_PACK_P7DATA, PKCS12_R_CANT_PACK_STRUCTURE);
+ return NULL;
+ }
+ return p7;
+}
+
+/* Unpack SAFEBAGS from PKCS#7 data ContentInfo */
+STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7data(PKCS7 *p7)
+{
+ if(!PKCS7_type_is_data(p7))
+ {
+ PKCS12err(PKCS12_F_PKCS12_UNPACK_P7DATA,PKCS12_R_CONTENT_TYPE_NOT_DATA);
+ return NULL;
+ }
+ return ASN1_item_unpack(p7->d.data, ASN1_ITEM_rptr(PKCS12_SAFEBAGS));
+}
+
+/* Turn a stack of SAFEBAGS into a PKCS#7 encrypted data ContentInfo */
+
+PKCS7 *PKCS12_pack_p7encdata(int pbe_nid, const char *pass, int passlen,
+ unsigned char *salt, int saltlen, int iter,
+ STACK_OF(PKCS12_SAFEBAG) *bags)
+{
+ PKCS7 *p7;
+ X509_ALGOR *pbe;
+ const EVP_CIPHER *pbe_ciph;
+ if (!(p7 = PKCS7_new())) {
+ PKCS12err(PKCS12_F_PKCS12_PACK_P7ENCDATA, ERR_R_MALLOC_FAILURE);
+ return NULL;
+ }
+ if(!PKCS7_set_type(p7, NID_pkcs7_encrypted)) {
+ PKCS12err(PKCS12_F_PKCS12_PACK_P7ENCDATA,
+ PKCS12_R_ERROR_SETTING_ENCRYPTED_DATA_TYPE);
+ return NULL;
+ }
+
+ pbe_ciph = EVP_get_cipherbynid(pbe_nid);
+
+ if (pbe_ciph)
+ pbe = PKCS5_pbe2_set(pbe_ciph, iter, salt, saltlen);
+ else
+ pbe = PKCS5_pbe_set(pbe_nid, iter, salt, saltlen);
+
+ if (!pbe) {
+ PKCS12err(PKCS12_F_PKCS12_PACK_P7ENCDATA, ERR_R_MALLOC_FAILURE);
+ return NULL;
+ }
+ X509_ALGOR_free(p7->d.encrypted->enc_data->algorithm);
+ p7->d.encrypted->enc_data->algorithm = pbe;
+ M_ASN1_OCTET_STRING_free(p7->d.encrypted->enc_data->enc_data);
+ if (!(p7->d.encrypted->enc_data->enc_data =
+ PKCS12_item_i2d_encrypt(pbe, ASN1_ITEM_rptr(PKCS12_SAFEBAGS), pass, passlen,
+ bags, 1))) {
+ PKCS12err(PKCS12_F_PKCS12_PACK_P7ENCDATA, PKCS12_R_ENCRYPT_ERROR);
+ return NULL;
+ }
+
+ return p7;
+}
+
+STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7encdata(PKCS7 *p7, const char *pass, int passlen)
+{
+ if(!PKCS7_type_is_encrypted(p7)) return NULL;
+ return PKCS12_item_decrypt_d2i(p7->d.encrypted->enc_data->algorithm,
+ ASN1_ITEM_rptr(PKCS12_SAFEBAGS),
+ pass, passlen,
+ p7->d.encrypted->enc_data->enc_data, 1);
+}
+
+PKCS8_PRIV_KEY_INFO *PKCS12_decrypt_skey(PKCS12_SAFEBAG *bag, const char *pass,
+ int passlen)
+{
+ return PKCS8_decrypt(bag->value.shkeybag, pass, passlen);
+}
+
+int PKCS12_pack_authsafes(PKCS12 *p12, STACK_OF(PKCS7) *safes)
+{
+ if(ASN1_item_pack(safes, ASN1_ITEM_rptr(PKCS12_AUTHSAFES),
+ &p12->authsafes->d.data))
+ return 1;
+ return 0;
+}
+
+STACK_OF(PKCS7) *PKCS12_unpack_authsafes(PKCS12 *p12)
+{
+ if (!PKCS7_type_is_data(p12->authsafes))
+ {
+ PKCS12err(PKCS12_F_PKCS12_UNPACK_AUTHSAFES,PKCS12_R_CONTENT_TYPE_NOT_DATA);
+ return NULL;
+ }
+ return ASN1_item_unpack(p12->authsafes->d.data, ASN1_ITEM_rptr(PKCS12_AUTHSAFES));
+}
diff --git a/main/openssl/crypto/pkcs12/p12_asn.c b/main/openssl/crypto/pkcs12/p12_asn.c
new file mode 100644
index 00000000..6e276338
--- /dev/null
+++ b/main/openssl/crypto/pkcs12/p12_asn.c
@@ -0,0 +1,125 @@
+/* p12_asn.c */
+/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
+ * project 1999.
+ */
+/* ====================================================================
+ * Copyright (c) 1999 The OpenSSL Project. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ * software must display the following acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For written permission, please contact
+ * licensing@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ * nor may "OpenSSL" appear in their names without prior written
+ * permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com). This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+#include <stdio.h>
+#include "cryptlib.h"
+#include <openssl/asn1t.h>
+#include <openssl/pkcs12.h>
+
+/* PKCS#12 ASN1 module */
+
+ASN1_SEQUENCE(PKCS12) = {
+ ASN1_SIMPLE(PKCS12, version, ASN1_INTEGER),
+ ASN1_SIMPLE(PKCS12, authsafes, PKCS7),
+ ASN1_OPT(PKCS12, mac, PKCS12_MAC_DATA)
+} ASN1_SEQUENCE_END(PKCS12)
+
+IMPLEMENT_ASN1_FUNCTIONS(PKCS12)
+
+ASN1_SEQUENCE(PKCS12_MAC_DATA) = {
+ ASN1_SIMPLE(PKCS12_MAC_DATA, dinfo, X509_SIG),
+ ASN1_SIMPLE(PKCS12_MAC_DATA, salt, ASN1_OCTET_STRING),
+ ASN1_OPT(PKCS12_MAC_DATA, iter, ASN1_INTEGER)
+} ASN1_SEQUENCE_END(PKCS12_MAC_DATA)
+
+IMPLEMENT_ASN1_FUNCTIONS(PKCS12_MAC_DATA)
+
+ASN1_ADB_TEMPLATE(bag_default) = ASN1_EXP(PKCS12_BAGS, value.other, ASN1_ANY, 0);
+
+ASN1_ADB(PKCS12_BAGS) = {
+ ADB_ENTRY(NID_x509Certificate, ASN1_EXP(PKCS12_BAGS, value.x509cert, ASN1_OCTET_STRING, 0)),
+ ADB_ENTRY(NID_x509Crl, ASN1_EXP(PKCS12_BAGS, value.x509crl, ASN1_OCTET_STRING, 0)),
+ ADB_ENTRY(NID_sdsiCertificate, ASN1_EXP(PKCS12_BAGS, value.sdsicert, ASN1_IA5STRING, 0)),
+} ASN1_ADB_END(PKCS12_BAGS, 0, type, 0, &bag_default_tt, NULL);
+
+ASN1_SEQUENCE(PKCS12_BAGS) = {
+ ASN1_SIMPLE(PKCS12_BAGS, type, ASN1_OBJECT),
+ ASN1_ADB_OBJECT(PKCS12_BAGS),
+} ASN1_SEQUENCE_END(PKCS12_BAGS)
+
+IMPLEMENT_ASN1_FUNCTIONS(PKCS12_BAGS)
+
+ASN1_ADB_TEMPLATE(safebag_default) = ASN1_EXP(PKCS12_SAFEBAG, value.other, ASN1_ANY, 0);
+
+ASN1_ADB(PKCS12_SAFEBAG) = {
+ ADB_ENTRY(NID_keyBag, ASN1_EXP(PKCS12_SAFEBAG, value.keybag, PKCS8_PRIV_KEY_INFO, 0)),
+ ADB_ENTRY(NID_pkcs8ShroudedKeyBag, ASN1_EXP(PKCS12_SAFEBAG, value.shkeybag, X509_SIG, 0)),
+ ADB_ENTRY(NID_safeContentsBag, ASN1_EXP_SET_OF(PKCS12_SAFEBAG, value.safes, PKCS12_SAFEBAG, 0)),
+ ADB_ENTRY(NID_certBag, ASN1_EXP(PKCS12_SAFEBAG, value.bag, PKCS12_BAGS, 0)),
+ ADB_ENTRY(NID_crlBag, ASN1_EXP(PKCS12_SAFEBAG, value.bag, PKCS12_BAGS, 0)),
+ ADB_ENTRY(NID_secretBag, ASN1_EXP(PKCS12_SAFEBAG, value.bag, PKCS12_BAGS, 0))
+} ASN1_ADB_END(PKCS12_SAFEBAG, 0, type, 0, &safebag_default_tt, NULL);
+
+ASN1_SEQUENCE(PKCS12_SAFEBAG) = {
+ ASN1_SIMPLE(PKCS12_SAFEBAG, type, ASN1_OBJECT),
+ ASN1_ADB_OBJECT(PKCS12_SAFEBAG),
+ ASN1_SET_OF_OPT(PKCS12_SAFEBAG, attrib, X509_ATTRIBUTE)
+} ASN1_SEQUENCE_END(PKCS12_SAFEBAG)
+
+IMPLEMENT_ASN1_FUNCTIONS(PKCS12_SAFEBAG)
+
+/* SEQUENCE OF SafeBag */
+ASN1_ITEM_TEMPLATE(PKCS12_SAFEBAGS) =
+ ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, PKCS12_SAFEBAGS, PKCS12_SAFEBAG)
+ASN1_ITEM_TEMPLATE_END(PKCS12_SAFEBAGS)
+
+/* Authsafes: SEQUENCE OF PKCS7 */
+ASN1_ITEM_TEMPLATE(PKCS12_AUTHSAFES) =
+ ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, PKCS12_AUTHSAFES, PKCS7)
+ASN1_ITEM_TEMPLATE_END(PKCS12_AUTHSAFES)
+
diff --git a/main/openssl/crypto/pkcs12/p12_attr.c b/main/openssl/crypto/pkcs12/p12_attr.c
new file mode 100644
index 00000000..e4d9c256
--- /dev/null
+++ b/main/openssl/crypto/pkcs12/p12_attr.c
@@ -0,0 +1,145 @@
+/* p12_attr.c */
+/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
+ * project 1999.
+ */
+/* ====================================================================
+ * Copyright (c) 1999 The OpenSSL Project. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ * software must display the following acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For written permission, please contact
+ * licensing@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ * nor may "OpenSSL" appear in their names without prior written
+ * permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com). This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+#include <stdio.h>
+#include "cryptlib.h"
+#include <openssl/pkcs12.h>
+
+/* Add a local keyid to a safebag */
+
+int PKCS12_add_localkeyid(PKCS12_SAFEBAG *bag, unsigned char *name,
+ int namelen)
+{
+ if (X509at_add1_attr_by_NID(&bag->attrib, NID_localKeyID,
+ V_ASN1_OCTET_STRING, name, namelen))
+ return 1;
+ else
+ return 0;
+}
+
+/* Add key usage to PKCS#8 structure */
+
+int PKCS8_add_keyusage(PKCS8_PRIV_KEY_INFO *p8, int usage)
+{
+ unsigned char us_val;
+ us_val = (unsigned char) usage;
+ if (X509at_add1_attr_by_NID(&p8->attributes, NID_key_usage,
+ V_ASN1_BIT_STRING, &us_val, 1))
+ return 1;
+ else
+ return 0;
+}
+
+/* Add a friendlyname to a safebag */
+
+int PKCS12_add_friendlyname_asc(PKCS12_SAFEBAG *bag, const char *name,
+ int namelen)
+{
+ if (X509at_add1_attr_by_NID(&bag->attrib, NID_friendlyName,
+ MBSTRING_ASC, (unsigned char *)name, namelen))
+ return 1;
+ else
+ return 0;
+}
+
+
+int PKCS12_add_friendlyname_uni(PKCS12_SAFEBAG *bag,
+ const unsigned char *name, int namelen)
+{
+ if (X509at_add1_attr_by_NID(&bag->attrib, NID_friendlyName,
+ MBSTRING_BMP, name, namelen))
+ return 1;
+ else
+ return 0;
+}
+
+int PKCS12_add_CSPName_asc(PKCS12_SAFEBAG *bag, const char *name,
+ int namelen)
+{
+ if (X509at_add1_attr_by_NID(&bag->attrib, NID_ms_csp_name,
+ MBSTRING_ASC, (unsigned char *)name, namelen))
+ return 1;
+ else
+ return 0;
+}
+
+ASN1_TYPE *PKCS12_get_attr_gen(STACK_OF(X509_ATTRIBUTE) *attrs, int attr_nid)
+{
+ X509_ATTRIBUTE *attrib;
+ int i;
+ if (!attrs) return NULL;
+ for (i = 0; i < sk_X509_ATTRIBUTE_num (attrs); i++) {
+ attrib = sk_X509_ATTRIBUTE_value (attrs, i);
+ if (OBJ_obj2nid (attrib->object) == attr_nid) {
+ if (sk_ASN1_TYPE_num (attrib->value.set))
+ return sk_ASN1_TYPE_value(attrib->value.set, 0);
+ else return NULL;
+ }
+ }
+ return NULL;
+}
+
+char *PKCS12_get_friendlyname(PKCS12_SAFEBAG *bag)
+{
+ ASN1_TYPE *atype;
+ if (!(atype = PKCS12_get_attr(bag, NID_friendlyName))) return NULL;
+ if (atype->type != V_ASN1_BMPSTRING) return NULL;
+ return OPENSSL_uni2asc(atype->value.bmpstring->data,
+ atype->value.bmpstring->length);
+}
+
diff --git a/main/openssl/crypto/pkcs12/p12_crpt.c b/main/openssl/crypto/pkcs12/p12_crpt.c
new file mode 100644
index 00000000..b71d07b4
--- /dev/null
+++ b/main/openssl/crypto/pkcs12/p12_crpt.c
@@ -0,0 +1,112 @@
+/* p12_crpt.c */
+/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
+ * project 1999.
+ */
+/* ====================================================================
+ * Copyright (c) 1999 The OpenSSL Project. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ * software must display the following acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For written permission, please contact
+ * licensing@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ * nor may "OpenSSL" appear in their names without prior written
+ * permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com). This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+#include <stdio.h>
+#include "cryptlib.h"
+#include <openssl/pkcs12.h>
+
+/* PKCS#12 PBE algorithms now in static table */
+
+void PKCS12_PBE_add(void)
+{
+}
+
+int PKCS12_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen,
+ ASN1_TYPE *param, const EVP_CIPHER *cipher, const EVP_MD *md, int en_de)
+{
+ PBEPARAM *pbe;
+ int saltlen, iter, ret;
+ unsigned char *salt;
+ const unsigned char *pbuf;
+ unsigned char key[EVP_MAX_KEY_LENGTH], iv[EVP_MAX_IV_LENGTH];
+
+ /* Extract useful info from parameter */
+ if (param == NULL || param->type != V_ASN1_SEQUENCE ||
+ param->value.sequence == NULL) {
+ PKCS12err(PKCS12_F_PKCS12_PBE_KEYIVGEN,PKCS12_R_DECODE_ERROR);
+ return 0;
+ }
+
+ pbuf = param->value.sequence->data;
+ if (!(pbe = d2i_PBEPARAM(NULL, &pbuf, param->value.sequence->length))) {
+ PKCS12err(PKCS12_F_PKCS12_PBE_KEYIVGEN,PKCS12_R_DECODE_ERROR);
+ return 0;
+ }
+
+ if (!pbe->iter) iter = 1;
+ else iter = ASN1_INTEGER_get (pbe->iter);
+ salt = pbe->salt->data;
+ saltlen = pbe->salt->length;
+ if (!PKCS12_key_gen (pass, passlen, salt, saltlen, PKCS12_KEY_ID,
+ iter, EVP_CIPHER_key_length(cipher), key, md)) {
+ PKCS12err(PKCS12_F_PKCS12_PBE_KEYIVGEN,PKCS12_R_KEY_GEN_ERROR);
+ PBEPARAM_free(pbe);
+ return 0;
+ }
+ if (!PKCS12_key_gen (pass, passlen, salt, saltlen, PKCS12_IV_ID,
+ iter, EVP_CIPHER_iv_length(cipher), iv, md)) {
+ PKCS12err(PKCS12_F_PKCS12_PBE_KEYIVGEN,PKCS12_R_IV_GEN_ERROR);
+ PBEPARAM_free(pbe);
+ return 0;
+ }
+ PBEPARAM_free(pbe);
+ ret = EVP_CipherInit_ex(ctx, cipher, NULL, key, iv, en_de);
+ OPENSSL_cleanse(key, EVP_MAX_KEY_LENGTH);
+ OPENSSL_cleanse(iv, EVP_MAX_IV_LENGTH);
+ return ret;
+}
diff --git a/main/openssl/crypto/pkcs12/p12_crt.c b/main/openssl/crypto/pkcs12/p12_crt.c
new file mode 100644
index 00000000..96b131de
--- /dev/null
+++ b/main/openssl/crypto/pkcs12/p12_crt.c
@@ -0,0 +1,359 @@
+/* p12_crt.c */
+/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
+ * project.
+ */
+/* ====================================================================
+ * Copyright (c) 1999-2002 The OpenSSL Project. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ * software must display the following acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For written permission, please contact
+ * licensing@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ * nor may "OpenSSL" appear in their names without prior written
+ * permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com). This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+#include <stdio.h>
+#include "cryptlib.h"
+#include <openssl/pkcs12.h>
+
+
+static int pkcs12_add_bag(STACK_OF(PKCS12_SAFEBAG) **pbags, PKCS12_SAFEBAG *bag);
+
+static int copy_bag_attr(PKCS12_SAFEBAG *bag, EVP_PKEY *pkey, int nid)
+ {
+ int idx;
+ X509_ATTRIBUTE *attr;
+ idx = EVP_PKEY_get_attr_by_NID(pkey, nid, -1);
+ if (idx < 0)
+ return 1;
+ attr = EVP_PKEY_get_attr(pkey, idx);
+ if (!X509at_add1_attr(&bag->attrib, attr))
+ return 0;
+ return 1;
+ }
+
+PKCS12 *PKCS12_create(char *pass, char *name, EVP_PKEY *pkey, X509 *cert,
+ STACK_OF(X509) *ca, int nid_key, int nid_cert, int iter, int mac_iter,
+ int keytype)
+{
+ PKCS12 *p12 = NULL;
+ STACK_OF(PKCS7) *safes = NULL;
+ STACK_OF(PKCS12_SAFEBAG) *bags = NULL;
+ PKCS12_SAFEBAG *bag = NULL;
+ int i;
+ unsigned char keyid[EVP_MAX_MD_SIZE];
+ unsigned int keyidlen = 0;
+
+ /* Set defaults */
+ if (!nid_cert)
+ nid_cert = NID_pbe_WithSHA1And40BitRC2_CBC;
+ if (!nid_key)
+ nid_key = NID_pbe_WithSHA1And3_Key_TripleDES_CBC;
+ if (!iter)
+ iter = PKCS12_DEFAULT_ITER;
+ if (!mac_iter)
+ mac_iter = 1;
+
+ if(!pkey && !cert && !ca)
+ {
+ PKCS12err(PKCS12_F_PKCS12_CREATE,PKCS12_R_INVALID_NULL_ARGUMENT);
+ return NULL;
+ }
+
+ if (pkey && cert)
+ {
+ if(!X509_check_private_key(cert, pkey))
+ return NULL;
+ X509_digest(cert, EVP_sha1(), keyid, &keyidlen);
+ }
+
+ if (cert)
+ {
+ bag = PKCS12_add_cert(&bags, cert);
+ if(name && !PKCS12_add_friendlyname(bag, name, -1))
+ goto err;
+ if(keyidlen && !PKCS12_add_localkeyid(bag, keyid, keyidlen))
+ goto err;
+ }
+
+ /* Add all other certificates */
+ for(i = 0; i < sk_X509_num(ca); i++)
+ {
+ if (!PKCS12_add_cert(&bags, sk_X509_value(ca, i)))
+ goto err;
+ }
+
+ if (bags && !PKCS12_add_safe(&safes, bags, nid_cert, iter, pass))
+ goto err;
+
+ sk_PKCS12_SAFEBAG_pop_free(bags, PKCS12_SAFEBAG_free);
+ bags = NULL;
+
+ if (pkey)
+ {
+ bag = PKCS12_add_key(&bags, pkey, keytype, iter, nid_key, pass);
+
+ if (!bag)
+ goto err;
+
+ if (!copy_bag_attr(bag, pkey, NID_ms_csp_name))
+ goto err;
+ if (!copy_bag_attr(bag, pkey, NID_LocalKeySet))
+ goto err;
+
+ if(name && !PKCS12_add_friendlyname(bag, name, -1))
+ goto err;
+ if(keyidlen && !PKCS12_add_localkeyid(bag, keyid, keyidlen))
+ goto err;
+ }
+
+ if (bags && !PKCS12_add_safe(&safes, bags, -1, 0, NULL))
+ goto err;
+
+ sk_PKCS12_SAFEBAG_pop_free(bags, PKCS12_SAFEBAG_free);
+ bags = NULL;
+
+ p12 = PKCS12_add_safes(safes, 0);
+
+ if (!p12)
+ goto err;
+
+ sk_PKCS7_pop_free(safes, PKCS7_free);
+
+ safes = NULL;
+
+ if ((mac_iter != -1) &&
+ !PKCS12_set_mac(p12, pass, -1, NULL, 0, mac_iter, NULL))
+ goto err;
+
+ return p12;
+
+ err:
+
+ if (p12)
+ PKCS12_free(p12);
+ if (safes)
+ sk_PKCS7_pop_free(safes, PKCS7_free);
+ if (bags)
+ sk_PKCS12_SAFEBAG_pop_free(bags, PKCS12_SAFEBAG_free);
+ return NULL;
+
+}
+
+PKCS12_SAFEBAG *PKCS12_add_cert(STACK_OF(PKCS12_SAFEBAG) **pbags, X509 *cert)
+ {
+ PKCS12_SAFEBAG *bag = NULL;
+ char *name;
+ int namelen = -1;
+ unsigned char *keyid;
+ int keyidlen = -1;
+
+ /* Add user certificate */
+ if(!(bag = PKCS12_x5092certbag(cert)))
+ goto err;
+
+ /* Use friendlyName and localKeyID in certificate.
+ * (if present)
+ */
+
+ name = (char *)X509_alias_get0(cert, &namelen);
+
+ if(name && !PKCS12_add_friendlyname(bag, name, namelen))
+ goto err;
+
+ keyid = X509_keyid_get0(cert, &keyidlen);
+
+ if(keyid && !PKCS12_add_localkeyid(bag, keyid, keyidlen))
+ goto err;
+
+ if (!pkcs12_add_bag(pbags, bag))
+ goto err;
+
+ return bag;
+
+ err:
+
+ if (bag)
+ PKCS12_SAFEBAG_free(bag);
+
+ return NULL;
+
+ }
+
+PKCS12_SAFEBAG *PKCS12_add_key(STACK_OF(PKCS12_SAFEBAG) **pbags, EVP_PKEY *key,
+ int key_usage, int iter,
+ int nid_key, char *pass)
+ {
+
+ PKCS12_SAFEBAG *bag = NULL;
+ PKCS8_PRIV_KEY_INFO *p8 = NULL;
+
+ /* Make a PKCS#8 structure */
+ if(!(p8 = EVP_PKEY2PKCS8(key)))
+ goto err;
+ if(key_usage && !PKCS8_add_keyusage(p8, key_usage))
+ goto err;
+ if (nid_key != -1)
+ {
+ bag = PKCS12_MAKE_SHKEYBAG(nid_key, pass, -1, NULL, 0, iter, p8);
+ PKCS8_PRIV_KEY_INFO_free(p8);
+ }
+ else
+ bag = PKCS12_MAKE_KEYBAG(p8);
+
+ if(!bag)
+ goto err;
+
+ if (!pkcs12_add_bag(pbags, bag))
+ goto err;
+
+ return bag;
+
+ err:
+
+ if (bag)
+ PKCS12_SAFEBAG_free(bag);
+
+ return NULL;
+
+ }
+
+int PKCS12_add_safe(STACK_OF(PKCS7) **psafes, STACK_OF(PKCS12_SAFEBAG) *bags,
+ int nid_safe, int iter, char *pass)
+ {
+ PKCS7 *p7 = NULL;
+ int free_safes = 0;
+
+ if (!*psafes)
+ {
+ *psafes = sk_PKCS7_new_null();
+ if (!*psafes)
+ return 0;
+ free_safes = 1;
+ }
+ else
+ free_safes = 0;
+
+ if (nid_safe == 0)
+ nid_safe = NID_pbe_WithSHA1And40BitRC2_CBC;
+
+ if (nid_safe == -1)
+ p7 = PKCS12_pack_p7data(bags);
+ else
+ p7 = PKCS12_pack_p7encdata(nid_safe, pass, -1, NULL, 0,
+ iter, bags);
+ if (!p7)
+ goto err;
+
+ if (!sk_PKCS7_push(*psafes, p7))
+ goto err;
+
+ return 1;
+
+ err:
+ if (free_safes)
+ {
+ sk_PKCS7_free(*psafes);
+ *psafes = NULL;
+ }
+
+ if (p7)
+ PKCS7_free(p7);
+
+ return 0;
+
+ }
+
+static int pkcs12_add_bag(STACK_OF(PKCS12_SAFEBAG) **pbags, PKCS12_SAFEBAG *bag)
+ {
+ int free_bags;
+ if (!pbags)
+ return 1;
+ if (!*pbags)
+ {
+ *pbags = sk_PKCS12_SAFEBAG_new_null();
+ if (!*pbags)
+ return 0;
+ free_bags = 1;
+ }
+ else
+ free_bags = 0;
+
+ if (!sk_PKCS12_SAFEBAG_push(*pbags, bag))
+ {
+ if (free_bags)
+ {
+ sk_PKCS12_SAFEBAG_free(*pbags);
+ *pbags = NULL;
+ }
+ return 0;
+ }
+
+ return 1;
+
+ }
+
+
+PKCS12 *PKCS12_add_safes(STACK_OF(PKCS7) *safes, int nid_p7)
+ {
+ PKCS12 *p12;
+ if (nid_p7 <= 0)
+ nid_p7 = NID_pkcs7_data;
+ p12 = PKCS12_init(nid_p7);
+
+ if (!p12)
+ return NULL;
+
+ if(!PKCS12_pack_authsafes(p12, safes))
+ {
+ PKCS12_free(p12);
+ return NULL;
+ }
+
+ return p12;
+
+ }
diff --git a/main/openssl/crypto/pkcs12/p12_decr.c b/main/openssl/crypto/pkcs12/p12_decr.c
new file mode 100644
index 00000000..ba77dbbe
--- /dev/null
+++ b/main/openssl/crypto/pkcs12/p12_decr.c
@@ -0,0 +1,177 @@
+/* p12_decr.c */
+/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
+ * project 1999.
+ */
+/* ====================================================================
+ * Copyright (c) 1999 The OpenSSL Project. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ * software must display the following acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For written permission, please contact
+ * licensing@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ * nor may "OpenSSL" appear in their names without prior written
+ * permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com). This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+#include <stdio.h>
+#include "cryptlib.h"
+#include <openssl/pkcs12.h>
+
+/* Define this to dump decrypted output to files called DERnnn */
+/*#define DEBUG_DECRYPT*/
+
+
+/* Encrypt/Decrypt a buffer based on password and algor, result in a
+ * OPENSSL_malloc'ed buffer
+ */
+
+unsigned char * PKCS12_pbe_crypt(X509_ALGOR *algor, const char *pass,
+ int passlen, unsigned char *in, int inlen, unsigned char **data,
+ int *datalen, int en_de)
+{
+ unsigned char *out;
+ int outlen, i;
+ EVP_CIPHER_CTX ctx;
+
+ EVP_CIPHER_CTX_init(&ctx);
+ /* Decrypt data */
+ if (!EVP_PBE_CipherInit(algor->algorithm, pass, passlen,
+ algor->parameter, &ctx, en_de)) {
+ PKCS12err(PKCS12_F_PKCS12_PBE_CRYPT,PKCS12_R_PKCS12_ALGOR_CIPHERINIT_ERROR);
+ return NULL;
+ }
+
+ if(!(out = OPENSSL_malloc(inlen + EVP_CIPHER_CTX_block_size(&ctx)))) {
+ PKCS12err(PKCS12_F_PKCS12_PBE_CRYPT,ERR_R_MALLOC_FAILURE);
+ goto err;
+ }
+
+ EVP_CipherUpdate(&ctx, out, &i, in, inlen);
+ outlen = i;
+ if(!EVP_CipherFinal_ex(&ctx, out + i, &i)) {
+ OPENSSL_free(out);
+ out = NULL;
+ PKCS12err(PKCS12_F_PKCS12_PBE_CRYPT,PKCS12_R_PKCS12_CIPHERFINAL_ERROR);
+ goto err;
+ }
+ outlen += i;
+ if (datalen) *datalen = outlen;
+ if (data) *data = out;
+ err:
+ EVP_CIPHER_CTX_cleanup(&ctx);
+ return out;
+
+}
+
+/* Decrypt an OCTET STRING and decode ASN1 structure
+ * if zbuf set zero buffer after use.
+ */
+
+void * PKCS12_item_decrypt_d2i(X509_ALGOR *algor, const ASN1_ITEM *it,
+ const char *pass, int passlen, ASN1_OCTET_STRING *oct, int zbuf)
+{
+ unsigned char *out;
+ const unsigned char *p;
+ void *ret;
+ int outlen;
+
+ if (!PKCS12_pbe_crypt(algor, pass, passlen, oct->data, oct->length,
+ &out, &outlen, 0)) {
+ PKCS12err(PKCS12_F_PKCS12_ITEM_DECRYPT_D2I,PKCS12_R_PKCS12_PBE_CRYPT_ERROR);
+ return NULL;
+ }
+ p = out;
+#ifdef DEBUG_DECRYPT
+ {
+ FILE *op;
+
+ char fname[30];
+ static int fnm = 1;
+ sprintf(fname, "DER%d", fnm++);
+ op = fopen(fname, "wb");
+ fwrite (p, 1, outlen, op);
+ fclose(op);
+ }
+#endif
+ ret = ASN1_item_d2i(NULL, &p, outlen, it);
+ if (zbuf) OPENSSL_cleanse(out, outlen);
+ if(!ret) PKCS12err(PKCS12_F_PKCS12_ITEM_DECRYPT_D2I,PKCS12_R_DECODE_ERROR);
+ OPENSSL_free(out);
+ return ret;
+}
+
+/* Encode ASN1 structure and encrypt, return OCTET STRING
+ * if zbuf set zero encoding.
+ */
+
+ASN1_OCTET_STRING *PKCS12_item_i2d_encrypt(X509_ALGOR *algor, const ASN1_ITEM *it,
+ const char *pass, int passlen,
+ void *obj, int zbuf)
+{
+ ASN1_OCTET_STRING *oct;
+ unsigned char *in = NULL;
+ int inlen;
+ if (!(oct = M_ASN1_OCTET_STRING_new ())) {
+ PKCS12err(PKCS12_F_PKCS12_ITEM_I2D_ENCRYPT,ERR_R_MALLOC_FAILURE);
+ return NULL;
+ }
+ inlen = ASN1_item_i2d(obj, &in, it);
+ if (!in) {
+ PKCS12err(PKCS12_F_PKCS12_ITEM_I2D_ENCRYPT,PKCS12_R_ENCODE_ERROR);
+ return NULL;
+ }
+ if (!PKCS12_pbe_crypt(algor, pass, passlen, in, inlen, &oct->data,
+ &oct->length, 1)) {
+ PKCS12err(PKCS12_F_PKCS12_ITEM_I2D_ENCRYPT,PKCS12_R_ENCRYPT_ERROR);
+ OPENSSL_free(in);
+ return NULL;
+ }
+ if (zbuf) OPENSSL_cleanse(in, inlen);
+ OPENSSL_free(in);
+ return oct;
+}
+
+IMPLEMENT_PKCS12_STACK_OF(PKCS7)
diff --git a/main/openssl/crypto/pkcs12/p12_init.c b/main/openssl/crypto/pkcs12/p12_init.c
new file mode 100644
index 00000000..d4d84b05
--- /dev/null
+++ b/main/openssl/crypto/pkcs12/p12_init.c
@@ -0,0 +1,92 @@
+/* p12_init.c */
+/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
+ * project 1999.
+ */
+/* ====================================================================
+ * Copyright (c) 1999 The OpenSSL Project. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ * software must display the following acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For written permission, please contact
+ * licensing@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ * nor may "OpenSSL" appear in their names without prior written
+ * permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com). This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+#include <stdio.h>
+#include "cryptlib.h"
+#include <openssl/pkcs12.h>
+
+/* Initialise a PKCS12 structure to take data */
+
+PKCS12 *PKCS12_init(int mode)
+{
+ PKCS12 *pkcs12;
+ if (!(pkcs12 = PKCS12_new())) {
+ PKCS12err(PKCS12_F_PKCS12_INIT,ERR_R_MALLOC_FAILURE);
+ return NULL;
+ }
+ ASN1_INTEGER_set(pkcs12->version, 3);
+ pkcs12->authsafes->type = OBJ_nid2obj(mode);
+ switch (mode) {
+ case NID_pkcs7_data:
+ if (!(pkcs12->authsafes->d.data =
+ M_ASN1_OCTET_STRING_new())) {
+ PKCS12err(PKCS12_F_PKCS12_INIT,ERR_R_MALLOC_FAILURE);
+ goto err;
+ }
+ break;
+ default:
+ PKCS12err(PKCS12_F_PKCS12_INIT,
+ PKCS12_R_UNSUPPORTED_PKCS12_MODE);
+ goto err;
+ }
+
+ return pkcs12;
+err:
+ if (pkcs12 != NULL) PKCS12_free(pkcs12);
+ return NULL;
+}
diff --git a/main/openssl/crypto/pkcs12/p12_key.c b/main/openssl/crypto/pkcs12/p12_key.c
new file mode 100644
index 00000000..424203f6
--- /dev/null
+++ b/main/openssl/crypto/pkcs12/p12_key.c
@@ -0,0 +1,217 @@
+/* p12_key.c */
+/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
+ * project 1999.
+ */
+/* ====================================================================
+ * Copyright (c) 1999 The OpenSSL Project. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ * software must display the following acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For written permission, please contact
+ * licensing@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ * nor may "OpenSSL" appear in their names without prior written
+ * permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com). This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+#include <stdio.h>
+#include "cryptlib.h"
+#include <openssl/pkcs12.h>
+#include <openssl/bn.h>
+
+/* Uncomment out this line to get debugging info about key generation */
+/*#define DEBUG_KEYGEN*/
+#ifdef DEBUG_KEYGEN
+#include <openssl/bio.h>
+extern BIO *bio_err;
+void h__dump (unsigned char *p, int len);
+#endif
+
+/* PKCS12 compatible key/IV generation */
+#ifndef min
+#define min(a,b) ((a) < (b) ? (a) : (b))
+#endif
+
+int PKCS12_key_gen_asc(const char *pass, int passlen, unsigned char *salt,
+ int saltlen, int id, int iter, int n, unsigned char *out,
+ const EVP_MD *md_type)
+{
+ int ret;
+ unsigned char *unipass;
+ int uniplen;
+
+ if(!pass) {
+ unipass = NULL;
+ uniplen = 0;
+ } else if (!OPENSSL_asc2uni(pass, passlen, &unipass, &uniplen)) {
+ PKCS12err(PKCS12_F_PKCS12_KEY_GEN_ASC,ERR_R_MALLOC_FAILURE);
+ return 0;
+ }
+ ret = PKCS12_key_gen_uni(unipass, uniplen, salt, saltlen,
+ id, iter, n, out, md_type);
+ if (ret <= 0)
+ return 0;
+ if(unipass) {
+ OPENSSL_cleanse(unipass, uniplen); /* Clear password from memory */
+ OPENSSL_free(unipass);
+ }
+ return ret;
+}
+
+int PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt,
+ int saltlen, int id, int iter, int n, unsigned char *out,
+ const EVP_MD *md_type)
+{
+ unsigned char *B, *D, *I, *p, *Ai;
+ int Slen, Plen, Ilen, Ijlen;
+ int i, j, u, v;
+ int ret = 0;
+ BIGNUM *Ij, *Bpl1; /* These hold Ij and B + 1 */
+ EVP_MD_CTX ctx;
+#ifdef DEBUG_KEYGEN
+ unsigned char *tmpout = out;
+ int tmpn = n;
+#endif
+
+#if 0
+ if (!pass) {
+ PKCS12err(PKCS12_F_PKCS12_KEY_GEN_UNI,ERR_R_PASSED_NULL_PARAMETER);
+ return 0;
+ }
+#endif
+
+ EVP_MD_CTX_init(&ctx);
+#ifdef DEBUG_KEYGEN
+ fprintf(stderr, "KEYGEN DEBUG\n");
+ fprintf(stderr, "ID %d, ITER %d\n", id, iter);
+ fprintf(stderr, "Password (length %d):\n", passlen);
+ h__dump(pass, passlen);
+ fprintf(stderr, "Salt (length %d):\n", saltlen);
+ h__dump(salt, saltlen);
+#endif
+ v = EVP_MD_block_size (md_type);
+ u = EVP_MD_size (md_type);
+ if (u < 0)
+ return 0;
+ D = OPENSSL_malloc (v);
+ Ai = OPENSSL_malloc (u);
+ B = OPENSSL_malloc (v + 1);
+ Slen = v * ((saltlen+v-1)/v);
+ if(passlen) Plen = v * ((passlen+v-1)/v);
+ else Plen = 0;
+ Ilen = Slen + Plen;
+ I = OPENSSL_malloc (Ilen);
+ Ij = BN_new();
+ Bpl1 = BN_new();
+ if (!D || !Ai || !B || !I || !Ij || !Bpl1)
+ goto err;
+ for (i = 0; i < v; i++) D[i] = id;
+ p = I;
+ for (i = 0; i < Slen; i++) *p++ = salt[i % saltlen];
+ for (i = 0; i < Plen; i++) *p++ = pass[i % passlen];
+ for (;;) {
+ EVP_DigestInit_ex(&ctx, md_type, NULL);
+ EVP_DigestUpdate(&ctx, D, v);
+ EVP_DigestUpdate(&ctx, I, Ilen);
+ EVP_DigestFinal_ex(&ctx, Ai, NULL);
+ for (j = 1; j < iter; j++) {
+ EVP_DigestInit_ex(&ctx, md_type, NULL);
+ EVP_DigestUpdate(&ctx, Ai, u);
+ EVP_DigestFinal_ex(&ctx, Ai, NULL);
+ }
+ memcpy (out, Ai, min (n, u));
+ if (u >= n) {
+#ifdef DEBUG_KEYGEN
+ fprintf(stderr, "Output KEY (length %d)\n", tmpn);
+ h__dump(tmpout, tmpn);
+#endif
+ ret = 1;
+ goto end;
+ }
+ n -= u;
+ out += u;
+ for (j = 0; j < v; j++) B[j] = Ai[j % u];
+ /* Work out B + 1 first then can use B as tmp space */
+ if (!BN_bin2bn (B, v, Bpl1)) goto err;
+ if (!BN_add_word (Bpl1, 1)) goto err;
+ for (j = 0; j < Ilen ; j+=v) {
+ if (!BN_bin2bn (I + j, v, Ij)) goto err;
+ if (!BN_add (Ij, Ij, Bpl1)) goto err;
+ BN_bn2bin (Ij, B);
+ Ijlen = BN_num_bytes (Ij);
+ /* If more than 2^(v*8) - 1 cut off MSB */
+ if (Ijlen > v) {
+ BN_bn2bin (Ij, B);
+ memcpy (I + j, B + 1, v);
+#ifndef PKCS12_BROKEN_KEYGEN
+ /* If less than v bytes pad with zeroes */
+ } else if (Ijlen < v) {
+ memset(I + j, 0, v - Ijlen);
+ BN_bn2bin(Ij, I + j + v - Ijlen);
+#endif
+ } else BN_bn2bin (Ij, I + j);
+ }
+ }
+
+err:
+ PKCS12err(PKCS12_F_PKCS12_KEY_GEN_UNI,ERR_R_MALLOC_FAILURE);
+
+end:
+ OPENSSL_free (Ai);
+ OPENSSL_free (B);
+ OPENSSL_free (D);
+ OPENSSL_free (I);
+ BN_free (Ij);
+ BN_free (Bpl1);
+ EVP_MD_CTX_cleanup(&ctx);
+ return ret;
+}
+#ifdef DEBUG_KEYGEN
+void h__dump (unsigned char *p, int len)
+{
+ for (; len --; p++) fprintf(stderr, "%02X", *p);
+ fprintf(stderr, "\n");
+}
+#endif
diff --git a/main/openssl/crypto/pkcs12/p12_kiss.c b/main/openssl/crypto/pkcs12/p12_kiss.c
new file mode 100644
index 00000000..292cc3ed
--- /dev/null
+++ b/main/openssl/crypto/pkcs12/p12_kiss.c
@@ -0,0 +1,302 @@
+/* p12_kiss.c */
+/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
+ * project 1999.
+ */
+/* ====================================================================
+ * Copyright (c) 1999 The OpenSSL Project. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ * software must display the following acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For written permission, please contact
+ * licensing@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ * nor may "OpenSSL" appear in their names without prior written
+ * permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com). This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+#include <stdio.h>
+#include "cryptlib.h"
+#include <openssl/pkcs12.h>
+
+/* Simplified PKCS#12 routines */
+
+static int parse_pk12( PKCS12 *p12, const char *pass, int passlen,
+ EVP_PKEY **pkey, STACK_OF(X509) *ocerts);
+
+static int parse_bags( STACK_OF(PKCS12_SAFEBAG) *bags, const char *pass,
+ int passlen, EVP_PKEY **pkey, STACK_OF(X509) *ocerts);
+
+static int parse_bag( PKCS12_SAFEBAG *bag, const char *pass, int passlen,
+ EVP_PKEY **pkey, STACK_OF(X509) *ocerts);
+
+/* Parse and decrypt a PKCS#12 structure returning user key, user cert
+ * and other (CA) certs. Note either ca should be NULL, *ca should be NULL,
+ * or it should point to a valid STACK structure. pkey and cert can be
+ * passed unitialised.
+ */
+
+int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert,
+ STACK_OF(X509) **ca)
+{
+ STACK_OF(X509) *ocerts = NULL;
+ X509 *x = NULL;
+ /* Check for NULL PKCS12 structure */
+
+ if(!p12)
+ {
+ PKCS12err(PKCS12_F_PKCS12_PARSE,PKCS12_R_INVALID_NULL_PKCS12_POINTER);
+ return 0;
+ }
+
+ if(pkey)
+ *pkey = NULL;
+ if(cert)
+ *cert = NULL;
+
+ /* Check the mac */
+
+ /* If password is zero length or NULL then try verifying both cases
+ * to determine which password is correct. The reason for this is that
+ * under PKCS#12 password based encryption no password and a zero length
+ * password are two different things...
+ */
+
+ if(!pass || !*pass) {
+ if(PKCS12_verify_mac(p12, NULL, 0)) pass = NULL;
+ else if(PKCS12_verify_mac(p12, "", 0)) pass = "";
+ else {
+ PKCS12err(PKCS12_F_PKCS12_PARSE,PKCS12_R_MAC_VERIFY_FAILURE);
+ goto err;
+ }
+ } else if (!PKCS12_verify_mac(p12, pass, -1)) {
+ PKCS12err(PKCS12_F_PKCS12_PARSE,PKCS12_R_MAC_VERIFY_FAILURE);
+ goto err;
+ }
+
+ /* Allocate stack for other certificates */
+ ocerts = sk_X509_new_null();
+
+ if (!ocerts)
+ {
+ PKCS12err(PKCS12_F_PKCS12_PARSE,ERR_R_MALLOC_FAILURE);
+ return 0;
+ }
+
+ if (!parse_pk12 (p12, pass, -1, pkey, ocerts))
+ {
+ PKCS12err(PKCS12_F_PKCS12_PARSE,PKCS12_R_PARSE_ERROR);
+ goto err;
+ }
+
+ while ((x = sk_X509_pop(ocerts)))
+ {
+ if (pkey && *pkey && cert && !*cert)
+ {
+ if (X509_check_private_key(x, *pkey))
+ {
+ *cert = x;
+ x = NULL;
+ }
+ }
+
+ if (ca && x)
+ {
+ if (!*ca)
+ *ca = sk_X509_new_null();
+ if (!*ca)
+ goto err;
+ if (!sk_X509_push(*ca, x))
+ goto err;
+ x = NULL;
+ }
+ if (x)
+ X509_free(x);
+ }
+
+ if (ocerts)
+ sk_X509_pop_free(ocerts, X509_free);
+
+ return 1;
+
+ err:
+
+ if (pkey && *pkey)
+ EVP_PKEY_free(*pkey);
+ if (cert && *cert)
+ X509_free(*cert);
+ if (x)
+ X509_free(*cert);
+ if (ocerts)
+ sk_X509_pop_free(ocerts, X509_free);
+ return 0;
+
+}
+
+/* Parse the outer PKCS#12 structure */
+
+static int parse_pk12(PKCS12 *p12, const char *pass, int passlen,
+ EVP_PKEY **pkey, STACK_OF(X509) *ocerts)
+{
+ STACK_OF(PKCS7) *asafes;
+ STACK_OF(PKCS12_SAFEBAG) *bags;
+ int i, bagnid;
+ PKCS7 *p7;
+
+ if (!(asafes = PKCS12_unpack_authsafes (p12))) return 0;
+ for (i = 0; i < sk_PKCS7_num (asafes); i++) {
+ p7 = sk_PKCS7_value (asafes, i);
+ bagnid = OBJ_obj2nid (p7->type);
+ if (bagnid == NID_pkcs7_data) {
+ bags = PKCS12_unpack_p7data(p7);
+ } else if (bagnid == NID_pkcs7_encrypted) {
+ bags = PKCS12_unpack_p7encdata(p7, pass, passlen);
+ } else continue;
+ if (!bags) {
+ sk_PKCS7_pop_free(asafes, PKCS7_free);
+ return 0;
+ }
+ if (!parse_bags(bags, pass, passlen, pkey, ocerts)) {
+ sk_PKCS12_SAFEBAG_pop_free(bags, PKCS12_SAFEBAG_free);
+ sk_PKCS7_pop_free(asafes, PKCS7_free);
+ return 0;
+ }
+ sk_PKCS12_SAFEBAG_pop_free(bags, PKCS12_SAFEBAG_free);
+ }
+ sk_PKCS7_pop_free(asafes, PKCS7_free);
+ return 1;
+}
+
+
+static int parse_bags(STACK_OF(PKCS12_SAFEBAG) *bags, const char *pass,
+ int passlen, EVP_PKEY **pkey, STACK_OF(X509) *ocerts)
+{
+ int i;
+ for (i = 0; i < sk_PKCS12_SAFEBAG_num(bags); i++) {
+ if (!parse_bag(sk_PKCS12_SAFEBAG_value (bags, i),
+ pass, passlen, pkey, ocerts))
+ return 0;
+ }
+ return 1;
+}
+
+static int parse_bag(PKCS12_SAFEBAG *bag, const char *pass, int passlen,
+ EVP_PKEY **pkey, STACK_OF(X509) *ocerts)
+{
+ PKCS8_PRIV_KEY_INFO *p8;
+ X509 *x509;
+ ASN1_TYPE *attrib;
+ ASN1_BMPSTRING *fname = NULL;
+ ASN1_OCTET_STRING *lkid = NULL;
+
+ if ((attrib = PKCS12_get_attr (bag, NID_friendlyName)))
+ fname = attrib->value.bmpstring;
+
+ if ((attrib = PKCS12_get_attr (bag, NID_localKeyID)))
+ lkid = attrib->value.octet_string;
+
+ switch (M_PKCS12_bag_type(bag))
+ {
+ case NID_keyBag:
+ if (!pkey || *pkey)
+ return 1;
+ if (!(*pkey = EVP_PKCS82PKEY(bag->value.keybag)))
+ return 0;
+ break;
+
+ case NID_pkcs8ShroudedKeyBag:
+ if (!pkey || *pkey)
+ return 1;
+ if (!(p8 = PKCS12_decrypt_skey(bag, pass, passlen)))
+ return 0;
+ *pkey = EVP_PKCS82PKEY(p8);
+ PKCS8_PRIV_KEY_INFO_free(p8);
+ if (!(*pkey)) return 0;
+ break;
+
+ case NID_certBag:
+ if (M_PKCS12_cert_bag_type(bag) != NID_x509Certificate )
+ return 1;
+ if (!(x509 = PKCS12_certbag2x509(bag)))
+ return 0;
+ if(lkid && !X509_keyid_set1(x509, lkid->data, lkid->length))
+ {
+ X509_free(x509);
+ return 0;
+ }
+ if(fname) {
+ int len, r;
+ unsigned char *data;
+ len = ASN1_STRING_to_UTF8(&data, fname);
+ if(len > 0) {
+ r = X509_alias_set1(x509, data, len);
+ OPENSSL_free(data);
+ if (!r)
+ {
+ X509_free(x509);
+ return 0;
+ }
+ }
+ }
+
+ if(!sk_X509_push(ocerts, x509))
+ {
+ X509_free(x509);
+ return 0;
+ }
+
+ break;
+
+ case NID_safeContentsBag:
+ return parse_bags(bag->value.safes, pass, passlen,
+ pkey, ocerts);
+ break;
+
+ default:
+ return 1;
+ break;
+ }
+ return 1;
+}
+
diff --git a/main/openssl/crypto/pkcs12/p12_mutl.c b/main/openssl/crypto/pkcs12/p12_mutl.c
new file mode 100644
index 00000000..9ab740d5
--- /dev/null
+++ b/main/openssl/crypto/pkcs12/p12_mutl.c
@@ -0,0 +1,186 @@
+/* p12_mutl.c */
+/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
+ * project 1999.
+ */
+/* ====================================================================
+ * Copyright (c) 1999 The OpenSSL Project. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ * software must display the following acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For written permission, please contact
+ * licensing@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ * nor may "OpenSSL" appear in their names without prior written
+ * permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com). This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+#ifndef OPENSSL_NO_HMAC
+#include <stdio.h>
+#include "cryptlib.h"
+#include <openssl/hmac.h>
+#include <openssl/rand.h>
+#include <openssl/pkcs12.h>
+
+/* Generate a MAC */
+int PKCS12_gen_mac(PKCS12 *p12, const char *pass, int passlen,
+ unsigned char *mac, unsigned int *maclen)
+{
+ const EVP_MD *md_type;
+ HMAC_CTX hmac;
+ unsigned char key[EVP_MAX_MD_SIZE], *salt;
+ int saltlen, iter;
+ int md_size;
+
+ if (!PKCS7_type_is_data(p12->authsafes))
+ {
+ PKCS12err(PKCS12_F_PKCS12_GEN_MAC,PKCS12_R_CONTENT_TYPE_NOT_DATA);
+ return 0;
+ }
+
+ salt = p12->mac->salt->data;
+ saltlen = p12->mac->salt->length;
+ if (!p12->mac->iter) iter = 1;
+ else iter = ASN1_INTEGER_get (p12->mac->iter);
+ if(!(md_type =
+ EVP_get_digestbyobj (p12->mac->dinfo->algor->algorithm))) {
+ PKCS12err(PKCS12_F_PKCS12_GEN_MAC,PKCS12_R_UNKNOWN_DIGEST_ALGORITHM);
+ return 0;
+ }
+ md_size = EVP_MD_size(md_type);
+ if (md_size < 0)
+ return 0;
+ if(!PKCS12_key_gen (pass, passlen, salt, saltlen, PKCS12_MAC_ID, iter,
+ md_size, key, md_type)) {
+ PKCS12err(PKCS12_F_PKCS12_GEN_MAC,PKCS12_R_KEY_GEN_ERROR);
+ return 0;
+ }
+ HMAC_CTX_init(&hmac);
+ HMAC_Init_ex(&hmac, key, md_size, md_type, NULL);
+ HMAC_Update(&hmac, p12->authsafes->d.data->data,
+ p12->authsafes->d.data->length);
+ HMAC_Final(&hmac, mac, maclen);
+ HMAC_CTX_cleanup(&hmac);
+ return 1;
+}
+
+/* Verify the mac */
+int PKCS12_verify_mac(PKCS12 *p12, const char *pass, int passlen)
+{
+ unsigned char mac[EVP_MAX_MD_SIZE];
+ unsigned int maclen;
+ if(p12->mac == NULL) {
+ PKCS12err(PKCS12_F_PKCS12_VERIFY_MAC,PKCS12_R_MAC_ABSENT);
+ return 0;
+ }
+ if (!PKCS12_gen_mac (p12, pass, passlen, mac, &maclen)) {
+ PKCS12err(PKCS12_F_PKCS12_VERIFY_MAC,PKCS12_R_MAC_GENERATION_ERROR);
+ return 0;
+ }
+ if ((maclen != (unsigned int)p12->mac->dinfo->digest->length)
+ || memcmp (mac, p12->mac->dinfo->digest->data, maclen)) return 0;
+ return 1;
+}
+
+/* Set a mac */
+
+int PKCS12_set_mac(PKCS12 *p12, const char *pass, int passlen,
+ unsigned char *salt, int saltlen, int iter, const EVP_MD *md_type)
+{
+ unsigned char mac[EVP_MAX_MD_SIZE];
+ unsigned int maclen;
+
+ if (!md_type) md_type = EVP_sha1();
+ if (PKCS12_setup_mac (p12, iter, salt, saltlen, md_type) ==
+ PKCS12_ERROR) {
+ PKCS12err(PKCS12_F_PKCS12_SET_MAC,PKCS12_R_MAC_SETUP_ERROR);
+ return 0;
+ }
+ if (!PKCS12_gen_mac (p12, pass, passlen, mac, &maclen)) {
+ PKCS12err(PKCS12_F_PKCS12_SET_MAC,PKCS12_R_MAC_GENERATION_ERROR);
+ return 0;
+ }
+ if (!(M_ASN1_OCTET_STRING_set (p12->mac->dinfo->digest, mac, maclen))) {
+ PKCS12err(PKCS12_F_PKCS12_SET_MAC,PKCS12_R_MAC_STRING_SET_ERROR);
+ return 0;
+ }
+ return 1;
+}
+
+/* Set up a mac structure */
+int PKCS12_setup_mac(PKCS12 *p12, int iter, unsigned char *salt, int saltlen,
+ const EVP_MD *md_type)
+{
+ if (!(p12->mac = PKCS12_MAC_DATA_new())) return PKCS12_ERROR;
+ if (iter > 1) {
+ if(!(p12->mac->iter = M_ASN1_INTEGER_new())) {
+ PKCS12err(PKCS12_F_PKCS12_SETUP_MAC, ERR_R_MALLOC_FAILURE);
+ return 0;
+ }
+ if (!ASN1_INTEGER_set(p12->mac->iter, iter)) {
+ PKCS12err(PKCS12_F_PKCS12_SETUP_MAC, ERR_R_MALLOC_FAILURE);
+ return 0;
+ }
+ }
+ if (!saltlen) saltlen = PKCS12_SALT_LEN;
+ p12->mac->salt->length = saltlen;
+ if (!(p12->mac->salt->data = OPENSSL_malloc (saltlen))) {
+ PKCS12err(PKCS12_F_PKCS12_SETUP_MAC, ERR_R_MALLOC_FAILURE);
+ return 0;
+ }
+ if (!salt) {
+ if (RAND_pseudo_bytes (p12->mac->salt->data, saltlen) < 0)
+ return 0;
+ }
+ else memcpy (p12->mac->salt->data, salt, saltlen);
+ p12->mac->dinfo->algor->algorithm = OBJ_nid2obj(EVP_MD_type(md_type));
+ if (!(p12->mac->dinfo->algor->parameter = ASN1_TYPE_new())) {
+ PKCS12err(PKCS12_F_PKCS12_SETUP_MAC, ERR_R_MALLOC_FAILURE);
+ return 0;
+ }
+ p12->mac->dinfo->algor->parameter->type = V_ASN1_NULL;
+
+ return 1;
+}
+#endif
diff --git a/main/openssl/crypto/pkcs12/p12_npas.c b/main/openssl/crypto/pkcs12/p12_npas.c
new file mode 100644
index 00000000..2f713551
--- /dev/null
+++ b/main/openssl/crypto/pkcs12/p12_npas.c
@@ -0,0 +1,225 @@
+/* p12_npas.c */
+/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
+ * project 1999.
+ */
+/* ====================================================================
+ * Copyright (c) 1999 The OpenSSL Project. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ * software must display the following acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For written permission, please contact
+ * licensing@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ * nor may "OpenSSL" appear in their names without prior written
+ * permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com). This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <openssl/pem.h>
+#include <openssl/err.h>
+#include <openssl/pkcs12.h>
+
+/* PKCS#12 password change routine */
+
+static int newpass_p12(PKCS12 *p12, char *oldpass, char *newpass);
+static int newpass_bags(STACK_OF(PKCS12_SAFEBAG) *bags, char *oldpass,
+ char *newpass);
+static int newpass_bag(PKCS12_SAFEBAG *bag, char *oldpass, char *newpass);
+static int alg_get(X509_ALGOR *alg, int *pnid, int *piter, int *psaltlen);
+
+/*
+ * Change the password on a PKCS#12 structure.
+ */
+
+int PKCS12_newpass(PKCS12 *p12, char *oldpass, char *newpass)
+{
+ /* Check for NULL PKCS12 structure */
+
+ if(!p12) {
+ PKCS12err(PKCS12_F_PKCS12_NEWPASS,PKCS12_R_INVALID_NULL_PKCS12_POINTER);
+ return 0;
+ }
+
+ /* Check the mac */
+
+ if (!PKCS12_verify_mac(p12, oldpass, -1)) {
+ PKCS12err(PKCS12_F_PKCS12_NEWPASS,PKCS12_R_MAC_VERIFY_FAILURE);
+ return 0;
+ }
+
+ if (!newpass_p12(p12, oldpass, newpass)) {
+ PKCS12err(PKCS12_F_PKCS12_NEWPASS,PKCS12_R_PARSE_ERROR);
+ return 0;
+ }
+
+ return 1;
+}
+
+/* Parse the outer PKCS#12 structure */
+
+static int newpass_p12(PKCS12 *p12, char *oldpass, char *newpass)
+{
+ STACK_OF(PKCS7) *asafes, *newsafes;
+ STACK_OF(PKCS12_SAFEBAG) *bags;
+ int i, bagnid, pbe_nid = 0, pbe_iter = 0, pbe_saltlen = 0;
+ PKCS7 *p7, *p7new;
+ ASN1_OCTET_STRING *p12_data_tmp = NULL, *macnew = NULL;
+ unsigned char mac[EVP_MAX_MD_SIZE];
+ unsigned int maclen;
+
+ if (!(asafes = PKCS12_unpack_authsafes(p12))) return 0;
+ if(!(newsafes = sk_PKCS7_new_null())) return 0;
+ for (i = 0; i < sk_PKCS7_num (asafes); i++) {
+ p7 = sk_PKCS7_value(asafes, i);
+ bagnid = OBJ_obj2nid(p7->type);
+ if (bagnid == NID_pkcs7_data) {
+ bags = PKCS12_unpack_p7data(p7);
+ } else if (bagnid == NID_pkcs7_encrypted) {
+ bags = PKCS12_unpack_p7encdata(p7, oldpass, -1);
+ if (!alg_get(p7->d.encrypted->enc_data->algorithm,
+ &pbe_nid, &pbe_iter, &pbe_saltlen))
+ {
+ sk_PKCS12_SAFEBAG_pop_free(bags,
+ PKCS12_SAFEBAG_free);
+ bags = NULL;
+ }
+ } else continue;
+ if (!bags) {
+ sk_PKCS7_pop_free(asafes, PKCS7_free);
+ return 0;
+ }
+ if (!newpass_bags(bags, oldpass, newpass)) {
+ sk_PKCS12_SAFEBAG_pop_free(bags, PKCS12_SAFEBAG_free);
+ sk_PKCS7_pop_free(asafes, PKCS7_free);
+ return 0;
+ }
+ /* Repack bag in same form with new password */
+ if (bagnid == NID_pkcs7_data) p7new = PKCS12_pack_p7data(bags);
+ else p7new = PKCS12_pack_p7encdata(pbe_nid, newpass, -1, NULL,
+ pbe_saltlen, pbe_iter, bags);
+ sk_PKCS12_SAFEBAG_pop_free(bags, PKCS12_SAFEBAG_free);
+ if(!p7new) {
+ sk_PKCS7_pop_free(asafes, PKCS7_free);
+ return 0;
+ }
+ sk_PKCS7_push(newsafes, p7new);
+ }
+ sk_PKCS7_pop_free(asafes, PKCS7_free);
+
+ /* Repack safe: save old safe in case of error */
+
+ p12_data_tmp = p12->authsafes->d.data;
+ if(!(p12->authsafes->d.data = ASN1_OCTET_STRING_new())) goto saferr;
+ if(!PKCS12_pack_authsafes(p12, newsafes)) goto saferr;
+
+ if(!PKCS12_gen_mac(p12, newpass, -1, mac, &maclen)) goto saferr;
+ if(!(macnew = ASN1_OCTET_STRING_new())) goto saferr;
+ if(!ASN1_OCTET_STRING_set(macnew, mac, maclen)) goto saferr;
+ ASN1_OCTET_STRING_free(p12->mac->dinfo->digest);
+ p12->mac->dinfo->digest = macnew;
+ ASN1_OCTET_STRING_free(p12_data_tmp);
+
+ return 1;
+
+ saferr:
+ /* Restore old safe */
+ ASN1_OCTET_STRING_free(p12->authsafes->d.data);
+ ASN1_OCTET_STRING_free(macnew);
+ p12->authsafes->d.data = p12_data_tmp;
+ return 0;
+
+}
+
+
+static int newpass_bags(STACK_OF(PKCS12_SAFEBAG) *bags, char *oldpass,
+ char *newpass)
+{
+ int i;
+ for (i = 0; i < sk_PKCS12_SAFEBAG_num(bags); i++) {
+ if (!newpass_bag(sk_PKCS12_SAFEBAG_value(bags, i),
+ oldpass, newpass))
+ return 0;
+ }
+ return 1;
+}
+
+/* Change password of safebag: only needs handle shrouded keybags */
+
+static int newpass_bag(PKCS12_SAFEBAG *bag, char *oldpass, char *newpass)
+{
+ PKCS8_PRIV_KEY_INFO *p8;
+ X509_SIG *p8new;
+ int p8_nid, p8_saltlen, p8_iter;
+
+ if(M_PKCS12_bag_type(bag) != NID_pkcs8ShroudedKeyBag) return 1;
+
+ if (!(p8 = PKCS8_decrypt(bag->value.shkeybag, oldpass, -1))) return 0;
+ if (!alg_get(bag->value.shkeybag->algor, &p8_nid, &p8_iter,
+ &p8_saltlen))
+ return 0;
+ if(!(p8new = PKCS8_encrypt(p8_nid, NULL, newpass, -1, NULL, p8_saltlen,
+ p8_iter, p8))) return 0;
+ X509_SIG_free(bag->value.shkeybag);
+ bag->value.shkeybag = p8new;
+ return 1;
+}
+
+static int alg_get(X509_ALGOR *alg, int *pnid, int *piter, int *psaltlen)
+{
+ PBEPARAM *pbe;
+ const unsigned char *p;
+
+ p = alg->parameter->value.sequence->data;
+ pbe = d2i_PBEPARAM(NULL, &p, alg->parameter->value.sequence->length);
+ if (!pbe)
+ return 0;
+ *pnid = OBJ_obj2nid(alg->algorithm);
+ *piter = ASN1_INTEGER_get(pbe->iter);
+ *psaltlen = pbe->salt->length;
+ PBEPARAM_free(pbe);
+ return 1;
+}
diff --git a/main/openssl/crypto/pkcs12/p12_p8d.c b/main/openssl/crypto/pkcs12/p12_p8d.c
new file mode 100644
index 00000000..deba81e4
--- /dev/null
+++ b/main/openssl/crypto/pkcs12/p12_p8d.c
@@ -0,0 +1,68 @@
+/* p12_p8d.c */
+/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
+ * project 2001.
+ */
+/* ====================================================================
+ * Copyright (c) 2001 The OpenSSL Project. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ * software must display the following acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For written permission, please contact
+ * licensing@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ * nor may "OpenSSL" appear in their names without prior written
+ * permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com). This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+#include <stdio.h>
+#include "cryptlib.h"
+#include <openssl/pkcs12.h>
+
+PKCS8_PRIV_KEY_INFO *PKCS8_decrypt(X509_SIG *p8, const char *pass, int passlen)
+{
+ return PKCS12_item_decrypt_d2i(p8->algor, ASN1_ITEM_rptr(PKCS8_PRIV_KEY_INFO), pass,
+ passlen, p8->digest, 1);
+}
+
diff --git a/main/openssl/crypto/pkcs12/p12_p8e.c b/main/openssl/crypto/pkcs12/p12_p8e.c
new file mode 100644
index 00000000..bf20a77b
--- /dev/null
+++ b/main/openssl/crypto/pkcs12/p12_p8e.c
@@ -0,0 +1,97 @@
+/* p12_p8e.c */
+/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
+ * project 2001.
+ */
+/* ====================================================================
+ * Copyright (c) 2001 The OpenSSL Project. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ * software must display the following acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For written permission, please contact
+ * licensing@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ * nor may "OpenSSL" appear in their names without prior written
+ * permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com). This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+#include <stdio.h>
+#include "cryptlib.h"
+#include <openssl/pkcs12.h>
+
+X509_SIG *PKCS8_encrypt(int pbe_nid, const EVP_CIPHER *cipher,
+ const char *pass, int passlen,
+ unsigned char *salt, int saltlen, int iter,
+ PKCS8_PRIV_KEY_INFO *p8inf)
+{
+ X509_SIG *p8 = NULL;
+ X509_ALGOR *pbe;
+
+ if (!(p8 = X509_SIG_new())) {
+ PKCS12err(PKCS12_F_PKCS8_ENCRYPT, ERR_R_MALLOC_FAILURE);
+ goto err;
+ }
+
+ if(pbe_nid == -1) pbe = PKCS5_pbe2_set(cipher, iter, salt, saltlen);
+ else pbe = PKCS5_pbe_set(pbe_nid, iter, salt, saltlen);
+ if(!pbe) {
+ PKCS12err(PKCS12_F_PKCS8_ENCRYPT, ERR_R_ASN1_LIB);
+ goto err;
+ }
+ X509_ALGOR_free(p8->algor);
+ p8->algor = pbe;
+ M_ASN1_OCTET_STRING_free(p8->digest);
+ p8->digest = PKCS12_item_i2d_encrypt(pbe, ASN1_ITEM_rptr(PKCS8_PRIV_KEY_INFO),
+ pass, passlen, p8inf, 1);
+ if(!p8->digest) {
+ PKCS12err(PKCS12_F_PKCS8_ENCRYPT, PKCS12_R_ENCRYPT_ERROR);
+ goto err;
+ }
+
+ return p8;
+
+ err:
+ X509_SIG_free(p8);
+ return NULL;
+}
diff --git a/main/openssl/crypto/pkcs12/p12_utl.c b/main/openssl/crypto/pkcs12/p12_utl.c
new file mode 100644
index 00000000..59c6f453
--- /dev/null
+++ b/main/openssl/crypto/pkcs12/p12_utl.c
@@ -0,0 +1,146 @@
+/* p12_utl.c */
+/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
+ * project 1999.
+ */
+/* ====================================================================
+ * Copyright (c) 1999 The OpenSSL Project. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ * software must display the following acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For written permission, please contact
+ * licensing@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ * nor may "OpenSSL" appear in their names without prior written
+ * permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com). This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+#include <stdio.h>
+#include "cryptlib.h"
+#include <openssl/pkcs12.h>
+
+/* Cheap and nasty Unicode stuff */
+
+unsigned char *OPENSSL_asc2uni(const char *asc, int asclen, unsigned char **uni, int *unilen)
+{
+ int ulen, i;
+ unsigned char *unitmp;
+ if (asclen == -1) asclen = strlen(asc);
+ ulen = asclen*2 + 2;
+ if (!(unitmp = OPENSSL_malloc(ulen))) return NULL;
+ for (i = 0; i < ulen - 2; i+=2) {
+ unitmp[i] = 0;
+ unitmp[i + 1] = asc[i>>1];
+ }
+ /* Make result double null terminated */
+ unitmp[ulen - 2] = 0;
+ unitmp[ulen - 1] = 0;
+ if (unilen) *unilen = ulen;
+ if (uni) *uni = unitmp;
+ return unitmp;
+}
+
+char *OPENSSL_uni2asc(unsigned char *uni, int unilen)
+{
+ int asclen, i;
+ char *asctmp;
+ asclen = unilen / 2;
+ /* If no terminating zero allow for one */
+ if (!unilen || uni[unilen - 1]) asclen++;
+ uni++;
+ if (!(asctmp = OPENSSL_malloc(asclen))) return NULL;
+ for (i = 0; i < unilen; i+=2) asctmp[i>>1] = uni[i];
+ asctmp[asclen - 1] = 0;
+ return asctmp;
+}
+
+int i2d_PKCS12_bio(BIO *bp, PKCS12 *p12)
+{
+ return ASN1_item_i2d_bio(ASN1_ITEM_rptr(PKCS12), bp, p12);
+}
+
+#ifndef OPENSSL_NO_FP_API
+int i2d_PKCS12_fp(FILE *fp, PKCS12 *p12)
+{
+ return ASN1_item_i2d_fp(ASN1_ITEM_rptr(PKCS12), fp, p12);
+}
+#endif
+
+PKCS12 *d2i_PKCS12_bio(BIO *bp, PKCS12 **p12)
+{
+ return ASN1_item_d2i_bio(ASN1_ITEM_rptr(PKCS12), bp, p12);
+}
+#ifndef OPENSSL_NO_FP_API
+PKCS12 *d2i_PKCS12_fp(FILE *fp, PKCS12 **p12)
+{
+ return ASN1_item_d2i_fp(ASN1_ITEM_rptr(PKCS12), fp, p12);
+}
+#endif
+
+PKCS12_SAFEBAG *PKCS12_x5092certbag(X509 *x509)
+{
+ return PKCS12_item_pack_safebag(x509, ASN1_ITEM_rptr(X509),
+ NID_x509Certificate, NID_certBag);
+}
+
+PKCS12_SAFEBAG *PKCS12_x509crl2certbag(X509_CRL *crl)
+{
+ return PKCS12_item_pack_safebag(crl, ASN1_ITEM_rptr(X509_CRL),
+ NID_x509Crl, NID_crlBag);
+}
+
+X509 *PKCS12_certbag2x509(PKCS12_SAFEBAG *bag)
+{
+ if(M_PKCS12_bag_type(bag) != NID_certBag) return NULL;
+ if(M_PKCS12_cert_bag_type(bag) != NID_x509Certificate) return NULL;
+ return ASN1_item_unpack(bag->value.bag->value.octet, ASN1_ITEM_rptr(X509));
+}
+
+X509_CRL *PKCS12_certbag2x509crl(PKCS12_SAFEBAG *bag)
+{
+ if(M_PKCS12_bag_type(bag) != NID_crlBag) return NULL;
+ if(M_PKCS12_cert_bag_type(bag) != NID_x509Crl) return NULL;
+ return ASN1_item_unpack(bag->value.bag->value.octet,
+ ASN1_ITEM_rptr(X509_CRL));
+}
diff --git a/main/openssl/crypto/pkcs12/pk12err.c b/main/openssl/crypto/pkcs12/pk12err.c
new file mode 100644
index 00000000..f6ddf2df
--- /dev/null
+++ b/main/openssl/crypto/pkcs12/pk12err.c
@@ -0,0 +1,144 @@
+/* crypto/pkcs12/pk12err.c */
+/* ====================================================================
+ * Copyright (c) 1999-2006 The OpenSSL Project. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ * software must display the following acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For written permission, please contact
+ * openssl-core@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ * nor may "OpenSSL" appear in their names without prior written
+ * permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com). This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+/* NOTE: this file was auto generated by the mkerr.pl script: any changes
+ * made to it will be overwritten when the script next updates this file,
+ * only reason strings will be preserved.
+ */
+
+#include <stdio.h>
+#include <openssl/err.h>
+#include <openssl/pkcs12.h>
+
+/* BEGIN ERROR CODES */
+#ifndef OPENSSL_NO_ERR
+
+#define ERR_FUNC(func) ERR_PACK(ERR_LIB_PKCS12,func,0)
+#define ERR_REASON(reason) ERR_PACK(ERR_LIB_PKCS12,0,reason)
+
+static ERR_STRING_DATA PKCS12_str_functs[]=
+ {
+{ERR_FUNC(PKCS12_F_PARSE_BAG), "PARSE_BAG"},
+{ERR_FUNC(PKCS12_F_PARSE_BAGS), "PARSE_BAGS"},
+{ERR_FUNC(PKCS12_F_PKCS12_ADD_FRIENDLYNAME), "PKCS12_ADD_FRIENDLYNAME"},
+{ERR_FUNC(PKCS12_F_PKCS12_ADD_FRIENDLYNAME_ASC), "PKCS12_add_friendlyname_asc"},
+{ERR_FUNC(PKCS12_F_PKCS12_ADD_FRIENDLYNAME_UNI), "PKCS12_add_friendlyname_uni"},
+{ERR_FUNC(PKCS12_F_PKCS12_ADD_LOCALKEYID), "PKCS12_add_localkeyid"},
+{ERR_FUNC(PKCS12_F_PKCS12_CREATE), "PKCS12_create"},
+{ERR_FUNC(PKCS12_F_PKCS12_GEN_MAC), "PKCS12_gen_mac"},
+{ERR_FUNC(PKCS12_F_PKCS12_INIT), "PKCS12_init"},
+{ERR_FUNC(PKCS12_F_PKCS12_ITEM_DECRYPT_D2I), "PKCS12_item_decrypt_d2i"},
+{ERR_FUNC(PKCS12_F_PKCS12_ITEM_I2D_ENCRYPT), "PKCS12_item_i2d_encrypt"},
+{ERR_FUNC(PKCS12_F_PKCS12_ITEM_PACK_SAFEBAG), "PKCS12_item_pack_safebag"},
+{ERR_FUNC(PKCS12_F_PKCS12_KEY_GEN_ASC), "PKCS12_key_gen_asc"},
+{ERR_FUNC(PKCS12_F_PKCS12_KEY_GEN_UNI), "PKCS12_key_gen_uni"},
+{ERR_FUNC(PKCS12_F_PKCS12_MAKE_KEYBAG), "PKCS12_MAKE_KEYBAG"},
+{ERR_FUNC(PKCS12_F_PKCS12_MAKE_SHKEYBAG), "PKCS12_MAKE_SHKEYBAG"},
+{ERR_FUNC(PKCS12_F_PKCS12_NEWPASS), "PKCS12_newpass"},
+{ERR_FUNC(PKCS12_F_PKCS12_PACK_P7DATA), "PKCS12_pack_p7data"},
+{ERR_FUNC(PKCS12_F_PKCS12_PACK_P7ENCDATA), "PKCS12_pack_p7encdata"},
+{ERR_FUNC(PKCS12_F_PKCS12_PARSE), "PKCS12_parse"},
+{ERR_FUNC(PKCS12_F_PKCS12_PBE_CRYPT), "PKCS12_pbe_crypt"},
+{ERR_FUNC(PKCS12_F_PKCS12_PBE_KEYIVGEN), "PKCS12_PBE_keyivgen"},
+{ERR_FUNC(PKCS12_F_PKCS12_SETUP_MAC), "PKCS12_setup_mac"},
+{ERR_FUNC(PKCS12_F_PKCS12_SET_MAC), "PKCS12_set_mac"},
+{ERR_FUNC(PKCS12_F_PKCS12_UNPACK_AUTHSAFES), "PKCS12_unpack_authsafes"},
+{ERR_FUNC(PKCS12_F_PKCS12_UNPACK_P7DATA), "PKCS12_unpack_p7data"},
+{ERR_FUNC(PKCS12_F_PKCS12_VERIFY_MAC), "PKCS12_verify_mac"},
+{ERR_FUNC(PKCS12_F_PKCS8_ADD_KEYUSAGE), "PKCS8_add_keyusage"},
+{ERR_FUNC(PKCS12_F_PKCS8_ENCRYPT), "PKCS8_encrypt"},
+{0,NULL}
+ };
+
+static ERR_STRING_DATA PKCS12_str_reasons[]=
+ {
+{ERR_REASON(PKCS12_R_CANT_PACK_STRUCTURE),"cant pack structure"},
+{ERR_REASON(PKCS12_R_CONTENT_TYPE_NOT_DATA),"content type not data"},
+{ERR_REASON(PKCS12_R_DECODE_ERROR) ,"decode error"},
+{ERR_REASON(PKCS12_R_ENCODE_ERROR) ,"encode error"},
+{ERR_REASON(PKCS12_R_ENCRYPT_ERROR) ,"encrypt error"},
+{ERR_REASON(PKCS12_R_ERROR_SETTING_ENCRYPTED_DATA_TYPE),"error setting encrypted data type"},
+{ERR_REASON(PKCS12_R_INVALID_NULL_ARGUMENT),"invalid null argument"},
+{ERR_REASON(PKCS12_R_INVALID_NULL_PKCS12_POINTER),"invalid null pkcs12 pointer"},
+{ERR_REASON(PKCS12_R_IV_GEN_ERROR) ,"iv gen error"},
+{ERR_REASON(PKCS12_R_KEY_GEN_ERROR) ,"key gen error"},
+{ERR_REASON(PKCS12_R_MAC_ABSENT) ,"mac absent"},
+{ERR_REASON(PKCS12_R_MAC_GENERATION_ERROR),"mac generation error"},
+{ERR_REASON(PKCS12_R_MAC_SETUP_ERROR) ,"mac setup error"},
+{ERR_REASON(PKCS12_R_MAC_STRING_SET_ERROR),"mac string set error"},
+{ERR_REASON(PKCS12_R_MAC_VERIFY_ERROR) ,"mac verify error"},
+{ERR_REASON(PKCS12_R_MAC_VERIFY_FAILURE) ,"mac verify failure"},
+{ERR_REASON(PKCS12_R_PARSE_ERROR) ,"parse error"},
+{ERR_REASON(PKCS12_R_PKCS12_ALGOR_CIPHERINIT_ERROR),"pkcs12 algor cipherinit error"},
+{ERR_REASON(PKCS12_R_PKCS12_CIPHERFINAL_ERROR),"pkcs12 cipherfinal error"},
+{ERR_REASON(PKCS12_R_PKCS12_PBE_CRYPT_ERROR),"pkcs12 pbe crypt error"},
+{ERR_REASON(PKCS12_R_UNKNOWN_DIGEST_ALGORITHM),"unknown digest algorithm"},
+{ERR_REASON(PKCS12_R_UNSUPPORTED_PKCS12_MODE),"unsupported pkcs12 mode"},
+{0,NULL}
+ };
+
+#endif
+
+void ERR_load_PKCS12_strings(void)
+ {
+#ifndef OPENSSL_NO_ERR
+
+ if (ERR_func_error_string(PKCS12_str_functs[0].error) == NULL)
+ {
+ ERR_load_strings(0,PKCS12_str_functs);
+ ERR_load_strings(0,PKCS12_str_reasons);
+ }
+#endif
+ }
diff --git a/main/openssl/crypto/pkcs12/pkcs12.h b/main/openssl/crypto/pkcs12/pkcs12.h
new file mode 100644
index 00000000..b17eb9f4
--- /dev/null
+++ b/main/openssl/crypto/pkcs12/pkcs12.h
@@ -0,0 +1,331 @@
+/* pkcs12.h */
+/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
+ * project 1999.
+ */
+/* ====================================================================
+ * Copyright (c) 1999 The OpenSSL Project. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ * software must display the following acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For written permission, please contact
+ * licensing@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ * nor may "OpenSSL" appear in their names without prior written
+ * permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com). This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+#ifndef HEADER_PKCS12_H
+#define HEADER_PKCS12_H
+
+#include <openssl/bio.h>
+#include <openssl/x509.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define PKCS12_KEY_ID 1
+#define PKCS12_IV_ID 2
+#define PKCS12_MAC_ID 3
+
+/* Default iteration count */
+#ifndef PKCS12_DEFAULT_ITER
+#define PKCS12_DEFAULT_ITER PKCS5_DEFAULT_ITER
+#endif
+
+#define PKCS12_MAC_KEY_LENGTH 20
+
+#define PKCS12_SALT_LEN 8
+
+/* Uncomment out next line for unicode password and names, otherwise ASCII */
+
+/*#define PBE_UNICODE*/
+
+#ifdef PBE_UNICODE
+#define PKCS12_key_gen PKCS12_key_gen_uni
+#define PKCS12_add_friendlyname PKCS12_add_friendlyname_uni
+#else
+#define PKCS12_key_gen PKCS12_key_gen_asc
+#define PKCS12_add_friendlyname PKCS12_add_friendlyname_asc
+#endif
+
+/* MS key usage constants */
+
+#define KEY_EX 0x10
+#define KEY_SIG 0x80
+
+typedef struct {
+X509_SIG *dinfo;
+ASN1_OCTET_STRING *salt;
+ASN1_INTEGER *iter; /* defaults to 1 */
+} PKCS12_MAC_DATA;
+
+typedef struct {
+ASN1_INTEGER *version;
+PKCS12_MAC_DATA *mac;
+PKCS7 *authsafes;
+} PKCS12;
+
+typedef struct {
+ASN1_OBJECT *type;
+union {
+ struct pkcs12_bag_st *bag; /* secret, crl and certbag */
+ struct pkcs8_priv_key_info_st *keybag; /* keybag */
+ X509_SIG *shkeybag; /* shrouded key bag */
+ STACK_OF(PKCS12_SAFEBAG) *safes;
+ ASN1_TYPE *other;
+}value;
+STACK_OF(X509_ATTRIBUTE) *attrib;
+} PKCS12_SAFEBAG;
+
+DECLARE_STACK_OF(PKCS12_SAFEBAG)
+DECLARE_ASN1_SET_OF(PKCS12_SAFEBAG)
+DECLARE_PKCS12_STACK_OF(PKCS12_SAFEBAG)
+
+typedef struct pkcs12_bag_st {
+ASN1_OBJECT *type;
+union {
+ ASN1_OCTET_STRING *x509cert;
+ ASN1_OCTET_STRING *x509crl;
+ ASN1_OCTET_STRING *octet;
+ ASN1_IA5STRING *sdsicert;
+ ASN1_TYPE *other; /* Secret or other bag */
+}value;
+} PKCS12_BAGS;
+
+#define PKCS12_ERROR 0
+#define PKCS12_OK 1
+
+/* Compatibility macros */
+
+#define M_PKCS12_x5092certbag PKCS12_x5092certbag
+#define M_PKCS12_x509crl2certbag PKCS12_x509crl2certbag
+
+#define M_PKCS12_certbag2x509 PKCS12_certbag2x509
+#define M_PKCS12_certbag2x509crl PKCS12_certbag2x509crl
+
+#define M_PKCS12_unpack_p7data PKCS12_unpack_p7data
+#define M_PKCS12_pack_authsafes PKCS12_pack_authsafes
+#define M_PKCS12_unpack_authsafes PKCS12_unpack_authsafes
+#define M_PKCS12_unpack_p7encdata PKCS12_unpack_p7encdata
+
+#define M_PKCS12_decrypt_skey PKCS12_decrypt_skey
+#define M_PKCS8_decrypt PKCS8_decrypt
+
+#define M_PKCS12_bag_type(bg) OBJ_obj2nid((bg)->type)
+#define M_PKCS12_cert_bag_type(bg) OBJ_obj2nid((bg)->value.bag->type)
+#define M_PKCS12_crl_bag_type M_PKCS12_cert_bag_type
+
+#define PKCS12_get_attr(bag, attr_nid) \
+ PKCS12_get_attr_gen(bag->attrib, attr_nid)
+
+#define PKCS8_get_attr(p8, attr_nid) \
+ PKCS12_get_attr_gen(p8->attributes, attr_nid)
+
+#define PKCS12_mac_present(p12) ((p12)->mac ? 1 : 0)
+
+
+PKCS12_SAFEBAG *PKCS12_x5092certbag(X509 *x509);
+PKCS12_SAFEBAG *PKCS12_x509crl2certbag(X509_CRL *crl);
+X509 *PKCS12_certbag2x509(PKCS12_SAFEBAG *bag);
+X509_CRL *PKCS12_certbag2x509crl(PKCS12_SAFEBAG *bag);
+
+PKCS12_SAFEBAG *PKCS12_item_pack_safebag(void *obj, const ASN1_ITEM *it, int nid1,
+ int nid2);
+PKCS12_SAFEBAG *PKCS12_MAKE_KEYBAG(PKCS8_PRIV_KEY_INFO *p8);
+PKCS8_PRIV_KEY_INFO *PKCS8_decrypt(X509_SIG *p8, const char *pass, int passlen);
+PKCS8_PRIV_KEY_INFO *PKCS12_decrypt_skey(PKCS12_SAFEBAG *bag, const char *pass,
+ int passlen);
+X509_SIG *PKCS8_encrypt(int pbe_nid, const EVP_CIPHER *cipher,
+ const char *pass, int passlen,
+ unsigned char *salt, int saltlen, int iter,
+ PKCS8_PRIV_KEY_INFO *p8);
+PKCS12_SAFEBAG *PKCS12_MAKE_SHKEYBAG(int pbe_nid, const char *pass,
+ int passlen, unsigned char *salt,
+ int saltlen, int iter,
+ PKCS8_PRIV_KEY_INFO *p8);
+PKCS7 *PKCS12_pack_p7data(STACK_OF(PKCS12_SAFEBAG) *sk);
+STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7data(PKCS7 *p7);
+PKCS7 *PKCS12_pack_p7encdata(int pbe_nid, const char *pass, int passlen,
+ unsigned char *salt, int saltlen, int iter,
+ STACK_OF(PKCS12_SAFEBAG) *bags);
+STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7encdata(PKCS7 *p7, const char *pass, int passlen);
+
+int PKCS12_pack_authsafes(PKCS12 *p12, STACK_OF(PKCS7) *safes);
+STACK_OF(PKCS7) *PKCS12_unpack_authsafes(PKCS12 *p12);
+
+int PKCS12_add_localkeyid(PKCS12_SAFEBAG *bag, unsigned char *name, int namelen);
+int PKCS12_add_friendlyname_asc(PKCS12_SAFEBAG *bag, const char *name,
+ int namelen);
+int PKCS12_add_CSPName_asc(PKCS12_SAFEBAG *bag, const char *name,
+ int namelen);
+int PKCS12_add_friendlyname_uni(PKCS12_SAFEBAG *bag, const unsigned char *name,
+ int namelen);
+int PKCS8_add_keyusage(PKCS8_PRIV_KEY_INFO *p8, int usage);
+ASN1_TYPE *PKCS12_get_attr_gen(STACK_OF(X509_ATTRIBUTE) *attrs, int attr_nid);
+char *PKCS12_get_friendlyname(PKCS12_SAFEBAG *bag);
+unsigned char *PKCS12_pbe_crypt(X509_ALGOR *algor, const char *pass,
+ int passlen, unsigned char *in, int inlen,
+ unsigned char **data, int *datalen, int en_de);
+void * PKCS12_item_decrypt_d2i(X509_ALGOR *algor, const ASN1_ITEM *it,
+ const char *pass, int passlen, ASN1_OCTET_STRING *oct, int zbuf);
+ASN1_OCTET_STRING *PKCS12_item_i2d_encrypt(X509_ALGOR *algor, const ASN1_ITEM *it,
+ const char *pass, int passlen,
+ void *obj, int zbuf);
+PKCS12 *PKCS12_init(int mode);
+int PKCS12_key_gen_asc(const char *pass, int passlen, unsigned char *salt,
+ int saltlen, int id, int iter, int n,
+ unsigned char *out, const EVP_MD *md_type);
+int PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt, int saltlen, int id, int iter, int n, unsigned char *out, const EVP_MD *md_type);
+int PKCS12_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen,
+ ASN1_TYPE *param, const EVP_CIPHER *cipher, const EVP_MD *md_type,
+ int en_de);
+int PKCS12_gen_mac(PKCS12 *p12, const char *pass, int passlen,
+ unsigned char *mac, unsigned int *maclen);
+int PKCS12_verify_mac(PKCS12 *p12, const char *pass, int passlen);
+int PKCS12_set_mac(PKCS12 *p12, const char *pass, int passlen,
+ unsigned char *salt, int saltlen, int iter,
+ const EVP_MD *md_type);
+int PKCS12_setup_mac(PKCS12 *p12, int iter, unsigned char *salt,
+ int saltlen, const EVP_MD *md_type);
+unsigned char *OPENSSL_asc2uni(const char *asc, int asclen, unsigned char **uni, int *unilen);
+char *OPENSSL_uni2asc(unsigned char *uni, int unilen);
+
+DECLARE_ASN1_FUNCTIONS(PKCS12)
+DECLARE_ASN1_FUNCTIONS(PKCS12_MAC_DATA)
+DECLARE_ASN1_FUNCTIONS(PKCS12_SAFEBAG)
+DECLARE_ASN1_FUNCTIONS(PKCS12_BAGS)
+
+DECLARE_ASN1_ITEM(PKCS12_SAFEBAGS)
+DECLARE_ASN1_ITEM(PKCS12_AUTHSAFES)
+
+void PKCS12_PBE_add(void);
+int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert,
+ STACK_OF(X509) **ca);
+PKCS12 *PKCS12_create(char *pass, char *name, EVP_PKEY *pkey, X509 *cert,
+ STACK_OF(X509) *ca, int nid_key, int nid_cert, int iter,
+ int mac_iter, int keytype);
+
+PKCS12_SAFEBAG *PKCS12_add_cert(STACK_OF(PKCS12_SAFEBAG) **pbags, X509 *cert);
+PKCS12_SAFEBAG *PKCS12_add_key(STACK_OF(PKCS12_SAFEBAG) **pbags, EVP_PKEY *key,
+ int key_usage, int iter,
+ int key_nid, char *pass);
+int PKCS12_add_safe(STACK_OF(PKCS7) **psafes, STACK_OF(PKCS12_SAFEBAG) *bags,
+ int safe_nid, int iter, char *pass);
+PKCS12 *PKCS12_add_safes(STACK_OF(PKCS7) *safes, int p7_nid);
+
+int i2d_PKCS12_bio(BIO *bp, PKCS12 *p12);
+int i2d_PKCS12_fp(FILE *fp, PKCS12 *p12);
+PKCS12 *d2i_PKCS12_bio(BIO *bp, PKCS12 **p12);
+PKCS12 *d2i_PKCS12_fp(FILE *fp, PKCS12 **p12);
+int PKCS12_newpass(PKCS12 *p12, char *oldpass, char *newpass);
+
+/* BEGIN ERROR CODES */
+/* The following lines are auto generated by the script mkerr.pl. Any changes
+ * made after this point may be overwritten when the script is next run.
+ */
+void ERR_load_PKCS12_strings(void);
+
+/* Error codes for the PKCS12 functions. */
+
+/* Function codes. */
+#define PKCS12_F_PARSE_BAG 129
+#define PKCS12_F_PARSE_BAGS 103
+#define PKCS12_F_PKCS12_ADD_FRIENDLYNAME 100
+#define PKCS12_F_PKCS12_ADD_FRIENDLYNAME_ASC 127
+#define PKCS12_F_PKCS12_ADD_FRIENDLYNAME_UNI 102
+#define PKCS12_F_PKCS12_ADD_LOCALKEYID 104
+#define PKCS12_F_PKCS12_CREATE 105
+#define PKCS12_F_PKCS12_GEN_MAC 107
+#define PKCS12_F_PKCS12_INIT 109
+#define PKCS12_F_PKCS12_ITEM_DECRYPT_D2I 106
+#define PKCS12_F_PKCS12_ITEM_I2D_ENCRYPT 108
+#define PKCS12_F_PKCS12_ITEM_PACK_SAFEBAG 117
+#define PKCS12_F_PKCS12_KEY_GEN_ASC 110
+#define PKCS12_F_PKCS12_KEY_GEN_UNI 111
+#define PKCS12_F_PKCS12_MAKE_KEYBAG 112
+#define PKCS12_F_PKCS12_MAKE_SHKEYBAG 113
+#define PKCS12_F_PKCS12_NEWPASS 128
+#define PKCS12_F_PKCS12_PACK_P7DATA 114
+#define PKCS12_F_PKCS12_PACK_P7ENCDATA 115
+#define PKCS12_F_PKCS12_PARSE 118
+#define PKCS12_F_PKCS12_PBE_CRYPT 119
+#define PKCS12_F_PKCS12_PBE_KEYIVGEN 120
+#define PKCS12_F_PKCS12_SETUP_MAC 122
+#define PKCS12_F_PKCS12_SET_MAC 123
+#define PKCS12_F_PKCS12_UNPACK_AUTHSAFES 130
+#define PKCS12_F_PKCS12_UNPACK_P7DATA 131
+#define PKCS12_F_PKCS12_VERIFY_MAC 126
+#define PKCS12_F_PKCS8_ADD_KEYUSAGE 124
+#define PKCS12_F_PKCS8_ENCRYPT 125
+
+/* Reason codes. */
+#define PKCS12_R_CANT_PACK_STRUCTURE 100
+#define PKCS12_R_CONTENT_TYPE_NOT_DATA 121
+#define PKCS12_R_DECODE_ERROR 101
+#define PKCS12_R_ENCODE_ERROR 102
+#define PKCS12_R_ENCRYPT_ERROR 103
+#define PKCS12_R_ERROR_SETTING_ENCRYPTED_DATA_TYPE 120
+#define PKCS12_R_INVALID_NULL_ARGUMENT 104
+#define PKCS12_R_INVALID_NULL_PKCS12_POINTER 105
+#define PKCS12_R_IV_GEN_ERROR 106
+#define PKCS12_R_KEY_GEN_ERROR 107
+#define PKCS12_R_MAC_ABSENT 108
+#define PKCS12_R_MAC_GENERATION_ERROR 109
+#define PKCS12_R_MAC_SETUP_ERROR 110
+#define PKCS12_R_MAC_STRING_SET_ERROR 111
+#define PKCS12_R_MAC_VERIFY_ERROR 112
+#define PKCS12_R_MAC_VERIFY_FAILURE 113
+#define PKCS12_R_PARSE_ERROR 114
+#define PKCS12_R_PKCS12_ALGOR_CIPHERINIT_ERROR 115
+#define PKCS12_R_PKCS12_CIPHERFINAL_ERROR 116
+#define PKCS12_R_PKCS12_PBE_CRYPT_ERROR 117
+#define PKCS12_R_UNKNOWN_DIGEST_ALGORITHM 118
+#define PKCS12_R_UNSUPPORTED_PKCS12_MODE 119
+
+#ifdef __cplusplus
+}
+#endif
+#endif