Index: Makefile
===================================================================
--- Makefile	(revision 5ebe625399d5116e222d6389434f645e906265ec)
+++ Makefile	(revision f665dabdff831743ea35e755b6ec1e2fe2551d9c)
@@ -12,4 +12,6 @@
 objects = account.o bitlbee.o conf.o crypting.o help.o ini.o ipc.o irc.o irc_commands.o log.o nick.o query.o root_commands.o set.o storage.o storage_text.o unix.o url.o user.o util.o
 subdirs = protocols
+
+objects += $(LDB_OBJ)
 
 # Expansion of variables
Index: configure
===================================================================
--- configure	(revision 5ebe625399d5116e222d6389434f645e906265ec)
+++ configure	(revision f665dabdff831743ea35e755b6ec1e2fe2551d9c)
@@ -25,4 +25,5 @@
 strip=1
 ipv6=1
+ldb=auto
 ssl=auto
 
@@ -59,4 +60,6 @@
 
 --ipv6=0/1	IPv6 socket support			$ipv6
+
+--ldb=0/1/auto	LDB support				$ldb
 
 --ssl=...	SSL library to use (gnutls, nss, openssl, bogus, auto)
@@ -209,4 +212,18 @@
 		ret=0;
 	fi;
+}
+
+detect_ldb()
+{
+	if $PKG_CONFIG --version > /dev/null 2>/dev/null && $PKG_CONFIG ldb; then
+		cat<<EOF>>Makefile.settings
+EFLAGS+=`$PKG_CONFIG --libs ldb`
+CFLAGS+=`$PKG_CONFIG --cflags ldb`
+EOF
+		ldb=1
+		ret=1
+	else
+		ret=0
+	fi
 }
 
@@ -271,4 +288,16 @@
 fi
 
+if [ "$ldb" = "auto" ]; then
+	detect_ldb
+fi
+
+if [ "$ldb" = 0 ]; then
+	echo "LDB_OBJ=\# no ldb" >> Makefile.settings
+	echo "#undef LDB" >> config.h
+elif [ "$ldb" = 1 ]; then
+	echo "#define LDB 1" >> config.h
+	echo "LDB_OBJ=storage_ldb.o" >> Makefile.settings
+fi
+
 if [ "$strip" = 0 ]; then
 	echo "STRIP=\# skip strip" >> Makefile.settings;
@@ -408,2 +437,8 @@
 	echo '  Building without IM-protocol support. We wish you a lot of fun...';
 fi
+
+if [ "$ldb" = "0" ]; then
+	echo "  LDB storage backend disabled."
+else
+	echo "  LDB storage backend enabled."
+fi
Index: storage_ldb.c
===================================================================
--- storage_ldb.c	(revision f665dabdff831743ea35e755b6ec1e2fe2551d9c)
+++ storage_ldb.c	(revision f665dabdff831743ea35e755b6ec1e2fe2551d9c)
@@ -0,0 +1,63 @@
+  /********************************************************************\
+  * BitlBee -- An IRC to other IM-networks gateway                     *
+  *                                                                    *
+  * Copyright 2002-2004 Wilmer van der Gaast and others                *
+  \********************************************************************/
+
+/* Storage backend that uses the LDB embedded LDAP-like database */
+
+/* Copyright (C) 2006 Jelmer Vernooij <jelmer@samba.org> */
+
+/*
+  This program is free software; you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation; either version 2 of the License, or
+  (at your option) any later version.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License with
+  the Debian GNU/Linux distribution in /usr/share/common-licenses/GPL;
+  if not, write to the Free Software Foundation, Inc., 59 Temple Place,
+  Suite 330, Boston, MA  02111-1307  USA
+*/
+
+#define BITLBEE_CORE
+#include "bitlbee.h"
+#include <ldb.h>
+
+static void sldb_init (void)
+{
+}
+
+static storage_status_t sldb_load ( const char *my_nick, const char* password, irc_t *irc )
+{
+	return STORAGE_OK;
+}
+
+static storage_status_t sldb_save( irc_t *irc, int overwrite )
+{
+	return STORAGE_OK;
+}
+
+static storage_status_t sldb_check_pass( const char *nick, const char *password )
+{
+	return STORAGE_OK;
+}
+
+static storage_status_t sldb_remove( const char *nick, const char *password )
+{
+	return STORAGE_OK;
+}
+
+storage_t storage_ldb = {
+	.name = "ldb",
+	.init = sldb_init,
+	.check_pass = sldb_check_pass,
+	.remove = sldb_remove,
+	.load = sldb_load,
+	.save = sldb_save
+};
