Re: [Ubuntu-zh] Wine dr.com 求协助测试

2012-04-11 文章 Qian Hong
Hi all,

感谢大家的关注. 我更新一下最新的情况:

好消息:
Ubuntu中文论坛上有一位热心的朋友帮助测试, 证明Wine + Dr.com 可以认证和上网
这位light ning兄弟不厌其烦地做了全面的测试, 非常感谢他! [1]

同时, 在测试的过程, 我们发现了一个小问题, 给wine报了一个bug [2]

坏消息:
light ning兄的学校(天津科技大学)使用的Dr.com版本,虽然安装包里有winpcap, 但是
实际上并没有调用过winpcap的函数. 事实上Dr.com有很多个变种, 不同变种的认证
方式差别很大, 我们仍然不知道, 是不是所有的Dr.com都可以在Linux下通过wine运行.

因此, 在这里, 仍然要继续向大家求助, 希望有条件的朋友继续帮忙测试.


[1] http://forum.ubuntu.org.cn/viewtopic.php?f=156t=366057
[2] http://bugs.winehq.org/show_bug.cgi?id=30412
-- 
ubuntu-zh mailing list
ubuntu-zh@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh


Re: [Ubuntu-zh] Wine dr.com 求协助测试

2012-04-09 文章 blue dark
之前在学校里做过类似的,主要是抓包,然后比较,记得当时有人写了一个Dr.Com的linux客户端,不好使,自己照着抓包的结果调整了一下,就差不多了,不过毕业好些年了,自己搞搞其实不太难的

2012/4/10 Qian Hong fract...@gmail.com

 Hi all,

 更新一下目前最新的状况:
 目前Wine的wpcap proxy仍然无法被接受, 根据在IRC上和Alexandre Julliard 的沟通, 我
 需要证明至少有一个win32 only的校园网认证程序可以在Wine+wpcap proxy上成功认证, 他
 才会接受wpcap proxy的补丁.

 目前我做了各种尝试, 闪迅/翼迅都失败了, 徐州电信校园网认证客户端也失败了, 我所知
 道的只有Dr.com最有机会成功了.

 孤掌难鸣, 再次向学校有Dr.com网络环境的朋友求助, 请协助我进行测试!

 Dr.com有很多变体, 全国有300多个高校使用Dr.com, 有些变体有Linux替代版, 有些没有.
 但是不管你们学校是否已经有Dr.com的Linux版, 以下的测试结果都是非常有价值的, 我们
 需要完成的是proof of concept. 假如我们能证明有一个版本的Dr.com能在Wine下成功认证
 ,那么将来就会有越来越多的校园网认证客户端能在Wine下运行.

 在测试之前, 有一个小问题需要使用Dr.com的朋友帮我确认: Dr.com在成功认证之后会不会
 在本机创建一个网卡? (像pppoe/vpn一样) 如果会的话, 那么Dr.com在Wine上运行的难度就
 非常大了. 如果Dr.com不需要创建一个新网卡, 那么在Wine上运行的机会是很大的.

 我更新一下测试步骤:

 -1. sudo su, 切换到root帐号, 全程使用root权限进行测试
 (如果不希望用root,也可以用setcap, 但是那样会稍微复杂些, 对于proof-of-concept, 当
 然是尽可能简单最好)

 0. 安装最近版本的Wine, 可以是 wine 1.4 / 1.5.0 / 1.5.1 等

 1. 到这里下载 wpcap.tar.gz:
 http://dawncrow.de/wine/wpcap.html
 解压之后, 将 wpcap.dll.so 复制到 /usr/lib/wine 目录
 (如果你是编译安装, 则放到相应的目录)

 2. 安装mfc库:
 $ winetricks -q mfc42

 3. 从WinXp复制 npptools.dll , 放到 ~/.wine/drive_c/windows/system32

 4. 从这里下载 wmicore.exe :
 http://www.microsoft.com/download/en/details.aspx?displaylang=enid=24946

 在winecfg中设置Windows的版本为Windows 98, 骗过wmicore.exe, 安装完wmicore.exe之后
 , 重新设置windows版本为WinXP

 5. 开始安装 Dr.com
 (请告诉我你们学校使用的 Dr.com的下载地址, 确保我们测试的是同一个文件)

 6.
 安装完之后, 在
 ~/.wine/drive_c/Program Files/Dr.COM 宽带认证客户端
 下有一个 ishare_user.exe , 运行这个程序就可以尝试登录

 为了得到详细的log, 请按下面的方式增加debug参数:
 WINEDEBUG=+winsock,+iphlpapi,+wpcap,+wininet wine ishare_user.exe
 然后把终端的日志完整地保存下来发给我一份

 登录过程显示的输出会乱码, 有两种workaround, 一种是下载wine的源代码, 修改
 dlls/gdi32/font.c中的 GdiGetCodePage() 函数, 将 return cp 改为 return 936
 另一种是,  暂时不理会乱码, 等测试一段时间之后, 检查 Dr.COM 宽带认证客户端
 目录下的client.log, 用notepad打开就不会乱码了.

 到这里, 就可以看看究竟能不能成功登录校园网, 如果不成功的话是什么错误输出.

 孤掌难鸣啊,伤不起啊,有网络环境的朋友请协助测试啊...
 非!常!感!谢!

 --
 Regards,
 Qian Hong

 -
 Sent from Ubuntu
 http://www.ubuntu.com/





 2012/2/29 Qian Hong fract...@gmail.com:
  各位朋友,
 
  如果你的学校有dr.com的网络环境, 并且你愿意帮忙为开源软件做贡献, 请一起来测试wine dr.com
 
  目前我测试过几个版本的dr.com, 已经发现的bug有两个, 一个是中文乱码问题, 一个是缺少npptools.dll的问题.
 
  前者是一个known bug:
  incorrect font rendering for CJK programs
  http://bugs.winehq.org/show_bug.cgi?id=16325
 
  后者我刚刚报给wine:
  npptools.dll is needed by ishare_user.exe of Dr.com
  http://bugs.winehq.org/show_bug.cgi?id=30041
 
  感兴趣的朋友可以订阅这两个bug,跟踪它们的进展.
  另外,这个bug也可能有关:
  Bug 21572 - KFSensor 4.5.0 Professional Trial: Trouble starting and
  stopping the service
 
  这两个bug都有workaround的方法,但是由于我没有dr.com的网络条件可以测试,
  所以我不知道解决这两个bug之后还会不会有别的问题, 需要大家的帮忙.
 
  如果你的学校有dr.com的网络环境, 并且你愿意帮忙,请继续往下看:
 
 
  -1. *非常重要*: 为了在测试中排除一切干扰, 请务必删除或者改名备份原来的 ~/.wine 文件夹
  然后从一个全新的wineprefix开始测试
 
  0. 我目前用于测试的dr.com版本是: Dr.COM Client-重庆交通大学-Ver3.73.exe [1]
  如果这个版本不适合你的学校, 请告诉我你的学校使用的版本的名称和下载地址.
 
  0.5 wine目前没有mfc42.dll, 所以需要运行 winetricks -q mfc42进行安装
 
  1. wine目前没有nptools.dll这个文件, 所以无法运行dr.com, workaround的方式是从
  windows xp复制一个过来. 据说vista没有这个dll
 
  2. 目前dr.com在wine下认证的时候会有乱码, 认证信息乱码了我们就很难判断认证
  失败的原因了, 所以需要先对 Bug 16325 进行workaround
  目前除了修改源代码再从源码编译, 没有其他非常好的workaround方式.
  wine-cn源中的wine二进制打过了修复中文乱码的patch, 但是wine-cn很久没有更新了.
  如果要给wine报bug,必须测试最新版.
 
  因此, 我们不得不下载源码,修改源码,然后从源码编译.
 
  Ubuntu下编译安装wine最简单的步骤是:
  - *重要* : 添加wine的ppa源, 参见[2]
  - $ sudo apt-get update
  - $ sudo apt-get build-dep wine1.3
  - $ apt-get source wine1.3
  - $ cd wine1.3-1.4~rc5/  (或相应版本的类似目录名称)
  - *重要* : 修改GdiGetCodePage函数的源代码 *以下详细解释*
  - $ tools/wineinstall
   - 根据提示, 依次输入yes和你的sudo密码
 
  编译时间可能长达1小时, 看机器配置了
  如果你有过编译的经验, 那么可以不用 tools/wineinstall,
  自己用configure和make, make的时候加入 -j4 参数,可以大大加速
  configure的时候加上 --disable-tests 也可以大大加速
  根据你的cpu总线程数, -j4可以修改为其他的数字
 
  完成之后,运行
  $ wine --version
  $ which wine
  检查一下结果是不是
  wine-1.4-rc5
  和 /usr/local/bin/wine
 
  *** 修改GdiGetCodePage函数的方法如下 ***
  - 用你喜欢的编辑器打开 wine源代码目录下的 dlls/gdi32/font.c 文件
  - 编辑大约第367行, 把return cp;   改为return 936; (不含引号, 但注意保留分号)
  *
 
  至此以后, 运行wine dr.com应该就不会有乱码. 这种方式只适合测试用, 不适合推广.
 
  3.
  运行的方式, 是:
  cd 到  ~/.wine/drive_c/Program Files$ cd Dr.COM\ 宽带认证客户 端/
  $ wine ishare_user.exe
 
  到这里, 就需要在你学校的网络环境下, 看看dr.com能不能用了.
  如果不能用, 我可能会请你提供进一步的信息, 包括终端输出, 以及dr.com的登陆信息等
 
  非常感谢!
  如果你愿意帮忙,但是遇到困难,比如编译安装, 请务必在列表里告诉大家让大家协助你解决.
 
  [1]
 http://www.cqjtu.edu.cn/software/Dr.COM%20Client-%E9%87%8D%E5%BA%86%E4%BA%A4%E9%80%9A%E5%A4%A7%E5%AD%A6-Ver3.73[%E5%B0%81%E8%A3%85][FOR%20XP%20vista%20win7].rar
  [2] http://www.winehq.org/download/ubuntu
  --
  Regards,
  Qian Hong
 
  -
  Sent from Ubuntu
  http://www.ubuntu.com/



 --
 Regards,
 Qian Hong

 -
 Sent from Ubuntu
 http://www.ubuntu.com/
 --
 ubuntu-zh mailing list
 ubuntu-zh@lists.ubuntu.com
 https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh

