git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/3] cvsserver: Corrections to the database backend configuration

From
Frank Lichtenheld <frank@lichtenheld.de>
Date
Apr 7, 2007, 14:58 UTC
Message-ID
<11759578901878-git-send-email-frank@lichtenheld.de>
In-Reply-To
<11759578902278-git-send-email-frank@lichtenheld.de>

Don't include the scheme name in gitcvs.dbdriver, it is always 'dbi' anyway.

Don't allow ':' in driver names nor ';' in database names for sanity reasons.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
---
 git-cvsserver.perl |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)
 I wasn't sure whether I should send this as a new patch or as a new version of my
 older one?
diff --git a/git-cvsserver.perl b/git-cvsserver.perl
index 5532ae7..7fe7949 100755
--- a/git-cvsserver.perl
+++ b/git-cvsserver.perl
@@ -2149,7 +2149,7 @@ sub new
     die "Git repo '$self->{git_path}' doesn't exist" unless ( -d $self->{git_path} );
 
     $self->{dbdriver} = $cfg->{gitcvs}{$state->{method}}{dbdriver} ||
-        $cfg->{gitcvs}{dbdriver} || "dbi:SQLite";
+        $cfg->{gitcvs}{dbdriver} || "SQLite";
     $self->{dbname} = $cfg->{gitcvs}{$state->{method}}{dbname} ||
         $cfg->{gitcvs}{dbname} || "%Ggitcvs.%m.sqlite";
     $self->{dbuser} = $cfg->{gitcvs}{$state->{method}}{dbuser} ||
@@ -2165,7 +2165,9 @@ sub new
     $self->{dbname} =~ s/%([mauGg])/$mapping{$1}/eg;
     $self->{dbuser} =~ s/%([mauGg])/$mapping{$1}/eg;
 
-    $self->{dbh} = DBI->connect("$self->{dbdriver}:dbname=$self->{dbname}",
+    die "Invalid char ':' in dbdriver" if $self->{dbdriver} =~ /:/;
+    die "Invalid char ';' in dbname" if $self->{dbname} =~ /;/;
+    $self->{dbh} = DBI->connect("dbi:$self->{dbdriver}:dbname=$self->{dbname}",
                                 $self->{dbuser},
                                 $self->{dbpass});
     die "Error connecting to database\n" unless defined $self->{dbh};
-- 
1.5.1
Previous: Frank LichtenheldNext: Frank Lichtenheld
Message 14 of 23 in “cvsserver: Make configuration way more flexible”
  1. cvsserver: Make configuration way more flexibleFrank Lichtenheld, Mar 19, 2007
  2. 1/5 cvsserver: Introduce new state variable 'method'Frank Lichtenheld, Mar 19, 2007
  3. 2/5 cvsserver: Handle three part keys in git config correctlyFrank Lichtenheld, Mar 19, 2007
  4. 3/5 cvsserver: Allow to override the configuration per access methodFrank Lichtenheld, Mar 19, 2007
  5. 4/5 cvsserver: Make the database backend configurableFrank Lichtenheld, Mar 19, 2007
  6. Martin LanghoffMar 19, 2007
  7. Frank LichtenheldMar 23, 2007
  8. Frank LichtenheldMar 23, 2007
  9. 5/5 cvsserver: Abort if connect to database failsFrank Lichtenheld, Mar 19, 2007
  10. cvsserver: Use DBI->table_info instead of DBI->tablesFrank Lichtenheld, Mar 31, 2007
  11. Frank LichtenheldMar 31, 2007
  12. 0/3 cvsserver: small corrections and bring documentation up to speedFrank Lichtenheld, Apr 7, 2007
  13. 1/3 cvsserver: small corrections to asciidoc documentationFrank Lichtenheld, Apr 7, 2007
  14. 2/3 cvsserver: Corrections to the database backend configurationFrank Lichtenheld, Apr 7, 2007
  15. 3/3 cvsserver: Add asciidoc documentation for new database backend configurationFrank Lichtenheld, Apr 7, 2007
  16. Junio C HamanoApr 8, 2007
  17. Frank LichtenheldApr 11, 2007
  18. cvsserver: Add asciidoc documentation for new database backend configurationFrank Lichtenheld, Apr 12, 2007
  19. Jakub NarebskiApr 13, 2007
  20. config.txt: Add gitcvs.db* variablesFrank Lichtenheld, Apr 13, 2007
  21. cvsserver: Document the GIT branches -> CVS modules mapping more prominentlyFrank Lichtenheld, Apr 12, 2007
  22. Junio C HamanoApr 12, 2007
  23. Frank LichtenheldApr 12, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.