Commit Graph

486 Commits

Author SHA1 Message Date
E. Westbrook
2d8f0d9901 src/makefile: remove visibility and dllexport defines in favor of in-source labeling 2019-02-25 16:04:49 -07:00
E. Westbrook
f8183bab87 usocket.c: use LUASOCKET_PRIVATE 2019-02-25 16:04:29 -07:00
E. Westbrook
d7ffc2f4e6 usocket.c use LUASOCKET_PRIVATE 2019-02-25 16:04:16 -07:00
E. Westbrook
fe437ee844 unixstream.c: use LUASOCKET_PRIVATE 2019-02-25 16:01:44 -07:00
E. Westbrook
678d558c5f unixdgram.c: use LUASOCKET_PRIVATE 2019-02-25 16:01:33 -07:00
E. Westbrook
30a0a6003b udp.c: use LUASOCKET_PRIVATE 2019-02-25 16:01:21 -07:00
E. Westbrook
87c2dee13e timeout.c: use LUASOCKET_PRIVATE 2019-02-25 16:01:04 -07:00
E. Westbrook
525d703e16 tcp.c: use LUASOCKET_PRIVATE 2019-02-25 16:00:51 -07:00
E. Westbrook
898f2df025 serial.c: include luasocket.h 2019-02-25 16:00:38 -07:00
E. Westbrook
fae993c118 select.c: use LUASOCKET_PRIVATE 2019-02-25 15:59:29 -07:00
E. Westbrook
ef2a3fcedb options.c: use LUASOCKET_PRIVATE 2019-02-25 15:59:19 -07:00
E. Westbrook
3f19a052e8 io.c: use LUASOCKET_PRIVATE 2019-02-25 15:59:09 -07:00
E. Westbrook
731b23bc89 inet.c: use LUASOCKET_PRIVATE 2019-02-25 15:58:54 -07:00
E. Westbrook
395729d431 except.c: use LUASOCKET_PRIVATE 2019-02-25 15:58:45 -07:00
E. Westbrook
2bf6730fd5 pragma.c: use LUASOCKET_PRIVATE 2019-02-25 15:58:30 -07:00
E. Westbrook
b95527e140 buffer.c: use LUASOCKET_PRIVATE 2019-02-25 15:57:25 -07:00
E. Westbrook
c0374dd46f auxiliar.c: use LUASOCKET_PRIVATE 2019-02-25 15:57:01 -07:00
E. Westbrook
16b0026e27 unix.c: use LUASOCKET_API 2019-02-25 15:56:28 -07:00
E. Westbrook
1f6035070f mime.c: use LUASOCKET_API 2019-02-25 15:56:17 -07:00
E. Westbrook
c23bf865ce unix.h: use LUASOCKET_API 2019-02-25 15:55:36 -07:00
E. Westbrook
efc4bb3e2d mime.h: use LUASOCKET_API 2019-02-25 15:55:04 -07:00
E. Westbrook
f06b17c4c9 luasocket.h: define LUASOCKET_API and LUASOCKET_PRIVATE for export visibility 2019-02-25 15:54:09 -07:00
E. Westbrook
2a467001f6 http.lua: Error informatively if insufficient LuaSec support 2019-02-24 16:24:42 -07:00
E. Westbrook
e587800164 socket.http.request(): simultaneous support for http and https URL schemes, with caller-adjustable scheme-to-transport mappings (default "socket.http" and "ssl.https") 2019-02-24 15:23:16 -07:00
Diego Nehab
38865fad3a
Merge pull request #224 from pdgendt/patch-2
mime.lua: Obsolete require("io")
2019-02-24 18:06:00 -03:00
Diego Nehab
fa807f3ffd
Merge pull request #246 from xyida/yoda
Fixed an issue that was mistaken for HTTP 0.9 when timeout
2019-02-24 18:01:33 -03:00
Diego Nehab
a9c75cb099
Merge pull request #244 from leyyer/options
add options:
2019-02-24 17:57:23 -03:00
Diego Nehab
699c36c019
Merge pull request #116 from linuxmaniac/master
Add "tcp-keepidle", "tcp-keepcnt" and "tcp-keepintvl" options
2019-02-24 17:55:27 -03:00
Diego Nehab
b8f088e868
Merge pull request #258 from ewestbrook/luasec117
http.lua: if default for scheme, omit port number in "Host:" header
2019-02-24 17:48:00 -03:00
Diego Nehab
4b0f1d753d
Merge pull request #265 from ewestbrook/dualincpaths
src/makefile: support both lua/$(LUAV) and lua$(LUAV) include paths
2019-02-24 17:44:54 -03:00
Diego Nehab
40f79c1961
Merge pull request #266 from siffiejoe/luajit-static-linking
Fix static linking problem with LuaJIT
2019-02-24 17:42:27 -03:00
E. Westbrook
09ff9b650c http.lua: allow override of hard-coded 5 max redirects 2019-02-23 12:23:17 -07:00
Philipp Janda
59c8aaac34 Fix static linking problem with LuaJIT
LuaJIT and LuaSocket both define new Lua APIs from Lua 5.2 (in
particular `luaL_setfuncs` and `luaL_testudata`). When linking both
statically, the one definition rule strikes and linking fails. This
commit fixes the issue by renaming the LuaSocket versions of those
functions behind the scenes using the C preprocessor.

