From: Sam S. <sd...@gn...> - 2016-05-27 17:31:33
|
> * Daniel Jour <qna...@tz...> [2016-05-27 00:40:35 +0200]: > > I'm currently working on getting the rawsock module up-to-date and running > on the major target platforms. I got a bit unsure about the real purpose, > the "goal" of that module, though: > > The documentation suggests that it's providing access to what sys/socket.h > provides, i.e. "raw" access to sockets. Indeed, rawsock originated with Fred & Don Cohens, who wrote it for some very low level access to networking. > Windows doesn't have sys/socket.h, but rather WinSock2. While there are > a lot of similarities between those (IIRC that was one of the design goals > of WinSock) they're certainly different in some parts. Sockets are the OS-level interface to TCP/IP. Thus all the functions in rawsock can, should(must!) and did work on all "modern" operating systems (i.e., linux, *bsd including mac os x, windows xp and later, all other unixes released after 2000 - but not on atari and amiga). Yes, windows is an oddball system, this is why we have a problem now, and this is precisely the problem this project is supposed to address. > Unifying both sys/socket.h and WinSock2 behind the same interface > seems to be a contradiction to the "raw" access to me, though. If > that's the goal of the module, wouldn't it be much better to have a > module providing access to some "socket library"? This module _IS_ that "socket library". > Or would it be useful to split the rawsock module in platform dependent > modules, just like it's done with bindings/glibc and bindings/win32? The idea of the module is to have it working on _all_ modern OS OOTB, without "os-specific" interfaces all over the place. -- Sam Steingold (http://sds.podval.org/) on Ubuntu 16.04 (xenial) X 11.0.11803000 http://www.childpsy.net/ http://honestreporting.com http://memri.org http://dhimmi.org http://mideasttruth.com If you know that you know nothing, you know too much. |