summaryrefslogtreecommitdiff
path: root/src/main.cpp
AgeCommit message (Collapse)Author
2018-08-07Split the main() into smaller functionslouiz’
That’s not really enough, but better
2018-05-06Also handle SIGHUP to reload the configurationlouiz’
Because that’s what is typically done on other deamons, and we don’t want to suprise users.
2018-03-15follow coding styleAilin Nemui
2018-03-13optional identdAilin Nemui
2017-12-02Handle postgresql and sqlite3 libs properlylouiz’
Do not fail to compile when one of them is missing but the other one is not. Raise an error when trying to open a database with the missing library. see #3237
2017-12-02Add postgresql supportlouiz’
2017-06-14Implement our own database ORM, and update the whole code to use itlouiz’
Entirely replace LiteSQL fix #3271
2017-04-17Avoid adding more that one “XMPP reconnection” timed event at the same timelouiz’
Fix a semblance of infinite and busy loop, that could occur if biboumi’s poller is woken up multiple times while the XMPP server is not reachable.
2017-04-07Apply a few clang-tidy cppcoreguidelines-* fixeslouiz’
2017-04-07Apply all the clang-tidy modernize-* fixeslouiz’
2017-02-01Properly destroy the dns_handler socket when first start failslouiz’
To correctly exit the process
2017-01-06Use udns instead of c-areslouiz’
fix #3226
2016-11-25Do not fail to build if litesql is not therelouiz’
2016-11-15Support the ident protocollouiz’
fix #3211
2016-11-01Disable e2e tests on openbsdlouiz’
2016-10-31Some cleanupslouiz’
2016-08-01Rephrase an error messagelouiz’
2016-07-31Provide a --help optionlouiz’
fix #3183
2016-07-28Do not use the logger before the configuration has been loaded firstlouiz’
2016-07-24Use log_error instead of cerrlouiz’
2016-07-12Properly catch and handle database errorslouiz’
Do not use a singleton for the database. fix #3203
2016-06-14Improve the signal handling by disabling them while an handler is runninglouiz’
2016-06-14Clean the Config module, use static things instead of a stupid singletonlouiz’
2015-12-23Notify systemd when the process is stoppingFlorent Le Coz
2015-09-18Also a xdg_data_pathFlorent Le Coz
2015-09-18Create a xdg_path functionFlorent Le Coz
2015-06-10Exit with 1 if the connection to the XMPP server failsFlorent Le Coz
This helps the system understand if the process started correctly or not, when systemd is not used fix #3078
2015-05-27Avoid some potential race conditions by blocking the signals we manageFlorent Le Coz
They are atomically unblocked in the ppoll/epoll_pwait calls, avoiding any race condition on the check of the “stop” or “reload” booleans.
2015-05-04Make sure XDG_CONFIG_HOME is absolute, as per XDG basedir spec.Emmanuel Gil Peyrot
2015-05-04Search for the config file in $XDG_CONFIG_DIR/biboumi.Emmanuel Gil Peyrot
This environment variable points to the location the user expects to find every program’s config file, or if it isn’t set, ~/.config/biboumi (with a fallback to . if $HOME isn’t set). fix #2553
2015-04-20Reset the signal handlers when SIGINT or SIGTERM is receivedFlorent Le Coz
To avoid doing a double exit when receiving bot SIGINT and SIGTERM
2015-04-13Re-order a few things in main.cppFlorent Le Coz
2015-03-04Set the default value to biboumi.cfgFlorent Le Coz
2015-02-27Remove all the libs that are now in louloulibsFlorent Le Coz
2015-02-24Add a reload add-hoc commandFlorent Le Coz
2015-02-23Implement async DNS resolution using c-aresFlorent Le Coz
fix #2533
2015-02-21Use a timer to try reconnecting to the XMPP server only each 2 secondsFlorent Le Coz
When the connection is lost, immediately try to reconnect, then try to reconnect every 2 seconds. This is much better than the previous “Try to re-connect as fast as possible”.
2015-02-21Fix “connections” typoFlorent Le Coz
2015-02-21Fix “cleanely” typoFlorent Le Coz
2014-07-02Add a level of inheritance above SocketHandlerFlorent Le Coz
SocketHandler has been renamed to TCPSocketHandler SocketHandler is now a simple interface with a few methods, used only by Poller. This way we can inherite from the new SocketHandler class, to handle other types of sockets, and still make them manageable by the poller without any change in the Poller class.
2014-05-30TimedEventsManager is now a singletonFlorent Le Coz
2014-05-28Use a timed event to force the exit 2 seconds after an exit signal is receivedFlorent Le Coz
fix #2469
2014-05-27SocketHandlers own the poller and add themself into it only when the socket ↵Florent Le Coz
is created We want to call socket() with the parameters provided by getaddrinfo, so we can’t addd the fd into the poller immediately. We need to wait the connection attempt, and then the SocketHandler can call add_socket_handler itself, if the connection succeeds, or is in progress.
2014-03-24Introduce two new bool, to know if the xmpp component should try to reconnectFlorent Le Coz
If we never succeeded our connection+auth process, means we should probably not attempt any-more, and just give up. If we ever did, this means a reconnect is a good idea
2014-03-24Reconnected immediately to the XMPP whenever it closes the connectionFlorent Le Coz
2014-02-24Use store() instead of operator=() for std::atomic<bool> objectsFlorent Le Coz
2014-02-22Connection to servers does not block the process anymoreFlorent Le Coz
2014-02-19Set sigaction.sa_flags to 0Florent Le Coz
2014-02-19Reload the conf on SIGUSR1/2Florent Le Coz
2014-01-04Remove disconnected IrcClientsFlorent Le Coz