added comments and bug fixes
parent
1027012e91
commit
71f6da1ce4
|
@ -15,6 +15,10 @@ server "dmesg.devel" {
|
|||
fastcgi strip 1
|
||||
}
|
||||
|
||||
location "/comment" {
|
||||
fastcgi strip 1
|
||||
}
|
||||
|
||||
location "/" {
|
||||
directory index upload
|
||||
}
|
||||
|
|
|
@ -13,13 +13,13 @@ fail() {
|
|||
}
|
||||
|
||||
str_purifier() {
|
||||
sed -e 's/[^A-Za-z0-9\_\.\+\%\-]*//g' -e 's/\+/\\ /g' -e 's/%2B/+/g' -e 's/%3A/:/g'
|
||||
sed -e 's/[^A-Za-z0-9,\_\.\+\%\-]*//g' -e 's/\+/\\ /g' -e 's/%2B/+/g' -e 's/%3A/:/g' -e 's/%20/\\ /g'
|
||||
}
|
||||
|
||||
get_param() {
|
||||
_name="$1"
|
||||
_value="$(echo "$REQUEST_URI" | sed -n "s/^.*$_name=\([^&]*\).*\$/\1/p" | str_purifier)"
|
||||
eval $_name="$_value"
|
||||
[ -z "$(eval "echo -ne \$$_name")" ] && eval $_name="Unknow"
|
||||
[ -z "$(eval "echo -ne \$$_name")" ] && eval $_name="Unknown"
|
||||
}
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ _SOURCE=$DB/*
|
|||
|
||||
get_param search
|
||||
|
||||
[ "$search" != "Unknow" ] && {
|
||||
[ "$search" != "Unknown" ] && {
|
||||
_SOURCE="$(grep -i -m1 -R -l "$search" $DB | sed -E -n 's/^(.*)\/(dmesg|state|vendor|date)$/\1/p' | sort | uniq)"
|
||||
[ -z "$_SOURCE" ] && LIST="<h2>Not found</h2>" || LIST="<h2>Search result for '$search':</h2>"
|
||||
} || search=""
|
||||
|
@ -22,13 +22,19 @@ do
|
|||
_date="$(<$_d/date)"
|
||||
_notconf="$(<$_d/notconf)"
|
||||
_md5="$(<$_d/md5)"
|
||||
_comment="$(<$_d/comment)"
|
||||
_uname="$(<$_d/uname)"
|
||||
_dmesg_link="/list/$_vendor-$_model[$_state]-$_md5.txt"
|
||||
_device_html="
|
||||
<li>
|
||||
<a class='dmesg-link' href='$_dmesg_link'>
|
||||
<span class='$_state' title='$_state'>[$_state]</span>
|
||||
$_model</a>
|
||||
<span class='notconf'>Not configured: </span><span class='notconf-val'>$_notconf</span><span class='date'>$_date</span>
|
||||
<span class='notconf'>Not configured: </span>
|
||||
<span class='notconf-val'>$_notconf</span>
|
||||
<span class='date'>$_date</span><br>
|
||||
<span class='comment'>$_uname</span>
|
||||
<br><span class='comment'>Comment: $_comment</span>
|
||||
</li>"
|
||||
vendors="${vendors}\n${_vendor}"
|
||||
eval "vendor_$_vendor=\"\$vendor_$_vendor $_device_html\""
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
#!/bin/sh
|
||||
. /var/common.sh
|
||||
|
||||
get_param token
|
||||
|
||||
[ "$token" = "Unknown" ] && fail
|
||||
|
||||
HD="$DB/$token"
|
||||
|
||||
[ -e "$HD" ] && {
|
||||
get_param comment
|
||||
[ "$comment" = "Unknown" ] && fail "ERROR: no comment"
|
||||
[ ${#comment} -gt 128 ] && fail "too much comment size (need <= 128 bytes)"
|
||||
echo -en "$comment" > "$HD/comment"
|
||||
}
|
||||
echo -en "Content-type: text/html\r\n\r\n"
|
||||
echo "Ok"
|
||||
echo "Your comment: '$comment' has been accepted"
|
||||
exit 0
|
|
@ -77,7 +77,7 @@ a.dmesg-link:after {
|
|||
content: '';
|
||||
display: block;
|
||||
}
|
||||
span.notconf {
|
||||
span.notconf, span.comment {
|
||||
margin-left: 24px;
|
||||
}
|
||||
a.dmesg-link ~ * {
|
||||
|
|
|
@ -7,7 +7,7 @@ LIST=/var/www/list
|
|||
|
||||
gen_user_token() {
|
||||
get_param token
|
||||
[ "$token" != "Unknow" ] && [ -e "$DB/$token" ] && {
|
||||
[ "$token" != "Unknown" ] && [ -e "$DB/$token" ] && {
|
||||
echo -en "$token"
|
||||
true
|
||||
} || {
|
||||
|
@ -38,23 +38,6 @@ check_dmesg_file() {
|
|||
return 0
|
||||
}
|
||||
|
||||
#get_params() {
|
||||
# _vendor="$(echo "$REQUEST_URI" | sed -n 's/^.*vendor=\([^&]*\).*$/\1/p' | str_purifier)"
|
||||
#
|
||||
# _model="$(echo "$REQUEST_URI" | sed -n 's/^.*model=\([^&]*\).*$/\1/p' | str_purifier)"
|
||||
#
|
||||
# _state="$(echo "$REQUEST_URI" | sed -n 's/^.*state=\([^&]*\).*$/\1/p' | str_purifier)"
|
||||
#
|
||||
# [ -z "$_vendor" ] && _vendor="Unknow"
|
||||
# [ -z "$_model" ] && _model="Unknow"
|
||||
# [ -z "$_state" ] && _state="Unknow"
|
||||
# echo -en "$_vendor" > "$HD/vendor"
|
||||
# echo -en "$_model" > "$HD/model"
|
||||
# echo -en "$_state" > "$HD/state"
|
||||
# mkdir -p "$LIST/$_vendor"
|
||||
# echo "$_vendor-_-$_model-[$_state]"
|
||||
#}
|
||||
|
||||
_RESULT=""
|
||||
|
||||
[ "$REQUEST_METHOD" = "POST" -a "$CONTENT_LENGTH" -gt 0 ] && {
|
||||
|
@ -66,7 +49,7 @@ _RESULT=""
|
|||
DFILE="$HD/dmesg"
|
||||
mkdir -p "$HD"
|
||||
|
||||
[ "$token" != "Unknow" ] && {
|
||||
[ "$TOKEN" != "Unknown" ] && {
|
||||
_v="$(<$HD/vendor)"
|
||||
_m="$(<$HD/model)"
|
||||
_s="$(<$HD/state)"
|
||||
|
@ -101,6 +84,8 @@ _RESULT=""
|
|||
MD5="$(md5 -q "$DFILE")"
|
||||
echo -en "$MD5" > "$HD/md5"
|
||||
|
||||
grep OpenBSD "$DFILE" > "$HD/uname"
|
||||
|
||||
FULL_LINK_NAME="$vendor-$model[$state]-${MD5}.txt"
|
||||
LINK_NAME="$model[$state]-${MD5}.txt"
|
||||
|
||||
|
@ -110,8 +95,11 @@ _RESULT=""
|
|||
|
||||
_RESULT="
|
||||
Thank you, your dmesg was uploaded!
|
||||
Link: http://$HTTP_HOST/list/$FULL_LINK_NAME
|
||||
Edit URI: /upload?token=$TOKEN&vendor=$vendor&model=$model&state=$state
|
||||
Link: http://$HTTP_HOST/list/$FULL_LINK_NAME
|
||||
Token: $TOKEN
|
||||
Edit: curl --data \"$(dmesg)\" '/upload?token=$TOKEN&vendor=$vendor&model=$model&state=$state'
|
||||
Also you can add a comment:
|
||||
ftp -V -o - 'http://$HTTP_HOST/comment?token=$TOKEN&comment=ethernet ok, storage ok'
|
||||
"
|
||||
}
|
||||
|
||||
|
@ -125,9 +113,12 @@ echo "<HTML><HEAD><title>OpenBSD dmesg database</title></HEAD>\n";
|
|||
echo "<body>";
|
||||
echo '
|
||||
<h1>OpenBSD dmesg collection</h1>
|
||||
<p><a href="/list">List of all files</a></p>
|
||||
<p><a href="/beautylist">Our dmesgs list</a></p>
|
||||
<p>You can send your dmesg from command line:</p>
|
||||
<p><i>curl --data "$(dmesg)" "http://'"$HTTP_HOST"'/upload?<b>vendor=Apple&model=MacBook_Pro_2017_13&state=Bad</b>"</i></p>
|
||||
<p><a href="/beautylist">Beautiful list</a></p>
|
||||
<p>
|
||||
Or if you'"'"'re a cool hacker:<br>
|
||||
<i>echo -ne "POST /upload?vendor=Apple&model=MacBook_Pro_2017_13&state=Bad HTTP/1.0\\r\\nHost: '"$HTTP_HOST"'\\r\\nContent-Type: application/x-www-form-urlencoded\\r\\nContent-Length: $(dmesg|wc -c|tr -d ' ')\\r\\n\\r\\n$(dmesg)\\r\\n" | nc '"$HTTP_HOST"' 80</i>
|
||||
</p>
|
||||
'
|
||||
echo "</body></HTML>\n";
|
||||
|
|
Loading…
Reference in New Issue