summaryrefslogtreecommitdiff
path: root/src/console
diff options
context:
space:
mode:
authorManikandanChockalingam <manikandan.chockalingam@in.bosch.com>2018-11-15 13:52:21 +0100
committerChristoph Lipka <clipka@users.noreply.github.com>2018-11-15 13:52:21 +0100
commit3cfb292aa43774428ce8dfe120fe16785942b086 (patch)
tree00841761981aead232f5e6995eefde6babaddeb4 /src/console
parent6cbaa4fd39fb584a227b8eb7a3331dcfce54d9a3 (diff)
downloadDLT-daemon-3cfb292aa43774428ce8dfe120fe16785942b086.tar.gz
Log storage - Updates (#82)
- improvements and refactor key creation - Sync strategies added Signed-off-by: ManikandanC <Manikandan.Chockalingam@in.bosch.com> Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com> Signed-off-by: S. Hameed <shameed@jp.adit-jv.com> Signed-off-by: Ravi Sankar P <ponnurangamravi.sankar@in.bosch.com> Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
Diffstat (limited to 'src/console')
-rw-r--r--src/console/logstorage/dlt-logstorage-ctrl.c22
-rw-r--r--src/console/logstorage/dlt-logstorage-udev.c28
2 files changed, 48 insertions, 2 deletions
diff --git a/src/console/logstorage/dlt-logstorage-ctrl.c b/src/console/logstorage/dlt-logstorage-ctrl.c
index 227acec..15ccc04 100644
--- a/src/console/logstorage/dlt-logstorage-ctrl.c
+++ b/src/console/logstorage/dlt-logstorage-ctrl.c
@@ -155,6 +155,8 @@ static int analyze_response(char *data, void *payload, int len)
{
int ret = -1;
char resp_ok[MAX_RESPONSE_LENGTH] = { 0 };
+ char resp_warning[MAX_RESPONSE_LENGTH] = { 0 };
+ char resp_perm_denied[MAX_RESPONSE_LENGTH] = { 0 };
if (data == NULL || payload == NULL)
{
@@ -170,10 +172,30 @@ static int analyze_response(char *data, void *payload, int len)
"service(%u), ok",
DLT_SERVICE_ID_OFFLINE_LOGSTORAGE);
+ snprintf(resp_warning,
+ MAX_RESPONSE_LENGTH,
+ "service(%u), warning",
+ DLT_SERVICE_ID_OFFLINE_LOGSTORAGE);
+
+ snprintf(resp_perm_denied,
+ MAX_RESPONSE_LENGTH,
+ "service(%u), perm_denied",
+ DLT_SERVICE_ID_OFFLINE_LOGSTORAGE);
+
if (strncmp(data, resp_ok, strlen(resp_ok)) == 0)
{
ret = 0;
}
+ if (strncmp(data, resp_warning, strlen(resp_warning)) == 0)
+ {
+ pr_error("Warning:Some filter configurations are ignored due to configuration issues \n");
+ ret = 0;
+ }
+ if (strncmp(data, resp_perm_denied, strlen(resp_perm_denied)) == 0)
+ {
+ pr_error("Warning: Permission denied.\n");
+ ret = 0;
+ }
pr_verbose("Response received: '%s'\n", data);
pr_verbose("Response expected: '%s'\n", resp_ok);
diff --git a/src/console/logstorage/dlt-logstorage-udev.c b/src/console/logstorage/dlt-logstorage-udev.c
index 355977e..e3584d7 100644
--- a/src/console/logstorage/dlt-logstorage-udev.c
+++ b/src/console/logstorage/dlt-logstorage-udev.c
@@ -108,6 +108,12 @@ static char *dlt_logstorage_udev_get_mount_point(char *dev_node)
{
mnt_point = strdup(ent->mnt_dir);
+ if (mnt_point == NULL)
+ {
+ pr_error("Cannot duplicate string.\n");
+ return NULL;
+ }
+
/* Remounting rw */
if (strlen(mnt_point))
{
@@ -162,6 +168,11 @@ static int check_mountpoint_from_partition(int event, struct udev_device *part)
}
dev_node = strdup(udev_device_get_devnode(part));
+ if (dev_node == NULL)
+ {
+ pr_error("Cannot allocate memory for to store string\n");
+ return -1;
+ }
if (event == EVENT_MOUNTED)
{
@@ -174,6 +185,7 @@ static int check_mountpoint_from_partition(int event, struct udev_device *part)
}
else
{
+ free(mnt_point);
mnt_point = NULL;
}
}
@@ -222,7 +234,7 @@ static int logstorage_udev_udevd_callback(void)
prvt = (LogstorageCtrlUdev *)lctrl->prvt;
- if (!prvt || !prvt->mon)
+ if ((!prvt) || (!prvt->mon))
{
pr_error("Not able to get private data.\n");
return -1;
@@ -282,6 +294,12 @@ static int logstorage_udev_udevd_callback(void)
*/
static int dlt_logstorage_udev_check_mounted(struct udev *udev)
{
+ if (udev == NULL)
+ {
+ pr_error("%s: udev structure is NULL\n", __func__);
+ return -1;
+ }
+
/* Create a list of the devices in the 'partition' subsystem. */
struct udev_enumerate *enumerate = udev_enumerate_new(udev);
struct udev_list_entry *devices = NULL;
@@ -300,7 +318,8 @@ static int dlt_logstorage_udev_check_mounted(struct udev *udev)
devices = udev_enumerate_get_list_entry(enumerate);
/* For each list entry, get the corresponding device */
- udev_list_entry_foreach(dev_list_entry, devices) {
+ udev_list_entry_foreach(dev_list_entry, devices)
+ {
const char *path;
struct udev_device *partition = NULL;
@@ -349,6 +368,11 @@ int dlt_logstorage_udev_deinit(void)
prvt = (LogstorageCtrlUdev *)lctrl->prvt;
+ if (prvt == NULL)
+ {
+ return -1;
+ }
+
if (prvt->mon)
{
udev_monitor_unref(prvt->mon);