Mercurial > pidgin.yaz
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 { |