Mercurial > pidgin
comparison src/protocols/oscar/rxqueue.c @ 10271:361c9170d8af
[gaim-migrate @ 11420]
This is a better way to do the aim logout thing. I don't know why
I did it the other way. That's a lie, I know why. It's because
I'm dumb.
committer: Tailor Script <tailor@pidgin.im>
| author | Mark Doliner <mark@kingant.net> |
|---|---|
| date | Sat, 27 Nov 2004 16:09:31 +0000 |
| parents | 9cafe038c95e |
| children | 751de30689ef |
comparison
equal
deleted
inserted
replaced
| 10270:e5451763f5b9 | 10271:361c9170d8af |
|---|---|
| 100 * 0x02 | Sequence number, 2 bytes. | 100 * 0x02 | Sequence number, 2 bytes. |
| 101 * 0x04 | Number of data bytes that follow, 2 bytes. | 101 * 0x04 | Number of data bytes that follow, 2 bytes. |
| 102 */ | 102 */ |
| 103 aim_bstream_init(&hdr, hdr_raw, sizeof(hdr_raw)); | 103 aim_bstream_init(&hdr, hdr_raw, sizeof(hdr_raw)); |
| 104 if (aim_bstream_recv(&hdr, conn->fd, 6) < 6) { | 104 if (aim_bstream_recv(&hdr, conn->fd, 6) < 6) { |
| 105 aim_conn_close(sess, conn); | 105 aim_conn_close(conn); |
| 106 return -1; | 106 return -1; |
| 107 } | 107 } |
| 108 | 108 |
| 109 aim_bstream_rewind(&hdr); | 109 aim_bstream_rewind(&hdr); |
| 110 | 110 |
| 112 * This shouldn't happen unless the socket breaks, the server breaks, | 112 * This shouldn't happen unless the socket breaks, the server breaks, |
| 113 * or we break. We must handle it just in case. | 113 * or we break. We must handle it just in case. |
| 114 */ | 114 */ |
| 115 if (aimbs_get8(&hdr) != 0x2a) { | 115 if (aimbs_get8(&hdr) != 0x2a) { |
| 116 faimdprintf(sess, 0, "Invalid FLAP frame received on FLAP connection!"); | 116 faimdprintf(sess, 0, "Invalid FLAP frame received on FLAP connection!"); |
| 117 aim_conn_close(sess, conn); | 117 aim_conn_close(conn); |
| 118 return -1; | 118 return -1; |
| 119 } | 119 } |
| 120 | 120 |
| 121 fr->hdr.flap.channel = aimbs_get8(&hdr); | 121 fr->hdr.flap.channel = aimbs_get8(&hdr); |
| 122 fr->hdr.flap.seqnum = aimbs_get16(&hdr); | 122 fr->hdr.flap.seqnum = aimbs_get16(&hdr); |
| 140 /* | 140 /* |
| 141 * Read rendezvous header | 141 * Read rendezvous header |
| 142 */ | 142 */ |
| 143 aim_bstream_init(&hdr, hdr_raw, sizeof(hdr_raw)); | 143 aim_bstream_init(&hdr, hdr_raw, sizeof(hdr_raw)); |
| 144 if (aim_bstream_recv(&hdr, conn->fd, 8) < 8) { | 144 if (aim_bstream_recv(&hdr, conn->fd, 8) < 8) { |
| 145 aim_conn_close(sess, conn); | 145 aim_conn_close(conn); |
| 146 return -1; | 146 return -1; |
| 147 } | 147 } |
| 148 | 148 |
| 149 aim_bstream_rewind(&hdr); | 149 aim_bstream_rewind(&hdr); |
| 150 | 150 |
| 210 aim_bstream_init(&fr->data, payload, payloadlen); | 210 aim_bstream_init(&fr->data, payload, payloadlen); |
| 211 | 211 |
| 212 /* read the payload */ | 212 /* read the payload */ |
| 213 if (aim_bstream_recv(&fr->data, conn->fd, payloadlen) < payloadlen) { | 213 if (aim_bstream_recv(&fr->data, conn->fd, payloadlen) < payloadlen) { |
| 214 aim_frame_destroy(fr); /* free's payload */ | 214 aim_frame_destroy(fr); /* free's payload */ |
| 215 aim_conn_close(sess, conn); | 215 aim_conn_close(conn); |
| 216 return -1; | 216 return -1; |
| 217 } | 217 } |
| 218 } else | 218 } else |
| 219 aim_bstream_init(&fr->data, NULL, 0); | 219 aim_bstream_init(&fr->data, NULL, 0); |
| 220 | 220 |
