Commit c722206a authored by frtabu's avatar frtabu

review fixes, squash formating commits

parent cc3e8efc
This diff is collapsed.
......@@ -29,17 +29,15 @@
* \note
* \warning
*/
#define _GNU_SOURCE
#define _GNU_SOURCE
#include <string.h>
#include <pthread.h>
#define TELNETSERVERCODE
#include "telnetsrv.h"
#define TELNETSRV_LOADER_MAIN
#include "telnetsrv_loader.h"
int loader_show_cmd(char *buff, int debug, telnet_printfunc_t prnt);
telnetshell_cmddef_t loader_cmdarray[] = {
{"show", "[params,modules]", loader_show_cmd, {(webfunc_t)loader_show_cmd}, 0, NULL},
......@@ -50,35 +48,38 @@ telnetshell_cmddef_t loader_cmdarray[] = {
int loader_show_cmd(char *buff, int debug, telnet_printfunc_t prnt)
{
if (buff == NULL) {
buff="modules";
buff = "modules";
}
if (debug > 0)
prnt( "loader_show_cmd received \"%s\"\n",buff);
if (debug > 0)
prnt("loader_show_cmd received \"%s\"\n", buff);
if (strcasestr(buff,"params") != NULL) {
prnt( "loader parameters:\n");
prnt( " Main executable build version: \"%s\"\n", loader_data.mainexec_buildversion);
prnt( " Default shared lib path: \"%s\"\n", loader_data.shlibpath);
prnt( " Max number of shared lib : %i\n", loader_data.maxshlibs);
} else if (strcasestr(buff, "modules") != NULL || buff[0] == 0 ) {
prnt("%i shared lib have been dynamicaly loaded by the oai loader\n", loader_data.numshlibs);
for (int i = 0; i < loader_data.numshlibs; i++) {
prnt(" Module %i: %s\n", i, loader_data.shlibs[i].name);
prnt(" Shared library build version: \"%s\"\n", ((loader_data.shlibs[i].shlib_buildversion == NULL) ? "" : loader_data.shlibs[i].shlib_buildversion));
prnt(" Shared library path: \"%s\"\n", loader_data.shlibs[i].thisshlib_path);
prnt(" %i function pointers registered:\n", loader_data.shlibs[i].numfunc);
for (int j = 0; j < loader_data.shlibs[i].numfunc; j++) {
prnt(" function %i %s at %p\n", j, loader_data.shlibs[i].funcarray[j].fname, loader_data.shlibs[i].funcarray[j].fptr);
}
}
} else {
prnt("%s: wrong loader command...\n", buff);
if (strcasestr(buff, "params") != NULL) {
prnt("loader parameters:\n");
prnt(" Main executable build version: \"%s\"\n", loader_data.mainexec_buildversion);
prnt(" Default shared lib path: \"%s\"\n", loader_data.shlibpath);
prnt(" Max number of shared lib : %i\n", loader_data.maxshlibs);
} else if (strcasestr(buff, "modules") != NULL || buff[0] == 0) {
prnt("%i shared lib have been dynamicaly loaded by the oai loader\n", loader_data.numshlibs);
for (int i = 0; i < loader_data.numshlibs; i++) {
prnt(" Module %i: %s\n", i, loader_data.shlibs[i].name);
prnt(" Shared library build version: \"%s\"\n",
((loader_data.shlibs[i].shlib_buildversion == NULL) ? "" : loader_data.shlibs[i].shlib_buildversion));
prnt(" Shared library path: \"%s\"\n", loader_data.shlibs[i].thisshlib_path);
prnt(" %i function pointers registered:\n", loader_data.shlibs[i].numfunc);
for (int j = 0; j < loader_data.shlibs[i].numfunc; j++) {
prnt(" function %i %s at %p\n",
j,
loader_data.shlibs[i].funcarray[j].fname,
loader_data.shlibs[i].funcarray[j].fptr);
}
return 0;
}
} else {
prnt("%s: wrong loader command...\n", buff);
}
return 0;
}
void add_loader_cmds(void)
{
add_telnetcmd("loader", loader_globalvardef, loader_cmdarray);
add_telnetcmd("loader", loader_globalvardef, loader_cmdarray);
}
This diff is collapsed.
This diff is collapsed.
......@@ -110,19 +110,41 @@ void websrv_printjson(char *label, json_t *jsonobj, int dbglvl)
void websrv_dump_request(char *label, const struct _u_request *request, int dbglvl)
{
if (dbglvl > 0) {
LOG_I(UTIL, "[websrv] %s, request %s, proto %s, verb %s, path %s\n", label, request->http_url, request->http_protocol, request->http_verb, request->http_verb);
LOG_I(UTIL,
"[websrv] %s, request %s, proto %s, verb %s, path %s\n",
label,
request->http_url,
request->http_protocol,
request->http_verb,
request->http_verb);
if (request->map_post_body != NULL)
for (int i = 0; i < u_map_count(request->map_post_body); i++)
LOG_I(UTIL, "[websrv] POST parameter %i %s : %s\n", i, u_map_enum_keys(request->map_post_body)[i], u_map_enum_values(request->map_post_body)[i]);
LOG_I(UTIL,
"[websrv] POST parameter %i %s : %s\n",
i,
u_map_enum_keys(request->map_post_body)[i],
u_map_enum_values(request->map_post_body)[i]);
if (request->map_cookie != NULL)
for (int i = 0; i < u_map_count(request->map_cookie); i++)
LOG_I(UTIL, "[websrv] cookie variable %i %s : %s\n", i, u_map_enum_keys(request->map_cookie)[i], u_map_enum_values(request->map_cookie)[i]);
LOG_I(UTIL,
"[websrv] cookie variable %i %s : %s\n",
i,
u_map_enum_keys(request->map_cookie)[i],
u_map_enum_values(request->map_cookie)[i]);
if (request->map_header != NULL)
for (int i = 0; i < u_map_count(request->map_header); i++)
LOG_I(UTIL, "[websrv] header variable %i %s : %s\n", i, u_map_enum_keys(request->map_header)[i], u_map_enum_values(request->map_header)[i]);
LOG_I(UTIL,
"[websrv] header variable %i %s : %s\n",
i,
u_map_enum_keys(request->map_header)[i],
u_map_enum_values(request->map_header)[i]);
if (request->map_url != NULL)
for (int i = 0; i < u_map_count(request->map_url); i++)
LOG_I(UTIL, "[websrv] url variable %i %s : %s\n", i, u_map_enum_keys(request->map_url)[i], u_map_enum_values(request->map_url)[i]);
LOG_I(UTIL,
"[websrv] url variable %i %s : %s\n",
i,
u_map_enum_keys(request->map_url)[i],
u_map_enum_values(request->map_url)[i]);
}
}
/*-----------------------------------*/
......@@ -163,29 +185,27 @@ int websrv_string_response(char *astring, struct _u_response *response, int http
/* set of calls to fill a buffer with a string and use this buffer in a response */
void websrv_printf_start(struct _u_response *response, int buffsize, bool async)
{
int st=-1;
int st = -1;
for( int count=0 ; count < 10 ; count++) {
st=pthread_mutex_trylock(&(websrv_printf_buff.mutex));
if (st == 0)
for (int count = 0; count < 10; count++) {
st = pthread_mutex_trylock(&(websrv_printf_buff.mutex));
if (st == 0)
break;
usleep(100);
count++;
}
if ( st != 0) {
char msg[255];
snprintf(msg,sizeof(msg)-1,"[websrv] cannot allocate print buffer, error %s",strerror(st));
LOG_W(UTIL,"%s",msg);
websrv_string_response(msg, websrv_printf_buff.response, 500, 0);
}
else
{
if (st != 0) {
char msg[255];
snprintf(msg, sizeof(msg) - 1, "[websrv] cannot allocate print buffer, error %s", strerror(st));
LOG_W(UTIL, "%s", msg);
websrv_string_response(msg, websrv_printf_buff.response, 500, 0);
} else {
websrv_printf_buff.buff = malloc(buffsize);
websrv_printf_buff.buffptr = websrv_printf_buff.buff;
websrv_printf_buff.buffsize = buffsize;
websrv_printf_buff.response = response;
websrv_printf_buff.async = async;
}
}
}
void websrv_printf_atpos(int pos, const char *message, ...)
......@@ -193,7 +213,8 @@ void websrv_printf_atpos(int pos, const char *message, ...)
va_list va_args;
va_start(va_args, message);
websrv_printf_buff.buffptr = websrv_printf_buff.buff + pos + vsnprintf(websrv_printf_buff.buff + pos, websrv_printf_buff.buffsize - pos - 1, message, va_args);
websrv_printf_buff.buffptr = websrv_printf_buff.buff + pos
+ vsnprintf(websrv_printf_buff.buff + pos, websrv_printf_buff.buffsize - pos - 1, message, va_args);
va_end(va_args);
return;
......@@ -203,7 +224,10 @@ void websrv_printf(const char *message, ...)
{
va_list va_args;
va_start(va_args, message);
websrv_printf_buff.buffptr += vsnprintf(websrv_printf_buff.buffptr, websrv_printf_buff.buffsize - (websrv_printf_buff.buffptr - websrv_printf_buff.buff) - 1, message, va_args);
websrv_printf_buff.buffptr += vsnprintf(websrv_printf_buff.buffptr,
websrv_printf_buff.buffsize - (websrv_printf_buff.buffptr - websrv_printf_buff.buff) - 1,
message,
va_args);
va_end(va_args);
return;
}
......@@ -223,7 +247,10 @@ void websrv_printf_end(int httpstatus, int dbglvl)
websrv_string_response(websrv_printf_buff.buff, websrv_printf_buff.response, httpstatus, dbglvl);
} else if (httpstatus < 1000) {
LOG_W(UTIL, "[websrv] %s\n", websrv_printf_buff.buff);
ulfius_set_binary_body_response(websrv_printf_buff.response, httpstatus, websrv_printf_buff.buff, websrv_printf_buff.buffptr - websrv_printf_buff.buff);
ulfius_set_binary_body_response(websrv_printf_buff.response,
httpstatus,
websrv_printf_buff.buff,
websrv_printf_buff.buffptr - websrv_printf_buff.buff);
}
free(websrv_printf_buff.buff);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment