forked from mirrors/linphone-iphone
fix presence id generation
This commit is contained in:
parent
e41203a4c5
commit
d6fc5e8a36
4 changed files with 12 additions and 9 deletions
|
|
@ -717,7 +717,7 @@ static void sip_config_read(LinphoneCore *lc)
|
|||
|
||||
/* get proxies config */
|
||||
for(i=0;; i++){
|
||||
LinphoneProxyConfig *cfg=linphone_proxy_config_new_from_config_file(lc->config,i);
|
||||
LinphoneProxyConfig *cfg=linphone_proxy_config_new_from_config_file(lc,i);
|
||||
if (cfg!=NULL){
|
||||
linphone_core_add_proxy_config(lc,cfg);
|
||||
}else{
|
||||
|
|
|
|||
|
|
@ -81,15 +81,17 @@ static const char *person_prefix = "/pidf:presence/dm:person";
|
|||
/*****************************************************************************
|
||||
* PRIVATE FUNCTIONS *
|
||||
****************************************************************************/
|
||||
|
||||
static char presence_id_valid_characters[] = "0123456789abcdefghijklmnopqrstuvwxyz";
|
||||
/*defined in http://www.w3.org/TR/REC-xml/*/
|
||||
static char presence_id_valid_characters[] = "0123456789abcdefghijklmnopqrstuvwxyz-.";
|
||||
/*NameStartChar (NameChar)**/
|
||||
static char presence_id_valid_start_characters[] = ":_abcdefghijklmnopqrstuvwxyz";
|
||||
|
||||
static char * generate_presence_id(void) {
|
||||
char id[7];
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 6; i++) {
|
||||
id[i] = presence_id_valid_characters[random() % sizeof(presence_id_valid_characters)];
|
||||
id[0] = presence_id_valid_start_characters[random() % (sizeof(presence_id_valid_start_characters)-1)];
|
||||
for (i = 1; i < 6; i++) {
|
||||
id[i] = presence_id_valid_characters[random() % (sizeof(presence_id_valid_characters)-1)];
|
||||
}
|
||||
id[6] = '\0';
|
||||
|
||||
|
|
|
|||
|
|
@ -360,7 +360,7 @@ LinphoneProxyConfig * linphone_core_lookup_known_proxy(LinphoneCore *lc, const L
|
|||
const char *linphone_core_find_best_identity(LinphoneCore *lc, const LinphoneAddress *to);
|
||||
int linphone_core_get_local_ip_for(int type, const char *dest, char *result);
|
||||
|
||||
LinphoneProxyConfig *linphone_proxy_config_new_from_config_file(struct _LpConfig *config, int index);
|
||||
LinphoneProxyConfig *linphone_proxy_config_new_from_config_file(LinphoneCore *lc, int index);
|
||||
void linphone_proxy_config_write_to_config_file(struct _LpConfig* config,LinphoneProxyConfig *obj, int index);
|
||||
|
||||
int linphone_proxy_config_normalize_number(LinphoneProxyConfig *cfg, const char *username, char *result, size_t result_len);
|
||||
|
|
|
|||
|
|
@ -1211,7 +1211,7 @@ void linphone_proxy_config_write_to_config_file(LpConfig *config, LinphoneProxyC
|
|||
|
||||
|
||||
|
||||
LinphoneProxyConfig *linphone_proxy_config_new_from_config_file(LpConfig *config, int index)
|
||||
LinphoneProxyConfig *linphone_proxy_config_new_from_config_file(LinphoneCore* lc, int index)
|
||||
{
|
||||
const char *tmp;
|
||||
const char *identity;
|
||||
|
|
@ -1219,6 +1219,7 @@ LinphoneProxyConfig *linphone_proxy_config_new_from_config_file(LpConfig *config
|
|||
LinphoneProxyConfig *cfg;
|
||||
char key[50];
|
||||
int interval;
|
||||
LpConfig *config=lc->config;
|
||||
|
||||
sprintf(key,"proxy_%i",index);
|
||||
|
||||
|
|
@ -1226,7 +1227,7 @@ LinphoneProxyConfig *linphone_proxy_config_new_from_config_file(LpConfig *config
|
|||
return NULL;
|
||||
}
|
||||
|
||||
cfg=linphone_proxy_config_new();
|
||||
cfg=linphone_core_create_proxy_config(lc);
|
||||
|
||||
identity=lp_config_get_string(config,key,"reg_identity",NULL);
|
||||
proxy=lp_config_get_string(config,key,"reg_proxy",NULL);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue