经过讨论,主要有以下几个问题:
1.GUI版中Makefile仍然编译稍加改动的cli版的源代码,但是用户不一定有libpcap和libgcrypt,所以这一步不一定成功,可以考虑将编译好的可执行文件h3c_ouc放到安装文件夹,跳过编译这一步骤,如果看源代码的可以去看cli版的源代码。
要注意所有的开源软件都不是独立存在的,几乎每个都有自己的依赖,因此源码部分你不需要管用户缺少什么,你只需要将你的组织结构做好,将你的readme和wiki做好,用户自然会看的,如果连说明和安装文档都不看的话,那就是《提问的智慧》所回答的问题了,因此为用户着想是对的,但不能偏离方向,不能没有原则!这里我想知道你们源代码的架构是怎样的,如果用户拿到源代码编译安装该如何操作(你们只能假设他们有libpcap和libgcrypt,因为安装文档中有提了)。至于二进制包版本(比如debian和ubuntu的deb包、fedora的rpm包等,这些不但跟系统版本有关,还与处理器有关,所以你们会看到有X86、X86_64、AMD64等不同版本的),这些有兴趣的人自然会做,你们自己当然也可以做你们所用系统的包。但是搞清楚这是两码事,你看到openfetion也需要很多依赖库,他们也是像你们这样处理的吗?
2.cli版需要编译libpcap和libgcrypt,但是编译前并不一定有这两个库,用apt-get的话就有些矛盾了,因为他之前还不能上网。libgcrypt这个库可以不安装,因为只用到了其中的md5加密,我们可以自己定义一个md5函数。libpcap的话,可以让用户先用可执行文件安装此库在编译;或者在源代码中集成此库。
关于这个你们考虑的不错,因此可以单独做一个这样的集成发行包;但又产生一个新问题,如果用户上网上不了恐怕这个集成的包也很难下载呵呵,当然大家可以从windows下载下来后再在linux下使用,因此最好的方式当然还是你们所说的做成一个集成包,但这个和上面1所提到的源码不同。
3.此程序必须在root用户下运行,因为普通用户没有对eth0的抓包权限(wireshark必须在root用户下运行)。
你们是指某个函数必须root权限吗?
4.二次认证代码还没有添加。
我们打算在周末集中解决,这几天时间太分散,就专心做项目的东西。
--
郑海永
+--------------------------------------------------+
| Haiyong Zheng
| Department of Electronic Engineering,
| College of Information Science and Engineering,
| Ocean University of China.
+--------------------------------------------------+