view CREDITS.md @ 568:ed986ae52656

Common: avoid early deletion of handler When network_stream flushes input/output it destroy the handlers before continuing the block function. This leads in potential use-after-free results because client handlers may capture this as a shared_ptr which is deleted in the `pop_front` call. if (squeue_.front().second) squeue_.front().second(code); squeue_.pop_front(); // ^ ^ ^ Delete handler and possible capture of this sflush(); // ^ ^ ^ Possible use-after-free of `this`
author David Demelier <markand@malikania.fr>
date Tue, 28 Nov 2017 12:20:58 +0100
parents 64cb98dd8e9d
children 69a547354e30
line wrap: on
line source

IRC Client Daemon CREDITS
=========================

Libraries and projects
----------------------

- libircclient, http://www.ulduzsoft.com/linux/libircclient
  Very powerful and great C IRC library used until version 3.0.0, has been a
  source of inspiration.

- OpenSSL, http://openssl.org
  Free, open-source famous crypto library.

- Duktape, http://duktape.org
  Absolutely awesome JavaScript engine written in C by a super nice author.

- CMake, http://cmake.org
  The best build system ever.

- Google Test, https://github.com/google/googletest
  A nice and easy C++ test framework.

- Pandoc, http://pandoc.org
  Powerful document converter.

- Niels Lohmann JSON library, https://github.com/nlohmann/json
  The best C++ JSON library.

- fmtlib, http://fmtlib.net/latest/index.html
  Convenient formatting library for C++.