Closes #214
2019-02-23 10:37:16 +01:00
E. Westbrook
5858c8e776 src/makefile: support both lua/$(LUAV) and lua$(LUAV) include paths 2019-02-22 16:16:03 -07:00
E. Westbrook
686f2ce822 http.lua: if default for scheme, omit port number in "Host:" header 2019-02-20 02:42:40 -07:00
Diego Nehab
144fa01c2f
Merge pull request #264 from ewestbrook/freebsd-unix-bind-connect
src/unixdgram.c: fix connect() and bind() on FreeBSD
2019-02-19 16:08:47 -03:00
E. Westbrook
024646de54 Use SUN_LEN macro 2019-02-19 10:05:10 -07:00
E. Westbrook
531012df1a src/unixdgram.c: allow connect() and bind() on freebsd without dummy char, and simplify calculations 2019-02-19 04:51:23 -07:00
E. Westbrook
d1e35c9573 src/makefile: define UNIX_HAS_SUN_LEN for FreeBSD builds 2019-02-19 04:02:37 -07:00
Diego Nehab
288219fd6b Update to Visual Studio 2017. 2018-08-22 17:37:32 -03:00
E. Westbrook
043e997713 url.lua:remove_dot_components(): avoid ambiguous numeric representation as empty-path-segment marker 2018-08-21 12:43:30 -06:00
E. Westbrook
ca5398be09 url.lua:remove_dot_components(): use temporary NUL marker to reduce empty-segment special-case code 2018-08-21 12:17:12 -06:00
E. Westbrook
38d936ec0e url.lua:remove_dot_components(): empty path component double-dot corner case 2018-08-21 11:27:42 -06:00
E. Westbrook
5b862e6a3c url.lua:absolute_path(): ensure a separator between base_path and relative_path 2018-08-21 10:43:04 -06:00
E. Westbrook
7ccea58776 url.lua:remove_dot_components(): avoid overconsuming dot segments 2018-08-21 09:59:45 -06:00
E. Westbrook
c570a32c21 url.lua:remove_dot_components(): limit beginning-of-string double-dot corner case to prevent triple-dot activation and authority collision 2018-08-21 09:07:42 -06:00
E. Westbrook
c905b5d44f url.lua: separate remove_dot_components() from absolute_path(); also use in _M.absolute() even when not merging 2018-08-21 08:03:51 -06:00
E. Westbrook
17a95c126a url.lua:absolute_path(): fix issue #254, simplify, add more test cases 2018-08-19 11:32:42 -06:00
Joris Clement
9b82c7871d Fix gcc-8.1.0 warning. 2018-08-06 15:30:13 +02:00
Diego Nehab
4df569e9f8
Merge pull request #250 from ewestbrook/testudata-compat
Update auxiliar.c to use luaL_testudata (#249), now with Lua 5.1 compatibility
2018-06-05 10:54:55 -03:00
E. Westbrook
8fee636309 Add ltn12.source.table() 2018-06-05 00:00:39 -06:00
E. Westbrook
5848de4851 src/compat.c: provide luaL_testudata() for use by auxiliar.c under Lua 5.1 2018-06-04 20:14:13 -06:00
George Zhao
e1e41be948
Update auxiliar.c 2018-06-03 20:08:02 +08:00
xyida
4a3504612c Fixed an issue that was mistaken for HTTP 0.9 when timeout 2018-04-26 16:39:33 +08:00
surenyi
97bfe1e043 add options:
get/set : recv-buffer-size
get/set : send-buffer-size

Signed-off-by: surenyi <surenyi82@163.com>
2018-03-25 14:58:10 +08:00
E. Westbrook
72fb9dcb49 src/options.c: increase buffer from 45 to 57, to accommodate string sizes specified (detected by gcc7's -Wstringpop-overflow) 2017-12-22 16:57:20 -07:00
Herbert Leuwer
2d6a0f7bda fixed url parsing; postpone fragment parsing after authority parsing; added test cases to test/urltest.lua
fixed reference patterns in check_protect() to upper case hex letters
2017-11-22 09:30:12 +01:00
Herbert Leuwer
3ee89515a0 fixed URL parsing in url.lua: parse fragment after parsing username and password. 2017-11-19 19:48:37 +01:00
Pieter De Gendt
053c032a70 mime.lua: Obsolete require("io")
The `io` package is included but never used.
2017-09-04 10:26:11 +02:00
Elliptica
aef7bcf288 Fix typo 2017-04-17 18:47:48 +03:00
Diego Nehab
ff1a447b4d Merge pull request #210 from Lord-Helmchen/patch-1
make protect_segment in url.lua rfc compliant
2017-03-20 17:01:30 -03:00
Diego Nehab
47e644031f Preserve path when parsing urls. 2017-03-20 16:56:15 -03:00
Diego Nehab
1b4debffee Fix issue #196 2017-03-20 15:50:47 -03:00
LordHelmchen
44fb9e9112 correct typo 2017-03-16 17:53:02 +01:00
François Perrad
16bb548746 fix for Lua 5.3 built without number / string conversion
This kind of Lua could be built with this command:
```
    hererocks --lua 5.3 --cflags="-DLUA_NOCVTN2S -DLUA_NOCVTS2N"
```
2017-03-16 16:57:17 +01:00
LordHelmchen
860da0f4b4 make protect_segment in url.lua rfc compliant
percent-encode uppercase
see https://tools.ietf.org/html/rfc3986#section-6.2.2
2017-03-16 16:33:28 +01:00
Courtney Bane
ea0064625b Add backwards compatibility wrappers for socket.unix
Add backwards compatibility aliases "tcp" and "udp" for the recently renamed
"stream" and "dgram" functions, as well as a wrapper function and metatable
setup so that socket.unix() calls socket.unix.stream().
2017-01-25 18:04:35 -06:00
Natanael Copa
3041a808c3 Create socket on first sendto if family agnostic udp() was used
Create socket and set family on first sendto() if udp() was created
without address family.

Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
2017-01-25 12:52:56 +01:00
enginix
3a33c37b9c rename unix.tcp to unix.stream, unix.udp to unix.dgram 2016-12-25 23:33:10 +08:00
Mike Usenko
cd1e52eb7a allow DESTDIR to be set from the environment 2016-11-08 22:07:20 +03:00
enginix
2205c2053c add getsockname api for unix {udp,tcp} socket 2016-07-22 22:52:13 +08:00
enginix
c87f953d81 fix unixudp object checking issue 2016-07-04 16:38:37 +08:00
enginix
9f77f8b24f unix socket: compat lua 5.1 2016-06-30 15:40:51 +08:00
enginix
aa1b8cc9bc support datagram unix domain sockets 2016-06-24 21:33:19 +08:00
Diego Nehab
e2acf378ea Merge pull request #171 from JonasKunze/feature/overwriteFlags
Enabled overwriting of MYCF/MYLDFlAGS
2016-04-12 09:29:14 -03:00
Jonas Kunze
624924a77b Enabled overwriting of MYCF/MYLDFlAGS 2016-04-12 13:06:47 +02:00
Okash Khawaja
b9f6fd215a URL-decode user password before adding to authorization header. 2016-04-12 00:04:21 +01:00
Okash Khawaja
9984741d94 Update comments for url.unescape() function. 2016-04-12 00:01:51 +01:00
Diego Nehab
23ce5aeaa2 Hide ftp.PORT "constant" as a local 2016-03-07 01:33:08 -03:00
Diego Nehab
916b548240 Family agostic FTP and expose HTTP/FTP url parsing 2016-03-07 01:30:30 -03:00
Diego Nehab
5b4b915879 Remove global PORT. Fix https redirect. 2016-03-04 16:16:41 -03:00
Diego Nehab
944305dc21 Added gettimeout for completeness.
Also documented.
Rordered manuals so order is alphabetical.
2016-03-04 15:36:32 -03:00
Diego Nehab
cdce73b226 Added support for FTP command lists 2016-03-04 14:38:56 -03:00
Philipp Janda
4392bdcdd4 Always put metatable in first upvalue. 2016-02-24 00:57:42 +01:00
Philipp Janda
9fe38c654f Don't swallow errors in finalizers. 2016-02-24 00:48:43 +01:00
Philipp Janda
7cab8a5006 Update comment in except.h 2016-02-21 12:28:13 +01:00
Philipp Janda
d075e7322f Support table errors.
LuaSocket wraps error messages raised by newtry() in a table and unpacks
them later so that (string) errors raised by 3rd-party code can be
passed through as-is. This obviously didn't work when the 3rd-party code
raised a table as an error message. This change sets a private metatable
on all wrapped LuaSocket exceptions to distinguish them from 3rd-party
table errors.
2016-02-21 11:59:44 +01:00
Diego Nehab
bf13ec7fd4 Merge pull request #155 from JonasKunze/feature/solaris
Added Solaris platform
2016-02-11 11:02:58 -02:00
mpeterv
9192881346 Don't break global mbox table in mbox.split_mbox 2016-02-11 15:57:56 +03:00
mpeterv
52bb99af35 Fix sink method in tp module 2016-02-11 15:56:57 +03:00
mpeterv
700ece0721 Fix base_parsed global in url module 2016-02-11 15:54:59 +03:00
mpeterv
3c3a5d0011 Use base.select instead of just select 2016-02-11 15:53:53 +03:00
mpeterv
a7f21e8ec4 Fix error in ltn12 under Lua 5.3 2016-02-11 15:51:54 +03:00
Jonas Kunze
5d52ffedf4 Added solaris platform
To compile on solaris some libs had to be linked. So far I was only able
to test it on OmniOS r151006
2016-01-15 18:48:57 +01:00
Diego Nehab
83880dbed7 When zero-timeout, only try first address in connect. 2015-12-03 12:56:18 -02:00
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