Commit Graph

340 Commits

Author SHA1 Message Date
Diego Nehab
be67f63f4e Changed buffer-per-socket to buffer-per-operation.
This is a difficult tradeoff to measure. I think large
datagrams won't be used very frequently. So it is better to
not lock a large buffer to each socket object and instead
allocate and deallocate for each operation receiving a
datagram larger than UDP_DATAGRAMSIZE.
2015-10-06 11:33:50 +08:00
Diego Nehab
fd729b32a8 Added support for arbitrary datagram sizes.
The maximum size is still constant per UDP object, but the
size can be speficied at creation time.
2015-10-05 11:47:51 +08:00
Diego Nehab
f4b4720073 Merge branch 'tcp_reuseport' of https://github.com/KateAdams/luasocket into KateAdams-tcp_reuseport 2015-10-05 10:28:29 +08:00
Diego Nehab
4110e4125d Merge branch 'agnostic'
Seems safe to move to master.
2015-08-25 15:43:48 -03:00
Diego Nehab
77bba625d7 Fixes suggested by @Florob in #147. 2015-08-25 15:41:40 -03:00
Diego Nehab
46d7e75f3e Merge pull request #96 from chastabor/master
Generate headers before proxy changes host and port
2015-08-24 16:41:24 -03:00
Diego Nehab
96965b179c New agnostic IPv4 IPv6 functions.
Also dealing with EPROTOTYPE Yosemite seems to be throwing
at us for no reason.
2015-08-22 19:52:01 -03:00
Diego Nehab
b211838648 Fix rockspec and serial.c module. 2015-08-21 22:31:29 -03:00
Diego Nehab
9322eacefd Merge pull request #141 from cjtallman/master
Added missing options for UDP getoption.
2015-08-21 15:51:52 -03:00
Diego Nehab
e75444ccd1 New compat.h module implements luaL_setfuncs.
Makes initialization code simpler everywhere.
2015-08-21 15:39:34 -03:00
cjtallman
67abaf89eb Added missing options for UDP getoption.
Documentation says "dontroute", "broadcast", "reuseaddr", and
"reuseport" are supported as arguments to getoption, however their
implementations were missing.
2015-06-11 09:02:20 -07:00
Diego Nehab
863a54cbaf Fix cut-paste typo on PIE_HOST_NOT_FOUND. 2015-03-03 19:20:13 -03:00
Diego Nehab
892ea1791a Merge branch 'errormsg' of https://github.com/Tieske/luasocket into Tieske-errormsg 2015-03-03 19:17:53 -03:00
Diego Nehab
bbcbbf845e Merge pull request #119 from gatzka/master
Make casts const correct.
2015-03-03 19:01:00 -03:00
Thijs Schreijer
d3ed08616b updated error messages, less error prone, platform independent 2015-03-03 21:17:06 +01:00
Diego Nehab
8396a0291b Better solution to luaL_checkint... 2015-03-01 22:49:04 -03:00
Thijs Schreijer
59869b8bf6 fixed accidental global in ftp.lua 2015-03-01 20:34:53 +01:00
Diego Nehab
76ed24fe8a Fix inet_global_getaddrinfo leak of getnameinfo
Issue #127 closed.
2015-02-18 20:54:27 -02:00
Diego Nehab
ddf4292824 Out of the box support for Lua 5.3. 2015-02-18 20:51:37 -02:00
Stephan Gatzka
d8f77cca64 Remove unused function luaL_typerror(). 2014-12-21 07:45:36 +01:00
Stephan Gatzka
9178451ef9 Add missing prototype for opt_get_reuseport(). 2014-12-21 07:45:17 +01:00
Stephan Gatzka
c6f136c7f5 Make local function udp_strerror() static. 2014-12-21 07:44:11 +01:00
Stephan Gatzka
41692dfb4b Make casts const correct. 2014-12-21 06:57:10 +01:00
Philipp Janda
0b03eec16b make socket.protect yieldable on Lua 5.2/5.3 2014-11-10 18:49:40 +01:00
daurnimator
4f122e60b1 src/usocket: Don't unset/set O_NONBLOCK around listen() or shutdown() calls.
It doesn't effect them.
Not true on windows
2014-10-27 14:07:38 -04:00
daurnimator
e602c2b271 src/usocket: Do not setblocking on destroy;
This results in unexpected behaviour if the socket has been `dup()`d, as O_NONBLOCK is shared.
Close is always 'blocking' anyway

