亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? htpasswd.c

?? 嵌入式web服務器源代碼。可以移植的arm等嵌入式上。經試驗運行穩定可靠。歡迎下載并給出建議
?? C
字號:
/* * htpasswd.c: simple program for manipulating password file for NCSA httpd *  * Rob McCool *//* Modified 29aug97 by Jef Poskanzer to accept new password on stdin,** if stdin is a pipe or file.  This is necessary for use from CGI.*/#include <sys/types.h>#include <stdio.h>#include <string.h>#include <signal.h>#include <stdlib.h>#include <time.h>#include <unistd.h>extern char *crypt(const char *key, const char *setting);#define LF 10#define CR 13#define MAX_STRING_LEN 256int tfd;char temp_template[] = "/tmp/htp.XXXXXX";void interrupted(int);static char * strd(char *s) {    char *d;    d=(char *)malloc(strlen(s) + 1);    strcpy(d,s);    return(d);}static void getword(char *word, char *line, char stop) {    int x = 0,y;    for(x=0;((line[x]) && (line[x] != stop));x++)        word[x] = line[x];    word[x] = '\0';    if(line[x]) ++x;    y=0;    while((line[y++] = line[x++]));}static int getline(char *s, int n, FILE *f) {    register int i=0;    while(1) {        s[i] = (char)fgetc(f);        if(s[i] == CR)            s[i] = fgetc(f);        if((s[i] == 0x4) || (s[i] == LF) || (i == (n-1))) {            s[i] = '\0';            return (feof(f) ? 1 : 0);        }        ++i;    }}static void putline(FILE *f,char *l) {    int x;    for(x=0;l[x];x++) fputc(l[x],f);    fputc('\n',f);}/* From local_passwd.c (C) Regents of Univ. of California blah blah */static unsigned char itoa64[] =         /* 0 ... 63 => ascii - 64 */        "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";static void to64(register char *s, register long v, register int n) {    while (--n >= 0) {        *s++ = itoa64[v&0x3f];        v >>= 6;    }}#ifdef MPE/* MPE lacks getpass() and a way to suppress stdin echo.  So for now, justissue the prompt and read the results with echo.  (Ugh). */char *getpass(const char *prompt) {static char password[81];fputs(prompt,stderr);gets((char *)&password);if (strlen((char *)&password) > 8) {  password[8]='\0';}return (char *)&password;}#endifstatic voidadd_password( char* user, FILE* f )    {    char pass[100];    char* pw;    char* cpw;    char salt[3];    if ( ! isatty( fileno( stdin ) ) )	{	(void) fgets( pass, sizeof(pass), stdin );	if ( pass[strlen(pass) - 1] == '\n' )	    pass[strlen(pass) - 1] = '\0';	pw = pass;	}    else	{	pw = strd( (char*) getpass( "New password:" ) );	if ( strcmp( pw, (char*) getpass( "Re-type new password:" ) ) != 0 )	    {	    (void) fprintf( stderr, "They don't match, sorry.\n" );	    if ( tfd != -1 )		unlink( temp_template );	    exit( 1 );	    }	}    (void) srandom( (int) time( (time_t*) 0 ) );    to64( &salt[0], random(), 2 );    cpw = crypt( pw, salt );    (void) fprintf( f, "%s:%s\n", user, cpw );    }static void usage(void) {    fprintf(stderr,"Usage: htpasswd [-c] passwordfile username\n");    fprintf(stderr,"The -c flag creates a new file.\n");    exit(1);}void interrupted(int signo) {    fprintf(stderr,"Interrupted.\n");    if(tfd != -1) unlink(temp_template);    exit(1);}int main(int argc, char *argv[]) {    FILE *tfp,*f;    char user[MAX_STRING_LEN];    char line[MAX_STRING_LEN];    char l[MAX_STRING_LEN];    char w[MAX_STRING_LEN];    char command[MAX_STRING_LEN];    int found;    tfd = -1;    signal(SIGINT,(void (*)(int))interrupted);    if(argc == 4) {        if(strcmp(argv[1],"-c"))            usage();        if(!(tfp = fopen(argv[2],"w"))) {            fprintf(stderr,"Could not open passwd file %s for writing.\n",                    argv[2]);            perror("fopen");            exit(1);        }        printf("Adding password for %s.\n",argv[3]);        add_password(argv[3],tfp);        fclose(tfp);        exit(0);    } else if(argc != 3) usage();    tfd = mkstemp(temp_template);    if(!(tfp = fdopen(tfd,"w"))) {        fprintf(stderr,"Could not open temp file.\n");        exit(1);    }    if(!(f = fopen(argv[1],"r"))) {        fprintf(stderr,                "Could not open passwd file %s for reading.\n",argv[1]);        fprintf(stderr,"Use -c option to create new one.\n");        exit(1);    }    strcpy(user,argv[2]);    found = 0;    while(!(getline(line,MAX_STRING_LEN,f))) {        if(found || (line[0] == '#') || (!line[0])) {            putline(tfp,line);            continue;        }        strcpy(l,line);        getword(w,l,':');        if(strcmp(user,w)) {            putline(tfp,line);            continue;        }        else {            printf("Changing password for user %s\n",user);            add_password(user,tfp);            found = 1;        }    }    if(!found) {        printf("Adding user %s\n",user);        add_password(user,tfp);    }    fclose(f);    fclose(tfp);    sprintf(command,"cp %s %s",temp_template,argv[1]);    system(command);    unlink(temp_template);    exit(0);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美人xxxx| 国产精品中文欧美| 中文字幕日韩av资源站| 日韩欧美一卡二卡| 日韩无一区二区| 精品日韩一区二区三区| 久久综合久久99| 国产日韩亚洲欧美综合| 欧美国产乱子伦| 亚洲欧洲三级电影| 亚洲综合激情另类小说区| 亚洲自拍偷拍麻豆| 奇米影视在线99精品| 精品中文字幕一区二区 | 欧美性生活影院| 欧美高清激情brazzers| 欧美变态tickling挠脚心| 欧美不卡一二三| 国产欧美日韩不卡| 一区二区久久久| 日本中文在线一区| 国产91精品久久久久久久网曝门 | 欧美视频精品在线| 日韩精品一区二区三区视频播放| 精品999在线播放| 中文字幕巨乱亚洲| 视频一区在线播放| 国产高清视频一区| 欧美吻胸吃奶大尺度电影 | 欧美日本精品一区二区三区| 91麻豆精品久久久久蜜臀| 欧美三级电影一区| 亚洲黄一区二区三区| 亚洲国产精品人人做人人爽| 久久精品免费看| 成a人片亚洲日本久久| 欧美日韩国产在线观看| 国产拍揄自揄精品视频麻豆| 一区二区三区免费在线观看| 国产剧情一区二区| 欧美日韩不卡一区二区| 中文字幕视频一区二区三区久| 天堂一区二区在线免费观看| 97精品超碰一区二区三区| 日韩三级av在线播放| 亚洲毛片av在线| 大胆亚洲人体视频| 欧美变态凌虐bdsm| 午夜精品久久久久久久久久久| 国产成人午夜精品5599| 欧美一级夜夜爽| 一区二区久久久久| 成人国产精品免费观看| 精品国产91亚洲一区二区三区婷婷| 亚洲一区视频在线| 成人av电影免费观看| 久久伊99综合婷婷久久伊| 天天影视网天天综合色在线播放| 色综合久久99| 亚洲色图19p| 成人免费看视频| 亚洲精品一区二区精华| 奇米色一区二区| 3atv在线一区二区三区| 亚洲成a天堂v人片| 欧美色窝79yyyycom| 亚洲欧美一区二区三区国产精品| 成人免费视频国产在线观看| 精品国产免费久久| 国产精品亚洲第一区在线暖暖韩国| 欧美xxxxxxxxx| 精品亚洲欧美一区| 精品免费国产一区二区三区四区| 日韩专区一卡二卡| 日韩一区二区精品葵司在线| 日本一不卡视频| 欧美v日韩v国产v| 精品中文字幕一区二区小辣椒 | 国产精品中文欧美| 精品一区二区三区久久久| 欧美色网站导航| 亚洲成人精品在线观看| 精品视频免费在线| 日韩中文字幕区一区有砖一区| 欧美日韩一级大片网址| 日韩国产欧美在线观看| 91精品欧美福利在线观看| 久久99精品久久久| 国产亚洲一区二区在线观看| 国产成人av一区| 亚洲精品精品亚洲| 欧美三级视频在线播放| 麻豆一区二区99久久久久| 亚洲精品一区二区在线观看| www.成人网.com| 亚洲电影第三页| 精品少妇一区二区三区在线播放 | 欧美在线观看一区二区| 日日欢夜夜爽一区| 国产午夜精品一区二区三区嫩草| 暴力调教一区二区三区| 同产精品九九九| 欧美激情中文字幕| 欧美系列亚洲系列| 国产一二三精品| 亚洲宅男天堂在线观看无病毒| 欧美一级高清片在线观看| 不卡av免费在线观看| 五月综合激情婷婷六月色窝| 久久久久久久久99精品| 欧美日韩一二区| 成人免费黄色大片| 日韩电影一二三区| 综合久久久久综合| 精品久久五月天| 欧美性生活影院| 成人黄色在线网站| 日本欧美久久久久免费播放网| 国产婷婷色一区二区三区四区| 欧美日本一区二区三区四区| 成人精品鲁一区一区二区| 久久精品国产99国产| 亚洲一区二区三区精品在线| 国产欧美日本一区二区三区| 欧美一区二区三区在线观看视频| 91免费小视频| 丁香婷婷综合色啪| 久久精品国产澳门| 天天操天天色综合| 亚洲精品成人少妇| 最新高清无码专区| 亚洲国产高清在线观看视频| 精品久久人人做人人爽| 宅男噜噜噜66一区二区66| 在线视频一区二区三| 99re在线精品| 成人午夜激情在线| 国产成人一级电影| 国产在线国偷精品产拍免费yy| 日韩精品免费视频人成| 午夜影院久久久| 一区二区三区电影在线播| 中文字幕一区二区三区四区| 国产欧美日韩麻豆91| 国产亚洲美州欧州综合国| 精品乱码亚洲一区二区不卡| 日韩欧美一二三四区| 日韩一区二区三区在线| 欧美一级二级三级乱码| 日韩精品一区二区三区在线| 欧美一二三区在线观看| 欧美一卡二卡三卡四卡| 欧美一级xxx| 久久综合国产精品| 久久久久久黄色| 欧美激情在线观看视频免费| 国产日韩欧美激情| 国产精品精品国产色婷婷| 国产精品免费看片| 亚洲精品水蜜桃| 亚洲综合视频在线观看| 日日夜夜精品视频天天综合网| 日本不卡免费在线视频| 精品亚洲porn| 成人午夜精品一区二区三区| 91美女在线看| 欧美精品三级在线观看| 日韩一卡二卡三卡| 国产蜜臀av在线一区二区三区| 日韩一区欧美一区| 午夜伦欧美伦电影理论片| 久色婷婷小香蕉久久| 成人午夜在线视频| 在线影院国内精品| 欧美sm极限捆绑bd| 国产精品高潮呻吟久久| 亚洲第一av色| 国产麻豆欧美日韩一区| 9i在线看片成人免费| 欧美日韩国产在线播放网站| 26uuu另类欧美亚洲曰本| 亚洲欧洲av一区二区三区久久| 亚洲一区二区三区四区五区中文 | 精品女同一区二区| 国产精品成人一区二区三区夜夜夜 | 国产精品免费av| 亚洲第一成人在线| 成人免费看黄yyy456| 69p69国产精品| 国产精品国产三级国产三级人妇 | 久久99久久99精品免视看婷婷| 成人性视频免费网站| 欧美精品欧美精品系列| 久久久国产精品麻豆| 天堂一区二区在线免费观看| 高清免费成人av| 日韩欧美在线1卡| 亚洲午夜精品17c| av在线不卡免费看| 精品福利视频一区二区三区|