-- 下一部分 --
一个HTML附件被移除...
URL: 
https://lists.ubuntu.com/archives/ubuntu-zh/attachments/20120410/520e4e74/attachment.html
-- 
ubuntu-zh mailing list
ubuntu-zh@lists.ubuntu.com

Re: [Ubuntu-zh] Wine dr.com 求协助测试

2012-04-09 文章 lee
于2012年4月10日 8:58:41,blue dark写到:
 之前在学校里做过类似的,主要是抓包,然后比较,记得当时有人写了一个Dr.Com的linux客户端,不好使,自己照着抓包的结果调整了一下,就差不多了,不过毕业好些年了,自己搞搞其实不太难的

 2012/4/10 Qian Hong fract...@gmail.com

 Hi all,

 更新一下目前最新的状况:
 目前Wine的wpcap proxy仍然无法被接受, 根据在IRC上和Alexandre Julliard 的沟通, 我
 需要证明至少有一个win32 only的校园网认证程序可以在Wine+wpcap proxy上成功认证, 他
 才会接受wpcap proxy的补丁.

 目前我做了各种尝试, 闪迅/翼迅都失败了, 徐州电信校园网认证客户端也失败了, 我所知
 道的只有Dr.com最有机会成功了.

 孤掌难鸣, 再次向学校有Dr.com网络环境的朋友求助, 请协助我进行测试!

 Dr.com有很多变体, 全国有300多个高校使用Dr.com, 有些变体有Linux替代版, 有些没有.
 但是不管你们学校是否已经有Dr.com的Linux版, 以下的测试结果都是非常有价值的, 我们
 需要完成的是proof of concept. 假如我们能证明有一个版本的Dr.com能在Wine下成功认证
 ,那么将来就会有越来越多的校园网认证客户端能在Wine下运行.

 在测试之前, 有一个小问题需要使用Dr.com的朋友帮我确认: Dr.com在成功认证之后会不会
 在本机创建一个网卡? (像pppoe/vpn一样) 如果会的话, 那么Dr.com在Wine上运行的难度就
 非常大了. 如果Dr.com不需要创建一个新网卡, 那么在Wine上运行的机会是很大的.

 我更新一下测试步骤:

 -1. sudo su, 切换到root帐号, 全程使用root权限进行测试
 (如果不希望用root,也可以用setcap, 但是那样会稍微复杂些, 对于proof-of-concept, 当
 然是尽可能简单最好)

 0. 安装最近版本的Wine, 可以是 wine 1.4 / 1.5.0 / 1.5.1 等

 1. 到这里下载 wpcap.tar.gz:
 http://dawncrow.de/wine/wpcap.html
 解压之后, 将 wpcap.dll.so 复制到 /usr/lib/wine 目录
 (如果你是编译安装, 则放到相应的目录)

 2. 安装mfc库:
 $ winetricks -q mfc42

 3. 从WinXp复制 npptools.dll , 放到 ~/.wine/drive_c/windows/system32

 4. 从这里下载 wmicore.exe :
 http://www.microsoft.com/download/en/details.aspx?displaylang=enid=24946

 在winecfg中设置Windows的版本为Windows 98, 骗过wmicore.exe, 安装完wmicore.exe之后
 , 重新设置windows版本为WinXP

 5. 开始安装 Dr.com
 (请告诉我你们学校使用的 Dr.com的下载地址, 确保我们测试的是同一个文件)

 6.
 安装完之后, 在
 ~/.wine/drive_c/Program Files/Dr.COM 宽带认证客户端
 下有一个 ishare_user.exe , 运行这个程序就可以尝试登录

 为了得到详细的log, 请按下面的方式增加debug参数:
 WINEDEBUG=+winsock,+iphlpapi,+wpcap,+wininet wine ishare_user.exe
 然后把终端的日志完整地保存下来发给我一份

 登录过程显示的输出会乱码, 有两种workaround, 一种是下载wine的源代码, 修改
 dlls/gdi32/font.c中的 GdiGetCodePage() 函数, 将 return cp 改为 return 936
 另一种是,  暂时不理会乱码, 等测试一段时间之后, 检查 Dr.COM 宽带认证客户端
 目录下的client.log, 用notepad打开就不会乱码了.

 到这里, 就可以看看究竟能不能成功登录校园网, 如果不成功的话是什么错误输出.

 孤掌难鸣啊,伤不起啊,有网络环境的朋友请协助测试啊...
 非!常!感!谢!

 --
 Regards,
 Qian Hong

 -
 Sent from Ubuntu
 http://www.ubuntu.com/





 2012/2/29 Qian Hong fract...@gmail.com:
 各位朋友,

 如果你的学校有dr.com的网络环境, 并且你愿意帮忙为开源软件做贡献, 请一起来测试wine dr.com

 目前我测试过几个版本的dr.com, 已经发现的bug有两个, 一个是中文乱码问题, 一个是缺少npptools.dll的问题.

 前者是一个known bug:
 incorrect font rendering for CJK programs
 http://bugs.winehq.org/show_bug.cgi?id=16325

 后者我刚刚报给wine:
 npptools.dll is needed by ishare_user.exe of Dr.com
 http://bugs.winehq.org/show_bug.cgi?id=30041

 感兴趣的朋友可以订阅这两个bug,跟踪它们的进展.
 另外,这个bug也可能有关:
 Bug 21572 - KFSensor 4.5.0 Professional Trial: Trouble starting and
 stopping the service

 这两个bug都有workaround的方法,但是由于我没有dr.com的网络条件可以测试,
 所以我不知道解决这两个bug之后还会不会有别的问题, 需要大家的帮忙.

 如果你的学校有dr.com的网络环境, 并且你愿意帮忙,请继续往下看:


 -1. *非常重要*: 为了在测试中排除一切干扰, 请务必删除或者改名备份原来的 ~/.wine 文件夹
 然后从一个全新的wineprefix开始测试

 0. 我目前用于测试的dr.com版本是: Dr.COM Client-重庆交通大学-Ver3.73.exe [1]
 如果这个版本不适合你的学校, 请告诉我你的学校使用的版本的名称和下载地址.

 0.5 wine目前没有mfc42.dll, 所以需要运行 winetricks -q mfc42进行安装

 1. wine目前没有nptools.dll这个文件, 所以无法运行dr.com, workaround的方式是从
 windows xp复制一个过来. 据说vista没有这个dll

 2. 目前dr.com在wine下认证的时候会有乱码, 认证信息乱码了我们就很难判断认证
 失败的原因了, 所以需要先对 Bug 16325 进行workaround
 目前除了修改源代码再从源码编译, 没有其他非常好的workaround方式.
 wine-cn源中的wine二进制打过了修复中文乱码的patch, 但是wine-cn很久没有更新了.
 如果要给wine报bug,必须测试最新版.

 因此, 我们不得不下载源码,修改源码,然后从源码编译.

 Ubuntu下编译安装wine最简单的步骤是:
 - *重要* : 添加wine的ppa源, 参见[2]
 - $ sudo apt-get update
 - $ sudo apt-get build-dep wine1.3
 - $ apt-get source wine1.3
 - $ cd wine1.3-1.4~rc5/  (或相应版本的类似目录名称)
 - *重要* : 修改GdiGetCodePage函数的源代码 *以下详细解释*
 - $ tools/wineinstall
  - 根据提示, 依次输入yes和你的sudo密码

 编译时间可能长达1小时, 看机器配置了
 如果你有过编译的经验, 那么可以不用 tools/wineinstall,
 自己用configure和make, make的时候加入 -j4 参数,可以大大加速
 configure的时候加上 --disable-tests 也可以大大加速
 根据你的cpu总线程数, -j4可以修改为其他的数字

 完成之后,运行
 $ wine --version
 $ which wine
 检查一下结果是不是
 wine-1.4-rc5
 和 /usr/local/bin/wine

 *** 修改GdiGetCodePage函数的方法如下 ***
 - 用你喜欢的编辑器打开 wine源代码目录下的 dlls/gdi32/font.c 文件
 - 编辑大约第367行, 把return cp;   改为return 936; (不含引号, 但注意保留分号)
 *

 至此以后, 运行wine dr.com应该就不会有乱码. 这种方式只适合测试用, 不适合推广.

 3.
 运行的方式, 是:
 cd 到  ~/.wine/drive_c/Program Files$ cd Dr.COM\ 宽带认证客户 端/
 $ wine ishare_user.exe

 到这里, 就需要在你学校的网络环境下, 看看dr.com能不能用了.
 如果不能用, 我可能会请你提供进一步的信息, 包括终端输出, 以及dr.com的登陆信息等

 非常感谢!
 如果你愿意帮忙,但是遇到困难,比如编译安装, 请务必在列表里告诉大家让大家协助你解决.

 [1]
 http://www.cqjtu.edu.cn/software/Dr.COM%20Client-%E9%87%8D%E5%BA%86%E4%BA%A4%E9%80%9A%E5%A4%A7%E5%AD%A6-Ver3.73[%E5%B0%81%E8%A3%85][FOR%20XP%20vista%20win7].rar
 [2] http://www.winehq.org/download/ubuntu
 --
 Regards,
 Qian Hong

 -
 Sent from Ubuntu
 http://www.ubuntu.com/



 --
 Regards,
 Qian Hong

 -
 Sent from Ubuntu
 http://www.ubuntu.com/
 --
 ubuntu-zh mailing list
 ubuntu-zh@lists.ubuntu.com
 https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh

 -- 下一部分 --
 一个HTML附件被移除...
 URL: 
 https://lists.ubuntu.com/archives/ubuntu-zh/attachments/20120410/520e4e74/attachment.html

