aboutsummaryrefslogtreecommitdiff
path: root/TODO
blob: b24f9e5cc92d5b100ebf4c1e46b1a57e9beec000 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
manual
    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

tests
    checar todos os metodos
    checar todas as globais
    checar garbage collection
    check for interrupts

trust character constants in mime.c? noooooo.
smtp.lua needs stuff filter

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

* 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

- 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

- unix 92 bytes maximo no endereço, incluindo o zero
- unix 9216 maximo de datagram size