cheusov / dictd

Client/server software, human language dictionary databases, and tools supporting the DICT protocol (RFC 2229)
71 stars 10 forks source link

Support OPTION MIME problem #4

Open Michahel opened 6 years ago

Michahel commented 6 years ago

I created a dictionary that consists of two modules: with Plain Text content (heb-eng_strong.tar.gz) and with MIME content (heb-eng_strong__mime.tar.gz). I configured dictd to support OPTION MIME in this dictionary. I make a search query:

dict -M 01647

I get the answer:

From [*]:

Content-type: text/html; charset=utf-8 Content-transfer-encoding: 8bit

...

Should be:

From Online Bible Hebrew Lexicon (English) [heb-eng_strong]:

Content-type: text/html; charset=utf-8 Content-transfer-encoding: 8bit

...

It's possible that this is some kind of bug in dictd.

How to reproduce the problem

This problem can be reproduced only when used together with the dictionary heb-rus_strong, consisting of two modules: with Plain Text content (heb-rus_strong.tar.gz) and with MIME content (heb-rus_strong__mime.tar.gz). Add the following lines to the Database section of the dictd.conf file (located in the /etc/dictd directory):

database heb-rus_strong__nomime  {
   data  /usr/share/dictd/dictmime/heb-rus_strong.dict.dz
   index /usr/share/dictd/dictmime/heb-rus_strong.index

   invisible # optional
}
database heb-rus_strong__mime  {
   data  /usr/share/dictd/dictmime/heb-rus_strong__mime.dict.dz
   index /usr/share/dictd/dictmime/heb-rus_strong__mime.index

   invisible # optional
}
database_mime heb-rus_strong {
   dbname_mime   "heb-rus_strong__mime"
   dbname_nomime "heb-rus_strong__nomime"
}

database heb-eng_strong__nomime  {
   data  /usr/share/dictd/dictmime/heb-eng_strong.dict.dz
   index /usr/share/dictd/dictmime/heb-eng_strong.index

   invisible # optional
}
database heb-eng_strong__mime  {
   data  /usr/share/dictd/dictmime/heb-eng_strong__mime.dict.dz
   index /usr/share/dictd/dictmime/heb-eng_strong__mime.index

   invisible # optional
}
database_mime heb-eng_strong {
   dbname_mime   "heb-eng_strong__mime"
   dbname_nomime "heb-eng_strong__nomime"
}

After you finish editing the dictd.conf configuration file, you must restart the DICT server:

     sudo /etc/init.d/dictd restart

After server overloading:

dict -M 01647