Greg Rundlett | 5 Oct 2007 21:34

trunk slow?

I just installed trunk, and it was woefully slow when navigating to parts of 
my repo tree that have many dirs or files.  The apache process and svn-real 
were taking all CPU at about 80/20 split or just apache.

I am taking a guess that the slowness *might* be related to the geshi addition 
because when I switched to branches/2.0 (and changed from geshi to enscript) 
the speed problem was fixed.

-- Greg
Guillaume Lederrey | 11 Oct 2007 17:38
Picon
Gravatar

Re: Configuring MultiView / HTTP 403

 Hello !

 I'm trying to get MultiViews to work on my Ubuntu 7.04. It's working
mostly well, except :

* the URL is http://server.tld/websvn/wsvn instead of
http://server.tld/websvn (very minor problem)
* when using the combobox on the upper-right to go to a different
project, I get a 403.

Do you have any idea in which direction I should be looking at ?

Apache configuration :

<Location /websvn/≥
 Options FollowSymLinks MultiViews
 DirectoryIndex wsvn.php

 # authentication
 SVNParentPath /home/svn
 AuthBasicProvider ldap file
 AuthType Basic
 AuthzLDAPAuthoritative off
 AuthName "Subversion Repository"
 AuthLDAPURL "[...]"
 AuthLDAPBindDN "[...]"
 AuthLDAPBindPassword [...]
 AuthUserFile /etc/subversion/dav_svn.passwd
 AuthzSVNAccessFile /etc/subversion/dav_svn.authz
 Require valid-user
(Continue reading)

Guillaume Lederrey | 11 Oct 2007 17:24
Picon
Gravatar

Configuring MultiView / HTTP 403

  Hello !

  I'm trying to get MultiViews to work on my Ubuntu 7.04. It's working
mostly well, except :

* the URL is http://server.tld/websvn/wsvn instead of
http://server.tld/websvn (very minor problem)
* when using the combobox on the upper-right to go to a different
project, I get a 403.

Do you have any idea in which direction I should be looking at ?

Apache configuration :

<Location /websvn/≥
  Options FollowSymLinks MultiViews
  DirectoryIndex wsvn.php

  # authentication
  SVNParentPath /home/svn
  AuthBasicProvider ldap file
  AuthType Basic
  AuthzLDAPAuthoritative off
  AuthName "Subversion Repository"
  AuthLDAPURL "[...]"
  AuthLDAPBindDN "[...]"
  AuthLDAPBindPassword [...]
  AuthUserFile /etc/subversion/dav_svn.passwd
  AuthzSVNAccessFile /etc/subversion/dav_svn.authz
  Require valid-user
(Continue reading)

catapuit2000-websvn | 16 Oct 2007 17:16
Picon
Favicon

TortoiseSVN, bugtraq:logregex and log message substitution in Bugtraq->replaceIDs()

Hi,
 
to my understanding, it seems that TortoiseSVN follows a different policy on log message substitution than WebSVN:
1. If bugtraq:logregex is defined, substitution is done only according to bugtraq:logregex, no prepending or appending of bug IDs.
2. bugtraq:logregex may be single line but contain multiple capture groups with valid issue IDs. In this case, all captures should be transformed (one may use non-capturing groups for sub-pattern grouping). Sample pattern: [Ii]ssue #?(\d+)(?:,? ?#?(\d+))*
 
The attached patch is supposed to resolve these issues.
 
Diff command: svn diff bugtraq.php
 
Regards,
Hoang

Die etwas anderen Infos rund um das Thema Reisen. BE A BETTER WELTENBUMMLER!
Index: bugtraq.php
===================================================================
--- bugtraq.php	(revision 627)
+++ bugtraq.php	(working copy)
 <at>  <at>  -109,60 +109,60  <at>  <at> 

          $logmsg  = "";
          $message = rtrim($message);
