On Tue, Mar 13, 2001 at 12:24:18PM +0700, Dani Matias wrote:
> silahkan baca lagi posting2 dari saya sebelumnya. *timeout* selalu
> saya hubungkan dengan "delay antara 1 pengiriman data dengan
> pengiriman selanjutnya".

Hmm.. saya kurang tahu bagaimana MDaemon secara internal, tapi, dalam
socket programming (baca: network programming), tidak akan pernah 1
data (byte) secara langsung dikirim (unbufferred), melainkan akan
'diletakkan' dulu dalam buffer, baru setelah buffer tsb. penuh, atau
menjalankan flush() data akan dikirim. Ini semua demi performance,
ingat unbufferred read/write pada suatu socket menyebabkan banyak
sekali system calls lebih dari yang dibutuhkan (baca: performa menurun).

Anyway, saya tidak akan menebak-nebak, ada baiknya yang mengerti soal
MDaemon bisa kasih konfirmasi.

>          o    DATA Initiation: 2 minutes
>               This is while awaiting the "354 Start Input" reply to a
>                       ^^^^^^^^^^^^^^
>               DATA command.
>          o    Data Block: 3 minutes 
>               This is while awaiting the completion of each TCP SEND
>                        ^^^^^^^^^^^^^^
>               call transmitting a chunk of data.
>  
>          o    DATA Termination: 10 minutes. 
>               This is while awaiting the "250 OK" reply. When the
>                       ^^^^^^^^^^^^^^

ok. di atas itu relevan untuk sender smtp (smtp client, yang
mengirim). tapi, baik juga dipahami untuk memahami bagaimana receiver
smtp (smtp server, yang menerima) harus bereaksi terhadap client.
Angka 3 digit adalah response dari server yang harus dibaca oleh
client setiap kali client issue *command*.

>          A receiver-SMTP SHOULD have a timeout of at least 5 minutes
>          while it is awaiting the next command from the sender.
>                      ^^^^^^^^^^^^^^^^^^^^^^^^^ 

Saya pikir ini sudah sangat jelas. yang ditunggu adalah *command* dan
*bukan* hanya bytes/chars. Apa yang dimaksud dengan command di sini.
Lebih jelas, silakan baca RFC821. Command di sini adalah: HELO/EHLO,
MAIL, RCPT, DATA, QUIT (dll). Kalau anda baca RFC821 dengan teliti,
anda akan melihat bahwa commands ini diberikan secara berurutan,
teratur, tidak boleh dibolak-balik (kecuali beberapa). Commands
inilah yang antara dua commands, ditetapkan 'timeout' seperti yang
disebutkan oleh RFC1123 ini.

Jadi:

HELO <fqdn>
..(tunggu sampai 1 hari)
MAIL FROM <adi@<fqdn>>
..(tunggu sampai sebulan)
..dst
..dst

> semua yg saya tandai itu (kata2 "while awaiting") artinya "selagi menunggu
> (yg berikutnya datang)" alias "delay".

Betul, tapi delay yang dimaksud adalah antara 2 commands (ini yang
saya dan Bung Syafril bilang sebagai session), bukan antara 2
transfer bytes seperti yang anda bilang dalam mail-mail sebelumnya.

Anyway, saya mulai mengerti dengan apa yang jadi masalah anda. Ini
berkaitan dengan spec yang harus dipenuhi sesudah client issue DATA.
Note: dalam fase ini, client akan 'tuli', tidak akan bisa mendengar
'response' apapun dari server. Jadi tinggal bagaimana server bereaksi
terhadap kondisi ini. Well, there is nothing we can do, about it,
sobat :-) Itulah SMTP.

Bisa saja, Arvel atau pembuat MTA lain menetapkan 'hard' timeout
limit (misalnya pakai setjmp() dan alarm(), tapi ini memberi
kemungkinan bahwa legitimate mail(s) akan gagal dikirim hanya karena
melalui batas waktu. Too bad, SMTP, berikut dengan segala
kelemahannya, didesign untuk melakukan transfer mail dengan baik dan
reliabel.

Note: meskipun pada fase sesudah DATA, yang ditunggu adalah 'chunk of
data'. Ini adalah data yang tersimpan di dalam buffer, sampai buffer
tersebut itu penuh atau client sengaja menjalankan flush(), atau anda
tekan tombol enter keyboard anda :-)

Salam,

P.Y. Adi Prasaja

-- 
--MDaemon-L----------------------------------------------------------
Milis ini untuk Diskusi antar pengguna MDaemon Mail Server.

Untuk menghubungi moderator/List Owner double click link dibawah ini:
   <mailto:[EMAIL PROTECTED]>
Untuk Unsubscribe, double click link dibawah ini langsung kirim
   <mailto:[EMAIL PROTECTED]>
Untuk Subscribe, double click link dibawah ini langsung kirim
  <mailto:[EMAIL PROTECTED]>
--POWERED BY MDAEMON!------------------------------------------------


Anda terdaftar di List ini dg alamat : [email protected]


Kirim email ke