See https://github.com/wahern/cqueues/issues/13 for an example use case
2014-10-27 13:35:36 -04:00
Diego Nehab
d80bb0d82b Fix Host: header according to RFC7230 2014-07-15 14:49:20 -03:00
Charles Tabor
2314235b3a Add proxy authentication headers if present. 2014-03-27 14:40:04 -05:00
Charles Tabor
36aa87e031 Generate headers before proxy changes host and port 2014-03-21 14:25:44 -05:00
kobra
833333e131 Added ability to set the option reuseport of a tcp socket. 2013-09-12 00:46:32 +01:00
Diego Nehab
6d5e40c324 Add MYCFLAGS and MYLDFLAGS go allow for customization 2013-09-09 14:55:20 -03:00
Diego Nehab
d0b1f5b4c1 Add support for FreeBSD in makefile
Thanks to Leryan. See issue #78.
2013-09-09 14:29:14 -03:00
Diego Nehab
396e9e5ee6 Fixed timeout bug introduced by commit e81a6ff 2013-09-09 14:23:00 -03:00
Diego Nehab
244e5d34a0 Merge pull request #74 from catwell/pull-hostport
Include port in default Host header
2013-09-09 09:54:08 -07:00
Diego Nehab
c715993fb8 Merge pull request #65 from fab13n/480a818bf0ef6de32527ba14fc2bb27e754d0612
Support for several filters in ltn12.{sink,source}.chain
2013-09-09 09:48:46 -07:00
Pierre Chapuis
87d72dce4e include port in default Host header
See RFC 2616 section 14.23.
2013-08-14 14:41:57 +02:00
Pierre Chapuis
1f9ccb2b58 http: look for PROXY in _M, not as a global 2013-07-05 18:00:29 +02:00
Pierre Chapuis
ddf88aca09 http: do not set global TIMEOUT 2013-07-05 17:59:52 +02:00
Fabien Fleutot
480a818bf0 support multiple filters in ltn12.{sink,source}.chain() 2013-06-18 11:01:46 +02:00
Diego Nehab
7cad902bb7 Fix makefile and test_socket_error.lua 2013-06-12 21:45:15 +08:00
Diego Nehab
6e00ffd62f Changing from 2.1-rc1 to 3.0-rc1. 2013-06-11 19:10:03 +08:00
Diego Nehab
906abf29d1 Fix unix export marker. 2013-06-11 17:20:27 +08:00
Diego Nehab
bc709ac7b7 Export global table only if "module()" is defined. 2013-06-05 18:36:51 +08:00
Diego Nehab
b1d1e721d1 No need for inet_pton. 2013-06-04 16:26:49 +08:00
Diego Nehab
802567b7de Merge pull request #49 from moteus/moteus-ftp-get-2xx
Fix. recive 2xx while ftp.get cause timeout error
2013-05-30 03:02:33 -07:00
unknown
5eefc73b57 Remove warnings. Move windows specific code. 2013-05-30 16:50:28 +08:00
Diego Nehab
a233e27865 Leaving if in src/ but out of build for now. 2013-05-30 16:20:34 +08:00
moteus
00a06857c9 Fix. recive 2xx while ftp.get cause timeout error
In this example:
>Client send: MDTM test.txt
>Server response: 213 20120824120909
Because FTP server do not open new channel (2XX response)
and LuaSocket try open new channel we get timeout.

```lua
local ftp   = require "socket.ftp"
local ltn12 = require "ltn12"
local url   = require("socket.url")

local URL = "ftp://USER:TEST@127.0.0.1";
local CMD = 'MDTM test.txt';

-- get timeout
ftp.get{
  url = URL;
  command = CMD;
  sink = ltn12.sink.table{};
}

-- or we can use ftp.command
ftp.command{
  url = URL;
  command = URL,
  check = function(...)
    local status, data = ...
    return true
  end;
}
```
2013-05-30 11:01:07 +04:00
moteus
1de617e355 Add. Allow get error option to socket. 2013-05-29 14:33:27 +04:00
Diego Nehab
79e6c4915d Export global only if LUA_COMPAT_MODULE defined. 2013-05-29 16:56:56 +08:00