dr.com不需要虚拟网卡。

-- 
ubuntu-zh mailing list
ubuntu-zh@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh


Re: [Ubuntu-zh] Wine dr.com 求协助测试

2012-04-09 文章 Qian Hong
2012/4/10 lee llz916...@yahoo.com.cn:
 dr.com不需要虚拟网卡。

Good, 谢谢你提供的信息!

-- 
Regards,
Qian Hong

-
Sent from Ubuntu
http://www.ubuntu.com/
-- 
ubuntu-zh mailing list
ubuntu-zh@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh


Re: [Ubuntu-zh] Wine dr.com 求协助测试

2012-04-09 文章 Ma Xiaojun
 之前在学校里做过类似的,主要是抓包,然后比较,记得当时有人写了一个Dr.Com的linux客户端,不好使,自己照着抓包的结果调整了一下,就差不多了,不过毕业好些年了,自己搞搞其实不太难的

你可能覺得像樓主那樣折騰Wine沒意思,不過這個測試的意義主要在于讓Wine能夠接受wpcap
proxy的patch,讓現在和以後可能出現的WinPcap程序得到支持。

對於校園認證程序而言,如果開發者不用WinPcap,那他們就得自己寫驅動喔~比如Ruijie的Su1xDriver.sys。所以WinPcap還是很有可能被選擇的喔!
http://www.winpcap.org/
http://bugs.winehq.org/show_bug.cgi?id=29460
-- 
ubuntu-zh mailing list
ubuntu-zh@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh