From 99e27dd0c0ea9d6046daa3f188e9697bf84ef151 Mon Sep 17 00:00:00 2001 From: javalsai Date: Tue, 1 Jul 2025 01:09:49 +0200 Subject: [PATCH 1/4] fix(likely): #45 --- src/auth.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/auth.c b/src/auth.c index f4d1312..6caa3a3 100644 --- a/src/auth.c +++ b/src/auth.c @@ -125,12 +125,12 @@ void moarEnv(char* user, struct session session, struct passwd* pw, uint home_len = strlen(pw->pw_dir); for (size_t i = 0; i < config->behavior.user_source.length; i++) { char* file2sourcepath = (char*)vec_get(&config->behavior.user_source, i); - size_t newbuf_len = home_len + strlen(file2sourcepath) + 2; - char* newbuf = malloc(newbuf_len); // nullbyte and slash + size_t newbuf_len = home_len + strlen(file2sourcepath) + 2; // nullbute and slash + char* newbuf = malloc(newbuf_len); if (newbuf == NULL) continue; // can't bother - memcpy(newbuf, pw->pw_dir, newbuf_len); + memcpy(newbuf, pw->pw_dir, home_len); newbuf[home_len] = '/'; // assume pw_dir doesn't start with '/' :P - memcpy(&newbuf[home_len + 1], file2sourcepath, newbuf_len - home_len); + memcpy(&newbuf[home_len + 1], file2sourcepath, newbuf_len - home_len - 1); sourceFileTry(newbuf); free(newbuf); From 6c6769b2b3dd824b09ba54392faa416c309cf14c Mon Sep 17 00:00:00 2001 From: javalsai Date: Tue, 1 Jul 2025 01:16:08 +0200 Subject: [PATCH 2/4] chore: clean some auth logic --- src/auth.c | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/src/auth.c b/src/auth.c index 6caa3a3..d686cd1 100644 --- a/src/auth.c +++ b/src/auth.c @@ -121,19 +121,26 @@ void moarEnv(char* user, struct session session, struct passwd* pw, sourceFileTry((char*)vec_get(&config->behavior.source, i)); } /* printf("\n"); */ - if (pw->pw_dir) { - uint home_len = strlen(pw->pw_dir); - for (size_t i = 0; i < config->behavior.user_source.length; i++) { - char* file2sourcepath = (char*)vec_get(&config->behavior.user_source, i); - size_t newbuf_len = home_len + strlen(file2sourcepath) + 2; // nullbute and slash - char* newbuf = malloc(newbuf_len); - if (newbuf == NULL) continue; // can't bother - memcpy(newbuf, pw->pw_dir, home_len); - newbuf[home_len] = '/'; // assume pw_dir doesn't start with '/' :P - memcpy(&newbuf[home_len + 1], file2sourcepath, newbuf_len - home_len - 1); - sourceFileTry(newbuf); - free(newbuf); + if (pw->pw_dir) { + const char* home = pw->pw_dir; + size_t home_len = strlen(home); + + for (size_t i = 0; i < config->behavior.user_source.length; i++) { + const char* filename = (char*)vec_get(&config->behavior.user_source, i); + size_t filename_len = strlen(filename); + + size_t path_len = home_len + 1 + filename_len + 1; // nullbyte and slash + char* path = malloc(path_len); + if (!path) continue; // can't bother + + memcpy(path, home, home_len); + path[home_len] = '/'; // assume pw_dir doesn't start with '/' :P + memcpy(&path[home_len + 1], filename, filename_len); + path[path_len - 1] = '\0'; + + sourceFileTry(path); + free(path); } } From 59acddf652ef1afbf07801b74c417481833ee26f Mon Sep 17 00:00:00 2001 From: javalsai Date: Tue, 1 Jul 2025 01:26:35 +0200 Subject: [PATCH 3/4] dev: add debug utils folder --- debug/README.md | 3 +++ debug/debug.gdb | 59 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 debug/README.md create mode 100644 debug/debug.gdb diff --git a/debug/README.md b/debug/README.md new file mode 100644 index 0000000..55472b9 --- /dev/null +++ b/debug/README.md @@ -0,0 +1,3 @@ +# Debug + +This folder contains debug utils like gdb scripts. They are not guaranteed to work but can ease some tasks when debugging. diff --git a/debug/debug.gdb b/debug/debug.gdb new file mode 100644 index 0000000..04059f3 --- /dev/null +++ b/debug/debug.gdb @@ -0,0 +1,59 @@ +# this just meant to run in another term, is probably better to attach to another already running window +set inferior-tty /dev/pts/7 +set pagination off + +break *(read_press + 62) +define fake_read + set *((char*) $rsi) = $al + set $rax = 1 + jump *(read_press + 67) +end + +break *(read_press + 108) +define fake_magic_cont + set $eax = 1 + jump *(read_press + 113) +end +define fake_magic_end + set $eax = 0 + jump *(read_press + 113) +end + +run +set $al = 0x1b +fake_read +fake_magic_cont +set $al = '[' +fake_read +fake_magic_cont +set $al = 'D' +fake_read +fake_magic_end + +set $al = 'p' +fake_read +fake_magic_end + +set $al = 'a' +fake_read +fake_magic_end + +set $al = 's' +fake_read +fake_magic_end + +set $al = 's' +fake_read +fake_magic_end + +set $al = 'w' +fake_read +fake_magic_end + +set $al = 'd' +fake_read +fake_magic_end + +set $al = '\n' +fake_read +fake_magic_end From 4c955053e891fd803f22b64e59f8077228a3b6d4 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 30 Jun 2025 23:55:37 +0000 Subject: [PATCH 4/4] Update AUR pkgs to v1.1.1 --- assets/pkg/aur/lidm-bin/.SRCINFO | 12 ++++++------ assets/pkg/aur/lidm-bin/PKGBUILD | 4 ++-- assets/pkg/aur/lidm-git/PKGBUILD | 2 +- assets/pkg/aur/lidm/.SRCINFO | 6 +++--- assets/pkg/aur/lidm/PKGBUILD | 4 ++-- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/assets/pkg/aur/lidm-bin/.SRCINFO b/assets/pkg/aur/lidm-bin/.SRCINFO index b83bd86..7dc6553 100644 --- a/assets/pkg/aur/lidm-bin/.SRCINFO +++ b/assets/pkg/aur/lidm-bin/.SRCINFO @@ -1,6 +1,6 @@ pkgbase = lidm-bin pkgdesc = A fully colorful customizable TUI display manager made in C. (release binary) - pkgver = 1.1.0 + pkgver = 1.1.1 pkgrel = 1 url = https://github.com/javalsai/lidm arch = x86_64 @@ -8,11 +8,11 @@ pkgbase = lidm-bin depends = pam provides = lidm conflicts = lidm - source = lidm::https://github.com/javalsai/lidm/releases/download/v1.1.0/lidm-amd64 - source = default-theme.ini::https://raw.githubusercontent.com/javalsai/lidm/v1.1.0/themes/default.ini - source = lidm.1::https://raw.githubusercontent.com/javalsai/lidm/v1.1.0/assets/man/lidm.1 - source = lidm-config.5::https://raw.githubusercontent.com/javalsai/lidm/v1.1.0/assets/man/lidm-config.5 - sha256sums = 7bc64f0f10994c062ea80ea2c6ee9d45828567b448e170fb3e7af4111ce1c2dc + source = lidm::https://github.com/javalsai/lidm/releases/download/v1.1.1/lidm-amd64 + source = default-theme.ini::https://raw.githubusercontent.com/javalsai/lidm/v1.1.1/themes/default.ini + source = lidm.1::https://raw.githubusercontent.com/javalsai/lidm/v1.1.1/assets/man/lidm.1 + source = lidm-config.5::https://raw.githubusercontent.com/javalsai/lidm/v1.1.1/assets/man/lidm-config.5 + sha256sums = c4e82ae2c08c223ef417edca50f86f516e3f9154339f67110c87d01855673fcf sha256sums = a8d29e220c23b48b5cd3aac0c0e395e90a9d6c9ca9c9c35a45ad6f3df5f55542 sha256sums = 7f2fb91f55088be1a9b1c93ecf5d6c1e437f369b56df2eacc9d10b00c93c39f8 sha256sums = 5dbe088ce29c95a400080190560d4308c10519a953e83d2d5020dfdf47dd830f diff --git a/assets/pkg/aur/lidm-bin/PKGBUILD b/assets/pkg/aur/lidm-bin/PKGBUILD index 47ca85c..355df02 100644 --- a/assets/pkg/aur/lidm-bin/PKGBUILD +++ b/assets/pkg/aur/lidm-bin/PKGBUILD @@ -1,7 +1,7 @@ # shellcheck disable=SC2034,SC2148,SC2128,SC2154,SC2164 # Maintainer: javalsai pkgname=lidm-bin -pkgver=1.1.0 +pkgver=1.1.1 pkgrel=1 depends=('pam') pkgdesc="A fully colorful customizable TUI display manager made in C. (release binary)" @@ -16,7 +16,7 @@ source=( "lidm.1::https://raw.githubusercontent.com/javalsai/lidm/v$pkgver/assets/man/lidm.1" "lidm-config.5::https://raw.githubusercontent.com/javalsai/lidm/v$pkgver/assets/man/lidm-config.5" ) -sha256sums=('7bc64f0f10994c062ea80ea2c6ee9d45828567b448e170fb3e7af4111ce1c2dc' +sha256sums=('c4e82ae2c08c223ef417edca50f86f516e3f9154339f67110c87d01855673fcf' 'a8d29e220c23b48b5cd3aac0c0e395e90a9d6c9ca9c9c35a45ad6f3df5f55542' '7f2fb91f55088be1a9b1c93ecf5d6c1e437f369b56df2eacc9d10b00c93c39f8' '5dbe088ce29c95a400080190560d4308c10519a953e83d2d5020dfdf47dd830f') diff --git a/assets/pkg/aur/lidm-git/PKGBUILD b/assets/pkg/aur/lidm-git/PKGBUILD index 82726b8..d23def2 100644 --- a/assets/pkg/aur/lidm-git/PKGBUILD +++ b/assets/pkg/aur/lidm-git/PKGBUILD @@ -1,7 +1,7 @@ # shellcheck disable=SC2034,SC2148,SC2128,SC2154,SC2164 # Maintainer: javalsai pkgname=lidm-git -pkgver=1.1.0.r0.g11e9257 +pkgver=1.1.1.r0.g3bfc2f5 pkgrel=1 depends=('pam') makedepends=('git' 'make' 'gcc') diff --git a/assets/pkg/aur/lidm/.SRCINFO b/assets/pkg/aur/lidm/.SRCINFO index 8cac047..4508428 100644 --- a/assets/pkg/aur/lidm/.SRCINFO +++ b/assets/pkg/aur/lidm/.SRCINFO @@ -1,6 +1,6 @@ pkgbase = lidm pkgdesc = A fully colorful customizable TUI display manager made in C. (build latest tag) - pkgver = 1.1.0 + pkgver = 1.1.1 pkgrel = 1 url = https://github.com/javalsai/lidm arch = any @@ -8,7 +8,7 @@ pkgbase = lidm makedepends = git makedepends = gcc depends = pam - source = tarball.tar.gz::https://github.com/javalsai/lidm/archive/refs/tags/v1.1.0.tar.gz - sha256sums = 4c39eb29f8a8b705b7a40f71df9b0ee2c8c140da039f933b2b895e649aaa8068 + source = tarball.tar.gz::https://github.com/javalsai/lidm/archive/refs/tags/v1.1.1.tar.gz + sha256sums = 915dc5acce413d5d32bb52c6f9980661a389a0939a49ac31bc250b2d162a5479 pkgname = lidm diff --git a/assets/pkg/aur/lidm/PKGBUILD b/assets/pkg/aur/lidm/PKGBUILD index f3d7696..d529fdc 100644 --- a/assets/pkg/aur/lidm/PKGBUILD +++ b/assets/pkg/aur/lidm/PKGBUILD @@ -1,7 +1,7 @@ # shellcheck disable=SC2034,SC2148,SC2128,SC2154,SC2164 # Maintainer: javalsai pkgname=lidm -pkgver=1.1.0 +pkgver=1.1.1 pkgrel=1 depends=('pam') makedepends=('git' 'gcc') @@ -10,7 +10,7 @@ arch=('any') url="https://github.com/javalsai/lidm" license=('GPL') source=("tarball.tar.gz::https://github.com/javalsai/lidm/archive/refs/tags/v$pkgver.tar.gz") -sha256sums=('4c39eb29f8a8b705b7a40f71df9b0ee2c8c140da039f933b2b895e649aaa8068') +sha256sums=('915dc5acce413d5d32bb52c6f9980661a389a0939a49ac31bc250b2d162a5479') build() { tar -xzf "tarball.tar.gz"