%kiriwrite_version = (
"major" => 0,
- "minor" => 1,
+ "minor" => 2,
"revision" => 0
);
# Language file contains invalid permissions so return an critical error.
- kiriwrite_critical("languagefilepermissions");
+ kiriwrite_critical("languagefilenameinvalidpermissions");
}
}
- # Check if the string is a valid UTF8 string.
+ my $chunk = 0;
+ my $process = 8192;
+ my $length = 0;
+ my $chunkdata = "";
- if ($variable_data =~ m/^(
- [\x09\x0A\x0D\x20-\x7E] # ASCII
- | [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
- | \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
- | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
- | \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
- | \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
- | [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
- | \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
- )*$/x){
+ while ($chunk < $length){
- # The UTF-8 string is valid.
+ $chunkdata = substr($variable_data, $chunk, $process);
- } else {
-
- # The UTF-8 string is not valid, check if the no error
- # value is set to 1 and return an error if it isn't.
-
- if ($variable_noerror eq 1){
-
- # The no error value has been set to 1, so return
- # a value of 1 (meaning that the UTF-8 string is
- # invalid).
-
- return 1;
-
- } elsif ($variable_noerror eq 0) {
-
- # The no error value has been set to 0, so return
- # an error.
-
- kiriwrite_error("invalidutf8");
+ if ($chunkdata =~ m/\A(
+ [\x09\x0A\x0D\x20-\x7E] # ASCII
+ | [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
+ | \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
+ | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
+ | \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
+ | \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
+ | [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
+ | \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
+ )*\z/x){
+ # The UTF-8 string is valid.
+
} else {
+
+ # The UTF-8 string is not valid, check if the no error
+ # value is set to 1 and return an error if it isn't.
+
+ if ($variable_noerror eq 1){
+
+ # The no error value has been set to 1, so return
+ # a value of 1 (meaning that the UTF-8 string is
+ # invalid).
+
+ return 1;
+
+ } elsif ($variable_noerror eq 0) {
+
+ # The no error value has been set to 0, so return
+ # an error.
+
+ kiriwrite_error("invalidutf8");
+
+ } else {
+
+ # The no error value is something else other than 0
+ # or 1, so return an error.
+
+ kiriwrite_error("invalidoption");
+
+ }
+
+ }
- # The no error value is something else other than 0
- # or 1, so return an error.
-
- kiriwrite_error("invalidoption");
- }
+ $chunk = $chunk + $process;
}
+# # Check if the string is a valid UTF8 string.
+#
+# if ($variable_data =~ m/^(
+# [\x09\x0A\x0D\x20-\x7E] # ASCII
+# | [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
+# | \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
+# | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
+# | \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
+# | \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
+# | [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
+# | \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
+# )*$/x){
+#
+# # The UTF-8 string is valid.
+#
+# } else {
+#
+# # The UTF-8 string is not valid, check if the no error
+# # value is set to 1 and return an error if it isn't.
+#
+# if ($variable_noerror eq 1){
+#
+# # The no error value has been set to 1, so return
+# # a value of 1 (meaning that the UTF-8 string is
+# # invalid).
+#
+# return 1;
+#
+# } elsif ($variable_noerror eq 0) {
+#
+# # The no error value has been set to 0, so return
+# # an error.
+#
+# kiriwrite_error("invalidutf8");
+#
+# } else {
+#
+# # The no error value is something else other than 0
+# # or 1, so return an error.
+#
+# kiriwrite_error("invalidoption");
+#
+# }
+#
+# }
+
return 0;
} elsif ($variable_type eq "serverprotocol"){
# date is set in the past.
print "Expires: Sun, 01 Jan 2006 00:00:00 GMT\r\n";
- print "Content-Type: charset=utf-8;\r\n\r\n";
+ print "Content-Type: text/html; charset=utf-8;\r\n\r\n";
return;
}
}
print "Expires: Sun, 01 Jan 2006 00:00:00 GMT\r\n";
- print "Content-Type: charset=utf-8;\r\n\r\n";
+ print "Content-Type: text/html; charset=utf-8;\r\n\r\n";
print "Critical Error: " . $error_list{$error_type};
exit;