Pull in reference AES implementation to avoid GPL-OpenSSL conflict
This commit is contained in:
+2
-2
@@ -1,11 +1,11 @@
|
|||||||
AM_CPPFLAGS = -I$(top_builddir)/protobufs/ -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -D_BSD_SOURCE
|
AM_CPPFLAGS = -I$(top_builddir)/protobufs/ -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -D_BSD_SOURCE
|
||||||
AM_CXXFLAGS = -g -O2 --std=c++0x -pedantic -Werror -Wall -Wextra -Weffc++ -fno-default-inline -pipe
|
AM_CXXFLAGS = -g -O2 --std=c++0x -pedantic -Werror -Wall -Wextra -Weffc++ -fno-default-inline -pipe
|
||||||
LIBS = `pkg-config --libs protobuf-lite`
|
LIBS = `pkg-config --libs protobuf-lite`
|
||||||
LDADD = -lutil -lcrypto -lrt -lm $(top_builddir)/protobufs/libmoshprotos.a
|
LDADD = -lutil -lrt -lm $(top_builddir)/protobufs/libmoshprotos.a
|
||||||
|
|
||||||
bin_PROGRAMS = mosh-client mosh-server
|
bin_PROGRAMS = mosh-client mosh-server
|
||||||
|
|
||||||
source = ae.h base64.cc base64.h completeterminal.cc completeterminal.h crypto.cc crypto.h dos_assert.h network.cc network.h networktransport.cc networktransport.h ocb.cc parseraction.cc parseraction.h parser.cc parser.h parserstate.cc parserstatefamily.h parserstate.h parsertransition.h stmclient.cc stmclient.h swrite.cc swrite.h terminal.cc terminaldispatcher.cc terminaldispatcher.h terminaldisplay.cc terminaldisplay.h terminalframebuffer.cc terminalframebuffer.h terminalfunctions.cc terminal.h terminaloverlay.cc terminaloverlay.h terminaluserinput.cc terminaluserinput.h transportfragment.cc transportfragment.h transportsender.cc transportsender.h transportstate.h user.cc user.h
|
source = ae.h base64.cc base64.h completeterminal.cc completeterminal.h crypto.cc crypto.h dos_assert.h network.cc network.h networktransport.cc networktransport.h ocb.cc parseraction.cc parseraction.h parser.cc parser.h parserstate.cc parserstatefamily.h parserstate.h parsertransition.h stmclient.cc stmclient.h swrite.cc swrite.h terminal.cc terminaldispatcher.cc terminaldispatcher.h terminaldisplay.cc terminaldisplay.h terminalframebuffer.cc terminalframebuffer.h terminalfunctions.cc terminal.h terminaloverlay.cc terminaloverlay.h terminaluserinput.cc terminaluserinput.h transportfragment.cc transportfragment.h transportsender.cc transportsender.h transportstate.h user.cc user.h rijndael-alg-fst.cc rijndael-alg-fst.h
|
||||||
|
|
||||||
mosh_client_SOURCES = mosh-client.cc $(source)
|
mosh_client_SOURCES = mosh-client.cc $(source)
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -48,8 +48,8 @@
|
|||||||
|
|
||||||
/* This implementation has built-in support for multiple AES APIs. Set any
|
/* This implementation has built-in support for multiple AES APIs. Set any
|
||||||
/ one of the following to non-zero to specify which to use. */
|
/ one of the following to non-zero to specify which to use. */
|
||||||
#define USE_OPENSSL_AES 1 /* http://openssl.org */
|
#define USE_OPENSSL_AES 0 /* http://openssl.org */
|
||||||
#define USE_REFERENCE_AES 0 /* Internet search: rijndael-alg-fst.c */
|
#define USE_REFERENCE_AES 1 /* Internet search: rijndael-alg-fst.c */
|
||||||
#define USE_AES_NI 0 /* Uses compiler's intrinsics */
|
#define USE_AES_NI 0 /* Uses compiler's intrinsics */
|
||||||
|
|
||||||
/* During encryption and decryption, various "L values" are required.
|
/* During encryption and decryption, various "L values" are required.
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,47 @@
|
|||||||
|
/**
|
||||||
|
* rijndael-alg-fst.h
|
||||||
|
*
|
||||||
|
* @version 3.0 (December 2000)
|
||||||
|
*
|
||||||
|
* Optimised ANSI C code for the Rijndael cipher (now AES)
|
||||||
|
*
|
||||||
|
* @author Vincent Rijmen <vincent.rijmen@esat.kuleuven.ac.be>
|
||||||
|
* @author Antoon Bosselaers <antoon.bosselaers@esat.kuleuven.ac.be>
|
||||||
|
* @author Paulo Barreto <paulo.barreto@terra.com.br>
|
||||||
|
*
|
||||||
|
* This code is hereby placed in the public domain.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS
|
||||||
|
* 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 AUTHORS OR 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.
|
||||||
|
*/
|
||||||
|
#ifndef __RIJNDAEL_ALG_FST_H
|
||||||
|
#define __RIJNDAEL_ALG_FST_H
|
||||||
|
|
||||||
|
#define MAXKC (256/32)
|
||||||
|
#define MAXKB (256/8)
|
||||||
|
#define MAXNR 14
|
||||||
|
|
||||||
|
typedef unsigned char u8;
|
||||||
|
typedef unsigned short u16;
|
||||||
|
typedef unsigned int u32;
|
||||||
|
|
||||||
|
int rijndaelKeySetupEnc(u32 rk[/*4*(Nr + 1)*/], const u8 cipherKey[], int keyBits);
|
||||||
|
int rijndaelKeySetupDec(u32 rk[/*4*(Nr + 1)*/], const u8 cipherKey[], int keyBits);
|
||||||
|
void rijndaelEncrypt(const u32 rk[/*4*(Nr + 1)*/], int Nr, const u8 pt[16], u8 ct[16]);
|
||||||
|
void rijndaelDecrypt(const u32 rk[/*4*(Nr + 1)*/], int Nr, const u8 ct[16], u8 pt[16]);
|
||||||
|
|
||||||
|
#ifdef INTERMEDIATE_VALUE_KAT
|
||||||
|
void rijndaelEncryptRound(const u32 rk[/*4*(Nr + 1)*/], int Nr, u8 block[16], int rounds);
|
||||||
|
void rijndaelDecryptRound(const u32 rk[/*4*(Nr + 1)*/], int Nr, u8 block[16], int rounds);
|
||||||
|
#endif /* INTERMEDIATE_VALUE_KAT */
|
||||||
|
|
||||||
|
#endif /* __RIJNDAEL_ALG_FST_H */
|
||||||
Reference in New Issue
Block a user