Mercurial > pidgin
comparison libgaim/protocols/qq/send_file.c @ 14610:473b225e7352
[gaim-migrate @ 17338]
Eliminate a dependency in crypt.c by replacing ntohl() (etc) with g_ntohl() (etc). Also replace those calls in the rest of the QQ prpl, to be consistent.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Huetsch <markhuetsch> |
---|---|
date | Fri, 22 Sep 2006 16:05:09 +0000 |
parents | 85f3808ca472 |
children | 6b8bc59414f0 |
comparison
equal
deleted
inserted
replaced
14609:36ededd6e064 | 14610:473b225e7352 |
---|---|
65 { | 65 { |
66 struct sockaddr_in sin; | 66 struct sockaddr_in sin; |
67 memset(&sin, 0, sizeof(sin)); | 67 memset(&sin, 0, sizeof(sin)); |
68 sin.sin_family = AF_INET; | 68 sin.sin_family = AF_INET; |
69 if (!_qq_in_same_lan(info)) { | 69 if (!_qq_in_same_lan(info)) { |
70 sin.sin_port = htons(info->remote_major_port); | 70 sin.sin_port = g_htons(info->remote_major_port); |
71 sin.sin_addr.s_addr = htonl(info->remote_internet_ip); | 71 sin.sin_addr.s_addr = g_htonl(info->remote_internet_ip); |
72 } else { | 72 } else { |
73 sin.sin_port = htons(info->remote_minor_port); | 73 sin.sin_port = g_htons(info->remote_minor_port); |
74 sin.sin_addr.s_addr = htonl(info->remote_real_ip); | 74 sin.sin_addr.s_addr = g_htonl(info->remote_real_ip); |
75 } | 75 } |
76 return 0; | 76 return 0; |
77 } | 77 } |
78 | 78 |
79 /* these 2 functions send and recv buffer from/to UDP channel */ | 79 /* these 2 functions send and recv buffer from/to UDP channel */ |
87 info = (ft_info *) xfer->data; | 87 info = (ft_info *) xfer->data; |
88 sinlen = sizeof(sin); | 88 sinlen = sizeof(sin); |
89 r = recvfrom(info->recv_fd, buf, len, 0, (struct sockaddr *) &sin, &sinlen); | 89 r = recvfrom(info->recv_fd, buf, len, 0, (struct sockaddr *) &sin, &sinlen); |
90 gaim_debug(GAIM_DEBUG_INFO, "QQ", | 90 gaim_debug(GAIM_DEBUG_INFO, "QQ", |
91 "==> recv %d bytes from File UDP Channel, remote ip[%s], remote port[%d]\n", | 91 "==> recv %d bytes from File UDP Channel, remote ip[%s], remote port[%d]\n", |
92 r, inet_ntoa(sin.sin_addr), ntohs(sin.sin_port)); | 92 r, inet_ntoa(sin.sin_addr), g_ntohs(sin.sin_port)); |
93 return r; | 93 return r; |
94 } | 94 } |
95 | 95 |
96 /* | 96 /* |
97 static ssize_t _qq_xfer_udp_send(const char *buf, size_t len, GaimXfer *xfer) | 97 static ssize_t _qq_xfer_udp_send(const char *buf, size_t len, GaimXfer *xfer) |
109 | 109 |
110 info = (ft_info *) xfer->data; | 110 info = (ft_info *) xfer->data; |
111 memset(&sin, 0, sizeof(sin)); | 111 memset(&sin, 0, sizeof(sin)); |
112 sin.sin_family = AF_INET; | 112 sin.sin_family = AF_INET; |
113 if (!_qq_in_same_lan(info)) { | 113 if (!_qq_in_same_lan(info)) { |
114 sin.sin_port = htons(info->remote_major_port); | 114 sin.sin_port = g_htons(info->remote_major_port); |
115 sin.sin_addr.s_addr = htonl(info->remote_internet_ip); | 115 sin.sin_addr.s_addr = g_htonl(info->remote_internet_ip); |
116 } else if (info->use_major) { | 116 } else if (info->use_major) { |
117 sin.sin_port = htons(info->remote_major_port); | 117 sin.sin_port = g_htons(info->remote_major_port); |
118 sin.sin_addr.s_addr = htonl(info->remote_real_ip); | 118 sin.sin_addr.s_addr = g_htonl(info->remote_real_ip); |
119 } else { | 119 } else { |
120 sin.sin_port = htons(info->remote_minor_port); | 120 sin.sin_port = g_htons(info->remote_minor_port); |
121 sin.sin_addr.s_addr = htonl(info->remote_real_ip); | 121 sin.sin_addr.s_addr = g_htonl(info->remote_real_ip); |
122 } | 122 } |
123 gaim_debug(GAIM_DEBUG_INFO, "QQ", "sending to channel: %d.%d.%d.%d:%d\n", | 123 gaim_debug(GAIM_DEBUG_INFO, "QQ", "sending to channel: %d.%d.%d.%d:%d\n", |
124 sin.sin_addr.s_addr & 0xff, | 124 sin.sin_addr.s_addr & 0xff, |
125 (sin.sin_addr.s_addr >> 8) & 0xff, | 125 (sin.sin_addr.s_addr >> 8) & 0xff, |
126 (sin.sin_addr.s_addr >> 16) & 0xff, | 126 (sin.sin_addr.s_addr >> 16) & 0xff, |
127 sin.sin_addr.s_addr >> 24, | 127 sin.sin_addr.s_addr >> 24, |
128 ntohs(sin.sin_port) | 128 g_ntohs(sin.sin_port) |
129 ); | 129 ); |
130 return sendto(info->sender_fd, buf, len, 0, (struct sockaddr *) &sin, sizeof(sin)); | 130 return sendto(info->sender_fd, buf, len, 0, (struct sockaddr *) &sin, sizeof(sin)); |
131 } | 131 } |
132 | 132 |
133 /* user-defined functions for gaim_xfer_read and gaim_xfer_write */ | 133 /* user-defined functions for gaim_xfer_read and gaim_xfer_write */ |
228 static void qq_show_conn_info(ft_info *info) | 228 static void qq_show_conn_info(ft_info *info) |
229 { | 229 { |
230 gchar *internet_ip_str, *real_ip_str; | 230 gchar *internet_ip_str, *real_ip_str; |
231 guint32 ip; | 231 guint32 ip; |
232 | 232 |
233 ip = htonl(info->remote_real_ip); | 233 ip = g_htonl(info->remote_real_ip); |
234 real_ip_str = gen_ip_str((guint8 *) &ip); | 234 real_ip_str = gen_ip_str((guint8 *) &ip); |
235 ip = htonl(info->remote_internet_ip); | 235 ip = g_htonl(info->remote_internet_ip); |
236 internet_ip_str = gen_ip_str((guint8 *) &ip); | 236 internet_ip_str = gen_ip_str((guint8 *) &ip); |
237 gaim_debug(GAIM_DEBUG_INFO, "QQ", "remote internet ip[%s:%d], major port[%d], real ip[%s], minor port[%d]\n", | 237 gaim_debug(GAIM_DEBUG_INFO, "QQ", "remote internet ip[%s:%d], major port[%d], real ip[%s], minor port[%d]\n", |
238 internet_ip_str, info->remote_internet_port, | 238 internet_ip_str, info->remote_internet_port, |
239 info->remote_major_port, real_ip_str, info->remote_minor_port | 239 info->remote_major_port, real_ip_str, info->remote_minor_port |
240 ); | 240 ); |
367 for (i = 0; i < intrface; i++) { | 367 for (i = 0; i < intrface; i++) { |
368 //buf[intrface].ifr_name | 368 //buf[intrface].ifr_name |
369 if (ioctl(fd, SIOCGIFADDR, (char *) &buf[i]) >= 0) | 369 if (ioctl(fd, SIOCGIFADDR, (char *) &buf[i]) >= 0) |
370 { | 370 { |
371 ret = (((struct sockaddr_in *)(&buf[i].ifr_addr))->sin_addr).s_addr; | 371 ret = (((struct sockaddr_in *)(&buf[i].ifr_addr))->sin_addr).s_addr; |
372 if (ret == ntohl(0x7f000001)) continue; | 372 if (ret == g_ntohl(0x7f000001)) continue; |
373 return ret; | 373 return ret; |
374 } | 374 } |
375 } | 375 } |
376 return 0; | 376 return 0; |
377 } | 377 } |
389 info = (ft_info *) xfer->data; | 389 info = (ft_info *) xfer->data; |
390 | 390 |
391 /* debug | 391 /* debug |
392 info->local_real_ip = 0x7f000001; | 392 info->local_real_ip = 0x7f000001; |
393 */ | 393 */ |
394 info->local_real_ip = ntohl(inet_addr(gaim_network_get_my_ip(-1))); | 394 info->local_real_ip = g_ntohl(inet_addr(gaim_network_get_my_ip(-1))); |
395 gaim_debug(GAIM_DEBUG_INFO, "QQ", "local real ip is %x", info->local_real_ip); | 395 gaim_debug(GAIM_DEBUG_INFO, "QQ", "local real ip is %x", info->local_real_ip); |
396 | 396 |
397 for (i = 0; i < 2; i++) { | 397 for (i = 0; i < 2; i++) { |
398 sockfd = socket(PF_INET, SOCK_DGRAM, 0); | 398 sockfd = socket(PF_INET, SOCK_DGRAM, 0); |
399 g_return_if_fail(sockfd >= 0); | 399 g_return_if_fail(sockfd >= 0); |
403 sin.sin_port = 0; | 403 sin.sin_port = 0; |
404 sin.sin_addr.s_addr = INADDR_ANY; | 404 sin.sin_addr.s_addr = INADDR_ANY; |
405 sin_len = sizeof(sin); | 405 sin_len = sizeof(sin); |
406 bind(sockfd, (struct sockaddr *) &sin, sin_len); | 406 bind(sockfd, (struct sockaddr *) &sin, sin_len); |
407 getsockname(sockfd, (struct sockaddr *) &sin, &sin_len); | 407 getsockname(sockfd, (struct sockaddr *) &sin, &sin_len); |
408 listen_port = ntohs(sin.sin_port); | 408 listen_port = g_ntohs(sin.sin_port); |
409 | 409 |
410 switch (i) { | 410 switch (i) { |
411 case 0: | 411 case 0: |
412 info->local_major_port = listen_port; | 412 info->local_major_port = listen_port; |
413 info->major_fd = sockfd; | 413 info->major_fd = sockfd; |
443 qd = (qq_data *) gc->proto_data; | 443 qd = (qq_data *) gc->proto_data; |
444 | 444 |
445 info = g_new0(ft_info, 1); | 445 info = g_new0(ft_info, 1); |
446 info->to_uid = to_uid; | 446 info->to_uid = to_uid; |
447 info->send_seq = qd->send_seq; | 447 info->send_seq = qd->send_seq; |
448 info->local_internet_ip = ntohl(inet_addr(qd->my_ip)); | 448 info->local_internet_ip = g_ntohl(inet_addr(qd->my_ip)); |
449 info->local_internet_port = qd->my_port; | 449 info->local_internet_port = qd->my_port; |
450 info->local_real_ip = 0x00000000; | 450 info->local_real_ip = 0x00000000; |
451 info->conn_method = 0x00; | 451 info->conn_method = 0x00; |
452 qd->xfer->data = info; | 452 qd->xfer->data = info; |
453 | 453 |
798 "Received file reject message is empty\n"); | 798 "Received file reject message is empty\n"); |
799 return; | 799 return; |
800 } | 800 } |
801 | 801 |
802 info = g_new0(ft_info, 1); | 802 info = g_new0(ft_info, 1); |
803 info->local_internet_ip = ntohl(inet_addr(qd->my_ip)); | 803 info->local_internet_ip = g_ntohl(inet_addr(qd->my_ip)); |
804 info->local_internet_port = qd->my_port; | 804 info->local_internet_port = qd->my_port; |
805 info->local_real_ip = 0x00000000; | 805 info->local_real_ip = 0x00000000; |
806 info->to_uid = sender_uid; | 806 info->to_uid = sender_uid; |
807 read_packet_w(data, cursor, data_len, &(info->send_seq)); | 807 read_packet_w(data, cursor, data_len, &(info->send_seq)); |
808 | 808 |