Changeset 3969 for neercs/trunk/src/lock.c
- Timestamp:
- Nov 19, 2009, 5:26:53 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
neercs/trunk/src/lock.c
r3551 r3969 1 /* 1 /* 2 2 * neercs console-based window manager 3 3 * Copyright (c) 2006 Sam Hocevar <sam@zoy.org> … … 48 48 49 49 #if defined USE_LOCK 50 if(!screen_list->locked) return 0; 51 52 if(c==0x08) // BACKSPACE 53 { 54 if(screen_list->lock_offset) 55 { 56 screen_list->lockpass[screen_list->lock_offset-1] = 0; 50 if (!screen_list->locked) 51 return 0; 52 53 if (c == 0x08) // BACKSPACE 54 { 55 if (screen_list->lock_offset) 56 { 57 screen_list->lockpass[screen_list->lock_offset - 1] = 0; 57 58 screen_list->lock_offset--; 58 59 } 59 60 } 60 else if (c==0x0d)// RETURN61 else if (c == 0x0d) // RETURN 61 62 { 62 63 memset(screen_list->lockmsg, 0, 1024); 63 if (validate_lock(screen_list, getenv("USER"), screen_list->lockpass))64 if (validate_lock(screen_list, getenv("USER"), screen_list->lockpass)) 64 65 { 65 66 memset(screen_list->lockpass, 0, 1024); … … 77 78 else 78 79 { 79 if (screen_list->lock_offset < 1023)80 if (screen_list->lock_offset < 1023) 80 81 { 81 82 screen_list->lockpass[screen_list->lock_offset++] = c; 82 screen_list->lockpass[screen_list->lock_offset] 83 screen_list->lockpass[screen_list->lock_offset] = 0; 83 84 } 84 85 } … … 95 96 caca_canvas_t *cv = screen_list->cv; 96 97 97 gethostname(buffer, sizeof(buffer) -1);98 gethostname(buffer, sizeof(buffer) - 1); 98 99 99 100 int w = 65, h = 20; … … 103 104 104 105 caca_set_color_ansi(cv, CACA_BLUE, CACA_BLUE); 105 caca_fill_box(cv, 106 x, y, 107 w, h, '#'); 106 caca_fill_box(cv, x, y, w, h, '#'); 108 107 caca_set_color_ansi(cv, CACA_DEFAULT, CACA_BLUE); 109 caca_draw_cp437_box(cv, 110 x, y, 111 w, h); 112 113 x+=2; 108 caca_draw_cp437_box(cv, x, y, w, h); 109 110 x += 2; 114 111 y++; 115 112 caca_printf(cv, 116 (caca_get_canvas_width(cv) - strlen(PACKAGE_STRING " locked")) / 2, 117 y-1, 118 PACKAGE_STRING " locked"); 119 120 caca_printf(cv, x, y++, "Please type in your password for %s@%s :", getenv("USER"), buffer); 121 y+=2; 122 123 x = (caca_get_canvas_width(cv)/2) - ((strlen(screen_list->lockpass) / 2) + strlen("Password : ")); 113 (caca_get_canvas_width(cv) - 114 strlen(PACKAGE_STRING " locked")) / 2, y - 1, 115 PACKAGE_STRING " locked"); 116 117 caca_printf(cv, x, y++, "Please type in your password for %s@%s :", 118 getenv("USER"), buffer); 119 y += 2; 120 121 x = (caca_get_canvas_width(cv) / 2) - 122 ((strlen(screen_list->lockpass) / 2) + strlen("Password : ")); 124 123 caca_printf(cv, x, y, "Password : "); 125 x +=strlen("Password : ");126 for (i=0; i<strlen(screen_list->lockpass); i++)124 x += strlen("Password : "); 125 for (i = 0; i < strlen(screen_list->lockpass); i++) 127 126 { 128 127 caca_put_str(cv, x, y, "*"); … … 131 130 132 131 133 if(strlen(screen_list->lockmsg)) 134 { 135 x = ((caca_get_canvas_width(cv) - w) / 2) + (strlen(screen_list->lockmsg)); 136 y+=2; 132 if (strlen(screen_list->lockmsg)) 133 { 134 x = ((caca_get_canvas_width(cv) - w) / 2) + 135 (strlen(screen_list->lockmsg)); 136 y += 2; 137 137 caca_set_color_ansi(cv, CACA_RED, CACA_BLUE); 138 138 caca_printf(cv, x, y, "Error : %s", screen_list->lockmsg); … … 155 155 for (i = 0; i < num_msg; ++i) 156 156 { 157 switch (msg[i]->msg_style)157 switch (msg[i]->msg_style) 158 158 { 159 159 case PAM_PROMPT_ECHO_ON: … … 164 164 case PAM_ERROR_MSG: 165 165 break; 166 default 166 default: 167 167 printf("Unknow message type from PAM\n"); 168 168 break; … … 179 179 #if USE_LOCK 180 180 int ret; 181 pam_handle_t *pamh =NULL;181 pam_handle_t *pamh = NULL; 182 182 char buffer[100]; 183 const char *service ="neercs";183 const char *service = "neercs"; 184 184 struct pam_conv conv = { 185 185 convpam, … … 188 188 189 189 ret = pam_start(service, user, &conv, &pamh); 190 if (ret!=PAM_SUCCESS)190 if (ret != PAM_SUCCESS) 191 191 return 0; 192 192 pam_set_item(pamh, PAM_RUSER, user); 193 193 194 ret = gethostname(buffer, sizeof(buffer) -1);194 ret = gethostname(buffer, sizeof(buffer) - 1); 195 195 if (ret) 196 196 { … … 203 203 204 204 ret = pam_set_item(pamh, PAM_RHOST, buffer); 205 if (ret!=PAM_SUCCESS)205 if (ret != PAM_SUCCESS) 206 206 { 207 207 sprintf(screen_list->lockmsg, "Can't set hostname"); … … 211 211 212 212 ret = pam_authenticate(pamh, 0); 213 if (ret!=PAM_SUCCESS)213 if (ret != PAM_SUCCESS) 214 214 { 215 215 sprintf(screen_list->lockmsg, "Can't authenticate"); … … 223 223 return 1; 224 224 } 225
Note: See TracChangeset
for help on using the changeset viewer.