Re: Running a script with cyradm throwing ReadLine errors

ellie timoney <[email protected]>
Newsgroups gmane.mail.imap.cyrus
Message-ID <1545087479.1822015.1611895992.1214BC95@webmail.messagingengine.com>
Hi Binarus,

> Could anybody please tell me what I might do wrong here?

This kind of smells like maybe your system has two versions of perl installed (or two versions of Term::ReadLine, or maybe even two versions of Cyrus::IMAP::Shell), and they're getting in each other's way?

I'm having a quick glance at the (2.5.10) source of Cyrus::IMAP::Shell and this caught my eye:

> # ugh.  ugh.  suck.  aieee.
> my $use_rl = 'Cyrus::IMAP::DummyReadline';
> {
>   if (eval { require Term::ReadLine; }) {
>     $use_rl = 'Term::ReadLine';
>   }
> }

Which... fills me with confidence.  Looks like a workaround for missing (broken?) Term::Readline but that comment isn't super enlightening.  I wonder if it will Just Work if you uninstall Term::Readline?

I haven't really used cyradm at all myself, so take all this with a grain of salt.  Hopefully someone who has can chime in!

Cheers,

ellie

On Sun, Dec 16, 2018, at 8:04 PM, Binarus wrote:
> Dear all,
> 
> I was just trying to explore cyradm a little bit further and hence was 
> experimenting with its scripting capabilities. Having cyradm run a 
> script should be pretty easy. man cyradm tells us:
> 
>   perl -MCyrus::IMAP::Shell -e 'run("myscript")'
> 
> So I created the simplest possible script (that means an empty one) and 
> tried to run it:
> 
>   touch 000
>   chmod a+x 000 (just in case ...)
>   perl -MCyrus::IMAP::Shell -e 'run("000")'
> 
> The only thing I got was:
> 
>   Use of uninitialized value within @layers in string eq at /usr/local/
> lib/x86_64-linux-gnu/perl/5.24.1/Term/ReadLine/Gnu.pm line 280.
>   Bad filehandle: __DATA__ at /usr/local/lib/x86_64-linux-gnu/perl/
> 5.24.1/Term/ReadLine/Gnu.pm line 769.
> 
> Putting something meaningful into the script did not change the situation.
> 
> I have googled and read documentation (mainly on cyrusimapd.org) for 
> several hours, but could not find the reason for the problem.
> 
> I even have put allowplaintext=yes into imapd.conf and restarted imapd 
> (knowing that this probably wasn't very smart, but the term "layers" in 
> the error message made me mistrustful because there are authentication 
> "layers", and I don't have any problems with Term::ReadLine::Gnu in 
> general). As expected, this didn't change the situation either.
> 
> This happened with 2.4.16 as well as with 2.5.10.
> 
> Could anybody please tell me what I might do wrong here?
> 
> Thank you very much in advance,
> 
> Binarus
> 
> ----
> Cyrus Home Page: http://www.cyrusimap.org/
> List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
> To Unsubscribe:
> https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus
----
Cyrus Home Page: http://www.cyrusimap.org/
List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
To Unsubscribe:
https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.