diff -ru jabber-gg-transport-2.0.7.orig/src/message.c jggtrans-tear/src/message.c --- jabber-gg-transport-2.0.7.orig/src/message.c 2003-09-29 14:46:45.000000000 +0200 +++ jggtrans-tear/src/message.c 2004-01-20 21:05:50.000000000 +0100 @@ -54,8 +54,6 @@ const char *args, xmlnode msg); MsgCommand msg_commands[]={ - {"get roster","gr",N_("Download user list from server"),message_get_roster,0}, - {"import roster","ir",N_("Add users from the user list on server (not recommended - nicknames are not preserved)"),message_import_roster,0}, {"friends only","fo",N_("\"Only for friends\" mode"),message_friends_only,0}, {"invisible","iv",N_("\"Invisible\" mode"),message_invisible,0}, {"locale","loc",N_("Set user locale (language)"),message_locale,0}, diff -ru jabber-gg-transport-2.0.7.orig/src/presence.c jggtrans-tear/src/presence.c --- jabber-gg-transport-2.0.7.orig/src/presence.c 2003-11-21 22:02:58.000000000 +0100 +++ jggtrans-tear/src/presence.c 2004-01-24 18:33:37.000000000 +0100 @@ -377,8 +377,10 @@ xmlnode show_n; xmlnode status_n; char *show,*status; -int priority; +int priority=-1; User *u; +char * tmp; + printf("Checkpoint #1\n"); type=xmlnode_get_attrib(tag,"type"); @@ -413,8 +415,9 @@ printf("Checkpoint #6\n"); prio_n=xmlnode_get_tag(tag,"priority"); - if (prio_n) priority=atoi(xmlnode_get_data(prio_n)); - else priority=-1; + if ((prio_n=xmlnode_get_tag(tag, "priority")) && (tmp=xmlnode_get_data(prio_n))) { + priority=atoi(tmp); + } printf("Checkpoint #7\n"); if (!type) type="available"; diff -ru jabber-gg-transport-2.0.7.orig/src/register.c jggtrans-tear/src/register.c --- jabber-gg-transport-2.0.7.orig/src/register.c 2003-10-16 21:20:24.000000000 +0200 +++ jggtrans-tear/src/register.c 2004-01-22 22:32:23.000000000 +0100 @@ -382,6 +382,7 @@ return -1; } +#if 0 field=xmlnode_get_tag(form,"field?var=userlist"); if (field!=NULL) value=xmlnode_get_tag(field,"value"); else value=NULL; @@ -390,6 +391,7 @@ if (!strcmp(tmp,"import")) import_roster=1; else if (!strcmp(tmp,"get")) import_roster=-1; } +#endif user=user_create(from,uin,password); if (!user){ diff -ru jabber-gg-transport-2.0.7.orig/src/sessions.c jggtrans-tear/src/sessions.c --- jabber-gg-transport-2.0.7.orig/src/sessions.c 2003-09-28 16:41:26.000000000 +0200 +++ jggtrans-tear/src/sessions.c 2004-01-24 00:14:17.000000000 +0100 @@ -324,6 +324,20 @@ return 0; } +int session_event_notify60(Session *s,struct gg_event *event){ +int i; + + for(i=0;event->event.notify60[i].uin;i++) + session_event_status(s,event->event.notify60[i].status, + event->event.notify60[i].uin, + event->event.notify60[i].descr,1, + event->event.notify60[i].remote_ip, + event->event.notify60[i].remote_port, + event->event.notify60[i].version); + return 0; +} + + void session_broken(Session *s){ if (s->req_id){ @@ -444,14 +458,19 @@ Request *r; int rt; - gghttp=gg_userlist_get(s->user->uin,from_utf8(s->user->password),1); - +#ifdef LIBGADU_14 + if ((gg_userlist_request(s->ggs, GG_USERLIST_GET, NULL)) == -1) { + /* show error message? */ ; + } +#endif +#if 0 if (s->import_roster>0) rt=RT_USERLIST_IMPORT; else rt=RT_USERLIST_GET; r=add_request(rt,s->jid,NULL,"",NULL,(void*)gghttp,s->s); +#endif s->import_roster=0; } break; @@ -461,6 +480,16 @@ case GG_EVENT_NOTIFY_DESCR: session_event_notify_descr(s,event); break; + case GG_EVENT_NOTIFY60: + session_event_notify60(s, event); + break; + case GG_EVENT_STATUS60: + session_event_status(s, + event->event.status60.status, + event->event.status60.uin, + event->event.status60.descr, + 0, 0, 0, 0); /* TODO: remaining fields? */ + break; case GG_EVENT_STATUS: session_event_status(s, event->event.status.status, @@ -520,6 +549,12 @@ case GG_EVENT_NONE: debug("GG_EVENT_NONE"); break; +#if 0 + case GG_EVENT_USERLIST: + debug("GG_EVENT_USERLIST"); + request_response_userlist(event); + break; +#endif default: g_warning(N_("Unknown GG event: %i"),event->type); break; @@ -631,7 +666,7 @@ login_params.password=from_utf8(s->user->password); login_params.async=1; login_params.last_sysmsg=s->user->last_sys_msg; - login_params.protocol_version=0x18; + login_params.protocol_version=GG_DEFAULT_PROTOCOL_VERSION; r=session_make_status(s); if (r!=-1){ @@ -647,8 +682,10 @@ } #ifdef __GG_LIBGADU_HAVE_OPENSSL debug(N_("Turning TLS %s"), serv->tls?"on":"off"); +#if 0 login_params.tls=serv->tls; #endif +#endif if (s->ggs) gg_free_session(s->ggs); s->ggs=gg_login(&login_params);