--- bitlbee-3.2.1+otr4.orig/bitlbee.h +++ bitlbee-3.2.1+otr4/bitlbee.h @@ -41,7 +41,7 @@ #define BITLBEE_VERSION "3.2.1" #define VERSION BITLBEE_VERSION #define BITLBEE_VER(a,b,c) (((a) << 16) + ((b) << 8) + (c)) -#define BITLBEE_VERSION_CODE BITLBEE_VER(3, 2, 0) +#define BITLBEE_VERSION_CODE BITLBEE_VER(3, 2, 1) #define MAX_STRING 511 --- bitlbee-3.2.1+otr4.orig/configure +++ bitlbee-3.2.1+otr4/configure @@ -511,6 +511,12 @@ echo "CFLAGS+=-I${otrprefix}/include" >> Makefile.settings echo 'OTR_PI=otr.so' >> Makefile.settings fi +if [ "$otr" != 0 ] && ! pkg-config libotr --atleast-version=4.0; then + echo + echo 'WARNING: Your libotr seems to be old. BitlBee now needs at least libotr 4.0.' + # Not hard-failing because the code above doesn't use pkg-config, so who knows + # what's true at this point... +fi if [ "$skype" = "1" -o "$skype" = "plugin" ]; then if [ "$arch" = "Darwin" ]; then --- bitlbee-3.2.1+otr4.orig/debian/README.Debian +++ bitlbee-3.2.1+otr4/debian/README.Debian @@ -0,0 +1,36 @@ + *** NEWS (Version 1.2 and later) *** + +Starting from version 1.2, BitlBee has a forking daemon mode. The Debian +package now uses this mode by default, instead of inetd mode. If you don't +want to use this, you can disable the init scripts (best way to do this is +by editing /etc/default/bitlbee) and restore the inetd.conf entry. This +should be necessary only once, it won't be touched during upgrades. + +Another important change in BitlBee 1.2 is the file format used for your +personal settings. Everything's now saved in a single .xml (per account, +of course) file instead of $nick.accounts and $nick.nicks. One advantage +of this new format is that the passwords are actually encrypted instead of +just vaguely obfuscated. BitlBee can still read the old files, and will +save things in the new format when you save/disconnect. After that, you +can safely remove the old-style files (this is recommended). + +I tried making this transition (the new file format but especially, in this +case, the inetd->forkdaemon mode change) as smooth as possible, but I'm +aware that many BitlBee users will have their own hacks already to run the +program. I hope the package won't break any of this for anyone. 1.2-2 +should fix at least some of the issues. + +--------------------------------------------------------------------------- + +Debconf should have asked you on what port you want BitlBee to run. If it +did not, the port number should be 6667 or 6668. (6668 if you already got +something running at 6667) + +Fire up your favourite IRC client and connect to localhost:6667 (or 6668), +and read the documentation (type help for a list of commands). + +Have fun! + +The /usr/share/doc/bitlbee/examples/ directory contains some programs and +scripts you might like or need. They're not really examples but it's quite +normal behaviour to put small contrib stuff like that in there. --- bitlbee-3.2.1+otr4.orig/debian/bitlbee-common.config +++ bitlbee-3.2.1+otr4/debian/bitlbee-common.config @@ -0,0 +1,27 @@ +#!/bin/sh + +set -e + +. /usr/share/debconf/confmodule +[ -f /etc/default/bitlbee ] && . /etc/default/bitlbee + +db_title BitlBee + +if [ -n "$BITLBEE_PORT" ]; then + db_set bitlbee/serveport "$BITLBEE_PORT" +else + db_get bitlbee/serveport + if [ "$RET" = "stillhavetoask" ]; then + listens=$(netstat -ltn | awk '{print $4}') + for port in 6667 6666 6668 6669; do + if [ $(expr "$listens " : ".*:$port\s") = "0" ]; then + break + fi + done + db_set bitlbee/serveport $port; + fi +fi + +if db_input medium bitlbee/serveport; then + db_go; +fi --- bitlbee-3.2.1+otr4.orig/debian/bitlbee-common.docs +++ bitlbee-3.2.1+otr4/debian/bitlbee-common.docs @@ -0,0 +1,6 @@ +doc/user-guide/user-guide.txt +doc/user-guide/user-guide.html +doc/AUTHORS +doc/CREDITS +doc/FAQ +doc/README --- bitlbee-3.2.1+otr4.orig/debian/bitlbee-common.examples +++ bitlbee-3.2.1+otr4/debian/bitlbee-common.examples @@ -0,0 +1 @@ +utils/* --- bitlbee-3.2.1+otr4.orig/debian/bitlbee-common.init +++ bitlbee-3.2.1+otr4/debian/bitlbee-common.init @@ -0,0 +1,88 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: bitlbee +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start and stop BitlBee IRC to other chat networks gateway +### END INIT INFO +# +# +# Version: @(#)skeleton 2.85-23 28-Jul-2004 miquels@cistron.nl +# + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DESC="BitlBee IRC/IM gateway" +NAME=bitlbee +DAEMON=/usr/sbin/$NAME +PIDFILE=/var/run/$NAME.pid +SCRIPTNAME=/etc/init.d/$NAME + +# Gracefully exit if the package has been removed. +[ -x $DAEMON ] || exit 0 + +# Default value +BITLBEE_PORT=6667 +BITLBEE_OPTS=-F + +# Read config file if it is present. +if [ -r /etc/default/$NAME ]; then + . /etc/default/$NAME +fi + + +# +# Function that starts the daemon/service. +# +d_start() { + # Make sure BitlBee can actually write its PID... + touch $PIDFILE + chown bitlbee: $PIDFILE + + start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --exec $DAEMON -- -p $BITLBEE_PORT -P $PIDFILE $BITLBEE_OPTS +} + +# +# Function that stops the daemon/service. +# +d_stop() { + start-stop-daemon --stop --quiet --pidfile $PIDFILE \ + --name $NAME +} + + +case "$1" in + start) + [ "$BITLBEE_DISABLED" = "1" ] && exit 0 + + echo -n "Starting $DESC: $NAME" + d_start + echo "." + ;; + stop) + echo -n "Stopping $DESC: $NAME" + d_stop + echo "." + ;; + #reload) + # + # No reload target, but there's a REHASH command which we + # might use later... + # + #;; + restart|force-reload) + echo -n "Restarting $DESC: $NAME" + d_stop + sleep 1 + d_start + echo "." + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 --- bitlbee-3.2.1+otr4.orig/debian/bitlbee-common.postinst +++ bitlbee-3.2.1+otr4/debian/bitlbee-common.postinst @@ -0,0 +1,109 @@ +#!/bin/sh + +set -e + +. /usr/share/debconf/confmodule + +db_get bitlbee/serveport +PORT="$RET" + +CONFDIR=/var/lib/bitlbee/ + +update-rc.d bitlbee defaults > /dev/null 2>&1 + +## Load default option. Don't want to put this in debconf (yet?) +BITLBEE_OPTS=-F +BITLBEE_DISABLED=0 +BITLBEE_UPGRADE_DONT_RESTART=0 +[ -r /etc/default/bitlbee ] && . /etc/default/bitlbee + +if [ "$BITLBEE_DISABLED" = "0" ] && which update-inetd > /dev/null 2> /dev/null && + ( expr "$2" : '0\..*' > /dev/null || expr "$2" : '1\.0\..*' > /dev/null ); then + ## Make sure the inetd entry is gone (can still be there from a + ## previous version. + update-inetd --remove '.*/usr/sbin/bitlbee' + if grep -q /usr/sbin/bitlbee /etc/inetd.conf 2> /dev/null; then + # Thanks for breaking update-inetd! (bugs.debian.org/311111) + # I hope that it works at least with xinetd, because this + # emergency hack doesn't: + perl -pi -e 's:^[^#].*/usr/sbin/bitlbee$:## Now using daemon mode\: # $&:' /etc/inetd.conf + killall -HUP inetd || true + fi +fi + +cat</etc/default/bitlbee +## /etc/default/bitlbee: Auto-generated/updated script. +## +## If running in (fork)daemon mode, listen on this TCP port. +BITLBEE_PORT="$PORT" + +## Use single-process or forking daemon mode? Can't be changed from debconf, +## but maintainer scripts will save your changes here. +BITLBEE_OPTS="$BITLBEE_OPTS" + +## In case you want to stick with inetd mode (or if you just want to disable +## the init scripts for some other reason), you can disable the init script +## here. (Just set it to 1) +BITLBEE_DISABLED=$BITLBEE_DISABLED + +## As a server operator, you can use the RESTART command to restart only the +## master process while keeping all the child processes and their IPC +## connections. By enabling this, the maintainer scripts won't restart +## BitlBee during upgrades so you can restart the master process by hand. +BITLBEE_UPGRADE_DONT_RESTART=$BITLBEE_UPGRADE_DONT_RESTART +EOF + +## Bye-bye DebConf, we don't need you anymore. +db_stop + +## Restore the helpfile in case we weren't upgrading but just reconfiguring: +if [ -e /usr/share/bitlbee/help.upgrading ]; then + if [ -e /usr/share/bitlbee/help.txt ]; then + rm -f /usr/share/bitlbee/help.upgrading + else + mv /usr/share/bitlbee/help.upgrading /usr/share/bitlbee/help.txt + fi +fi + +# The official way to check if we're upgrading is to check if $2 is +# non-empty. However, previous versions of BitlBee didn't have a +# bitlbee-common package so in that case the var will also be empty. +# Instead, check if the port is in use (if netstat is available). This +# works since the debconf code will pick a free port on new installs. +if [ "$BITLBEE_UPGRADE_DONT_RESTART" != "1" ]; then + unset IS_UPGRADE + if which netstat > /dev/null 2> /dev/null; then + netstat -an | grep -q :$PORT\\b.*LISTEN && IS_UPGRADE=1 + else + [ -n "$2" ] && IS_UPGRADE=1 + fi + if [ -n "$IS_UPGRADE" ]; then + invoke-rc.d bitlbee restart + fi +fi + +## If we're upgrading, we'll probably skip this next part +if [ -d $CONFDIR ] && chown -R bitlbee: $CONFDIR; then + echo 'BitlBee (probably) already installed, skipping user/configdir installation' + exit 0 +fi + +adduser --system --group --disabled-login --disabled-password --home /var/lib/bitlbee/ bitlbee +chmod 700 /var/lib/bitlbee/ + +## Can't do this in packaging phase: Don't know the UID yet. Access to +## the file should be limited, now that it stores passwords. Added +## --group later for a little more security, but have to see if I can +## apply this change to existing installations on upgrades. Will think +## about that later. +if getent group bitlbee > /dev/null; then + chmod 640 /etc/bitlbee/bitlbee.conf + chown root:bitlbee /etc/bitlbee/bitlbee.conf +else + chmod 600 /etc/bitlbee/bitlbee.conf + chown bitlbee /etc/bitlbee/bitlbee.conf +fi + +if [ -z "$2" ]; then + invoke-rc.d bitlbee start +fi --- bitlbee-3.2.1+otr4.orig/debian/bitlbee-common.postrm +++ bitlbee-3.2.1+otr4/debian/bitlbee-common.postrm @@ -0,0 +1,16 @@ +#!/bin/sh + +set -e + +[ "$1" = "purge" ] || exit 0 + +if [ -e /usr/share/debconf/confmodule ]; then + . /usr/share/debconf/confmodule; + db_purge; +fi + +update-rc.d bitlbee remove > /dev/null 2>&1 || true +rm -f /etc/default/bitlbee + +deluser --system bitlbee || true +rm -rf /var/lib/bitlbee ## deluser doesn't seem to do this for homedirs in /var --- bitlbee-3.2.1+otr4.orig/debian/bitlbee-common.prerm +++ bitlbee-3.2.1+otr4/debian/bitlbee-common.prerm @@ -0,0 +1,15 @@ +#!/bin/sh + +set -e + +if [ "$1" = "upgrade" ]; then + ## To prevent the help function from breaking in currently running + ## BitlBee processes. Have to do it like this because dpkg-reconfigure + ## looks a lot like an upgrade and we don't want to lose help.txt... + if [ -e /usr/share/bitlbee/help.txt ]; then + rm -f /usr/share/bitlbee/help.upgrading + mv /usr/share/bitlbee/help.txt /usr/share/bitlbee/help.upgrading + fi +else + invoke-rc.d bitlbee stop || exit 0 +fi --- bitlbee-3.2.1+otr4.orig/debian/bitlbee-common.templates +++ bitlbee-3.2.1+otr4/debian/bitlbee-common.templates @@ -0,0 +1,8 @@ +Template: bitlbee/serveport +Type: string +Default: stillhavetoask +_Description: On what TCP port should BitlBee listen for connections? + BitlBee normally listens on the regular IRC port, 6667. This might not be + a very good idea when you're running a real IRC daemon as well. 6668 might + be a good alternative. Leaving this value blank means that BitlBee will not + be run automatically. --- bitlbee-3.2.1+otr4.orig/debian/bitlbee-dev.postinst +++ bitlbee-3.2.1+otr4/debian/bitlbee-dev.postinst @@ -0,0 +1,14 @@ +#!/bin/sh +set -e + +# Replace documentation directory with symlink +docdir="/usr/share/doc/bitlbee-dev" +if [ -d $docdir ] && [ ! -L $docdir ]; then + if rmdir $docdir 2>/dev/null; then + ln -sf bitlbee-common $docdir + fi +fi + +#DEBHELPER# + +exit 0 --- bitlbee-3.2.1+otr4.orig/debian/bitlbee-libpurple.lintian-overrides +++ bitlbee-3.2.1+otr4/debian/bitlbee-libpurple.lintian-overrides @@ -0,0 +1,2 @@ +# manpage is installed in bitlbee-common, which bitlbee depends on +bitlbee-libpurple: binary-without-manpage usr/sbin/bitlbee --- bitlbee-3.2.1+otr4.orig/debian/bitlbee-plugin-skype.docs +++ bitlbee-3.2.1+otr4/debian/bitlbee-plugin-skype.docs @@ -0,0 +1,2 @@ +protocols/skype/NEWS +protocols/skype/README --- bitlbee-3.2.1+otr4.orig/debian/bitlbee.lintian-overrides +++ bitlbee-3.2.1+otr4/debian/bitlbee.lintian-overrides @@ -0,0 +1,2 @@ +# manpage is installed in bitlbee-common, which bitlbee depends on +bitlbee: binary-without-manpage usr/sbin/bitlbee --- bitlbee-3.2.1+otr4.orig/debian/bitlbee.postinst +++ bitlbee-3.2.1+otr4/debian/bitlbee.postinst @@ -0,0 +1,14 @@ +#!/bin/sh +set -e + +# Replace documentation directory with symlink +docdir="/usr/share/doc/bitlbee" +if [ -d $docdir ] && [ ! -L $docdir ]; then + if rmdir $docdir 2>/dev/null; then + ln -sf bitlbee-common $docdir + fi +fi + +#DEBHELPER# + +exit 0 --- bitlbee-3.2.1+otr4.orig/debian/bitlbee.prerm +++ bitlbee-3.2.1+otr4/debian/bitlbee.prerm @@ -0,0 +1,7 @@ +#!/bin/sh + +set -e + +if [ "$1" != "upgrade" ]; then + invoke-rc.d bitlbee stop || exit 0 +fi --- bitlbee-3.2.1+otr4.orig/debian/changelog +++ bitlbee-3.2.1+otr4/debian/changelog @@ -0,0 +1,642 @@ +bitlbee (3.2.1+otr4-1build1) utopic; urgency=high + + * No change rebuild against gnutls28. + + -- Dimitri John Ledkov Fri, 15 Aug 2014 23:07:48 +0100 + +bitlbee (3.2.1+otr4-1) unstable; urgency=low + + * New upstream version, fixes Twitter API compatibility (now using HTTP/1.1). + (Closes: #731748) + * Define _GNU_SOURCE via cmdline instead of include file. (Closes: #703550) + * Restore OTR support. (Closes: #711071) + - This is not part of the 3.2.1 release but really should have been. + - Package still has a libotr2-dev dependency even though it doesn't work + with that anymore. It's a hack so I can at least still do pbuilder + builds on older distros. (Just with the otr pkg disabled.) + + -- Wilmer van der Gaast Thu, 19 Dec 2013 01:11:52 +0100 + +bitlbee (3.2-1.2) unstable; urgency=low + + [ Cyril Brulebois ] + * Disable libotr support (hopefully temporarily) for the transition from + libotr2 to libotr5 (Closes: #711071): + - debian/control: Drop bitlbee-plugin-otr package. + - debian/rules: Adjust DH_OPTIONS handling, drop support for + bitlbee-plugin-otr, and pass --otr=0 to configure. + + [ Antoine Beaupré ] + * Non-maintainer upload. + + -- Antoine Beaupré Tue, 24 Sep 2013 16:04:04 +0200 + +bitlbee (3.2-1.1) unstable; urgency=low + + * Non-maintainer upload. + * Switch the order of (lib)gnutls-dev Build-Depends to libgnutls-dev | + gnutls-dev. (Closes: #698236) + + -- Sebastian Ramacher Mon, 04 Mar 2013 23:52:07 +0100 + +bitlbee (3.2-1) unstable; urgency=high + + * New upstream release. + * Depend on gnutls-dev instead of libgnutls-dev. (Closes: #691766) + * Also, drop nss dependency. GnuTLS is supported officially, the rest is + use-at-your-own-risk (so compile it yourself). + + -- Wilmer van der Gaast Mon, 14 Jan 2013 22:34:06 +0000 + +bitlbee (3.0.6-1) unstable; urgency=low + + * New upstream release. + + -- Wilmer van der Gaast Sun, 28 Oct 2012 19:58:33 +0000 + +bitlbee (3.0.5-1.2) unstable; urgency=low + + * Non-maintainer upload. + * debian/bitlbee{,-dev}.postinst: Fix directory to symlink upgrade in + postinst. (Closes: #687865) + + -- David Prévot Wed, 26 Sep 2012 23:20:41 -0400 + +bitlbee (3.0.5-1.1) unstable; urgency=low + + * Non-maintainer upload. + * Fix "fails to install, purge, and install again": + remove --remove-home option from deluser call in bitlbee-common.postrm. + The option needs perl-modules which is not guaranteed to be there, and the + directory gets removed manually anyway. + (Closes: #681146) + + -- gregor herrmann Thu, 26 Jul 2012 18:44:36 +0200 + +bitlbee (3.0.5-1) unstable; urgency=low + + * New upstream release. + * Full SSL certificate verification. apt-get install ca-certificates and + uncomment the CAfile line in bitlbee.conf to activate it. + * Removed some version override stuff from Debian build scripts. Instead, + my buildbot now uses dch to generate a changelog entry with the right + version number. + + -- Wilmer van der Gaast Sat, 18 Feb 2012 12:25:47 +0100 + +bitlbee (3.0.4+bzr855-1) unstable; urgency=low + + * New upstream release. + * This is not a vanilla 3.0.4 tree but a Bazaar snapshot. The source + release was a few weeks ago by now. There should be no significant + differences. + * Added bitlbee-plugin-skype and skyped packages, now part of BitlBee + instead of a separate package. Not building these for Debian for now + though since python-skype was removed. + * ^B and some other things are stripped in outgoing XMPP stanzas. + (Closes: #507856) + * OTR module linking fix. Not with the fix from the Debian bug but with + one from bugs.bitlbee.org. I hope that covers it. (Closes: #646369) + * Closing a few old bugs that were filed against the Debian package + instead of/as well as upstream: + - Joining password-protected MUCs is working for a while already, set + the password using "chan set". (Closes: #615624) + - "Headline:" msgs (Closes: #605459) + - Yahoo! was fixed long ago and Etch is deprecated. (Closes: #476529) + - identi.ca support is documented. (Closes: #613789) + + -- Wilmer van der Gaast Tue, 20 Dec 2011 12:46:42 +0100 + +bitlbee (3.0.3-1.1) unstable; urgency=low + + * Non-maintainer upload. + * Use the standard ${source:Version} and ${binary:Version} substvars instead + of the custom and broken ${bee:Version} (closes: #651612). + + -- Julien Cristau Thu, 15 Dec 2011 20:34:32 +0100 + +bitlbee (3.0.3-1) unstable; urgency=low + + * New upstream release. (Skipped 3.0.2, sorry!) + * Fixes Twitter issues. + + -- Wilmer van der Gaast Tue, 14 Jun 2011 22:39:22 +0100 + +bitlbee (3.0.1-1) unstable; urgency=low + + * New upstream release. + * Includes changes from non-maintainer, see below. (Closes #603681) + + -- Wilmer van der Gaast Sat, 04 Dec 2010 11:50:53 +0000 + +bitlbee (3.0-2) UNRELEASED; urgency=low + + * debian/bitlbee-common.postinst: Replace 'type' with 'which' to avoid + bashism. + * debian/{*.prerm, *.postinst, *.postrm, *.config}: use set -e in the body + of maintainer scripts. + * debian/control: + + Corrected short description of bitlbee-plugin-otr + + Bumped Standards-Version to 3.9.1 + + Added ${misc:Depends} for bitlbee & bitlbee-libpurple + + Moved dependency on adduser to bitlbee-common + + Bumped debhelper version to 6.0.7~ for dh_lintian + * debian/copyright: Refer to /usr/share/common-licenses/GPL-2 + * Added lintian overrides for bitlbee & bitlbee-libpurple + * Explicitly set source format to 1.0 + * debian/bitlbee-common.init: + + Add Short-Description header. + + Also stop at runlevels 0 and 6. + + -- أحمد المحمودي (Ahmed El-Mahmoudy) Mon, 25 Oct 2010 16:56:24 +0200 + +bitlbee (3.0-1) unstable; urgency=low + + * A milestone upstream release. See the non-Debian changelog. + * Now using debhelper to improve maintainability. + * Added a bitlbee-libpurple package, and split off docs and stuff into + bitlbee-common. + * Added a bitlbee-plugin-otr package. (Closes: #541809) + * Can use IPv6 on the client side now. (Closes: #547300) + * Added Danish debconf translations done by Joe Dalton. (Closes: #592259) + + -- Wilmer van der Gaast Wed, 18 Aug 2010 00:53:11 +0100 + +bitlbee (1.2.8-1) unstable; urgency=low + + * New upstream version. + + -- Wilmer van der Gaast Sat, 10 Jul 2010 13:54:55 +0100 + +bitlbee (1.2.7-1) unstable; urgency=high + + * New upstream version. + * Fixes MSN Messenger login issues, so uploading at high priority. + + -- Wilmer van der Gaast Sat, 15 May 2010 16:15:57 +0100 + +bitlbee (1.2.6a-1) unstable; urgency=low + + * New upstream version. + * Native support for Twitter. + * Fixed /WHOIS response format. (Closes: #576120) + * Problems with bitlbee-skype are solved by now. (Closes: #575572) + + -- Wilmer van der Gaast Tue, 20 Apr 2010 00:34:51 +0200 + +bitlbee (1.2.5-1) unstable; urgency=low + + * New upstream version. + * Fixed issues with server-side MSN nickname corruption. (Closes: #538756) + * Debconf translation fixes/additions. (Closes: #541754, #563504) + + -- Wilmer van der Gaast Wed, 17 Mar 2010 14:59:27 +0000 + +bitlbee (1.2.4-2) unstable; urgency=low + + * Merging in some changes from bzr-head: + * Use libresolv.so where possible. (Closes: #551775) + * Some include file changes that make the bitlbee-dev package useful again. + + -- Wilmer van der Gaast Thu, 19 Nov 2009 23:02:43 +0000 + +bitlbee (1.2.4-1) unstable; urgency=low + + * New upstream version. + * Fixed issues with Yahoo! (Closes: #536178) + + -- Wilmer van der Gaast Sat, 17 Oct 2009 18:12:45 +0100 + +bitlbee (1.2.3-2) unstable; urgency=low + + * Fixed bitblee typo in prerm (introduced by NMU 1.2.1-1.1). + (Closes: #531287) + * Fixed bitlbee.deb dep in bitlbee-dev to deal with binary NMUs. + (Closes: #531219) + * Fixed free port detection code in debian/config which was a bit limited + and also buggy. + * Removing code that edits bitlbee.conf from postinst (and chown code in + the init script), it's not really necessary anymore; bitlbee may only + still run as root if the admin doesn't read conffile diffs. + (Closes: #514572) + * No longer overwriting port number info in /etc/default/bitlbee with + what's in debconf. (Closes: #514148) + * Added notes about the above two changes to bitlbee.conf. + + -- Wilmer van der Gaast Sun, 07 Jun 2009 21:17:39 +0100 + +bitlbee (1.2.3-1) unstable; urgency=critical + + * New upstream version. + * Fixes another account hijacking issue. (Closes: #498159) + * Restored --pidfile argument to start-stop-daemon, otherwise the init + script fails to restart BitlBee when users are connected. + + -- Wilmer van der Gaast Sun, 07 Sep 2008 18:53:04 +0100 + +bitlbee (1.2.2-1) unstable; urgency=critical + + * New upstream version. + * Fixes a security issue (account hijacking), hence the high priority. + * Using a patch to set the User setting in bitlbee.conf properly to keep + upstream and Debian properly separated in my bzr tree. + + -- Wilmer van der Gaast Wed, 27 Aug 2008 23:59:50 +0100 + +bitlbee (1.2.1-3) unstable; urgency=high + + * chown /var/lib/bitlbee/*.xml to bitlbee:bitlbee to clean up after + 1.2-5 and the bugfix in 1.2.1-2. (Closes: #495877) + * Moved BITLBEE_DISABLED check to only check when trying to *start* + the daemon. (Closes: #488611) + + -- Wilmer van der Gaast Sat, 23 Aug 2008 18:53:54 +0100 + +bitlbee (1.2.1-2) unstable; urgency=low + + * Properly set the User= line to something sensible so BitlBee won't + run as root anymore. 1.2-5 was a bad upload. :-( (Closes: #494656) + + -- Wilmer van der Gaast Tue, 12 Aug 2008 00:36:03 +0100 + +bitlbee (1.2.1-1.1) unstable; urgency=low + + * Non-Maintainer Upload + * Use invoke-rc.d as per policy. (Closes: #492637) [Thanks to Matt + Kraai] + + -- Don Armstrong Wed, 06 Aug 2008 06:57:18 -0700 + +bitlbee (1.2.1-1) unstable; urgency=low + + * New upstream release. + * Add Homepage and Vcs-Bzr fields. (From Jelmer.) + + -- Wilmer van der Gaast Thu, 26 Jun 2008 00:07:50 +0100 + +bitlbee (1.2-5) unstable; urgency=low + + * Add myself to uploaders. + * Bump standards version to 3.8.0. + * Fix FSF address. + * Avoid changing uid from init script. (Closes: #474589) + + -- Jelmer Vernooij Mon, 16 Jun 2008 00:53:20 +0200 + +bitlbee (1.2-4) unstable; urgency=low + + * Fixed init script to use the BITLBEE_OPTS variable, not an undefined + DAEMON_OPT. (Closes: #474583) + * Added dependency information to the init script. (Closes: #472567) + * Added bitlbee-dev package. Patch from RISKO Gergely + with some small modifications. (Closes: #473480) + + -- Wilmer van der Gaast Wed, 07 May 2008 22:40:40 -0700 + +bitlbee (1.2-3) unstable; urgency=low + + * Removed DEB_BUILD_OPTIONS again (forgot to apply that change to the 1.2 + branch when I finished 1.0.4-2, things diverged too much anyway.) + Closes: #472540. + + -- Wilmer van der Gaast Mon, 24 Mar 2008 21:10:14 +0000 + +bitlbee (1.2-2) unstable; urgency=low + + * Fixed some packaging issues reported by IRC and e-mail. (Closes: #472373) + * Fixed proxy support. (Closes: #472395) + * Added a BitlBee group so only root can edit the configs and BitlBee can + just *read* it. + * Manually deleting /var/lib/bitlbee/ when purging, deluser doesn't want to + do it. + + -- Wilmer van der Gaast Mon, 24 Mar 2008 19:48:24 +0000 + +bitlbee (1.2-1) unstable; urgency=low + + * New upstream release. (Closes: #325017, #386914, #437515) + * With hopefully completely sane charset handling (Closes: #296145) + * Switched to the new forking daemon mode. Added /etc/default/bitlbee + file, an init script. People who want to stick with inetd can do so, see + the defaults file. + (Closes: #460741, #466171, #294585, #345038, #306452, #392682) + * Got rid of debconf Woody compatibility stuff. + * No more MPL code in BitlBee, thanks to the Jabber module rewrite! + * Added Italian translation, sorry for taking so long! (Closes: #448238) + * Added libevent dependency (more reliable event handling). + * Removed GLib 1.x dependency because BitlBee really requires GLib >=2.4. + + -- Wilmer van der Gaast Tue, 18 Mar 2008 23:44:19 +0000 + +bitlbee (1.0.4-2) unstable; urgency=low + + * Removed $DEB_BUILD_OPTIONS because apparently buildds fill it with crap. + (Closes: #458717) + + -- Wilmer van der Gaast Mon, 11 Feb 2008 19:15:33 +0000 + +bitlbee (1.0.4-1) unstable; urgency=low + + * New upstream release. + * Changed libnss-dev dependency. (Closes: #370442) + * Added build-indep rule to debian/rules. (Closes: #395673) + + -- Wilmer van der Gaast Wed, 29 Aug 2007 20:24:28 +0100 + +bitlbee (1.0.3-1.3) unstable; urgency=low + + * Non-maintainer upload to fix a minor error. + * Remove extra debian/#rules# + + -- Christian Perrier Tue, 20 Feb 2007 07:49:18 +0100 + +bitlbee (1.0.3-1.2) unstable; urgency=low + + * Non-maintainer upload to fix pending l10n issues. + * Debconf translations: + - Portuguese. Closes: #386348 + + -- Christian Perrier Sun, 18 Feb 2007 20:23:28 +0100 + +bitlbee (1.0.3-1.1) unstable; urgency=low + + * Non-maintainer upload. + * debian/control: Replace netkit-inetd dependency with a versioned + dependency on netbase. netbase provides the appropriate inetd + dependency. Closes: #382682. + + -- Roger Leigh Sun, 20 Aug 2006 17:07:02 +0100 + +bitlbee (1.0.3-1) unstable; urgency=low + + * New upstream release. + + -- Wilmer van der Gaast Sat, 8 Jul 2006 11:32:57 +0200 + +bitlbee (1.0.2-2) unstable; urgency=low + + * Added a po-debconf build-dependency, which I forgot when removing the + Woody hack from 1.0.2-1. (Closes: #361503) + + -- Wilmer van der Gaast Sat, 8 Apr 2006 22:09:19 +0200 + +bitlbee (1.0.2-1) unstable; urgency=low + + * New upstream release. + * Avoids calling update-inetd if it's unavailable. (Closes: #350463) + * Also using userdel instead of deluser now to avoid another bug. :-) + * Only creates an inetd.conf entry when installing for the first time. + (Closes: #349570) (This unfortunately breaks dpkg-reconfigure, but at + least there's a warning...) + + -- Wilmer van der Gaast Sat, 8 Apr 2006 14:17:52 +0200 + +bitlbee (1.0.1-1) unstable; urgency=low + + * New upstream release + + -- Wilmer van der Gaast Tue, 17 Jan 2006 17:26:20 +0100 + +bitlbee (1.0-1) unstable; urgency=low + + * New upstream release + * bitlbee has a useless Build-Depends: on debconf-2.0 (Closes: + #341783) + + -- Wilmer van der Gaast Mon, 5 Dec 2005 17:59:07 +0100 + +bitlbee (0.99-1) unstable; urgency=low + + * Should build on Debian GNU/kFreeBSD now. (Closes: #336965) + * New upstream version. + + -- Wilmer van der Gaast Thu, 3 Nov 2005 21:06:53 +0100 + +bitlbee (0.93a-1) unstable; urgency=low + + * Added Swedish and Spanish translations. (Closes: #333881, #331302) + * Changed debconf dependency. (Closes: #331762) + * Changed libgnutls dependency. (Closes: #335751) + * Fixed one crash-on-disconnect bug in the OSCAR module. + + -- Wilmer van der Gaast Tue, 1 Nov 2005 18:25:56 +0100 + +bitlbee (0.92-2) unstable; urgency=low + + * Added the patch that allows to connect to alternate Jabber servers. + Necessary for connecting to Google Talk. (Closes: #324832) + * Also possibly fixes some more problems with losing data when disk is + full. + * Added Vietnamese and Brazilian DebConf translations. Sorry for being + so late. (Closes: #297058, #313158) + + -- Wilmer van der Gaast Thu, 8 Sep 2005 19:55:56 +0200 + +bitlbee (0.92-1) unstable; urgency=low + + * New upstream release. + * Implemented support for the IRC WATCH command and got rid of the + IRC_MAX_ARGS limit. (Closes: #283504) + * Added Czech translation. (Closes: #293615) + + -- Wilmer van der Gaast Thu, 24 Feb 2005 17:11:32 +0100 + +bitlbee (0.91-3) unstable; urgency=low + + * Fixed a small bug in postrm which caused problems when removing/upgrading. + + -- Wilmer van der Gaast Sun, 10 Oct 2004 08:59:52 +0200 + +bitlbee (0.91-2) unstable; urgency=low + + * Removed the part that messes with tcpd configuration files because it + causes troubles for some people and because it's no problem for users + to edit those files by hand. (Closes: #275418) + When upgrading from previous versions, the bitlbee line won't be removed + from your tcpd conffiles. (This is only done when purging a BitlBee + install) You don't have to worry about BitlBee suddenly opening for the + whole world because of the removal of this feature. + * Updated German translation. (Closes: #274655) + * Removed the unreliable check for an existing BitlBee installation (a + /etc/passwd grep) and replaced it with something more reliable. + + -- Wilmer van der Gaast Sat, 9 Oct 2004 19:06:33 +0200 + +bitlbee (0.91-1) unstable; urgency=low + + * info-command works for Jabber connections now. (Closes: #232712) + * Saner code for duplicate nickname prevention. (Closes: #234285) + * Support for Jabber connections over SSL. (Closes: #252458) + * If the user chooses for noinetd.conf installation, this setting is now + remembered during reinstalls. (Closes: #260533) + * An up-to-date Japanse DebConf template. (Closes: #271091) + + -- Wilmer van der Gaast Sat, 25 Sep 2004 18:18:17 +0200 + +bitlbee (0.90a-2) unstable; urgency=low + + * Using libgnutls11 now. (Closes: #264740) + * postinst no longer appends newlines to hosts.* because grep already + makes sure the last line is terminated with a newline. (Closes: #253278) + * Added Japanese DebConf templates. (Closes: #259801) + * Installing BitlBee in inetd.conf is now optional. (Closes: #260533) + + -- Wilmer van der Gaast Mon, 6 Sep 2004 20:04:22 +0200 + +bitlbee (0.90a-1) unstable; urgency=low + + * New upstream release. + + -- Wilmer van der Gaast Mon, 28 Jun 2004 20:30:26 +0200 + +bitlbee (0.90-1) unstable; urgency=low + + * New upstream release. + * Added German DebConf translation. (Closes: #250787) + + -- Wilmer van der Gaast Sat, 29 May 2004 11:51:56 +0200 + +bitlbee (0.85a-1) unstable; urgency=low + + * New upstream release. This one should fix build problems on arm. + + -- Wilmer van der Gaast Thu, 25 Mar 2004 00:12:33 +0100 + +bitlbee (0.85-1) unstable; urgency=low + + * New upstream release. + * This version has a command line switch to specify alternate configuration + files/settings directories. (Closes: #207060) + + -- Wilmer van der Gaast Sat, 13 Mar 2004 22:19:35 +0100 + +bitlbee (0.84-2) unstable; urgency=low + + * Converted debconf templates to po2debconf format, without breaking + building on older (non-po2debconf) systems. Thanks to Martin Quinson. + (Closes: #205816) + * Added French debconf templates. Thanks to Christian Perrier. + (Closes: #206593) + + -- Wilmer van der Gaast Wed, 3 Mar 2004 21:19:12 +0100 + +bitlbee (0.84-1) unstable; urgency=low + + * New upstream release. + + -- Wilmer van der Gaast Fri, 13 Feb 2004 20:13:53 +0100 + +bitlbee (0.83-2) unstable; urgency=low + + * Removed libsoup dependency, BitlBee now uses libgnutls directly. + (Closes: #208475, #230895) + * Now including preprocessed documentation files to save some time on + slow buildd's (and fix build problems on archs without a working + sgmltools package). + + -- Wilmer van der Gaast Fri, 6 Feb 2004 01:26:27 +0100 + +bitlbee (0.83-1) unstable; urgency=low + + * Added bitlbee.conf to conffiles. Should've done that before, sorry. + * Sorry, still with MSN support disabled, because Debian's default + libsoup package won't work with BitlBee-MSN. + + -- Wilmer van der Gaast Wed, 31 Dec 2003 00:56:57 +0100 + +bitlbee (0.82-1) unstable; urgency=low + + * New upstream release. + * Disabled MSN support in the Debian version for now, because it needs + a patched version of libsoup. If you want MSN support, you'll have to + create one yourself and install a patched version of libsoup. + + -- Wilmer van der Gaast Fri, 31 Oct 2003 21:51:01 +0100 + +bitlbee (0.81a-1) unstable; urgency=low + + * New upstream release. + + -- Wilmer van der Gaast Wed, 16 Oct 2003 16:21:31 +0200 + +bitlbee (0.81-1) unstable; urgency=low + + * New upstream release. + * Fixes Yahoo! problems. (Closes: #213876) + + -- Wilmer van der Gaast Wed, 15 Oct 2003 16:00:00 +0200 + +bitlbee (0.80-1) unstable; urgency=low + + * New upstream release. + * preinst now unlinks the old helpfile while upgrading, see README.Debian + for details. + * 'Upgraded' to standards 3.5.9. + * "jabber: Non-ascii away messages not supported" patch included. + (Closes: #195852) + + -- Wilmer van der Gaast Tue, 24 Jun 2003 20:00:00 +0200 + +bitlbee (0.74a-1) unstable; urgency=low + + * This one actually does contain the bugfix 0.74 should've had. + + -- Wilmer van der Gaast Wed, 11 Jun 2003 13:44:01 +0200 + +bitlbee (0.74-1) unstable; urgency=high + + * Security release, fixing a little not-too-dangerous security bug. + + -- Wilmer van der Gaast Tue, 10 Jun 2003 22:50:19 +0200 + +bitlbee (0.73-1) unstable; urgency=low + + * New upstream release. + + -- Wilmer van der Gaast Sun, 13 Apr 2003 01:20:49 +0200 + +bitlbee (0.72-2) unstable; urgency=low + + * Now uses '127.0.0.1' as default for hosts.allow instead of 'localhost'. + (Closes: #174219) + * Fixed some other portability issues. (Closes: #177394) + * Added w3m builddep, needed for .txt documentation generation. + * Removed jadetex builddep because it seems not to be necessary after all. + + -- Wilmer van der Gaast Tue, 21 Jan 2003 01:35:46 +0100 + +bitlbee (0.72-1) unstable; urgency=low + + * BitlBee doesn't have tcpd in it anymore; external tcpd is used now. + * Added an examples/ directory. + * Fixed arm/ppc/s390 portability issue on char signedness. (Closes: #161026) + + -- Wilmer van der Gaast Thu, 19 Dec 2002 00:24:29 +0100 + +bitlbee (0.71-1) unstable; urgency=low + + * New upstream release. + + -- Wilmer van der Gaast Mon, 16 Sep 2002 01:02:09 +0200 + +bitlbee (0.7-2) unstable; urgency=low + + * Second try at a good upload. + + -- Wilmer van der Gaast Thu, 15 Aug 2002 20:14:54 +0200 + +bitlbee (0.7-1) unstable; urgency=low + + * First public release. (Closes: #153190) + + -- Wilmer van der Gaast Sat, 10 Aug 2002 04:47:07 +0200 + +bitlbee (0.6-1) unstable; urgency=low + + * Initial Release. (Testing only, not for release.) + + -- Wilmer van der Gaast Wed, 10 Jul 2002 11:02:28 +0200 + +Local variables: +mode: debian-changelog +End: --- bitlbee-3.2.1+otr4.orig/debian/compat +++ bitlbee-3.2.1+otr4/debian/compat @@ -0,0 +1 @@ +6 --- bitlbee-3.2.1+otr4.orig/debian/control +++ bitlbee-3.2.1+otr4/debian/control @@ -0,0 +1,93 @@ +Source: bitlbee +Section: net +Priority: optional +Maintainer: Wilmer van der Gaast +Uploaders: Jelmer Vernooij +Standards-Version: 3.9.1 +Build-Depends: libglib2.0-dev (>= 2.4), libevent-dev, libgnutls-dev | gnutls-dev, po-debconf, libpurple-dev, libotr5-dev | libotr2-dev, debhelper (>= 6.0.7~), asciidoc +Homepage: http://www.bitlbee.org/ +Vcs-Bzr: http://code.bitlbee.org/bitlbee/ +DM-Upload-Allowed: yes + +Package: bitlbee +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, debianutils (>= 1.16), bitlbee-common (= ${source:Version}) +Conflicts: bitlbee-libpurple +Replaces: bitlbee-libpurple +Description: An IRC to other chat networks gateway (default version) + This program can be used as an IRC server which forwards everything you + say to people on other chat networks: Jabber (which includes Google Talk + and Facebook Chat), ICQ, AIM, MSN, Yahoo! and Twitter/Identica/Status.net. + +Package: bitlbee-libpurple +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, debianutils (>= 1.16), bitlbee-common (= ${source:Version}) +Conflicts: bitlbee +Replaces: bitlbee +Description: An IRC to other chat networks gateway (using libpurple) + This program can be used as an IRC server which forwards everything you + say to people on other chat networks: Jabber (which includes Google Talk + and Facebook Chat), ICQ, AIM, MSN, Yahoo! and Twitter/Identica/Status.net. + . + This package contains a version of BitlBee that uses the libpurple instant + messaging library instead of built-in code, which adds support for more IM + protocols (all protocols supported by Pidgin/Finch) and features (like file + transfers), at the price of being less lightweight. + . + If you don't need the extra features, it's better to use the built-in code. + +Package: bitlbee-common +Architecture: all +Depends: ${misc:Depends}, net-tools, adduser +Replaces: bitlbee +Description: An IRC to other chat networks gateway (common files/docs) + This program can be used as an IRC server which forwards everything you + say to people on other chat networks: Jabber (which includes Google Talk + and Facebook Chat), ICQ, AIM, MSN, Yahoo! and Twitter/Identica/Status.net. + . + This package contains common files (mostly documentation) for bitlbee and + bitlbee-libpurple. + +Package: bitlbee-dev +Architecture: all +Depends: ${misc:Depends}, bitlbee (>= ${source:Version}), bitlbee (<< ${source:Version}.1~), bitlbee-common (= ${source:Version}) +Description: An IRC to other chat networks gateway (dev files) + This program can be used as an IRC server which forwards everything you + say to people on other chat networks: Jabber (which includes Google Talk + and Facebook Chat), ICQ, AIM, MSN, Yahoo! and Twitter/Identica/Status.net. + . + This package holds development stuff for compiling plug-ins. + +Package: bitlbee-plugin-otr +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, bitlbee (= ${binary:Version}) | bitlbee-libpurple (= ${binary:Version}), bitlbee-common (= ${source:Version}) +Description: An IRC to other chat networks gateway (OTR plugin) + This program can be used as an IRC server which forwards everything you + say to people on other chat networks: Jabber (which includes Google Talk + and Facebook Chat), ICQ, AIM, MSN, Yahoo! and Twitter/Identica/Status.net. + . + This package contains a plugin that adds support for Off-The-Record + encryption of instant messages. + +Package: bitlbee-plugin-skype +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, bitlbee (= ${binary:Version}) | bitlbee-libpurple (= ${binary:Version}), bitlbee-common (= ${source:Version}) +Recommends: skyped +Description: An IRC to other chat networks gateway (Skype plugin) + This program can be used as an IRC server which forwards everything you + say to people on other chat networks: Jabber (which includes Google Talk + and Facebook Chat), ICQ, AIM, MSN, Yahoo! and Twitter/Identica/Status.net. + . + This package contains a plugin that adds support for the Skype IM network. + You need to download and install the Skype client for this to work. + +Package: skyped +Architecture: all +Depends: ${misc:Depends}, ${shlibs:Depends}, python (>= 2.5), python-gnutls, python-skype (>=0.9.28.7) +Recommends: skype +Description: Daemon to control Skype remotely + Daemon to control the GUI Skype client. Currently required to control Skype + from the BitlBee IRC2IM gateway. Skyped and Skype can run on a different + host than the BitlBee server, the communication is encrypted. + . + You need to download and install the Skype client for this to work. --- bitlbee-3.2.1+otr4.orig/debian/copyright +++ bitlbee-3.2.1+otr4/debian/copyright @@ -0,0 +1,55 @@ +This package was debianized by Wilmer van der Gaast on +Mon, 8 Jul 2002 13:17:42 +0200. + +The source can be downloaded from http://www.bitlbee.org/ + +Authors: Wilmer van der Gaast, Sjoerd Hemminga, Jelmer Vernooij, + Maurits Dijkstra, Geert Mulders, Miklos Vajna and others. + +Mainly Copyright 2002-2012 Wilmer van der Gaast. + + +Bits of third party code, also GPLed: +* Some parts (mostly protocols/oscar/) are borrowed from Gaim (version + 0.58), now known as Pidgin . +* protocols/yahoo/ is libyahoo2 . + +Other license (but GPL-compatible): +* lib/json.[ch] is from and licensed + under the modified BSD license. + + +BitlBee License: + +============================================================================ + 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 file /usr/share/common-licenses/GPL-2; + if not, write to the Free Software Foundation, Inc., 51 Franklin St, + Fifth Floor, Boston, MA 02110-1301, USA. +============================================================================ + + + +The SGML-formatted documentation is written by Jelmer Vernooij + under the GNU Free Documentation License: + +============================================================================ +Copyright (c) 2002-2012 Jelmer Vernooij, Wilmer van der Gaast. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.1 or +any later version published by the Free Software Foundation; with no +Invariant Sections, with no Front-Cover Texts, and with no Back-Cover +Texts. A copy of the license is included in the section entitled `GNU +Free Documentation License''. +============================================================================ --- bitlbee-3.2.1+otr4.orig/debian/patches/bitlbee.conf.diff +++ bitlbee-3.2.1+otr4/debian/patches/bitlbee.conf.diff @@ -0,0 +1,22 @@ +--- bitlbee.conf 2009-06-01 00:20:24.000000000 +0100 ++++ bitlbee.conf 2009-06-07 21:16:19.000000000 +0100 +@@ -23,13 +23,18 @@ + ## If BitlBee is started by root as a daemon, it can drop root privileges, + ## and change to the specified user. + ## +-# User = bitlbee ++## DEBIAN NOTE: Without this, BitlBee will run as root! ++## ++User = bitlbee + + ## DaemonPort/DaemonInterface: + ## + ## For daemon mode, you can specify on what interface and port the daemon + ## should be listening for connections. + ## ++## DEBIAN NOTE: The init script passes the -p flag to use the port number ++## set using debconf, this overrides the DaemonPort setting here. ++## + # DaemonInterface = 0.0.0.0 + # DaemonPort = 6667 + --- bitlbee-3.2.1+otr4.orig/debian/po/POTFILES.in +++ bitlbee-3.2.1+otr4/debian/po/POTFILES.in @@ -0,0 +1 @@ +[type: gettext/rfc822deb] bitlbee-common.templates --- bitlbee-3.2.1+otr4.orig/debian/po/cs.po +++ bitlbee-3.2.1+otr4/debian/po/cs.po @@ -0,0 +1,44 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +msgid "" +msgstr "" +"Project-Id-Version: bitlbee\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2004-09-25 18:12+0200\n" +"PO-Revision-Date: 2005-02-04 12:31+0100\n" +"Last-Translator: Miroslav Kure \n" +"Language-Team: Czech \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:4 +msgid "On what TCP port should BitlBee listen for connections?" +msgstr "Na kterm TCP portu m BitlBee naslouchat pchozm spojenm?" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:4 +msgid "" +"BitlBee normally listens on the regular IRC port, 6667. This might not be a " +"very good idea when you're running a real IRC daemon as well. 6668 might be " +"a good alternative. Leaving this value blank means that BitlBee will not be " +"run automatically." +msgstr "" +"BitlBee normln naslouch na bnm IRC portu 6667. Pokud mte sputn i " +"reln IRC daemon, tak to nemus bt nejlep npad. Vhodn alternativa me " +"bt 6668. Ponechte-li pole przdn, znamen to, e se BitlBee nebude " +"spoutt automaticky." --- bitlbee-3.2.1+otr4.orig/debian/po/da.po +++ bitlbee-3.2.1+otr4/debian/po/da.po @@ -0,0 +1,36 @@ +# Danish translation bitlbee. +# Copyright (C) 2010 bitlbee & nedenstående oversættere. +# This file is distributed under the same license as the bitlbee package. +# Joe Hansen (joedalton2@yahoo.dk), 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: bitlbee\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-07-11 10:28+0200\n" +"PO-Revision-Date: 2010-08-08 17:30+01:00\n" +"Last-Translator: Joe Hansen \n" +"Language-Team: Danish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: string +#. Description +#: ../templates:1001 +msgid "On what TCP port should BitlBee listen for connections?" +msgstr "På hvilken TCP-port skal BitlBee lytte efter forbindelser?" + +#. Type: string +#. Description +#: ../templates:1001 +msgid "" +"BitlBee normally listens on the regular IRC port, 6667. This might not be a " +"very good idea when you're running a real IRC daemon as well. 6668 might be " +"a good alternative. Leaving this value blank means that BitlBee will not be " +"run automatically." +msgstr "" +"BitlBee lytter normalt på den regulære IRC-port, 6667. Dette er måske ikke " +"nogen god ide, når du også kører en reel IRC-dæmon. 6668 er måske et godt " +"alternativ. Hvis du efterlader denne værdi blank, betyder det, at BitlBee ikke " +"vil køre automatisk." --- bitlbee-3.2.1+otr4.orig/debian/po/de.po +++ bitlbee-3.2.1+otr4/debian/po/de.po @@ -0,0 +1,45 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans# +# Developers do not need to manually edit POT or PO files. +# Erik Schanze , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: bitlbee_0.90a-2_de\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2004-09-25 18:12+0200\n" +"PO-Revision-Date: 2004-10-03 14:33+0200\n" +"Last-Translator: Erik Schanze \n" +"Language-Team: German \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:4 +msgid "On what TCP port should BitlBee listen for connections?" +msgstr "An welchem TCP-Port soll BitlBee auf Verbindungen warten?" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:4 +msgid "" +"BitlBee normally listens on the regular IRC port, 6667. This might not be a " +"very good idea when you're running a real IRC daemon as well. 6668 might be " +"a good alternative. Leaving this value blank means that BitlBee will not be " +"run automatically." +msgstr "" +"BitlBee lauscht normalerweise an dem üblichen IRC-Port 6667. Dies ist aber " +"keine gute Idee, wenn Sie außerdem noch einen richtigen IRC-Dienst " +"betreiben. Das Port 6668 ist eine gute Alternative. Wenn Sie keinen Wert " +"eingeben, wird BitlBee nicht automatisch starten." --- bitlbee-3.2.1+otr4.orig/debian/po/es.po +++ bitlbee-3.2.1+otr4/debian/po/es.po @@ -0,0 +1,61 @@ +# bitlbee po-debconf translation to Spanish +# Copyright (C) 2005 Software in the Public Interest +# This file is distributed under the same license as the bitlbee package. +# +# Changes: +# - Initial translation +# César Gómez Martín +# +# +# Traductores, si no conoce el formato PO, merece la pena leer la +# documentación de gettext, especialmente las secciones dedicadas a este +# formato, por ejemplo ejecutando: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# Equipo de traducción al español, por favor, lean antes de traducir +# los siguientes documentos: +# +# - El proyecto de traducción de Debian al español +# http://www.debian.org/intl/spanish/ +# especialmente las notas de traducción en +# http://www.debian.org/intl/spanish/notas +# +# - La guía de traducción de po's de debconf: +# /usr/share/doc/po-debconf/README-trans +# o http://www.debian.org/intl/l10n/po-debconf/README-trans +# +msgid "" +msgstr "" +"Project-Id-Version: bitlbee\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2004-09-25 18:12+0200\n" +"PO-Revision-Date: 2005-08-24 19:37+0100\n" +"Last-Translator: César Gómez Martín \n" +"Language-Team: Debian l10n spanish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Spanish\n" +"X-Poedit-Country: SPAIN\n" +"X-Poedit-SourceCharset: utf-8\n" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:4 +msgid "On what TCP port should BitlBee listen for connections?" +msgstr "¿En qué puerto TCP quiere que BitlBee escuche conexiones?" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:4 +msgid "" +"BitlBee normally listens on the regular IRC port, 6667. This might not be a " +"very good idea when you're running a real IRC daemon as well. 6668 might be " +"a good alternative. Leaving this value blank means that BitlBee will not be " +"run automatically." +msgstr "" +"BitlBee normalmente escucha en el puerto 6667, que se usa también para IRC. " +"Por esta razón no es muy buena idea poner a BitlBee a escuchar en ese puerto " +"si también se está ejecutando un demonio real de IRC, en este caso el puerto " +"6668 puede ser una buena alternativa. Si deja este valor en blanco BitlBee " +"no se ejecutará automáticamente." --- bitlbee-3.2.1+otr4.orig/debian/po/fr.po +++ bitlbee-3.2.1+otr4/debian/po/fr.po @@ -0,0 +1,44 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +msgid "" +msgstr "" +"Project-Id-Version: bitlbee (0.80-1)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2004-09-25 18:12+0200\n" +"PO-Revision-Date: 2003-08-07 08:45+0100\n" +"Last-Translator: Christian Perrier \n" +"Language-Team: French \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-15\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:4 +msgid "On what TCP port should BitlBee listen for connections?" +msgstr "Sur quel port TCP BitlBee doit-il tre l'coute?" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:4 +msgid "" +"BitlBee normally listens on the regular IRC port, 6667. This might not be a " +"very good idea when you're running a real IRC daemon as well. 6668 might be " +"a good alternative. Leaving this value blank means that BitlBee will not be " +"run automatically." +msgstr "" +"BitlBee est usuellement l'coute sur le port IRC standard: 6667. Cela " +"n'est pas forcment un choix adapt si vous utilisez en mme temps un vrai " +"dmon IRC. Dans ce cas, choisir 6668 est conseill. Si vous ne souhaitez pas " +"lancer BitlBee automatiquement, veuillez laissez ce champs vide." --- bitlbee-3.2.1+otr4.orig/debian/po/it.po +++ bitlbee-3.2.1+otr4/debian/po/it.po @@ -0,0 +1,36 @@ +# Italian translation of the bitlbee debconf template +# This file is distributed under the same license as the bitlbee package +# Copyright (C) 2007 Free Software Foundation, Inc. +# Luca Monducci , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: bitlbee\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-30 04:31+0200\n" +"PO-Revision-Date: 2007-10-27 11:52+0200\n" +"Last-Translator: Luca Monducci \n" +"Language-Team: Italian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:1001 +msgid "On what TCP port should BitlBee listen for connections?" +msgstr "Su quale porta TCP si deve mettere in ascolto BitlBee?" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:1001 +msgid "" +"BitlBee normally listens on the regular IRC port, 6667. This might not be a " +"very good idea when you're running a real IRC daemon as well. 6668 might be " +"a good alternative. Leaving this value blank means that BitlBee will not be " +"run automatically." +msgstr "" +"Normalmente BitlBee si mette in ascolto sulla consueta porta IRC, la 6667. " +"Questa potrebbe non essere una buona idea se è in esecuzione anche un reale " +"demone IRC. La porta 6668 potrebbe essere una valida alternativa. Lasciando " +"vuoto questo valore BitlBee non viene avviato automaticamente." --- bitlbee-3.2.1+otr4.orig/debian/po/ja.po +++ bitlbee-3.2.1+otr4/debian/po/ja.po @@ -0,0 +1,45 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +# +msgid "" +msgstr "" +"Project-Id-Version: bitlbee 0.90a-2\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2004-09-25 18:12+0200\n" +"PO-Revision-Date: 2004-09-11 13:30+0900\n" +"Last-Translator: Hideki Yamane \n" +"Language-Team: Japanese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:4 +msgid "On what TCP port should BitlBee listen for connections?" +msgstr "BitlBee ϡ³Τˤɤ TCP ݡȤ listen ޤ?" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:4 +msgid "" +"BitlBee normally listens on the regular IRC port, 6667. This might not be a " +"very good idea when you're running a real IRC daemon as well. 6668 might be " +"a good alternative. Leaving this value blank means that BitlBee will not be " +"run automatically." +msgstr "" +"BitlBee ̾ξ硢ɸ IRC ݡֹǤ 6667 listen ޤƱ" +"ˤƼºݤ IRC ǡưƤ硢ϤޤɤͤǤ̵" +"⤷ޤ 6668 ȤΤɤΤޤ󡣤Τޤޤˤ" +"ƤСBitlBee ϼưŪˤϵưʤʤޤ" --- bitlbee-3.2.1+otr4.orig/debian/po/nl.po +++ bitlbee-3.2.1+otr4/debian/po/nl.po @@ -0,0 +1,44 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +msgid "" +msgstr "" +"Project-Id-Version: bitlbee (0.90a-2)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2004-09-25 18:12+0200\n" +"PO-Revision-Date: 2004-09-06 20:16+0200\n" +"Last-Translator: Wilmer van der Gaast \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-15\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:4 +msgid "On what TCP port should BitlBee listen for connections?" +msgstr "Op welke TCP poort moet BitlBee draaien?" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:4 +msgid "" +"BitlBee normally listens on the regular IRC port, 6667. This might not be a " +"very good idea when you're running a real IRC daemon as well. 6668 might be " +"a good alternative. Leaving this value blank means that BitlBee will not be " +"run automatically." +msgstr "" +"Normaal 'luistert' BitlBee op de gebruikelijke IRC poort, 6667. Als je al " +"een andere IRC daemon draait is dat onmogelijk. Kies dan bijvoorbeeld voor " +"poort 6668. Als je niet wil dat BitlBee automatisch gestart wordt, vul hier " +"dan niets in." --- bitlbee-3.2.1+otr4.orig/debian/po/pt.po +++ bitlbee-3.2.1+otr4/debian/po/pt.po @@ -0,0 +1,35 @@ +# Portuguese translation of bitlbee's debconf messages. # This file is distributed under the same license as the bitlbee package. +# 2006, Marco Ferra +# +msgid "" +msgstr "" +"Project-Id-Version: bitlbee 1.0.3-1.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-01-13 18:53+0100\n" +"PO-Revision-Date: 2007-01-26 22:34+0000\n" +"Last-Translator: Marco Ferra \n" +"Language-Team: Portuguese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:1001 +msgid "On what TCP port should BitlBee listen for connections?" +msgstr "Em que porta TCP deverá o BitlBee escutar por conexões?" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:1001 +msgid "" +"BitlBee normally listens on the regular IRC port, 6667. This might not be a " +"very good idea when you're running a real IRC daemon as well. 6668 might be " +"a good alternative. Leaving this value blank means that BitlBee will not be " +"run automatically." +msgstr "" +"O BitlBee normalmente escuta na porta do IRC 6667. Isto poderá não ser " +"uma ideia excelente quando está a correr um 'daemon' de IRC ao mesmo tempo. " +"Nesse caso a porta 6668 poderá ser uma boa alternativa. Deixar este campo " +"vazio significa que o BitlBee não irá correr automaticamente." + --- bitlbee-3.2.1+otr4.orig/debian/po/pt_BR.po +++ bitlbee-3.2.1+otr4/debian/po/pt_BR.po @@ -0,0 +1,44 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +msgid "" +msgstr "" +"Project-Id-Version: bitlbee\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2004-09-25 18:12+0200\n" +"PO-Revision-Date: 2005-02-26 16:14-0300\n" +"Last-Translator: Andr Lus Lopes \n" +"Language-Team: Debian-BR Project \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:4 +msgid "On what TCP port should BitlBee listen for connections?" +msgstr "Em qual porta TCP o BitlBee dever ouvir por conexes ?" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:4 +msgid "" +"BitlBee normally listens on the regular IRC port, 6667. This might not be a " +"very good idea when you're running a real IRC daemon as well. 6668 might be " +"a good alternative. Leaving this value blank means that BitlBee will not be " +"run automatically." +msgstr "" +"O BitlBee normalmente ouve na porta de IRC padro, 6667. Porm, esta pode " +"no ser uma boa idia quando voc est rodando um daemon IRC real tambm. " +"6689 pode ser uma boa alternativa. Deixar esse valor em branco significa que " +"o BitlBee no ser executado automaticamente." --- bitlbee-3.2.1+otr4.orig/debian/po/ru.po +++ bitlbee-3.2.1+otr4/debian/po/ru.po @@ -0,0 +1,47 @@ +# translation of ru.po to Russian +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans# +# Developers do not need to manually edit POT or PO files. +# +# Yuri Kozlov , 2009. +msgid "" +msgstr "" +"Project-Id-Version: bitlbee 1.2.3-2\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2004-09-25 18:12+0200\n" +"PO-Revision-Date: 2009-08-05 20:43+0400\n" +"Last-Translator: Yuri Kozlov \n" +"Language-Team: Russian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:4 +msgid "On what TCP port should BitlBee listen for connections?" +msgstr "Номер порта TCP, на котором BitlBee должен ожидать подключений:" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:4 +msgid "" +"BitlBee normally listens on the regular IRC port, 6667. This might not be a " +"very good idea when you're running a real IRC daemon as well. 6668 might be " +"a good alternative. Leaving this value blank means that BitlBee will not be " +"run automatically." +msgstr "" +"Обычно, BitlBee прослушивает штатный порт IRC, 6667. Это может быть " +"не лучшим решением, если у вас также запущена служба IRC. Хорошей " +"альтернативой является номер 6668. Если оставить поле пустым, то " +"BitlBee не будет запускаться автоматически." + --- bitlbee-3.2.1+otr4.orig/debian/po/sv.po +++ bitlbee-3.2.1+otr4/debian/po/sv.po @@ -0,0 +1,43 @@ +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# Developers do not need to manually edit POT or PO files. +# , fuzzy +# +# +msgid "" +msgstr "" +"Project-Id-Version: bitlbee 0.92-2\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2004-09-25 18:12+0200\n" +"PO-Revision-Date: 2005-10-03 23:18+0200\n" +"Last-Translator: Daniel Nylander \n" +"Language-Team: Swedish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:4 +msgid "On what TCP port should BitlBee listen for connections?" +msgstr "P vilken TCP-port ska BitlBee lyssna p efter anslutningar?" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:4 +msgid "" +"BitlBee normally listens on the regular IRC port, 6667. This might not be a " +"very good idea when you're running a real IRC daemon as well. 6668 might be " +"a good alternative. Leaving this value blank means that BitlBee will not be " +"run automatically." +msgstr "" +"BitlBee lyssnar normalt p den standardporten fr IRC, 6667. Detta kanske " +"inte r en bra ide om du kr en riktig IRC-daemon p samma system. 6668 kan " +"vara ett bra alternativ d. Lmnar du detta vrde blankt betyder det att " +"BitlBee inte kommer att startas automatiskt." --- bitlbee-3.2.1+otr4.orig/debian/po/templates.pot +++ bitlbee-3.2.1+otr4/debian/po/templates.pot @@ -0,0 +1,41 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2004-09-25 18:12+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:4 +msgid "On what TCP port should BitlBee listen for connections?" +msgstr "" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:4 +msgid "" +"BitlBee normally listens on the regular IRC port, 6667. This might not be a " +"very good idea when you're running a real IRC daemon as well. 6668 might be " +"a good alternative. Leaving this value blank means that BitlBee will not be " +"run automatically." +msgstr "" --- bitlbee-3.2.1+otr4.orig/debian/po/vi.po +++ bitlbee-3.2.1+otr4/debian/po/vi.po @@ -0,0 +1,32 @@ +# Vietnamese translation for bitlbee. +# Copyright © 2005 Free Software Foundation, Inc. +# Clytie Siddall , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: bitlbee 0.92-1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2004-09-25 18:12+0200\n" +"PO-Revision-Date: 2005-06-12 18:34+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0\n" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:4 +msgid "On what TCP port should BitlBee listen for connections?" +msgstr "Trình BitlBee nên lắng nghe sự kết nối trên cổng TCP nào?" + +#. Type: string +#. Description +#: ../bitlbee.templates.master:4 +msgid "" +"BitlBee normally listens on the regular IRC port, 6667. This might not be a " +"very good idea when you're running a real IRC daemon as well. 6668 might be " +"a good alternative. Leaving this value blank means that BitlBee will not be " +"run automatically." +msgstr "Trình BitlBee thường lắng nghe trên cổng IRC bình thường, 6667. Có lẽ nó không phải là một ý kiến tốt nếu bạn cũng có chạy một trình nền (dæmon) IRC thật. Như thế thì, cổng 6668 có thể là một điều thay thế tốt. Nếu bạn bỏ giá trị này rỗng, thì trình BitlBee sẽ không tự động chạy." --- bitlbee-3.2.1+otr4.orig/debian/rules +++ bitlbee-3.2.1+otr4/debian/rules @@ -0,0 +1,126 @@ +#!/usr/bin/make -f +# +# Finally switching to debhelper. +# +# Not using debhelper was an exercise suggested to me by my AM (Gergely +# Nagy). It was educating at the time but I finally decided that the +# exercise is over now. +# + +# Include the bitlbee-libpurple variant and OTR plugin by default. +# Don't build skype by default since it depends on deleted/non-free +# packages. Need to at least get python-skype back into Debian. +BITLBEE_LIBPURPLE ?= 1 +BITLBEE_OTR ?= plugin +BITLBEE_SKYPE ?= 0 +BITLBEE_CONFIGURE_FLAGS ?= +DEBUG ?= 0 + +ifndef BITLBEE_VERSION +# Want to use the full package version number instead of just the release. +BITLBEE_CONFIGURE_VERSION ?= BITLBEE_VERSION=\"$(shell dpkg-parsechangelog | awk '/^Version:/ {print $$2}')\" +endif + +ifneq ($(BITLBEE_LIBPURPLE),1) +DH_OPTIONS += -Nbitlbee-libpurple +endif + +ifneq ($(BITLBEE_OTR),plugin) +DH_OPTIONS += -Nbitlbee-plugin-otr +endif + +ifneq ($(BITLBEE_SKYPE),plugin) +DH_OPTIONS += -Nbitlbee-plugin-skype -Nskyped +endif + +build: build-stamp +build-stamp: + dh_testdir + + mkdir -p debian/build-native + ROOT=$$PWD; cd debian/build-native; $(BITLBEE_CONFIGURE_VERSION) $$ROOT/configure --debug=$(DEBUG) --prefix=/usr --etcdir=/etc/bitlbee --events=libevent --otr=$(BITLBEE_OTR) --skype=$(BITLBEE_SKYPE) $(BITLBEE_CONFIGURE_FLAGS) + $(MAKE) -C debian/build-native + +ifeq ($(BITLBEE_LIBPURPLE),1) + mkdir -p debian/build-libpurple + ROOT=$$PWD; cd debian/build-libpurple; $(BITLBEE_CONFIGURE_VERSION) $$ROOT/configure --debug=$(DEBUG) --prefix=/usr --etcdir=/etc/bitlbee --purple=1 $(BITLBEE_CONFIGURE_FLAGS) + $(MAKE) -C debian/build-libpurple +endif + + $(MAKE) -C doc + + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp + + rm -rf build-arch-stamp debian/build-* debian/bitlbee-libpurple.prerm + $(MAKE) distclean + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + $(MAKE) -C debian/build-native install-bin DESTDIR=`pwd`/debian/bitlbee + $(MAKE) -C debian/build-native install-etc install-doc DESTDIR=`pwd`/debian/bitlbee-common + $(MAKE) -C debian/build-native install-dev DESTDIR=`pwd`/debian/bitlbee-dev + $(MAKE) -C debian/build-native install-plugin-otr DESTDIR=`pwd`/debian/bitlbee-plugin-otr + $(MAKE) -C debian/build-native install-plugin-skype DESTDIR=`pwd`/debian/skyped + +ifneq ($(BITLBEE_SKYPE),0) + mkdir -p debian/bitlbee-plugin-skype/usr + mv debian/skyped/usr/lib debian/bitlbee-plugin-skype/usr + + mkdir -p debian/skyped/usr/share/man/man1 + mv debian/bitlbee-common/usr/share/man/man1/skyped* debian/skyped/usr/share/man/man1 +endif + +ifeq ($(BITLBEE_LIBPURPLE),1) + $(MAKE) -C debian/build-libpurple install-bin DESTDIR=`pwd`/debian/bitlbee-libpurple + ln -sf debian/bitlbee.prerm debian/bitlbee-libpurple.prerm +endif + + patch debian/bitlbee-common/etc/bitlbee/bitlbee.conf debian/patches/bitlbee.conf.diff + chmod 640 debian/bitlbee-common/etc/bitlbee/bitlbee.conf + +binary-common: + dh_testdir + dh_testroot + + dh_installchangelogs doc/CHANGES + dh_installexamples + dh_installdocs #--link-doc=bitlbee-common + # TODO: Restore --link-doc up here and remove the hack below once + # Hardy and Lenny are deprecated. + for p in bitlbee bitlbee-libpurple bitlbee-dev bitlbee-plugin-otr; do rm -r debian/$$p/usr/share/doc/$$p && ln -s bitlbee-common debian/$$p/usr/share/doc/$$p || true; done + dh_installdebconf + dh_installinit --init-script=bitlbee + dh_installman + dh_lintian + dh_strip + dh_link + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary-indep: build install + DH_OPTIONS=-i $(MAKE) -f debian/rules binary-common + +binary-arch: build install + DH_OPTIONS=-a $(MAKE) -f debian/rules binary-common + +binary-%: build install + DH_OPTIONS=-p$* $(MAKE) -f debian/rules binary-common + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary-common binary install --- bitlbee-3.2.1+otr4.orig/debian/skyped.README.Debian +++ bitlbee-3.2.1+otr4/debian/skyped.README.Debian @@ -0,0 +1,18 @@ +bitlbee-skype for Debian +------------------------ + +The upstream package installs global configuration files in /etc. Since +configuration cannot be used by multiple users, however, the default for +Debian packages is in ~/.skyped/. Please copy the configuration files +from ./examples to ~/.skyped/. + +You will also need to change the configuration values in skyped.conf +and skyped.cnf to suit your needs and create the keys. More information +in the respective files as well as the README.gz. + +Without these measures, skyped will NOT work. + +You need to download the official skype client for this to be of any +use. Go to http://www.skype.com/. + + -- David Spreen , Thu, 2 Apr 2009 15:01:25 -0700 --- bitlbee-3.2.1+otr4.orig/debian/skyped.docs +++ bitlbee-3.2.1+otr4/debian/skyped.docs @@ -0,0 +1,2 @@ +protocols/skype/NEWS +protocols/skype/README --- bitlbee-3.2.1+otr4.orig/debian/source/format +++ bitlbee-3.2.1+otr4/debian/source/format @@ -0,0 +1 @@ +1.0 --- bitlbee-3.2.1+otr4.orig/debian/source/options +++ bitlbee-3.2.1+otr4/debian/source/options @@ -0,0 +1 @@ +--diff-ignore='(^|/)\.bzr' --- bitlbee-3.2.1+otr4.orig/debian/watch +++ bitlbee-3.2.1+otr4/debian/watch @@ -0,0 +1,2 @@ +version=2 +http://get.bitlbee.org/src/bitlbee-(.*).tar.gz --- bitlbee-3.2.1+otr4.orig/otr.c +++ bitlbee-3.2.1+otr4/otr.c @@ -7,17 +7,19 @@ /* OTR support (cf. http://www.cypherpunks.ca/otr/) - (c) 2008-2011 Sven Moritz Hallberg - (c) 2008 funded by stonedcoder.org + (c) 2008-2011,2013 Sven Moritz Hallberg + funded by stonedcoder.org files used to store OTR data: /.otr_keys /.otr_fprints + /.otr_instags <- don't copy this one between hosts top-level todos: (search for TODO for more ;-)) integrate otr_load/otr_save with existing storage backends per-account policy settings per-user policy settings + add a way to select recipient instance */ /* @@ -59,9 +61,6 @@ void op_inject_message(void *opdata, const char *accountname, const char *protocol, const char *recipient, const char *message); -int op_display_otr_message(void *opdata, const char *accountname, const char *protocol, - const char *username, const char *msg); - void op_new_fingerprint(void *opdata, OtrlUserState us, const char *accountname, const char *protocol, const char *username, unsigned char fingerprint[20]); @@ -79,6 +78,20 @@ const char *op_account_name(void *opdata, const char *account, const char *protocol); +void op_create_instag(void *opdata, const char *account, const char *protocol); + +void op_convert_msg(void *opdata, ConnContext *ctx, OtrlConvertType typ, + char **dst, const char *src); +void op_convert_free(void *opdata, ConnContext *ctx, char *msg); + +void op_handle_smp_event(void *opdata, OtrlSMPEvent ev, ConnContext *ctx, + unsigned short percent, char *question); + +void op_handle_msg_event(void *opdata, OtrlMessageEvent ev, ConnContext *ctx, + const char *message, gcry_error_t err); + +const char *op_otr_error_message(void *opdata, ConnContext *ctx, + OtrlErrorCode err_code); /** otr sub-command handlers: **/ @@ -140,6 +153,9 @@ void yes_forget_context(void *data); void yes_forget_key(void *data); +/* timeout handler that calls otrl_message_poll */ +gboolean ev_message_poll(gpointer data, gint fd, b_input_condition cond); + /* helper to make sure accountname and protocol match the incoming "opdata" */ struct im_connection *check_imc(void *opdata, const char *accountname, const char *protocol); @@ -155,8 +171,11 @@ returns NULL if not found */ irc_user_t *peeruser(irc_t *irc, const char *handle, const char *protocol); -/* handle SMP TLVs from a received message */ -void otr_handle_smp(struct im_connection *ic, const char *handle, OtrlTLV *tlvs); +/* show an otr-related message to the user */ +void display_otr_message(void *opdata, ConnContext *ctx, const char *fmt, ...); + +/* write an otr-related message to the system log */ +void log_otr_message(void *opdata, const char *fmt, ...); /* combined handler for the 'otr smp' and 'otr smpq' commands */ void otr_smp_or_smpq(irc_t *irc, const char *nick, const char *question, @@ -207,21 +226,29 @@ otr_ops.create_privkey = &op_create_privkey; otr_ops.is_logged_in = &op_is_logged_in; otr_ops.inject_message = &op_inject_message; - otr_ops.notify = NULL; - otr_ops.display_otr_message = &op_display_otr_message; otr_ops.update_context_list = NULL; - otr_ops.protocol_name = NULL; - otr_ops.protocol_name_free = NULL; otr_ops.new_fingerprint = &op_new_fingerprint; otr_ops.write_fingerprints = &op_write_fingerprints; otr_ops.gone_secure = &op_gone_secure; otr_ops.gone_insecure = &op_gone_insecure; otr_ops.still_secure = &op_still_secure; - otr_ops.log_message = &op_log_message; otr_ops.max_message_size = &op_max_message_size; otr_ops.account_name = &op_account_name; otr_ops.account_name_free = NULL; - + + /* stuff added with libotr 4.0.0 */ + otr_ops.received_symkey = NULL; /* we don't use the extra key */ + otr_ops.otr_error_message = &op_otr_error_message; + otr_ops.otr_error_message_free = NULL; + otr_ops.resent_msg_prefix = NULL; /* default: [resent] */ + otr_ops.resent_msg_prefix_free = NULL; + otr_ops.handle_smp_event = &op_handle_smp_event; + otr_ops.handle_msg_event = &op_handle_msg_event; + otr_ops.create_instag = &op_create_instag; + otr_ops.convert_msg = &op_convert_msg; + otr_ops.convert_free = &op_convert_free; + otr_ops.timer_control = NULL; /* we just poll */ + root_command_add( "otr", 1, cmd_otr, 0 ); register_irc_plugin( &otr_plugin ); } @@ -245,12 +272,17 @@ s = set_add( &irc->b->set, "otr_does_html", "true", set_eval_bool, irc ); + /* regularly call otrl_message_poll */ + gint definterval = otrl_message_poll_get_default_interval(irc->otr->us); + irc->otr->timer = b_timeout_add(definterval, ev_message_poll, irc->otr); + return TRUE; } void otr_irc_free(irc_t *irc) { otr_t *otr = irc->otr; + b_event_remove(otr->timer); otrl_userstate_free(otr->us); if(otr->keygen) { kill(otr->keygen, SIGTERM); @@ -288,6 +320,11 @@ if(e && e!=enoent) { irc_rootmsg(irc, "otr load: %s: %s", s, gcry_strerror(e)); } + g_snprintf(s, 511, "%s%s.otr_instags", global.conf->configdir, irc->user->nick); + e = otrl_instag_read(irc->otr->us, s); + if(e && e!=enoent) { + irc_rootmsg(irc, "otr load: %s: %s", s, gcry_strerror(e)); + } } /* check for otr keys on all accounts */ @@ -385,10 +422,8 @@ ignore_msg = otrl_message_receiving(irc->otr->us, &otr_ops, ic, ic->acc->user, ic->acc->prpl->name, iu->bu->handle, msg, &newmsg, - &tlvs, NULL, NULL); + &tlvs, NULL, NULL, NULL); - otr_handle_smp(ic, iu->bu->handle, tlvs); - if(ignore_msg) { /* this was an internal OTR protocol message */ return NULL; @@ -396,57 +431,8 @@ /* this was a non-OTR message */ return msg; } else { - /* OTR has processed this message */ - ConnContext *context = otrl_context_find(irc->otr->us, iu->bu->handle, - ic->acc->user, ic->acc->prpl->name, 0, NULL, NULL, NULL); - /* we're done with the original msg, which will be caller-freed. */ - /* NB: must not change the newmsg pointer, since we free it. */ - msg = newmsg; - - if(context && context->msgstate == OTRL_MSGSTATE_ENCRYPTED) { - /* HTML decoding */ - /* perform any necessary stripping that the top level would miss */ - if(set_getbool(&ic->bee->set, "otr_does_html") && - !(ic->flags & OPT_DOES_HTML) && - set_getbool(&ic->bee->set, "strip_html")) { - strip_html(msg); - } - - /* coloring */ - if(set_getbool(&ic->bee->set, "otr_color_encrypted")) { - int color; /* color according to f'print trust */ - char *pre="", *sep=""; /* optional parts */ - const char *trust = context->active_fingerprint->trust; - - if(trust && trust[0] != '\0') - color=3; /* green */ - else - color=5; /* red */ - - /* in a query window, keep "/me " uncolored at the beginning */ - if(g_strncasecmp(msg, "/me ", 4) == 0 - && irc_user_msgdest(iu) == irc->user->nick) { - msg += 4; /* skip */ - pre = "/me "; - } - - /* comma in first place could mess with the color code */ - if(msg[0] == ',') { - /* insert a space between color spec and message */ - sep = " "; - } - - msg = g_strdup_printf("%s\x03%.2d%s%s\x0F", pre, - color, sep, msg); - } - } - - if(msg == newmsg) { - msg = g_strdup(newmsg); - } - otrl_message_free(newmsg); - return msg; + return newmsg; } } @@ -458,49 +444,26 @@ ConnContext *ctx = NULL; irc_t *irc = iu->irc; struct im_connection *ic = iu->bu->ic; + otrl_instag_t instag = OTRL_INSTAG_RECENT; // XXX? /* don't do OTR on certain (not classic IM) protocols, e.g. twitter */ if(ic->acc->prpl->options & OPT_NOOTR) { return msg; } - ctx = otrl_context_find(irc->otr->us, - iu->bu->handle, ic->acc->user, ic->acc->prpl->name, - 1, NULL, NULL, NULL); - - /* HTML encoding */ - /* consider OTR plaintext to be HTML if otr_does_html is set */ - if(ctx && ctx->msgstate == OTRL_MSGSTATE_ENCRYPTED && - set_getbool(&ic->bee->set, "otr_does_html") && - (g_strncasecmp(msg, "", 6) != 0)) { - emsg = escape_html(msg); - } - st = otrl_message_sending(irc->otr->us, &otr_ops, ic, - ic->acc->user, ic->acc->prpl->name, iu->bu->handle, - emsg, NULL, &otrmsg, NULL, NULL); + ic->acc->user, ic->acc->prpl->name, iu->bu->handle, instag, + emsg, NULL, &otrmsg, OTRL_FRAGMENT_SEND_ALL, &ctx, NULL, NULL); + /* in libotr 4.0.0 with OTRL_FRAGMENT_SEND_ALL, otrmsg must be passed + * but the value it gets carries no meaning. it can be set even though + * the message has been injected. */ + if(emsg != msg) { g_free(emsg); /* we're done with this one */ } if(st) { - return NULL; + /* TODO: Error reporting? */ } - - if(otrmsg) { - if(!ctx) { - otrl_message_free(otrmsg); - return NULL; - } - st = otrl_message_fragment_and_send(&otr_ops, ic, ctx, - otrmsg, OTRL_FRAGMENT_SEND_ALL, NULL); - otrl_message_free(otrmsg); - } else { - /* note: otrl_message_sending handles policy, so that if REQUIRE_ENCRYPTION is set, - this case does not occur */ - return msg; - } - - /* TODO: Error reporting should be done here now (if st!=0), probably. */ return NULL; } @@ -619,26 +582,6 @@ } } -int op_display_otr_message(void *opdata, const char *accountname, - const char *protocol, const char *username, const char *message) -{ - struct im_connection *ic = check_imc(opdata, accountname, protocol); - char *msg = g_strdup(message); - irc_t *irc = ic->bee->ui_data; - irc_user_t *u = peeruser(irc, username, protocol); - - strip_html(msg); - if(u) { - /* display as a notice from this particular user */ - irc_usernotice(u, "%s", msg); - } else { - irc_rootmsg(irc, "[otr] %s", msg); - } - - g_free(msg); - return 0; -} - void op_new_fingerprint(void *opdata, OtrlUserState us, const char *accountname, const char *protocol, const char *username, unsigned char fingerprint[20]) @@ -690,6 +633,9 @@ void op_gone_insecure(void *opdata, ConnContext *context) { + /* XXX on 'otr disconnect', this gets called for every instance and we + * get the message multiple times... */ + struct im_connection *ic = check_imc(opdata, context->accountname, context->protocol); irc_t *irc = ic->bee->ui_data; @@ -729,20 +675,11 @@ } } -void op_log_message(void *opdata, const char *message) -{ - char *msg = g_strdup(message); - - strip_html(msg); - log_message(LOGLVL_INFO, "otr: %s", msg); - g_free(msg); -} - int op_max_message_size(void *opdata, ConnContext *context) { struct im_connection *ic = check_imc(opdata, context->accountname, context->protocol); - + return ic->acc->prpl->mms; } @@ -754,6 +691,246 @@ return peernick(irc, account, protocol); } +void op_create_instag(void *opdata, const char *account, const char *protocol) +{ + struct im_connection *ic = + check_imc(opdata, account, protocol); + irc_t *irc = ic->bee->ui_data; + gcry_error_t e; + char s[512]; + + g_snprintf(s, 511, "%s%s.otr_instags", global.conf->configdir, + irc->user->nick); + e = otrl_instag_generate(irc->otr->us, s, account, protocol); + if(e) { + irc_rootmsg(irc, "otr: %s/%s: otrl_instag_generate failed: %s", + account, protocol, gcry_strerror(e)); + } +} + +void op_convert_msg(void *opdata, ConnContext *ctx, OtrlConvertType typ, + char **dst, const char *src) +{ + struct im_connection *ic = + check_imc(opdata, ctx->accountname, ctx->protocol); + irc_t *irc = ic->bee->ui_data; + irc_user_t *iu = peeruser(irc, ctx->username, ctx->protocol); + + if(typ == OTRL_CONVERT_RECEIVING) { + char *msg = g_strdup(src); + + /* HTML decoding */ + if(set_getbool(&ic->bee->set, "otr_does_html") && + !(ic->flags & OPT_DOES_HTML) && + set_getbool(&ic->bee->set, "strip_html")) { + strip_html(msg); + *dst = msg; + } + + /* coloring */ + if(set_getbool(&ic->bee->set, "otr_color_encrypted")) { + int color; /* color according to f'print trust */ + char *pre="", *sep=""; /* optional parts */ + const char *trust = ctx->active_fingerprint->trust; + + if(trust && trust[0] != '\0') + color=3; /* green */ + else + color=5; /* red */ + + /* in a query window, keep "/me " uncolored at the beginning */ + if(g_strncasecmp(msg, "/me ", 4) == 0 + && irc_user_msgdest(iu) == irc->user->nick) { + msg += 4; /* skip */ + pre = "/me "; + } + + /* comma in first place could mess with the color code */ + if(msg[0] == ',') { + /* insert a space between color spec and message */ + sep = " "; + } + + *dst = g_strdup_printf("%s\x03%.2d%s%s\x0F", pre, + color, sep, msg); + g_free(msg); + } + } else { + /* HTML encoding */ + /* consider OTR plaintext to be HTML if otr_does_html is set */ + if(ctx && ctx->msgstate == OTRL_MSGSTATE_ENCRYPTED && + set_getbool(&ic->bee->set, "otr_does_html") && + (g_strncasecmp(src, "", 6) != 0)) { + *dst = escape_html(src); + } + } +} + +void op_convert_free(void *opdata, ConnContext *ctx, char *msg) +{ + g_free(msg); +} + +/* Socialist Millionaires' Protocol */ +void op_handle_smp_event(void *opdata, OtrlSMPEvent ev, ConnContext *ctx, + unsigned short percent, char *question) +{ + struct im_connection *ic = + check_imc(opdata, ctx->accountname, ctx->protocol); + irc_t *irc = ic->bee->ui_data; + OtrlUserState us = irc->otr->us; + irc_user_t *u = peeruser(irc, ctx->username, ctx->protocol); + + if(!u) return; + + switch(ev) { + case OTRL_SMPEVENT_ASK_FOR_SECRET: + irc_rootmsg(irc, "smp: initiated by %s" + " - respond with \x02otr smp %s \x02", + u->nick, u->nick); + break; + case OTRL_SMPEVENT_ASK_FOR_ANSWER: + irc_rootmsg(irc, "smp: initiated by %s with question: \x02\"%s\"\x02", u->nick, + question); + irc_rootmsg(irc, "smp: respond with \x02otr smp %s \x02", + u->nick); + break; + case OTRL_SMPEVENT_CHEATED: + irc_rootmsg(irc, "smp %s: opponent violated protocol, aborting", + u->nick); + otrl_message_abort_smp(us, &otr_ops, u->bu->ic, ctx); + otrl_sm_state_free(ctx->smstate); + break; + case OTRL_SMPEVENT_NONE: + break; + case OTRL_SMPEVENT_IN_PROGRESS: + break; + case OTRL_SMPEVENT_SUCCESS: + if(ctx->smstate->received_question) { + irc_rootmsg(irc, "smp %s: correct answer, you are trusted", + u->nick); + } else { + irc_rootmsg(irc, "smp %s: secrets proved equal, fingerprint trusted", + u->nick); + } + otrl_sm_state_free(ctx->smstate); + break; + case OTRL_SMPEVENT_FAILURE: + if(ctx->smstate->received_question) { + irc_rootmsg(irc, "smp %s: wrong answer, you are not trusted", + u->nick); + } else { + irc_rootmsg(irc, "smp %s: secrets did not match, fingerprint not trusted", + u->nick); + } + otrl_sm_state_free(ctx->smstate); + break; + case OTRL_SMPEVENT_ABORT: + irc_rootmsg(irc, "smp: received abort from %s", u->nick); + otrl_sm_state_free(ctx->smstate); + break; + case OTRL_SMPEVENT_ERROR: + irc_rootmsg(irc, "smp %s: protocol error, aborting", + u->nick); + otrl_message_abort_smp(us, &otr_ops, u->bu->ic, ctx); + otrl_sm_state_free(ctx->smstate); + break; + } +} + +void op_handle_msg_event(void *opdata, OtrlMessageEvent ev, ConnContext *ctx, + const char *message, gcry_error_t err) +{ + switch(ev) { + case OTRL_MSGEVENT_ENCRYPTION_REQUIRED: + display_otr_message(opdata, ctx, + "policy requires encryption - message not sent"); + break; + case OTRL_MSGEVENT_ENCRYPTION_ERROR: + display_otr_message(opdata, ctx, + "error during encryption - message not sent"); + break; + case OTRL_MSGEVENT_CONNECTION_ENDED: + display_otr_message(opdata, ctx, + "other end has disconnected OTR - " + "close connection or reconnect!"); + break; + case OTRL_MSGEVENT_SETUP_ERROR: + display_otr_message(opdata, ctx, + "OTR connection failed: %s", gcry_strerror(err)); + break; + case OTRL_MSGEVENT_MSG_REFLECTED: + display_otr_message(opdata, ctx, + "received our own OTR message (!?)"); + break; + case OTRL_MSGEVENT_MSG_RESENT: + display_otr_message(opdata, ctx, + "the previous message was resent"); + break; + case OTRL_MSGEVENT_RCVDMSG_NOT_IN_PRIVATE: + display_otr_message(opdata, ctx, + "unexpected encrypted message received"); + break; + case OTRL_MSGEVENT_RCVDMSG_UNREADABLE: + display_otr_message(opdata, ctx, + "unreadable encrypted message received"); + break; + case OTRL_MSGEVENT_RCVDMSG_MALFORMED: + display_otr_message(opdata, ctx, + "malformed OTR message received"); + break; + case OTRL_MSGEVENT_LOG_HEARTBEAT_RCVD: + if(global.conf->verbose) { + log_otr_message(opdata, "%s/%s: heartbeat received", + ctx->accountname, ctx->protocol); + } + break; + case OTRL_MSGEVENT_LOG_HEARTBEAT_SENT: + if(global.conf->verbose) { + log_otr_message(opdata, "%s/%s: heartbeat sent", + ctx->accountname, ctx->protocol); + } + break; + case OTRL_MSGEVENT_RCVDMSG_GENERAL_ERR: + display_otr_message(opdata, ctx, + "OTR error message received: %s", message); + break; + case OTRL_MSGEVENT_RCVDMSG_UNENCRYPTED: + display_otr_message(opdata, ctx, + "unencrypted message received: %s", message); + break; + case OTRL_MSGEVENT_RCVDMSG_UNRECOGNIZED: + display_otr_message(opdata, ctx, + "unrecognized OTR message received"); + break; + case OTRL_MSGEVENT_RCVDMSG_FOR_OTHER_INSTANCE: + display_otr_message(opdata, ctx, + "OTR message for a different instance received"); + break; + default: + /* shouldn't happen */ + break; + } +} + +const char *op_otr_error_message(void *opdata, ConnContext *ctx, + OtrlErrorCode err_code) +{ + switch(err_code) { + case OTRL_ERRCODE_ENCRYPTION_ERROR: + return "i failed to encrypt a message"; + case OTRL_ERRCODE_MSG_NOT_IN_PRIVATE: + return "you sent an encrypted message i didn't expect"; + case OTRL_ERRCODE_MSG_UNREADABLE: + return "could not read encrypted message"; + case OTRL_ERRCODE_MSG_MALFORMED: + return "you sent a malformed OTR message"; + default: + return "i suffered an unexpected OTR error"; + } +} + + /*** OTR sub-command handlers ***/ @@ -773,19 +950,24 @@ return; } - otrl_message_disconnect(irc->otr->us, &otr_ops, + /* XXX we disconnect all instances; is that what we want? */ + otrl_message_disconnect_all_instances(irc->otr->us, &otr_ops, u->bu->ic, u->bu->ic->acc->user, u->bu->ic->acc->prpl->name, u->bu->handle); - /* for some reason, libotr (3.1.0) doesn't do this itself: */ - if(u->flags & IRC_USER_OTR_ENCRYPTED) { - ConnContext *ctx; - ctx = otrl_context_find(irc->otr->us, u->bu->handle, u->bu->ic->acc->user, - u->bu->ic->acc->prpl->name, 0, NULL, NULL, NULL); - if(ctx) - op_gone_insecure(u->bu->ic, ctx); - else /* huh? */ - u->flags &= ( IRC_USER_OTR_ENCRYPTED | IRC_USER_OTR_TRUSTED ); + /* for some reason, libotr (4.0.0) doesn't do this itself: */ + if(!(u->flags & IRC_USER_OTR_ENCRYPTED)) + return; + + ConnContext *ctx, *p; + ctx = otrl_context_find(irc->otr->us, u->bu->handle, u->bu->ic->acc->user, + u->bu->ic->acc->prpl->name, OTRL_INSTAG_MASTER, 0, NULL, NULL, NULL); + if(!ctx) { /* huh? */ + u->flags &= ( IRC_USER_OTR_ENCRYPTED | IRC_USER_OTR_TRUSTED ); + return; } + + for(p=ctx; p && p->m_context == ctx->m_context; p=p->next) + op_gone_insecure(u->bu->ic, p); } void cmd_otr_connect(irc_t *irc, char **args) @@ -802,7 +984,9 @@ return; } - bee_user_msg(irc->b, u->bu, "?OTR?v2?", 0); + /* passing this through the filter so it goes through libotr which + * will replace the simple query string with a proper one */ + otr_filter_msg_out(u, "?OTR?", 0); } void cmd_otr_smp(irc_t *irc, char **args) @@ -830,7 +1014,7 @@ } ctx = otrl_context_find(irc->otr->us, u->bu->handle, - u->bu->ic->acc->user, u->bu->ic->acc->prpl->name, 0, NULL, NULL, NULL); + u->bu->ic->acc->user, u->bu->ic->acc->prpl->name, OTRL_INSTAG_MASTER, 0, NULL, NULL, NULL); if(!ctx) { irc_rootmsg(irc, "%s: no otr context with user", args[1]); return; @@ -894,7 +1078,7 @@ if(protocol && myhandle) { *(myhandle++) = '\0'; handle = arg; - ctx = otrl_context_find(irc->otr->us, handle, myhandle, protocol, 0, NULL, NULL, NULL); + ctx = otrl_context_find(irc->otr->us, handle, myhandle, protocol, OTRL_INSTAG_MASTER, 0, NULL, NULL, NULL); if(!ctx) { irc_rootmsg(irc, "no such context"); g_free(arg); @@ -908,7 +1092,7 @@ return; } ctx = otrl_context_find(irc->otr->us, u->bu->handle, u->bu->ic->acc->user, - u->bu->ic->acc->prpl->name, 0, NULL, NULL, NULL); + u->bu->ic->acc->prpl->name, OTRL_INSTAG_MASTER, 0, NULL, NULL, NULL); if(!ctx) { irc_rootmsg(irc, "no otr context with %s", args[1]); g_free(arg); @@ -981,6 +1165,8 @@ ConnContext *ctx = (ConnContext *)p->snd; g_free(p); + + // XXX forget all contexts if(ctx->msgstate == OTRL_MSGSTATE_ENCRYPTED) { irc_rootmsg(irc, "active otr connection with %s, terminate it first", @@ -1027,7 +1213,7 @@ } ctx = otrl_context_find(irc->otr->us, u->bu->handle, u->bu->ic->acc->user, - u->bu->ic->acc->prpl->name, 0, NULL, NULL, NULL); + u->bu->ic->acc->prpl->name, OTRL_INSTAG_MASTER, 0, NULL, NULL, NULL); if(!ctx) { irc_rootmsg(irc, "no otr context with %s", args[2]); return; @@ -1070,7 +1256,7 @@ } ctx = otrl_context_find(irc->otr->us, u->bu->handle, u->bu->ic->acc->user, - u->bu->ic->acc->prpl->name, 0, NULL, NULL, NULL); + u->bu->ic->acc->prpl->name, OTRL_INSTAG_MASTER, 0, NULL, NULL, NULL); if(!ctx) { irc_rootmsg(irc, "no otr context with %s", args[2]); return; @@ -1118,133 +1304,37 @@ /*** local helpers / subroutines: ***/ -/* Socialist Millionaires' Protocol */ -void otr_handle_smp(struct im_connection *ic, const char *handle, OtrlTLV *tlvs) +void log_otr_message(void *opdata, const char *fmt, ...) { + va_list va; + + va_start(va, fmt); + char *msg = g_strdup_vprintf(fmt, va); + va_end(va); + + log_message(LOGLVL_INFO, "otr: %s", msg); +} + +void display_otr_message(void *opdata, ConnContext *ctx, const char *fmt, ...) +{ + struct im_connection *ic = + check_imc(opdata, ctx->accountname, ctx->protocol); irc_t *irc = ic->bee->ui_data; - OtrlUserState us = irc->otr->us; - OtrlMessageAppOps *ops = &otr_ops; - OtrlTLV *tlv = NULL; - ConnContext *context; - NextExpectedSMP nextMsg; - irc_user_t *u; - bee_user_t *bu; + irc_user_t *u = peeruser(irc, ctx->username, ctx->protocol); + va_list va; - bu = bee_user_by_handle(ic->bee, ic, handle); - if(!bu || !(u = bu->ui_data)) return; - context = otrl_context_find(us, handle, - ic->acc->user, ic->acc->prpl->name, 1, NULL, NULL, NULL); - if(!context) { - /* huh? out of memory or what? */ - irc_rootmsg(irc, "smp: failed to get otr context for %s", u->nick); - otrl_message_abort_smp(us, ops, u->bu->ic, context); - otrl_sm_state_free(context->smstate); - return; - } - nextMsg = context->smstate->nextExpected; + va_start(va, fmt); + char *msg = g_strdup_vprintf(fmt, va); + va_end(va); - if (context->smstate->sm_prog_state == OTRL_SMP_PROG_CHEATED) { - irc_rootmsg(irc, "smp %s: opponent violated protocol, aborting", - u->nick); - otrl_message_abort_smp(us, ops, u->bu->ic, context); - otrl_sm_state_free(context->smstate); - return; + if(u) { + /* display as a notice from this particular user */ + irc_usernotice(u, "%s", msg); + } else { + irc_rootmsg(irc, "[otr] %s", msg); } - tlv = otrl_tlv_find(tlvs, OTRL_TLV_SMP1Q); - if (tlv) { - if (nextMsg != OTRL_SMP_EXPECT1) { - irc_rootmsg(irc, "smp %s: spurious SMP1Q received, aborting", u->nick); - otrl_message_abort_smp(us, ops, u->bu->ic, context); - otrl_sm_state_free(context->smstate); - } else { - char *question = g_strndup((char *)tlv->data, tlv->len); - irc_rootmsg(irc, "smp: initiated by %s with question: \x02\"%s\"\x02", u->nick, - question); - irc_rootmsg(irc, "smp: respond with \x02otr smp %s \x02", - u->nick); - g_free(question); - /* smp stays in EXPECT1 until user responds */ - } - } - tlv = otrl_tlv_find(tlvs, OTRL_TLV_SMP1); - if (tlv) { - if (nextMsg != OTRL_SMP_EXPECT1) { - irc_rootmsg(irc, "smp %s: spurious SMP1 received, aborting", u->nick); - otrl_message_abort_smp(us, ops, u->bu->ic, context); - otrl_sm_state_free(context->smstate); - } else { - irc_rootmsg(irc, "smp: initiated by %s" - " - respond with \x02otr smp %s \x02", - u->nick, u->nick); - /* smp stays in EXPECT1 until user responds */ - } - } - tlv = otrl_tlv_find(tlvs, OTRL_TLV_SMP2); - if (tlv) { - if (nextMsg != OTRL_SMP_EXPECT2) { - irc_rootmsg(irc, "smp %s: spurious SMP2 received, aborting", u->nick); - otrl_message_abort_smp(us, ops, u->bu->ic, context); - otrl_sm_state_free(context->smstate); - } else { - /* SMP2 received, otrl_message_receiving will have sent SMP3 */ - context->smstate->nextExpected = OTRL_SMP_EXPECT4; - } - } - tlv = otrl_tlv_find(tlvs, OTRL_TLV_SMP3); - if (tlv) { - if (nextMsg != OTRL_SMP_EXPECT3) { - irc_rootmsg(irc, "smp %s: spurious SMP3 received, aborting", u->nick); - otrl_message_abort_smp(us, ops, u->bu->ic, context); - otrl_sm_state_free(context->smstate); - } else { - /* SMP3 received, otrl_message_receiving will have sent SMP4 */ - if(context->smstate->sm_prog_state == OTRL_SMP_PROG_SUCCEEDED) { - if(context->smstate->received_question) { - irc_rootmsg(irc, "smp %s: correct answer, you are trusted", - u->nick); - } else { - irc_rootmsg(irc, "smp %s: secrets proved equal, fingerprint trusted", - u->nick); - } - } else { - if(context->smstate->received_question) { - irc_rootmsg(irc, "smp %s: wrong answer, you are not trusted", - u->nick); - } else { - irc_rootmsg(irc, "smp %s: secrets did not match, fingerprint not trusted", - u->nick); - } - } - otrl_sm_state_free(context->smstate); - /* smp is in back in EXPECT1 */ - } - } - tlv = otrl_tlv_find(tlvs, OTRL_TLV_SMP4); - if (tlv) { - if (nextMsg != OTRL_SMP_EXPECT4) { - irc_rootmsg(irc, "smp %s: spurious SMP4 received, aborting", u->nick); - otrl_message_abort_smp(us, ops, u->bu->ic, context); - otrl_sm_state_free(context->smstate); - } else { - /* SMP4 received, otrl_message_receiving will have set fp trust */ - if(context->smstate->sm_prog_state == OTRL_SMP_PROG_SUCCEEDED) { - irc_rootmsg(irc, "smp %s: secrets proved equal, fingerprint trusted", - u->nick); - } else { - irc_rootmsg(irc, "smp %s: secrets did not match, fingerprint not trusted", - u->nick); - } - otrl_sm_state_free(context->smstate); - /* smp is in back in EXPECT1 */ - } - } - tlv = otrl_tlv_find(tlvs, OTRL_TLV_SMP_ABORT); - if (tlv) { - irc_rootmsg(irc, "smp: received abort from %s", u->nick); - otrl_sm_state_free(context->smstate); - /* smp is in back in EXPECT1 */ - } + g_free(msg); } /* combined handler for the 'otr smp' and 'otr smpq' commands */ @@ -1253,6 +1343,7 @@ { irc_user_t *u; ConnContext *ctx; + otrl_instag_t instag = OTRL_INSTAG_RECENT; // XXX u = irc_user_by_name(irc, nick); if(!u || !u->bu || !u->bu->ic) { @@ -1265,7 +1356,7 @@ } ctx = otrl_context_find(irc->otr->us, u->bu->handle, - u->bu->ic->acc->user, u->bu->ic->acc->prpl->name, 0, NULL, NULL, NULL); + u->bu->ic->acc->user, u->bu->ic->acc->prpl->name, instag, 0, NULL, NULL, NULL); if(!ctx || ctx->msgstate != OTRL_MSGSTATE_ENCRYPTED) { irc_rootmsg(irc, "smp: otr inactive with %s, try \x02otr connect" " %s\x02", nick, nick); @@ -1306,6 +1397,17 @@ } } +/* timeout handler that calls otrl_message_poll */ +gboolean ev_message_poll(gpointer data, gint fd, b_input_condition cond) +{ + otr_t *otr = data; + + if(otr && otr->us) + otrl_message_poll(otr->us, &otr_ops, NULL); + + return TRUE; /* cycle timer */ +} + /* helper to assert that account and protocol names given to ops below always match the im_connection passed through as opdata */ struct im_connection *check_imc(void *opdata, const char *accountname, @@ -1313,6 +1415,21 @@ { struct im_connection *ic = (struct im_connection *)opdata; + /* libotr 4.0.0 has a bug where it doesn't set opdata, so we catch + * that and try to find the desired connection in the global list. */ + if(!ic) { + GSList *l; + for(l=get_connections(); l; l=l->next) { + ic = l->data; + if(strcmp(accountname, ic->acc->user) == 0 && + strcmp(protocol, ic->acc->prpl->name) == 0) + break; + } + assert(l != NULL); /* a match should always be found */ + if(!l) + return NULL; + } + if (strcmp(accountname, ic->acc->user) != 0) { log_message(LOGLVL_WARNING, "otr: internal account name mismatch: '%s' vs '%s'", @@ -1593,6 +1710,8 @@ irc_rootmsg(irc, " (none)"); /* list all contexts */ + /* XXX remove this, or split off as its own command */ + /* XXX show instags? */ irc_rootmsg(irc, "%s", ""); irc_rootmsg(irc, "\x1f" "connection contexts:\x1f (bold=currently encrypted)"); for(ctx=irc->otr->us->context_root; ctx; ctx=ctx->next) {\ @@ -1621,6 +1740,8 @@ void show_otr_context_info(irc_t *irc, ConnContext *ctx) { + // XXX show all instags/subcontexts + switch(ctx->otr_offer) { case OFFER_NOT: irc_rootmsg(irc, " otr offer status: none sent"); --- bitlbee-3.2.1+otr4.orig/otr.h +++ bitlbee-3.2.1+otr4/otr.h @@ -7,8 +7,8 @@ /* OTR support (cf. http://www.cypherpunks.ca/otr/) - 2008, Sven Moritz Hallberg - (c) and funded by stonedcoder.org + (c) 2008,2013 Sven Moritz Hallberg + funded by stonedcoder.org */ /* @@ -65,6 +65,9 @@ /* keygen jobs waiting to be sent to slave */ kg_t *todo; + + /* event timer for otrl_message_poll */ + gint timer; } otr_t; /* called from main() */