summaryrefslogtreecommitdiffhomepage
path: root/libs/nixio/src
AgeCommit message (Collapse)Author
2011-12-16[PATCH] Abstract address UNIX sockets not binding properly (by ↵Jo-Philipp Wich
capnbry@gmail.com, #366) In #274, I stated abstract namespace and autobound abstract namespace datagram UNIX domain sockets work perfectly with nixio. However, I may have jumped the gun on that conclusion. Turns out they work perfectly for only one concurrent connection. The problem is that when binding to an abstract address socket, which begins with a NULL byte, nixio strncpy's the name into the sockaddr_un structure, which effectively copies nothing. It then binds to an address of 180 NULLs, which is completely legal, but obviously you run into problems when a second client tries to bind to the same address. The rules are as follows ( http://linux.die.net/man/7/unix) for the names: * If the name is blank, bind() should pass that the addrlen of sizeof(sa_family_t) and Linux will autobind a name that begins with null and is followed by 5 digits. * If the first character of the name is non-null, the name is a pathname and is null-terminated. addrlen should be sizeof(sockaddr_un), but the length can also be the pathname len + sizeof(sa_family_t) as the value will be null-terminated by the kernel unix socket driver * If the first character is null, the address is abstract and the value should not be null-terminated and addrlen is pathname + sizeof(sa_family_t) The attached patch fixes bind/connect/sendto by shortening the addrlen passed to be pathname len + sizeof(sa_family_t), which generates the correct socket names for all 3 cases above. It also fixes the address returned by recvfrom, which currently returns a blank string for any abstract address socket (as they begin with a null).
2011-08-12libs/nixio: add missing file in previous commit, revert unrelated changeJo-Philipp Wich
2011-08-12libs/nixio: implement getproto(), getprotobyname() and getprotobynumber()Jo-Philipp Wich
2011-08-11libs/nixio: allow building without shadow password supportJo-Philipp Wich
2011-08-11libs/nixio: fix possible issue with nonblocking bind()Jo-Philipp Wich
2011-07-17libs/nixio: Fix recvfrom() return values for unnamed unix sockets, patch by ↵Jo-Philipp Wich
capnbry@gmail.com (#274)
2011-01-13libs/nixio: fix sendto(), implement support for unix domain sockets (#140)Jo-Philipp Wich
2010-06-10nixio: Add set_verify_locations for TLSSteven Barth
2010-05-23nixio: Add nixio.gettimeofday() per user requestSteven Barth
2010-03-28nixio: Fix interface data for layer 3+ interfacesSteven Barth
2010-03-27libs/nixio: make TLS support optionalJo-Philipp Wich
2009-12-29libs/nixio: fix uninitialized variable warning on Darwin in splice.cJo-Philipp Wich
2009-12-28libs/nixio: properly cast len argument for OS X sendfile()Jo-Philipp Wich
2009-12-28libs/nixio: fix compile on OS XJo-Philipp Wich
2009-11-28nixio: Improve number handling with non-double Lua setupsSteven Barth
2009-11-01nixio: Device stats are unsinged from kernel and likely to overflow so use ↵Steven Barth
pushnumber instead of pushinteger.
2009-10-31System loads are floatsSteven Barth
2009-10-26Build fixesSteven Barth
2009-10-26nixio: store stats and other number information as integer, which works ↵Felix Fietkau
better when lua number support is downgraded from double to float
2009-08-27libs/nixio: protect splice calls with ifdef SPLICE_F_MOVE, fixes compile ↵Jo-Philipp Wich
error with openwrt trunk x86/glibc
2009-07-29Kill abandoned filesSteven Barth
2009-07-19libs/nixio: don't close stdin, stdout or stderr during garbage collectionJo-Philipp Wich
2009-07-14nixio:Steven Barth
Add Rockspec Add bswap to nixio.bit Fix nixio.bit documentation
2009-07-11Fix getifaddrs() for BSDSteven Barth
2009-07-11nixio: Fix accidental closing of file descriptors after dup with twoSteven Barth
parameters resulting in strange behaviour when spawning processes
2009-06-21nixio: Resolve namespace clashesSteven Barth
2009-06-15Redefine splice() flags for crappy uclibc versionsSteven Barth
2009-06-07nixio: Add support for DER certificates, PX5G fix CertmasterSteven Barth
2009-06-06nixio: Add support for DER keyfilesSteven Barth
2009-06-06nixio: Use correct datatypes for base64 encodeSteven Barth
2009-05-28nixio: Rework TLS support, added support for CyaSSLSteven Barth
2009-05-28Würg around some nasty axTLS keying bugsSteven Barth
2009-04-26nixio:Steven Barth
Added binding for getifaddrs(): List network interfaces, their flags, addresses and statistics Cleanups
2009-04-21Merge nixio 0.2Steven Barth
2009-03-16nixio: solaris does not recognize LOG_PERRORSteven Barth
2009-03-16Fix a possible stack corruptionSteven Barth
2009-03-16Added missing fileSteven Barth
2009-03-16nixio: added syslog supportSteven Barth
2009-03-13Sync nixioSteven Barth
2009-03-13nixio: More sockoptsSteven Barth
2009-03-13nixio: +socket options SO_DONTROUTE, SO_BINDTODEVICESteven Barth
2009-03-12nixio: chdir()Steven Barth
2009-03-12nixio: add setsid()Steven Barth
2009-03-12FreeBSD compatibility #3Steven Barth
2009-03-12nixio: FreeBSD compatibility #2Steven Barth
2009-03-12nixio: FreeBSD compatibility #1Steven Barth
2009-03-10Be nice()Steven Barth
2009-03-09nixio: Implement protable behaviour of signal(), export more errorSteven Barth
constants
2009-03-09httpclient: Added missing importSteven Barth
nixio: waitpid() returns 0 with WNOHANG and no terminated childs
2009-03-09nixio: reenable splice() for linuxSteven Barth