From c1b4cb0ca1a8fe88528b17ab4943a8f608c20249 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=88=D0=BE=D0=B2=D0=B0=D0=BD=20=D0=82=D0=BE=D0=BA=D0=B8?= =?UTF-8?q?=D1=9B-=D0=A8=D1=83=D0=BC=D0=B0=D1=80=D0=B0=D1=86?= Date: Sun, 27 Feb 2022 16:47:51 +0100 Subject: [PATCH] Initial commit --- Makefile | 29 ++++++++++ README.md | 2 + a.out | Bin 44888 -> 0 bytes bak.c | 159 ------------------------------------------------------ loqy | Bin 0 -> 22288 bytes main.c | 44 ++++++++++----- ss.png | Bin 0 -> 13538 bytes 7 files changed, 63 insertions(+), 171 deletions(-) create mode 100644 Makefile create mode 100644 README.md delete mode 100755 a.out delete mode 100644 bak.c create mode 100755 loqy create mode 100644 ss.png diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..5b8cfc9 --- /dev/null +++ b/Makefile @@ -0,0 +1,29 @@ +PREFIX = /usr/local + +X11INC = /usr/X11R6/include +X11LIB = /usr/X11R6/lib + +# includes and libs +INCS = -I/usr/include/freetype2 -I${X11INC} +LIBS = -L/usr/lib -lc -lcrypt -L${X11LIB} -lX11 -lXxf86vm -lXft + +CC = gcc +CFLAGS = -O2 ${INCS} ${CPPFLAGS} # -pedantic -Wall +LDFLAGS = ${LIBS} + +all: loqy + + +loqy: + ${CC} main.c ${CFLAGS} ${LDFLAGS} -o loqy + +install: all + @echo installing executable file to ${DESTDIR}${PREFIX}/bin + @mkdir -p ${DESTDIR}${PREFIX}/bin + @cp -f loqy ${DESTDIR}${PREFIX}/bin + @chmod 755 ${DESTDIR}${PREFIX}/bin/loqy + @chmod u+s ${DESTDIR}${PREFIX}/bin/loqy + +uninstall: + @echo removing executable file from ${DESTDIR}${PREFIX}/bin + @rm -f ${DESTDIR}${PREFIX}/bin/loqy diff --git a/README.md b/README.md new file mode 100644 index 0000000..0ccc2f4 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# LOQY +A simple and minimalistic lockscreen for X11, written in C. diff --git a/a.out b/a.out deleted file mode 100755 index 4616c10559202434c5287875c5437d8dffbbafb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44888 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 NeUhSSScPFA`(NWFQDFc8 diff --git a/bak.c b/bak.c deleted file mode 100644 index 204728c..0000000 --- a/bak.c +++ /dev/null @@ -1,159 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include - - -#define PASS_LEN 20 -#define FONT_SIZE 12 - - -typedef struct { unsigned long flags; - unsigned long functions; - unsigned long decorations; - long inputMode; - unsigned long status; -} Hints; - - - - -char *message = "Password"; - - -void catch_fire(char *string, int error){ - fprintf(stderr, string); - exit(error); -} - - -void draw_gui(Display*, Window, Visual*, Colormap, int, int, int); - - - -int main(void) { - - Display *d = XOpenDisplay(NULL); - - if ( d == NULL ) - catch_fire("Cannot open display\n", 1); - - - int s = DefaultScreen(d); - - - Window w; - XEvent e; - Visual *visual = DefaultVisual(d, s); - Colormap cmap = DefaultColormap(d, s); - - int depth = DefaultDepth(d, s); - int width = DisplayWidth(d, s); - int height = DisplayHeight(d, s); - - int mode_count; - - - // VIDEO MODES - XF86VidModeModeInfo **modes, *video_mode; - XF86VidModeGetAllModeLines(d, s, &mode_count, &modes); - video_mode = modes[0]; - - - // ATTRIBUTES - XSetWindowAttributes attributes; - attributes.override_redirect = True; - attributes.background_pixel = BlackPixel(d, s); - - - - // COCKS FOR FULLSCREEN QOQS - Hints hints; - hints.flags = 2; - hints.decorations = 0; - - Atom roperty = XInternAtom(d, "_MOTIF_WM_HINTS", True); - - - w = XCreateWindow(d, XRootWindow(d, s), 0, 0, width, height, 0, depth, InputOutput, visual, CWBackPixel|CWOverrideRedirect, &attributes); - - - draw_gui(d, w, visual, cmap, width, height, s); - - - XSelectInput(d, w, ExposureMask | KeyPressMask); - XMapWindow(d, w); - - - // SETTING FULLSCREEN - XF86VidModeSwitchToMode(d, s, video_mode); - XF86VidModeSetViewPort(d, s, 0, 0); - XMoveResizeWindow(d, w, 0, 0, width, height); - XMapRaised(d, w); - XGrabPointer(d, w, True, 0, GrabModeAsync, GrabModeAsync, w, 0L, CurrentTime); - XGrabKeyboard(d, w, True, GrabModeAsync, GrabModeAsync, CurrentTime); - - - - - while (1) { - XNextEvent(d, &e); - - if (e.type == KeyPress) - break; - } - - XCloseDisplay(d); - return 0; -} - - - - - - - - - - - - -void draw_gui(Display *d, Window w, Visual *visual, Colormap cmap, int width, int height, int s){ - - // FONT - char font_name[strlen("monospace-") +2]; - sprintf(font_name, "monospace-%d", FONT_SIZE); - XftFont *font = XftFontOpenName(d, s, font_name); - - // FONT COLORS - XftColor xft_black; - XftColorAllocName (d, visual, cmap, "black", &xft_black); - XftColor xft_white; - XftColorAllocName (d, visual, cmap, "white", &xft_white); - - - - XftDraw *xftdraw = XftDrawCreate(d, w, visual, cmap); - - - // WHITE RECTANGLE - XftDrawRect(xftdraw, &xft_white, width/2 - ((strlen(message) + PASS_LEN) / 2)*FONT_SIZE, height/2 - 2*FONT_SIZE, - (strlen(message) + PASS_LEN)*FONT_SIZE, 4*FONT_SIZE); - - // BLACK RECTANGLE - XftDrawRect(xftdraw, &xft_black, width/2 - ((PASS_LEN - strlen(message)) / 2)*FONT_SIZE, height/2 - 2*FONT_SIZE + FONT_SIZE/2, - (PASS_LEN * FONT_SIZE) - FONT_SIZE/2, 3*FONT_SIZE); - - // MESSAGE STRING - XftDrawString8(xftdraw, &xft_black, font, width/2 - ((strlen(message) + PASS_LEN) / 2)*FONT_SIZE + FONT_SIZE/2, - height/2 + FONT_SIZE/2, message, strlen(message)); - - - -} - - diff --git a/loqy b/loqy new file mode 100755 index 0000000000000000000000000000000000000000..9b4c2d5bc32e1f8568be5e242ec0af6ac0d241a3 GIT binary patch literal 22288 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 Noh9+H0)+yW{U>}2$PNGi literal 0 HcmV?d00001 diff --git a/main.c b/main.c index 18dd30a..edb7c78 100644 --- a/main.c +++ b/main.c @@ -43,7 +43,7 @@ void catch_fire (char*, int); void draw_ui (Display*, Window, Visual*, Colormap, int, int, int); void window_attr (Display*, Window, int, int, int); void anullate (char*, int); -void get_passwd(Display*, const char*); +void get_passwd(Display*, Window w, Visual *v, Colormap cmap, int width, int height, int screen, const char*); static const char *generate_hash(void); @@ -105,18 +105,23 @@ int main(void) { hash = generate_hash(); crypt("", hash); - /* drop privileges */ - if (setgroups(0, NULL) < 0) - ; - if (setgid(dgid) < 0) - ; - if (setuid(duid) < 0) - ; - get_passwd(d, hash); + // DROP PRIVILEGES + if (setgroups(0, NULL) < 0) + catch_fire("Can't set group", 8); + + if (setgid(dgid) < 0) + catch_fire("Can't set group", 8); + + if (setuid(duid) < 0) + catch_fire("Can't set group", 8); + + + // CHECK THE DAMNED PASSWORD + get_passwd(d, w, visual, cmap, width, height, s, hash); - XCloseDisplay(d); - return 0; + XCloseDisplay(d); + return 0; } void catch_fire (char *string, int error){ @@ -131,6 +136,7 @@ void catch_fire (char *string, int error){ void draw_ui(Display *d, Window w, Visual *visual, Colormap cmap, int width, int height, int s){ + //FONT SHENANIGANS char font_name[strlen("monospace-") +2]; sprintf(font_name, "monospace-%d", FONT_SIZE); @@ -171,6 +177,18 @@ void draw_ui(Display *d, Window w, Visual *visual, Colormap cmap, int width, int + // PRINT ASTERISKS + char pass_asterisks[PASS_BOX_LEN + 1]; + int i = 0; + for(i = 0; i < strlen(passwd) && i < PASS_BOX_LEN; ++i){ + pass_asterisks[i] = '*'; + } + pass_asterisks[i] = '\0'; + + XftDrawString8(xftdraw, &xft_white, font, black_rect_x + FONT_SIZE/2, height/2 + FONT_SIZE/2 , pass_asterisks, strlen(pass_asterisks)); + + + } @@ -225,7 +243,7 @@ void anullate(char *str, int size){ -void get_passwd(Display *d, const char *hash){ +void get_passwd(Display *d, Window w, Visual *v, Colormap cmap, int width, int height, int screen, const char *hash){ int num, failure = 0, check = 1; unsigned int len = 0; @@ -301,6 +319,8 @@ void get_passwd(Display *d, const char *hash){ break; } + draw_ui(d, w, v, cmap, width, height, screen); + if(!check) exit(0); diff --git a/ss.png b/ss.png new file mode 100644 index 0000000000000000000000000000000000000000..0c95e091e10d537b03ca800219fd121a7ad1b097 GIT binary patch literal 13538 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 NZ}-7nl{;fk{~Ns5x;p>> literal 0 HcmV?d00001 -- 2.43.0