Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Hello monks

I have an issue using DBD::Sybase and Repserver with the encryptPassword flag set

#!/usr/bin/perl -w use strict; use DBI; my $server="MY_REPSERVER"; my $user="repserv_user"; my $pass="welcome"; my $dbh = DBI->connect("dbi:Sybase:server=$server", loginTimeout=20;ti +meout=60;encryptPassword=1, $user, $pass,{ PrintError => 0, # Don't print + warning messages RaiseError => 1 } ); my $sth = $dbh->prepare("Admin who_is_down"); $sth->execute;

This is the error it produces

DBI connect('server=MY_REPSERVER;loginTimeout=20;timeout=60;encryptPas +sword=1','repserv_user',...) failed: Server message number=14021 seve +rity=12 state=0 line=0 server=MY_REPSERVER text=Invalid login attempt +ed by user 'repserv_user' OpenClient message: LAYER = (4) ORIGIN = (1 +) SEVERITY = (4) NUMBER = (44) Server MY_REPSERVER, database Message String: ct_connect(): protocol specific layer: external error: + The attempt to connect to the server failed.

The target Sybase repserver and corresponding RSSD server have network password enabled which is a security requirement we have to abide by

I raised a case with SAP about this but they say it's only an issue with Perl and were not able to assist. Using isql/sqsh I have no issues. But due to the huge amount of perl code we have I'd like to resolve this issue if possible without reverting to using an alternative

The code above works fine when the encryptPassword=1 is not set but it then invaildates the security requirement. The same code works fine against a Sybase ASE with encryptPassword=1 set

We are using the latest version of DBD::Sybase that was released (yes I am aware it is fairly old now)

Has anybody seen this issue before or can maybe shed some light on how I overcome this problem ?

Thanks in advance