comparison src/protocols/oscar/bstream.c @ 10464:61ef9a964574

[gaim-migrate @ 11739] SecurID support for AIM. This is untested. I'll try to get it tested in the next few days. I'm backporting this to oldstatus. If you don't know what SecurID, google around for it. Basically it's an optional additional authentication method that AOL members can opt for (and pay an extra fee). After entering your password, you are prompted for a 6 digit number from a digit readout/ keychain-sized LCD screen. This number is pseudo-random and changes every 60 seconds. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sun, 02 Jan 2005 07:20:38 +0000
parents ea2d07ad05a9
children de34037a02c7
comparison
equal deleted inserted replaced
10463:9bed28273ec7 10464:61ef9a964574
3 * 3 *
4 * This file contains all functions needed to use bstreams. 4 * This file contains all functions needed to use bstreams.
5 */ 5 */
6 6
7 #define FAIM_INTERNAL 7 #define FAIM_INTERNAL
8 #include <aim.h> 8 #include <aim.h>
9 9
10 faim_internal int aim_bstream_init(aim_bstream_t *bs, fu8_t *data, int len) 10 faim_internal int aim_bstream_init(aim_bstream_t *bs, fu8_t *data, int len)
11 { 11 {
12 12
13 if (!bs) 13 if (!bs)
14 return -1; 14 return -1;
15 15
16 bs->data = data; 16 bs->data = data;
17 bs->len = len; 17 bs->len = len;
60 return n; 60 return n;
61 } 61 }
62 62
63 faim_internal fu8_t aimbs_get8(aim_bstream_t *bs) 63 faim_internal fu8_t aimbs_get8(aim_bstream_t *bs)
64 { 64 {
65 65
66 if (aim_bstream_empty(bs) < 1) 66 if (aim_bstream_empty(bs) < 1)
67 return 0; /* XXX throw an exception */ 67 return 0; /* XXX throw an exception */
68 68
69 bs->offset++; 69 bs->offset++;
70 70
71 return aimutil_get8(bs->data + bs->offset - 1); 71 return aimutil_get8(bs->data + bs->offset - 1);
72 } 72 }
73 73
74 faim_internal fu16_t aimbs_get16(aim_bstream_t *bs) 74 faim_internal fu16_t aimbs_get16(aim_bstream_t *bs)
75 { 75 {
76 76
77 if (aim_bstream_empty(bs) < 2) 77 if (aim_bstream_empty(bs) < 2)
78 return 0; /* XXX throw an exception */ 78 return 0; /* XXX throw an exception */
79 79
80 bs->offset += 2; 80 bs->offset += 2;
81 81
82 return aimutil_get16(bs->data + bs->offset - 2); 82 return aimutil_get16(bs->data + bs->offset - 2);
83 } 83 }
84 84
85 faim_internal fu32_t aimbs_get32(aim_bstream_t *bs) 85 faim_internal fu32_t aimbs_get32(aim_bstream_t *bs)
86 { 86 {
87 87
88 if (aim_bstream_empty(bs) < 4) 88 if (aim_bstream_empty(bs) < 4)
89 return 0; /* XXX throw an exception */ 89 return 0; /* XXX throw an exception */
90 90
91 bs->offset += 4; 91 bs->offset += 4;
92 92
93 return aimutil_get32(bs->data + bs->offset - 4); 93 return aimutil_get32(bs->data + bs->offset - 4);
94 } 94 }
95 95
96 faim_internal fu8_t aimbs_getle8(aim_bstream_t *bs) 96 faim_internal fu8_t aimbs_getle8(aim_bstream_t *bs)
97 { 97 {
98 98
99 if (aim_bstream_empty(bs) < 1) 99 if (aim_bstream_empty(bs) < 1)
100 return 0; /* XXX throw an exception */ 100 return 0; /* XXX throw an exception */
101 101
102 bs->offset++; 102 bs->offset++;
103 103
104 return aimutil_getle8(bs->data + bs->offset - 1); 104 return aimutil_getle8(bs->data + bs->offset - 1);
105 } 105 }
106 106
107 faim_internal fu16_t aimbs_getle16(aim_bstream_t *bs) 107 faim_internal fu16_t aimbs_getle16(aim_bstream_t *bs)
108 { 108 {
109 109
110 if (aim_bstream_empty(bs) < 2) 110 if (aim_bstream_empty(bs) < 2)
111 return 0; /* XXX throw an exception */ 111 return 0; /* XXX throw an exception */
112 112
113 bs->offset += 2; 113 bs->offset += 2;
114 114
115 return aimutil_getle16(bs->data + bs->offset - 2); 115 return aimutil_getle16(bs->data + bs->offset - 2);
116 } 116 }
117 117
118 faim_internal fu32_t aimbs_getle32(aim_bstream_t *bs) 118 faim_internal fu32_t aimbs_getle32(aim_bstream_t *bs)
119 { 119 {
120 120
121 if (aim_bstream_empty(bs) < 4) 121 if (aim_bstream_empty(bs) < 4)
122 return 0; /* XXX throw an exception */ 122 return 0; /* XXX throw an exception */
123 123
124 bs->offset += 4; 124 bs->offset += 4;
125 125
126 return aimutil_getle32(bs->data + bs->offset - 4); 126 return aimutil_getle32(bs->data + bs->offset - 4);
127 } 127 }
128 128
129 faim_internal int aimbs_put8(aim_bstream_t *bs, fu8_t v) 129 faim_internal int aimbs_put8(aim_bstream_t *bs, fu8_t v)
130 { 130 {