Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Alexander Ogol                       2:5020/400     19 Apr 2003  02:08:35
 To : All
 Subject : Re: ifmail MSGID не совпадают
 -------------------------------------------------------------------------------- 
 
 >>>>> "SO" == Serg Oskin writes:
 
 [kham-kham-kham....argh....]
 
  SO> Hеправильный: Заставить свою читалку/писалку генерить Message-ID, в котором
  SO> перед @ только цифры (int32). Я по ленности пошел по этому пути, правда
  SO> правил не читалку, а inn (патч есть в комплекте ifmail-os). :)
 
 кстати, кому надо в gnus генерить такой Message-Id (и не хочется патчить
 сервер :)), можно вот что добавить в .gnus
 
 --8<---------------cut here---------------start------------->8---
 (defun message-unique-id ()
   (setq message-unique-id-char
         (% (1+ (or message-unique-id-char (logand (random t) (1- (lsh 1 20)))))
            (* 25 25)))
   (let ((tm (current-time)))
     (concat
      (message-number-base10 (+ (car tm)
                                (lsh (% message-unique-id-char 25) 16)) 4)
      (message-number-base10 (+ (nth 1 tm)
                                (lsh (/ message-unique-id-char 25) 16)) 4)
      )))
 
 (defun message-number-base10 (num len)
   (if (if (< len 0)
           (<= num 0)
         (= len 0))
       ""
     (concat (message-number-base10 (/ num 10) (1- len))
             (char-to-string (aref "9876543210"
                                   (% num 10))))))
 
 --8<---------------cut here---------------end--------------->8---
 
 по сравнению с оригинальным message-id:
 1. Все генерируется в 10-ной системе вместо 16-чной
 2. Hе используется user-id, которое return the effective uid of Emacs.
    Hадеюсь, это не создаст проблем с уникальностью message-id.
    Раньше первым аргументом concat был
      (if (memq system-type '(ms-dos emx vax-vms))
          (let ((user (downcase (user-login-name))))
            (while (string-match "[^a-z0-9_]" user)
              (aset user (match-beginning 0) ?_))
            user)
        (message-number-base10 (user-uid) -1))
    (см. исходники)
 3. Убрано доклеивание .fsf в конце.
 
 -- 
 Sincerely yours, Alexander Ogol, happy GNU/Linux user.
 --- ifmail v.2.15dev4
  * Origin: ProphySoft (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: ifmail MSGID не совпадают   Kirill Frolov   17 Apr 2003 08:44:26 
 Re: ifmail MSGID не совпадают   Andrey Slusar   21 Apr 2003 01:49:38 
 Re: ifmail MSGID не совпадают   Serg Oskin   18 Apr 2003 10:31:46 
 Re: ifmail MSGID не совпадают   Slava Gorbanev   19 Apr 2003 01:00:04 
 Re: ifmail MSGID не совпадают   Alexander Ogol   19 Apr 2003 03:23:43 
 Re: ifmail MSGID не совпадают   Alexander Ogol   19 Apr 2003 02:08:35 
 Re: ifmail MSGID не совпадают   Andrey Slusar   21 Apr 2003 01:49:38 
Архивное /ru.linux/133596f55733f.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional