[UPGRADE 2.2.6 to 2.3.1] No MainObject! at /var/www/otrs-231/bin/cgi-bin/../../Kernel/System/AuthSession.pm line 83.

Hi I test on a test machine the OTRS upgrade from 2.2.6 to 2.3.1: 1) I have do a clone machine with otrs as the real machine (OTRS 2.2.6) 2) I have upgraded as explain in the UPGRADING file * install the new release 2.3.1 * i have copied the Kernel/Config.pm and GenericAgent.pm * I have upgrade with DBUpdate-to-2.3.mysql.sql (no error) * I have run DBUpdate-to-2.3.pl (no error) * I have upgrade with DBUpdate-to-2.3-post.mysql.sql (no error) When I connect to /otrs/index.pl as agent, everything is ok, all work When a customer connect (/otrs/customer.pl , he have a error message and he cannot connect: No MainObject! at /var/www/otrs-231/bin/cgi-bin/../../Kernel/System/AuthSession.pm line 83. The line 83 is: # check needed objects for (qw(LogObject ConfigObject TimeObject DBObject MainObject)) { $Self->{$_} = $Param{$_} || die "No $_!"; <<<< line 83 } The customer backend is LDAP. All is ok and work on the real machine in 2.2.6 since many months. can you help me ? I have the same Config.pm than in 2.2.6 . thank you, Serge

Hello Serge, have you got a solution for this occurence? We do have the same problem and I'm not sure if it is a misconfiguration or a bug. Thanks in advance Markus Nagel Serge Algarotti schrieb:
Hi
I test on a test machine the OTRS upgrade from 2.2.6 to 2.3.1:
1) I have do a clone machine with otrs as the real machine (OTRS 2.2.6)
2) I have upgraded as explain in the UPGRADING file
* install the new release 2.3.1 * i have copied the Kernel/Config.pm and GenericAgent.pm * I have upgrade with DBUpdate-to-2.3.mysql.sql (no error) * I have run DBUpdate-to-2.3.pl (no error) * I have upgrade with DBUpdate-to-2.3-post.mysql.sql (no error)
When I connect to /otrs/index.pl as agent, everything is ok, all work
When a customer connect (/otrs/customer.pl , he have a error message and he cannot connect:
No MainObject! at /var/www/otrs-231/bin/cgi-bin/../../Kernel/System/AuthSession.pm line 83.
The line 83 is:
# check needed objects for (qw(LogObject ConfigObject TimeObject DBObject MainObject)) { $Self->{$_} = $Param{$_} || die "No $_!"; <<<< line 83 }
The customer backend is LDAP.
All is ok and work on the real machine in 2.2.6 since many months.
can you help me ?
I have the same Config.pm than in 2.2.6 .
thank you,
Serge _______________________________________________ OTRS mailing list: otrs - Webpage: http://otrs.org/ Archive: http://lists.otrs.org/pipermail/otrs To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/otrs Support or consulting for your OTRS system? => http://www.otrs.com/

Check out the new Defaults.pm of 2.3.x: you can notice that LDAP configuration has slightly changed. I had my LDAP backed broken too after upgrade, so I rewrote from scratch Config.pm using 2.3.2 Defaults.pm as base. Now everything work flawlessly at my site. Ciao, d. -----Messaggio originale----- Da: otrs-bounces@otrs.org [mailto:otrs-bounces@otrs.org] Per conto di Markus Nagel Inviato: martedì 16 settembre 2008 12.37 A: otrs@otrs.org Oggetto: Re: [otrs] [UPGRADE 2.2.6 to 2.3.1] No MainObject! at /var/www/otrs-231/bin/cgi-bin/../../Kernel/System/AuthSession.pm line 83. Hello Serge, have you got a solution for this occurence? We do have the same problem and I'm not sure if it is a misconfiguration or a bug. Thanks in advance Markus Nagel Serge Algarotti schrieb:
Hi
I test on a test machine the OTRS upgrade from 2.2.6 to 2.3.1:
1) I have do a clone machine with otrs as the real machine (OTRS 2.2.6)
2) I have upgraded as explain in the UPGRADING file
* install the new release 2.3.1 * i have copied the Kernel/Config.pm and GenericAgent.pm * I have upgrade with DBUpdate-to-2.3.mysql.sql (no error) * I have run DBUpdate-to-2.3.pl (no error) * I have upgrade with DBUpdate-to-2.3-post.mysql.sql (no error)
When I connect to /otrs/index.pl as agent, everything is ok, all work
When a customer connect (/otrs/customer.pl , he have a error message and he cannot connect:
No MainObject! at /var/www/otrs-231/bin/cgi-bin/../../Kernel/System/AuthSession.pm line 83.
The line 83 is:
# check needed objects for (qw(LogObject ConfigObject TimeObject DBObject MainObject)) { $Self->{$_} = $Param{$_} || die "No $_!"; <<<< line 83 }
The customer backend is LDAP.
All is ok and work on the real machine in 2.2.6 since many months.
can you help me ?
I have the same Config.pm than in 2.2.6 .
thank you,
Serge _______________________________________________ OTRS mailing list: otrs - Webpage: http://otrs.org/ Archive: http://lists.otrs.org/pipermail/otrs To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/otrs Support or consulting for your OTRS system? => http://www.otrs.com/
_______________________________________________ OTRS mailing list: otrs - Webpage: http://otrs.org/ Archive: http://lists.otrs.org/pipermail/otrs To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/otrs

Hello, CARNINO Daniele (FIAT SERVICES) a écrit :
Check out the new Defaults.pm of 2.3.x: you can notice that LDAP configuration has slightly changed. I had my LDAP backed broken too after upgrade, so I rewrote from scratch Config.pm using 2.3.2 Defaults.pm as base. Now everything work flawlessly at my site.
On my test machine, I rewrote Config.pm as you said (ldap part) and everything work now !!! Thank you very much ! -- Serge Ecole des Mines de Paris / CEMEF

Hello folks, well, it still doesn't work for me although I wrote the whole ldap stuff from Default.pm from scratch. Which options do you have configured in Config.pm for ldap? Here is what I got: Customer-Backend: # CustomerUser # (customer user database backend and settings) # frisch aus der Defaults.pm kopiert und angepasst $Self->{CustomerUser} = { Name => 'Database Backend', Module => 'Kernel::System::CustomerUser::DB', Params => { # if you want to use an external database, add the # required settings # DSN => 'DBI:odbc:yourdsn', # DSN => 'DBI:mysql:database=customerdb;host=customerdbhost', # User => '', # Password => '', Table => 'customer_user', }, # customer uniq id CustomerKey => 'login', # customer # CustomerID => 'customer_id', CustomerValid => 'valid_id', CustomerUserListFields => [ 'first_name', 'last_name', 'email' ], # CustomerUserListFields => ['login', 'first_name', 'last_name', 'customer_id', 'email'], CustomerUserSearchFields => [ 'login', 'first_name', 'last_name', 'customer_id' , 'firma' ], CustomerUserSearchPrefix => '', CustomerUserSearchSuffix => '*', CustomerUserSearchListLimit => 250, CustomerUserPostMasterSearchFields => ['email'], CustomerUserNameFields => [ 'salutation', 'first_name', 'last_name' ], CustomerUserEmailUniqCheck => 1, # # show now own tickets in customer panel, CompanyTickets # CustomerUserExcludePrimaryCustomerID => 0, # # generate auto logins # AutoLoginCreation => 0, # # generate auto login prefix # AutoLoginCreationPrefix => 'auto', # # admin can change customer preferences # AdminSetPreferences => 1, # # use customer company support (reference to company, See CustomerCompany settings) # CustomerCompanySupport => 1, # # cache time to life in sec. - cache any database queris # CacheTTL => 0, # # just a read only source # ReadOnly => 1, Map => [ # note: Login, Email and CustomerID needed! # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly, http-link-target [ 'UserSalutation', 'Salutation', 'salutation', 1, 0, 'var', '', 0 ], [ 'UserFirstname', 'Firstname', 'first_name', 1, 1, 'var', '', 0 ], [ 'UserLastname', 'Lastname', 'last_name', 1, 1, 'var', '', 0 ], # our new option [ 'UserPhone', 'Phone', 'phone', 1, 0, 'var', '', 0 ], [ 'UserPhoneTwo', 'Phone 2', 'phonetwo', 1, 0, 'var', '', 0 ], [ 'UserMobile', 'Mobil', 'mobil', 1, 0, 'var', '', 0 ], [ 'UserFax', 'Fax', 'fax', 1, 0, 'var', '', 0 ], [ 'UserAddress', 'Address', 'address', 1, 0, 'var', '', 0 ], [ 'UserPLZ', 'PLZ', 'plz', 1, 0, 'var', '', 0 ], [ 'UserOrt', 'Ort', 'ort', 1, 0, 'var', '', 0 ], [ 'UserFirma', 'Firma', 'firma', 1, 0, 'var', '', 0 ], [ 'UserLogin', 'Username', 'login', 1, 1, 'var', '', 0 ], [ 'UserPassword', 'Password', 'pw', 0, 0, 'var', '', 0 ], [ 'UserEmail', 'Email', 'email', 1, 1, 'var', '', 0 ], # [ 'UserEmail', 'Email', 'email', 1, 1, 'var', '$Env{"CGIHandle"}?Action=AgentTicketCompose&ResponseID=1&TicketID=$Data{"TicketID"}&ArticleID=$Data{"ArticleID"}', 0 ], [ 'UserCustomerID', 'CustomerID', 'customer_id', 0, 1, 'var', '', 0 ], # [ 'UserCustomerIDs', 'CustomerIDs', 'customer_ids', 1, 0, 'var', '', 0 ], [ 'UserComment', 'Comment', 'comments', 1, 0, 'var', '', 0 ], [ 'ValidID', 'Valid', 'valid_id', 0, 1, 'int', '', 0 ], ], # default selections Selections => { # UserSalutation => { # 'Mr.' => 'Mr.', # 'Mrs.' => 'Mrs.', # }, }, }; # CustomerUser # (customer user ldap backend and settings) $Self->{CustomerUser1} = { Name => 'LDAP Backend', Module => 'Kernel::System::CustomerUser::LDAP', Params => { # ldap host Host => 'contra.tekomedia.local', # ldap base dn BaseDN => 'ou=someou,dc=domain,dc=tld', # search scope (one|sub) SSCOPE => 'sub', # The following is valid but would only be necessary if the # anonymous user does NOT have permission to read from the LDAP tree UserDN => 'cn=somecn,cn=Users,dc=domain,dc=tld', UserPw => 'somepass', # in case you want to add always one filter to each ldap query, use # this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => '(objectclass=user)' AlwaysFilter => '(mail=*)', # if your frontend is e. g. iso-8859-1 and the charset of your # ldap server is utf-8, use this options (if not, ignore it) # SourceCharset => 'utf-8', # DestCharset => 'iso-8859-1', # die if backend can't work, e. g. can't connect to server Die => 1, # Net::LDAP new params (if needed - for more info see perldoc Net::LDAP) Params => { port => 389, timeout => 120, async => 0, version => 3, }, }, # customer uniq id CustomerKey => 'sAMAccountName', # customer # CustomerID => 'otherPager', CustomerUserListFields => ['cn', 'mail'], CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail', 'sn', 'givenName', 'company', 'otherPager', 'othermailbox'], CustomerUserSearchPrefix => '', CustomerUserSearchSuffix => '*', CustomerUserSearchListLimit => 250, CustomerUserPostMasterSearchFields => ['mail'], CustomerUserNameFields => ['givenname', 'sn'], # show now own tickets in customer panel, CompanyTickets CustomerUserExcludePrimaryCustomerID => 0, # add a ldap filter for valid users (expert setting) # CustomerUserValidFilter => '(!(description=gesperrt))', CustomerUserValidFilter => '(!(userAccountControl:1.2.840.113556.1.4.803:=2))', # admin can't change customer preferences AdminSetPreferences => 0, # cache time to life in sec. - cache any ldap queris CacheTTL => 0, Map => [ # note: Login, Email and CustomerID needed! # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly [ 'UserSalutation', 'Title', 'title', 1, 0, 'var', '', 0 ], [ 'UserFirstname', 'Firstname', 'givenname', 1, 1, 'var', '', 0 ], [ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var', '', 0 ], [ 'UserLogin', 'Username', 'sAMAccountName', 1, 1, 'var', '', 0 ], [ 'UserEmail', 'Email', 'mail', 1, 1, 'var', '', 0 ], [ 'UserEmail2', 'Email 2', 'othermailbox', 1, 0, 'var', '', 1 ], [ 'UserCustomerID', 'CustomerID', 'otherPager', 0, 1, 'var', '', 0 ], # [ 'UserCustomerIDs', 'CustomerIDs', 'second_customer_ids', 1, 0, 'var', '', 0 ], [ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var', '', 0 ], [ 'UserPhoneTwo', 'Phone 2', 'homephone', 1, 0, 'var', '', 0 ], [ 'UserMobile', 'Mobil', 'mobile', 1, 0, 'var', '', 0 ], [ 'UserFax', 'Fax', 'facsimileTelephoneNumber', 1, 0, 'var', '', 0 ], [ 'UserAddress', 'Address', 'streetAddress', 1, 0, 'var', '', 0 ], [ 'UserPLZ', 'PLZ', 'postalCode', 1, 0, 'var', '', 0 ], [ 'UserOrt', 'Ort', 'l', 1, 0, 'var', '', 0 ], [ 'UserFirma', 'Firma', 'company', 1, 0, 'var', '', 0 ], [ 'UserComment', 'Comment', 'description', 1, 0, 'var', '', 0 ], ], }; ------------------------------------------------------------------------------------- And for customer authentication: $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::Multiple'; $Self->{'Customer::AuthModule::Multiple::Modules'}='Kernel::System::CustomerAuth::DB Kernel::System::CustomerAuth::LDAP'; # This is an example configuration for an LDAP auth. backend. # (take care that Net::LDAP is installed!) # $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP'; $Self->{'Customer::AuthModule::LDAP::Host'} = 'contra.tekomedia.local'; $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'ou=castroper,dc=tekomedia,dc=local'; $Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName'; # Check if the user is allowed to auth in a posixGroup # (e. g. user needs to be in a group xyz to use otrs) # $Self->{'Customer::AuthModule::LDAP::GroupDN'} = 'cn=Benutzer,cn=Builtin,dc=domain,dc=tld'; # $Self->{'Customer::AuthModule::LDAP::AccessAttr'} = 'member'; # for ldap posixGroups objectclass (just uid) # $Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'UID'; # for non ldap posixGroups objectclass (full user dn) # $Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'DN'; # The following is valid but would only be necessary if the # anonymous user do NOT have permission to read from the LDAP tree $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'cn=somecn,cn=Users,dc=domain,dc=tld'; $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'somepass'; # in case you want to add always one filter to each ldap query, use # this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => '(objectclass=user)' $Self->{'Customer::AuthModule::LDAP::AlwaysFilter'} = '(objectclass=user)'; # in case you want to add a suffix to each customer login name, then # you can use this option. e. g. user just want to use user but # in your ldap directory exists user@domain. # $Self->{'Customer::AuthModule::LDAP::UserSuffix'} = '@domain.com'; # Net::LDAP new params (if needed - for more info see perldoc Net::LDAP) $Self->{'Customer::AuthModule::LDAP::Params'} = { port => 389, timeout => 120, async => 0, version => 3, }; # Die if backend can't work, e. g. can't connect to server. $Self->{'Customer::AuthModule::LDAP::Die'} = 1; # --------------------------------------------------------- # # Versuch, ein weiteres Kundenauthentifizierungssystem via # # normaler Datenbank einzurichten # # --------------------------------------------------------- # # This is the auth. module againt the otrs db # $Self->{'Customer::AuthModule1'} = 'Kernel::System::CustomerAuth::DB'; $Self->{'Customer::AuthModule::DB::Table'} = 'customer_user'; $Self->{'Customer::AuthModule::DB::CustomerKey'} = 'login'; $Self->{'Customer::AuthModule::DB::CustomerPassword'} = 'pw'; As already mentioned, all cratched form Defaults.pm, still don't know where to start. Ah - the corresponding Multople.pm is attached and stored in $OTRS_HOME/Kernel/System/CustomerAuth, but even when I try to authenticate in an usual way through ldap OR DB, I still get the same error. As already mentioned, I don't think that it got sth. to do with authentication, as the SystemLog say that the user has authenticated successfully and as I switched on the display of logged in users, I also get the messageon the Agent-Frontend, that the corresponding user is online. Any ideas? Thanks in advance Markus Nagel Serge schrieb:
Hello,
CARNINO Daniele (FIAT SERVICES) a écrit :
Check out the new Defaults.pm of 2.3.x: you can notice that LDAP configuration has slightly changed. I had my LDAP backed broken too after upgrade, so I rewrote from scratch Config.pm using 2.3.2 Defaults.pm as base. Now everything work flawlessly at my site.
On my test machine, I rewrote Config.pm as you said (ldap part) and everything work now !!!
Thank you very much !
# --
# Kernel/System/CustomerAuth/Multiple.pm - provides multiple
# authentification module support
# Copyright (C) 2006 Ralf Becker

Hello
well, it still doesn't work for me although I wrote the whole ldap stuff from Default.pm from scratch.
I'll try on a copy of my real server, I have make the upgrade (no error) I rewrote the whole ldap part from Defaut.pm from scratch and i have also the error message: No MainObject! at /var/www/otrs-231/bin/cgi-bin/../../Kernel/System/AuthSession.pm line 83. for customer login. still stuck in v 2.2.6 Serge

Hello, well, I know, it's not a proper solution, but as I can't go back to version 2.2.7 because of modifications in the database and new data put in there, I simply tried to replace the file AuthSession.pm with version 1.29 from otrs 2.2.7. What shall I say: it works. As far as I can see until now, everything works not only for customers, but also for agents. The difference between version 1.36 in otrs 2.3.2 an 1.29 from 2.2.7 as I can see is the part with MainObject. As I don't know what it is for and as I cannot see any bad consequences, I'm gonny leave it like this. As already mentioned: not fine, but it works Greetings Markus Nagel Serge schrieb:
Hello
well, it still doesn't work for me although I wrote the whole ldap stuff from Default.pm from scratch.
I'll try on a copy of my real server, I have make the upgrade (no error)
I rewrote the whole ldap part from Defaut.pm from scratch and i have also the error message:
No MainObject! at /var/www/otrs-231/bin/cgi-bin/../../Kernel/System/AuthSession.pm line 83.
for customer login.
still stuck in v 2.2.6
Serge
_______________________________________________ OTRS mailing list: otrs - Webpage: http://otrs.org/ Archive: http://lists.otrs.org/pipermail/otrs To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/otrs

Markus, Markus Nagel a écrit :
Hello, well, I know, it's not a proper solution, but as I can't go back to version 2.2.7 because of modifications in the database and new data put in there, I simply tried to replace the file AuthSession.pm with version 1.29 from otrs 2.2.7. What shall I say: it works.
I'll try on my test machine and it's works ! I'll upgrade my real machine as soon i can. thanks very much ! Serge
participants (4)
-
CARNINO Daniele (FIAT SERVICES)
-
Markus Nagel
-
Serge
-
Serge Algarotti