Commit Graph

138 Commits

Author SHA1 Message Date
Andrew Bettison
c5d3069d82 'make all' now makes libserval.so 2014-06-30 11:11:01 +09:30
Jeremy Lakeman
77dc7fc14c Disable and remove pthreads to support compiling with clang 2014-06-11 20:32:16 +09:30
Andrew Bettison
3d537f9645 Improve test framework: test coverage support 2014-06-06 14:47:54 +09:30
Andrew Bettison
15c37fdcea Improve Makefile dependencies 2014-05-29 11:04:09 +09:30
Andrew Bettison
21f51965c1 Overhaul Makefile and header files
Make .o files in separate subdirectories for servald and library
Factor struct __sourceloc and __WHENCE__ from "log.h" into "whence.h"
Factor sid_t etc from "serval.h" into "serval_types.h"
Factor rhizome_bid_t etc from "rhizome.h" into "rhizome_types.h"
Do not include "serval.h" in library sources
Add log_stderr.c and logMessage.c for stand-alone executables
2014-05-26 15:36:26 +09:30
Jeremy Lakeman
7420f46653 Create new AF_UNIX based network simulator 2014-05-23 10:47:22 +09:30
Jeremy Lakeman
7bd34b7d9b Don't rebuild version.o if nothing has changed 2014-05-12 13:44:50 +09:30
Jeremy Lakeman
4a2b54de1b Warn if Makefile is out of date 2014-05-12 13:44:50 +09:30
Jeremy Lakeman
8e7d13fd27 Treat all compile warnings as errors 2014-05-02 15:44:39 +09:30
Jeremy Lakeman
1228df2b70 Remove bitrot related to voip testing 2014-04-07 15:48:10 +09:30
Andrew Bettison
53c1b1c04c Filesystem Heirarchy Standard (FHS) paths
If no instance directory specified, then use paths like
/etc/serval/serval.conf
/var/cache/serval
/var/log/serval
/var/run/serval
etc. for files, instead of all in a single directory.

Log all directory creation as INFO messages.

Interpretation of log.file.directory_path has changed slightly.

Updated servald configuration tech doc.
2014-03-26 15:35:43 +10:30
Andrew Bettison
e1949c15de Refactor Makefile.in and Android.mk
Immediate benefit: does not recompile sqlite3.c when any Serval header
file is touched.

Also makes it a bit clearer which source files are imported and which
can be used in "client" binaries other than servald.
2014-03-04 21:53:01 +10:30
Andrew Bettison
8e9440860b version_string.sh uses VERSION.txt if not in a Git repo 2014-03-03 15:21:53 +10:30
Andrew Bettison
30590ab140 ./configure checks for GCC stack smashing protection 2014-03-03 15:21:53 +10:30
Jeremy Lakeman
89b1ca2e2f Tidy up android build file for inclusion in other projects 2014-03-02 17:46:11 -08:00
gardners
0c8fcb0128 Make -z relro option conditional on it being available. 2014-02-18 14:04:08 +10:30
Jeremy Lakeman
a7b43581ce Rename libservald to libserval for consistency with android build 2014-02-12 14:29:13 +10:30
Andrew Bettison
4cf97b7d41 Do not generate COPYRIGHT.txt in normal build
Only when making the "copyright" target.  Otherwise Makefile is broken
for developers without serval-tools and Python.
2013-12-11 15:10:01 +10:30
Petter Reinholdtsen
4d80c7c5db Merge branch 'development' into warnings-security 2013-12-07 17:57:46 +01:00
Jeremy Lakeman
bc34c642ee Add link arguments so the linker can find math functions 2013-12-06 12:50:08 +10:30
Andrew Bettison
9c124c8ba8 Add "servald version" command and "make copyright"
New COPYRIGHT.txt is regenerated manually using "make copyright" which
invokes the sp-copyright-tool utility from the serval-tools repo.
2013-12-05 14:32:01 +10:30
Andrew Bettison
56309886f3 Merge branch 'naf4' into 'development'
Copyright notices added to most source files and headers

New 'config_test' make target

Add RHIZOME_BUNDLE_ID_xxx, deprecate RHIZOME_MANIFEST_ID_xxx

Consolidate Rhizome string functions
2013-12-04 02:09:30 +10:30
Andrew Bettison
bf84c5815f Fix 'make install' target, add 'make uninstall'
Define $(sbindir) and $(exec_prefix)

Define $(INSTALL), $(INSTALL_PROGRAM) and $(INSTALL_DATA)

Use $(RM) instead of rm -f
2013-12-03 14:29:13 +10:30
Andrew Bettison
92253ca97d Revive config_test.c
Move config-dependent code (recvwithttl) from net.c to mdp_net.c (new)

Move log-implementation-independent code from log.c to log_util.c (new)

