Merge branch 'feature/KASM-5213_email_username' into 'master'

Allow emails as usernames

Closes KASM-5213

See merge request kasm-technologies/internal/KasmVNC!115
This commit is contained in:
Matthew McClaskey
2023-11-30 12:59:21 +00:00
7 changed files with 13 additions and 11 deletions

View File

@@ -88,8 +88,8 @@ VNCSConnectionST::VNCSConnectionST(VNCServerST* server_, network::Socket *s,
wordfree(&wexp);
user[0] = '\0';
const char *at = strchr(peerEndpoint.buf, '@');
if (at && at - peerEndpoint.buf > 1 && at - peerEndpoint.buf < 32) {
const char *at = strrchr(peerEndpoint.buf, '@');
if (at && at - peerEndpoint.buf > 1 && at - peerEndpoint.buf < USERNAME_LEN) {
memcpy(user, peerEndpoint.buf, at - peerEndpoint.buf);
user[at - peerEndpoint.buf] = '\0';
}
@@ -1635,7 +1635,7 @@ void VNCSConnectionST::sendStats(const bool toClient) {
void VNCSConnectionST::handleFrameStats(rdr::U32 all, rdr::U32 render)
{
if (server->apimessager) {
const char *at = strchr(peerEndpoint.buf, '@');
const char *at = strrchr(peerEndpoint.buf, '@');
if (!at)
at = peerEndpoint.buf;
else

View File

@@ -35,6 +35,8 @@
#include <rfb/Timer.h>
#include <rfb/unixRelayLimits.h>
#include "kasmpasswd.h"
namespace rfb {
class VNCServerST;
@@ -318,7 +320,7 @@ namespace rfb {
rdr::U64 bstats_total[BS_NUM];
struct timeval connStart;
char user[32];
char user[USERNAME_LEN];
char kasmpasswdpath[4096];
bool needsPermCheck;

View File

@@ -814,7 +814,7 @@ static void upgradeClientToUdp(const network::GetAPIMessager::action_data &act,
inet_ntop(AF_INET, &act.udp.ip, buf, 32);
const char * const who = (*ci)->getPeerEndpoint();
const char *start = strchr(who, '@');
const char *start = strrchr(who, '@');
if (!start)
continue;
start++;