Modify

#914 assigned defect

OTR cannot write its config file

Reported by: anonymous Owned by: wilmer
Priority: normal Milestone:
Component: OTR Version: devel
Keywords: Cc:
IRC client+version: Client-independent Operating System: Linux
OS version/distro: Xubuntu 11.04 x86

Description

With the build checked out from bzr a few hours ago, registration fails because of OTR permission issues:

$ ./configure --otr=1

...

$ bitlbee -D

[...meanwhile, in XChat...]

<Rena> register hunter2

<root> Error while opening configuration file.

<root> otr save: /var/lib/bitlbee/Rena.otr_fprints: Permission denied

<root> Error registering

This is only after creating said file; the install process didn't even create /var/lib/bitlbee (so it would fail with a "no such file or directory" message instead). I can't seem to find any permission set which will allow it to successfully write this file; even with the owner set as the same user running bitlbee and mode 777, I still get "permission denied". This makes OTR unusable.

Attachments (0)

Change History (7)

comment:1 Changed at 2012-02-11T09:56:12Z by Wilmer van der Gaast <wilmer@…>

Which installation process? I assume you installed BitlBee packages from your distro or code.bitlbee.org/debian/ ?

comment:2 Changed at 2012-02-16T15:15:00Z by anonymous

I downloaded from BZR and compiled. On another system (where OTR works fine) I installed from Ubuntu repos.

comment:3 Changed at 2014-02-07T16:15:20Z by pesco

Owner: changed from pesco to wilmer
Status: newassigned

I don't know, should make install create /var/lib/bitlbee if needed? I'd guess so, but it's not really my department.

comment:4 Changed at 2014-02-07T19:54:26Z by dx

Oh, you just reminded me, in the tests I did yesterday I got several ugly bugs with the libotr4 bitlbee, but I didn't have /var/lib/bitlbee and sometimes i had xmlconsole on too. I blamed /var/lib/bitlbee for both of them, but now I'm not sure of that. Will check later.

First it starts like this:

otr: dx@dukgo.com/jabber: otrl_instag_generate failed: No such file or directory

Which is the only part I'm completely sure that it's relevant to this ticket.

After that, I kept using bitlbee, and got a stack overflow - infinite recursion between a few functions, but unfortunately I didn't have full debug symbols when I got this one.

#48 0x00007f1628ffda25 in otr_filter_msg_in ()
#49 0x00007f1628ff6cf7 in ?? ()
#50 0x00007f162901b6de in jabber_write ()
#51 0x00007f1627c9bfe1 in ?? () from /usr/lib/libotr.so.5
#52 0x00007f1627c9e0ff in otrl_message_receiving () from /usr/lib/libotr.so.5
#53 0x00007f1628ffda25 in otr_filter_msg_in ()
#54 0x00007f1628ff6cf7 in ?? ()
#55 0x00007f162901b6de in jabber_write ()
#56 0x00007f1627c9c709 in ?? () from /usr/lib/libotr.so.5
#57 0x00007f1627c9cb8e in ?? () from /usr/lib/libotr.so.5
#58 0x00007f1627c9ddd5 in otrl_message_receiving () from /usr/lib/libotr.so.5
#59 0x00007f1628ffda25 in otr_filter_msg_in ()

After that I reconnected, talked to a contact, and started receiving notices with this repeated every second:

OTR error message received: you sent a malformed OTR message

While the other side (also bitlbee libotr4) got

unexpected encrypted message received

Also "otr disconnect <nickname>" failed silently.

Like I said, I'm not completely sure if these issues are because of the lack of /var/lib/bitlbee. Must confirm again. Just dumping stuff here, probably the wrong place for that, but I'll forget otherwise.

Version 0, edited at 2014-02-07T19:54:26Z by dx (next)

comment:5 in reply to:  3 ; Changed at 2014-02-07T20:53:34Z by wilmer

Replying to pesco:

I don't know, should make install create /var/lib/bitlbee if needed? I'd guess so, but it's not really my department.

I don't think it should, since it also doesn't know what user BitlBee is going to run as. People who compile BitlBee from source should be able to read manuals. If they're not, they should install packages or use a public server..

comment:6 in reply to:  5 ; Changed at 2014-02-07T21:40:42Z by dx

Replying to wilmer:

People who compile BitlBee from source should be able to read manuals. If they're not, they should install packages or use a public server..

Should. Evidently they don't, as it's a really frequent issue in #bitlbee.

Speaking of which: I didn't even know doc/README existed (I usually look for README files in the root of a repo). That file only says this in the xinetd section (marked as deprecated):

don't forget to create the configuration directory

And this in the (fork)daemon section:

Please do make sure that the user BitlBee runs as (not root, please!) is able to read from and write to the /var/lib/bitlbee directory to save your settings!

But back to the original point, evidently nobody reads the docs. Maybe the bitlbee process should refuse to start if it doesn't have write access to the config dir? Also we need better log messages when write access is possible but individual files have wrong permissions.

comment:7 in reply to:  6 Changed at 2014-02-07T22:46:44Z by wilmer

Definitely in favour of better error logging. I think there's a warning printed when /v/l/b doesn't exist but obviously that's easy to miss.

Still strongly again creating the directory without thinking about permissions, since that will just change that FAQ from "missing /v/l/b" into "wrong permissions on /v/l/b".

Modify Ticket

Action
as assigned The owner will remain wilmer.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.