Bug#655748: inn2: Posting via inews causes Perl error

2013-04-07 Thread Marco d'Itri
It is too late to properly deal with this bug for wheezy, because it 
cannot be fixed.
After the release I will remove the 32 bit non-LFS packages and *maybe* 
enable some code to help the transition.

Check postinst of inn2 for hints about what needs to be regenerated when 
switching from a 32 to a 64 bit INN package.

If you encounter this bug and switch from inn2 to inn2-lfs, then please 
reply with your experience in converting your spool and overview.

-- 
ciao,
Marco


signature.asc
Description: Digital signature


Bug#655748: inn2: Posting via inews causes Perl error

2012-02-28 Thread gregor herrmann
On Fri, 13 Jan 2012 21:15:07 +0100, Raphael Manfredi wrote:

 Since I upgraded to Perl 5.14.2, I get the following errors when
 using mailagent's POST command (which calls inews -h to inject
 the news message):

We stumbled over the same bug with mailman and inn2.

A quick workaround seems to be to put

perlfilter: false

in all (or the relevant) access groups in /etc/news/readers.conf.

It least it works for us :)

Cheers,
gregor

-- 
 .''`.  Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06
 : :' : Debian GNU/Linux user, admin, and developer  -  http://www.debian.org/
 `. `'  Member of VIBE!AT  SPI, fellow of the Free Software Foundation Europe
   `-   


signature.asc
Description: Digital signature


Bug#655748: inn2: Posting via inews causes Perl error

2012-02-20 Thread Niko Tyni
On Sun, Feb 19, 2012 at 04:00:42AM +0100, Marco d'Itri wrote:
 On Jan 15, Marco d'Itri m...@linux.it wrote:
 
   at least #649759 suggests this might be related to not using all
   the compilation flags from ExtUtils::Embed, '-D_LARGEFILE_SOURCE
   -D_FILE_OFFSET_BITS=64' in particular. Indeed, I see the inn2 'configure'
   script chops those away.
  I removed the flags because generally enabling LFS would create an inn
  package which cannot read the on-disk data written by the precedent
  release, and for which there is no conversion tool.
  So I need to find out if the internal INN ABI between the perl bits and 
  the rest of the program depends on LFS.
 This is not going to be easy. Are you totally sure that there is no 
 other option than building with LFS all code which includes perl 
 headers?

At least all code that accesses a PerlInterpreter struct, AFAICS.

The problem is that the PerlInterpreter struct has two members of type
Stat_t (see intrpvar.h) , which is a struct stat on unix and so
varies in size depending on the LFS flags. All the later interpreter
specific variables in the struct are accessed at a wrong offset if those
flags don't match the ones libperl was built with.

'PL_sv_undef' is one of these variables, and the 'Bizarre copy of unknown'
error comes from a sanity check inside the sv_setsv() call because the
wrong PL_sv_undef doesn't make any sense.

I guess you could work around that sanity check with the 'body =
PL_sv_undef' trick, but I'd expect other problems later.

Sorry, no better ideas.
-- 
Niko Tyni   nt...@debian.org



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#655748: inn2: Posting via inews causes Perl error

2012-02-18 Thread Marco d'Itri
On Jan 15, Marco d'Itri m...@linux.it wrote:

  at least #649759 suggests this might be related to not using all
  the compilation flags from ExtUtils::Embed, '-D_LARGEFILE_SOURCE
  -D_FILE_OFFSET_BITS=64' in particular. Indeed, I see the inn2 'configure'
  script chops those away.
 I removed the flags because generally enabling LFS would create an inn
 package which cannot read the on-disk data written by the precedent
 release, and for which there is no conversion tool.
 So I need to find out if the internal INN ABI between the perl bits and 
 the rest of the program depends on LFS.
This is not going to be easy. Are you totally sure that there is no 
other option than building with LFS all code which includes perl 
headers?

-- 
ciao,
Marco


signature.asc
Description: Digital signature


Bug#655748: inn2: Posting via inews causes Perl error

2012-01-15 Thread Julien ÉLIE
Hi all,

We continued in private to investigate the issue and, after having
rebuilt nnrpd so as to allow gdb to be useful, Raphaël found out
the source of the error.

In nnrpd/post.c during ARTpost(), there is a call to an XS Perl
function HandleHeaders():

