mirror of
https://github.com/lunarmodules/luasocket.git
synced 2024-12-26 04:28:20 +01:00
103 lines
2.6 KiB
Plaintext
103 lines
2.6 KiB
Plaintext
write some utilities that use the code.lua module and put them
|
|
in etc, modify the README.etc file and makefile.dist (eol.lua is done)
|
|
|
|
check for interrupt compliance
|
|
add connect with timeout
|
|
add gethostname and use it in HTTP, SMTP etc, and add manual entry.
|
|
add thanks for cassino and david burgess
|
|
|
|
add local connect, and manual entry
|
|
|
|
add shutdown manual entry
|
|
|
|
only allocate in case of success
|
|
only call select if io fails...
|
|
Proxy support pro http
|
|
|
|
make REUSEADDR an option...
|
|
|
|
make sure modules know if their dependencies are there.
|
|
_
|
|
one thing i noticed in usocket.c is that it doesn't check for EINTR
|
|
after write(), sendto(), read(), recvfrom() etc. ? the usual trick is
|
|
to loop while you get EINTR:
|
|
|
|
do
|
|
ret = write(...);
|
|
while(ret < 0 && errno == EINTR)
|
|
|
|
|
|
Read about
|
|
|
|
250-ENHANCEDSTATUSCODES
|
|
250-PIPELINING
|
|
250-8BITMIME
|
|
250-SIZE
|
|
250-DSN
|
|
250-ETRN
|
|
250-AUTH GSSAPI
|
|
250-DELIVERBY
|
|
250 HELP
|
|
|
|
Change return of send and receive callbacks to allow for
|
|
new functions. "" signals end of transmission. Pass total
|
|
number of bytes in request table for HTTP. Callback has nothing
|
|
to do with it.
|
|
|
|
Make sure nobody can fuck up with the metatables...
|
|
|
|
Create a passive mode option for the FTP (good for firewall).
|
|
|
|
Use environments in module definitions or declare all local and create the
|
|
function with exported symbols later?
|
|
|
|
local P = {}
|
|
complex = P
|
|
setfenv(1, P)
|
|
|
|
Modules should return their namespace table in the end of the chunk.
|
|
|
|
Adjust dates in all files
|
|
|
|
Test the library on every system possible
|
|
|
|
Document socket.time and socket.sleep
|
|
|
|
Implement time critical stuff from code module in C.
|
|
Add service name translation.
|
|
|
|
Ajeitar o protocolo da luaopen_socket()... sei lá qual é.
|
|
|
|
- testar os options!
|
|
- adicionar exemplos de expansão: pipe, local, named pipe
|
|
|
|
* add shutdown
|
|
* change send/recv to avoid using select
|
|
* O location do "redirect" pode ser relativo ao servidor atual (não pode,
|
|
mas os servidores fazem merda...)
|
|
* Ajeitar para Lua 5.0
|
|
* Padronizar os retornos de funccao
|
|
* Separar as classes em arquivos
|
|
* Retorno de sendto em datagram sockets pode ser refused
|
|
* Fazer compilar com g++
|
|
|
|
- Thread-safe
|
|
- proteger gethostby*.* com um mutex GLOBAL!
|
|
- proteger ou atomizar o conjunto (timedout, receive), (timedout, send)
|
|
- inet_ntoa também é uma merda.
|
|
- SSL
|
|
|
|
- checar operações em closed sockets
|
|
- checar teste de writable socket com select
|
|
|
|
|
|
- checar todos os metodos
|
|
- checar options em UDP
|
|
- checar todas as globais
|
|
- checar os metodos virtuais
|
|
- checar garbage collection
|
|
|
|
- unix 92 bytes maximo no endereço, incluindo o zero
|
|
- unix 9216 maximo de datagram size
|
|
|