Commit Graph

230 Commits

Author SHA1 Message Date
Brian Cox e04b97132b Ok, actually don't use strl* string functions since they're a BSD-ism & Linux doesn't have them. 2017-03-25 16:02:51 -07:00
Brian Cox 7ce1df0a04 Remove the few remaining exception specifications, since they're deprecated in C++11 & cause warnings in GCC 7 2017-03-25 15:31:47 -07:00
Brian Cox 8cdca39103 Prefer strl* string functions over strn* ones 2017-03-25 15:06:22 -07:00
Brian Cox 911e051091 Fix more warnings, & make TestFCOSpec() do something useful in non-debug builds 2017-03-23 23:45:20 -07:00
Brian Cox 9c38b49839 Prefer prefix ++/-- operators where possible, for performance reasons (per CppCheck) 2017-03-23 19:30:52 -07:00
Brian Cox 5c1cfe4702 Use unique_ptr instead of auto_ptr where available (and define a macro to pick which one to use); fix a few other remaining warnings. 2017-03-22 20:00:08 -07:00
Brian Cox 4cb15a741a Remove 'util_EatAllSpaces' method, which did shady things with iterators and didn't even eat all whitespace 2017-03-22 00:11:20 -07:00
Brian Cox ea2170fd20 Tweak a memory alignment unit test that doesn't (and should not be expected to) work on HP-UX. 2017-03-21 23:36:26 -07:00
Brian Cox 5275975d86 Correctly handle rule w/ leading whitespace within a quoted path. Uncomment test case that validates correct behavior. 2017-03-19 23:09:05 -07:00
Brian Cox a2e82147eb update old 'directives.txt' policy test file for current syntax 2017-03-19 10:40:29 -07:00
Brian Cox 2c57dd824a Update test policy files in src/parser/testfiles to (largely) match current policy language 2017-03-17 23:37:05 -07:00
Brian Cox 6ea9c0b92e fix debug builds in debug.cpp 2017-03-17 18:38:56 -07:00
Brian Cox 2b067176ad Fix some clang extended warnings: non-virtual-dtor, shadow, unneeded-internal-declaration 2017-03-17 00:04:21 -07:00
Brian Cox aaee78c061 Tweaks for 'make check': Don't assume location of perl, or existence of /etc/hosts 2017-03-16 20:51:12 -07:00
Brian Cox 8bd86fe60d Address more cppcheck warnings, mostly around assignment operators & explicit constructors 2017-03-15 23:41:23 -07:00
Brian Cox b1147d65cf Add sanity check in cFCODataSourceIterImpl::SeekToFCO() to fix a unit test that fails on some platforms 2017-03-15 21:44:54 -07:00
Brian Cox 900fad8ca4 Remove some dead code, including objectpool & Unicode-only utf8 stuff 2017-03-15 20:58:49 -07:00
Brian Cox 1fb5f332e6 For clarity, remove a bunch of IS_UNIX ifdefs, since configure.ac always defines IS_UNIX to 1 no matter the OS. 2017-03-15 20:31:38 -07:00
Brian Cox b2f21c3d55 Assorted bounds checks (via flawfinder) 2017-03-15 19:06:52 -07:00
Brian Cox d3f859bfbd Address some cppcheck warnings around initializers & catching by reference 2017-03-15 00:47:52 -07:00
Brian Cox 062523a60e Add a working 'make check' target, which runs both the test suite in src/test-harness, and all the twtest unit tests; update unit test binary to return standard success/fail values, to keep make happy 2017-03-14 01:23:23 -07:00
Brian Cox 2e39db661b Comment out a known-problematic assert in zdeflate.cpp (though I haven't actually seen it fail in OST). Later versions of Crypto++ comment out or remove this line, so this seems reasonable to do until I can figure out how to update the whole library 2017-03-14 00:32:16 -07:00
Brian Cox 1ad9ead388 Update version to 2.4.3.4; fix level 2 reporting that got broken in 2.4.3.3 2017-02-26 22:06:20 -08:00
brc0x1 d230711044 Fix no-op install & uninstall targets in src 2017-02-21 01:03:29 -08:00
Brian Cox d6df22f9dc Fix various Clang static analyzer quibbles 2017-02-20 23:21:00 -08:00
brc0x1 86baf94ddf Fix man page handling in make install 2017-02-20 17:03:24 -08:00
Brian Cox f52ddb9c6f Add an include to fix Alpine Linux build issue (issue #15) 2017-02-20 14:50:25 -08:00
Brian Cox 005be38165 Fix permissions on a couple of cpp files (issue #14) 2017-02-20 14:49:52 -08:00
Brian Cox b9cef48cb7 Update copyright dates, add new config options and command line args to man pages 2017-01-15 20:47:58 -08:00
Brian Cox 0cb7989c79 Tweak a missing include 2016-12-11 00:44:06 -08:00
Brian R. Cox e7b63b6f96 Include stdlib.h in asn.cpp (non-linux build fix) 2016-12-03 16:26:11 +00:00
Brian Cox a6612ab3ab Exit instead of throwing in BERDecoder destructor; remove noexcept() stuff. 2016-12-03 15:05:50 -08:00
Brian Cox 77a8152d71 Add '--key-size' option to twadmin generate-keys mode, so you can use 1024 or 2048 bit El Gamal keys. Until now was always 1024 bit only. 2016-11-25 17:10:14 -08:00
Brian Cox f9aa5de896 Add ability to optionally *not* resolve uid/gid to name, to accomodate the Linux static binary vs. nsswitch name resolution issue; add RESOLVE_IDS_TO_NAMES config option to control this feature; avoid redundant lstats when turning IDs into names, since the lstat is to fetch the ID we already have; remove a bunch of unused code in UnixFSServices 2016-11-24 17:26:02 -08:00
Brian Cox 3d304eb1af Fix a build error when building with C++11 & -Werror=terminate. Destructors are noexcept by default in C++11, which gets flagged it one spot in cryptlib code. Using noexcept(false) ought to be ok here; the exception would only happen if you had a corrupted keyfile, which is unrecoverable anyway. 2016-11-24 13:56:14 -08:00
Brian Cox aaa132d211 Support paths w/ leading double slash (per an obscure corner of the POSIX spec) on platforms that implement it, currently just Cygwin. (Cygwin uses this for UNC paths.) 2016-08-07 23:24:15 -07:00
Brian Cox 33e8f4d76b Remove static direct i/o buffer & blocksize cfg option. 2016-07-21 20:22:52 -07:00
Brian Cox ad85c15f07 Initial tweaks for RTEMS support, though linking is still a work in progress. 2016-07-10 22:33:23 -07:00
Brian Cox 2d49bf6630 Report an error if requested feature isn't available on current platform -- SMTP mail, syslog, direct i/o hashing. And limit direct i/o to Linux for now, since elsewhere it either doesn't work the way we need it to (e.g. OSX, FreeBSD) or hasn't been tested adequately. 2016-07-09 10:49:14 -07:00
Brian Cox b410bdf87f Merge branch 'master' of https://github.com/brc0x1/tripwire-open-source 2016-07-03 14:30:53 -07:00
Brian Cox c4440c5d29 Make direct i/o option work properly (ie don't use fread(), and use full block size on EOF), & rename it to HASH_DIRECT_IO for clarity 2016-07-03 14:29:05 -07:00
Brian Cox 62590f5a49 Improve defining NSIG when it isn't already defined 2016-07-01 19:53:14 -07:00
Brian Cox 0d8bdcc4d8 Support native-style paths on DOS/DJGPP 2016-06-29 21:02:12 -07:00
Brian Cox c18af8953c Fix error registration in db subproject 2016-06-29 18:30:15 -07:00
Brian Cox 1c8ec94fd2 Don't try to use IS_xxx platform macros in cryptlib 2016-06-28 22:29:18 -07:00
Brian Cox fb1f751488 Build fixes for Android including platform macro & missing mblen() 2016-06-28 22:16:31 -07:00
Brian Cox 207189dafd Update platform macros in platform.h, and use them instead of compiler-defined OS macros. 2016-06-23 23:12:22 -07:00
Brian Cox 9be78c1d1c More dead code removal, this time Win32-isms in logging & sockets. Also start cleaning up OS macros in platform.h. 2016-06-23 14:51:17 -07:00
Brian Cox 3135aaea4f More dead code removal: Remaining MAPI stuff, & integration code for the long-defunct GeoPlex/GMMS. 2016-06-22 23:45:46 -07:00
Brian Cox 78fdac5efc Tweak include paths so we're buildable outside of source tree. 2016-06-20 19:49:21 -07:00
Brian Cox a2f9fa4e06 Remove old+unused MAPI stuff 2016-06-19 15:37:44 -07:00
Brian Cox eec52685c4 Delete a few unused source files (package.cpp, userstring.*, fcopropsetimpl.*) to avoid confusion. 2016-06-19 15:13:05 -07:00
Brian Cox e7872f8530 Fix build number in buildnum.txt 2016-06-18 21:13:23 -07:00
Brian Cox 357e84450c Remove unused Win32 resource stuff from siggen 2016-06-18 21:12:57 -07:00
Brian Cox f41e3e06b6 Use the right 'ar' when cross compiling, instead of always wanting to use default system 'ar'. This happened because autoconf doesn't have a builtin AC_PROG_AR macro, so we have to provide our own. 2016-06-17 20:33:10 -07:00
Brian Cox 0ee24bc84b New platform: MS-DOS/FreeDOS with DJGPP (i586-pc-msdosdjgpp). Detect & handle if sys/socket.h isn't present, which is default for DJGPP. Also handle slightly different struct stat, file type macros, absence of Posix signals. 2016-06-17 19:57:06 -07:00
Brian Cox b951838ff6 Add missing files & directories to 'make dist' 2016-06-16 23:49:41 -07:00
Brian Cox 03622ed0f0 Specify headers in makefiles, so 'make dist' knows to include them 2016-06-14 01:15:37 -07:00
Brian Cox 7ad2b52d14 Remove UCS2-related dead code, in the name of clarity 2016-06-13 20:11:13 -07:00
Brian Cox 9a3183a76c Enable unit test files moved from db folder 2016-06-13 18:31:21 -07:00
Brian Cox 7458e86e7e Move remaining *_t.cpp files from db to twtest. (Not added to build yet) 2016-06-13 17:02:09 -07:00
Brian Cox bf0c230404 Use open+readlinkat() to avoid bumping access time on symlinks (where available) 2016-06-13 16:12:19 -07:00
Brian Cox 33f695c435 Use O_NOATIME on directories too, where available, to avoid bumping dir access times during scans. 2016-06-12 18:57:23 -07:00
Brian Cox 669e4c02ea Merge branch 'master' of https://github.com/brc0x0/tripwire-open-source 2016-06-12 17:27:36 -07:00
Brian Cox bb863522f2 [AROS] hide interactive passphrases; delete temp files after use; validate temp dir even if config value isn't set. 2016-06-12 17:27:14 -07:00
Brian Cox 202fd93c9d Better handling of DB errors, in case the DB is at least partly readable. I've only ever seen this happen once, btw, on a machine w/ flaky failing memory. 2016-06-10 11:30:23 -07:00
Brian Cox c7b83c88d8 Add version strings for 'what' command (or 'version' on AROS) 2016-06-09 23:33:22 -07:00
Brian Cox 7d304be407 Use version text from configure script, so we only have to change it in one spot. 2016-06-09 21:49:00 -07:00
Brian Cox e42921d04a Caching & direct i/o stuff for HP-UX, via VX_xxx ioctls. 2016-06-09 18:35:40 -07:00
Brian Cox 3ce7d71749 Enable use of O_NOATIME on GNU/Hurd, via the _GNU_SOURCE macro. 2016-06-07 22:58:19 -07:00
Brian Cox c79a6af7b1 [OSX] Use CommonCrypto md5 & sha1 impls by default, with a --disable-commoncrypto configure option to disable them and use the old builtin impls. 2016-06-07 19:06:10 -07:00
Brian Cox 48a4392343 Update buildsys to automake 1.15 and fix resulting warnings. This involved an autoreconf -if, and then reverting config.guess and config.sub since they're actually newer than the ones automake wants to install, and they've been customized a bit to detect e.g. MidnightBSD 2016-06-06 19:51:38 -07:00
Brian Cox acddeb3ae2 Don't use broken mblen() on AROS 2016-06-04 00:15:29 -07:00
Brian Cox afd11628fd AROS build fix 2016-06-03 19:07:10 -07:00
Brian Cox 43d2ff1a04 Display multibyte characters properly, and accept them in interactive db update. 2016-06-01 22:08:25 -07:00
Brian Cox 4563812467 Define ICONV_SOURCE_TYPE properly for Minix 2016-05-29 15:25:06 -07:00
Brian Cox 48801a41a7 Add direct i/o for Solaris, via the directio() syscall. 2016-05-25 23:42:26 -07:00
Brian Cox 64a5bab856 Use both POSIX_FADV_SEQUENTIAL & POSIX_FADV_NOREUSE when scanning (if available) since they aren't mutually exclusive. 2016-05-25 12:14:55 -07:00
Brian Cox dbb7a57cdc Merge branch 'master' of https://github.com/brc0x1/tripwire-open-source 2016-05-24 18:50:12 -07:00
Brian Cox 0082db13fa Use O_NOATIME while scanning (if available) to avoid updating file access times. 2016-05-24 18:50:00 -07:00
Brian Cox 9214316bbd Align buffer on page boundary if user enables HASH_DIRECT (formerly DIRECT_IO); let user specify num blocks per read. 2016-05-16 19:32:38 -07:00
Brian Cox 5ffab7f278 Only posix_fadvise() on close if stream is nonnull, since fileno() segfaults (on Linux) if you try that. 2016-05-09 10:34:53 -07:00
Brian Cox ec9b4317ca Fix & enable iconv() character conversion, instead of relying on cGoodEnoughConverter everywhere. 2016-05-06 18:47:56 -07:00
Brian Cox b543a36d89 Use posix_fadvise() maybe-correctly; only use O_DIRECT for hashing, if requested; better exception handling in fspropcalc & fsdatasourceiter to prevent errors scanning individual objects from blowing up the whole init/check. 2016-05-06 11:24:24 -07:00
Brian Cox eaca9fcedf Support posix_fadvise() where available; optionally enable O_DIRECT/F_NOCACHE if DIRECT_IO=true in tw.cfg; fix internal naming of update 'secure mode' flag for clarity. 2016-05-05 00:19:56 -07:00
Brian Cox ccf149c978 Bump version to 2.4.3.2 2016-04-25 15:38:14 -07:00
Brian Cox 816e5c7e8f Update buildsys to detect posix_fadvise() 2016-04-25 10:54:37 -07:00
Brian Cox 773e3b5487 Fix a couple of 'misleading indentation' warnings exposed by the big tab->spaces commit yesterday. 2016-04-23 12:34:04 -07:00
Brian Cox 728795af3d Replace tabs with 4 spaces in all remaining OST code, since this inconsistency can now result in 'misleading indentation' warnings in GCC 6.0+. 2016-04-23 00:33:17 -07:00
Brian Cox 5819201c68 GCC 6's new 'misleading indentation' warning showed up a few times in OST, so this commit squashes all the current examples of that. Also adds Fedora 24 alpha 7 (x64) + gcc 6.0.0 to the list of tested platforms. 2016-04-22 18:27:02 -07:00
Brian Cox a488e1bfec Another batch of warning fixes, including several for gcc -Wparentheses 2016-04-21 00:48:28 -07:00
Brian Cox 0cb48a433a Squash more warnings, including char* / string constant ones in msystem & policy parser. 2016-04-21 00:16:14 -07:00
Brian Cox 210a394b1c Bump version to 2.4.3.1; update ChangeLog 2016-04-19 11:45:11 -07:00
Brian Cox 00fb3538ab Add casts to short in yyparse.cpp, to avoid -Wnarrowing warnings. GCC 6.x will treat these as errors, so this needed to be fixed. It's probably better to regenerate the parser from the .y files in src/parser, but I'm told those specifically require MKS Toolkit lex & yacc, and don't work with GNU Flex/Bison. So I suspect that's going to be a longer-term project. 2016-04-18 15:46:27 -07:00
Brian Cox a9207128e2 Test fixes so twtest runs to completion, mostly by adding ifdef+todo for the time being. Also add twtest to .gitignore 2016-04-16 22:45:59 -07:00
Brian Cox 184ddc6091 Buildsys fixes for twtest 2016-04-16 21:44:06 -07:00
Brian Cox 677162cc6e Revive the old unit test suite. Needs autoconf/buildsys work, and tests don't all pass yet. 2016-04-16 19:16:32 -07:00
Brian Cox ea361e91fe Fix warnings around explicitly calling base class constructors in copy constructors 2016-04-15 17:16:32 -07:00
Brian Cox 9e5dd61e39 Fix various compiler warnings; enable -Wextra warnings except for unused params. 2016-04-15 12:42:31 -07:00
Brian Cox f47e5e7a9d Resolve a bunch of non-virtual destructor warnings 2016-04-14 21:45:46 -07:00
Brian Cox 36eee10956 Large file tweaks for e.g. 32-bit Linux; update ReadMe & ChangeLog again. 2016-04-11 20:29:37 -07:00
Brian Cox 2cff64ebe7 Merge branch 'master' of https://github.com/brc0x1/tripwire-open-source 2016-04-11 11:46:42 -07:00
Brian Cox 12cef61f40 Support MAILFROMADDRESS, per longstanding user requests. Documented in twconfig man page. 2016-04-11 11:43:45 -07:00
Brian Cox da16d91146 Add option to show hashes as hex instead of base64. Siggen already provided this. 2016-04-09 16:36:39 -07:00
Brian Cox 1d8ab16d00 build fix 2016-04-08 00:06:39 -07:00
Brian Cox 2d04929991 Display doors & event ports correctly (Solaris) 2016-04-07 23:56:58 -07:00
Brian Cox c136c5b398 Merge branch 'master' of https://github.com/brc0x1/tripwire-open-source 2016-04-07 18:58:14 -07:00
Brian Cox c41aba17db Set _LARGEFILE_SOURCE; use O_NONBLOCK where available, in case of file-to-fifo switch or mandatory file locking 2016-04-07 18:56:39 -07:00
Brian Cox c7b66ae6cb Minor header tweaks to build for MiNT (m68k-atari-mint); Update tested platforms for MiNT, Alpine Linux & HardenedBSD 2016-04-05 22:31:07 -07:00
Brian Cox 943d17ceb8 Add SkyOS syslog fix to this branch so merge doesn't clobber it 2016-04-03 20:54:44 -07:00
Brian Cox 5e5cf96bf5 Merge branch 'master' into dev/aros 2016-04-02 23:12:50 -07:00
Brian Cox ca2242079d Build fixes for Sortix, mostly relating to missing headers 2016-04-02 23:11:37 -07:00
Brian Cox f666409d8f String handling tweaks (string <--> dbchar) so AROS build works properly. 2016-04-02 10:38:21 -07:00
Brian Cox e71023730e Add Posix<-->Native path conversion, and handle absence of Unix unlinked-but-open tempfile trick on AROS 2016-04-01 18:01:59 -07:00
Brian Cox ec90cdc0a5 Duplicate separator fix, AROS seems to need this. 2016-04-01 09:36:29 -07:00
Brian Cox 0e08b213f1 Merge branch 'master' into dev/aros 2016-04-01 09:27:32 -07:00
Brian Cox f3fd9f0a49 Initial AROS commit, such that it compiles & links now, but doesn't run properly yet. 2016-04-01 08:22:13 -07:00
Brian Cox a8d0a2ff79 File offsets should be off_t, not int32, for large file support. Per OpenSuSE patch: https://build.opensuse.org/package/view_file/security/tripwire/tripwire-2.4.1.2-src.off_t.patch?expand-1 2016-03-29 14:08:34 -07:00
Brian Cox 5490bd3a2f Build fixes for Android. Cross-compiling for any platform currently requires configuring with the --disable-openssl option, due to use of an AC_TRY_RUN macro for OpenSSL detection. Depending on the targeted Android version, it may be necessary to supply 'CFLAGS=-fPIE' and 'LDFLAGS=-fPIE -pie' to create runnable binaries. 2016-03-29 00:04:40 -07:00
Brian Cox 1e06389361 Fix SHA hashes when using OpenSSL impl; build fix for SkyOS 5.0 which doesn't have syslog(). 2016-03-26 16:08:04 -07:00
Brian Cox bb4ef956c0 Build fix for with-OpenSSL SHA handling 2016-03-26 01:38:25 -07:00
Brian Cox 184bfe63eb Fix non-OpenSSL SHA brokenness; fix OpenSolaris/OpenIndiana build issue; tweak filelist in touchconfig script; update ChangeLog, RPM spec, & MAINTAINERS 2016-03-26 01:08:03 -07:00
Brian Cox 82fbd232c8 Add a .gitignore file (adapted from github.com/steakknife/tripwire fork); fix a Cygwin warning in tchar.h. 2016-03-25 11:45:54 -07:00
Brian Cox 9698ca5333 Update buildsys for oddball platforms that don't support hardlinks, or have gethostbyname() in a weird library. Still generated w/ older v1.8.x automake/aclocal in order to keep diffs a reviewable size. 2016-03-25 10:59:56 -07:00
Brian Cox 6c7af5b060 Build fix for Cygwin relating to itoa(); add touchconfig.sh to fix buildsys file timestamps. 2016-03-24 16:29:35 -07:00
Brian Cox 19aaa7111c Fix a longstanding typo in twstrings.cpp 2016-03-23 21:25:07 -07:00
Brian Cox f7a3ab843d Bump version to 2.4.3.0 2016-03-23 20:35:32 -07:00
Brian Cox 261cef1392 Additional build fixes: Warning fixes from FreeBSD ports patch set, plus platform-specific build fixes for OpenBSD, Minix, Hurd, Syllable, (possibly) Android. 2016-03-22 21:30:23 -07:00
Brian Cox 1d4ebe8ac2 Fix build breakage for gcc 4.7+ and LLVM/clang 2016-03-22 20:59:21 -07:00
Ken Westin c8dc58df50 Open Source Tripwire 2.4.2.2
Initial commit of code from Sourceforge repository.
2015-05-03 22:26:18 -07:00