Build config_test binary in Makefile
2013-11-21 16:05:17 +10:30
Petter Reinholdtsen
e7afd5d165 Make sure './configure && make all install' work. 2013-10-13 10:09:17 +02:00
Petter Reinholdtsen
76f3169ec4 Enable more warnings and use the flags from dpkg-buildflags to enhance security. 2013-10-13 09:01:05 +02:00
Andrew Bettison
ae61a4f35c Issue #20: Make abstract sockets work
Finish the work started by Daniel in 2012, by using abstract local
AF_UNIX sockets on platforms that support them (Linux, Android).

Fix all sorts of bugs and issues that prevented the existing MDP and
Monitor client and server code from working with abstract socket names.
2013-09-19 17:26:06 +09:30
Andrew Bettison
987875969c Improve version_string.sh script
Full --help usage message
Better error handling and reporting
Only considers tags that look like version numbers
Does not create and delete local "START" tag
Lots of options, including --ignore-untracked and --unmodified
Suitable for use in Batphone repository
2013-09-12 17:50:54 +09:30
Jeremy Lakeman
5c374e9e6e Basic routing test with simulated serial modem interface 2013-08-19 16:59:10 +09:30
Jeremy Lakeman
852c8b235c Build fakeradio with other test binaries 2013-08-19 13:56:19 +09:30
Jeremy Lakeman
979281c64a Build version object once to allow for concurrent jobs 2013-08-19 13:53:58 +09:30
gardners
14527fa272 add missing object deletion to clean target. 2013-07-19 20:04:15 +09:30
Andrew Bettison
06cb5de304 Add new rotbuf primitives 2013-04-29 14:30:44 +09:30
Andrew Bettison
2c379fadb1 Merge branch 'naf2-logging' into 'development'
Conflicts:
	commandline.c
	tests/rhizomeprotocol
2013-04-05 17:39:23 +10:30
Andrew Bettison
ab162bbc99 Fix Makefile broken by recent version string changes 2013-03-28 15:37:19 +10:30
Andrew Bettison
95b0c028f2 Log to file, Android and stderr simultaneously
Indepent configuration of show_pid, show_time and log level for each
destination

Update test scripts for new config options

Include xprintf.c in MDP client source files (now used by log.c)
2013-03-27 16:17:38 +10:30
Andrew Bettison
1cfedb19e4 Fix broken 'make directory_service' 2013-03-18 15:35:13 +10:30
Andrew Bettison
b17f5a6f63 Servald version string from git describe 2013-03-12 14:03:33 +10:30
Andrew Bettison
48fd3d2322 Remove some unnecessary executable mode bits 2013-01-23 17:18:51 +10:30
Andrew Bettison
1e38ff717e Fix link error in libmonitorclient.so 2012-12-10 09:39:15 +10:30
Andrew Bettison
8425882ffc Merge branch 'newconfig' into 'master'
Conflicts:
	commandline.c
	conf.h
	dataformats.c
	log.h
	overlay_address.c
	overlay_interface.c
	packetformats.c
	rhizome.c
	serval.h
	tests/directory_service
	vomp_console.c
2012-12-07 14:09:55 +10:30
Andrew Bettison
caa209fc1d Integrate new config into servald
Not passing any tests yet, but compiles and links and simple uses do not
SEGV.
2012-12-04 14:12:28 +10:30
Andrew Bettison
d3c2205d44 Add os.c and "os.h", replacing mkdirs.c
The new header "os.h" defines a supplemental API around existing basic
operating system services (system calls and standard library functions).

Moved some function prototypes from serval.h and net.h into os.h.

This allows non-servald executables to take advantage of this API without
having to include serval.h and bringing in all the other servald link-time
baggage.
2012-12-04 10:12:35 +10:30
Andrew Bettison
5139d8d34d Add mem.c and "mem.h" with emalloc() etc. 2012-12-04 10:03:32 +10:30
Andrew Bettison
ef03eb1a3e Re-organise Makefile header dependencies
Add str.h to list of Serval header files.  Make the NaCl objects not dependent
on Serval header files, so that the entire NaCl source does not get re-built
when editing serval.h or str.h etc.
2012-11-22 18:18:00 +10:30
Andrew Bettison
0e435683f7 Move toprint functions from log.h to str.h
Move alloca_sockaddr() to strbuf_helpers.h

So that stand-alone executables can use them without pulling in the entire
logging framework.
2012-11-20 18:10:08 +10:30
Andrew Bettison
d38ce66c95 Improve test framework: create_file()
New executable in Makefile 'all' target: tfw_createfile.

New str.h function: str_to_ll_scaled().
2012-10-31 18:13:33 +10:30
gardners
be3b529504 refactored Makefile.in and Anrdoid.mk so that source file lists are
included into each from separate .mk files. #32
2012-10-25 04:30:14 +10:30
Jeremy Lakeman
f93216f369 Remove dead code 2012-10-19 15:02:22 +10:30
Jeremy Lakeman
f1b0374b97 Extract crypto signing primitives from mdp processing 2012-10-19 14:54:41 +10:30