From: Mark D. <the...@us...> - 2004-04-28 03:16:49
|
Update of /cvsroot/gaim/gaim/src/protocols/rendezvous In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10176/src/protocols/rendezvous Modified Files: mdns.c mdns.h rendezvous.c Log Message: -Fix the compile error in perl that was my fault -Rename a network.c function and change it's signature (is that work applicable in c?) -Make rendezvous crash when trying to sign on Index: mdns.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/rendezvous/mdns.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -p -r1.13 -r1.14 --- mdns.c 28 Apr 2004 00:48:21 -0000 1.13 +++ mdns.c 28 Apr 2004 03:16:40 -0000 1.14 @@ -772,16 +772,16 @@ mdns_send_rr(int fd, ResourceRecord *rr) } int -mdns_advertise_a(int fd, const char *name, unsigned char *ip) +mdns_advertise_a(int fd, const char *name, const unsigned char *ip) { int ret; ResourceRecord *rr; ResourceRecordRDataA *rdata; int i; - if ((name == NULL) || (strlen(name) > 255)) { - return -EINVAL; - } + g_return_val_if_fail(name != NULL, -EINVAL); + g_return_val_if_fail(strlen(name) <= 255, -EINVAL); + g_return_val_if_fail(ip != NULL, -EINVAL); rdata = g_malloc(4); for (i = 0; i < 4; i++) @@ -878,7 +878,7 @@ mdns_advertise_txt(int fd, const char *n } int -mdns_advertise_aaaa(int fd, const char *name, unsigned char *ip) +mdns_advertise_aaaa(int fd, const char *name, const unsigned char *ip) { int ret; ResourceRecord *rr; Index: mdns.h =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/rendezvous/mdns.h,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -p -r1.12 -r1.13 --- mdns.h 28 Apr 2004 00:48:21 -0000 1.12 +++ mdns.h 28 Apr 2004 03:16:40 -0000 1.13 @@ -166,11 +166,11 @@ int mdns_send_dns(int fd, const DNSPacke int mdns_query(int fd, const char *domain, unsigned short type); int mdns_send_rr(int fd, ResourceRecord *rr); -int mdns_advertise_a(int fd, const char *name, unsigned char *ip); +int mdns_advertise_a(int fd, const char *name, const unsigned char *ip); int mdns_advertise_null(int fd, const char *name, const char *data, unsigned short rdlength); int mdns_advertise_ptr(int fd, const char *name, const char *domain); int mdns_advertise_txt(int fd, const char *name, const GSList *txt); -int mdns_advertise_aaaa(int fd, const char *name, unsigned char *ip); +int mdns_advertise_aaaa(int fd, const char *name, const unsigned char *ip); int mdns_advertise_srv(int fd, const char *name, unsigned short port, const char *target); /** Index: rendezvous.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/rendezvous/rendezvous.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -p -r1.18 -r1.19 --- rendezvous.c 28 Apr 2004 00:48:21 -0000 1.18 +++ rendezvous.c 28 Apr 2004 03:16:40 -0000 1.19 @@ -481,34 +481,18 @@ static void rendezvous_send_icon(GaimCon g_free(rdata); } -static int *rendezvous_get_ip_as_int_array(int fd) -{ - static int ret[4]; - const char *ip, *nexttoken; - int i = 0; - - ip = gaim_network_get_local_system_ip(fd); - nexttoken = strtok((char *)ip, "."); - while (nexttoken && i < 4) { - ret[i] = atoi(nexttoken); - nexttoken = strtok(NULL, "."); - } - - return ret; -} - static void rendezvous_send_online(GaimConnection *gc) { RendezvousData *rd = gc->proto_data; GaimAccount *account = gaim_connection_get_account(gc); const gchar *me; gchar *myname, *mycomp; - unsigned char *myip; + const unsigned char *myip; me = gaim_account_get_username(account); myname = g_strdup_printf("%s._presence._tcp.local", me); mycomp = g_strdup_printf("%s.local", strchr(me, '@') + 1); - myip = rendezvous_get_ip_as_int_array(rd->fd); + myip = gaim_network_ip_atoi(gaim_network_get_local_system_ip(rd->fd)); mdns_advertise_a(rd->fd, mycomp, myip); mdns_advertise_ptr(rd->fd, "_presence._tcp.local", myname); |