| 94 username = gaim_account_get_username(account); |
94 username = gaim_account_get_username(account); |
| 95 memcpy(frame->sn, username, strlen(username)); |
95 memcpy(frame->sn, username, strlen(username)); |
| 96 memcpy(frame->cookie, conn->cookie, 8); |
96 memcpy(frame->cookie, conn->cookie, 8); |
| 97 |
97 |
| 98 length = 76; |
98 length = 76; |
| 99 byte_stream_init(&bs, malloc(length + frame->payload.len), |
99 byte_stream_new(&bs, length + frame->payload.len); |
| 100 length + frame->payload.len); |
|
| 101 byte_stream_putraw(&bs, conn->magic, 4); |
100 byte_stream_putraw(&bs, conn->magic, 4); |
| 102 byte_stream_put16(&bs, length); |
101 byte_stream_put16(&bs, length); |
| 103 byte_stream_put16(&bs, frame->type); |
102 byte_stream_put16(&bs, frame->type); |
| 104 byte_stream_put16(&bs, frame->subtype); |
103 byte_stream_put16(&bs, frame->subtype); |
| 105 byte_stream_put16(&bs, 0x0000); |
104 byte_stream_put16(&bs, 0x0000); |
| 118 byte_stream_putraw(&bs, frame->sn, 32); |
117 byte_stream_putraw(&bs, frame->sn, 32); |
| 119 byte_stream_putraw(&bs, frame->payload.data, frame->payload.len); |
118 byte_stream_putraw(&bs, frame->payload.data, frame->payload.len); |
| 120 |
119 |
| 121 peer_connection_send(conn, &bs); |
120 peer_connection_send(conn, &bs); |
| 122 |
121 |
| 123 free(bs.data); |
122 g_free(bs.data); |
| 124 } |
123 } |
| 125 |
124 |
| 126 /** |
125 /** |
| 127 * Send a very basic ODC frame (which contains the cookie) so that the |
126 * Send a very basic ODC frame (which contains the cookie) so that the |
| 128 * remote user can verify that we are the person they were expecting. |
127 * remote user can verify that we are the person they were expecting. |
| 186 frame.type = 0x0001; |
185 frame.type = 0x0001; |
| 187 frame.subtype = 0x0006; |
186 frame.subtype = 0x0006; |
| 188 frame.payload.len = len; |
187 frame.payload.len = len; |
| 189 frame.encoding = encoding; |
188 frame.encoding = encoding; |
| 190 frame.flags = autoreply; |
189 frame.flags = autoreply; |
| 191 byte_stream_init(&frame.payload, malloc(len), len); |
190 byte_stream_new(&frame.payload, len); |
| 192 byte_stream_putraw(&frame.payload, (guint8 *)msg, len); |
191 byte_stream_putraw(&frame.payload, (guint8 *)msg, len); |
| 193 |
192 |
| 194 peer_odc_send(conn, &frame); |
193 peer_odc_send(conn, &frame); |
| 195 |
194 |
| 196 g_free(frame.payload.data); |
195 g_free(frame.payload.data); |