threads / patch / 24151

patch, 2 partsgit-cvsserver: Minor fixes for oopsies

Subject: [PATCH 0/2] git-cvsserver: Minor fixes for oopsies

## tl;dr

3 messages between Jun 19, 2010 and Jun 19, 2010. Diffs are folded; open one to read it.

replies: 2people: 1as markdown or json

Ævar Arnfjörð Bjarmason· Jun 19, 2010, 16:06 UTC · lore

The original git-cvsserver pserver support had some oops code. There was a typo in a comment, and the error for invalid password formats wasn't correct.

As an aside, since the original implementation I've released the code on CPAN as the Crypt::CVS. That version also has a scramble() function and exhaustive tests.

It would make a good experimental case for adding dual-life modules to Git due to its smallness and the inclusion of tests.

Ævar Arnfjörð Bjarmason (2):
  git-cvsserver: typo in a comment: bas -> has
  git-cvsserver: fix error for invalid password formats
 git-cvsserver.perl |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)
Ævar Arnfjörð Bjarmason· Jun 19, 2010, 16:06 UTC · re: Ævar Arnfjörð Bjarmason · lore

[PATCH 1/2] git-cvsserver: typo in a comment: bas -> has

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 git-cvsserver.perl |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Show changes to git-cvsserver.perl +1 −1
diff --git a/git-cvsserver.perl b/git-cvsserver.perl
index 3833bee..6de7921 100755
--- a/git-cvsserver.perl
+++ b/git-cvsserver.perl
@@ -2656,7 +2656,7 @@ sub descramble
     );
     my ($str) = @_;
 
-    # This should never happen, the same password format (A) bas been
+    # This should never happen, the same password format (A) has been
     # used by CVS since the beginning of time
     die "invalid password format $1" unless substr($str, 0, 1) eq 'A';
 
-- 
1.7.1.251.g92a7
Ævar Arnfjörð Bjarmason· Jun 19, 2010, 16:06 UTC · re: Ævar Arnfjörð Bjarmason · lore

[PATCH 2/2] git-cvsserver: fix error for invalid password formats

Change the error message to report the erroneous password character. $1 was never set in the previos version, it was a leftover from older code that used a regex for the test.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 git-cvsserver.perl |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
Show changes to git-cvsserver.perl +4 −1
diff --git a/git-cvsserver.perl b/git-cvsserver.perl
index 6de7921..0f45c39 100755
--- a/git-cvsserver.perl
+++ b/git-cvsserver.perl
@@ -2658,7 +2658,10 @@ sub descramble
 
     # This should never happen, the same password format (A) has been
     # used by CVS since the beginning of time
-    die "invalid password format $1" unless substr($str, 0, 1) eq 'A';
+    {
+        my $fmt = substr($str, 0, 1);
+        die "invalid password format `$fmt'" unless $fmt eq 'A';
+    }
 
     my @str = unpack "C*", substr($str, 1);
     my $ret = join '', map { chr $SHIFTS[$_] } @str;
-- 
1.7.1.251.g92a7

← back to recent threads