Commit Graph
148 Commits
Author SHA1 Message Date
Florent Le Coz b86547dc1e Implement async DNS resolution using c-ares
fix #2533
2015-02-23 13:56:08 +01:00
Florent Le Coz 2bb4a347cd Improve dependencies checks in the build process
- Rename all Find*.cmake files to uppercase, to make things more consistent,
  and fix some issues with them (notably the REQUIRED flag)

- Rename SYSTEMDDAEMON to SYSTEMD and only use the libsystemd instead of
  libsystemd-daemon because it's deprecated for a long time now

- Provide a WITH_* and WITHOUT_* switch for all optional dependencies

- Document things in the INSTALL file
2014-11-13 06:44:15 +01:00
Florent Le Coz b94247813b Provide WITHOUT_BOTAN and WITHOUT_SYSTEMD cmake flags
Use them to build without linking to them, even if they are on your system
2014-07-15 15:44:19 +02:00
Florent Le Coz 4582f10797 Bump master version to 2.0~dev 2014-07-12 14:30:27 +02:00
Florent Le Coz b578aebc03 Release version 1.0 2014-07-12 14:17:23 +02:00
Florent Le Coz a165e59240 Fix some cmake issues
fix #2551
2014-06-30 01:02:59 +02:00
Florent Le Coz 2cf64e10b5 Provide a make dist target 2014-06-24 17:48:31 +02:00
Florent Le Coz a2d55e4bea Rename cmake target test->test_suite for cmake 3.0
See CMP0037
2014-06-23 01:00:21 +02:00
Florent Le Coz aaf7177413 Write the software version, including the git hash, in config.h using cmake 2014-06-20 10:45:38 +02:00
Florent Le Coz 9757c2c695 includes from cmake BINARY_DIR should be included before considering SOURCE_DIR 2014-06-18 11:45:09 +02:00
Florent Le Coz 349dc06e91 Silence warnings coming from Botan headers 2014-06-08 13:03:05 +02:00
Florent Le Coz 23f32ba39e Implement TLS support using Botan
For now, it tries two TLS ports and then connects to the non-tls port.  In
the future we would like the user to be able to configure that.

fix #2435
2014-06-08 05:07:54 +02:00
Florent Le Coz a63faf6fa9 Use libuuid to generate unique IDs for iq and adhoc sessions 2014-05-30 13:39:00 +02:00
Florent Le Coz 634e7cf125 mini reorder 2014-05-11 03:37:07 +02:00
Florent Le Coz 23db31cff1 [cmake] Do not print useless messages when an optional lib is not found 2014-05-11 03:36:42 +02:00
Florent Le Coz 18b27793de Use epoll on linux by default, poll otherwise 2014-04-30 02:30:19 +02:00
Florent Le Coz c6059e5a21 Upgrade to C++14 2014-04-28 18:46:25 +02:00
Florent Le Coz 0b4f761e31 Fix the CMakeLists.txt to correctly have -Ibuild/src/ 2014-04-22 14:30:23 +02:00
Florent Le Coz 9d8166f10d Add support for systemd-daemon 2014-04-15 07:02:09 +02:00
Florent Le Coz c64bb0bde9 Improved doc rule in the cmake thing 2014-04-13 20:28:42 +02:00
Florent Le Coz 8246849fdf Do not link with pthread 2014-04-13 19:16:18 +02:00
Florent Le Coz 3b1bf740a3 Fix the CMakeLists.txt regarding ronn 2014-03-14 01:34:35 +01:00
Florent Le Coz aeae88dd32 Move CMake’s config.h(.cmake) files into src/ 2014-02-19 02:49:22 +01:00
Florent Le Coz e43de640e9 Build the man page as part of the build process, if ronn is found 2014-02-17 03:07:27 +01:00
Florent Le Coz 7cfc79179c Make install rule 2014-02-17 02:12:12 +01:00
Florent Le Coz b71547a32b Fix the build system to correctly include config.h 2014-01-14 21:45:56 +01:00
Florent Le Coz 48b4f7b83f Remove cryptopp dependency, directly include a simple sha1 implementation 2014-01-13 20:11:36 +01:00
Florent Le Coz b11126a19d Provide a JID for IRC users, and add a stringprep dependency for this 2013-12-08 20:14:12 +01:00
Florent Le Coz cb718def0c Put utils::tolower definition in its own cpp file 2013-12-08 18:02:24 +01:00
Florent Le Coz fb01f78b0a Rewrite the FindIconv module cleanly 2013-12-08 15:57:10 +01:00
Florent Le Coz 2c9680bc03 Rewrite the FindCryptopp cmake module cleanly 2013-12-08 15:57:06 +01:00
Florent Le Coz a4c845ab6c Use the logger everywhere 2013-12-03 19:15:37 +01:00
Florent Le Coz 2662ed89e2 Add a logger class 2013-12-03 19:15:37 +01:00
Florent Le Coz 31e18e49b6 fsanitize=address requires libasan, that’s a useless dependency.
Also we cannot use both this feature and valgrind at the same time.
So, I’ll just specify this flag myself when I need it, this doesn’t
need to be there by default
2013-11-28 01:18:21 +01:00
Florent Le Coz b72908548d Let the user choose the poller to use through cmake POLLER option
Use ccmake, or cmake -i, or cmake -DPOLLER=EPOLL, for example
2013-11-21 00:35:15 +01:00
Florent Le Coz 641166b037 Link with pthread, required by cryptopp 2013-11-14 23:35:58 +01:00
Florent Le Coz 5817a95b5e Basic handling of modes, both ways 2013-11-12 23:48:10 +01:00
Florent Le Coz f0d9273da6 Add a Config module, and use it to get the password from a file 2013-11-10 20:47:11 +01:00
Florent Le Coz af4fc92c21 Fix the include of the config.h 2013-11-10 03:35:31 +01:00
Florent Le Coz 5cb81cace0 And actually use the values found by cmake 2013-11-10 03:29:12 +01:00
Florent Le Coz ef014f7ddf Properly detect iconv features to compile 2013-11-10 03:18:08 +01:00
Florent Le Coz 3d92360310 Use the Expat library directly instead of relying on expatpp
And now we handle namespaces, yay.
And a nice little test.
2013-11-10 02:30:22 +01:00
Florent Le Coz ccebe901d7 Check UTF-8 encoding, and convert strings to UTF-8
Handle conversion errors properly by inserting � instead.  Add a binary
header to provide portable way to write binary literals (I like them) Also
add a test file.  ref #2404
2013-11-09 06:01:47 +01:00
Florent Le Coz bf7b05ef72 Implement the Bridge class to translate between the two protocols
Add all useful classes as well: Jid, Iid, IrcChannel, IrcUser etc to
properly keep the informations about what we receive from the IRC server.

Only handle the MUC join stanza, and send the list of users in the IRC
channel to the XMPP user, and the IRC channel’s topic, for now.
2013-11-06 21:01:18 +01:00
Florent Le Coz f2f94618fc Add a basic XMPP component implementation, doing the authentication 2013-11-03 17:51:32 +01:00
Florent Le Coz 5bbd34a3a9 Add an XmppParser, and Stanza classes
Generate events on stanza and stream open/close.
Create Stanza and serialize them.

Note: XML namespaces are not handled yet.
2013-11-03 17:19:48 +01:00
Florent Le Coz 87aaacdb42 Rename libirc and libxmpp to irc and xmpp 2013-11-03 00:22:32 +01:00
Florent Le Coz e332d7a2c0 Add initial CMakeLists.txt that compiles the current code 2013-11-02 23:49:12 +01:00