LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1554|回复: 6

OpenQ支持QQ2005以上协议

[复制链接]
发表于 2006-10-21 02:29:32 | 显示全部楼层 |阅读模式
自从腾讯升级QQ协议后,OpenQ小组停止工程后,OpenQ离我们远去了,不过这两天我看了看OpenQ的源码,感觉和QQ2005协议差别并不是很大,于是改了一个版本,可以用了,大家来测试一下吧。
http://skysbird.bsdchina.org/dow ... 2-src-qq2005.tar.gz
发表于 2006-10-21 11:08:23 | 显示全部楼层
请问 QQ2005以上协议 跟 QQ2005以下的协议 有什么变化?
我真的不知道。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-21 11:58:05 | 显示全部楼层
Post by 蜡笔小凉
请问 QQ2005以上协议 跟 QQ2005以下的协议 有什么变化?
我真的不知道。


我观察的结果,最主要的差别就在登录前的一个令牌请求上,2003是没有令牌请求协议的,2005首先需要获得令牌,然后将令牌数据(24个字节)合并到登录请求packet中,发送登录请求,其他的我看没有什么太大变化,因为我把前面的协议修改好了,OpenQ就可以用了。
回复 支持 反对

使用道具 举报

发表于 2006-10-22 01:37:19 | 显示全部楼层
你有看過現在gaim裏的qq plugin嗎?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-22 20:41:55 | 显示全部楼层
Post by khc
你有看過現在gaim裏的qq plugin嗎?

看了,感觉里面的主要变化也是在token的请求上,不过我没仔细看。估计群组协议那块也有差别~
回复 支持 反对

使用道具 举报

发表于 2006-12-16 12:13:59 | 显示全部楼层
这个包有人用吗?
好像编译不了呢
ailantian@vax:~/soft/openq/openq-0.3.2$ make -j2
make  all-recursive
make[1]: Entering directory `/home/ailantian/soft/openq/openq-0.3.2'
Making all in intl
make[2]: Entering directory `/home/ailantian/soft/openq/openq-0.3.2/intl'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/ailantian/soft/openq/openq-0.3.2/intl'
Making all in nsis
make[2]: Entering directory `/home/ailantian/soft/openq/openq-0.3.2/nsis'
Making all in translations
make[3]: Entering directory `/home/ailantian/soft/openq/openq-0.3.2/nsis/translations'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ailantian/soft/openq/openq-0.3.2/nsis/translations'
make[3]: Entering directory `/home/ailantian/soft/openq/openq-0.3.2/nsis'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/ailantian/soft/openq/openq-0.3.2/nsis'
make[2]: Leaving directory `/home/ailantian/soft/openq/openq-0.3.2/nsis'
Making all in po
make[2]: Entering directory `/home/ailantian/soft/openq/openq-0.3.2/po'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/ailantian/soft/openq/openq-0.3.2/po'
Making all in src
make[2]: Entering directory `/home/ailantian/soft/openq/openq-0.3.2/src'
source='utils.c' object='utils.lo' libtool=yes \
        depfile='.deps/utils.Plo' tmpdepfile='.deps/utils.TPlo' \
        depmode=gcc3 /bin/sh ../depcomp \
        /bin/sh ../libtool --silent --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12   -I/usr/include/gaim -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12   -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -I/usr/include/gaim -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include     -DDATADIR=\"/usr/local/share\" -DLIBDIR=\"/usr/local/lib/gaim/\" -DLOCALEDIR=\"/usr/local/share/locale\" -DSYSCONFDIR=\"/usr/local/etc\" -DGAIM_PLUGINS -Wall -g -O2 -Wall -g3 -c -o utils.lo `test -f 'utils.c' || echo './'`utils.c
source='packet_parse.c' object='packet_parse.lo' libtool=yes \
        depfile='.deps/packet_parse.Plo' tmpdepfile='.deps/packet_parse.TPlo' \
        depmode=gcc3 /bin/sh ../depcomp \
        /bin/sh ../libtool --silent --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12   -I/usr/include/gaim -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12   -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -I/usr/include/gaim -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include     -DDATADIR=\"/usr/local/share\" -DLIBDIR=\"/usr/local/lib/gaim/\" -DLOCALEDIR=\"/usr/local/share/locale\" -DSYSCONFDIR=\"/usr/local/etc\" -DGAIM_PLUGINS -Wall -g -O2 -Wall -g3 -c -o packet_parse.lo `test -f 'packet_parse.c' || echo './'`packet_parse.c
