Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
logcheck: Invalid or incomplete multibyte or wide character
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Russian
View previous topic :: View next topic  
Author Message
fank
l33t
l33t


Joined: 16 Oct 2004
Posts: 794
Location: Minsk, Belarus

PostPosted: Fri Sep 25, 2009 7:42 am    Post subject: logcheck: Invalid or incomplete multibyte or wide character Reply with quote

У меня на сервере работает logcheck, в настройках которого указан мэйлер mail
Code:
# which mail
/usr/bin/mail

Code:
# equery b /usr/bin/mail
[ Searching for file(s) /usr/bin/mail in *... ]
mail-client/nail-11.25-r3 (/usr/bin/mail -> /usr/bin/nail)


если сообщение содержит русские символы, то я вместо сообщения получаю такую ошибку
Quote:
Invalid or incomplete multibyte or wide character
. . . message not sent.
"//dead.letter" 21/3017

несколько раз погуглив, я так и не понял в чем суть проблемы
согласно мануалу nail:
Quote:

# Outgoing messages are sent in ISO-8859-1 if all their characters are
# representable in it, otherwise in UTF-8.
set sendcharsets=iso-8859-1,utf-8

Code:
# file /dead.letter
/dead.letter: UTF-8 Unicode text


Code:
# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=


собственно, на самом сервере поднят exim который только тем и занимается, что перенаправляет почту на основной почтовик, дабы письма никогда не падали в /dead.letter
в конфиге nail указано:
Code:
# Use the local sendmail (/usr/lib/sendmail) binary by default.
# (Uncomment the following line to use a SMTP server)
set smtp=localhost

сообщение отправляется кроном, и мне припоминается, что в данном случае крон просто теряет какие-то переменные окружения
есть ли у кого какие мысли по поводу происходящего и можно ли как-то в принципе предотвратить недоставку почты?
_________________
Слово „христианство“ основано на недоразумении; в сущности, был один христианин, и тот умер на кресте.
Back to top
View user's profile Send private message
fank
l33t
l33t


Joined: 16 Oct 2004
Posts: 794
Location: Minsk, Belarus

PostPosted: Fri Sep 25, 2009 8:18 am    Post subject: Reply with quote

к слову, nail уже переименовался в heirloom и последний changelog говорит следующее:
Quote:
* The values of the "sendcharsets" variable are now separately traversed
for each part of a multipart message, so that if e.g. the main body can
be represented in ISO-8859-1 but an attachment text needs UTF-8, these
two encodings will be chosen, respectively.

то есть по идее, он выбирал раньше кодировку единожды для тела и для аттача
а если logcheck отсылает такой командой
Code:
cat $TMPDIR/checkreport.$$ | $MAIL -s "$HOSTNAME $DATE ACTIVE SYSTEM ATTACK!" $SYSADMIN

считает ли nail это аттачем или нет?
согласно мануалу nail он отсылает аттач с ключиком -a
_________________
Слово „христианство“ основано на недоразумении; в сущности, был один христианин, и тот умер на кресте.
Back to top
View user's profile Send private message
fank
l33t
l33t


Joined: 16 Oct 2004
Posts: 794
Location: Minsk, Belarus

PostPosted: Fri Sep 25, 2009 8:21 am    Post subject: Reply with quote

хех....
Quote:
[12.3] released 7/15/07
* Multibyte characters are now handled correctly when printing texts
encoded in base64. Previously, if a multibyte character spanned
across a line in the base64-encoded representation, it was not
recognized, and substitution characters were printed instead.

вот оно и решение, проблема теперь только как обновиться на этот самый новый heirloom
_________________
Слово „христианство“ основано на недоразумении; в сущности, был один христианин, и тот умер на кресте.
Back to top
View user's profile Send private message
fank
l33t
l33t


Joined: 16 Oct 2004
Posts: 794
Location: Minsk, Belarus

PostPosted: Thu Oct 01, 2009 8:13 am    Post subject: Reply with quote

проблема пофикшена
кого интересует ebuild:

Code:
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/mail-client/nail/nail-11.25-r3.ebuild,v 1.13 2007/07/09 05:37:56 redhatter Exp $

inherit eutils
DESCRIPTION="Heirloom is an enhanced mailx-compatible mail client"
MY_PN="mailx-${PV}"
SRC_URI="mirror://sourceforge/heirloom/files/${PN}/${PV}/${MY_PN}.tar.bz2"
HOMEPAGE="http://heirloom.sourceforge.net/"
PROVIDE="virtual/mailx"
DEPEND="ssl? ( dev-libs/openssl )
        gssapi? ( virtual/krb )
    !virtual/mailx"

SLOT="0"
LICENSE="BSD"
KEYWORDS="alpha amd64 hppa ia64 ~mips ppc ppc64 sparc x86"
IUSE="ssl net gssapi"
S=${WORKDIR}/${MY_PN}

remove_ssl() {
    elog "Disabling SSL support"
    sed -i -e 's~#define USE_\(OPEN\)\?SSL~#undef USE_\1SSL~' config.h
    sed -i -e 's~-ssl~~' -e 's~-lcrypto~~' LIBS
}

remove_sockets() {
    elog "Not enabling sockets (thus disabling IMAP, POP and SMTP)"
    sed -i -e 's~#define HAVE_SOCKETS~#undef HAVE_SOCKETS~' config.h
}

src_compile() {
    # Do not strip the binary
    sed -i -e '/STRIP/d' Makefile

    # Build config.h and LIBS, neccesary to tweak the config
    make config.h LIBS

    # Logic to 'configure' the package
    if use net && ! use ssl ; then
        remove_ssl
    elif ! use net ; then
        # Linking to ssl without net support is pointless
        remove_ssl
        remove_sockets
    fi

    # Now really build it
    emake PREFIX=/usr MAILSPOOL='/var/spool/mail' || die "emake failed"
}

src_install () {
    # Use /usr/lib/sendmail by default and provide an example
    cat <<- EOSMTP >> nail.rc

        # Use the local sendmail (/usr/lib/sendmail) binary by default.
        # (Uncomment the following line to use a SMTP server)
        #set smtp=localhost
    EOSMTP

    make DESTDIR=${D} \
        UCBINSTALL=$(type -p install) \
        PREFIX=/usr install || die "install failed"
    dodoc AUTHORS INSTALL README
    dodir /bin
    dosym /usr/bin/mailx /bin/mail
    dosym /usr/bin/mailx /usr/bin/mail
    dosym /usr/bin/mailx /usr/bin/Mail
}

_________________
Слово „христианство“ основано на недоразумении; в сущности, был один христианин, и тот умер на кресте.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Russian All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum