Commit Graph

58 Commits

Author SHA1 Message Date
Jeremy Lakeman
e15e332072 Swap from included nacl to host libsodium 2016-05-09 10:32:04 +09:30
Andrew Bettison
ae18d765a7 Fix OSX build errors 2016-01-18 21:16:01 +10:30
gardners
eece21907b include ax_gcc_func_attribute M4 script for autoconf 2015-12-26 17:29:01 +10:30
gardners
3743a08be1 attempt to fix building on openwrt 2015-12-26 17:13:16 +10:30
Andrew Bettison
e8e87b8a34 Fix broken clang and Android builds
Recent addition of the GCC __attribute__(alloc_size) to some functions
in mem.h broke the build when using Clang 3.5.  This commit introduces
configure-time checks for all GCC attributes used in the Serval source
code, and adapts accordingly.
2015-11-23 15:00:25 +10:30
Jeremy Lakeman
5df5a33721 Measure free space on Android using statfs() 2014-06-26 12:17:36 +09:30
Jeremy Lakeman
2ef73884a1 Add configurable limit to ensure a minimum amount of free space is preserved
- default to 100MB of free space
- currently disabled on android due to missing sys/statvfs.h
2014-06-23 13:06:21 +09:30
Jeremy Lakeman
77dc7fc14c Disable and remove pthreads to support compiling with clang 2014-06-11 20:32:16 +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
30590ab140 ./configure checks for GCC stack smashing protection 2014-03-03 15:21:53 +10:30
Andrew Bettison
e10c4d92a1 Replace ./configure --enable-instance-path=<path> with INSTANCE_PATH=<path> 2014-03-03 15:16:53 +10:30
Jeremy Lakeman
ef533e0c55 Fix extra bracket in error detection 2014-02-25 12:45:55 +10:30
Andrew Bettison
42200c2bcb Fix bug in recent configure -z relro check 2014-02-18 14:04:08 +10:30
gardners
0c8fcb0128 Make -z relro option conditional on it being available. 2014-02-18 14:04:08 +10:30
Andrew Bettison
c4944e4334 Deal with missing lseek64(2) sys call
On OSX, off_t is 64 bits, so can use lseek(2) instead
2014-02-17 14:33:32 +10:30
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
2b3119b49b Issue #20: merge branch 'sockets' into 'development'
Daniel's improvements to the local file/abstract socket code, with many
improvements to bring it up to date.
2013-09-19 04:30:14 +09:30
Andrew Bettison
f8386d5aed Define bcmp() using memcmp() on systems lacking native bcmp()
See 1e61e7a02f for equivalent changes
for bzero() and bcopy()
2013-05-17 13:59:42 +09:30
Andrew Bettison
1e61e7a02f Fix bcopy()/bzero() #define hack
Replace #define bcopy(...) memset(...) with inline functions only if
bcopy() is unavailable, as checked by configure script

Ditto bzero()
2013-02-25 15:23:03 +10:30
gardners
6179240874 enable overriding default instance path at configure time. 2012-12-04 11:23:03 +10:30
gardners
a40fcfec66 cleaned up NaCl build to just compile using make. #17 2012-10-18 17:26:52 +10:30
Paul Gardner-Stephen
37495e4794 fix interface detection on solaris. 2012-10-15 15:58:42 +10:30
Andrew Bettison
3f4ee701ec Artefacts created by libtoolize -c -i
Replaces symbolic links created from previous libtoolize -i (without -c) which
of course do not work across all platforms.
2012-09-12 15:21:50 +09:30
Daniel O'Connor
3067d74569 Use AC_CHECK_FUNCS so we automatically get HAVE_GETPEEREID. 2012-09-06 14:34:01 +09:30
Paul Gardner-Stephen
0562367b23 Try detecting ALSA better. 2012-09-06 12:43:06 +09:30
Paul Gardner-Stephen
bba6839656 Initial stab at porting to Solaris.
It compiles without warning (with CC=gcc) but doesn't link
because NaCL doesn't build yet.
2012-09-05 20:42:50 +09:30
Daniel O'Connor
d77e5b7c62 Add strlcpy as it appears some systems (Ubuntu and probably Debian) don't have it.
This is a public domain version from http://cantrip.org/strlcpy.c
2012-08-13 18:24:19 +09:30
Daniel O'Connor
fd1f91db8d Refactor unix domain socket naming to a separate file instead.
Handle selection between normal & abstract sockets in a single place.