source='buddy_info.c' object='buddy_info.lo' libtool=yes \
        depfile='.deps/buddy_info.Plo' tmpdepfile='.deps/buddy_info.TPlo' \
        depmode=gcc3 /bin/sh ../depcomp \
        /bin/sh ../libtool --silent --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12   -I/usr/include/gaim -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12   -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -I/usr/include/gaim -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include     -DDATADIR=\"/usr/local/share\" -DLIBDIR=\"/usr/local/lib/gaim/\" -DLOCALEDIR=\"/usr/local/share/locale\" -DSYSCONFDIR=\"/usr/local/etc\" -DGAIM_PLUGINS -Wall -g -O2 -Wall -g3 -c -o buddy_info.lo `test -f 'buddy_info.c' || echo './'`buddy_info.c
utils.c: In function ‘split_data’:
utils.c:97: warning: pointer targets in passing argument 1 of ‘g_strsplit’ differ in signedness
utils.c: In function ‘try_dump_as_gbk’:
utils.c:206: warning: pointer targets in passing argument 1 of ‘qq_to_utf8’ differ in signedness
source='buddy_list.c' object='buddy_list.lo' libtool=yes \
        depfile='.deps/buddy_list.Plo' tmpdepfile='.deps/buddy_list.TPlo' \
        depmode=gcc3 /bin/sh ../depcomp \
        /bin/sh ../libtool --silent --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12   -I/usr/include/gaim -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12   -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -I/usr/include/gaim -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include     -DDATADIR=\"/usr/local/share\" -DLIBDIR=\"/usr/local/lib/gaim/\" -DLOCALEDIR=\"/usr/local/share/locale\" -DSYSCONFDIR=\"/usr/local/etc\" -DGAIM_PLUGINS -Wall -g -O2 -Wall -g3 -c -o buddy_list.lo `test -f 'buddy_list.c' || echo './'`buddy_list.c
buddy_info.c:25:47: error: internal.h: No such file or directory
In file included from buddy_opt.h:31,
                 from buddy_info.h:30,
                 from buddy_info.c:31:
qq.h:71: error: field ‘dest_sin’ has incomplete type
buddy_info.c: In function ‘qq_send_packet_get_info’:
buddy_info.c:66: warning: implicit declaration of function ‘strlen’
buddy_info.c:66: warning: incompatible implicit declaration of built-in function ‘strlen’
buddy_info.c:66: warning: pointer targets in passing argument 6 of ‘qq_send_cmd’ differ in signedness
buddy_info.c: In function ‘qq_send_packet_modify_info’:
buddy_info.c:111: warning: implicit declaration of function ‘memmove’
buddy_info.c:111: warning: incompatible implicit declaration of built-in function ‘memmove’
buddy_info.c:113: warning: incompatible implicit declaration of built-in function ‘strlen’
buddy_info.c:116: warning: pointer targets in passing argument 3 of ‘create_packet_data’ differ in signedness
buddy_info.c:118: warning: pointer targets in passing argument 3 of ‘create_packet_data’ differ in signedness
buddy_info.c:124: warning: pointer targets in passing argument 3 of ‘create_packet_data’ differ in signedness
buddy_info.c: In function ‘qq_process_modify_info_reply’:
buddy_info.c:148: warning: pointer targets in passing argument 1 of ‘atoi’ differ in signedness
buddy_info.c:150: warning: implicit declaration of function ‘_’
buddy_info.c:150: warning: passing argument 4 of ‘gaim_notify_message’ makes pointer from integer without a cast
make[2]: *** [buddy_info.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from buddy_status.h:31,
                 from buddy_list.c:31:
qq.h:30:33: error: internal.h: No such file or directory
In file included from buddy_status.h:31,
                 from buddy_list.c:31:
qq.h:71: error: field ‘dest_sin’ has incomplete type
make[2]: *** [buddy_list.lo] Error 1
make[2]: Leaving directory `/home/ailantian/soft/openq/openq-0.3.2/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/ailantian/soft/openq/openq-0.3.2'
make: *** [all] Error 2
ailantian@vax:~/soft/openq/openq-0.3.2$


vax:/home/ailantian/soft/temp# find / -name internal.h
/home/ailantian/soft/gaim/libgaim/internal.h
/home/ailantian/soft/gaim/libgaim/protocols/zephyr/internal.h
/home/ailantian/soft/temp/gaim/libgaim/internal.h
/home/ailantian/soft/temp/gaim/libgaim/protocols/zephyr/internal.h
/home/ailantian/soft/temp/MPlayer-1.0rc1/libavutil/internal.h
vax:/home/ailantian/soft/temp#


ailantian@vax:~$ gcc -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release x86_64-linux-gnu
Thread model: posix
gcc version 4.1.2 20061028 (prerelease) (Debian 4.1.1-19)
回复 支持 反对

使用道具 举报

发表于 2006-12-16 12:21:07 | 显示全部楼层
哦,想起来,gaim我不是编译安装的,可能这里有些问题,
不过svn的gaim本来就是支持最新QQ协议的,只是好像最近谁上去维护的时候
把代码改的不能用了,之前直接用svn就可以用qq。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表