Mercurial > pidgin
comparison plugins/yay/rxhandlers.c @ 1554:c3afde736a8a
[gaim-migrate @ 1564]
good stuff.
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Sat, 10 Mar 2001 00:00:18 +0000 |
parents | bf10d0673d34 |
children | 1ca5f5fcd483 |
comparison
equal
deleted
inserted
replaced
1553:bf10d0673d34 | 1554:c3afde736a8a |
---|---|
45 session->cookie = g_strndup(*it + strlen("Set-Cookie: "), | 45 session->cookie = g_strndup(*it + strlen("Set-Cookie: "), |
46 end - *it - strlen("Set-Cookie: ")); | 46 end - *it - strlen("Set-Cookie: ")); |
47 YAHOO_PRINT(session, YAHOO_LOG_DEBUG, session->cookie); | 47 YAHOO_PRINT(session, YAHOO_LOG_DEBUG, session->cookie); |
48 if (!session->cookie) { | 48 if (!session->cookie) { |
49 yahoo_close(session, conn); | 49 yahoo_close(session, conn); |
50 YAHOO_PRINT(session, YAHOO_LOG_ERROR, "did not get cookie"); | |
50 CALLBACK(session, YAHOO_HANDLE_DISCONNECT); | 51 CALLBACK(session, YAHOO_HANDLE_DISCONNECT); |
51 return 1; | 52 return 1; |
52 } | 53 } |
53 | 54 |
54 sa = g_strsplit(session->cookie, "&", 8); | 55 sa = g_strsplit(session->cookie, "&", 8); |
223 | 224 |
224 if (getsockopt(socket, SOL_SOCKET, SO_ERROR, &error, &len) < 0) | 225 if (getsockopt(socket, SOL_SOCKET, SO_ERROR, &error, &len) < 0) |
225 error = errno; | 226 error = errno; |
226 if (error) { | 227 if (error) { |
227 yahoo_close(session, conn); | 228 yahoo_close(session, conn); |
228 YAHOO_PRINT(session, YAHOO_LOG_ERROR, "unable to connect"); | 229 YAHOO_PRINT(session, YAHOO_LOG_CRITICAL, "unable to connect"); |
229 CALLBACK(session, YAHOO_HANDLE_DISCONNECT); | 230 CALLBACK(session, YAHOO_HANDLE_DISCONNECT); |
230 return; | 231 return; |
231 } | 232 } |
232 | 233 |
233 fcntl(socket, F_SETFL, 0); | 234 fcntl(socket, F_SETFL, 0); |
257 char *buf = g_malloc0(5000); | 258 char *buf = g_malloc0(5000); |
258 while (read(socket, &buf[pos++], 1) == 1); | 259 while (read(socket, &buf[pos++], 1) == 1); |
259 if (pos == 1) { | 260 if (pos == 1) { |
260 g_free(buf); | 261 g_free(buf); |
261 yahoo_close(session, conn); | 262 yahoo_close(session, conn); |
263 YAHOO_PRINT(session, YAHOO_LOG_CRITICAL, "could not read auth response"); | |
262 CALLBACK(session, YAHOO_HANDLE_DISCONNECT); | 264 CALLBACK(session, YAHOO_HANDLE_DISCONNECT); |
263 return; | 265 return; |
264 } | 266 } |
265 YAHOO_PRINT(session, YAHOO_LOG_DEBUG, buf); | 267 YAHOO_PRINT(session, YAHOO_LOG_DEBUG, buf); |
266 if (yahoo_parse_config(session, conn, buf)) | 268 if (yahoo_parse_config(session, conn, buf)) { |
267 CALLBACK(session, YAHOO_HANDLE_DISCONNECT); | 269 YAHOO_PRINT(session, YAHOO_LOG_CRITICAL, "could not parse auth response"); |
270 CALLBACK(session, YAHOO_HANDLE_DISCONNECT); | |
271 } | |
268 g_free(buf); | 272 g_free(buf); |
269 } else if (conn->type == YAHOO_CONN_TYPE_MAIN) { | 273 } else if (conn->type == YAHOO_CONN_TYPE_MAIN) { |
270 struct yahoo_packet pkt; | 274 struct yahoo_packet pkt; |
271 int len; | 275 int len; |
272 | 276 |
273 if ((read(socket, &pkt, 8) != 8) || strcmp(pkt.version, "YHOO1.0")) { | 277 if ((read(socket, &pkt, 8) != 8) || strcmp(pkt.version, "YHOO1.0")) { |
274 yahoo_close(session, conn); | 278 yahoo_close(session, conn); |
279 YAHOO_PRINT(session, YAHOO_LOG_CRITICAL, "invalid version type"); | |
275 CALLBACK(session, YAHOO_HANDLE_DISCONNECT); | 280 CALLBACK(session, YAHOO_HANDLE_DISCONNECT); |
276 return; | 281 return; |
277 } | 282 } |
278 | 283 |
279 if (read(socket, &pkt.len, 4) != 4) { | 284 if (read(socket, &pkt.len, 4) != 4) { |
280 yahoo_close(session, conn); | 285 yahoo_close(session, conn); |
286 YAHOO_PRINT(session, YAHOO_LOG_CRITICAL, "could not read length"); | |
281 CALLBACK(session, YAHOO_HANDLE_DISCONNECT); | 287 CALLBACK(session, YAHOO_HANDLE_DISCONNECT); |
282 return; | 288 return; |
283 } | 289 } |
284 len = yahoo_makeint(pkt.len); | 290 len = yahoo_makeint(pkt.len); |
285 | 291 |
286 if (read(socket, &pkt.service, len - 12) != len - 12) { | 292 if (read(socket, &pkt.service, len - 12) != len - 12) { |
287 yahoo_close(session, conn); | 293 yahoo_close(session, conn); |
294 YAHOO_PRINT(session, YAHOO_LOG_CRITICAL, "could not read data"); | |
288 CALLBACK(session, YAHOO_HANDLE_DISCONNECT); | 295 CALLBACK(session, YAHOO_HANDLE_DISCONNECT); |
289 return; | 296 return; |
290 } | 297 } |
291 yahoo_parse_packet(session, conn, &pkt); | 298 yahoo_parse_packet(session, conn, &pkt); |
292 } else if (conn->type == YAHOO_CONN_TYPE_DUMB) { | 299 } else if (conn->type == YAHOO_CONN_TYPE_DUMB) { |