Commit Graph

51 Commits

Author SHA1 Message Date
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
gardners
081a9f496b Put back a pile of files needed for building on osx, and also required
for building on other platforms (i.e., configure framework, including
the .in files that are needed to build configure and Makefile, and the
sqlite code that is required for stand-alone building without external
dependencies, e.g., on non-android platforms, and looking ahead to
symbian where we will need a single self-contained binary as we cannot
assume the presence of an sqlite3 library as we can on android).
Any further changes to the build environment should not be committed
until it has been verified that building from a clean checkout on osx,
followed by configure and make actually works.
2012-03-15 10:57:38 +10:30
Daniel O'Connor
a8411edf3f - Use system wide sqlite3 lib via pkg-config
- Remove nacl-gcc-prep, it's now in nacl
- Sort sources and have 1 per line.
- Add missing source files.
- Use naclinc.txt and nacllib.txt generated by nacl/nacl-gcc-prep
- Update ignore file now nacl files don't pollute this directory.
2012-02-27 12:41:48 +10:30
gardners
e1b34d40d7 Fixed some build issues for Asterisk application. 2011-12-02 05:44:32 +10:30
gardners
f55a6525a2 Added hooks and code to build and link to NaCl static library
(static is always the safer option for crypto libraries to avoid
nasty run-time suprises)
2011-10-17 08:11:05 +10:30
gardners
6e172c76c9 Fixed broadcast address discovery to work on Mac.
Fixed Linux assumptions.
Added parsing of overlay mesh interface specification from command line.
Separated overlay mesh code out into several files.
Overlay mesh is still far from working, but the infrastructure is coming together.
2011-08-08 16:11:05 +09:30
gardners
09ca959fae Assorted unknown changes. Updated Makefile.in etc to properly build serval.c for building asterisk module. 2011-06-15 13:52:30 +09:30
gardners
601ca12499 Added support for batmand.peers file for reliable peer querying.
Re-ported for asterisk module.
2011-03-21 13:08:35 +10:30