Commit Graph

449 Commits

Author SHA1 Message Date
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
Diego Nehab
bce1cb30d8 More adjustments/bugfixes. 2004-06-21 06:07:58 +00:00
Diego Nehab
f7579db9e8 Fixing bugs... 2004-06-20 22:19:54 +00:00
Diego Nehab
5dc5c3ebe8 tiny bug... 2004-06-19 16:35:43 +00:00
Diego Nehab
7ed89c97f7 2.0 alpha RELEASED! 2004-06-18 21:41:44 +00:00
Diego Nehab
ac4aac0909 Implemented safe exceptions. This looks preeety good. 2004-06-18 08:02:09 +00:00
Diego Nehab
07dda08c5d Changed the return of the send function... 2004-06-17 23:08:56 +00:00
Diego Nehab
597a062b1b Almost ready for distribution... 2004-06-17 21:46:22 +00:00
Diego Nehab
613534c795 smtp.c was eatten by mime.c 2004-06-17 06:23:13 +00:00
Diego Nehab
80b7acea2e Compiled and tested on Windows... 2004-06-17 00:18:48 +00:00
Diego Nehab
9fc682a106 HTTP now has only one function. 2004-06-16 22:51:04 +00:00
Diego Nehab
574708380f Simplified HTTP module. 2004-06-16 21:56:23 +00:00
Diego Nehab
0a4c1534f3 Still work to do in the manual... 2004-06-16 04:28:21 +00:00
Diego Nehab
d46f7a09a7 Fixed smtp.lua loading.
Adjusted tftp module.
Added some comments.
2004-06-16 01:02:07 +00:00
Diego Nehab
680473dd32 Runs on Linux. 2004-06-15 20:05:23 +00:00
Diego Nehab
58096449c6 Manual is almost done. HTTP is missing.
Implemented new distribution scheme.
Select is now purely C.
HTTP reimplemented seems faster dunno why.
LTN12 functions that coroutines fail gracefully.
2004-06-15 06:24:00 +00:00
Diego Nehab
9ed7f955e5 Só pra não perder se der merda. 2004-06-04 15:15:45 +00:00
Diego Nehab
8841e0f3c1 Updated projects for windows to generate dlls. 2004-05-30 23:23:05 +00:00
Diego Nehab
5ca1049ab4 Fine tuning the "require" business. 2004-05-30 21:36:22 +00:00
Diego Nehab
c23240726e Changed require"luasocket" to require"socket". 2004-05-28 20:40:13 +00:00
Diego Nehab
6c565dd7c0 Almost there. 2004-05-28 07:47:41 +00:00
Diego Nehab
84f03fda7c Previous bug fix caused a new bug. :o/ 2004-05-28 07:38:12 +00:00
Diego Nehab
c98dc99199 Bug feioso no UDP e possivelmente no TCP também. 2004-05-28 07:24:43 +00:00
Diego Nehab
694edcc3c1 Committing with require. 2004-05-28 06:16:43 +00:00
Diego Nehab
bf738a0336 Working with in the manual. 2004-05-26 04:58:32 +00:00
Diego Nehab
5c13076f89 Have to check retr or stor command result before accepting data connection. 2004-05-25 05:49:07 +00:00
Diego Nehab
888496aa82 FTP low-level working.
SMTP connection oriented working.
ltn12 improved.
2004-05-25 05:27:44 +00:00
Diego Nehab
4fc164b8ea Releasing LTN012. 2004-05-19 07:07:11 +00:00
Diego Nehab
d92132e87a complicated bug in ltn12.filter.chain... 2004-04-01 07:32:53 +00:00
Diego Nehab
e5a090b01c Using socket pumps in http.lua.
Adjusted socket.try.
2004-03-26 06:05:20 +00:00
Diego Nehab
e77f179200 Adjusted some of the broken examples. 2004-03-26 00:18:41 +00:00
Diego Nehab
5b279bac9e Settimeout wasn't returning 1...
http.lua is even cleaner. No trash in respt table.
2004-03-22 07:45:07 +00:00
Diego Nehab
1fa65d89ca Adjusted some details, got rid of old files, added some new. 2004-03-22 04:15:03 +00:00
Diego Nehab
4919a83d22 Changed receive function. Now uniform with all other functions. Returns nil
on error, return partial result in the end.

