close Warning: Failed to sync with repository "(default)": [Errno 12] Cannot allocate memory; repository information may be out of date. Look in the Trac log for more information including mitigation strategies.
Modify

#898 closed defect (fixed)

libpurple - handle "split user" (i.e. additional info like servername in username)

Reported by: isuftin@… Owned by: wilmer
Priority: normal Milestone:
Component: Purple Version: 3.0.4
Keywords: meanwhile, server Cc:
IRC client+version: Client-independent Operating System: Linux
OS version/distro: Fedora 15

Description

Fedora 15, libpurple 2.10.1, Bitlbee 3.0.4

Built using

Debugging disabled.

Binary stripping enabled. Off-the-Record (OTR) Messaging disabled. systemd enabled. Using event handler: glib Using SSL library: gnutls Building with these protocols: purple twitter

Note that BitlBee-libpurple is supported on a best-effort basis. It's not *fully* compatible with normal BitlBee. Don't use it unless you absolutely need it (i.e. support for a certain protocol or feature).

When trying to set up my meanwhile account, I do not have the ability to set up a server. The option does not exist. When I try to sign onto my meanwhile account (knowing I've not set up my server), I get the message:

meanwhile - Login error: A server is required to connect this account meanwhile - Logging in: Signing off..

When I try to set a server via "account 2 set server", I get: Setting `server' does not exist.

Attachments (0)

Change History (9)

comment:1 Changed at 2012-01-13T13:11:54Z by Wilmer van der Gaast <wilmer@…>

Try just "account 2 set", the setting may just have a different name.

comment:2 Changed at 2012-01-13T13:16:51Z by anonymous

[07:14] <@root> auto_connect = `1'

[07:14] <@root> auto_reconnect = `true'

[07:14] <@root> nick_format is empty

[07:14] <@root> nick_source = `handle'

[07:14] <@root> password = `' (hidden)

[07:14] <@root> tag = `meanwhile'

[07:14] <@root> username = `isuftin'

[07:14] <@root> port = `1533'

[07:14] <@root> force_login = `false'

[07:14] <@root> fake_client_id = `false'

[07:14] <@root> display_name is empty

[07:14] <@root> away is empty

[07:14] <@root> status is empty

comment:3 Changed at 2012-01-14T00:32:48Z by wilmer

Weird, I do see that setting..

What does "help purple meanwhile" say? (Only works after you add the account BTW.)

comment:4 Changed at 2012-01-24T13:53:12Z by anonymous

BitlBee libpurple module meanwhile (Sametime).
07:52 <@root>  
07:52 <@root> Supported settings:
07:52 <@root> * port (Port), integer, default: 1533
07:52 <@root> * force_login (Force login (ignore server redirects)), boolean, 
              default: false
07:52 <@root> * fake_client_id

comment:5 Changed at 2012-01-24T14:16:41Z by Ivan Suftin <isuftin@…>

Same here...

[08:14] <@root> BitlBee libpurple module meanwhile (Sametime).
[08:14] <@root>
[08:14] <@root> Supported settings:
[08:14] <@root> * port (Port), integer, default: 1533
[08:14] <@root> * force_login (Force login (ignore server redirects)),
boolean, default: false
[08:14] <@root> * fake_client_id (Hide client identity), boolean, default:
false

Last edited at 2012-01-30T21:26:37Z by wilmer (previous) (diff)

comment:6 Changed at 2012-01-30T21:36:20Z by wilmer

Ahh. I think I got it.

  host = strrchr(user, ':');
  if(host) {
    /* annoying user split from 1.2.0, need to undo it */
    *host++ = '\0';
    purple_account_set_string(account, MW_KEY_HOST, host);  
    purple_account_set_username(account, user);

  } else {
    host = (char *) purple_account_get_string(account, MW_KEY_HOST,
                                            MW_PLUGIN_DEFAULT_HOST);
  }

Nowhere in the libpurple code does the "server" (MW_KEY_HOST) setting get added, it's just read a few times for backward compatibility apparently. Try setting your username to username:host.

comment:7 Changed at 2012-01-30T21:50:01Z by Ivan Suftin <isuftin@…>

[15:47] <@marx2k> account 2 set username isuftin:xxx.xxx.xxx[[BR]] [15:47] <@root> username = `isuftin:xxx.xxx.xxx'[[BR]] [15:47] <@marx2k> account 2 on
[15:47] <@root> meanwhile - Logging in: Connecting
[15:47] <@root> meanwhile - Logging in: Sending Handshake
[15:47] <@root> meanwhile - Logging in: Waiting for Handshake
Acknowledgement
[15:47] <@root> meanwhile - Logging in: Handshake Acknowledged, Sending
Login
[15:47] <@root> meanwhile - Logging in: Waiting for Login Acknowledgement
[15:47] <@root> meanwhile - Logging in: Login Acknowledged
[15:47] <@root> meanwhile - Logging in: Starting Services
[15:47] <@root> meanwhile - Logging in: Connected
[15:47] <@root> meanwhile - Logging in: Logged in

This bug can be set as closed. Thank you! :) *shaking fist @ libpurple*

On Mon, Jan 30, 2012 at 3:36 PM, bugs.bitlbee.org <bugs@…>wrote:

#898: [libpurple - meanwhile] Setting `server' does not exist.
-------------------------------------+-------------------------------------

Reporter: isuftin@… | Owner: wilmer

Type: defect | Status: new

Priority: normal | Milestone:

Component: Purple | Version: 3.0.4
Resolution: | Keywords: meanwhile,

IRC client+version: Client- | server

independent | Operating System: Linux
OS version/distro: Fedora 15 |

-------------------------------------+-------------------------------------


Comment (by wilmer):


Ahh. I think I got it.


{{{

host = strrchr(user, ':');
if(host) {

/* annoying user split from 1.2.0, need to undo it */
*host++ = '\0';
purple_account_set_string(account, MW_KEY_HOST, host);
purple_account_set_username(account, user);


} else {

host = (char *) purple_account_get_string(account, MW_KEY_HOST,

MW_PLUGIN_DEFAULT_HOST);

}

}}}


Nowhere in the libpurple code does the "server" (MW_KEY_HOST) setting get
added, it's just read a few times for backward compatibility apparently.
Try setting your username to username:host.[[BR]]


--
Ticket URL: <http://bugs.bitlbee.org/bitlbee/ticket/898#comment:6>
BitlBee <http://www.bitlbee.org/>
BitlBee

Version 0, edited at 2012-01-30T21:50:01Z by Ivan Suftin <isuftin@…> (next)

comment:8 Changed at 2012-01-30T21:55:59Z by wilmer

Status: newassigned
Summary: [libpurple - meanwhile] Setting `server' does not exist.libpurple - handle "split user" (i.e. additional info like servername in username)

Excellent. :-)

Hopefully this bug will be a reminder for anyone else to have this problem in the future. This is definitely not intuitive.

There's actually something I can do to make this clearer, since Pidgin does show a separate Server setting. Somehow I can figure that out in code:

  /* set up account ID as user:server */
  split = purple_account_user_split_new(_("Server"),
                                        MW_PLUGIN_DEFAULT_HOST, ':');
  mw_prpl_info.user_splits = g_list_append(mw_prpl_info.user_splits, split);

I'll see how I can use that on the receiving end. Let's rename this bug.

comment:9 Changed at 2012-01-30T22:25:13Z by wilmer

Resolution: fixed
Status: assignedclosed

Modify Ticket

Action
as closed The owner will remain wilmer.
The resolution will be deleted.

Add Comment


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

 
Note: See TracTickets for help on using tickets.