Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LDAP auth crash / task_manager.pl crash #784

Closed
xavierba opened this issue Nov 7, 2019 · 1 comment · Fixed by #795
Closed

LDAP auth crash / task_manager.pl crash #784

xavierba opened this issue Nov 7, 2019 · 1 comment · Fixed by #795
Labels
bug packaging On source distribution and derived packages ready A PR is waiting to be merged. Close to be solved
Milestone

Comments

@xavierba
Copy link
Contributor

xavierba commented Nov 7, 2019

Version

6.2.48

Installation method

RPM

Expected behavior

LDAP auth working

Actual behavior

After updating a sympa instance using ldap login to 6.2.48-2.el6.x86_64 from 6.2.44-3.el6.x86_646.2.44, I had 2 successive issues while trying to log in the web interface:
First, missing Socket6.pm. After installing perl-Socket6, missing IO/Socket/INET6.pm, fixed after installing perl-IO-Socket-INET6.

err main::#1544 > main::do_login#3089 > main::is_ldap_user#3816 > Sympa::Database::connect#136 > (eval)#3 > (eval)#94 > (eval)#94 > IO::Socket::SSL::BEGIN#72 > (eval)#73 DIED: Can't locate Socket6.pm in @INC (@INC contains: /usr/share/sympa/lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm line 73.
err main::#1544 > main::do_login#3089 > main::is_ldap_user#3816 > Sympa::Database::connect#136 > (eval)#3 > (eval)#94 > (eval)#94 > IO::Socket::SSL::BEGIN#72 > (eval)#75 DIED: Can't locate IO/Socket/INET6.pm in @INC (@INC contains: /usr/share/sympa/lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm line 75.

I also had a related crash in task_manager.pl

Previous process task_manager.pl (with PID 16254) has died unexpectedly.
Date of crash: 31 Oct 2019  15:35
Errors:

DIED: Can't locate Socket6.pm in @INC (@INC contains: /usr/share/sympa/lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm line 73, <DATA> line 522.
    eval {...} called at /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm line 72
    IO::Socket::SSL::BEGIN() called at Socket6.pm line 94
    eval {...} called at Socket6.pm line 94
    require IO/Socket/SSL.pm called at (eval 1126) line 3
    eval 'require IO::Socket::SSL
;' called at /usr/share/sympa/lib/Sympa/Database.pm line 136
    Sympa::Database::connect('Sympa::DatabaseDriver::LDAP=HASH(0x549c028)') called at /usr/share/sympa/lib/Sympa/DataSource/LDAP.pm line 43
    Sympa::DataSource::LDAP::_open('Sympa::DataSource::LDAP2=HASH(0x54d2330)', 'timeout', 30, 'suffix', 'ou=xxxxx,dc=xxxxx,dc=xxxxx', 'filter', 'cn=xxxxx', 'attrs', 'memberUid', ...) called at /usr/share/sympa/lib/Sympa/DataSource/LDAP2.pm line 39
    Sympa::DataSource::LDAP2::_open('Sympa::DataSource::LDAP2=HASH(0x54d2330)') called at /usr/share/sympa/lib/Sympa/DataSource.pm line 134
    Sympa::DataSource::open('Sympa::DataSource::LDAP2=HASH(0x54d2330)') called at /usr/share/sympa/lib/Sympa/Request/Handler/include.pm line 289
    Sympa::Request::Handler::include::_update_users('Sympa::DataSource::LDAP2=HASH(0x54d2330)', 1572536115) called at /usr/share/sympa/lib/Sympa/Request/Handler/include.pm line 181
    Sympa::Request::Handler::include::_twist('Sympa::Spindle::ProcessRequest=HASH(0x54dd780)', 'Sympa::Request=HASH(0x5535cf0)') called at /usr/share/sympa/lib/Sympa/Spindle.pm line 95
    Sympa::Spindle::spin('Sympa::Spindle::ProcessRequest=HASH(0x54dd780)') called at /usr/share/sympa/lib/Sympa/List.pm line 4825
    Sympa::List::sync_include('Sympa::List=HASH(0x471d118)') called at /usr/share/sympa/lib/Sympa/Spindle/ProcessTask.pm line 1349
    Sympa::Spindle::ProcessTask::do_sync_include('Sympa::Spindle::ProcessTask=HASH(0x46a2b60)', 'Sympa::Task=HASH(0x55444b8)', 'HASH(0x5536128)', 'HASH(0x4609f68)') called at /usr/share/sympa/lib/Sympa/Spindle/ProcessTask.pm line 174
    Sympa::Spindle::ProcessTask::_cmd_process('Sympa::Spindle::ProcessTask=HASH(0x46a2b60)', 'Sympa::Task=HASH(0x55444b8)', 'HASH(0x5536128)', 'HASH(0x4609f68)') called at /usr/share/sympa/lib/Sympa/Spindle/ProcessTask.pm line 140
    Sympa::Spindle::ProcessTask::_execute('Sympa::Spindle::ProcessTask=HASH(0x46a2b60)', 'Sympa::Task=HASH(0x55444b8)') called at /usr/share/sympa/lib/Sympa/Spindle/ProcessTask.pm line 74
    Sympa::Spindle::ProcessTask::_twist('Sympa::Spindle::ProcessTask=HASH(0x46a2b60)', 'Sympa::Task=HASH(0x55444b8)') called at /usr/share/sympa/lib/Sympa/Spindle.pm line 83
    Sympa::Spindle::spin('Sympa::Spindle::ProcessTask=HASH(0x46a2b60)') called at /usr/sbin/task_manager.pl line 148

Additional information

@ikedas ikedas added bug packaging On source distribution and derived packages labels Nov 7, 2019
@ikedas ikedas added this to the 6.2.50 milestone Nov 7, 2019
@ikedas
Copy link
Member

ikedas commented Nov 11, 2019

As far as I couold know ---

AF_INET6()

  • Socket

    1.94 (bundled in Perl 5.14.x) supports AF_INET6(). Earlier does not.

  • Socket6

    Any versions support AF_INET6().

PF_INET6()

  • IO::Socket::INET

    Does not support IPv6.

  • IO::Socket::INET6

    Does support IPv6 only.

  • IO::Socket::IP

    Does support IPv4/IPv6.

IPv6 with higer layer protocols

  • Net::HTTP, LWP::UserAgent (libwww-perl)

    6.07 uses IO::Socket::IP or IO::Socket::INET6 for IPv6.

  • Net::SMTP (libnet)

    Earlier may use IO::Socket::INET6 for IPv6.

    1.28 or later also may use IO::Socket::IP for IPv6, and uses IO::Socket::SSL for TLS.

IPv6 with TLS

  • IO::Socket::SSL

    1.74_1 supports IO::Socket::IP for IPv6.


As a conclusion, Socket6 is required, and IO::Socket::IP (or IO::Socket::INET6) is recommended.

@ikedas ikedas added the ready A PR is waiting to be merged. Close to be solved label Nov 11, 2019
ikedas added a commit that referenced this issue Nov 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug packaging On source distribution and derived packages ready A PR is waiting to be merged. Close to be solved
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants