| Commit message (Collapse) | Author | Age | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of always putting users passwords in XML files, allow site
admins to configure a different authentication method to integrate
authentication with other systems.
This doesn't add any authentication backends yet, merely the
scaffolding. Notably:
- Password checking and loading/removing from storage has been
decoupled. A new auth_check_pass function is used to check passwords.
It does check against the configured storage first, but will handle
the authentication backends as well. The XML storage merely signals
that a user's password should be checked using an authentication
backend.
- If unknown-to-bitlbee users identify using an authentication backend,
they are automatically registered.
- If an authentication backend is used, that fact is stored in the XML
file, the password is not. Passwords are also stored unencrypted in
this case, as the password used to encrypt them can change underneath
us.
- configure and Makefile changes for the backend objects
|
|
|
|
|
| |
Just to ensure the whole thing gets written, since this can't be async
for obvious reasons.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was a sort-of-regression with 7233f68
While this behavior might seem desirable in some cases, multi-user
installs like public servers would rather not kill children while
upgrading.
Turns out that pipes are inherited by forks, and writing in one side
means there might be more than one listener that calls
bitlbee_shutdown(). If the parent gets it, the children will get it
too. If a child gets it, the parent and the other children get it too.
This adds a sighandler_shutdown_setup() function that closes any
previously existing pipes and disconnects the events from them, to
create a new one. This is called again after forking each child process.
While I'm sure this fixes the issue, I still don't understand why it
*didn't* kill the forked processes in some cases. Worrying.
|
|
|
|
|
|
|
|
|
|
| |
CID 18634: 'Logically dead code' in jabber_get_info
CID 18638: 'Dereference after null check' in oauth2_access_token_done
CID 18691: 'Copy into fixed size buffer' in bee_irc_user_new
CID 20274: Leak in bee_irc_chat_invite
CID 20297, CID 20283: Leaks in crypt_main
Some the base64 leaks there weren't detected, needs modeling.
|
|
|
|
|
|
|
| |
Used uncrustify, with the configuration file in ./doc/uncrustify.cfg
Commit author set to "Indent <please@skip.me>" so that it's easier to
skip while doing git blame.
|
|
|
|
|
|
| |
Also abort() if there's no /dev/urandom
See http://www.2uo.de/myths-about-urandom/ for details.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- SIGSEGV: broadcast a message manually, avoiding the usual irc_write()
functions which are unsafe due to malloc().
- SIGTERM, SIGINT: Write to a pipe which gets handled in the main loop by
bitlbee_shutdown(), saving configs and stuff.
- SIGCHLD: set to ignore explicitly, which handles zombies correctly.
This also drops some log messages with 'info' level, which in practice
means they never got logged.
- SIGPIPE: set to ignore (nobody cares)
- SIGILL, SIGBUS, SIGFPE, SIGQUIT, SIGXCPU: Not handling anymore.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This might look like a simple diff, but those 'lies' made this not very
straightforward.
The NSS bug itself is simple: NSS detects a fork happened after the
initialization, and refuses to work because shared CSPRNG state is bad.
The bug has been around for long time. I've been aware of it for 5
months, which says something about this mess. Trac link:
http://bugs.bitlbee.org/bitlbee/ticket/785
This wasn't a big deal because the main users of NSS (redhat) already
applied a different patch in their packages that workarounded the issue
somewhat accidentally. And this is the ticket for the 'lies' in unix.c:
http://bugs.bitlbee.org/bitlbee/ticket/1159
Basically a conflict with libotr that doesn't happen anymore. Read that
ticket for details on why ignoring those comments is acceptable.
Anyway: yay!
|
|
|
|
|
|
|
| |
my copyright mentions since some were getting pretty stale. Left files not
touched since before 2012 alone so that this change doesn't touch almost
EVERY source file.
|
|
|
|
|
| |
ways it's not BitlBee and I'm tired of getting libpurple-related bug reports.
|
| |
|
|
|
|
|
|
| |
using libpurple). This was leaking memory and indirectly caused the bug
fixed by the previous revision.
|
|
|
|
|
|
|
| |
libotr installed". Also, it appears that this code needs libotr 3.2.0 or
higher, but I'm not adding a build-dep since that'll cause troubles on the
build bot, people can just build with BITLBEE_OTR=0.
|
|\
| |
| |
| |
| |
| | |
Not 100% sure about the OpenSSL merge, should double check that but I'm
currently offline.
|
| |
| |
| |
| |
| | |
with a horrible practice of reading the MOTD file one by one.
|
| |
| |
| |
| |
| | |
away with doing this without libtool (eep).
|
|\ \
| |/
|/|
| |
| | |
and parts I want to/have to redo (because of ui-fix).
|
| |\ |
|
| |\ \ |
|
| | | | |
|
| |\ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
the global state of libgcrypt
|
| |\ \ \ \ |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
with some changes.
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
still only for offline users).
|
|\ \ \ \ \ \
| | |_|_|_|/
| |/| | | | |
|
| | |_|_|/
| |/| | |
| | | | |
| | | | |
| | | | | |
and annoying.
|
|\| | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
argument checking to avoid ugly (even though harmless) segfaults. Also skip
any md5: prefix that may be present when checking hashes.
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | | |
with a few command-line options to the BitlBee binary. Type "bitlbee -x"
for more info.
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
nogaim_init() should be done after fork() to make ForkDaemon mode work
again. Also, doing help_init() earlie makes "help purple" work.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
version of BitlBee from Linux. No working SSL support yet though!
|
| | | | |
|
| |\ \ \ |
|
| | | |/
| | |/| |
|
| |\| | |
|
| |\ \ \ |
|
| |\ \ \ \ |
|
| |\ \ \ \ \ |
|
| |\ \ \ \ \ \ |
|
| | | | | | | | |
|
| |_|_|_|_|/ /
|/| | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
restarting the ForkDaemon. Preparing for a proper fallback when execv()
fails. (Bug #425)
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
file couldn't be found while the user specified an alternative location with
the -c option, and double complaints about /var/lib/bitlbee/ permissions.
|
| |_|_|_|_|/
|/| | | | |
| | | | | |
| | | | | |
| | | | | | |
wasn't even aware of. This closes bug #352.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
for pid_t variables).
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
modifications. Also adding some missing g_free()s to conf.c.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
global.conf->plugindir is actually filled in before we call nogaim_init().
|