88171.net

Postfix キューIDの桁数

熊さんに書いとけ言われたので。

まず結論

キューIDの桁数は固定ではない。

一見すると10桁なことが多いけど、11桁なこともあるし、9桁なこともあるかも。

裏付け

※2.6.5前提。

src/global/mail_queue.c: mail_queue_enter()

    380         vstring_sprintf(id_buf, "%05X%s", (int) tp->tv_usec, file_id);
    381         mail_queue_path(path_buf, queue_name, STR(id_buf));

file_id は一時ファイルのinode番号の文字列表現。

src/global/file_id.c: get_file_id()

     66     if (fstat(fd, &st) < 0)
     67         msg_fatal("fstat: %m");
     68     vstring_sprintf(result, "%lX", (long) st.st_ino);
     69     return (vstring_str(result));

というわけで id_buf は、inode番号の大小に応じて桁数不定っぽい。