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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? vactivedir.c

?? 相當優(yōu)秀的 UNIX 進程管理工具
?? C
?? 第 1 頁 / 共 2 頁
字號:
  }  ad_clean_packet(&adir);  close(sock);  if ( strncmp(adir.p1,"yes",3) != 0 ) return(-1);   return(0);}void vclose() { }#ifdef IP_ALIAS_DOMAINSint vget_ip_map( char *ip, char *domain, int domain_size){ FILE *fs; char tmpbuf[156]; char *tmpstr;	if ( ip == NULL || strlen(ip) <= 0 ) return(-1);	/* open the ip_alias_map file */	snprintf(tmpbuf, 156, "%s/%s", VPOPMAILDIR, IP_ALIAS_MAP_FILE);	if ( (fs = fopen(tmpbuf,"r")) == NULL ) return(-1);	while( fgets(tmpbuf, 156, fs) != NULL ) {		tmpstr = strtok(tmpbuf, IP_ALIAS_TOKENS);		if ( tmpstr == NULL ) continue;		if ( strcmp(ip, tmpstr) != 0 ) continue;		tmpstr = strtok(NULL, IP_ALIAS_TOKENS);		if ( tmpstr == NULL ) continue;		strncpy(domain, tmpstr, domain_size);		fclose(fs);		return(0);	}	fclose(fs);	return(-1);}/*  * Add an ip to domain mapping * It will remove any duplicate entry before adding it * */int vadd_ip_map( char *ip, char *domain){ FILE *fs; char tmpbuf[156];  if ( ip == NULL || strlen(ip) <= 0 ) return(-1);  if ( domain == NULL || strlen(domain) <= 0 ) return(-10);  vdel_ip_map( ip, domain );  snprintf(tmpbuf, 156, "%s/%s", VPOPMAILDIR, IP_ALIAS_MAP_FILE);  if ( (fs = fopen(tmpbuf,"a+")) == NULL ) return(-1);  fprintf( fs, "%s %s\n", ip, domain);  fclose(fs);  return(0);}int vdel_ip_map( char *ip, char *domain) { FILE *fs; FILE *fs1; char file1[156]; char file2[156]; char tmpbuf[156]; char tmpbuf1[156]; char *ip_f; char *domain_f;  if ( ip == NULL || strlen(ip) <= 0 ) return(-1);  if ( domain == NULL || strlen(domain) <= 0 ) return(-1);  snprintf(file1, 156, "%s/%s", VPOPMAILDIR, IP_ALIAS_MAP_FILE);  if ( (fs = fopen(file1,"r")) == NULL ) return(-1);  snprint(file2, 156, "%s/%s.%d", VPOPMAILDIR, IP_ALIAS_MAP_FILE, getpid());  if ( (fs1 = fopen(file2,"w")) == NULL ) {    fclose(fs);    return(-1);  }  while( fgets(tmpbuf, 156, fs) != NULL ) {    strncpy(tmpbuf1,tmpbuf, 156);    ip_f = strtok(tmpbuf, IP_ALIAS_TOKENS);    if ( ip_f == NULL ) continue;    domain_f = strtok(NULL, IP_ALIAS_TOKENS);    if ( domain_f == NULL ) continue;    if ( strcmp(ip, ip_f) == 0 && strcmp(domain,domain_f) == 0) continue;    fprintf(fs1, tmpbuf1);  }  fclose(fs);  fclose(fs1);  if ( rename( file2, file1) < 0 ) return(-1);  return(0);}int vshow_ip_map( int first, char *ip, char *domain){ static FILE *fs = NULL; char tmpbuf[156]; char *tmpstr;  if ( ip == NULL ) return(-1);  if ( domain == NULL ) return(-1);  if ( first == 1 ) {    if ( fs != NULL ) {      fclose(fs);      fs = NULL;    }    snprintf(tmpbuf, 156, "%s/%s", VPOPMAILDIR, IP_ALIAS_MAP_FILE);    if ( (fs = fopen(tmpbuf,"r")) == NULL ) return(-1);  }  if ( fs == NULL ) return(-1);  while (1) {    if (fgets(tmpbuf, 156, fs) == NULL ) {      fclose(fs);      fs = NULL;      return(0);    }    tmpstr = strtok(tmpbuf, IP_ALIAS_TOKENS);    if ( tmpstr == NULL ) continue;    strcpy( ip, tmpstr);    tmpstr = strtok(NULL, IP_ALIAS_TOKENS);    if ( tmpstr == NULL ) continue;    strcpy( domain, tmpstr);    return(1);  }  return(-1);}#endifint vread_dir_control(vdir_type *vdir, char *domain, uid_t uid, gid_t gid){  FILE *fs; char dir_control_file[MAX_DIR_NAME]; int i;  strncpy(dir_control_file,dc_filename(domain, uid, gid),MAX_DIR_NAME);  if ( (fs = fopen(dir_control_file, "r")) == NULL ) {    vdir->cur_users = 0;    for(i=0;i<MAX_DIR_LEVELS;++i){      vdir->level_start[i] = 0;      vdir->level_end[i] = MAX_DIR_LIST-1;      vdir->level_index[i] = 0;    }    vdir->level_mod[0] = 0;    vdir->level_mod[1] = 2;    vdir->level_mod[2] = 4;    vdir->level_cur = 0;    vdir->level_max = MAX_DIR_LEVELS;    vdir->the_dir[0] = 0;    return(-1);  }   fgets(dir_control_file, MAX_DIR_NAME, fs );   vdir->cur_users = atol(dir_control_file);  fgets(dir_control_file, MAX_DIR_NAME, fs );   vdir->level_cur = atoi(dir_control_file);  fgets(dir_control_file, MAX_DIR_NAME, fs );   vdir->level_max = atoi(dir_control_file);  fgets(dir_control_file, MAX_DIR_NAME, fs );   vdir->level_start[0] = atoi(dir_control_file);  for(i=0;dir_control_file[i]!=' ';++i); ++i;  vdir->level_start[1] = atoi(&dir_control_file[i]);  for(i=0;dir_control_file[i]!=' ';++i); ++i;  vdir->level_start[2] = atoi(&dir_control_file[i]);  fgets(dir_control_file, MAX_DIR_NAME, fs );   vdir->level_end[0] = atoi(dir_control_file);  for(i=0;dir_control_file[i]!=' ';++i); ++i;  vdir->level_end[1] = atoi(&dir_control_file[i]);  for(i=0;dir_control_file[i]!=' ';++i); ++i;  vdir->level_end[2] = atoi(&dir_control_file[i]);  fgets(dir_control_file, MAX_DIR_NAME, fs );   vdir->level_mod[0] = atoi(dir_control_file);  for(i=0;dir_control_file[i]!=' ';++i); ++i;  vdir->level_mod[1] = atoi(&dir_control_file[i]);  for(i=0;dir_control_file[i]!=' ';++i); ++i;  vdir->level_mod[2] = atoi(&dir_control_file[i]);  fgets(dir_control_file, MAX_DIR_NAME, fs );   vdir->level_index[0] = atoi(dir_control_file);  for(i=0;dir_control_file[i]!=' ';++i); ++i;  vdir->level_index[1] = atoi(&dir_control_file[i]);  for(i=0;dir_control_file[i]!=' ';++i); ++i;  vdir->level_index[2] = atoi(&dir_control_file[i]);  fgets(dir_control_file, MAX_DIR_NAME, fs );   for(i=0;dir_control_file[i]!=0;++i) {    if (dir_control_file[i] == '\n') {      dir_control_file[i] = 0;    }  }  fgets(dir_control_file, MAX_DIR_NAME, fs );   for(i=0;dir_control_file[i]!=0;++i) {    if (dir_control_file[i] == '\n') {      dir_control_file[i] = 0;    }  }  strncpy(vdir->the_dir, dir_control_file, MAX_DIR_NAME);  fclose(fs);  return(0);}int vwrite_dir_control(vdir_type *vdir, char *domain, uid_t uid, gid_t gid){  FILE *fs; char dir_control_file[MAX_DIR_NAME]; char dir_control_tmp_file[MAX_DIR_NAME];  strncpy(dir_control_file,dc_filename(domain, uid, gid),MAX_DIR_NAME);  snprintf(dir_control_tmp_file, MAX_DIR_NAME,         "%s.%d", dir_control_file, getpid());  if ( (fs = fopen(dir_control_tmp_file, "w+")) == NULL ) return(-1);  fprintf(fs, "%lu\n", vdir->cur_users);  fprintf(fs, "%d\n", vdir->level_cur);  fprintf(fs, "%d\n", vdir->level_max);  fprintf(fs, "%d %d %d\n",     vdir->level_start[0],    vdir->level_start[1],    vdir->level_start[2]);  fprintf(fs, "%d %d %d\n",     vdir->level_end[0],    vdir->level_end[1],    vdir->level_end[2]);  fprintf(fs, "%d %d %d\n",     vdir->level_mod[0],    vdir->level_mod[1],    vdir->level_mod[2]);  fprintf(fs, "%d %d %d\n",     vdir->level_index[0],    vdir->level_index[1],    vdir->level_index[2]);  fprintf(fs, "%s\n", vdir->the_dir);   fclose(fs);  rename( dir_control_tmp_file, dir_control_file);   chown(dir_control_file,uid, gid);  return(0);}int vdel_dir_control(char *domain){ char dir_control_file[MAX_DIR_NAME];  vget_assign(domain, dir_control_file, 156, NULL,NULL);  strncat(dir_control_file,"/.dir-control", MAX_DIR_NAME);  return(unlink(dir_control_file));}#ifdef ENABLE_AUTH_LOGGINGint vset_lastauth(char *user, char *domain, char *remoteip ){ char *tmpbuf; FILE *fs; struct vqpasswd *vpw; uid_t uid; gid_t gid;  if( (vpw = vauth_getpw( user, domain )) == NULL) return(0);  tmpbuf = malloc(MAX_BUFF);  snprintf(tmpbuf, MAX_BUFF, "%s/lastauth", vpw->pw_dir);  if ( (fs = fopen(tmpbuf,"w+")) == NULL ) {    free(tmpbuf);    return(-1);  }  fprintf(fs, "%s", remoteip);  fclose(fs);  vget_assign(domain,NULL,0,&uid,&gid);  chown(tmpbuf,uid,gid);  free(tmpbuf);  return(0);}time_t vget_lastauth( struct vqpasswd *pw, char *domain){ char *tmpbuf; struct stat mystatbuf;  tmpbuf = malloc(MAX_BUFF);  snprintf(tmpbuf, MAX_BUFF, "%s/lastauth", pw->pw_dir);  if ( stat(tmpbuf,&mystatbuf) == -1 ) {    free(tmpbuf);    return(0);  }  free(tmpbuf);  return(mystatbuf.st_mtime);}char *vget_lastauthip( struct vqpasswd *pw, char *domain){ static char tmpbuf[MAX_BUFF]; FILE *fs;  snprintf(tmpbuf, MAX_BUFF, "%s/lastauth", pw->pw_dir);  if ( (fs=fopen(tmpbuf,"r"))==NULL) return(NULL);  fgets(tmpbuf,MAX_BUFF,fs);  fclose(fs);  return(tmpbuf);}#endif /* ENABLE_AUTH_LOGGING */char *dc_filename(char *domain, uid_t uid, gid_t gid){ static char dir_control_file[MAX_DIR_NAME]; struct passwd *pw;  /* if we are lucky the domain is in the assign file */  if ( vget_assign(domain,dir_control_file,MAX_DIR_NAME,NULL,NULL)!=NULL ) {     strncat(dir_control_file, "/.dir-control", MAX_DIR_NAME);  /* it isn't in the assign file so we have to get it from /etc/passwd */  } else {          /* save some time if this is the vpopmail user */    if ( uid == VPOPMAILUID ) {      strncpy(dir_control_file, VPOPMAILDIR, MAX_DIR_NAME);    /* for other users, look them up in /etc/passwd */    } else if ( (pw=getpwuid(uid))!=NULL ) {      strncpy(dir_control_file, pw->pw_dir, MAX_DIR_NAME);      /* all else fails return a blank string */    } else {      return("");    }    /* stick on the rest of the path */    strncat(dir_control_file, "/" DOMAINS_DIR "/.dir-control", MAX_DIR_NAME);   }  return(dir_control_file);}int vauth_crypt(char *user,char *domain,char *clear_pass,struct vqpasswd *vpw){ static struct actdirvp adir; int sock;  if ( (sock=ad_open_conn())==-1){    printf("could not connect\n");    return(-1);  }  memset(&adir,' ',sizeof(struct actdirvp));  memcpy( adir.cmd, "auth", 4);  memcpy( adir.pw_name, user, strlen(user));  memcpy( adir.pw_domain, domain, strlen(domain));  memcpy( adir.pw_clear_passwd, clear_pass, strlen(clear_pass));  if ( write(sock,&adir, sizeof(struct actdirvp))<0){    close(sock);    printf("write failed\n");    return(-1);  }  if ( read(sock,&adir, sizeof(struct actdirvp))<0) {    close(sock);    printf("read failed\n");    return(-1);  }  ad_clean_packet(&adir);  /*ad_print_packet(&adir);*/  close(sock);  if ( strncmp(adir.p1,"yes",3) == 0 ) return(0);   return(-1);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91成人国产精品| 紧缚捆绑精品一区二区| 精品91自产拍在线观看一区| 欧美日韩一级大片网址| 在线观看免费亚洲| 欧美男人的天堂一二区| 欧美一区二区日韩一区二区| 日韩三级电影网址| 国产亚洲精品福利| 中文av字幕一区| 亚洲精品日产精品乱码不卡| 一区二区三区精品| 日韩专区一卡二卡| 蜜臀av性久久久久av蜜臀妖精| 国产真实乱对白精彩久久| 成人免费视频网站在线观看| 91久久精品一区二区二区| 91精品国产综合久久精品| 久久久国际精品| 一区二区三区免费观看| 麻豆精品国产传媒mv男同| 成人福利视频网站| 欧美精品在线观看播放| 欧美极品美女视频| 水蜜桃久久夜色精品一区的特点 | 麻豆精品国产传媒mv男同| 久久国产乱子精品免费女| 成人性生交大片免费看中文| 欧美色欧美亚洲另类二区| 久久久美女毛片| 亚洲一区二区三区自拍| 国内国产精品久久| 欧美亚洲自拍偷拍| 久久精品视频在线看| 午夜精品福利久久久| 成人免费观看视频| 精品视频免费在线| 国产欧美一区二区精品婷婷 | 黄色成人免费在线| 91啦中文在线观看| 欧美tickling网站挠脚心| 一区二区三区在线观看动漫| 国产精品一区二区久激情瑜伽| 欧美精品在线观看播放| 亚洲欧美日韩精品久久久久| 国产传媒一区在线| 精品国产乱码久久久久久浪潮| 亚洲丝袜自拍清纯另类| 国产91精品欧美| 精品国内片67194| 日韩主播视频在线| 91搞黄在线观看| 日韩理论片网站| 91网站最新地址| 日韩av成人高清| 在线观看成人免费视频| 中文一区一区三区高中清不卡| 日韩高清不卡一区| 884aa四虎影成人精品一区| 亚洲欧美日韩国产手机在线| 欧美吻胸吃奶大尺度电影| 国产精品久久精品日日| 国产福利91精品一区| 精品国产乱码久久久久久久| 大桥未久av一区二区三区中文| 国产成人精品亚洲午夜麻豆| 日韩精品一区二区三区三区免费| 午夜精品久久久久久久蜜桃app| 日本道色综合久久| 综合电影一区二区三区| 99久久久精品| 欧美日韩在线观看一区二区 | 亚洲一区二区三区四区五区黄| 99久久精品99国产精品| 国产精品丝袜在线| 99麻豆久久久国产精品免费| 亚洲天堂中文字幕| 91成人在线观看喷潮| 亚洲一区二区三区四区五区中文| 欧美在线你懂得| 日韩和欧美的一区| 欧美xxx久久| 国产高清在线观看免费不卡| 国产精品乱人伦一区二区| 99综合影院在线| 亚洲国产成人tv| 日韩亚洲电影在线| 国产大陆a不卡| 亚洲乱码中文字幕综合| 欧美性受xxxx黑人xyx性爽| 日日夜夜一区二区| 久久久久久久久久美女| 97se亚洲国产综合自在线| 亚洲午夜在线视频| 精品免费视频一区二区| 不卡的电视剧免费网站有什么| 最近日韩中文字幕| 51精品秘密在线观看| 国产美女在线精品| 一区二区欧美精品| 精品国产免费人成电影在线观看四季| 懂色av噜噜一区二区三区av| 一区二区三区四区不卡视频| 日韩一区二区在线看| 高清在线不卡av| 图片区日韩欧美亚洲| 国产免费成人在线视频| 欧美中文字幕一区| 99久久er热在这里只有精品66| 亚洲妇熟xx妇色黄| 国产拍揄自揄精品视频麻豆| 欧美日韩亚洲综合在线| 成人免费高清在线观看| 日本在线观看不卡视频| 亚洲视频在线观看一区| 精品国产露脸精彩对白| 欧美日韩国产综合草草| 粉嫩一区二区三区在线看| 青青草原综合久久大伊人精品 | 日韩欧美一级二级三级久久久| 成人黄色片在线观看| 国产综合成人久久大片91| 亚洲国产欧美在线人成| 国产欧美精品一区二区色综合朱莉 | 99精品视频一区| 久久精品国产**网站演员| 亚洲综合色丁香婷婷六月图片| 欧美国产精品一区二区三区| 日韩视频一区二区在线观看| 欧美在线不卡视频| av不卡免费在线观看| 国产丶欧美丶日本不卡视频| 精品一区二区三区的国产在线播放| 亚洲精品国产视频| 中文字幕制服丝袜成人av| 久久综合色鬼综合色| 日韩三级中文字幕| 日韩欧美二区三区| 91精品国产综合久久精品性色| 一本色道a无线码一区v| a美女胸又www黄视频久久| 成人午夜视频在线| 成人免费看视频| av成人老司机| 色综合一个色综合| 色久综合一二码| 日本伦理一区二区| 欧美日韩美女一区二区| 欧美午夜一区二区三区 | 久久久天堂av| 久久综合久久综合久久综合| 精品国产凹凸成av人网站| 精品粉嫩超白一线天av| 久久精品视频免费观看| 中文欧美字幕免费| 亚洲视频香蕉人妖| 亚洲亚洲人成综合网络| 亚洲线精品一区二区三区八戒| 亚洲二区在线观看| 精品一区二区在线免费观看| 国精品**一区二区三区在线蜜桃| 国产一区二区在线看| 五月婷婷激情综合| 一区二区欧美精品| 日韩精品一区国产麻豆| 91精品国产麻豆国产自产在线| 7777精品伊人久久久大香线蕉| 日韩午夜在线观看| 国产色综合久久| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲精品伦理在线| 毛片av一区二区| 国产成人免费网站| 欧洲中文字幕精品| 精品国产乱码久久久久久蜜臀| 欧美激情一区三区| 午夜伦理一区二区| 国产自产2019最新不卡| 精品国产三级电影在线观看| 久久久久免费观看| 亚洲一区免费在线观看| 美国精品在线观看| av网站免费线看精品| 538在线一区二区精品国产| 久久久国产一区二区三区四区小说| 成人欧美一区二区三区视频网页 | 欧美伊人久久大香线蕉综合69 | 欧美一区二区视频观看视频| 久久久九九九九| 亚洲图片一区二区| 国产成人在线看| 91精品国产综合久久婷婷香蕉| 中文字幕精品—区二区四季| 日韩高清国产一区在线| 99国产精品久久久| 欧美日韩国产片| 欧美不卡一区二区三区四区| 亚洲日本免费电影| 国产老肥熟一区二区三区| 欧美日韩mp4|