unknown
734cc23e1f
Fixed inet_pton and a new Winsock UDP bug.
...
inet_pton was copying the entire sockaddr_in struct,
rather than just the sin_addr field...
I am a bit unsure about the UDP fix, because it may affect
TCP as well. On UDP sockets, when a sendto fails, the next
receive/receivefrom fails with CONNRESET. I changed
sock_recv/sock_recvfrom in wsocket.c to skip the CONNRESET
from the recv/recvfrom, hoping that if the socket is TCP,
sock_waitfd will get the CONNRESET again. The tests pass,
but this should be tested more thoroughly.
2013-05-28 00:09:30 +08:00
unknown
66cd8cfcee
Fix wrong usage of inet_pton.
2013-05-27 22:17:51 +08:00
unknown
056d7653f3
Link only against ws2_32.lib.
2013-05-27 21:58:41 +08:00
Diego Nehab
834a3cf520
Simplifying getaddrinfo treatment.
2013-05-27 21:05:48 +08:00
unknown
5e0b56b8d3
Merge branch 'moteus' of https://github.com/moteus/luasocket into moteus
2013-05-27 20:32:54 +08:00
unknown
26704061a4
Fix Visual Studio 2012 projects
2013-05-27 20:30:06 +08:00
moteus
920bc97629
Build with Lua 5.2 without LUA_COMPAT_MODULE flag.
...
LUASOCKET_USE_GLOBAL flag enable create global variables when load socket/mime modules.
2013-05-27 12:45:09 +04:00
moteus
e54f78c61c
Fix. setsockname fails with "*" as host.
...
Add. test_bind.lua
2013-05-27 11:25:31 +04:00
moteus
56dbda39ed
Fix. getaddrinfo returns garbage as address on Windows.
...
Add. test_getaddrinfo.lua
2013-05-27 11:20:52 +04:00
Diego Nehab
427220c7b1
Merge tryconnect6 into inet_tryconnect.
2013-05-26 21:26:26 +08:00
Diego Nehab
6d93fd7c8f
Fix socket.connect
...
Previous implementation was not making sure the socket
had the same family as the addr returned by getaddrinfo.
So instead of "connection refused", we could get "invalid
argument", which was our fault.
2013-05-26 15:18:13 +08:00
Diego Nehab
22107bb9fc
Check linux build.
2013-05-25 07:25:02 -03:00
unknown
bb0b31301a
Add MingW support.
2013-05-25 18:07:38 +08:00
unknown
cbc77440c8
Merge branch 'lua52-mingw' of https://github.com/pkulchenko/luasocket into pkulchenko
2013-05-24 18:33:43 +08:00
Paul Kulchenko
5a58786a39
Added inet_pton/inet_ntop for MinGW on Windows; compiles with Lua52.
2013-04-07 12:39:56 -07:00
Gerardo Marset
56893e9dcd
Use the length operator (#) instead of table.getn.
...
table.getn was deprecated in Lua 5.1 in favor of #, the length operator.
See: http://www.lua.org/manual/5.1/manual.html#7.2
2013-02-25 20:28:28 -02:00
Diego Nehab
d548a78e55
Cookie modifications.
2013-01-10 01:10:34 -02:00
Diego Nehab
72a5347f97
Remove warnings and fix makefile for Win32.
2012-12-11 17:43:49 -02:00
Diego Nehab
618ce43ee3
Fix socket_accept usage to depend on family.
2012-12-11 16:35:27 -02:00
Diego Nehab
9d97d39575
Fix ltn12 version.
2012-12-10 15:50:44 -02:00
Diego Nehab
a4b45edef2
Merge pull request #25 from ewmailing/unstable
...
Copied socket_gaistrerror implementation from usocket to wsocket to allo...
2012-12-10 09:31:13 -08:00
Eric Wing
5c467b3954
Copied socket_gaistrerror implementation from usocket to wsocket to allow Windows version to compile because it is missing the function. EAI_OVERFLOW and EAI_SYSTEM are commented out because they don't exist on Windows.
2012-11-20 12:58:52 -08:00
Pierre Chapuis
ffddaf4a2e
fix use of arg in ltn12
2012-09-17 23:44:04 +02:00
Diego Nehab
a402222464
Merge pull request #22 from Florob/smtp
...
Send SMTP AUTH LOGIN response using tp:send(). Fixes #18
2012-08-23 15:34:43 -07:00
Diego Nehab
6368caeb5a
Fix udp:setpeername("*")
...
There seems to be a curious difference between MacOS and
Linux and I am not sure if this is documented. When you
break a "connection" on Mac OS, you only eliminate the peer
association, but the local address remains bound. On Linux,
breaking a "connection" eliminates the binding to the local
address. Have you guys ever come accross this?
Another irritating difference is that connect() returns the
error EAFNOSUPPORT on Mac OS. I am going to ignore all
errors when the reason for calling connect() is simply to
break the "connection".
2012-08-23 19:31:15 -03:00
Florian Zeitz
32e7a107e2
Send SMTP AUTH LOGIN response using tp:send(). Fixes #18
...
tp:command() uppercases the command.
Without a command we would end up with a space in
front of the data. Therefore use send() directly here.
2012-08-07 00:01:48 +02:00
Diego Nehab
f329aae724
Fix HORRIBLE but in b64/qp code.
...
Bug was caught by user moteus.
Code was checking if arguments was nil after using
luaL_Buffer code, which messes with the stack.
Simple to fix, though.
2012-08-01 03:06:09 -03:00
Diego Nehab
54ffcd483f
Fixed default Linux path to work with Ubuntu
...
Also fixed clean target to remove serial objects
2012-08-01 02:13:27 -03:00
Diego Nehab
6370b61414
Merge pull request #20 from Florob/sendto
...
IPv6 support for udp:sendto() and udp:receivefrom()
2012-07-31 22:04:06 -07:00
Diego Nehab
5616f3a0ae
Merge pull request #15 from darkrain42/unstable
...
tcp: Initialize clnt->family in :accept()
2012-07-31 22:02:10 -07:00
Florian Zeitz
7503bb0ca3
Add IPv6 support to udp:receivefrom()
2012-07-18 21:05:30 +02:00
Florian Zeitz
a6cf48596d
Add IPv6 support to udp:sendto()
2012-07-17 19:02:20 +02:00
Paul Aurich
d777341eaf
tcp: Initialize clnt->family in :accept()
...
Also unconditionally zero out the structs when allocated, for
good measure.
2012-05-21 19:44:08 -07:00
Kim Alvefur
36461db5bb
src/makefile: Use install instead of cp and mkdir.
2012-05-15 18:44:38 +02:00
Kim Alvefur
c624761d32
src/makefile: Move mkdir to a variable
2012-05-15 18:27:46 +02:00
Diego Nehab
05535a19f8
Improve makefile to allow overriden variables
...
Before this change, it was difficult to set default
directories for different platforms that would still
work with different Lua versions.
2012-05-11 15:33:47 +08:00
Sam Roberts
156669c28b
socket.connect now implemented in the C core
...
This avoid socket.lua duplicating the iteration over the results
of getaddrinfo(). Some problems with the C implementation not
initializing sockets or the luasocket family have also been fixed,
and error reporting made more robust.
2012-05-10 14:14:22 -07:00
Diego Nehab
3d3e69c6e4
Merge pull request #8 from sam-github/fix-confusing-servname-reference
...
Reword error msg to distinguish between service and server
2012-05-08 11:52:23 -07:00
Diego Nehab
1bb586d655
Merge pull request #7 from sam-github/fix-makefiles
...
Rework makefiles to simplify setting and choosing build options.
2012-05-08 11:51:25 -07:00
Sam Roberts
ac59bcbeac
Reword error msg to distinguish between service and server
...
servname is easily confused with "server name", making it seem
as if the server name couldn't be resolved.
2012-05-08 10:55:33 -07:00
Sam Roberts
c291383ce2
Rework makefiles to simplify setting and choosing build options.
...
Includes documentation for common build settings, reasonable
defaults, and ability to set common build options in the
environment.
2012-05-08 10:51:56 -07:00
Florian Zeitz
0c3e067af1
Add a getnameinfo() wrapper
...
This wrapper takes a domain name or an IP as first argument
and a service name or port as second argument.
Either argument may be nil.
It returns a list of names (always only one in the IP case) and a
service name.
2012-05-05 02:13:56 +02:00
Sam Roberts
e86eac96fa
:shutdown() errors on all invalid argument strings
...
It used to error only on invalid argument strings that started with 's',
'r', or 'b'.
2012-04-26 16:50:27 -07:00
Diego Nehab
c2e29537f5
Fixed getpeername/getsockname situation
...
- Added IPv6 support to getsockname
- Simplified getpeername implementation
- Added family to return of getsockname and getpeername
and added modification to the manual to describe
2012-04-24 00:47:30 +08:00
Diego Nehab
1acf8188cd
socket.bind also tries all addresses returned by getaddrinfo.
2012-04-23 01:40:31 +08:00
Diego Nehab
966642f76a
socket.connect() loops over addresses returned by getaddrinfo
2012-04-23 01:29:41 +08:00
Diego Nehab
f960b3872a
Making progress toward a release
...
Documented headers.lua
Update copyright date everywhere
Remove RCSID from files
Move version back to 2.1 rather than 2.1.1
Fixed url package to support ipv6 hosts
Changed "domain" to "family" in tcp and udp structures
Implemented getfamily methods
2012-04-23 00:18:45 +08:00
Diego Nehab
f37e026026
First stab at documenation
...
Update Lua and Luasocket version in samples and in documentation
Documented ipv5_v6only default option being set
Documented tcp6 and udp6
Documented dns.getaddrinfo
Documented zero-sized datagram change?
Documented getoption
2012-04-17 01:15:26 +08:00
Diego Nehab
b3c4f46179
merged lua_typerrror.{c,h} into auxiliar.{c,h}
2012-04-16 20:41:48 +08:00
Sam Roberts
4b671f4551
Merge branch 'git-sam' into diego-sam-mwild-integration
...
Conflicts in options.c were just due to independent small functions
being close to each other.
unix.c in mwild was broken, it wasn't using LUASOCKET_API.
serial.c needed luaL_reg renamed, and to use LUASOCKET_API.
makefile didn't respect standard DESTDIR and prefix makefile
variables, and didn't allow LUAV variable to select lua version to build
against.
I've tested the top-level install-both target builds and installs
against both lua5.1 and lua5.2, but not done further testing.
Conflicts:
README
config
gem/ltn012.tex
makefile
src/makefile
src/options.c
src/options.h
src/tcp.c
src/usocket.c
2012-04-11 14:18:20 -07:00
Sam Roberts
8bb542baaf
Support getoption method for tcp objects.
2012-04-11 13:54:01 -07:00
Sam Roberts
0716cb868e
Bounds check the argument to FD_SET
...
Failing to check the FD_SET argument against FD_SETSIZE causes
undefined behaviour (segfaults, for example).
2012-04-11 13:54:01 -07:00
Sam Roberts
27a3964ff7
socket_strerror() sometimes maps errno, instead of its argument
...
Looks like a historical bug. Its err argument is an error number, but
if it isn't using a custom error message for it, it just calls
strerror() with the errno global, effectively ignoring its argument
and returning a semi-random string.
2012-04-11 13:54:01 -07:00
root
e716e7347b
mime: Remove io dependency
...
This dependency was spuriously added, maybe for debug reasons,
as confirmed to me by Diego Nehab by mail.
Some systems based in Lua (e.g. Ginga) prohibit the use of
io module for security reasons, so this dependency makes
mime unusable; even worse this makes other modules, based
on mime, unusable too (e.g. html).
2012-04-11 13:45:59 -07:00
Sam Roberts
b1f7c349b5
Add support for serial devices as socket streams on unix.
2012-04-11 13:45:59 -07:00
Sam Roberts
f63d616bc0
Use poll by default for socket.connect(), instead of select().
...
Connect timeouts are implemented by waiting on the new socket
descriptor. When select() is used for this, it imposes an arbitrary
limit on the number of connections that can be made, usually 1024-3.
Using poll() removes this limit on the number of simultaneous TCP
connections can be made using luasocket. The previous default
implementation using select() is available by defining SOCKET_SELECT.
Note that using socket.select() always uses select(), so it isn't
possible to wait on an arbitrary number of connections at once.
2012-04-11 13:45:59 -07:00
Sam Roberts
21698c7665
Receive of zero for UDP is now possible.
...
Previously, receive of zero was considered to be "closed", but that
is only true for stream-based protocols, like TCP.
2012-04-11 13:45:59 -07:00
Sam Roberts
51acb54760
Stop returning an error after successful send of zero length UDP packets
...
A zero-length send is invalid with TCP, but well defined with UDP.
udp:send"" was returning (nil,"refused"), indicating that it failed when
the packet was actually sent. The test script reproduces the bug, and
includes a tcpdump of the zero length packet being sent.
2012-04-11 13:45:59 -07:00
Sam Roberts
1f704cfb89
Add all-unix and install-unix targets which include all modules supported on unix.
...
Besides standard socket and mime modules, this includes unix domain
socket support.
2012-04-11 13:45:59 -07:00
Florian Zeitz
f399ab25fc
inet: Honor the strict aliasing rule
2012-04-11 13:33:35 -07:00
Liam Devine
e81a6ff623
Conditional creation of p_timeout instance 'tm'
2012-04-11 13:33:34 -07:00
Liam Devine
c8eed36788
This is a replacement for luaL_typerror , removed from Lua 5.2, which corrects the spelling.
...
NOTE:
There is one failing test in.the /test/testsrvr.lua and /test/testclnt.lua combination which was present in the repo I cloned from.
2012-04-11 13:33:34 -07:00
Liam Devine
e15ed19db6
Compiles with Lua 5.1.4 and Lua 5.2.0-beta, although the makefile needs sorting out to take maybe a version number and also the local paths need removing.
2012-04-11 13:33:34 -07:00
Paul Aurich
a984607f28
inet: return more useful errors
2012-04-11 13:33:34 -07:00
Paul Aurich
7893d9ece2
inet: refactor getpeername to allocate the struct on the stack
2012-04-11 13:33:34 -07:00
Florian Zeitz
8393c76180
Fix getpeername to work with IPv6 addresses
2012-04-11 13:33:34 -07:00
Florian Zeitz
594f826aa1
Add support for connecting to IPv6 hosts
2012-04-11 13:33:34 -07:00
Florian Zeitz
5874d47f55
dns.getaddrinfo: Return proper error messages
2012-04-11 13:33:34 -07:00
Florian Zeitz
f871a29f27
Add support for the IPV6_V6ONLY socket option defaulting to on.
2012-04-11 13:33:34 -07:00
Florian Zeitz
4df1618aab
Adapt socket.bind() to create a IPv4 or IPv6 depending on the address given
2012-04-11 13:33:34 -07:00
Florian Zeitz
5065a2585c
dns: Rename toip6() to getaddrinfo() since the old name is misleading
2012-04-11 13:33:34 -07:00
Florian Zeitz
923eef1929
Rework binding IPv6 sockets by harmonizing it with the IPv4 variant
2012-04-11 13:33:34 -07:00
Matthew Wild
5c33ef9997
url.escape/url.unescape: Fix to return *only* the encoded/decoded string (thanks moodydeath)
2012-04-11 13:33:34 -07:00
Paul Aurich
908ee2cce1
Fix two crashes and add -Wshadow so that this can't happen again.
...
The two crashes are the s/const char *// changes in tcp.c. The rest
is cleanup so it will build.
2012-04-11 13:33:34 -07:00
Matthew Wild
dd83e0a849
#ifdef EAI_BADHINTS and EAI_PROTOCOL which don't seem available on my system (Linux/glibc 2.11)
2012-04-11 13:33:34 -07:00
Diego Nehab
2778766d67
Preliminary IPv6 support for v2.1
2012-04-11 13:25:11 -07:00
Diego Nehab
3a8ba90dfb
Saving before big changes to support IPv6.
2011-05-25 20:57:22 +00:00
Diego Nehab
bce60be30f
Decent makefiles!
2009-05-27 09:31:38 +00:00
Diego Nehab
d1a72435d5
New release.
2007-10-13 23:55:20 +00:00
Diego Nehab
e394956cde
Global variable references.
2007-07-11 19:25:47 +00:00
Diego Nehab
3cd10f5ab6
Crashy bug fixed in recvraw.
...
Also fixed returns on closed socket.
2007-06-11 23:44:54 +00:00
Diego Nehab
be2e467929
Couple bug fixes.
2007-03-12 04:08:40 +00:00
Diego Nehab
75f51d5bc7
Almost ready to release 2.0.1
2006-04-20 04:16:23 +00:00
Diego Nehab
e8650bbf16
http.request was using old host header during redirects.
2006-04-13 07:00:24 +00:00
Diego Nehab
be57b387d2
Stupid bug was reusing the nreqt.headers.host during redirect.
2006-04-12 08:04:09 +00:00
Diego Nehab
11282d17c8
Almost done 2.0.1.
2006-04-03 04:45:42 +00:00
Diego Nehab
e9d477aba3
Final patches...
2006-04-03 03:10:56 +00:00
Diego Nehab
93806208c7
Updates for 2.0.1 on the way.
2006-03-19 21:22:21 +00:00
Diego Nehab
09ad4b299c
Chose option 1) for http.lua.
...
Need to fix everything to make sure it works with the new compat-5.1
2006-03-14 09:04:15 +00:00
Diego Nehab
6248b915cb
Fixing bugs...
2006-03-13 07:16:39 +00:00
Diego Nehab
d55a5826e8
Few tweaks in installation, some missing files, etc.
2005-11-22 08:33:29 +00:00
Diego Nehab
71f483496d
Works in Finnish now! Who would say...
2005-11-21 07:04:18 +00:00
Diego Nehab
f20f4889bf
Changed prefix of function names to match module names.
...
Removed some warnings and useless code.
2005-11-20 07:20:26 +00:00
Diego Nehab
f4dadea763
Before compiling on Windows.
2005-10-07 04:40:59 +00:00
Diego Nehab
64d7b02490
Returning a function.
2005-10-05 03:17:29 +00:00
Diego Nehab
72eceedc62
Bugs sent by David.
2005-10-05 03:16:17 +00:00
Diego Nehab
a32c6d9140
Almost ready to release.
2005-09-29 06:11:42 +00:00
Diego Nehab
773e35ced3
Compiled on Windows. Fixed a bunch of stuff. Almost ready to release.
...
Implemented a nice dispatcher! Non-blocking check-links and forward server
use the dispatcher.
2005-08-23 05:53:14 +00:00
Diego Nehab
0c3cdd5ef2
Final push for release...
2005-08-12 05:56:32 +00:00
Diego Nehab
37f7af4b9f
Added check-links-nb.lua that check links in a non-blocking way.
2005-06-20 04:51:55 +00:00
Diego Nehab
4d455c6206
Using core.so instead of csocket.so and cmime.so.
2005-06-17 04:04:55 +00:00
Diego Nehab
65c35845c5
Working on the manual.
2005-06-14 04:29:23 +00:00
Diego Nehab
8b114f3bf4
Stupid bug in http.lua.
2005-06-12 22:02:21 +00:00
Diego Nehab
9596c7f95d
Bug in forward.lua. Wasn't breaking from the loop.
2005-04-21 05:38:07 +00:00
Diego Nehab
434e8e014c
Better connection handling.
2005-04-21 03:15:34 +00:00
Diego Nehab
2a00a5ad50
Trying to get non-blocking connect to work.
2005-04-20 18:57:47 +00:00
Diego Nehab
5e75dc0857
Wrong class...
2005-04-13 22:18:21 +00:00
Diego Nehab
6dc9c1096a
Seems to be working on windows.
2005-03-11 02:21:27 +00:00
Diego Nehab
e57f9e9964
Apparently, non-blocking connect doesn't work on windows if you use 0
...
timeout in the select call...
2005-03-11 00:20:21 +00:00
Diego Nehab
63e3d7c5b0
Forward server works for multiple tunnels.
...
Http.lua has been patched to support non-blocking everything.
Makefile for linux has been updated with new names.
2005-03-10 02:15:04 +00:00
Diego Nehab
7350bad6f4
Just to check out in the office.
2005-02-27 18:30:32 +00:00
Diego Nehab
8d4e240f6a
Forward server working on Mac OS X...
2005-02-08 10:01:01 +00:00
Diego Nehab
5d32848674
No coroutines needed.
2005-02-03 19:14:09 +00:00
Diego Nehab
c5fefd5529
Simplified use for sock:send.
2005-01-27 21:30:01 +00:00
Diego Nehab
2cd2a5d4a4
Stupid bug.
2005-01-22 22:38:43 +00:00
Diego Nehab
49445951a8
Few extra changes...
2005-01-02 22:51:33 +00:00
Diego Nehab
97b26e0b66
Almost ready to release beta3
2005-01-02 22:44:00 +00:00
Diego Nehab
a8254e94f8
Last line of modules was simplified.
2004-12-23 23:17:01 +00:00
Diego Nehab
2f970d782e
Changes due to new compat-5.1
2004-12-23 22:32:12 +00:00
Diego Nehab
4e5ad6d5ee
Bug in poll.
...
Debug garbage in compat-5.1.c.
Improvements to the user manual.
2004-11-29 06:55:47 +00:00
Diego Nehab
6abfbc742b
Host is overridable.
2004-11-28 19:53:17 +00:00
Diego Nehab
534b0cedf7
Added new instalation section to the manual.
2004-11-28 08:17:16 +00:00
Diego Nehab
297b32e828
LTN12 bug removed.
2004-11-28 02:36:07 +00:00
Diego Nehab
05e8f24385
New LTN12 test procedures (still short, but growing)
...
LTN12 avoids coroutines.
2004-11-28 00:59:12 +00:00
Diego Nehab
50da56dbee
Using poll instead of select by default.
2004-11-27 08:47:09 +00:00
Diego Nehab
7c97e8e40a
Almost ready for beta3
2004-11-27 07:58:04 +00:00
Diego Nehab
bdc3e241bb
Little bug in manual.
2004-11-17 04:55:57 +00:00
Diego Nehab
4964552718
My own ltn12.filter.chain is done.
...
Implemented part of DB's suggestion for ftp.
Mimetest.lua generates the test file for base64 instead of loading from disk.
2004-10-12 22:35:20 +00:00
Diego Nehab
396946b63a
Using Wim's filter.chain...
2004-10-12 19:47:02 +00:00
Diego Nehab
1e5e8b5ce5
Fine tunned modules scheme.
...
Adjusted client modules.
Fixed proxy bug in http.
2004-10-11 06:18:57 +00:00
Diego Nehab
a04f15d1ca
Using new module scheme. Still needs fine tuning.
2004-09-27 04:01:18 +00:00
Diego Nehab
e1d318f26c
Select wasn't calling tm_markstart.
2004-09-21 18:59:19 +00:00
Diego Nehab
e4d4c828d9
nanosleep patch.
2004-08-04 20:51:57 +00:00
Diego Nehab
e27fa00e1c
Gettime returns time in the Unix Epoch time both on windows and unix.
2004-08-04 20:42:02 +00:00
Diego Nehab
ecb8db95a4
Coroutine-free filter.chain.
2004-07-29 05:11:21 +00:00
Diego Nehab
911e8d7e7f
Beta2 is out! Total timeout works on Windows.
2004-07-26 05:17:37 +00:00
Diego Nehab
cd994f306a
Gonna try my luck on windows...
2004-07-26 04:03:55 +00:00
Diego Nehab
c8b402e004
Changed send function.
2004-07-18 22:56:14 +00:00
Diego Nehab
e4e2223cff
Fixed a bunch of stuff. Added mike's patches.
2004-07-16 06:48:48 +00:00
Diego Nehab
9a79d500eb
Still need to fix windows. :o/
2004-07-15 06:11:53 +00:00
Diego Nehab
b2b7e9cef1
tiny bug in test.
2004-07-02 18:58:23 +00:00
Diego Nehab
b1a4ad2b19
Compiles and runs on windows.
2004-07-02 18:44:05 +00:00
Diego Nehab
63807d6476
Added getstats.
2004-07-01 06:09:29 +00:00
Diego Nehab
197aef23ce
Compiles with g++.
2004-07-01 05:35:35 +00:00
Diego Nehab
a7d5362caf
Fixed unix domain sockets.
2004-07-01 05:26:59 +00:00
Diego Nehab
596602f2ca
Seems good.
2004-07-01 03:47:22 +00:00
Diego Nehab
7115c12fbc
Moving on to beta2.
2004-07-01 03:32:09 +00:00
Diego Nehab
a193c087a4
Fixing send/recv and optimizing.
2004-06-23 01:08:54 +00:00
Diego Nehab
1ce47ebe39
Added support for unix stream sockets.
2004-06-22 16:12:53 +00:00
Diego Nehab
7195ab620b
Few extra changes.
2004-06-22 04:49:57 +00:00