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) {