TCP_TABLE(5) File Formats Manual TCP_TABLE(5)

tcp_table - پروتکل جستجوی جدول کلاینت/سرور Postfix

postmap -q "string" tcp:host:port
postmap -q - tcp:host:port <inputfile


سیستم ایمیل Postfix از جدول‌های اختیاری برای بازنویسی نشانی یا مسیریابی ایمیل استفاده می‌کند. این جدول‌ها معمولاً در قالب‌های lmdb:، cdb:، hash: یا dbm: هستند.

در روش جایگزین، جستجوهای جدول می‌توانند به یک سرور TCP هدایت شوند. برای آزمایش جدول‌های جستجو، از دستور "postmap -q" همان‌گونه که در بخش خلاصه دستور در بالا شرح داده شده استفاده کنید.

کلاس نگاشت TCP پروتکلی بسیار ساده را پیاده‌سازی می‌کند: کلاینت یک درخواست ارسال می‌کند و سرور یک پاسخ می‌فرستد. درخواست‌ها و پاسخ‌ها به‌صورت یک خط متنی ASCII و خاتمه‌یافته با نویسه خط جدید ASCII ارسال می‌شوند. پارامترهای درخواست و پاسخ (به زیر مراجعه کنید) با فاصله خالی (whitespace) از یکدیگر جدا می‌شوند.

عملیات ارسال و دریافت باید ظرف ۱۰۰ ثانیه تکمیل شوند.

پروتکل tcp_table تنها از درخواست lookup پشتیبانی می‌کند. درخواست قالب زیر را دارد:

جستجوی داده تحت کلید مشخص‌شده.

سیستم Postfix کلیدهای جستجوی ناقص مانند نام‌های دامنه بدون یک یا چند زیردامنه، نشانی‌های شبکه بدون یک یا چند بایت کم‌ارزش (least-significant octets)، یا نشانی‌های ایمیل بدون بخش محلی (localpart)، پسوند نشانی یا بخش دامنه تولید نخواهد کرد. این رفتار در جدول‌های cidr:، pcre: و regexp: نیز دیده می‌شود.

هر پاسخ یک کد وضعیت و یک متن را مشخص می‌کند. پاسخ‌ها نباید بیش از ۴۰۹۶ نویسه با احتساب پایان‌دهنده خط جدید باشند.

500 SPACE text NEWLINE
در مورد یک درخواست lookup، داده مورد درخواست وجود ندارد. متن، ماهیت مشکل را شرح می‌دهد.
400 SPACE text NEWLINE
این وضعیت نشان‌دهنده شرایط خطا است. متن، ماهیت مشکل را شرح می‌دهد. کلاینت باید بعداً درخواست را دوباره امتحان کند.
200 SPACE text NEWLINE
درخواست موفقیت‌آمیز بود. در مورد یک درخواست lookup، متن حاوی نسخه کدگذاری‌شده داده‌های مورد درخواست است.

در پارامترهای درخواست و پاسخ، نویسه %، هر نویسه غیرقابل‌چاپ و هر نویسه فاصله خالی باید با %XX جایگزین شود، که در آن XX مقدار نویسه هگزادسیمال ASCII متناظر است. کدهای هگزادسیمال می‌توانند با هر اندازه‌ای (بزرگ، کوچک، ترکیبی) مشخص شوند.

کلاینت Postfix همیشه یک درخواست را کدگذاری می‌کند. سرور می‌تواند از کدگذاری صرف‌نظر کند به شرطی که تضمین شود پاسخ شامل نویسه % یا NEWLINE نیست.

از جدول‌های جستجوی TCP برای اهداف حساس امنیتی استفاده نکنید. اتصال کلاینت-سرور محافظت‌نشده است و هویت سرور اعتبارسنجی نمی‌شود.


در حال حاضر تنها روش lookup پیاده‌سازی شده است.

زمانی که اتصال برای مدت طولانی بیکار باشد، کلاینت ارتباط را قطع نمی‌کند.

postmap(1), مدیر جدول جستجوی Postfix
regexp_table(5), قالب جدول‌های عبارات منظم
pcre_table(5), قالب جدول‌های PCRE
cidr_table(5), قالب جدول‌های CIDR

از "postconf readme_directory" یا "postconf html_directory" برای یافتن این اطلاعات استفاده کنید.

DATABASE_README, نمای کلی جدول جستجوی Postfix

مجوز Secure Mailer باید همراه این نرم‌افزار توزیع شود.

Wietse Venema
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA
Wietse Venema
Google, Inc.
111 8th Avenue
New York, NY 10011, USA