aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
* Remove deprecated placeholder for 'nick' command (added 2010)masterdequis2018-05-27-6/+0
| | | | BitlBee 1.x compatibility stuff. It's just confusing now.
* Merge branch 'develop'dequis2018-05-27-22/+23
|\
| * debian: turn -common and -dev into arch:any to safely use --link-docdequis2018-04-11-19/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This started with trying to remove something that says "remove the hack below once Hardy and Lenny are deprecated". Hardy and Lenny have been deprecated for years, this should be easy, right? Turns out that the symlink stuff we were doing can result in broken packages with binNMU, see debbug#767839. This is also documented in the dh_installdocs man page: > CAVEAT 2: The use of --link-doc should only be done when the packages > have same "architecture" type. A link from a architecture independent > package to a architecture dependent package (or vice versa) will not > work. Since compat 10, debhelper will actively reject unsupported > combinations. And we were doing essentially the same wrong thing but manually. The easiest way to solve this is to stop mixing arch:any and arch:all, and to make everything arch:any. Let's hope this is as easy as it looks. Thanks to bunk, nthykier and olly from #debian-devel for help with this.
| * debian: add ${DEB_HOST_MULTIARCH} to pkgconfig install pathdequis2018-04-10-2/+5
| | | | | | | | Fixes lintian pkg-config-unavailable-for-cross-compilation
| * debian: Fix postinst error with no /var/lib/bitlbeeSean Whitton2018-04-10-1/+8
| | | | | | | | (Patch from debbug#816200, changelog modified slightly by dx)
* | Openssl 1.1 supportEneas U de Queiroz2018-05-24-9/+15
| | | | | | | | | | | | This adds openssl 1.1.0 support. Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
* | Fix bitlbee.org URLs.Wilmer van der Gaast2018-05-08-6/+6
|/
* jabber: try to join anyway after "Already present in chat"dequis2018-03-31-2/+7
| | | | | Most of the time that error meant a confusion on bitlbee's side, often a server for which we sent a join request and never got a reply for.
* oscar: remove old_icq_auth (XOR login, default off since 2010)dequis2018-03-30-157/+1
| | | | Holy crap this login method is *bad*
* debian: pass --systemdsystemunitdir to ./configure explicitlydequis2018-03-27-2/+2
| | | | | | | It normally comes from a pkg-config in the systemd package, but for some reason the debian stretch image in wilmer's pbuilder doesn't have it, even though it's installed in both newer and older debians. Who knows. Easiest to just not depend on it here.
* debian: limit dh_systemd actions to the bitlbee-common packagedequis2018-03-27-5/+5
| | | | | | | Fixes issues such as the following in debian testing/sid >dh_systemd_enable: Requested unit "bitlbee.socket" but it was not found in any package acted on.
* debian: bump compat level from 6 to 9dequis2018-03-27-1/+1
| | | | | | It's nicer like this, and some builds were defaulting to it anyway. See: https://manpages.debian.org/unstable/debhelper/debhelper.7.en.html#Supported_compatibility_levels
* Write backtrace to /var/lib/bitlbee/crash.log on SIGSEGVdequis2018-03-26-5/+103
| | | | | | | | | | | | | | | | | | | | | | Async-signal-safe code is very restricted (nothing that may call malloc indirectly), so this code tries its best to show meaningful stuff, but the output is still fairly raw. The contents of the log file are: - BITLBEE_VERSION, BITLBEE_CONFIGURE_ARGS - Backtrace as generated by backtrace()/backtrace_symbols_fd() - A small help text explaining how to get more useful symbol names - Memory maps (/proc/self/maps), which also mentions loaded plugins The backtrace() function is a GNU extension, /proc/ is a linux thing. Non-glibc platforms (such as musl) won't show anything, non-linux platforms will skip the memory maps when /proc/self/maps fails to open. I'd like to include timestamps, but I can't find a safe way to format them. Even turning raw unix timestamps to strings is hard. Fun stuff. I used the config directory because it's the only place we can be sure we can write to. The filename is hardcoded for the same reason there are no timestamps.
* sighandler_crash: flush irc send buffer before crashdequis2018-03-26-0/+3
|
* Improve the wording of the message when starting with inetd accidentallydequis2018-03-26-3/+5
|
* doc: some improvements to the man pagedequis2018-03-26-17/+29
|
* debian: add recent changes to changelog as an UNRELEASED entrydequis2018-03-21-0/+7
|
* debian: add missing changelog entry from the 3.5.1-1 packagedequis2018-03-19-0/+6
|
* debian: remove skype plugin stuffdequis2018-03-19-63/+2
|
* configure: Add -Wformat -Werror=format-security to default CFLAGSdequis2018-03-19-2/+2
| | | | | | | | Matches debian build scripts. Also expands the condition to gcc or clang. I'd rather remove this, apparently it exists because some opensolaris compiler didn't have -Wall which seems absurd to me, but whatever.
* root_commands: Fix -Wformat-security errorsdequis2018-03-19-3/+3
| | | | Showed up in debian builds
* bitlbee_daemon_init: friendlier error for EADDRINUSEdequis2018-03-19-0/+6
|
* irc_commands: send numeric 900 RPL_SASLSUCCESS too, some clients need itdequis2018-03-19-0/+3
| | | | | | | | | | The nodejs irc-framework lib used by thelounge and kiwiirc seems to expect 900 on successful login, instead of just 903, so they hang on sasl auth from bitlbee. The sasl spec isn't very specific on which should be used (IMO clients should handle both), but it seems to point at the direction of sending both, so both it is.
* purple: support PURPLE_MESSAGE_REMOTE_SEND for groupchat self-messagesdequis2018-03-19-1/+8
| | | | | | Requires libpurple 2.12.0 Mostly relevant recently with slack-libpurple.
* twitter: remove some obsolete references to identi.cadequis2018-03-11-21/+5
|
* Remove old skype plugin. Use the skypeweb purple plugin instead.dequis2018-03-11-4383/+2
| | | | | | | | | | RIP This plugin relied on the skype linux client, which doesn't work anymore. During login it just does exit(0) for mysterious reasons. I guess that's the server trying to say that it's not supported. This is officially dead now after a few years of kinda-almost-working.
* Try to join long spaceless lines in paste_buffer without a newlinedequis2018-03-11-1/+33
| | | | | | Fixes trac ticket 1302 The main use case for this is pasting long URLs and not breaking them
* root_commands: Improve 'chat add' error/success messagesdequis2018-02-11-3/+9
| | | | | | | | | | | | | | | | | | | | | | | This handles the most common error case with an obvious error message (channel already exists, join it, etc), and the rarer ones with vague but different wording. For those cases: - "Could not add chatroom." This wording is not present in this version anymore, likely means the channel already exists. - "Error creating channel for chatroom." irc_channel_new() failed but the channel doesn't exist already. This could be that some name validation failed, but this function already generates a suitable name. - "Error adding chatroom." irc_channel_new() succeeded, but one of the set_setstr() failed. There are account checks earlier, and the room setting is not normally validated at this point. Can't really imagine situations where these vague errors would still show up, but at least now you only get those for unknown cases.
* irc.h: Add G_GNUC_PRINTF annotations to printf-like functionsdequis2018-02-11-5/+5
| | | | | The change in root_commands.c is due to -Wformat-zero-length, which is bs but whatever. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47901
* Update Twitter character limit to 280 charactersAlyssa Ross2018-02-08-3/+3
|
* Remove MSN. Use the skypeweb purple plugin instead.dequis2018-01-10-3747/+8
| | | | | | | | | | | | | | RIP As per http://ismsndeadyet.com/ all versions up to MSNP22 died a few months ago. We had a MSNP21 implementation, bought us two extra years. Implementing MSNP24 is technically possible but also pointless given skypeweb, and the authentication requires some fairly messed up crypto and legacy old-skype-protocol servers. For a long time I tried to reverse a potentially simpler method, and got fairly close, but never completed that. I haven't done any attempts to continue it in the last year, so I'm fine with giving up at this point.
* cmd_chat_list_finish: fix crash when plugins provide NULL room titlesdequis2017-11-23-1/+1
|
* jabber: Fix chat joins when ext_jid is provided for your own userdequis2017-11-19-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | This is the presence needed to finalize a join to the channel, the 'from' field is our own user in the context of that channel: <presence to="dx@server/resource" from="channel@gateway.server/dx"> <x xmlns="http://jabber.org/protocol/muc#user"> <status code="110"/> <item jid="~dx@198.51.100.1" affiliation="none" role="participant"/> </x> </presence> Bitlbee takes the stuff to <item jid="..."> as the "real" jid, as it does for non-anonymous MUCs. It sets that to ext_jid, and uses it as the handle internally. In this particular case, that real jid is nonsense for us, so imcb_chat_add_buddy() interprets that as yet another person joining the channel, instead of the expected self-join. This fixes it by checking if the buddy is our own user, and ignoring the provided ext_jid in those cases. Thanks to ivucica for reporting this, who was using Biboumi (a gateway from XMPP to IRC)
* Handle always_use_nicks more gracefullyValeriy Malov2017-11-19-1/+2
| | | | Add MUC buddies before applying nick changes
* travis: require ubuntu precise explicitly, install more depsdequis2017-10-05-1/+4
|
* tests: fix build warnings in jabber_buddy_by_jid testsdequis2017-10-05-2/+2
|
* Add quotations around <answer> and <secret> in the otr docsTroy Sankey2017-10-04-2/+2
| | | | | The user doesn't otherwise know how to type answers or secrets containing spaces.
* Add datadir to pkgconfig file and config.hdevelopArtem Savkov2017-08-31-0/+2
| | | | Export datadir through pkgconfig and config.h for later use by plugins.
* channel operates on channel ids not account idsJesse Kennedy2017-08-26-1/+1
|
* Twitter documentation: move commands to a chapterAlex Schroeder2017-08-26-19/+32
| | | | | | The Twitter commands are now documented in their own chapter accessed by `help twitter` instead of being hidden in `help set commands`.
* Twitter: fix format strings for integersAlex Schroeder2017-08-09-10/+10
| | | | | | | Silence the following compiler warning: format specifies type 'unsigned long long' but the argument has type 'guint64'. When formatting a json_integer, use PRId64 for int64_t. When formatting ordinary integers, use G_GUINT64_FORMAT for guint64.
* purple: enable debug during core initializationdequis2017-07-12-1/+3
| | | | Noisy but often important
* configure: Don't require python if docs are already builtdequis2017-07-09-1/+1
|
* cygwin: add -no-undefined on our side to fix issues with mac OSdequis2017-05-29-1/+1
| | | | | | | | | | So cygwin requires -no-undefined and it was supposed to be harmless on platforms other than windows, but mac OS doesn't like it. Instead of adding platform checks to every plugin, i'm going to revert the changes that added -no-undefined to them, and just do what I should have done since the beginning: use the cygwin-specific parts of the pkg-config file to add -no-undefined right next to -lbitlbee
* cygwin: add a missing mkdir of libdir to the makefiledequis2017-05-18-0/+1
|
* cygwin: Export a "libbitlbee.dll.a" to allow plugins to link to itdequis2017-05-13-1/+20
|
* Fix status message being set to null accidentallydequis2017-05-07-3/+3
| | | | | | | | | | | | | | In other words, "account jabber set away Message" resulted in away status being set, but not "Message". Fixes trac ticket 1291 This was broken by ac68733ad7a5127395d6367b655a2d9de5d911b5 (3.4.2) That commit added another call of imc_away_state_find() with the fixed string "away", so purple protocols can become away by setting away to any string. But by doing so, it wiped the status message because it's the same as the name of the away state.
* Move `handle_settings` before `xt_handle`.Fangrui Song2017-04-16-2/+2
| | | | `utf8_nicks` should be enabled before handling `nick` fields in <setting> because `nick_strip` uses `IRC_UTF8_NICKS` which is only available after calling `handle_settings`.
* debian: Enable only bitlbee.service, not bitlbee.socket toodequis2017-04-13-1/+2
| | | | The default was to enable both, which was confusing.
* init/bitlbee@.service: send stderr to syslog instead of the socketdequis2017-04-13-0/+1
|