Jeremy Lakeman
bd47a8eb60
Use libsodium for retrieving random bytes
2016-05-09 10:32:04 +09:30
Jeremy Lakeman
d0da910b19
Avoid undefined behaviour as highlighted by clang
2016-01-27 16:27:47 +10:30
Jeremy Lakeman
00a2ea2913
Ignore potential race condition between setting up instance path and first log message
2015-08-24 16:38:55 +09:30
gardners
db5daa20ee
fix OSX build errors.
2014-10-01 15:52:14 +09:30
Andrew Bettison
7e1fbe8c76
Refactor to fix some OS-X compile warnings
...
Fixes two minor bugs that escaped notice until now
2014-08-14 17:39:44 +09:30
Jeremy Lakeman
bc87f8c7c0
Add timestamps to meshms messages and acks
2014-07-14 13:43:37 +09:30
Jeremy Lakeman
66f266a0c0
Fix OSX specific issues
2014-06-05 14:57:53 +09:30
Andrew Bettison
c9e2ed3038
time_ms_to_timeval()
2014-05-13 08:55:57 +09:30
Andrew Bettison
18c89b4b98
Fix bug in read_symlink(), improve logging
2014-05-05 18:12:25 +09:30
Andrew Bettison
f606daebc6
Move get_self_executable_path() into "os.h"/os.c
2014-05-05 18:12:01 +09:30
Andrew Bettison
60201d78c9
Fix Android compile failure: st_mtim, UTIME_OMIT
...
Use utimes(2) instead of utimensat(2), use struct timeval instead of
struct timespec
Add strbuf helper functions for struct timeval and time_ms_t
2014-05-02 15:47:51 +09:30
Andrew Bettison
684735b11c
Fix config file timestamp bug
...
Ensure that timestamp always advances by at least one second every time
the config file is modified, add test case
Refactor test defs: detecting started HTTPD is not specific to Rhizome
Refactor struct file_meta and associated functions into "io.h" and io.c
Add various strbuf helper functions for formatting struct timespec
and struct file_meta to assist debug logging
2014-04-29 15:04:20 +09:30
Andrew Bettison
c222727a46
Add malloc_read_whole_file()
...
Use to implement read_whole_file()
2014-04-29 12:36:58 +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
0bef066949
Store Rhizome external blob files in "blob" subdirectory
...
This will make issue #50 a bit easier to tackle
2014-03-07 16:55:38 +10:30
Andrew Bettison
21328e2888
Improve read_whole_file()
...
Move into os.c, declare and document in os.h
2013-12-19 19:14:52 +10:30
Andrew Bettison
4428a76379
Use ssize_t for read(2) and write(2) return value
...
Test for errors using == -1 not < 0, and cast to (size_t) subsequently
Fixes some -Wsign-compare warnings
2013-12-10 17:21:35 +10:30
Andrew Bettison
5226e47ef6
Uniform #ifdef __SERVAL_DNA__... for headers
2013-12-04 17:15:36 +10:30
Andrew Bettison
1c8e01af9d
urandombytes() size_t instead of unsigned long long
2013-10-07 04:47:23 +10:30
Jeremy Lakeman
8fea1523b1
More consistent use of sleep_ms
2013-08-27 15:14:17 +09:30
gardners
8bd05b6f6d
fix type cast warning on OSX.
2013-07-19 20:04:15 +09:30
gardners
dc49671583
take sleep() out of urandomdev(), since it just causes problems, and
...
read() should block if there aren't bytes available yet.
2013-05-07 14:42:47 +09:30
gardners
243a26707e
reset urandomfd if it delivers an EBADF (seeing this on Mesh Extenders)
2013-05-07 13:52:19 +09:30
Andrew Bettison
65f6e88e67
Add emkdirs() and emkdirsn()
2013-04-04 17:37:49 +10:30
Andrew Bettison
5430b70640
Fix Android build with latest bcopy/bzero changes
2013-02-26 11:34:41 +10:30
Andrew Bettison
5518859b66
Refactor: move read_symlink() from log.c to os.c
2013-02-25 15:25:53 +10: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
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