Running a script with cyradm throwing ReadLine errors
ellie timoney
ellie at fastmail.com
Mon Dec 17 17:57:59 EST 2018
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
More information about the Info-cyrus
mailing list