SIEVE-DUMP(1) Dovecot SIEVE-DUMP(1)

sieve-dump - ابزار دامپ باینری اسکریپت Sieve در Pigeonhole

sieve-dump [گزینه‌ها] sieve-binary [out-file]

دستور sieve-dump بخشی از پروژه Pigeonhole (رجوع کنید به pigeonhole(7)) است که پشتیبانی از Sieve (RFC 5228) و ManageSieve (RFC 5804) را به Dovecot (رجوع کنید به dovecot(1)) می‌افزاید.

با استفاده از دستور sieve-dump، فایل‌های باینری Sieve که برای نمونه توسط sievec(1) تولید شده‌اند، می‌توانند به یک بازنمایی متنی و خوانا برای انسان تبدیل شوند. این امر بینش ارزشمندی درباره نحوه اجرای اسکریپت Sieve فراهم می‌کند. همچنین این ابزار به‌ویژه برای مشاهده باینری‌های آسیب‌دیده‌ای که ممکن است در اثر باگ‌های پیاده‌سازی Sieve به وجود آمده باشند، بسیار مفید است. این ابزار اساساً برای اهداف توسعه در نظر گرفته شده است، بنابراین مدیران سیستم و کاربران در شرایط عادی نیازی به استفاده از آن نخواهند داشت.

قالب خروجی در اینجا با جزئیات شرح داده نشده است، اما درک آن باید نسبتاً آسان باشد. باینری‌های Sieve از مجموعه‌ای از بلوک‌های داده تشکیل شده‌اند که هر یک می‌توانند حاوی داده‌های دلخواه باشند. برای پیاده‌سازی زبان پایه از دو بلوک استفاده می‌شود: بلوک نخست شامل مشخصات تمام افزونه‌های زبانی مورد نیاز است و بلوک دوم حاوی برنامه اصلی Sieve می‌باشد. برنامه‌های کامپایل‌شده Sieve به‌صورت بایت‌کد مسطح نمایش داده می‌شوند و بنابراین دامپ برنامه اصلی، فهرستی از دیس‌اسمبلی عملیات مفسر است. افزونه‌ها می‌توانند عملیات جدیدی تعریف کنند و از بلوک‌های اضافی بهره ببرند. از این رو، خروجی sieve-dump تا حد زیادی به افزونه‌های زبانی که هنگام کامپایل باینری به کار رفته‌اند بستگی دارد.

-c config-file

مسیر جایگزین برای فایل پیکربندی Dovecot.

-D

فعال‌سازی اشکال‌زدایی (دیباگ) Sieve.

-h

تولید خروجی هگز‌دامپ (hexdump) برای هر بلوک از کل باینری به جای خروجی متنی عادی و خوانا.

-o setting=value

تنظیم پیکربندی setting از فایل /etc/dovecot/dovecot.conf و از userdb را با مقدار داده‌شده value جایگزین می‌کند. به منظور بازنویسی چندین تنظیم، می‌توان گزینه -o را چندین بار مشخص کرد.

-u user/mask

اجرای command تنها برای کاربر مشخص‌شده user. همچنین امکان استفاده از نویسه‌های عام '*' و '?' وجود دارد (مانند -u *@example.org).

-x auth_info

شناسه auth_info شرایط اضافی را برای دستور user مشخص می‌کند. رشته گزینه auth_info باید به صورت جفت name = value داده شود. برای چندین شرط می‌توان گزینه -x را چندین بار ارائه کرد.

نام‌های مجاز برای auth_info عبارتند از:

service

سرویسی که جستجوی userdb برای آن باید آزمایش شود. مقدار می‌تواند نام سرویسی باشد که معمولاً با Dovecot به کار می‌رود؛ برای نمونه: imap، pop3 یا smtp.

session

شناسه نشست (Session).

lip

نشانی IP محلی (سرور) برای آزمایش.

rip

نشانی IP راه دور (کلاینت) برای آزمایش.

lport

پورت محلی، مثلاً 143

rport

پورت راه دور، مثلاً 24567

real_lip

نشانی IP محلی که کلاینت روی این میزبان به آن متصل شده است.

real_rip

نشانی IP راه دور که کلاینت از آنجا به این میزبان متصل شده است.

real_lport

پورت محلی که کلاینت روی این میزبان به آن متصل شده است.

real_rport

پورت راه دور که کلاینت از آنجا به این میزبان متصل شده است.

forward_<field>

فیلدی که باید به‌صورت %{forward:field} به فرایند احراز هویت (auth) فرستاده شود.

sieve-binary

فایل باینری Sieve که باید تخلیه و استخراج (دامپ) شود را مشخص می‌کند.

out-file

محل ذخیره خروجی را تعیین می‌کند. این آرگومان اختیاری است. در صورت حذف، خروجی در stdout نوشته می‌شود.

دستور sieve-dump با یکی از مقادیر زیر به کار خود پایان می‌دهد:

0

دامپ موفقیت‌آمیز بود. (EX_OK, EXIT_SUCCESS)

1

عملیات شکست خورد. این کد تقریباً برای تمام خطاها برگردانده می‌شود. (EXIT_FAILURE)

64

پارامتر نامعتبر داده شده است. (EX_USAGE)

/etc/dovecot/dovecot.conf

فایل پیکربندی اصلی Dovecot.

/etc/dovecot/conf.d/90-sieve.conf

تنظیمات مفسر Sieve (واردشده از فایل پیکربندی اصلی Dovecot).

گزارش باگ‌ها، شامل خروجی doveconf -n را به فهرست ایمیل Dovecot به نشانی ⟨dovecot@dovecot.org⟩ ارسال کنید. اطلاعات درباره نحوه گزارش باگ‌ها در این نشانی در دسترس است: ⟨https://dovecot.org/bugreport.html⟩

dovecot(1), dovecot-lda(1), sieve-filter(1), sieve-test(1), sievec(1), pigeonhole(7)

May 2026 e5ac02a