Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 9ea6d163

Von Sven Schöling vor etwa 14 Jahren hinzugefügt

  • ID 9ea6d163fb30b697f41282af0fab30b3b30438ec
  • Vorgänger 16cb3051
  • Nachfolger 7148af2b

Bugfix CGI Routing - $0 wird bei MatchAlias auf dispatcher.pl nicht richtig gesetzt.

Die ursprüngliche Version zieht sich den aufgrufenen Scriptnamen aus $0. Das
funktioniert aber nur in der Symlinkversion. Wenn ein Matchalias auf das Script
gesetzt wird, muss der Scriptname aus %ENV geholt werden. Da das bei FCGI
sowieso schon gemacht wird, das einfach zum Standard erklärt, und dafür das
unrequire vereinfacht.

Unterschiede anzeigen:

SL/Dispatcher.pm
130 130
  my $interface = lc(shift || 'cgi');
131 131
  my ($script_name, $action);
132 132

  
133
  if ($interface =~ m/^(?:fastcgi|fcgid|fcgi)$/) {
134
    $script_name = $ENV{SCRIPT_NAME};
135
    unrequire_bin_mozilla();
133
  $script_name = $ENV{SCRIPT_NAME};
136 134

  
137
  } else {
138
    $script_name = $0;
139
  }
135
  unrequire_bin_mozilla($interface);
140 136

  
141 137
  $::cgi         = CGI->new('');
142 138
  $::locale      = Locale->new($::language);
......
205 201
}
206 202

  
207 203
sub unrequire_bin_mozilla {
204
  return unless $_[0] =~ m/^(?:fastcgi|fcgid|fcgi)$/;
205

  
208 206
  for (keys %INC) {
209 207
    next unless m#^bin/mozilla/#;
210 208
    next if /\bcommon.pl$/;

Auch abrufbar als: Unified diff