Network library netwib ------------------------------------------- | KNOWN PROBLEMS | ------------------------------------------- This file describes known problems (incompatibilities, unsupported features, errors, etc.). If you seek help (usage help, examples, etc.), it's better to read netwib-5.35.0-doc_html.tgz. Problems described in this file are (if you encounter an unknown problem, thanks for contacting me, as explained in ./doc/problemreport.txt): PROBLEMS CAUSED BY THE SYSTEM 1: [Windows] Display is slow. 2: [Windows] The system crashes when netwox is run. 3: [Windows 95] At netwib end, the modem link stops. 4: [Solaris 2.5.1] Function netwib_priv_kbd_purge does not work. 5: [HP-UX 10.01] The second tcsetattr reprint character so it is displayed several times. 6: [SuSE 5.1] Function netwib_io_init_exec blocks during a dup2 call. 7: [Windows XP] Converting an IP address to a hostname returns a bad value. PROBLEMS CAUSED BY LIBPCAP OR WINPCAP 8: [Windows] Several tools of netwox doesn't seem to work. 9: [Windows] Sniff does not work with a modem 10: [Windows] Popup: The dynamic library wpcap.dll was not found. [Note: I'am not sure about the exact error message because I do not have access to an English computer] PROBLEMS CAUSED BY NETWIB'S DESIGN 11: Network configuration is incorrect. 12: Error messages contains inaccurate hints 13: Netwib's functions behave strangely 14: Netwib's functions interfere with other functions 15: Netwib is slow. 16: Some features does not fully work. 17: Some features are not provided. ------------------------------------------------------------------------------- Problem 1: Problem synthesis: Display is slow. Environment affected by the problem: Windows What's causing the problem: In a msdos console, we cannot print more than 100 lines per seconds. Solution 1: Redirect output in a file: commandname > file However in this case, we do not see when data has to be entered. Solution 2: Use tools, or printprofiles, less verbose. ------------------------------------------------------------------------------- Problem 2: Problem synthesis: The system crashes when netwox is run. Environment affected by the problem: Windows What's causing the problem: Under Windows 95/98, when a network board is not correctly configured, the driver cannot be opened by WinPCAP (PacketOpenAdapter). The driver crashes, and also the system. Solution: We have to ensure the network card is correctly configured: [menu names might be incorrect, because I do not have access to an English localized computer] - Open menu Start, Parameters, Configuration, Icon System, Peripherals, Network Cards. You should see one line per card. Moreover, the icon should not have "(!)" on top of it. - Open menu Start, Parameters, Configuration, Icon Network. The network card should be here, and linked to TCP/IP. Moreover TCP/IP configuration should be correct. ------------------------------------------------------------------------------- Problem 3: Problem synthesis: At netwib end, the modem link stops. Environment affected by the problem: Windows 95 with a modem What's causing the problem: At the end of a program, references to unused object are freed. It's the case for the low level driver of WinPcap (packet.sys). Unfortunately, as explained in WinPcap FAQ, Windows also stops the modem connection. So, at the end of netwox, the phone line stops. Solution 1: Installation of: - Windows Sockets 2 Update, and - Dialup Networking 1.3 Update might resolv this problem. Those updates are available here: - http://www.microsoft.com/windows95/downloads/contents/wuadmintools/s_wunetworkingtools/w95sockets2/default.asp - http://www.microsoft.com/Windows95/downloads/contents/WURecommended/S_WUNetworking/dun13win95/Default.asp Solution 2: You can contact WinPcap developers to help them to write a driver/dll not having this problem. Additional note (march 2004): Windows 9x is no more supported by WinPcap developers. ------------------------------------------------------------------------------- Problem 4: Problem synthesis: Function netwib_priv_kbd_purge does not work. Environment affected by the problem: Keyboard under Solaris What's causing the problem: Function netwib_priv_kbd_purge does not work. Solution: I don't know. I've already spent a lot of time trying to spot this bug. This system is quite old, and this bug seems to be in the system itself. I do not plan to look at it anymore. ------------------------------------------------------------------------------- Problem 5: Problem synthesis: The second tcsetattr reprint character so it is displayed several times. Environment affected by the problem: Keyboard under HP-UX What's causing the problem: Function netwib_priv_kbd_wait display char twice. Solution: I don't know. I've already spent a lot of time trying to spot this bug. This system is quite old, and this bug seems to be in the system itself. I do not plan to look at it anymore. ------------------------------------------------------------------------------- Problem 6: Problem synthesis: Function netwib_io_init_exec blocks during a dup2 call. Environment affected by the problem: Function netwib_io_init_exec blocks What's causing the problem: Function netwib_io_init_exec blocks. Solution: I don't know. I've already spent a lot of time trying to spot this bug. This system is quite old, and this bug seems to be in the system itself. I do not plan to look at it anymore. ------------------------------------------------------------------------------- Problem 7: Problem synthesis: Converting an IP address to a hostname returns a bad value. Environment affected by the problem: Windows XP What's causing the problem: Functions netwib_ip_init_buf(...NETWIB_IP_DECODETYPE_HN...) use gethostbyaddr(). However, there is a bug in WindowsXP's implementation of gethostbyaddr, as described in Knowledge Base Q317936 of Microsoft. This bug appears when DNSorWINS and NetBIOSoverTCPIP are activated. Solution: Patch Q317936 corrects this problem. ------------------------------------------------------------------------------- Problem 8: Problem synthesis: Several tools of netwox doesn't seem to work. Environment affected by the problem: Windows What's causing the problem: Netwib depends on WinPcap. If WinPcap does not work, several features of netwib/netwox will not work. So, we have to ensure WinPcap works correctly. Solution: Install and test windump as described in INSTALL_FR.TXT. ------------------------------------------------------------------------------- Problem 9: Problem synthesis: Sniff does not work with a modem Environment affected by the problem: Windows What's causing the problem: WinPCAP is not designed to work with a modem. File netwox-5.35.0-doc-html.tgz/en/examples.html lists systems where modems are supported. Solution: If your system does not support modems, try to apply WinPCAP solution: http://winpcap.polito.it/misc/dialup.htm ------------------------------------------------------------------------------- Problem 10: Problem synthesis: Popup: The dynamic library wpcap.dll was not found. [Note: I'am not sure about the exact error message because I do not have access to an English computer] Environment affected by the problem: Windows What's causing the problem: WinPCAP is not installed. Solution: Download and install WinPCAP as described in INSTALL.TXT or INSTALLWINDOWS.TXT. ------------------------------------------------------------------------------- Problem 11: Problem synthesis: Network configuration is incorrect. Environment affected by the problem: All What's causing the problem: Obtaining the configuration (device, arp cache, routes) of the local computer is an important step of netwib. Several tools need this configuration to be accurate. Different kinds of network cards, modems, operating systems, etc. exist. So, it's possible that your computer contains unrecognized hardware. In this case, several netwox tools would be unusable. For these reasons, the first tool to use is 'netwox 1' to ensure correct configuration setting. Here is a correct example (taken on Linux): ################################### Devices ################################ nu dev ethernet_hwtype mtu real_device_name 1 Lo0 loopback 3924 lo 2 Eth0 aa:aa:aa:aa:aa:aa 1500 eth0 3 Eth1 bb:bb:bb:bb:bb:bb 1500 eth1 ##################################### IP ################################### nu ip /netmask ppp point_to_point_with 1 127.0.0.1 /255.0.0.0 0 2 192.168.1.1 /255.255.255.0 0 3 192.168.2.1 /255.255.255.0 0 3 192.168.3.1 /255.255.255.0 0 ############################## ArpCache/Neighbor ########################### nu ethernet ip 2 aa:aa:aa:aa:aa:aa 192.168.1.1 3 bb:bb:bb:bb:bb:bb 192.168.2.1 3 bb:bb:bb:bb:bb:bb 192.168.3.1 2 cc:cc:cc:cc:cc:cc 192.168.1.254 #################################### Routes ################################ nu destination /netmask source gateway metric 1 127.0.0.1 /255.255.255.255 local 0 2 192.168.1.1 /255.255.255.255 local 0 3 192.168.2.1 /255.255.255.255 local 0 3 192.168.3.1 /255.255.255.255 local 0 2 192.168.10.0 /255.255.255.0 192.168.1.1 0 3 192.168.21.0 /255.255.255.0 192.168.2.1 0 3 192.168.31.0 /255.255.255.0 192.168.1.1 0 1 127.0.0.0 /255.0.0.0 127.0.0.1 0 2 0.0.0.0 /0.0.0.0 192.168.1.1 192.168.1.254 0 In this example, we see the loopback device (lo, or Lo0, number 1), and two network cards (eth0 and eth1, respectively number 2 and 3). Network card 2 has IP address 192.168.1.1, and network card 3 has two IP addresses (192.168.2.1 and 192.168.3.1). The arp table contains permanent entries, and the dynamic entry for the router 192.168.1.254. The routing table first contains entries to access local devices, then network connected to the local devices, and finally the default router 192.168.1.254. Solution: As I cannot have access to your hardware, you have to send me information about your configuration in order to help netwib's improvements. Run: netwox 2 > resultfile Then, send me the file 'resultfile', along with configuration information (ifconfig, ipconfig /all, arp -a, route print, netstat -rn, winipcfg /all /batch file.out, winipcfg, network card type, modem type, etc.). Thanks. ------------------------------------------------------------------------------- Problem 12: Problem synthesis: Error messages contains inaccurate hints Environment affected by the problem: All What's causing the problem: Implementing a cross platform compatible error handling is almost impossible (errno, h_errno, GetLatError, WSAGetLastError). The solution chosen in netwib is to leave those error codes untouched. So, if they were previously set by another error, this error will still be present. For example: Error 1099: error in foobar() hint: errno = 19 = No such device hint: h_errno = 2 = Host name lookup failure If function foobar sets errno read errno, else read h_errno. Solution: Just ignore the hint which seems inaccurate. ------------------------------------------------------------------------------- Problem 13: Problem synthesis: Netwib's functions behave strangely Environment affected by the problem: All What's causing the problem: There might exist conflicts between netwib and your program. Solution: Read integration.txt. ------------------------------------------------------------------------------- Problem 14: Problem synthesis: Netwib's functions interfere with other functions Environment affected by the problem: All What's causing the problem: There might exist conflicts between netwib and your program. Solution: Read integration.txt. ------------------------------------------------------------------------------- Problem 15: Problem synthesis: Netwib is slow. Environment affected by the problem: All What's causing the problem: I choose to create a modular library, easy to use. One of the consequence is the high level structuration of netwib. So, it is slower than a low level programming interface. Solution 1: Using records (netwib_io_init_record_xyz), you can construct your packets, save them, and then send them. Solution 2: You can also use only low level functions of netwib, and create your specific code around. If its still too slow, you should not use netwib and use directly system's functions, or buy a new computer ;) ------------------------------------------------------------------------------- Problem 16: Problem synthesis: Some features does not fully work. Environment affected by the problem: All What's causing the problem: Netwib's development contains several branches, each one having its own priority. I cannot develop everything in one day :). So, my priorities might not be the same as yours. Solution 1: Read todo.txt to obtain list of action to be done. Solution 2: Contact-me to explain your needs. ------------------------------------------------------------------------------- Problem 17: Problem synthesis: Some features are not provided. Environment affected by the problem: All What's causing the problem: Netwib's development contains several branches, each one having its own priority. I cannot develop everything in one day :). So, my priorities might not be the same as yours. Solution 1: Read todo.txt to obtain list of action to be done. Solution 2: Contact-me to explain your needs.