* Add parsing feedback via parsingContext
Changes the parsing context to be modifiable to be able to provide
feedback on the parsing. This allows the user to check if header
recovery was necessary, for example, while parsing the current message.
Signed-off-by: Ben Magistro <koncept1@gmail.com>
Co-authored-by: Vincent Richard <vincent@vincent-richard.net>
* Allow appending of local hostname to be configured via parsing context
Signed-off-by: Ben Magistro <koncept1@gmail.com>
Co-authored-by: Vincent Richard <vincent@vincent-richard.net>
When the ``sender`` function argument is the empty object, vmime
would still attempt to use it at ``sender.getEmail().generate()``,
but that produces just ``@``. As sendmail is called with ``-f @``,
this shows up in postfix's logs as ``<""@>``.
* build: add FreeBSD compilation support
* build: unbreak compilation with clang libc++
unary_function is obsolete with C++11 and removed in C++17.
gnu-gcc-libstdc++ still has the class, but llvm-clang-libc++ does
not, and there is a compile error.
vmime should have just stopped using unary_function with commit
v0.9.2-48-g8564b2f8.
$ cat x.cpp
$ clang++ -std=c++17 -stdlib=libc++ -c x.cpp
In file included from x.cpp:1:
In file included from /usr/local/include/vmime/net/transport.hpp:34:
In file included from /usr/local/include/vmime/net/service.hpp:36:
In file included from /usr/local/include/vmime/net/session.hpp:40:
In file included from /usr/local/include/vmime/utility/url.hpp:30:
/usr/local/include/vmime/propertySet.hpp:339:33: error: no template named
/'unary_function' in namespace 'std'; did you mean '__unary_function'?
class propFinder : public std::unary_function <shared_ptr <property>, bool> {
~~~~~^~~~~~~~~~~~~~
__unary_function
This restructures the cmake a little bit to only find components if they
are actually enabled. It also rearranges things to better group some
related items. This change also fixes include directories for the build
target allowing the library to be embedded making the install step
optional.
Signed-off-by: Ben Magistro <koncept1@gmail.com>