Nick:

The following should make 1.4 behave the same on debian and other platforms
and do so in the most secure way possible.
https://github.com/ledgersmb/LedgerSMB/pull/1972.patch

Could you please test.

On Thu, Aug 4, 2016 at 3:10 PM, Chris Travers <chris.trav...@gmail.com>
wrote:

> As an update on the error:...  There's apparently some emergency patching
> going on in the Perl community.  I don't know how long before we hear the
> full story but based on the panicked rush.....
>
> It looks like upstream Perl will fix the opacity problem.  See
> https://rt.perl.org/Ticket/Display.html?id=128769
>
> On Thu, Aug 4, 2016 at 2:02 PM, Nick Prater <n...@npbroadcast.com> wrote:
>
>> ledgersmb has stopped working on my Debian system. Substituting "use
>> parent" for "use base" in two modules has 'fixed' the problem.
>>
>> I believe this is since a recent perl update, but only discovered the
>> problem on restarting Starman after upgrading ledgersmb. The problem is
>> not specific to one version of ledgersmb - I see the same issue with
>> 1.3.26 and 1.3.31.
>>
>> I am running Debian GNU/Linux 8.5 (jessie) with perl 5.20.2 and
>> ledgersmb 1.3.31
>>
>> I try to start ledgersmb with:
>> # starman --preload-app tools/starman.psgi
>>
>> But I get an error:
>>
>> > Error while loading /srv/ledgersmb-1.4.31/tools/starman.psgi:
>> > Base class package "LedgerSMB::DBObject" is empty.
>> > (Perhaps you need to 'use' the module which defines that package first,
>> > or make that module available in @INC... [snip]
>> > at LedgerSMB/Setting.pm line 53
>>
>> http://perldoc.perl.org/perlobj.html says:
>>
>> > ...Much older code also uses the base pragma.
>> > For new code, we recommend that you use the parent pragma to
>> > declare your parents. This pragma will take care of setting @ISA.
>> > It will also load the parent classes and make sure that the
>> > package doesn't inherit from itself.
>>
>> changing "use base" for "use parent" in Setting.pm fixes this error.
>>
>> I then get another error:
>>
>> > Error while loading /srv/ledgersmb-1.4.31/tools/starman.psgi:
>> > Base class package "LedgerSMB::Request" is empty.
>> > (Perhaps you need to 'use' the module which defines that package first,
>> > or make that module available in @INC... [snip]
>> > at LedgerSMB.pm line 182.
>>
>
>
>
>>
>> changing "use base" for "use parent" in LedgerSMB.pm fixes this error.
>> Starman then starts and I can use ledgersmb normally.
>>
>> Frankly I don't understand why "use base" is failing in these two
>> locations and why "use parent" behaves differently. I wonder if this
>> problem is unique to my setup, or it affects others also. For now I'm up
>> and running. I document my steps here in case anybody else encounters a
>> similar problem, but I'd also appreciate any words of wisdom to help me
>> understand what is happening.
>>
>
>  http://ledgersmbdev.blogspot.dk/2016/07/notes-on-security-
> separation-of.html has a fair bit of information.
>
>>
>> Many thanks,
>>
>> Nick
>>
>>
>> ------------------------------------------------------------
>> ------------------
>> _______________________________________________
>> Ledger-smb-devel mailing list
>> Ledger-smb-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel
>>
>
>
>
> --
> Best Wishes,
> Chris Travers
>
> Efficito:  Hosted Accounting and ERP.  Robust and Flexible.  No vendor
> lock-in.
> http://www.efficito.com/learn_more
>



-- 
Best Wishes,
Chris Travers

Efficito:  Hosted Accounting and ERP.  Robust and Flexible.  No vendor
lock-in.
http://www.efficito.com/learn_more
------------------------------------------------------------------------------
_______________________________________________
Ledger-smb-devel mailing list
Ledger-smb-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel

Reply via email to