/* Store body. */
body = perl_get_sv(body, true);
sv_setpv(body, article);
[…]
modswitch = perl_get_sv(modify_headers, false);
if (SvTRUE(modswitch)) {
hv_undef(hdr);
sv_setsv(body, PL_sv_undef);

(modswitch is false, because the SvTRUE condition is not executed.)

sv_setsv(body, PL_sv_undef);
-- returns Bizarre copy of UNKNOWN.

nnrpd/perl.c, line 179 for the Debian package.
(Line 181 for TRUNK.)



Has someone an idea of what is going on in recent Perl versions?
I see that Marco already experienced that with INN 1.x:
http://www.mail-archive.com/perl-xs@perl.org/msg02275.html
but there were no replies to his thread.
Is the solution of body = PL_sv_undef working fine?

I also read another possibility:
http://www.nntp.perl.org/group/perl.perl5.porters/2007/10/msg129757.html

SvOK_off(body);
SvGETMAGIC(body);




Another question:  isn't there a way not to cause nnrpd to die when
such an error occurs in XS code?
The right behaviour would be to return:
403 Bizarre copy of UNKNOWN.
and to go on the NNTP session.

-- 
Julien ÉLIE

« – Il t'arrive une tuile ?
  – Oui, je ne peux pas payer mon ardoise. »



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#655748: inn2: Posting via inews causes Perl error

2012-01-15 Thread Niko Tyni
On Sun, Jan 15, 2012 at 12:13:21PM +0100, Julien ÉLIE wrote:
 
 sv_setsv(body, PL_sv_undef);
 -- returns Bizarre copy of UNKNOWN.
 
 nnrpd/perl.c, line 179 for the Debian package.
 (Line 181 for TRUNK.)
 
 Has someone an idea of what is going on in recent Perl versions?
 I see that Marco already experienced that with INN 1.x:
 http://www.mail-archive.com/perl-xs@perl.org/msg02275.html
 but there were no replies to his thread.
 Is the solution of body = PL_sv_undef working fine?
 
 I also read another possibility:
 http://www.nntp.perl.org/group/perl.perl5.porters/2007/10/msg129757.html
 
 SvOK_off(body);
 SvGETMAGIC(body);

Hi,

at least #649759 suggests this might be related to not using all
the compilation flags from ExtUtils::Embed, '-D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64' in particular. Indeed, I see the inn2 'configure'
script chops those away.

As of Perl 5.14.0, compiling without those flags on 32-bit
architectures and then linking against libperl apparently creates a
binary incompatibility, manifesting in strange errors such as the one
discussed here.

See http://www.nntp.perl.org/group/perl.perl5.porters/2011/04/msg171536.html
(and #624460 and #628522) for some background.

HTH,
-- 
Niko Tyni   nt...@debian.org



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#655748: inn2: Posting via inews causes Perl error

2012-01-15 Thread Marco d'Itri
On Jan 15, Niko Tyni nt...@debian.org wrote:

 at least #649759 suggests this might be related to not using all
 the compilation flags from ExtUtils::Embed, '-D_LARGEFILE_SOURCE
 -D_FILE_OFFSET_BITS=64' in particular. Indeed, I see the inn2 'configure'
 script chops those away.
I removed the flags because generally enabling LFS would create an inn
package which cannot read the on-disk data written by the precedent
release, and for which there is no conversion tool.
So I need to find out if the internal INN ABI between the perl bits and 
the rest of the program depends on LFS.

-- 
ciao,
Marco


signature.asc
Description: Digital signature


Bug#655748: inn2: Posting via inews causes Perl error

2012-01-14 Thread Julien ÉLIE

Bonjour Raphaël,


Since I upgraded to Perl 5.14.2, I get the following errors when
using mailagent's POST command (which calls inews -h to inject
the news message):

Remote error: Bizarre copy of UNKNOWN.

There must be something wrong with one of the Perl scripts that INN
calls.


Where is this error logged?  (In mailagent?)
Does the error happen every time you POST a message via mailagent?
Does the error happen if you directly use inews -h?  (Just pipe the 
contents of an article into its standard input.)


And, more importantly (probably the first test to run), does the error 
happen after deactivating Perl in INN?  Just execute with the news user:

ctlinnd perl n
and try to POST a message via mailagent.  Do not forget to reactivate 
Perl afterwards, with:

ctlinnd perl y

--
Julien ÉLIE

« Et puis, toi tu penses, moi je suis. » (Mot de passe)



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#655748: inn2: Posting via inews causes Perl error

2012-01-14 Thread Raphael Manfredi
Bonjour Julien,

Quoting Julien ÉLIE:
 Where is this error logged?  (In mailagent?)

Yes, the error is logged in mailagent's .bak file, where plain stderr
messages go.

 Does the error happen every time you POST a message via mailagent?

Yes.

 Does the error happen if you directly use inews -h?  (Just pipe the 
 contents of an article into its standard input.)

I don't use the original inews that comes with INN2, but the version I
compiled from trn.  The reason being that the trn-inews is not so picky
about how much text is quoted as opposed to how much text is added...

However, both commands return the same error:

$ /usr/local/bin/trn-inews -h  ~/tmp/article
Remote error: Bizarre copy of UNKNOWN.

(that's the exact text that goes into mailagent's error file).

$ /usr/bin/inews -h  ~/tmp/article
inews: cannot send article to server: Bizarre copy of UNKNOWN.
inews: article not posted
inews: warning: server did not reply to quit: Connection reset by peer

 And, more importantly (probably the first test to run), does the error 
 happen after deactivating Perl in INN?  Just execute with the news user:
 ctlinnd perl n
 and try to POST a message via mailagent.  Do not forget to reactivate Perl 
 afterwards, with:
 ctlinnd perl y

I did not know about this INN option, but it has no impact.  The errors
are the same whether I say perl n or perl y.

Please let me know how I can further diagnose what's happening.

Raphael



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#655748: inn2: Posting via inews causes Perl error

2012-01-14 Thread Julien ÉLIE
Bonjour Raphaël,

   $ /usr/bin/inews -h  ~/tmp/article
   inews: cannot send article to server: Bizarre copy of UNKNOWN.
   inews: article not posted
   inews: warning: server did not reply to quit: Connection reset by peer

cannot send article to server is returned when inews receive
an NNTP response code different from 240 (= POST OK) after having
sent the article.
Bizarre copy of UNKOWN seems to be the actual response code!
nnrpd has closed the connection itself, probably encountering an internal error.


A proper answer would for instance be:

% inews -h  test
inews: cannot send article to server: 441 No valid newsgroups in trigo.pouet
inews: article not posted




First question:  is there a Newsgroups: line mentioned in your ~/tmp/article
file?  If not, please add one and test again.
(I have just spotted a bug in INN 2.5.2+20110413, that is not in INN 2.5.2.)



If you already see a Newsgroups: header field, then:

Do you have Perl hooks for nnrpd authentication?
(like nnrpd_access.pl and/or nnrpd_auth.pl)
Could you try to deactivate them if it is the case?



Do you manage to post to your nnprd via another tool than inews?

Could you try to write the contents of your ~/tmp/article file in an NNTP 
session?
Just send MODE READER, POST, copy/paste your article and add a final dot.
QUIT to quit.
For instance:

% telnet localhost 119
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
200 news.trigofacile.com InterNetNews server INN 2.6.0 (20111015 prerelease) 
ready (transit mode)
MODE READER
200 news.trigofacile.com InterNetNews NNRP server INN 2.6.0 (20111015 
prerelease) ready (posting ok)
POST
340 Ok, recommended message-ID jerg14$ct9$1...@news.trigofacile.com
Subject: test
From: me
Newsgroups: trigo.pouet

test
.
441 No valid newsgroups in trigo.pouet
QUIT
205 Bye!



 I did not know about this INN option, but it has no impact.  The errors
 are the same whether I say perl n or perl y.

Then it means that Perl used by innd is not the culprit.
Only remains nnrpd now.  Yet, I am still puzzled because Perl hooks are only
for authentication.  When you POST, authentication has already been done.



 Please let me know how I can further diagnose what's happening.

Could there be something related to:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=628507
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=649759

-- 
Julien ÉLIE

« Je viens de rencontrer Isocèle : il a une idée pour un nouveau
  triangle. » (Woody Allen)



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#655748: inn2: Posting via inews causes Perl error

2012-01-14 Thread Raphael Manfredi
Quoting Julien ÉLIE:
: First question:  is there a Newsgroups: line mentioned in your ~/tmp/article
: file?  If not, please add one and test again.
: (I have just spotted a bug in INN 2.5.2+20110413, that is not in INN 2.5.2.)

Yes, there is a Newsgroups line in my ~/tmp/article file.

: If you already see a Newsgroups: header field, then:
: 
: Do you have Perl hooks for nnrpd authentication?
: (like nnrpd_access.pl and/or nnrpd_auth.pl)
: Could you try to deactivate them if it is the case?

I don't have any such files in /etc/news.

: Do you manage to post to your nnprd via another tool than inews?

Haven't tried yet.
Here's the result of a direct NNTP post:

--
$ telnet localhost 119
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
200 tours.ram.loc InterNetNews server INN 2.5.3 (20110413 snapshot) ready 
(transit mode)
MODE READER
200 tours.ram.loc InterNetNews NNRP server INN 2.5.3 (20110413 snapshot) ready 
(posting ok)
POST
340 Ok, recommended message-ID jerj0f$76u$1...@tours.ram.loc
Date: Sat, 14 Jan 2012 08:07:51 +
From: Raphael Manfredi raphael_manfr...@pobox.com
Newsgroups: ml.lilypond.devel
Subject: test only
Message-ID: 20120114080751.GA1821@home

This message is a test.
.
Bizarre copy of UNKNOWN.
Connection closed by foreign host.
--

Yes, the ml.lilypond.devel newsgroup exists.  This is a local group
where I feed my mailing lists (ml.) through mailagent's POST command.

I know that the Bizarre copy of UNKNOWN message comes from Perl (long perl
experience) but maybe this wording has been reused in INN for non-perl code?

Raphael



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#655748: inn2: Posting via inews causes Perl error

2012-01-14 Thread Julien ÉLIE
Bonjour Raphaël,

 $ telnet localhost 119
 Trying 127.0.0.1...
 Connected to localhost.
 Escape character is '^]'.
 200 tours.ram.loc InterNetNews server INN 2.5.3 (20110413 snapshot) ready 
 (transit mode)
 MODE READER
 200 tours.ram.loc InterNetNews NNRP server INN 2.5.3 (20110413 snapshot) 
 ready (posting ok)
 POST
 340 Ok, recommended message-IDjerj0f$76u$1...@tours.ram.loc
 Date: Sat, 14 Jan 2012 08:07:51 +
 From: Raphael Manfrediraphael_manfr...@pobox.com
 Newsgroups: ml.lilypond.devel
 Subject: test only
 Message-ID:20120114080751.GA1821@home
 
 This message is a test.
 .
 Bizarre copy of UNKNOWN.
 Connection closed by foreign host.

It looks as though it were an error related to IHAVE, answered
by innd via nnrpd.

Could you send the following example (with an additional
Path: header field) via IHAVE, without MODE READER?
It would be like:

200 tours.ram.loc InterNetNews server INN 2.5.3 (20110413 snapshot) ready 
(transit mode)
IHAVE 20120114080751.GA1821@home
335 Send it
Path: test
Date: Sat, 14 Jan 2012 08:07:51 +
From: Raphael Manfredi raphael_manfr...@pobox.com
Newsgroups: ml.lilypond.devel
Subject: test only
Message-ID: 20120114080751.GA1821@home

This message is a test.
.



What is the result?



 I know that the Bizarre copy of UNKNOWN message comes from Perl (long perl
 experience) but maybe this wording has been reused in INN for non-perl code?

As far as I can see, Bizarre is a word without any occurrence
in the whole INN source code.


If you think this problem could come from the Perl stack, is it possible
for you to patch the version of INN you are currently running, with the 
following
changes committed in July 2011?
I re-organized the calls of the ENTER-SAVETMPS-PUSHMARK-PUTBACK and
SPAGAIN-PUTBACK-FREETMPS-LEAVE macros:

http://inn.eyrie.org/trac/changeset/9247/branches/2.5/innd/perl.c
http://inn.eyrie.org/trac/changeset/9247/branches/2.5/nnrpd/perl.c
http://inn.eyrie.org/trac/changeset/9247/branches/2.5/lib/perl.c


*Maybe* it fixes the issue you are facing.

If patching your INN is not straight-forward, perhaps Marco -- if he has
time -- could generate (for you only, or also uploaded to sid) a Debian package
from the current STABLE repository.

-- 
Julien ÉLIE

« La femme est beaucoup plus portée que l'homme aux actes imprudents
  et irréfléchis. » (Démocrite)



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#655748: inn2: Posting via inews causes Perl error

2012-01-14 Thread Raphael Manfredi
Re-bonjour Julien,

Quoting Julien ÉLIE:
: It looks as though it were an error related to IHAVE, answered
: by innd via nnrpd.
: 
: Could you send the following example (with an additional
: Path: header field) via IHAVE, without MODE READER?
: 
: What is the result?

It works this time!


$ telnet localhost nntp
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
200 tours.ram.loc InterNetNews server INN 2.5.3 (20110413 snapshot) ready 
(transit mode)
IHAVE 20120114080751.GA1821@home
335 Send it
Path: test
Date: Sat, 14 Jan 2012 08:07:51 +
From: Raphael Manfredi raphael_manfr...@pobox.com
Newsgroups: ml.lilypond.devel
Subject: test only
Message-ID: 20120114080751.GA1821@home

This message is a test.
.
235 Article transferred OK
QUIT
205 Bye!
Connection closed by foreign host.


Looks like you have a lead now to further investigate...  Let me know if
I can help you further narrow down the problem.

Raphael



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#655748: inn2: Posting via inews causes Perl error

2012-01-14 Thread Julien ÉLIE

Bonjour Raphaël,


: What is the result?

It works this time!


So the problem seems located to nnrpd.

I see that you answered:

 : Do you have Perl hooks for nnrpd authentication?
 : (like nnrpd_access.pl and/or nnrpd_auth.pl)
 : Could you try to deactivate them if it is the case?

 I don't have any such files in /etc/news.

Debian installs them in /etc/news/filter.
In your /etc/news/readers.conf file (or another name if you have changed
the default configuration), do you have active lines for “perl_auth” and 
“perl_access”?

If that is the case, they are used.

There is also filter_nnrpd.pl, besides the two for authentication.  Does 
it contain local modifications?



No particular error in /var/log/news/news.err?
Could you please send the lines in /var/log/news/news.notice 
corresponding to your attempt to post via inews this morning?


--
Julien ÉLIE

« – Tu parles ?
  – Tu parles ! » (Astérix)



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#655748: inn2: Posting via inews causes Perl error

2012-01-13 Thread Raphael Manfredi
Package: inn2
Version: 2.5.2+20110413-1+b2
Severity: normal

Since I upgraded to Perl 5.14.2, I get the following errors when
using mailagent's POST command (which calls inews -h to inject
the news message):

