Showing 1 changed files with 7 additions and 8 deletions
+7 -8
lib/Gitprep.pm
... ...
@@ -135,8 +135,10 @@ sub startup {
135 135
     },
136 136
     project_name => sub {
137 137
       my $value = shift;
138
-      
139
-      return ($value || '') =~ /^[a-zA-Z0-9_\-][a-zA-Z0-9_\-\.]*$/;
138
+      return 0 unless defined $value;
139
+      return 0 if $value eq '.' || $value eq '..';
140
+
141
+      return ($value || '') =~ /[a-zA-Z0-9_\-\.]+$/;
140 142
     }
141 143
   );
142 144
   
... ...
@@ -189,10 +191,8 @@ sub startup {
189 191
 
190 192
       # Custom routes
191 193
       {
192
-        my $id_re = qr/[a-zA-Z0-9_-]+/;
193
-        
194 194
         # User
195
-        my $r = $r->route('/:user', user => $id_re);
195
+        my $r = $r->route('/:user');
196 196
         {
197 197
           # Home
198 198
           $r->get('/' => template '/user');
... ...
@@ -203,8 +203,7 @@ sub startup {
203 203
 
204 204
         # Smart HTTP
205 205
         {
206
-          
207
-          my $r = $r->route('/(:project).git', project => $id_re);
206
+          my $r = $r->route('/(#project).git');
208 207
           
209 208
           {
210 209
             my $r = $r->under(sub {
... ...
@@ -267,7 +266,7 @@ sub startup {
267 266
                 
268 267
         # Project
269 268
         {
270
-          my $r = $r->route('/:project', project => $id_re);
269
+          my $r = $r->route('/#project');
271 270
           
272 271
           {
273 272
             my $r = $r->under(sub {