?? passwordfd.c
字號:
/* * Author: Arvin Schnell <arvin@suse.de> * * This plugin let's you pass the password to the pppd via * a file descriptor. That's easy and secure - no fiddling * with pap- and chap-secrets files. */#include <stdio.h>#include <errno.h>#include <string.h>#include <unistd.h>#include "pppd.h"char pppd_version[] = VERSION;static int passwdfd = -1;static char save_passwd[MAXSECRETLEN];static option_t options[] = { { "passwordfd", o_int, &passwdfd, "Receive password on this file descriptor" }, { NULL }};static int pwfd_check (void){ return 1;}static int pwfd_passwd (char *user, char *passwd){ int readgood, red; if (passwdfd == -1) return -1; if (passwd == NULL) return 1; if (passwdfd == -2) { strcpy (passwd, save_passwd); return 1; } readgood = 0; do { red = read (passwdfd, passwd + readgood, MAXSECRETLEN - 1 - readgood); if (red == 0) break; if (red < 0) { error ("Can't read secret from fd\n"); readgood = -1; break; } readgood += red; } while (readgood < MAXSECRETLEN - 1); close (passwdfd); if (readgood < 0) return 0; passwd[readgood] = 0; strcpy (save_passwd, passwd); passwdfd = -2; return 1;}void plugin_init (void){ add_options (options); pap_check_hook = pwfd_check; pap_passwd_hook = pwfd_passwd; chap_check_hook = pwfd_check; chap_passwd_hook = pwfd_passwd;}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -