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

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

?? rcfile.c

?? 站點映像程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
		else if( strcmp( val, "http" ) == 0 ) {		    this_site->protocol = siteproto_http;		    this_site->driver = &dav_driver;		}#endif /* USE_DAV */	        else {		    ret = RC_CORRUPT;		    break;		}	    } else if( strcmp( key, "ftp" ) == 0 ) {		if( strcmp( val, "nopasv" ) == 0 ) {		    this_site->ftp_pasv_mode = false;		} else {		    ret = RC_CORRUPT;		}	    } else if( strcmp( key, "http" ) == 0 ) {		if( strcmp( val, "noexpect" ) == 0 ) {		    this_site->http_no_expect = true;		} else if( strcmp( val, "limit" ) == 0 ) {		    this_site->http_limit = true;		} else {		    ret = RC_CORRUPT;		}	    } else {		/* Unknown key! */		ret = RC_CORRUPT;		break;	    }	} else {	    {		ret = RC_CORRUPT;		break; 	    }	}    }    fclose( fp );    return ret;}const char *rc_get_netrc_password( const char *server, const char *username ) {    netrc_entry *found;    found = search_netrc( netrc_list, server );    if( found == NULL ) {	return NULL;    }    if( strcmp( found->account, username ) == 0 ) {	return found->password;    } else {	return NULL;    }}/* Returns zero if site is properly defined, else non-zero */int rc_verifysite( struct site_t *any_site ) {    struct stat localst;    char *temp;    int ret;    /* Check they specified everything in the rcfile */    if( any_site->server == NULL ) {	return SITE_NOSERVER;    } else if( any_site->username == NULL ) {	return SITE_NOUSERNAME;    } else if( any_site->password == NULL ) {	if( havenetrc ) {	    const char *pass;	    DEBUG( DEBUG_RCFILE, "Checking netrc for password for %s@%s...",		   any_site->username, any_site->server );	    pass = rc_get_netrc_password( any_site->server, any_site->username );	    if( pass == NULL ) {		DEBUG( DEBUG_RCFILE, "none found.\n" );		return SITE_NOPASSWORD;	    } else {		DEBUG( DEBUG_RCFILE, "found!\n" );		any_site->password = (char *) pass;	    }	} else {	    return SITE_NOPASSWORD;	}    }    if( any_site->remote_root_user == NULL ) {	return SITE_NOREMOTEDIR;    } else if( any_site->local_root_user == NULL ) {	return SITE_NOLOCALDIR;    }        /* Need a home directory if we're using relative local root */    if( home == NULL && any_site->local_root )	return SITE_NOLOCALREL;    if( any_site->remote_isrel ) {	any_site->remote_root = strdup( any_site->remote_root_user + 2 );    } else {	any_site->remote_root = strdup( any_site->remote_root_user );    }    if( any_site->local_isrel ) {	/* We skip the first char ('~') of l_r_u */	temp = malloc( strlen( any_site->local_root_user ) + 		       strlen( home ) );	strcpy( temp, home );	strcat( temp, any_site->local_root_user + 1 );	any_site->local_root = temp;    } else {	any_site->local_root = any_site->local_root_user;    }    /* Now check the local directory actually exists.     * To do this, stat `/the/local/root/.', which will fail if the     * can't read the directory or if it's a file not a directory */    temp = malloc( strlen( any_site->local_root ) + 2 );    strcpy( temp, any_site->local_root ); /* must have trailing / */    strcat( temp, "." );     ret = stat( temp, &localst );    free( temp );    if( ret != 0 ) {	return SITE_ACCESSLOCALDIR;    }    /* Protocol-specific checks */    switch( any_site->protocol ) {    case siteproto_ftp:	/* FTP checks */	if( any_site->symlinks == sitesym_maintain ) {	    return SITE_NOMAINTAIN;	}	break;    case siteproto_http:	/* HTTP checks */	if( any_site->remote_isrel ) { 	    return SITE_NOREMOTEREL;	}	if( any_site->perms != sitep_ignore ) {	    return SITE_NOPERMS;	}		/* fall through */    default:	break;    }	      /* Assign default ports if they didn't bother to */    if( any_site->port == 0 ) {	DEBUG( DEBUG_RCFILE, "No port specified... lookup by name %s\n",	       any_site->driver->service_name );	any_site->port = get_tcp_port( any_site->driver->service_name );	if( any_site->port == 0 ) {	    any_site->port = any_site->driver->service_port;	    DEBUG( DEBUG_RCFILE, "Could not find retrieve port by name, using fallback: %d\n", any_site->port );	} else {	    DEBUG( DEBUG_RCFILE, "Assigned default port: %d\n", any_site->port );	}    }    return 0;}int init_netrc( ) {    if( !havenetrc ) return 0;    netrc_list = parse_netrc( netrcfile );    if( netrc_list == NULL ) {	/* Couldn't parse it */	return 1;    } else {	/* Could parse it */	return 0;    }}/* Checks the perms of the rcfile and site storage directory. */int init_paths( ) {    struct stat st;    if( stat( rcfile, &st ) < 0 ) {	DEBUG( DEBUG_RCFILE, "stat failed on %s: %s\n", 	       rcfile, strerror(errno) );	return RC_OPENFILE;    }#if !defined (__EMX__) && !defined(__CYGWIN__)    if( (st.st_mode & ~(S_IFREG | S_IREAD | S_IWRITE )) > 0 ) {	return RC_PERMS;    }#endif    if( (netrcfile == 0) || (stat( netrcfile, &st ) < 0) ) {	havenetrc = false;#if !defined (__EMX__) && !defined(__CYGWIN__)    } else if( (st.st_mode & ~(S_IFREG | S_IREAD | S_IWRITE )) > 0 ) {	return RC_NETRCPERMS;#endif    } else {	havenetrc = true;    }    if( stat( copypath, &st ) < 0 ) {	DEBUG( DEBUG_RCFILE, "stat failed on %s: %s\n", 	       copypath, strerror(errno) );	return RC_DIROPEN;    }#if !defined (__EMX__) && !defined(__CYGWIN__)    if( (st.st_mode & ~(S_IFDIR | S_IREAD | S_IWRITE | S_IEXEC )) > 0 ) {	return RC_DIRPERMS;    }#endif    return 0;}int init_env( ) {    /* Assign default filenames if they didn't give us any */    home = getenv("HOME");    if( home == NULL ) {	if( ( rcfile == NULL ) || ( copypath == NULL ) ) {	    /* We need a $HOME or both rcfile and info dir path */	    return 1;	} else {	    /* No $HOME, but we've got the rcfile and info dir path */	    return 0;	}    }    if( rcfile == NULL ) {	rcfile = malloc( strlen(RCNAME) + strlen(home) + 1);	strcpy( rcfile, home );	strcat( rcfile, RCNAME );    }    if( copypath == NULL ) {	copypath = malloc( strlen(COPYNAME) + strlen(home) + 1);	strcpy( copypath, home );	strcat( copypath, COPYNAME );    }    netrcfile = malloc( strlen(NETRCNAME) + strlen(home) + 1 );    strcpy( netrcfile, home );    strcat( netrcfile, NETRCNAME );    return 0;}/* rcfile_write() by Lee Mallabone, cleaned by JO. * Write the contents of list_of_sites to the specified 'filename' * in the standard sitecopy rc format. * * Any data already in 'filename' is over-written. */int rcfile_write (char *filename, struct site_t *list_of_sites) {      struct site_t *current;   struct exclude_t *excl;   FILE *fp;      if ( (fp = fopen (filename, "w")) == NULL) {      printf ("There was a problem writing to the sitecopy configuration file.\n\nCheck permissions on %s.", filename);      return RC_OPENFILE;   }   /* Set rcfile permissions properly */#if !defined (__EMX__) && !defined(__CYGWIN__)   if (fchmod (fileno(fp), 00600) == -1) {      return RC_PERMS;   }#endif      for (current=list_of_sites; current!=NULL; current=current->next) {      /* Okay so this maybe isn't the most intuitive thing to look at.       * With any luck though, the rcfile's it produces will be. :) */      if (fprintf (fp, "site %s\n", current->name) == -1) {	 return RC_CORRUPT;      }      if (fprintf (fp, "  server %s\n  username %s\n  password %s\n  remote %s\n  local %s\n",	       current->server, 	       current->username,	       current->password, current->remote_root_user,	       current->local_root_user) == -1) {	 return RC_CORRUPT;      }      if (fprintf (fp, "  protocol %s\n", current->protocol==siteproto_ftp?"ftp":"http") == -1) {	 return RC_CORRUPT;      }		/* Makes sense to have protocol (ish) options after we specify the protocol. */		/* Warning, if the http declarations in site_t are ever surrounded by an 			ifdef USE_DAV, then this will need to be changed.		*/		if (fprintf (fp, "%s%s%s%s%s%s",						 current->nodelete?"  nodelete\n":"",						 current->checkmoved?"  checkmoved\n":"",						 current->nooverwrite?"  nooverwrite\n":"",						 current->ftp_pasv_mode?"":"  ftp nopasv\n",						 current->http_limit?"  http limit\n":"",						 current->http_no_expect?"  http noexpect\n":"") == -1) {		  return RC_CORRUPT;		}      if (current->port > 0)  { /* Sanity check */	 if (fprintf (fp, "  port %d\n", current->port) == -1) {	    return RC_CORRUPT;	 }      }            /* Add the site's URL if one has been supplied. */      if (current->url) {	 if (fprintf (fp, "  url %s\n", current->url) == -1) {	    return RC_CORRUPT;	 }      }            /* Permissions now */      switch (current->perms) {       case (sitep_ignore): 	 if (fprintf (fp, "  permissions ignore\n") == -1) {	    return RC_CORRUPT;	 }	 break;       case (sitep_exec):	 if (fprintf (fp, "  permissions exec\n") == -1) {	    return RC_CORRUPT;	 }	 break;       case (sitep_all):	 if (fprintf (fp, "  permissions all\n") == -1) {	    return RC_CORRUPT;	 }	 break;      }      /* Sym link mode */      switch (current->symlinks) {       case (sitesym_ignore): 	 if (fprintf (fp, "  symlinks ignore\n") == -1) {	    return RC_CORRUPT;	 }	 break;       case (sitesym_follow):	 if (fprintf (fp, "  symlinks follow\n") == -1) {	    return RC_CORRUPT;	 }	 break;       case (sitesym_maintain):	 if (fprintf (fp, "  symlinks maintain\n") == -1) {	    return RC_CORRUPT;	 }	 break;      }      /* Excludes */      for (excl=current->excludes; excl!=NULL; excl=excl->next) {	  if (fprintf (fp, "  exclude \"%s\"\n", excl->pattern) == -1) {		return RC_CORRUPT;	    }      }   }   if (fclose (fp) != 0)      return RC_CORRUPT;   return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
波多野结衣视频一区| 亚洲高清三级视频| 国产精品综合一区二区| 精品国产亚洲在线| 黄色精品一二区| 久久综合久久综合久久综合| 激情综合五月婷婷| 国产欧美日韩视频一区二区| 大白屁股一区二区视频| 亚洲视频一二三| 欧美日韩精品一区二区天天拍小说 | 免费观看在线综合色| 欧美不卡123| 国产成人自拍高清视频在线免费播放| 久久久99精品免费观看| 不卡免费追剧大全电视剧网站| 亚洲视频网在线直播| 欧美色爱综合网| 精油按摩中文字幕久久| 国产精品久久久久久久久快鸭| 99精品久久久久久| 午夜激情一区二区| 久久夜色精品一区| 91视频在线观看免费| 日韩专区中文字幕一区二区| 久久久91精品国产一区二区三区| 成人毛片视频在线观看| 亚洲国产一区二区三区| 日韩精品中文字幕一区| 国产成人免费视| 亚洲第一会所有码转帖| 久久影院午夜论| 日本电影欧美片| 久久99精品一区二区三区三区| 中文在线一区二区| 91精品久久久久久蜜臀| av综合在线播放| 久久精品99久久久| 怡红院av一区二区三区| 欧美videos大乳护士334| 99久久99久久免费精品蜜臀| 日本不卡123| 日韩美女精品在线| 欧美成人官网二区| 欧美亚洲免费在线一区| 成人做爰69片免费看网站| 天天爽夜夜爽夜夜爽精品视频| 国产欧美日韩一区二区三区在线观看| 欧美二区在线观看| 97se亚洲国产综合在线| 国产精品小仙女| 日韩av二区在线播放| 亚洲美女精品一区| 国产日韩欧美一区二区三区综合| 欧美人与z0zoxxxx视频| 91女人视频在线观看| 国产高清精品在线| 欧美aaaaa成人免费观看视频| 国产精品超碰97尤物18| 国产欧美精品在线观看| 日韩欧美国产三级| 在线播放中文一区| 欧美视频第二页| 色94色欧美sute亚洲13| 99久久国产免费看| 成人av免费网站| 成人免费看视频| 国产精品一区二区三区99| 玖玖九九国产精品| 久久精品国产免费看久久精品| 亚洲成人动漫一区| 一区二区三区精品久久久| 中文字幕在线视频一区| 国产婷婷精品av在线| 日本一区二区视频在线观看| 精品国产第一区二区三区观看体验| 69堂国产成人免费视频| 欧美日韩在线播| 欧美日韩一区三区| 欧美妇女性影城| 91精品欧美一区二区三区综合在| 欧美精品在线一区二区| 欧美日高清视频| 欧美精品粉嫩高潮一区二区| 欧美精品一级二级三级| 91精品国产一区二区三区香蕉| 欧美肥妇bbw| 久久夜色精品一区| 欧美激情在线一区二区三区| 亚洲丝袜自拍清纯另类| 亚洲人被黑人高潮完整版| 亚洲色图色小说| 五月婷婷激情综合网| 天天综合色天天| 久久se精品一区二区| 国产激情视频一区二区三区欧美| 成人美女视频在线看| 色视频一区二区| 6080国产精品一区二区| 精品久久久久久亚洲综合网| 久久久三级国产网站| 日本一区二区三区国色天香| 亚洲免费伊人电影| 日韩精品久久久久久| 韩国v欧美v日本v亚洲v| 99精品欧美一区二区蜜桃免费| 欧美图片一区二区三区| 欧美成人艳星乳罩| 亚洲国产激情av| 亚洲1区2区3区视频| 久久不见久久见免费视频7| 成人av网址在线| 欧美日韩激情在线| 久久精品免视看| 亚洲综合色视频| 国产一区二区三区在线观看精品 | 岛国精品在线播放| 日本福利一区二区| 精品国产91乱码一区二区三区 | 波多野结衣精品在线| 欧美日本乱大交xxxxx| 久久精品亚洲一区二区三区浴池| 亚洲欧洲精品一区二区三区| 亚洲大尺度视频在线观看| 国产在线不卡视频| 欧美艳星brazzers| 国产亚洲精品久| 日日夜夜免费精品视频| 国产精品一区二区久久不卡| 欧美亚洲综合另类| 国产午夜精品理论片a级大结局| 一区二区三区在线观看网站| 国产在线不卡一区| 7777女厕盗摄久久久| 亚洲日本电影在线| 国产福利一区二区三区视频| 欧美三级日韩三级国产三级| 亚洲国产精品黑人久久久| 日本网站在线观看一区二区三区| 91蜜桃在线免费视频| 久久一区二区三区国产精品| 偷拍一区二区三区四区| 94-欧美-setu| 国产精品美女久久久久aⅴ国产馆| 奇米综合一区二区三区精品视频| 色域天天综合网| 欧美国产日韩在线观看| 久久激情五月婷婷| 欧美一级黄色片| 偷窥国产亚洲免费视频| 在线视频国内自拍亚洲视频| 国产精品免费av| 国产九色精品成人porny| 欧美一区二视频| 亚洲成av人综合在线观看| 97se亚洲国产综合自在线不卡 | 国产精品初高中害羞小美女文| 精品一区二区三区在线播放| 91精品婷婷国产综合久久性色| 亚洲午夜一区二区三区| 在线日韩国产精品| 亚洲一区在线观看免费 | 中文字幕亚洲一区二区av在线| 国产精品亚洲人在线观看| 精品国产伦一区二区三区免费 | 久久福利资源站| 欧美一级久久久| 裸体健美xxxx欧美裸体表演| 欧美一区午夜精品| 日韩精品电影在线| 欧美一区二区三区公司| 首页国产欧美日韩丝袜| 欧美日韩美女一区二区| 午夜成人免费电影| 制服丝袜亚洲播放| 日韩电影一区二区三区| 欧美一区二区三区影视| 日韩中文字幕91| 欧美草草影院在线视频| 精品一区二区日韩| 久久九九全国免费| 成人免费高清在线| 玉足女爽爽91| 欧美日韩一级视频| 男男成人高潮片免费网站| 精品国产免费久久| youjizz国产精品| 亚洲精品中文字幕乱码三区 | 亚洲成人精品一区二区| 91精品国产综合久久久久久久 | 国产精品99久久久| 国产精品麻豆网站| 欧美在线影院一区二区| 日本欧美一区二区| 99精品视频在线播放观看| 国产精品亚洲人在线观看| 成人免费视频视频| 99久久久国产精品免费蜜臀| 99精品在线观看视频| 欧美精品久久天天躁|