Changeset 2838

Show
Ignore:
Timestamp:
02/16/10 22:26:39 (5 months ago)
Author:
kuhlmann
Message:

* if ressource conflict happens, set a flag before reconnect to append random digits to the ressource * add savable flag for the same * change default ressource from "iks" to "climm"

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • climm/include/util_opts.h

    r2831 r2838  
    8787#define CO_SCRIPT        (COF_BOOL    | CO_GLOBAL  | 0x000104UL) /* open a scripting connection       */ 
    8888#define CO_S5USE         (COF_BOOL    | CO_SERVER  | 0x000404UL) /* use Socks 5 proxy                 */ 
     89#define CO_TAGRESSOURCE  (COF_BOOL    | CO_SERVER  | 0x001004UL) /* append random string to ressource to make unique */ 
     90#define CO_AUTOTAGRES    (COF_BOOL    | CO_SERVER  | 0x004004UL) /* append random string to ressource to make unique (automatically set) */ 
    8991 
    9092#define CO_LOCAL         (COF_BOOL    | CO_CONTACT | 0x000105UL) /* local contact (do not put on roster, don't get/send status) */ 
  • climm/src/util_opts.c

    r2637 r2838  
    6868  { "dcauth",        CO_DCAUTH        }, 
    6969  { "dccont",        CO_DCCONT        }, 
     70  { "tagressource",  CO_TAGRESSOURCE  }, 
    7071  { "revealtime",    CO_REVEALTIME    }, 
    7172  { "autoaway",      CO_AUTOAWAY      }, 
  • climm/src/xmpp_base.c

    r2833 r2838  
    11161116            return IKS_NET_DROPPED; 
    11171117        case IKS_NODE_ERROR: 
     1118            if (!strcmp (iks_name (iks_first_tag (node)), "conflict")) 
     1119                OptSetVal (&serv->copts, CO_AUTOTAGRES, 1); 
    11181120            XmppStreamError (serv, s_sprintf ("stream error [%s]", iks_name (iks_first_tag (node)))); 
    11191121            if (node) iks_delete (node); 
     
    12441246                    conn->serv->xmpp_id = iks_id_new (iks_parser_stack (prs), conn->serv->screen); 
    12451247                    if (!conn->serv->xmpp_id->resource) 
    1246                         conn->serv->xmpp_id = iks_id_new (iks_parser_stack (prs), s_sprintf ("%s@%s/%s", conn->serv->xmpp_id->user, conn->serv->xmpp_id->server, "iks")); 
     1248                        conn->serv->xmpp_id = iks_id_new (iks_parser_stack (prs), 
     1249                            s_sprintf ("%s@%s/climm", conn->serv->xmpp_id->user, conn->serv->xmpp_id->server)); 
     1250                    if (ConnectionPrefVal (conn->serv, CO_TAGRESSOURCE) || ConnectionPrefVal (conn->serv, CO_AUTOTAGRES)) 
     1251                        conn->serv->xmpp_id = iks_id_new (iks_parser_stack (prs), 
     1252                            s_sprintf ("%s/%s%04X%04X", conn->serv->xmpp_id->partial, conn->serv->xmpp_id->resource, rand() % 0xffff, rand() % 0xffff)); 
    12471253                    iks_set_log_hook (prs, XmppSaveLog); 
    12481254                }