Fixes; Added checking for command

pull/129/head
Ivan Yartsev 6 months ago
parent 01968d3782
commit 4b36dced1c

@ -411,7 +411,7 @@ void on_inspector_update(GtkWidget *self, inspector_window *window){
dictionary *dict=NULL;
for_dictionaries (dict,window->terminals){
GtkWidget *terminal = (GtkWidget*)dict->data;
yon_terminal_integrated_start(terminal,yon_char_unite("cat ",dict->key," | sed -r \"s/\\x1B\\[([0-9]{1,3}(;[0-9]{1,2};?)?)?[mGK]//g\"",NULL));
yon_terminal_integrated_start(terminal,read_log_command(dict->key));
}
}
}
@ -1234,6 +1234,32 @@ void on_logrotate_save(GtkWidget *, dictionary *dict){
char *before = (char*)gtk_entry_get_text(GTK_ENTRY(window->CommandBeforeEntry));
char *after = (char*)gtk_entry_get_text(GTK_ENTRY(window->CommandAfterEntry));
char *endwork = (char*)gtk_entry_get_text(GTK_ENTRY(window->EndworkCommandEntry));
if (!check_command_is_legit(before_once)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),COMMAND_INVALID_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->CommandBeforeOnceEntry);
return;
}
if (!check_command_is_legit(after_once)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),COMMAND_INVALID_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->CommandAfterOnceEntry);
return;
}
if (!check_command_is_legit(before)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),COMMAND_INVALID_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->CommandBeforeEntry);
return;
}
if (!check_command_is_legit(after)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),COMMAND_INVALID_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->CommandAfterEntry);
return;
}
if (!check_command_is_legit(endwork)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),COMMAND_INVALID_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->EndworkCommandEntry);
return;
}
sharedscripts = "sharedscripts";
if (!yon_char_is_empty(before_once)) {
before_once = yon_char_replace(before_once,"\"","=--");

@ -48,6 +48,8 @@
#define logrotate_config_path "/etc/logrotate.d/"
#define custom_logs_saving_file_path yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/logwatcher.csv",NULL)
#define read_log_command(command) yon_debug_output("%s\n",yon_char_unite("sed -r \"s/\\x1B\\[([0-9]{1,3}(;[0-9]{1,2};?)?)?[mGK]//g\" ",command,NULL))
#define LocalePath "/usr/share/locale"
#define LocaleName "ubl-settings-logging"
@ -84,6 +86,8 @@
#define enable_icon_name "com.ublinux.ubl-settings-logging.check-symbolic"
#define disable_icon_name "com.ublinux.ubl-settings-logging.uncheck-symbolic"
#define check_command_is_legit(command) !system(yon_char_unite("bash -c \"set -u; command -v ",command,"\"",NULL))
#define yon_add_space_if_exists(string) yon_char_is_empty(string) ? "" : yon_char_append(",",string)
typedef char* string;
string version_application;

@ -43,6 +43,7 @@
#define SYSLOG_DESCRIPTION_LABEL _("System log")
#define XORG_DESCRIPTION_LABEL _("X.org display server log")
#define XSESSION_DESCRIPTION_LABEL _("Graphics X session log")
#define SAVE_LABEL _("Save")
//ubl-settings-logging-inspector.glade
#define INSPECTOR_TITLE_LABEL _("Logs and events - log inspector")
@ -174,6 +175,7 @@
#define EMPTY_IMPORTANT_LABEL _("Empty important field")
#define REPEAT_PATHS_LABEL _("Repeating paths")
#define WRITE_IMPORTANT_LABEL _("Write down all important fields")
#define COMMAND_INVALID_LABEL _("Command is invalid")
//ubl-settings-logging-logrotate-table.glade
#define TABLE_TITLE_LABEL _("Logs and events - logrotate table")

@ -59,38 +59,15 @@
<property name="can-focus">False</property>
<property name="margin-bottom">5</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child internal-child="action_area">
<object class="GtkButtonBox">
<property name="can-focus">False</property>
<property name="layout-style">end</property>
<child>
<object class="GtkButton" id="CancelButton">
<property name="label" translatable="yes">Cancel</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image1</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
<placeholder/>
</child>
<child>
<object class="GtkButton" id="SaveButton">
<property name="label" translatable="yes">Save</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image2</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
<placeholder/>
</child>
</object>
<packing>
@ -119,8 +96,8 @@
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-start">4</property>
<property name="margin-end">4</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
@ -499,6 +476,31 @@
<property name="icon-name">com.ublinux.ubl-settings-logging</property>
</object>
</child>
<child>
<object class="GtkButton" id="CancelButton">
<property name="label" translatable="yes">Cancel</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image1</property>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="SaveButton">
<property name="label" translatable="yes">Save</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image2</property>
</object>
<packing>
<property name="pack-type">end</property>
<property name="position">2</property>
</packing>
</child>
<style>
<class name="toolbar"/>
</style>

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<!-- Generated with glade 3.40.0 -->
<interface domain="ubl-settings-logging">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-logging.css -->
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">process-stop-symbolic</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.cancel-symbolic</property>
</object>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
@ -101,7 +101,6 @@
<object class="GtkHeaderBar">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="show-close-button">True</property>
<child type="title">
<object class="GtkLabel" id="headerTopic">
<property name="visible">True</property>

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<!-- Generated with glade 3.40.0 -->
<interface domain="ubl-settings-logging">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-logging.css -->
@ -62,7 +62,7 @@
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">process-stop-symbolic</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.cancel-symbolic</property>
</object>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
@ -964,62 +964,6 @@
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">end</property>
<property name="spacing">5</property>
<child>
<object class="GtkButton" id="ResetButton">
<property name="label" translatable="yes">Reset</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image5</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="CancelButton">
<property name="label" translatable="yes">Cancel</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image1</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="SaveButton">
<property name="label" translatable="yes">Save</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image2</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
<child type="titlebar">
@ -1056,6 +1000,43 @@
<property name="icon-name">com.ublinux.ubl-settings-logging</property>
</object>
</child>
<child>
<object class="GtkButton" id="CancelButton">
<property name="label" translatable="yes">Cancel</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image1</property>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="ResetButton">
<property name="label" translatable="yes">Reset</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image5</property>
</object>
<packing>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="SaveButton">
<property name="label" translatable="yes">Save</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image2</property>
</object>
<packing>
<property name="pack-type">end</property>
<property name="position">3</property>
</packing>
</child>
<style>
<class name="toolbar"/>
</style>

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<!-- Generated with glade 3.40.0 -->
<interface domain="ubl-settings-logging">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-logging.css -->
@ -22,7 +22,7 @@
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">process-stop-symbolic</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.cancel-symbolic</property>
</object>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
@ -339,48 +339,6 @@
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">end</property>
<property name="spacing">5</property>
<property name="homogeneous">True</property>
<child>
<object class="GtkButton" id="CancelButton">
<property name="label" translatable="yes">Cancel</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image1</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="SaveButton">
<property name="label" translatable="yes">Save</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image2</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
@ -394,7 +352,6 @@
<object class="GtkHeaderBar" id="headerBar">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="show-close-button">True</property>
<child type="title">
<object class="GtkLabel" id="headerTopic">
<property name="visible">True</property>
@ -424,6 +381,31 @@
<property name="icon-name">com.ublinux.ubl-settings-logging</property>
</object>
</child>
<child>
<object class="GtkButton" id="CancelButton">
<property name="label" translatable="yes">Cancel</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image1</property>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="SaveButton">
<property name="label" translatable="yes">Save</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image2</property>
</object>
<packing>
<property name="pack-type">end</property>
<property name="position">2</property>
</packing>
</child>
<style>
<class name="toolbar"/>
</style>

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<!-- Generated with glade 3.40.0 -->
<interface domain="ubl-settings-logging">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-logging.css -->
@ -1787,6 +1787,7 @@
<object class="GtkEntry" id="CommandBeforeOnceEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="input-purpose">terminal</property>
</object>
<packing>
<property name="expand">True</property>
@ -1823,6 +1824,7 @@
<object class="GtkEntry" id="CommandAfterOnceEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="input-purpose">terminal</property>
</object>
<packing>
<property name="expand">True</property>
@ -1859,6 +1861,7 @@
<object class="GtkEntry" id="CommandBeforeEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="input-purpose">terminal</property>
</object>
<packing>
<property name="expand">True</property>
@ -1895,6 +1898,7 @@
<object class="GtkEntry" id="CommandAfterEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="input-purpose">terminal</property>
</object>
<packing>
<property name="expand">True</property>
@ -1931,6 +1935,7 @@
<object class="GtkEntry" id="EndworkCommandEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="input-purpose">terminal</property>
</object>
<packing>
<property name="expand">True</property>

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<!-- Generated with glade 3.40.0 -->
<interface domain="ubl-settings-logging">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-logging.css -->
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">process-stop-symbolic</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.cancel-symbolic</property>
</object>
<object class="GtkImage" id="image2">
<property name="visible">True</property>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save