http.lua rewritten.
2004-03-21 07:50:15 +00:00
Diego Nehab
2a14ac4fe4 Adjusted some fine details. 2004-03-19 06:14:56 +00:00
Diego Nehab
e896454e6c Seems to be working. 2004-03-19 05:04:03 +00:00
Diego Nehab
2c160627e5 Message source in smtp.lua is a work of art. 2004-03-18 07:01:14 +00:00
Diego Nehab
bcc0c2a9f0 New filter scheme.
ltn12 and mime updated.
smtp/ftp broken.
2004-03-16 06:42:53 +00:00
Diego Nehab
b6edaac284 Bug in mime.c initialization. Popping too much. 2004-02-12 04:21:34 +00:00
Diego Nehab
390846b640 Added ltn12 module. Modified mime to be stand alone.
Still crashes on invalid input. Dunno why.
2004-02-11 03:31:53 +00:00
Diego Nehab
0b2542d1a6 Worked on the manual.
Implemented stuffing (needs test)
Added cddb and qp examples.
2004-02-04 14:29:11 +00:00
Diego Nehab
62a4c505e4 Working on the manual...
Making better tests for error messages.
Changed a few names.
Moved gethostname to inet.c.
2004-01-24 02:47:24 +00:00
Diego Nehab
0c9f420a35 New accept/connect code.
Better error checking.
Better tests.
__tostring implemented.
2004-01-24 00:18:19 +00:00
Diego Nehab
42e0e74487 Adjusted wsocket to match usocket. Adjusted windows projects. 2004-01-21 20:16:48 +00:00
Diego Nehab
195069cf5f Fixed functions that return messages in ?socket.c.
Moved complexity of connect and accept there.
Created a new options.c module to take care of options.
Auxiliar.c is now cleaner.
2004-01-21 18:40:52 +00:00
Diego Nehab
68d57dc931 Corrected connect in windows. Wasn't setting errno... 2004-01-21 01:28:32 +00:00
Diego Nehab
3a7ac1e043 Changed the naming convention of the mime module.
Looks beautiful.
2004-01-21 01:09:50 +00:00
Diego Nehab
3f1712ed48 Added gethostname.
Cleaned up TODO.
Moved luasocket specific stuff from auxiliar.c to luasocket.c
2004-01-19 18:22:51 +00:00
Diego Nehab
fbb42b80cb Seems to be working on windows and linux. 2004-01-19 16:18:31 +00:00
Diego Nehab
46d8f4eabe Changed to be able to compile with -ansi and -pedantic!
Have to try in MacOS X again...
2004-01-19 15:54:42 +00:00
Diego Nehab
f210508b22 Got rid of some of the typecasts... 2004-01-19 15:38:33 +00:00
Diego Nehab
32a3b93512 Added -ansi -pedantic and faced the consequences... 2004-01-19 06:07:17 +00:00
Diego Nehab
5b8d7dec54 Updated some of the callbacks in callback.lua.
Update get.lua to use the new callbacks.
The old "code" module is now the "mime" module.
Updated all modules that depended on it.
Updated url.lua to use the new namespace scheme, and moved the
    escape and unescape functions that used to be in the code.lua module
    to it, since these are specific to urls.
Updated the callback entries in the manual.
2004-01-19 05:41:30 +00:00
Diego Nehab
6ac82d50ee Added proxy support to http.lua
Changed callback.lua module, but need more work.
Added local connect support.
2004-01-19 00:24:41 +00:00
Diego Nehab
3ea9271126 Added new filter to code.c, to convert between line conventions. 2004-01-18 08:59:21 +00:00
Diego Nehab
50ce143725 Have to figure out how to test timeout on connect... kind of hard. 2004-01-18 06:41:43 +00:00
Diego Nehab
87e8737218 Fixed bug in accept, added tests for it and for connect with timeout. 2004-01-18 05:35:56 +00:00
Diego Nehab
51fcb5a7bd Still needs testing, but "worked" in Linux. 2004-01-18 00:18:56 +00:00
Diego Nehab
c8d58798f0 Trying to get connect-with-timeout to work. Darwin works... 2004-01-18 00:04:20 +00:00
Diego Nehab
02ef4e7daa Trying to get rid of EINTR problems... 2004-01-17 08:02:04 +00:00
Diego Nehab
076451c753 Tested in windows. Still needs more testing, but progress has been made. 2004-01-17 00:17:46 +00:00
Diego Nehab
89f3ecf782 http.lua updated. still needs proxy support.
code.lua updated. looks neat.
2004-01-16 07:06:31 +00:00
Diego Nehab
3febb302ad Killed a few bugs found by Tomas. 2003-11-27 00:30:54 +00:00
Diego Nehab
9bc4e0648a First version of generic SMTP code and of the base64 encoding.
Gonna rewrite the base64 stuff (found a better way).
2003-10-21 01:12:23 +00:00
Diego Nehab
6789b83ff5 Starting to use RCS in princeton again. Not behind a firewall anymore. 2003-08-31 00:58:07 +00:00
Diego Nehab
c51d4acf1c Adjusted a few inconsistencies with the manual. 2003-08-16 00:06:04 +00:00
Diego Nehab
3099704aff Made them independent of namespace. 2003-07-05 06:11:32 +00:00
Diego Nehab
167727be3c Bug in usocket_recv... 2003-06-30 06:10:02 +00:00
Diego Nehab
71f6bb60bf Finished implementation of LuaSocket 2.0 alpha on Linux.
Some testing still needed.
2003-06-26 18:47:49 +00:00
Diego Nehab
f330540576 Compiles and runs on linux and windows, using DLLs! 2003-06-11 01:42:18 +00:00
Diego Nehab
58bdb658aa Select re-implemented in a nicer way.
Few changes in internal class and group registration.
Lua modules are compiled and built into library.
Dynamic library tested in Linux and Mac OS X.
2003-06-09 18:23:40 +00:00
Diego Nehab
b2724ad2d1 New sock.h has nothing to do with class sock... 2003-05-25 01:56:46 +00:00
Diego Nehab
0f6c8d50a9 Porting to LUA 5.0 final 2003-05-25 01:54:13 +00:00
Diego Nehab
c1ef3e7103 Released luasocket-1.5-work! 2003-03-28 23:29:45 +00:00
Diego Nehab
335cdbf334 Compiled in SunOS 2003-03-28 22:14:06 +00:00
Diego Nehab
f18d1b7cd0 Closer to release... 2003-03-28 21:08:50 +00:00
Diego Nehab
cf4d923d70 Ported to Win32! 2003-03-21 01:07:23 +00:00
Diego Nehab
d3d4156ef9 Completed port to Lua 5.0-beta. 2003-03-20 23:11:25 +00:00
Diego Nehab
53857360bb Finish port to Lua 5. Everything is working fine.
Still doesn't work in Windows.
2003-03-20 00:24:44 +00:00
Diego Nehab
7da19138e3 Faltam testes de ftp e smtp. O resto passa. 2002-12-03 07:20:34 +00:00
Diego Nehab
d7e80592a6 Already compiling and running for Lua 5.0 (alpha) 2002-12-02 23:34:41 +00:00
Diego Nehab
0fc2302221 Initial revision 2002-07-08 21:55:01 +00:00
Diego Nehab
5b2a124305 Updated for Lua 4.1-w3. 2002-07-08 21:01:45 +00:00
Diego Nehab
60e7bf48b0 Updated for Lua 4.1-w3.
Dealing with 100 response codes.
2002-07-08 21:01:18 +00:00
Diego Nehab
c27087ca95 LuaSocket 1.5 (4.1w3) 2002-07-08 20:44:12 +00:00
Diego Nehab
cbffc42f29 Initial revision 2002-07-08 20:14:09 +00:00
Diego Nehab
46828c1a7d internet class. 2002-07-03 19:06:55 +00:00
Diego Nehab
88026bef8a Initial revision 2002-07-03 19:06:54 +00:00
Diego Nehab
9b8bce6465 select implementation. 2002-07-03 19:06:53 +00:00
Diego Nehab
b04b81ddd9 main module. just initializes other modules. 2002-07-03 19:06:52 +00:00
Diego Nehab
5a92c17d85 Corrigido bug no select. 2002-06-10 18:38:08 +00:00
Diego Nehab
8f05082f77 Initial revision 2002-03-27 18:00:00 +00:00
Diego Nehab
3bd99ec599 Initial revision 2002-03-22 20:07:43 +00:00
Diego Nehab
e2d21b237d Initial revision 2002-03-21 13:52:38 +00:00
Diego Nehab
29ce2303c8 return gsub... is not a nice ideia, since the thing returns several results. 2001-09-27 20:05:30 +00:00
Diego Nehab
164d33894e Removed wrong host header in redirect.
Passing location header back to callee after redirect.
Added correct scheme test.
2001-09-26 20:40:13 +00:00
Diego Nehab
84e503afe3 Changed some variable names.
Added correct scheme test.
2001-09-26 20:39:46 +00:00
Diego Nehab
ef5322a92a Changed build_url to compose from smaller parts
Changed build_path to add an option not to protect path components
2001-09-26 20:38:47 +00:00
Diego Nehab
6f02d1444b Almost ready for Lua 4.1 2001-09-26 20:31:59 +00:00
Diego Nehab
29ab78a74a HTTP.request was not returning response for body-less requests. 2001-09-18 20:22:59 +00:00
Diego Nehab
b73a66e635 Changed HTTP.get and HTTP.post to return status code instead of
status line information. Who cares about the rest of the line, anyways...
2001-09-18 18:41:01 +00:00
Diego Nehab
5b7d44e961 lua_socketlibopen now returns a result code.
Updated for LuaSocket 1.4.
2001-09-12 22:08:43 +00:00
Diego Nehab
d794e581ff lua_socketlibopen now returns a result code. 2001-09-12 22:07:08 +00:00
Diego Nehab
9546cd10ab Updated for LuaSocket 1.4.
Better tested, some name changes.
2001-09-12 18:27:55 +00:00
Diego Nehab
5c622071f9 Initial revision 2001-09-12 18:27:40 +00:00
Diego Nehab
480689a702 Updated for LuaSocket 1.4, following LTN7 etc.
Module is now automaticaly tested.
2001-09-12 18:16:31 +00:00
Diego Nehab
504ecdc0aa Simple HTTP functions can deal with table arguments also. 2001-09-12 18:16:09 +00:00
Diego Nehab
cb61077f7a Minor documentation changes.
Constants were moved to Public table.
Updated to use new fast concatenation module (concat.lua).
2001-08-07 19:50:04 +00:00
Diego Nehab
3143c58e0f Rewritten to comply to LTN7 (Modules & Packages).
As a result, there have been some API changes.
Parameter and return values are now passed inside tables.
Automatic redirection and automatic authentication are better controlled,
with loop detection.
Implementation is more RFCish, conforming to RFC2616.
URL parsing has been moved to an external library, to be shared with FTP.
2001-07-29 03:51:36 +00:00
Diego Nehab
0cc37c4b41 Timeout detection bug when timeout value was 0 in the select function. 2001-07-23 20:13:01 +00:00
Diego Nehab
c16b6d9312 LUASOCKET_API now prefixes all exported function declarations. 2001-06-19 19:31:22 +00:00
Diego Nehab
ce0ad4c6b6 debug code removed. 2001-06-11 18:15:49 +00:00
Diego Nehab
6fd40adc77 Removed some warnings. 2001-06-09 21:22:57 +00:00
Diego Nehab
8a8dfcdb72 Updated version information. 2001-06-08 22:45:55 +00:00
Diego Nehab
4456edcd0b udpsocket errors are more verbose 2001-06-08 22:36:30 +00:00
Diego Nehab
23dcfabcf1 Issue error when select is called with invalid parameters.
Some warnings removed (include string.h)
2001-06-08 22:22:37 +00:00
Diego Nehab
d684be0cff Block size increased. 2001-06-07 20:52:34 +00:00
Diego Nehab
c53ad62b00 Streaming by callbacks implemented. 2001-06-06 20:55:45 +00:00
Diego Nehab
77090c53fe Updated for 1.3b version. 2001-06-04 20:45:17 +00:00
Diego Nehab
791c9f3168 Select was also crashing on non-table parameters.
Changed time to _time and sleep to _sleep to avoid name clashes.
2001-06-04 20:44:39 +00:00
Diego Nehab
f1ae9db45e HTTP message bodies are transfered using a callback to return body parts
chunk by chunk.
2001-05-21 18:12:20 +00:00
Diego Nehab
8c6473577d Added support to UDP socket options. 2001-04-23 22:37:55 +00:00
Diego Nehab
561177a1dd Some internal functions were not static.
Correct select bug that would crash on closed sockets.
2001-04-16 19:56:33 +00:00
Diego Nehab
bd0bf45979 BUG: multi-line replies were not supported.
Error logic simplified.
2001-03-27 19:25:11 +00:00
Diego Nehab
f643710fa2 Found a new way to define global version of table methods using only ~15
lines of code. So, they are back.
Added '*w' word receive pattern.
2001-03-12 20:04:25 +00:00
Diego Nehab
27371883ef Removed global version of table methods.
Close method is now permitted on closed sockets.
Added generalized select support.
Removed poll method, replaced by select with advantage.
2001-03-06 19:03:10 +00:00
Diego Nehab
297576affa Updated for release 1.2.1
Buffer size constants are now part of luasocket.h.
2001-03-06 19:01:44 +00:00
Diego Nehab
159823e200 Added support for the CYGWIN gcc compiler. 2001-01-28 02:16:20 +00:00
Diego Nehab
a466bd5d42 Data connection is now passive. Even minimum FTP servers are usable. 2001-01-25 22:03:16 +00:00
Diego Nehab
bee46b39bf HTTP is now generic, with function http_request.
RFC is more strictly followed.
2001-01-25 22:01:37 +00:00
Diego Nehab
973295ba18 UDP code implemented.
DNS code has been rewritten.
Almost everything has been changed. :-)
2001-01-25 21:53:02 +00:00
Diego Nehab
84baa83864 The actuall bind to the Lua language has been rewritten with
generalized use of closure values. Sockets are now real tables,
where each method receives a p_sock structure as a closure.
Global version of methods are now optional, and call the table
versions.
Included the toip function that converts from host name to ip address.
new implementation of '*a' was broken as has been fixed.
The windows code has been tested and is working.
2001-01-15 04:16:35 +00:00
Diego Nehab
b40d2ba005 Included LUASOCKET_BUFFERSIZE and LUASOCKET_VERSION defines. 2001-01-13 07:11:44 +00:00
Diego Nehab
41643c2643 All input from sockets is now buffered. This has drastically
improved line I/O. The code is much simpler now, too. All
timeout management has been rewritten.
2001-01-13 07:10:00 +00:00
Diego Nehab
17c4d1c305 Initial revision 2000-12-29 22:15:09 +00:00
Diego Nehab
6f9d15b660 Simplified SIGPIPE treatment.
Changed some ints to size_ts.
2000-12-29 22:08:56 +00:00
Diego Nehab
df9a7e548f Added new receive pattern "*a"
Added new bind pattern "*" that binds to INADDR_ANY
bind now also returns the ip and port bound to.
2000-12-27 19:19:22 +00:00
Diego Nehab
d455d1707f Initial revision 2000-06-02 17:55:14 +00:00