overlay_mdp.c tried to have both but this seems like a bug so I've removed the second socket (needs tests).
2012-07-30 11:19:25 +09:30
Andrew Bettison
0dee99dec2 Remove old command-line support 2012-07-27 11:44:20 +09:30
Daniel O'Connor
2fe520f7a2 Fix peer credential checking on BSD, replace write(s, m, strlen(m)) with a macro, factor out new monitor socke code.
Note this code has issues with signed/unsigned chars. They should become uint8_t's if they hold binary data, otherwise just char. If they ARE binary then it is broken because it calls strlen() on them.
2012-06-22 20:40:30 +09:30
Daniel O'Connor
990a8f3057 Add support for srtuct ucred on BSD.
This requires building with _GNU_SOURCE to get access to struct ucred on Linux. Previously the test failed on every platform except glibc <2.8 or so.

Building with _GNU_SOURCE causes TRUE to be defined so we can't use this as a variable anymore, and MIN/MAX so don't define our own.
2012-05-21 12:22:50 +09:30
Andrew Bettison
2c1b42413a Make NaCl ge25519() kludge compile on Debian Linux 2012-05-16 11:22:10 +09:30
Andrew Bettison
fe25f06129 Conditionally compile new ALSA sound code 2012-05-10 18:29:27 +09:30
Andrew Bettison
490d9ef472 Only define struct ucred if <sys/socket.h> does not provide it 2012-05-03 14:50:14 +09:30
Andrew Bettison
4e9b35160e Improve configure.in VoIP options:
- if --disable-voiptest is given, does not test for VoIP headers and libraries,
  and sets HAVE_VOIPTEST=0 (as before)
- if --enable-voiptest is given, tests for VoIP headers and libraries,
  and fails with an error if any are missing
- if neither option is given, behaviour is opportunistic: tests for VoIP
  headers and libraries and sets HAVE_VOIPTEST accordingly
2012-04-24 13:56:11 +09:30
Andrew Bettison
9bd0a15ea9 Fix configure.in to adapt to missing VoIP dependencies
- if any dependency is missing, defines HAVE_VOIPTEST=0
2012-04-24 13:18:00 +09:30
gardners
70eb0a8cc4 Changes Andrew and Jeremy made to get it building again on my mac.
More permanent fixes coming.
2012-04-24 12:15:20 +09:30
Daniel O'Connor
98b614d9b4 Merge branch 'master' of github.com:servalproject/serval-dna 2012-04-23 20:41:52 +09:30
Daniel O'Connor
4cb677b737 Fix codec2 detection & compilation now I tried compiling it.. 2012-04-23 20:40:34 +09:30
Daniel O'Connor
9a06c1c4bd Add configure fu to allow pa_phone.c to not be compiled. 2012-04-23 20:17:11 +09:30
Andrew Bettison
1494172da6 Trival test of dna JNI command line entry point 2012-04-23 18:25:26 +09:30
Andrew Bettison
87e072f172 Fix <jni.h> detection on Mac OS X 2012-04-23 15:29:26 +09:30
Andrew Bettison
551f22092f Make javac and jni.h optional in ./configure 2012-04-23 12:05:00 +09:30
gardners
38941d92af added portaudio checks. 2012-04-23 07:37:25 +09:30
Andrew Bettison
36c7e492e8 Native build now supports JNI code on GNU/Linux
- ./configure detects if javac and JDK are present
- Makefile default target builds libservald.so
- probably doesn't work on Mac OS X (yet)
2012-04-20 16:57:36 +09:30
gardners
9df492ca46 Fixed SDL framework use on OSX 2012-04-19 08:37:51 +09:30
gardners
d6c95a2b11 Added autoconf magic to detect SDL on mac for VoMP audio testing
when we get that far.
2012-04-19 08:35:16 +09:30
Andrew Bettison
c31860986f Get native build working on Debian Linux
- now './autoconf && ./configure && make' will produce ./dna executable
 - added various missing libraries to configure.in
 - fixed nacl CFLAGS and LDFLAGS settings in configure.in
 - make git ignore autoconf and configure detritus
2012-04-03 10:33:21 +09:30
gardners
fc4f7f8f0b Updated nacl-gcc-prep call to run in nacl directory where the
script now lives.
2012-03-17 09:37:00 +10:30