comparison src/protocols/simple/simple.c @ 13129:d0ae6489a0fb

[gaim-migrate @ 15491] Remove some sillyness when attempting to autodetect our IP address committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Mon, 06 Feb 2006 04:20:30 +0000
parents edef744647ff
children 891be2f09b5c
comparison
equal deleted inserted replaced
13128:8adf78fc630c 13129:d0ae6489a0fb
57 static char *gencallid() { 57 static char *gencallid() {
58 return g_strdup_printf("%04Xg%04Xa%04Xi%04Xm%04Xt%04Xb%04Xx%04Xx", 58 return g_strdup_printf("%04Xg%04Xa%04Xi%04Xm%04Xt%04Xb%04Xx%04Xx",
59 rand() & 0xFFFF, rand() & 0xFFFF, rand() & 0xFFFF, 59 rand() & 0xFFFF, rand() & 0xFFFF, rand() & 0xFFFF,
60 rand() & 0xFFFF, rand() & 0xFFFF, rand() & 0xFFFF, 60 rand() & 0xFFFF, rand() & 0xFFFF, rand() & 0xFFFF,
61 rand() & 0xFFFF, rand() & 0xFFFF); 61 rand() & 0xFFFF, rand() & 0xFFFF);
62 }
63
64 static char *get_my_ip() {
65 static char my_ip[42];
66 const char *tmp = gaim_network_get_public_ip();
67
68 if(!tmp || !strcmp(tmp,"0.0.0.0")) {
69 tmp = gaim_network_get_my_ip(-1);
70 }
71 strcpy(my_ip, tmp ? tmp : "0.0.0.0");
72 return my_ip;
73 } 62 }
74 63
75 static const char *simple_list_icon(GaimAccount *a, GaimBuddy *b) { 64 static const char *simple_list_icon(GaimAccount *a, GaimBuddy *b) {
76 return "simple"; 65 return "simple";
77 } 66 }
588 "%s%s" 577 "%s%s"
589 "Content-Length: %" G_GSIZE_FORMAT "\r\n\r\n%s", 578 "Content-Length: %" G_GSIZE_FORMAT "\r\n\r\n%s",
590 method, 579 method,
591 url, 580 url,
592 sip->udp ? "UDP" : "TCP", 581 sip->udp ? "UDP" : "TCP",
593 get_my_ip(), 582 gaim_network_get_my_ip(-1),
594 sip->listenport, 583 sip->listenport,
595 branch, 584 branch,
596 sip->username, 585 sip->username,
597 sip->servername, 586 sip->servername,
598 dialog ? dialog->ourtag : gentag(), 587 dialog ? dialog->ourtag : gentag(),
619 } 608 }
620 609
621 static void do_register_exp(struct simple_account_data *sip, int expire) { 610 static void do_register_exp(struct simple_account_data *sip, int expire) {
622 char *uri = g_strdup_printf("sip:%s",sip->servername); 611 char *uri = g_strdup_printf("sip:%s",sip->servername);
623 char *to = g_strdup_printf("sip:%s@%s",sip->username,sip->servername); 612 char *to = g_strdup_printf("sip:%s@%s",sip->username,sip->servername);
624 char *contact = g_strdup_printf("Contact: <sip:%s@%s:%d;transport=%s>;methods=\"MESSAGE, SUBSCRIBE, NOTIFY\"\r\nExpires: %d\r\n", sip->username, get_my_ip(), sip->listenport, sip->udp ? "udp" : "tcp", expire); 613 char *contact = g_strdup_printf("Contact: <sip:%s@%s:%d;transport=%s>;methods=\"MESSAGE, SUBSCRIBE, NOTIFY\"\r\nExpires: %d\r\n", sip->username, gaim_network_get_my_ip(-1), sip->listenport, sip->udp ? "udp" : "tcp", expire);
625 614
626 sip->registerstatus = 1; 615 sip->registerstatus = 1;
627 616
628 if(expire) { 617 if(expire) {
629 sip->reregister = time(NULL) + expire - 50; 618 sip->reregister = time(NULL) + expire - 50;