From 447a103e15f0297f96e2fe88f5a1c6003a256a4f Mon Sep 17 00:00:00 2001 From: Tuan Van Date: Mon, 12 Jun 2006 20:06:53 +0000 Subject: New beta release. (Portage version: 2.1) --- net-mail/cyrus-imapd/ChangeLog | 10 +- net-mail/cyrus-imapd/cyrus-imapd-2.3.6.ebuild | 270 +++++++++++++++++++++ .../cyrus-imapd/files/cyrus-imapd-2.3.6-afs.patch | 11 + .../cyrus-imapd/files/cyrus-imapd-2.3.6-drac.patch | 31 +++ .../files/cyrus-imapd-2.3.6-unsupported-8bit.patch | 79 ++++++ .../cyrus-imapd/files/digest-cyrus-imapd-2.2.12 | 2 + .../cyrus-imapd/files/digest-cyrus-imapd-2.3.1 | 2 + .../cyrus-imapd/files/digest-cyrus-imapd-2.3.6 | 3 + 8 files changed, 407 insertions(+), 1 deletion(-) create mode 100644 net-mail/cyrus-imapd/cyrus-imapd-2.3.6.ebuild create mode 100644 net-mail/cyrus-imapd/files/cyrus-imapd-2.3.6-afs.patch create mode 100644 net-mail/cyrus-imapd/files/cyrus-imapd-2.3.6-drac.patch create mode 100644 net-mail/cyrus-imapd/files/cyrus-imapd-2.3.6-unsupported-8bit.patch create mode 100644 net-mail/cyrus-imapd/files/digest-cyrus-imapd-2.3.6 (limited to 'net-mail') diff --git a/net-mail/cyrus-imapd/ChangeLog b/net-mail/cyrus-imapd/ChangeLog index 23721e494b86..f57de4d003e2 100644 --- a/net-mail/cyrus-imapd/ChangeLog +++ b/net-mail/cyrus-imapd/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for net-mail/cyrus-imapd # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-mail/cyrus-imapd/ChangeLog,v 1.80 2006/02/20 06:13:37 langthang Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-mail/cyrus-imapd/ChangeLog,v 1.81 2006/06/12 20:06:53 langthang Exp $ + +*cyrus-imapd-2.3.6 (12 Jun 2006) + + 12 Jun 2006; Tuấn Văn + +files/cyrus-imapd-2.3.6-afs.patch, +files/cyrus-imapd-2.3.6-drac.patch, + +files/cyrus-imapd-2.3.6-unsupported-8bit.patch, + +cyrus-imapd-2.3.6.ebuild: + New beta release. 20 Feb 2006; Tuấn Văn cyrus-imapd-2.3.1.ebuild: configure option --with-idle=idled has been changed to --enable-idled. diff --git a/net-mail/cyrus-imapd/cyrus-imapd-2.3.6.ebuild b/net-mail/cyrus-imapd/cyrus-imapd-2.3.6.ebuild new file mode 100644 index 000000000000..e50967c35bbd --- /dev/null +++ b/net-mail/cyrus-imapd/cyrus-imapd-2.3.6.ebuild @@ -0,0 +1,270 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-mail/cyrus-imapd/cyrus-imapd-2.3.6.ebuild,v 1.1 2006/06/12 20:06:53 langthang Exp $ + +inherit eutils ssl-cert gnuconfig fixheadtails + +DESCRIPTION="The Cyrus IMAP Server." +HOMEPAGE="http://asg.web.cmu.edu/cyrus/imapd/" +SRC_URI="ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/${P}.tar.gz" +LIBWRAP_PATCH_VER="2.2.10" +DRAC_PATCH_VER="2.3.6" +MY_8BIT_PATCH_VER="2.3.6" + +LICENSE="as-is" +SLOT="0" +KEYWORDS="~x86 ~sparc ~amd64 ~ppc ~hppa ~ppc64" +IUSE="afs drac idled kerberos pam snmp ssl tcpd unsupported_8bit" + +PROVIDE="virtual/imapd" +RDEPEND=">=sys-libs/db-3.2 + >=dev-libs/cyrus-sasl-2.1.13 + afs? ( >=net-fs/openafs-1.2.2 ) + pam? ( + virtual/pam + >=net-mail/mailbase-1 + ) + kerberos? ( virtual/krb5 ) + snmp? ( >=net-analyzer/net-snmp-5.2.2-r1 ) + ssl? ( >=dev-libs/openssl-0.9.6 ) + tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) + drac? ( >=mail-client/drac-1.12-r1 )" + +DEPEND="$RDEPEND + sys-devel/libtool + >=sys-devel/autoconf-2.58 + sys-devel/automake" + +new_net-snmp_check() { + # tcpd USE flag check. Bug #68254. + local i + for i in net-analyzer/ucd-snmp net-analyzer/net-snmp; do + if use tcpd ; then + if has_version $i && ! built_with_use $i tcpd ; then + eerror "You are emerging this package with USE=\"tcpd\"" + eerror "but ${i} has been emerged with USE=\"-tcpd\"" + fail_msg $i + fi + else + if has_version $i && built_with_use $i tcpd ; then + eerror "You are emerging this package with USE=\"-tcpd\"" + eerror "but ${i} has been emerged with USE=\"tcpd\"" + fail_msg $i + fi + fi + done + # DynaLoader check. Bug #67411 + + if [ -x "$(type -p net-snmp-config)" ]; then + einfo "$(type -p net-snmp-config) is found and executable." + NSC_AGENTLIBS="$(net-snmp-config --agent-libs)" + einfo "NSC_AGENTLIBS=\""${NSC_AGENTLIBS}"\"" + if [ -z "$NSC_AGENTLIBS" ]; then + eerror "NSC_AGENTLIBS is null" + einfo "please report this to bugs.gentoo.org" + fi + for i in ${NSC_AGENTLIBS}; do + # check for the DynaLoader path. + if [ "$(expr "$i" : '.*\(DynaLoader\)')" == "DynaLoader" ] ; then + DYNALOADER_PATH="$i" + einfo "DYNALOADER_PATH=\""${DYNALOADER_PATH}"\"" + if [[ ! -f "${DYNALOADER_PATH}" ]]; then + eerror "\""${DYNALOADER_PATH}"\" is not found." + einfo "Have you upgraded \"perl\" after" + einfo "you emerged \"net-snmp\". Please re-emerge" + einfo "\"net-snmp\" then try again. Bug #67411." + die "\""${DYNALOADER_PATH}"\" is not found." + fi + fi + done + else + eerror "\"net-snmp-config\" not found or not executable!" + die "You have \"net-snmp\" installed but \"net-snmp-config\" is not found or not executable. Please re-emerge \"net-snmp\" and try again!" + fi +} + +fail_msg() { + local i + i=$1 + eerror "enable "snmp" USE flag for this package requires" + eerror "that ${i} and this package both build with" + eerror "\"tcpd\" or \"-tcpd\". Bug #68254" + die "sanity check failed." +} + +pkg_setup() { + if use snmp; then + new_net-snmp_check + fi + + enewuser cyrus -1 -1 /usr/cyrus mail +} + + +src_unpack() { + unpack ${A} && cd "${S}" + + ht_fix_file ${S}/imap/xversion.sh + + epatch "${FILESDIR}/cyrus-imapd-2.3.6-afs.patch" + # Add unsupported patch wrt #18706 and #80630 + use unsupported_8bit && epatch "${FILESDIR}/${PN}-${MY_8BIT_PATCH_VER}-unsupported-8bit.patch" + + # Add drac database support. + if use drac ; then + # better check for drac. Bug #79442. + epatch "${FILESDIR}/${PN}-${DRAC_PATCH_VER}-drac.patch" + epatch "${S}/contrib/drac_auth.patch" + fi + + # Add libwrap defines as we don't have a dynamicly linked library. + if use tcpd ; then + epatch "${FILESDIR}/${PN}-${LIBWRAP_PATCH_VER}-libwrap.patch" + fi + + # DB4 detection and versioned symbols. + # The new cyrus-imapd has a new DB detection. + # Hopefully we don't need this patch anymore. + # epatch "${FILESDIR}/${P}-db4.patch" + + # Fix master(8)->cyrusmaster(8) manpage. + for i in `grep -rl -e 'master\.8' -e 'master(8)' "${S}"` ; do + sed -i -e 's:master\.8:cyrusmaster.8:g' \ + -e 's:master(8):cyrusmaster(8):g' \ + "${i}" || die "sed failed" || die "sed failed" + done + mv man/master.8 man/cyrusmaster.8 || die "mv failed" + sed -i -e "s:MASTER:CYRUSMASTER:g" \ + -e "s:Master:Cyrusmaster:g" \ + -e "s:master:cyrusmaster:g" \ + man/cyrusmaster.8 || die "sed failed" + + # Recreate configure. + export WANT_AUTOCONF="2.5" + gnuconfig_update + rm -rf configure config.h.in autom4te.cache || die + ebegin "Recreating configure" + sh SMakefile &>/dev/null || die "SMakefile failed" + eend $? + + # When linking with rpm, you need to link with more libraries. + sed -i -e "s:lrpm:lrpm -lrpmio -lrpmdb:" configure || die "sed failed" +} + +src_compile() { + local myconf + use afs && myconf="${myconf} -with-afs=/usr" + myconf="${myconf} $(use_with drac)" + myconf="${myconf} $(use_with ssl openssl)" + myconf="${myconf} $(use_with snmp ucdsnmp)" + myconf="${myconf} $(use_with tcpd libwrap)" + myconf="${myconf} $(use_enable kerberos gssapi) $(use_enable kerberos krb5afspts)" + myconf="${myconf} $(use_enable idled)" + + econf \ + --enable-murder \ + --enable-listext \ + --enable-netscapehack \ + --with-extraident=Gentoo \ + --with-service-path=/usr/lib/cyrus \ + --with-cyrus-user=cyrus \ + --with-cyrus-group=mail \ + --with-com_err=yes \ + --with-auth=unix \ + --without-perl \ + --disable-cyradm \ + ${myconf} || die "econf failed" + + # needed for parallel make. Bug #72352. + cd ${S}/imap + emake xversion.h || die "emake xversion.h failed" + + cd ${S} + emake || die "compile problem" +} + +src_install() { + dodir /usr/bin /usr/lib + for subdir in master imap imtest timsieved notifyd sieve; do + make -C "${subdir}" DESTDIR="${D}" install || die "make install failed" + done + + # Link master to cyrusmaster (postfix has a master too) + dosym /usr/lib/cyrus/master /usr/lib/cyrus/cyrusmaster + + doman man/*.[0-8] + dodoc COPYRIGHT README* + dohtml doc/*.html doc/murder.png + cp doc/cyrusv2.mc "${D}/usr/share/doc/${PF}/html" + cp -r contrib tools "${D}/usr/share/doc/${PF}" + find "${D}/usr/share/doc" -name CVS -print0 | xargs -0 rm -rf + + insinto /etc + doins "${FILESDIR}/cyrus.conf" "${FILESDIR}/imapd.conf" + + newinitd "${FILESDIR}/cyrus.rc6" cyrus + newconfd "${FILESDIR}/cyrus.confd" cyrus + newpamd "${FILESDIR}/cyrus.pam-include" sieve + + # do not install server.{key,pem) if they are exist. + if use ssl && [[ ! -f /etc/ssl/cyrus/server.key && ! -f /etc/ssl/cyrus/server.pem ]] ; then + SSL_ORGANIZATION="${SSL_ORGANIZATION:-Cyrus IMAP Server}" + insinto /etc/ssl/cyrus + docert server + fowners cyrus:mail /etc/ssl/cyrus/server.{key,pem} + fi + + for subdir in imap/{,db,log,msg,proc,socket,sieve} spool/imap/{,stage.} ; do + keepdir "/var/${subdir}" + fowners cyrus:mail "/var/${subdir}" + fperms 0750 "/var/${subdir}" + done + for subdir in imap/{user,quota,sieve} spool/imap ; do + for i in a b c d e f g h i j k l m n o p q r s t v u w x y z ; do + keepdir "/var/${subdir}/${i}" + fowners cyrus:mail "/var/${subdir}/${i}" + fperms 0750 "/var/${subdir}/${i}" + done + done +} + +pkg_postinst() { + ewarn "*****NOTE*****" + ewarn "If you're upgrading from versions prior to 2.2.2_BETA" + ewarn "be sure to read the following thoroughly:" + ewarn "http://asg.web.cmu.edu/cyrus/download/imapd/install-upgrade.html" + ewarn "*****NOTE*****" + echo + + ewarn "If you change the fs-type of /var/imap or" + ewarn "/var/spool/imap you should read step 9 of" + ewarn "/usr/share/doc/${P}/html/install-configure.html." + echo + + enewuser cyrus -1 -1 /usr/cyrus mail + + if df -T /var/imap | grep -q ' ext[23] ' ; then + ebegin "Making /var/imap/user/* and /var/imap/quota/* synchronous." + chattr +S /var/imap/{user,quota}{,/*} + eend $? + fi + + if df -T /var/spool/imap | grep -q ' ext[23] ' ; then + ebegin "Making /var/spool/imap/* synchronous." + chattr +S /var/spool/imap{,/*} + eend $? + fi + + ewarn "If the queue directory of the mail daemon resides on an ext2" + ewarn "or ext3 filesystem you need to set it manually to update" + ewarn "synchronously. E.g. 'chattr +S /var/spool/mqueue'." + echo + + einfo "For correct logging add the following to /etc/syslog.conf:" + einfo " local6.* /var/log/imapd.log" + einfo " auth.debug /var/log/auth.log" + echo + + ewarn "You have to add user cyrus to the sasldb2. Do this with:" + ewarn " saslpasswd2 cyrus" +} diff --git a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.6-afs.patch b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.6-afs.patch new file mode 100644 index 000000000000..c45816cf875f --- /dev/null +++ b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.6-afs.patch @@ -0,0 +1,11 @@ +--- configure.in.orig 2006-06-12 10:44:15.000000000 -0700 ++++ configure.in 2006-06-12 10:49:00.000000000 -0700 +@@ -479,7 +479,7 @@ + $with_afs=/usr/local + fi + CFLAGS="${CFLAGS} -I${with_afs}/include" +- AFS_LIBS="${with_afs}/lib/afs/libkauth.a ${with_afs}/lib/afs/libprot.a ${with_afs}/lib/afs/libauth.a ${with_afs}/lib/afs/libsys.a ${with_afs}/lib/librxkad.a ${with_afs}/lib/librx.a ${with_afs}/lib/afs/libsys.a ${with_afs}/lib/libubik.a ${with_afs}/lib/liblwp.a ${with_afs}/lib/afs/util.a" ++ AFS_LIBS=" -lafsrpc -lafsauthent ${with_afs}/lib/afs/libkauth.a ${with_afs}/lib/afs/libprot.a ${with_afs}/lib/afs/libauth.a ${with_afs}/lib/afs/libsys.a ${with_afs}/lib/librxkad.a ${with_afs}/lib/librx.a ${with_afs}/lib/afs/libsys.a ${with_afs}/lib/libubik.a ${with_afs}/lib/liblwp.a ${with_afs}/lib/afs/util.a" + if test -f ${with_afs}/lib/afs/libaudit.a; then + AFS_LIBS="$AFS_LIBS ${with_afs}/lib/afs/libaudit.a" + fi diff --git a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.6-drac.patch b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.6-drac.patch new file mode 100644 index 000000000000..1ca22b85dba3 --- /dev/null +++ b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.6-drac.patch @@ -0,0 +1,31 @@ +--- contrib/drac_auth.patch.orig 2006-06-09 18:34:58.000000000 -0700 ++++ contrib/drac_auth.patch 2006-06-09 18:35:54.000000000 -0700 +@@ -71,7 +71,7 @@ + diff -u -r1.268.2.23 configure.in + --- configure.in 12 Apr 2005 20:05:20 -0000 1.268.2.23 + +++ configure.in 23 May 2006 13:42:06 -0000 +-@@ -1003,6 +1003,19 @@ ++@@ -1003,6 +1003,20 @@ + SNMP_SUBDIRS="" + AC_SUBST(SNMP_SUBDIRS) + +@@ -80,12 +80,13 @@ + +dnl + +DRACLIBS= + +AC_ARG_WITH(drac, [ --with-drac=DIR use DRAC library in [no] ], +-+ if test -d "$withval"; then +-+ LDFLAGS="$LDFLAGS -L${withval}" +-+ AC_CHECK_LIB(drac, dracauth, +-+ AC_DEFINE(DRAC_AUTH,[],[Build DRAC support?]) +-+ DRACLIBS="-ldrac") +-+ fi) +++ drac="$withval", +++ drac="no") +++if test "$drac" != "no"; then +++ AC_CHECK_LIB(drac, dracauth, +++ AC_DEFINE(DRAC_AUTH,[],[Build DRAC support?]) +++ DRACLIBS="-ldrac") +++fi + +AC_SUBST(DRACLIBS) + + + CMU_LIBWRAP diff --git a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.6-unsupported-8bit.patch b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.6-unsupported-8bit.patch new file mode 100644 index 000000000000..6fd1cf4afc06 --- /dev/null +++ b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.6-unsupported-8bit.patch @@ -0,0 +1,79 @@ +--- cyrus-imapd-2.2.10/imap/message.c.munge8bit 2004-02-27 18:44:55.000000000 +0100 ++++ cyrus-imapd-2.2.10/imap/message.c 2004-07-27 18:20:13.725563440 +0200 +@@ -227,6 +227,7 @@ + int n; + int sawcr = 0, sawnl; + int reject8bit = config_getswitch(IMAPOPT_REJECT8BIT); ++ int munge8bit = config_getswitch(IMAPOPT_MUNGE8BIT); + int inheader = 1, blankline = 1; + + while (size) { +@@ -262,7 +263,7 @@ + /* We have been configured to reject all mail of this + form. */ + if (!r) r = IMAP_MESSAGE_CONTAINS8BIT; +- } else { ++ } else if (munge8bit) { + /* We have been configured to munge all mail of this + form. */ + *p = 'X'; +--- cyrus-imapd-2.2.10/imap/spool.c.munge8bit 2004-03-04 17:09:34.000000000 +0100 ++++ cyrus-imapd-2.2.10/imap/spool.c 2004-07-27 18:20:13.726563149 +0200 +@@ -140,6 +140,7 @@ + state s = NAME_START; + int r = 0; + int reject8bit = config_getswitch(IMAPOPT_REJECT8BIT); ++ int munge8bit = config_getswitch(IMAPOPT_MUNGE8BIT); + const char **skip = NULL; + + if (namelen == 0) { +@@ -266,7 +267,7 @@ + form. */ + r = IMAP_MESSAGE_CONTAINS8BIT; + goto ph_error; +- } else { ++ } else if (munge8bit) { + /* We have been configured to munge all mail of this + form. */ + c = 'X'; +--- cyrus-imapd-2.2.10/lib/imapoptions.munge8bit 2004-07-21 21:07:45.000000000 +0200 ++++ cyrus-imapd-2.2.10/lib/imapoptions 2004-07-27 18:20:13.722564314 +0200 +@@ -458,6 +458,12 @@ + { "mboxlist_db", "skiplist", STRINGLIST("flat", "berkeley", "skiplist")} + /* The cyrusdb backend to use for the mailbox list. */ + ++{ "munge8bit", 1, SWITCH } ++/* If enabled, lmtpd munges messages with 8-bit characters. These characters ++ are changed to . If \fBreject8bit\fR is enabled, setting \fBmunge8bit\fR ++ has no effect. (A proper soultion to non-ASCII characters in headers is ++ offered by RFC 2047 and its predecessors.) */ ++ + # xxx badly worded + { "mupdate_connections_max", 128, INT } + /* The max number of connections that a mupdate process will allow, this +@@ -670,9 +676,7 @@ + + { "reject8bit", 0, SWITCH } + /* If enabled, lmtpd rejects messages with 8-bit characters in the +- headers. Otherwise, 8-bit characters are changed to `X'. (A +- proper solution to non-ASCII characters in headers is offered by +- RFC 2047 and its predecessors.) */ ++ headers. */ + + { "rfc2046_strict", 0, SWITCH } + /* If enabled, imapd will be strict (per RFC 2046) when matching MIME +--- cyrus-imapd-2.2.10/man/deliver.8.munge8bit 2004-06-21 20:40:10.000000000 +0200 ++++ cyrus-imapd-2.2.10/man/deliver.8 2004-07-27 18:20:13.719565188 +0200 +@@ -147,8 +147,10 @@ + Accept messages using the LMTP protocol. + .SH NOTES + Depending on the setting of \fBreject8bit\fR in \fBimapd.conf(5)\fR, deliver +-either rejects messages with 8-bit-set characters in the headers or +-changes these characters to `X'. ++either rejects/accepts messages with 8-bit-set characters in the headers. ++If we accept messages with 8-bit-set characters in the headers, then depending ++on the setting of \fBmunge8bit\fR, these characters are either left un-touched ++or changed to . + This is because such characters can't be interpreted since the + character set is not known, although some communities not well-served by + US-ASCII assume that those characters can be used to represent characters not diff --git a/net-mail/cyrus-imapd/files/digest-cyrus-imapd-2.2.12 b/net-mail/cyrus-imapd/files/digest-cyrus-imapd-2.2.12 index 9ba8fcd5d938..9892eb1bb989 100644 --- a/net-mail/cyrus-imapd/files/digest-cyrus-imapd-2.2.12 +++ b/net-mail/cyrus-imapd/files/digest-cyrus-imapd-2.2.12 @@ -1 +1,3 @@ MD5 70b3bba526a8d36d3bb23a87d37e9188 cyrus-imapd-2.2.12.tar.gz 1961161 +RMD160 ff4a95e519ea066ed9b21b515b18bdacaf0d1852 cyrus-imapd-2.2.12.tar.gz 1961161 +SHA256 3c6f41255ba15d8b2ea78320dd5e0c98e07fe0b5c3c4b84bc20f503427bd1b7b cyrus-imapd-2.2.12.tar.gz 1961161 diff --git a/net-mail/cyrus-imapd/files/digest-cyrus-imapd-2.3.1 b/net-mail/cyrus-imapd/files/digest-cyrus-imapd-2.3.1 index 736ff1ce4b6d..0d886946e1f0 100644 --- a/net-mail/cyrus-imapd/files/digest-cyrus-imapd-2.3.1 +++ b/net-mail/cyrus-imapd/files/digest-cyrus-imapd-2.3.1 @@ -1 +1,3 @@ MD5 cde15876d5c953bba9ad9f7811aff695 cyrus-imapd-2.3.1.tar.gz 2212999 +RMD160 68b40b89f5558afe19886724a8bb8736139254e5 cyrus-imapd-2.3.1.tar.gz 2212999 +SHA256 79f95ed36160056f5ca60fad312fda8c6c95eafeab44f49b360b4a02790f156c cyrus-imapd-2.3.1.tar.gz 2212999 diff --git a/net-mail/cyrus-imapd/files/digest-cyrus-imapd-2.3.6 b/net-mail/cyrus-imapd/files/digest-cyrus-imapd-2.3.6 new file mode 100644 index 000000000000..d2b9c507db16 --- /dev/null +++ b/net-mail/cyrus-imapd/files/digest-cyrus-imapd-2.3.6 @@ -0,0 +1,3 @@ +MD5 5c1d6250747a7a09c8095972043cec01 cyrus-imapd-2.3.6.tar.gz 2250241 +RMD160 c7a07a2e95ca08d0348ce7de2849d56e21341eb0 cyrus-imapd-2.3.6.tar.gz 2250241 +SHA256 6fc963c7d1f34b3b3368bb14f3604c7309e1f42d157e871bc186f8832e1a9cbd cyrus-imapd-2.3.6.tar.gz 2250241 -- cgit v1.2.3-65-gdbad