BEGIN { ($ENV{PERLINIT}||'') =~ /(.+)/s and eval $1 }
+use utf8;
use Fcntl qw(:flock :seek :mode);
# import from fex.ph
&check_maint;
-unless (@local_domains and @local_rdomains) {
+unless (@local_domains or @local_rdomains) {
html_error($error,
"No domains for registrations are defined.",
"Contact $ENV{SERVER_ADMIN} for details."
);
}
-unless (@local_hosts and ipin($ENV{REMOTE_ADDR}||0,@local_hosts)) {
+unless (@local_hosts and ipin($ra,@local_hosts) or
+ @local_rhosts and ipin($ra,@local_rhosts)) {
html_error($error,
- "Registrations from your host ($ENV{REMOTE_ADDR}) are not allowed.",
+ "Registrations from your host ($ra) are not allowed.",
"Contact $ENV{SERVER_ADMIN} for details."
);
}
}
# if (-f "$user/@") { http_die("$user is already activated") }
open $user,'>',"$user/@" or http_die("open $user/@ - $!\n");
- print {$user} $id,"\n";
+ print {$user} $id,"\n";
close $user or http_die("close $user/@ - $!\n");
-
+
http_header("200 OK");
print html_header($head);
my $url = "$ENV{PROTO}://$ENV{HTTP_HOST}/fup/" . b64("from=$user&id=$id");
'<p>'
'or you can use:'
'<p>'
- '<table>
+ '<table>'
' <tr><td>URL:<td><code><b>$ENV{PROTO}://$ENV{HTTP_HOST}/fup/</code></b></tr>'
' <tr><td>Sender:<td><code><b>$user</code></b></tr>'
' <tr><td>auth-ID:<td><code><b>$id</code></b></tr>'
- '</table>
+ '</table>'
'</body></html>'
));
furlog("confirm: account $user created");
' accept-charset="UTF-8"'
' enctype="multipart/form-data">'
));
-
+
if (@local_domains and @local_hosts and ipin($ra,@local_hosts)) {
$reg = $ra;
if (grep(/\*/,@local_domains)) {
));
}
}
-
- if (@local_rdomains and @local_rhosts and
+
+ if (@local_rdomains and @local_rhosts and
(not @registration_hosts or ipin($ra,@registration_hosts))) {
print " <p>or<p>\n" if $reg;
$reg = $ra;
' <p>'
));
}
-
+
if (@demo) {
print " <p>or<p>\n" if $reg;
$reg = $ra;
' <p>'
));
}
-
+
if ($reg) {
pq(qq(
' <p>'
pq(qq(
'</pre>'
'<p><hr><p>'
- '<a href="http://fex.rus.uni-stuttgart.de/users.html">User types overview</a>'
+ '<a href="/users.html">User types overview</a>'
'</body></html>'
));
} else {
$mydomains .= "|$mdomain" if $mdomain;
$user .= '@'.$domain if $domain and $user !~ /@/;
# $user .= '@'.$mdomain if $mdomain and $user !~ /@/;
-
+
unless (@local_hosts and ipin($ra,@local_hosts)) {
html_error($error,
"Registrations from your host ($ra) are not allowed.",
$error,
"you are already registered".
" (<a href=\"/fup?from=$user&ID_forgotten=1\">I have lost my auth-ID</a>)"
- );
+ );
}
unless (-d $user) {
print {$rf} "\@LOCAL_RHOSTS\n";
close $rf;
if (open $user,'>',"$user/.auto") {
- print {$user} "fur:external\n";
+ print {$user} "fur:external\n";
close $user;
}
} elsif ($demouser) {
printf {$quota} "sender:%d\n",$demo[0];
close $quota;
if (open $user,'>',"$user/.auto") {
- print {$user} "fur:demo\n";
+ print {$user} "fur:demo\n";
close $user;
}
open $demouser,'>',"$demouser/.demo" and close $demouser;
} else {
if (open $user,'>',"$user/.auto") {
- print {$user} "fur:internal\n";
+ print {$user} "fur:internal\n";
close $user;
}
}
if ("@local_domains" eq "*") {
open $id,'>',"$user/@" or http_die("open $user/@ - $!\n");
- print {$id} $id,"\n";
+ print {$id} $id,"\n";
close $id or http_die("close $user/@ - $!\n");
http_header("200 OK");
print html_header($head);
# from fexsend
if ($verify eq 'no') {
open $id,'>',"$user/@" or http_die("open $user/@ - $!\n");
- print {$id} $id,"\n";
+ print {$id} $id,"\n";
close $id or http_die("close $user/@ - $!\n");
http_header("200 OK",'Content-Type: text/plain');
print "$ENV{PROTO}://$ENV{HTTP_HOST}/fup?from=$user&ID=$id\n";
http_header("200 OK");
print html_header($head);
print "confirmation e-mail has been sent to <code>$user</code>\n";
-print "</body></html>\n";
+print "</body></html>\n";
furlog("confirmation request mailed to $user");
exit;
# standard log
sub furlog {
my $msg = "@_";
-
+
$msg =~ s/\n/ /g;
$msg =~ s/\s+$//;
$msg = sprintf "%s [%s_%s] %s %s\n",
isodate(time),$$,$ENV{REQUESTCOUNT},$fra,$msg;
-
+
writelog($log,$msg);
}