-         
-         if ($this->append)
-         {         
-            // Just compare the last line            
-            if (($offset = strrpos($message, "\n")) !== false)
-            {
-               $logmsg = substr($message, 0, $offset + 1);
-               $bugLine = substr($message, $offset + 1);
+
+         // Only perform this substitution when bugtraq:logregex is not set
+         if (!$this->logregex) {
+            if ($this->append)
+            {         
+               // Just compare the last line            
+               if (($offset = strrpos($message, "\n")) !== false)
+               {
+                  $logmsg = substr($message, 0, $offset + 1);
+                  $bugLine = substr($message, $offset + 1);
+               }
+               else
+                  $bugLine = $message;
             }
             else
-               $bugLine = $message;
-         }
-         else
-         {
-            if (($offset = strpos($message, "\n")) !== false)
             {
-               $bugLine = substr($message, 0, $offset);
-               $logmsg = substr($message, $offset);
+               if (($offset = strpos($message, "\n")) !== false)
+               {
+                  $bugLine = substr($message, 0, $offset);
+                  $logmsg = substr($message, $offset);
+               }
+               else
+                  $bugLine = $message;            
             }
-            else
-               $bugLine = $message;            
-         }
-
-         // Make sure that our line really is an issue tracker message
-
-         if (((strncmp($bugLine, $this->firstPart, $this->firstPartLen) == 0)) &&
-             strcmp(substr($bugLine, -$this->lastPartLen, $this->lastPartLen), $this->lastPart) == 0)
-         {
-            // Get the issues list
-            if ($this->lastPartLen > 0)
-               $issues = substr($bugLine, $this->firstPartLen, -$this->lastPartLen);
-            else
-               $issues = substr($bugLine, $this->firstPartLen);
+   
+            // Make sure that our line really is an issue tracker message
+   
+            if (((strncmp($bugLine, $this->firstPart, $this->firstPartLen) == 0)) &&
+                strcmp(substr($bugLine, -$this->lastPartLen, $this->lastPartLen), $this->lastPart) == 0)
+            {
+               // Get the issues list
+               if ($this->lastPartLen > 0)
+                  $issues = substr($bugLine, $this->firstPartLen, -$this->lastPartLen);
+               else
+                  $issues = substr($bugLine, $this->firstPartLen);

-            // Add each reference to the first part of the line
-            $line = $this->firstPart;
-            while ($pos = strpos($issues, ","))
-            {
-               $issue  = trim(substr($issues, 0, $pos));
-               $issues = substr($issues, $pos + 1);
+               // Add each reference to the first part of the line
+               $line = $this->firstPart;
+               while ($pos = strpos($issues, ","))
+               {
+                  $issue  = trim(substr($issues, 0, $pos));
+                  $issues = substr($issues, $pos + 1);

-               $line .= "<a href=\"".str_replace("%BUGID%", $issue, $this->urlstring)."\">$issue</a>, ";
+                  $line .= "<a href=\"".str_replace("%BUGID%", $issue, $this->urlstring)."\">$issue</a>, ";
+               }
+               $line .= "<a href=\"".str_replace("%BUGID%", trim($issues), $this->urlstring)."\">".trim($issues)."</a>".$this->lastPart;
+            
+               if ($this->append)
+                  $message = $logmsg.$line;
+               else
+                  $message = $line.$logmsg;
             }
-            $line .= "<a href=\"".str_replace("%BUGID%", trim($issues), $this->urlstring)."\">".trim($issues)."</a>".$this->lastPart;
-            
-            if ($this->append)
-               $message = $logmsg.$line;
-            else
-               $message = $line.$logmsg;
          }
-      
-         // Now replace all other instances of bug IDs that match the regex
-
-         if ($this->logregex)
+         else // bugtraq:logregex is set
          {
             $message = rtrim($message);
             $line = "";
 <at>  <at>  -174,22 +174,24  <at>  <at> 

             if (empty($regex_single))
             {
-               // If the property only contains one line, then the pattern is only designed
-               // to find one issue number at a time.  e.g. [Ii]ssue #?(\d+).  In this case
-               // we need to replace the matched issue ID with the link.
+               // If the property only contains one line, every capture must be an issue.
+               // e.g. [Ii]ssue #?(\d+)(?:,? ?#?(\d+))*. Therefore, we replace all
+               // captured issue IDs with proper links.

                if ($numMatches = preg_match_all($regex_all, $message, $matches, PREG_SET_ORDER |
PREG_OFFSET_CAPTURE))       
                {
                   $addedOffset = 0;
                   for ($match = 0; $match < $numMatches; $match++)
                   {
-                     $issue = $matches[$match][1][0];
-                     $issueOffset = $matches[$match][1][1];
-                 
-                     $issueLink = "<a href=\"".str_replace("%BUGID%", $issue, $this->urlstring)."\">".$issue."</a>";
-                     $message = substr_replace($message, $issueLink, $issueOffset + $addedOffset, strlen($issue));
-                     $addedOffset += strlen($issueLink) - strlen($issue);
-                  }
+                     for ($capture = 1; $capture < count($matches[$match]); $capture++) {
+                        $issue = $matches[$match][$capture][0];
+                        $issueOffset = $matches[$match][$capture][1];
+
+                        $issueLink = "<a href=\"".str_replace("%BUGID%", $issue, $this->urlstring)."\">".$issue."</a>";
+                        $message = substr_replace($message, $issueLink, $issueOffset + $addedOffset, strlen($issue));
+                        $addedOffset += strlen($issueLink) - strlen($issue);
+                     }
+                   }
                }   
             }     
             else

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe <at> websvn.tigris.org
For additional commands, e-mail: dev-help <at> websvn.tigris.org
Andy Wettstein | 19 Oct 2007 17:08
Picon

authentication with php under fastcgi

Hi,

When using php under fastcgi REMOTE_USER isn't defined.  It is necessary
to use REDIRECT_REMOTE_USER.

So the setUsername function in auth.php should look something like this:

        function setUsername($username)
        {
                if ($username == "") // Use the current user
                {
                        if ( <at> $_SERVER["REMOTE_USER"]) {
                                $this->user =  <at> $_SERVER["REMOTE_USER"];
                        } elseif ( <at> $_SERVER["REDIRECT_REMOTE_USER"]) {
                                $this->user =  <at> $_SERVER["REDIRECT_REMOTE_USER"];
                        }

                }
                else
                {
                        $this->user = $username;
                }
        }

--

-- 
andy wettstein
unix administrator
department of physics
university of illinois at urbana-champaign
Mark.Ziegler | 19 Oct 2007 22:34
Picon

Mark Ziegler ist außer Haus.


Ich werde ab  19.10.2007 nicht im Büro sein. Ich kehre zurück am
05.11.2007.

Ich werde Ihre Nachricht nach meiner Rückkehr beantworten.
I am not in the office.

Vorsitzender des Aufsichtsrats:  Dr. Thomas Bach 
Vorstand: Rainer Hundsdörfer (Vorsitzender), Dr. Dieter Japs, Karl Wachter 
Sitz Tauberbischofsheim , Registergericht Mannheim HRB 560227 
UST / ID-Nr. DE 146587898 
Ben LeMasurier | 24 Oct 2007 22:00
Picon
Gravatar

"Path" browser not working

Hey everyone,

I've moved to a new server and I am not able to get the repository
contents to display. I made a dump of my repository and restored it on
the new server. Everything works fine as far as normal svn operations
go. However, websvn is not able to display the contents of the
respository on the listing.php page. I've been able to debug it down
to the call made to SVNRepository::dirContents() from listing.php on
line 249. When the command (svn --non-interactive --config-dir /tmp
list 'file:///home/uidzer0/svn/system/' <at> 62svn --non-interactive
--config-dir /tmp list 'file:///home/uidzer0/svn/system/' <at> 62) is ran
it returns "svn: URL 'file:///home/uidzer0/svn/system/ <at> 62svn'
non-existent in that revision". Is there something special needed in
the repository so that websvn can read it? The log browser shows that
rev 62 is there, and normal command line operations so the same.

Thanks!

Ben
Jason Woodruff | 29 Oct 2007 21:54

.doc and .pdf visible on secured directory

Hi
I've got a secured directory within my repository (using Basic HTTP 
authentication + apache).  This is not browsable through WebSVN (as 
expected).
Browsing through the revisions I've found that files with .doc and .pdf 
extensions are downloadable from the list of changed files, whilst files 
with a .ppt or .xls extension get the 'You do not have the necessary 
permissions to view this directory'.
Why the different behaviour?  Surely all files should be secure 
irrespective of the type?
Thanks
Jason
Erik Pöhler | 30 Oct 2007 15:46
Picon

AW: .doc and .pdf visible on secured directory

I have a basic understanding problem here: how can you protect a folder (with htpassword/htusers a.s.o)
when WebSVN is "just a few php-files" that call a server-side modul?

As far as i can tell, authentification only works for folder-based structures, not for parameters of a
dynamic script. Sorry, if thats not the desired constructive answer.

Mit freundlichen Grüßen

 
Erik Pöhler
Grafikabteilung
Tel. 08031 - 40072-209
Mobil: 0179 - 9903440

-----Ursprüngliche Nachricht-----
Von: Jason Woodruff [mailto:jason <at> likemindedgroup.com] 
Gesendet: Montag, 29. Oktober 2007 21:55
An: dev <at> websvn.tigris.org
Betreff: .doc and .pdf visible on secured directory

Hi
I've got a secured directory within my repository (using Basic HTTP 
authentication + apache).  This is not browsable through WebSVN (as 
expected).
Browsing through the revisions I've found that files with .doc and .pdf 
extensions are downloadable from the list of changed files, whilst files 
with a .ppt or .xls extension get the 'You do not have the necessary 
permissions to view this directory'.
Why the different behaviour?  Surely all files should be secure 
irrespective of the type?
Thanks
Jason

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe <at> websvn.tigris.org
For additional commands, e-mail: dev-help <at> websvn.tigris.org

###########################################

This message has been scanned by F-Secure Anti-Virus for Microsoft Exchange.
For more information, connect to http://www.f-secure.com/

Gmane