]> jfr.im git - irc/atheme/atheme.git/commitdiff
contrib/cap_sasl.pl: allow key paths to be relative to ~/.irssi
authorMantas Mikulėnas <redacted>
Wed, 17 Dec 2014 21:14:39 +0000 (23:14 +0200)
committerMantas Mikulėnas <redacted>
Wed, 17 Dec 2014 21:16:36 +0000 (23:16 +0200)
contrib/cap_sasl.pl

index d495ab154d10ab2cb374574c3955c62ed2cd23b7..3ce6c1e8b39774147e3d21d5825a9cefcbb79b97 100644 (file)
@@ -257,7 +257,9 @@ if (eval {require Crypt::PK::ECC}) {
                my ($sasl, $data) = @_;
                my $u = $sasl->{user};
                my $k = $sasl->{password};
-               my $step = ++$sasl->{step};
+               if ($k !~ m!^[/.]!) {
+                       $k = Irssi::get_irssi_dir()."/".$k;
+               }
                if (!-f $k) {
                        Irssi::print("SASL: key file '$k' not found", MSGLEVEL_CLIENTERROR);
                        return;
@@ -267,6 +269,7 @@ if (eval {require Crypt::PK::ECC}) {
                        Irssi::print("SASL: no private key in file '$k'", MSGLEVEL_CLIENTERROR);
                        return;
                }
+               my $step = ++$sasl->{step};
                if ($step == 1) {
                        if (length $data == CHALLENGE_SIZE) {
                                my $sig = $pk->sign_hash($data);