Added algorythm to block shell paths and hash alogythms from loading

pull/14/head
parent fb57402f9a
commit f817933bdb

@ -139,6 +139,8 @@ install: check uninstall
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.accept-symbolic.svg"
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.cancel-symbolic.svg"
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.profile-settings-symbolic.svg"
@install -Dm644 -t "${DESTDIR}/usr/share/${PKGNAME}/csv" "csv/hash_list.csv"
@install -Dm644 -t "${DESTDIR}/usr/share/${PKGNAME}/csv" "csv/shell_list.csv"
@install -Dm644 -t "${DESTDIR}/usr/share/polkit-1/actions/" "${CMAKE_BUILD_DIR}/com.ublinux.${PKGNAME}${PKGIDENT}.policy"
@if [ -z ${DESTDIR} ]; then \
[ -d "${DESTDIR}/usr/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}/usr/share/icons/hicolor/" &>/dev/null || true; \

@ -265,7 +265,19 @@ ubl_settings_usergroups_additional_settings_window *yon_ubl_settings_usergroups_
window->AcceptButton=yon_gtk_builder_get_widget(builder,"AcceptButton");
gtk_window_set_title(GTK_WINDOW(window->Window),ADDITIONAL_SETTINGS_TITLE_LABEL);
int hash_size=0;
config_str hash_algos = yon_file_open(hash_list_path,&hash_size);
for (int i=1;i<hash_size;i++){
if (hash_algos[i][0]!='!'){
if (hash_algos[i][strlen(hash_algos[i])-1]=='\n') hash_algos[i][strlen(hash_algos[i])-1]='\0';
int parsed_size;
config_str parsed = yon_char_parse(hash_algos[i],&parsed_size,":");
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(window->PasswordHashCombo),parsed[0]);
yon_char_parsed_free(parsed,parsed_size);
}
}
yon_char_parsed_free(hash_algos,hash_size);
gtk_combo_box_set_active(GTK_COMBO_BOX(window->PasswordHashCombo),0);
char *default_user = yon_config_get_by_key("DEFAULTUSER");
if (!yon_char_is_empty(default_user))
gtk_entry_set_text(GTK_ENTRY(window->DefaultUserNameEntry),default_user);
@ -986,6 +998,21 @@ ubl_settings_usergroups_user_window *yon_ubl_settings_usergroups_user_new(){
window->UserCancelButton=yon_gtk_builder_get_widget(builder,"UserCancelButton");
window->UserOkButton=yon_gtk_builder_get_widget(builder,"UserOkButton");
gtk_window_set_title(GTK_WINDOW(window->CreateUserWindow),USER_TITLE_LABEL);
int shell_size=0;
config_str shells = yon_file_open(shell_list_path,&shell_size);
for (int i=1;i<shell_size;i++){
if (shells[i][0]!='!'){
if (shells[i][strlen(shells[i])-1]=='\n') shells[i][strlen(shells[i])-1]='\0';
int parsed_size=0;
config_str parsed = yon_char_parse(shells[i],&parsed_size,":");
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(window->userShellCombo),parsed[0]);
yon_char_parsed_free(parsed,parsed_size);
}
}
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(window->userShellCombo),SET_LABEL);
yon_char_parsed_free(shells,shell_size);
gtk_combo_box_set_active(GTK_COMBO_BOX(window->userShellCombo),0);
window->old_password=NULL;
dictionary *entry_dict = NULL;
yon_dictionary_add_or_create_if_exists_with_data(entry_dict,"combo",window->userPasswordCombo);

@ -43,6 +43,9 @@
#define uid_path "/etc/login.defs"
#define password_limits_path "/etc/security/pwquiality.conf"
#define hash_list_path "/usr/share/ubl-settings-usergroups/csv/hash_list.csv"
#define shell_list_path "/usr/share/ubl-settings-usergroups/csv/shell_list.csv"
#define USERADD(user) yon_char_unite("USERADD[",user,"]",NULL)
#define GROUPADD(group) yon_char_unite("GROUPADD[",group,"]",NULL)
#define USERSHADOW(user) yon_char_unite("USERSHADOW[",user,"]",NULL)

@ -309,22 +309,6 @@
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="active">0</property>
<items>
<item translatable="yes">md5</item>
<item translatable="yes">yescrypt</item>
<item translatable="yes">ghost-yescrypt</item>
<item translatable="yes">scrypt</item>
<item translatable="yes">bf</item>
<item translatable="yes">bcrypt</item>
<item translatable="yes">bcrypt-a</item>
<item translatable="yes">sha512crypt</item>
<item translatable="yes">sha256crypt</item>
<item translatable="yes">sunmd5</item>
<item translatable="yes">md5crypt</item>
<item translatable="yes">bsdicrypt</item>
<item translatable="yes">desctrypt</item>
<item translatable="yes">nt</item>
</items>
</object>
<packing>
<property name="expand">True</property>

@ -754,16 +754,6 @@
<property name="active">0</property>
<items>
<item translatable="yes">Default</item>
<item>/bin/bash</item>
<item>/bin/sh</item>
<item>/bin/ksh</item>
<item>/bin/csh</item>
<item>/bin/tcsh</item>
<item>/bin/dash</item>
<item>/usr/bin/nologin</item>
<item>/usr/bin/git-shell</item>
<item>/usr/bin/zsh</item>
<item id="Set" translatable="yes">Set</item>
</items>
</object>
<packing>

Loading…
Cancel
Save