Here's the link to the post on modperl mailing list: http:[EMAIL PROTECTED]
-Carlos Carlos Ramirez wrote: > > Here are some fixes I incorporated into my private copy of > Authen::Smb and Apache::AuthenSmb modules. These changes > are based on some discussion I found in the modperl > mailing list posted on Thu, 16 Sep 1999 by Matt Arnold. I > basically copied Matt's suggestions and added them in. > I was getting the same error messages but after I > incorporated theses changes, it to fixed the problem on > SUN Sparc Solaris 2.5.1..2.8. > > =Begin Snippet from mailing list > > The resulting additions to Authen::Smb look like this: > > use Fcntl qw(:flock); > ... > open S, "> /full/path/to/AuthenSmb.lck" or die "Can't open > AuthenSmb.lck: $!\n"; > flock S, LOCK_EX; > my $res = Valid_User($username, $password, $server, $backup, $domain); > > close S; > > In short, I ended up adding > the following two lines to Apache::AuthenSmb. > > use Memoize; > memoize('Authen::Smb::authen'); > > =End of Snippet > > I contacted the author of Apache::AuthenSmb (a long time > ago) and asked him if he could add these changes into > the module. He stated he no longer has access to machines > where he can test his module and asked me to post > it in the modperl mailing list (which I never did). > I used this module extensively in our environment and > have also added some other nice features. Anyhow, if > the author can no longer maintain it, i'd be glad ty > update it ;) > > Since, this fix also requires that Authen::Smb to be > modified, maybe the author of the cool Authen::Smb module > add some option to allow a lock file or force it to use a > lock file (??). > > Something along the lines: > sub authen { > my @args = @_; > > # Truncate everything to length 80 to avoid poor coding practices in the > # smbvalid.a (buffer overflows) PMK--fixme in smbvalid.a when possible. > for my $i ( 0..$#args ) { > $args[$i] = substr($args[$i], 0, 80); > } > > my($username, $password, $server, $backup, $domain, $lockfile) = @args; > my $res; > if ($lockfile) { > open L, "> $lockfile" or die "Can't open AuthenSmb.lck: $!\n"; > flock L, LOCK_EX; > $res = Valid_User($username, $password, $server, $backup, $domain); > close L; > } > else { > $res = Valid_User($username, $password, $server, $backup, $domain); > } > > return $res; > } > > > Anyhow, hope this helps. > > -Carlos > > > > > From: "Stathy G. Touloumis" <[EMAIL PROTECTED]> > > Date: 2002/02/19 Tue PM 02:00:35 CST > > To: "Andrew Afliatunov" <[EMAIL PROTECTED]>, > > "Mod_perl" <[EMAIL PROTECTED]> > > Subject: RE: [Samba authorization] > > > > You should probably contact the maintainers of Apache::AuthSmb and > > kindly ask them to look into the problem : ) If I had some Sparcs lying > > around > > I would be willing to look into it but I don't ; ) > > > > > Please, let's continue discussing my problem. Remind you, that I > > > installed mod_perl, Authen-Smb-0.91 and Apache-AuthenSmb-0.60 for > > > authorization in apache against NT server. And I get this error in > > > apache error.log file: > > > "Undefined subroutine &Apache::AuthenSmb::handler called". > > > In discussion we stopped at the point that I have wrong Smb.so file, > > > because when I put "PerlModule Apache::AuthenSmb" in my httpd.conf file > > > I get > > > -- > > > Syntax error on line 346 of /usr/local/apache/conf/httpd.conf: > > > Can't load > > > '/usr/local/lib/perl5/site_perl/5.6.1/sun4-solaris/auto/Authen/Smb/Smb.so' > > > for > > > module Authen::Smb: ld.so.1: /usr/local/apache/bin/httpd: fatal: > > > relocation error: file > > > /usr/local/lib/perl5/site_perl/5.6.1/sun4-solaris/auto/Authen/Smb/Smb.so: > > > symbol main: referenced symbol not found at > > > /usr/local/lib/perl5/5.6.1/sun4-solaris/DynaLoader.pm line 206. > > > at /usr/local/lib/perl5/site_perl/5.6.1/Apache/AuthenSmb.pm line 5 > > > Compilation failed in require at > > > /usr/local/lib/perl5/site_perl/5.6.1/Apache/AuthenSmb.pm line 5. > > > BEGIN failed--compilation aborted at > > > /usr/local/lib/perl5/site_perl/5.6.1/Apache/AuthenSmb.pm line 5. > > > Compilation failed in require at (eval 3) line 3. > > > -- > > > when making 'apachectl configtest'. I tried to reinstall AuthenSmb with > > > its default options (default Makefile.PL), - no success. > > > Maybe I must install it with some different from default options? Who > > > knows what are such options? What is configurable there? Or what may be > > > done with my Smb.so in oder Authen:Smb to understand it? > > > > > > > -- ------------------------------------------------------------------------- Carlos Ramirez + Boeing + Human Flight & Space Exploration + 714.372.4181 -------------------------------------------------------------------------