Remote error: Bizarre copy of UNKNOWN.

There must be something wrong with one of the Perl scripts that INN
calls.

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.39.2
Locale: LANG=fr_FR, LC_CTYPE=fr_FR (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/dash

Versions of packages inn2 depends on:
ii  cron3.0pl1-86management of regular background p
ii  inn2-inews  2.5.2-2  NNTP client news injector, from In
ii  libc6   2.13-10  Embedded GNU C Library: Shared lib
ii  libdb5.15.1.25-11Berkeley v5.1 Database Libraries [
ii  libmime-tools-perl  5.428-1  Perl5 modules for MIME-compliant m
ii  libpam0g1.1.1-3  Pluggable Authentication Modules l
ii  libperl5.14 5.14.2-6 shared Perl library
ii  libsasl2-2  2.1.22.dfsg1-13  Authentication abstraction library
ii  libssl1.0.0 1.0.0d-2 SSL shared libraries
ii  perl5.14.2-6 Larry Wall's Practical Extraction 
ii  perl-base [perlapi-5.14 5.14.2-6 minimal Perl system
ii  procps  1:3.2.8-1/proc file system utilities
ii  sendmail-bin [mail-tran 8.14.3-1 powerful, efficient, and scalable 
ii  time1.7-21   The GNU time program for measuring
ii  zlib1g  1:1.2.3.3.dfsg-5 compression library - runtime

inn2 recommends no packages.

Versions of packages inn2 suggests:
ii  gnupg 1.4.6-2.2  GNU privacy guard - a free PGP rep
ii  libcomerr21.40.8-2   common error description library
pn  libgd-gd2-noxpm-perl  none (no description available)
ii  libkrb5-3 1.8.3+dfsg~beta1-1 MIT Kerberos runtime libraries
ii  wget  1.8.2-5retrieves files from the web

-- debconf information:
  inn2/preinst-upgrade1: false
  inn2/postinst-cannot-start:
  inn2/preinst-upgrade-largefiles: false



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org