diff --git a/configure.ac b/configure.ac index 906fb7c..f14095c 100644 --- a/configure.ac +++ b/configure.ac @@ -4,9 +4,9 @@ AC_PREREQ([2.68]) AC_INIT(mosh, 0.9, mosh-devel@mit.edu) AM_INIT_AUTOMAKE(mosh, 0.9) -AC_CONFIG_SRCDIR([src/transportfragment.h]) +AC_CONFIG_SRCDIR([src/frontend/mosh-client.cc]) AC_CONFIG_HEADERS([config.h]) -AC_OUTPUT(Makefile src/Makefile src/protobufs/Makefile scripts/Makefile) +AC_OUTPUT(Makefile src/Makefile src/crypto/Makefile src/frontend/Makefile src/network/Makefile src/protobufs/Makefile src/statesync/Makefile src/terminal/Makefile src/util/Makefile scripts/Makefile) # Checks for programs. AC_PROG_CXX diff --git a/ocb-license.html b/ocb-license.html new file mode 100644 index 0000000..707d968 --- /dev/null +++ b/ocb-license.html @@ -0,0 +1,38 @@ +OCB - An Authenticated-Encryption Scheme - GPL Patent Grant - Rogaway + + +

OCB: + Patent Grant for GNU GPL

+ +Whereas I, Phillip Rogaway (hereinafter "Inventor") have sought +patent protection for certain technology +(hereinafter "Patented Technology"), +and Inventor wishes to aid the Free Software Foundation in achieving its goals, +and Inventor wishes to increase public awareness of Patented Technology, +Inventor hereby grants a fully paid-up, nonexclusive, +royalty-free license to +practice any patents claiming priority to the +patent applications below ("the Patents") +if practiced by +software distributed +under the terms of any version of +the GNU General Public License as published by the Free Software Foundation, +59 Temple Place, Suite 330, Boston, MA 02111. +Inventor reserves all other rights, including without limitation +licensing for software not distributed under the GNU General Public License. + +

The patents:

+ + + + + diff --git a/src/Makefile.am b/src/Makefile.am index 533c2c0..409dac9 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,14 +1 @@ -SUBDIRS = protobufs . - -AM_CPPFLAGS = -Iprotobufs -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 -LIBS = `pkg-config --libs protobuf-lite` -LDADD = -lutil -lrt -lm protobufs/libmoshprotos.a - -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 rijndael-alg-fst.cc rijndael-alg-fst.h - -mosh_client_SOURCES = mosh-client.cc $(source) - -mosh_server_SOURCES = mosh-server.cc $(source) +SUBDIRS = protobufs util crypto terminal network statesync frontend diff --git a/src/crypto/Makefile.am b/src/crypto/Makefile.am new file mode 100644 index 0000000..be203c4 --- /dev/null +++ b/src/crypto/Makefile.am @@ -0,0 +1,5 @@ +AM_CXXFLAGS = --std=c++0x -pedantic -Werror -Wall -Wextra -Weffc++ -fno-default-inline -pipe + +noinst_LIBRARIES = libmoshcrypto.a + +libmoshcrypto_a_SOURCES = ae.h base64.cc base64.h crypto.cc crypto.h ocb.cc rijndael-alg-fst.cc rijndael-alg-fst.h \ No newline at end of file diff --git a/src/ae.h b/src/crypto/ae.h similarity index 100% rename from src/ae.h rename to src/crypto/ae.h diff --git a/src/base64.cc b/src/crypto/base64.cc similarity index 100% rename from src/base64.cc rename to src/crypto/base64.cc diff --git a/src/base64.h b/src/crypto/base64.h similarity index 100% rename from src/base64.h rename to src/crypto/base64.h diff --git a/src/crypto.cc b/src/crypto/crypto.cc similarity index 100% rename from src/crypto.cc rename to src/crypto/crypto.cc diff --git a/src/crypto.h b/src/crypto/crypto.h similarity index 100% rename from src/crypto.h rename to src/crypto/crypto.h diff --git a/src/ocb.cc b/src/crypto/ocb.cc similarity index 100% rename from src/ocb.cc rename to src/crypto/ocb.cc diff --git a/src/rijndael-alg-fst.cc b/src/crypto/rijndael-alg-fst.cc similarity index 100% rename from src/rijndael-alg-fst.cc rename to src/crypto/rijndael-alg-fst.cc diff --git a/src/rijndael-alg-fst.h b/src/crypto/rijndael-alg-fst.h similarity index 100% rename from src/rijndael-alg-fst.h rename to src/crypto/rijndael-alg-fst.h diff --git a/src/frontend/Makefile.am b/src/frontend/Makefile.am new file mode 100644 index 0000000..caec300 --- /dev/null +++ b/src/frontend/Makefile.am @@ -0,0 +1,9 @@ +AM_CPPFLAGS = -I$(srcdir)/../statesync -I$(srcdir)/../terminal -I$(srcdir)/../network -I$(srcdir)/../crypto -I$(builddir)/../protobufs -I$(srcdir)/../util +AM_CXXFLAGS = --std=c++0x -pedantic -Werror -Wall -Wextra -Weffc++ -fno-default-inline -pipe +LIBS = `pkg-config --libs protobuf-lite` +LDADD = ../crypto/libmoshcrypto.a ../network/libmoshnetwork.a ../statesync/libmoshstatesync.a ../terminal/libmoshterminal.a ../util/libmoshutil.a ../protobufs/libmoshprotos.a -lutil -lrt -lm + +bin_PROGRAMS = mosh-client mosh-server + +mosh_client_SOURCES = mosh-client.cc stmclient.cc stmclient.h terminaloverlay.cc terminaloverlay.h +mosh_server_SOURCES = mosh-server.cc diff --git a/src/mosh-client.cc b/src/frontend/mosh-client.cc similarity index 100% rename from src/mosh-client.cc rename to src/frontend/mosh-client.cc diff --git a/src/mosh-server.cc b/src/frontend/mosh-server.cc similarity index 100% rename from src/mosh-server.cc rename to src/frontend/mosh-server.cc diff --git a/src/stmclient.cc b/src/frontend/stmclient.cc similarity index 100% rename from src/stmclient.cc rename to src/frontend/stmclient.cc diff --git a/src/stmclient.h b/src/frontend/stmclient.h similarity index 100% rename from src/stmclient.h rename to src/frontend/stmclient.h diff --git a/src/terminaloverlay.cc b/src/frontend/terminaloverlay.cc similarity index 100% rename from src/terminaloverlay.cc rename to src/frontend/terminaloverlay.cc diff --git a/src/terminaloverlay.h b/src/frontend/terminaloverlay.h similarity index 100% rename from src/terminaloverlay.h rename to src/frontend/terminaloverlay.h diff --git a/src/network/Makefile.am b/src/network/Makefile.am new file mode 100644 index 0000000..0d80315 --- /dev/null +++ b/src/network/Makefile.am @@ -0,0 +1,6 @@ +AM_CPPFLAGS = -I$(srcdir)/../util -I$(srcdir)/../crypto -I$(builddir)/../protobufs +AM_CXXFLAGS = --std=c++0x -pedantic -Werror -Wall -Wextra -Weffc++ -fno-default-inline -pipe + +noinst_LIBRARIES = libmoshnetwork.a + +libmoshnetwork_a_SOURCES = network.cc network.h networktransport.cc networktransport.h transportfragment.cc transportfragment.h transportsender.cc transportsender.h transportstate.h diff --git a/src/network.cc b/src/network/network.cc similarity index 100% rename from src/network.cc rename to src/network/network.cc diff --git a/src/network.h b/src/network/network.h similarity index 100% rename from src/network.h rename to src/network/network.h diff --git a/src/networktransport.cc b/src/network/networktransport.cc similarity index 100% rename from src/networktransport.cc rename to src/network/networktransport.cc diff --git a/src/networktransport.h b/src/network/networktransport.h similarity index 100% rename from src/networktransport.h rename to src/network/networktransport.h diff --git a/src/transportfragment.cc b/src/network/transportfragment.cc similarity index 100% rename from src/transportfragment.cc rename to src/network/transportfragment.cc diff --git a/src/transportfragment.h b/src/network/transportfragment.h similarity index 100% rename from src/transportfragment.h rename to src/network/transportfragment.h diff --git a/src/transportsender.cc b/src/network/transportsender.cc similarity index 100% rename from src/transportsender.cc rename to src/network/transportsender.cc diff --git a/src/transportsender.h b/src/network/transportsender.h similarity index 100% rename from src/transportsender.h rename to src/network/transportsender.h diff --git a/src/transportstate.h b/src/network/transportstate.h similarity index 100% rename from src/transportstate.h rename to src/network/transportstate.h diff --git a/src/statesync/Makefile.am b/src/statesync/Makefile.am new file mode 100644 index 0000000..b477bd4 --- /dev/null +++ b/src/statesync/Makefile.am @@ -0,0 +1,6 @@ +AM_CPPFLAGS = -I$(srcdir)/../terminal -I$(builddir)/../protobufs +AM_CXXFLAGS = --std=c++0x -pedantic -Werror -Wall -Wextra -Weffc++ -fno-default-inline -pipe + +noinst_LIBRARIES = libmoshstatesync.a + +libmoshstatesync_a_SOURCES = completeterminal.cc completeterminal.h user.cc user.h diff --git a/src/completeterminal.cc b/src/statesync/completeterminal.cc similarity index 100% rename from src/completeterminal.cc rename to src/statesync/completeterminal.cc diff --git a/src/completeterminal.h b/src/statesync/completeterminal.h similarity index 100% rename from src/completeterminal.h rename to src/statesync/completeterminal.h diff --git a/src/user.cc b/src/statesync/user.cc similarity index 100% rename from src/user.cc rename to src/statesync/user.cc diff --git a/src/user.h b/src/statesync/user.h similarity index 100% rename from src/user.h rename to src/statesync/user.h diff --git a/src/terminal/Makefile.am b/src/terminal/Makefile.am new file mode 100644 index 0000000..cc3ec6a --- /dev/null +++ b/src/terminal/Makefile.am @@ -0,0 +1,7 @@ +AM_CPPFLAGS = -I$(srcdir)/../util +AM_CXXFLAGS = --std=c++0x -pedantic -Werror -Wall -Wextra -Weffc++ -fno-default-inline -pipe + +noinst_LIBRARIES = libmoshterminal.a + +libmoshterminal_a_SOURCES = parseraction.cc parseraction.h parser.cc parser.h parserstate.cc parserstatefamily.h parserstate.h parsertransition.h terminal.cc terminaldispatcher.cc terminaldispatcher.h terminaldisplay.cc terminaldisplay.h terminalframebuffer.cc terminalframebuffer.h terminalfunctions.cc terminal.h terminaluserinput.cc terminaluserinput.h + diff --git a/src/parser.cc b/src/terminal/parser.cc similarity index 100% rename from src/parser.cc rename to src/terminal/parser.cc diff --git a/src/parser.h b/src/terminal/parser.h similarity index 100% rename from src/parser.h rename to src/terminal/parser.h diff --git a/src/parseraction.cc b/src/terminal/parseraction.cc similarity index 100% rename from src/parseraction.cc rename to src/terminal/parseraction.cc diff --git a/src/parseraction.h b/src/terminal/parseraction.h similarity index 100% rename from src/parseraction.h rename to src/terminal/parseraction.h diff --git a/src/parserstate.cc b/src/terminal/parserstate.cc similarity index 100% rename from src/parserstate.cc rename to src/terminal/parserstate.cc diff --git a/src/parserstate.h b/src/terminal/parserstate.h similarity index 100% rename from src/parserstate.h rename to src/terminal/parserstate.h diff --git a/src/parserstatefamily.h b/src/terminal/parserstatefamily.h similarity index 100% rename from src/parserstatefamily.h rename to src/terminal/parserstatefamily.h diff --git a/src/parsertransition.h b/src/terminal/parsertransition.h similarity index 100% rename from src/parsertransition.h rename to src/terminal/parsertransition.h diff --git a/src/terminal.cc b/src/terminal/terminal.cc similarity index 100% rename from src/terminal.cc rename to src/terminal/terminal.cc diff --git a/src/terminal.h b/src/terminal/terminal.h similarity index 100% rename from src/terminal.h rename to src/terminal/terminal.h diff --git a/src/terminaldispatcher.cc b/src/terminal/terminaldispatcher.cc similarity index 100% rename from src/terminaldispatcher.cc rename to src/terminal/terminaldispatcher.cc diff --git a/src/terminaldispatcher.h b/src/terminal/terminaldispatcher.h similarity index 100% rename from src/terminaldispatcher.h rename to src/terminal/terminaldispatcher.h diff --git a/src/terminaldisplay.cc b/src/terminal/terminaldisplay.cc similarity index 100% rename from src/terminaldisplay.cc rename to src/terminal/terminaldisplay.cc diff --git a/src/terminaldisplay.h b/src/terminal/terminaldisplay.h similarity index 100% rename from src/terminaldisplay.h rename to src/terminal/terminaldisplay.h diff --git a/src/terminalframebuffer.cc b/src/terminal/terminalframebuffer.cc similarity index 100% rename from src/terminalframebuffer.cc rename to src/terminal/terminalframebuffer.cc diff --git a/src/terminalframebuffer.h b/src/terminal/terminalframebuffer.h similarity index 100% rename from src/terminalframebuffer.h rename to src/terminal/terminalframebuffer.h diff --git a/src/terminalfunctions.cc b/src/terminal/terminalfunctions.cc similarity index 100% rename from src/terminalfunctions.cc rename to src/terminal/terminalfunctions.cc diff --git a/src/terminaluserinput.cc b/src/terminal/terminaluserinput.cc similarity index 100% rename from src/terminaluserinput.cc rename to src/terminal/terminaluserinput.cc diff --git a/src/terminaluserinput.h b/src/terminal/terminaluserinput.h similarity index 100% rename from src/terminaluserinput.h rename to src/terminal/terminaluserinput.h diff --git a/src/util/Makefile.am b/src/util/Makefile.am new file mode 100644 index 0000000..14f02f9 --- /dev/null +++ b/src/util/Makefile.am @@ -0,0 +1,5 @@ +AM_CXXFLAGS = --std=c++0x -pedantic -Werror -Wall -Wextra -Weffc++ -fno-default-inline -pipe + +noinst_LIBRARIES = libmoshutil.a + +libmoshutil_a_SOURCES = swrite.cc swrite.h dos_assert.h diff --git a/src/dos_assert.h b/src/util/dos_assert.h similarity index 100% rename from src/dos_assert.h rename to src/util/dos_assert.h diff --git a/src/swrite.cc b/src/util/swrite.cc similarity index 100% rename from src/swrite.cc rename to src/util/swrite.cc diff --git a/src/swrite.h b/src/util/swrite.h similarity index 100% rename from src/swrite.h rename to src/util/swrite.h