Skip to content

Commit

Permalink
Merge branch 'master' into update-package
Browse files Browse the repository at this point in the history
  • Loading branch information
buty4649 authored Dec 5, 2023
2 parents 86c8e11 + 6bbd120 commit c022074
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 8 deletions.
11 changes: 5 additions & 6 deletions stns.c
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
#include <unistd.h>
#include <dirent.h>
#include <fcntl.h>
#include <ctype.h>
pthread_mutex_t user_mutex = PTHREAD_MUTEX_INITIALIZER;
pthread_mutex_t group_mutex = PTHREAD_MUTEX_INITIALIZER;
int highest_user_id = 0;
Expand Down Expand Up @@ -714,14 +715,13 @@ int is_valid_username(const char *username)
}

// The first character must be a alpha.
if (!(username[0] >= 'a' && username[0] <= 'z')) {
if (!isalpha(username[0])) {
return 1;
}

// The rest characters can be only alpha, digit, dash or underscore.
for (size_t i = 1; i < len; i++) {
if (!(username[i] >= 'a' && username[i] <= 'z') && !(username[i] >= '0' && username[i] <= '9') &&
username[i] != '-' && username[i] != '_') {
if (!isalnum(username[i]) && username[i] != '-' && username[i] != '_') {
return 1;
}
}
Expand All @@ -742,14 +742,13 @@ int is_valid_groupname(const char *groupname)
}

// The first character must be a alpha.
if (!(groupname[0] >= 'a' && groupname[0] <= 'z')) {
if (!isalpha(groupname[0])) {
return 1;
}

// The rest characters can be only alpha, digit, dash or underscore.
for (size_t i = 1; i < len; i++) {
if (!(groupname[i] >= 'a' && groupname[i] <= 'z') && !(groupname[i] >= '0' && groupname[i] <= '9') &&
groupname[i] != '-' && groupname[i] != '_') {
if (!isalnum(groupname[i]) && groupname[i] != '-' && groupname[i] != '_') {
return 1;
}
}
Expand Down
4 changes: 2 additions & 2 deletions stns_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -275,11 +275,11 @@ Test(username_validation, valid_usernames)
cr_assert(is_valid_username("username") == 0);
cr_assert(is_valid_username("user-name") == 0);
cr_assert(is_valid_username("username1") == 0);
cr_assert(is_valid_username("Username") == 0);
}

Test(username_validation, invalid_usernames)
{
cr_assert(is_valid_username("Username") == 1); // contains uppercase
cr_assert(is_valid_username("username!") == 1); // contains special char
cr_assert(is_valid_username("1username") == 1); // starts with digit
cr_assert(is_valid_username("") == 1); // empty string
Expand All @@ -295,11 +295,11 @@ Test(groupname_validation, valid_groupnames)
cr_assert(is_valid_groupname("groupname") == 0);
cr_assert(is_valid_groupname("group-name") == 0);
cr_assert(is_valid_groupname("groupname1") == 0);
cr_assert(is_valid_groupname("Groupname") == 0);
}

Test(groupname_validation, invalid_groupnames)
{
cr_assert(is_valid_groupname("Groupname") == 1); // contains uppercase
cr_assert(is_valid_groupname("groupname!") == 1); // contains special char
cr_assert(is_valid_groupname("1groupname") == 1); // starts with digit
cr_assert(is_valid_groupname("") == 1); // empty string
Expand Down

0 comments on commit c022074

Please sign in to comment.