mirror of
https://github.com/lunarmodules/luasocket.git
synced 2024-12-26 04:28:20 +01:00
888496aa82
SMTP connection oriented working. ltn12 improved.
150 lines
4.5 KiB
Plaintext
150 lines
4.5 KiB
Plaintext
* should be interrupt-safe
|
|
* notice the change in callback conventions
|
|
* new mime module replacing old code module (faster, more functionality)
|
|
* new socket options (many)
|
|
* only allocate in case of success
|
|
* optimize for success (only call select if fails)
|
|
* add proxy support to http
|
|
* add gethostname
|
|
* local connect
|
|
* connect with timeout
|
|
* change code to mime
|
|
* change stay to redirect
|
|
* 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
|
|
* select sets are now associative
|
|
|
|
colocar pump.all, pump.step e pump.simplify.
|
|
mudar ltn12.html e usar o exemplo source.cat que está muito melhor.
|
|
|
|
break smtp.send into c = smtp.open, c:send() c:close()
|
|
|
|
falar sobre encodet/wrapt/decodet no manual sobre mime
|
|
|
|
|
|
RECEIVE MUDOU!!! (partial stuff) COLOCAR NO MANUAL.
|
|
HTTP.lua mudou bastante também.
|
|
|
|
fazer com que a socket.source e socket.sink sejam "selectable".
|
|
|
|
change mime.eol to output marker on detection of first candidate, instead
|
|
of on the second. that way it works in one pass for strings that end with
|
|
one candidate.
|
|
|
|
colocar um userdata com gc metamethod pra chamar sock_close (WSAClose);
|
|
sources ans sinks are always simple in http and ftp and smtp
|
|
unify backbone of smtp and ftp
|
|
expose encode/decode tables to provide extensibility for mime module
|
|
use coroutines instead of fancy filters
|
|
unify filter and send/receive callback. new sink/source/pump idea.
|
|
get rid of aux_optlstring
|
|
wrap sink and sources with a function that performs the replacement
|
|
get rid of unpack in mime.lua
|
|
|
|
check garbage collection in test*.lua
|
|
pop3???
|
|
|
|
break chain into a simpler binary chain and a complex (recursive) one.
|
|
|
|
add socket.TIMEOUT to be default timeout?
|
|
|
|
manual
|
|
add socket.connect and socket.bind to the manual
|
|
say what a nil callback does for http
|
|
check all occurences of it's
|
|
- add shutdown
|
|
- add gethostname
|
|
the need of a content-length header in the post method...
|
|
notice the change in callback conventions
|
|
the callback.lua module and the new mime module.
|
|
escape and unescape in url, not in code!
|
|
add timeout and proxy to request table
|
|
change stay to redirect
|
|
socket.time and socket.sleep
|
|
- connect with timeout
|
|
local connect
|
|
add thanks to 'carlos cassino' and 'david burgess'
|
|
add new ip- options and reuseaddr option
|
|
- add listen to manual
|
|
bind method doesn't do listen anymore
|
|
bind doesn't turn an object into a server object: listen does.
|
|
|
|
tests
|
|
checar todos os metodos
|
|
checar todas as globais
|
|
checar garbage collection
|
|
check for interrupts
|
|
|
|
wrp can't break lines in the middle of a line break.
|
|
call select before accept, not after, dumbass!
|
|
get rid of setnonblocking/setblocking in the bind function
|
|
close has to block...
|
|
fmt is not a good name
|
|
change wrap() to accept a number and default to "character"
|
|
move gethostname to dns table
|
|
get rid of _cb in name of functions?
|
|
trust character constants in mime.c? noooooo.
|
|
smtp.lua needs stuff filter
|
|
|
|
add comments into each C module.
|
|
new option.c module to put all options (TCP and UDP share...)?
|
|
testar os options!
|
|
add _tostring methods!
|
|
change all modules to use the new namespace scheme
|
|
|
|
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)
|
|
|
|
use gethostname it in SMTP
|
|
|
|
make sure modules know if their dependencies are there.
|
|
|
|
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).
|
|
|
|
Modules should return their namespace table in the end of the chunk.
|
|
|
|
Adjust dates in all files
|
|
|
|
Test the library on every system possible
|
|
|
|
Add service name translation.
|
|
Ajeitar o protocolo da luaopen_socket()... sei lá qual é.
|
|
|
|
|
|
- adicionar exemplos de expansão: pipe, local, named pipe
|
|
|
|
|
|
- Fazer compilar com g++
|
|
- Thread-safe
|
|
- proteger get*by*.* com um mutex GLOBAL!
|
|
- proteger ou atomizar o conjunto (timedout, receive), (timedout, send)
|
|
- inet_ntoa também é uma merda.
|
|
- SSL
|
|
|
|
- unix 92 bytes maximo no endereço, incluindo o zero
|
|
- unix 9216 maximo de datagram size
|