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

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

?? vmysql.c

?? 相當優秀的 UNIX 進程管理工具
?? C
?? 第 1 頁 / 共 3 頁
字號:
#ifdef VALIAS     valias_delete_domain( domain);#endif#ifdef ENABLE_AUTH_LOGGING    qnprintf( SqlBufUpdate, SQL_BUF_SIZE,         "delete from lastauth where domain = '%s'", domain );    if (mysql_query(&mysql_update,SqlBufUpdate)) {        return(-1);    } #endif    vdel_limits(domain);    return(0);}int vauth_deluser( char *user, char *domain ){ char *tmpstr; int err = 0;        if ( (err=vauth_open_update()) != 0 ) return(err);    vset_default_domain( domain );#ifndef MANY_DOMAINS    if ( domain == NULL || domain[0] == 0 ) {        tmpstr = MYSQL_LARGE_USERS_TABLE;    } else {        tmpstr = vauth_munch_domain( domain );    }#else    tmpstr = MYSQL_DEFAULT_TABLE;#endif    qnprintf( SqlBufUpdate,  SQL_BUF_SIZE, DELETE_USER, tmpstr, user#ifdef MANY_DOMAINS, domain#endif );    if (mysql_query(&mysql_update,SqlBufUpdate)) {        err = -1;    } #ifdef ENABLE_AUTH_LOGGING    qnprintf( SqlBufUpdate, SQL_BUF_SIZE,         "delete from lastauth where user = '%s' and domain = '%s'",         user, domain );    if (mysql_query(&mysql_update,SqlBufUpdate)) {        err = -1;    } #endif    return(err);}int vauth_setquota( char *username, char *domain, char *quota){ char *tmpstr; int err;    if ( strlen(username) > MAX_PW_NAME ) return(VA_USER_NAME_TOO_LONG);#ifdef USERS_BIG_DIR    if ( strlen(username) == 1 ) return(VA_ILLEGAL_USERNAME);#endif    if ( strlen(domain) > MAX_PW_DOMAIN ) return(VA_DOMAIN_NAME_TOO_LONG);    if ( strlen(quota) > MAX_PW_QUOTA )    return(VA_QUOTA_TOO_LONG);        if ( (err=vauth_open_update()) != 0 ) return(err);    vset_default_domain( domain );#ifndef MANY_DOMAINS    tmpstr = vauth_munch_domain( domain );#else    tmpstr = MYSQL_DEFAULT_TABLE; #endif    qnprintf( SqlBufUpdate, SQL_BUF_SIZE, SETQUOTA, tmpstr, quota, username#ifdef MANY_DOMAINS, domain#endif);    if (mysql_query(&mysql_update,SqlBufUpdate)) {        fprintf(stderr, "vmysql: sql error[4]: %s\n", mysql_error(&mysql_update));        return(-1);    }     return(0);}struct vqpasswd *vauth_getall(char *domain, int first, int sortit){ char *domstr = NULL; static struct vqpasswd vpw; static int more = 0; int err;    vset_default_domain( domain );#ifdef MANY_DOMAINS    domstr = MYSQL_DEFAULT_TABLE; #else    domstr = vauth_munch_domain( domain );#endif    if ( first == 1 ) {        if ( (err=vauth_open_read_getall()) != 0 ) return(NULL);        qnprintf(SqlBufRead,  SQL_BUF_SIZE, GETALL, domstr#ifdef MANY_DOMAINS            ,domain#endif            );        if ( sortit == 1 ) {            strncat( SqlBufRead, " order by pw_name", SQL_BUF_SIZE);        }        if (res_read!=NULL) mysql_free_result(res_read_getall);        res_read = NULL;        if (mysql_query(&mysql_read_getall,SqlBufRead)) {            fprintf(stderr, "vmysql: sql error[5]: %s\n", mysql_error(&mysql_read_getall));            return(NULL);        }        if (!(res_read_getall=mysql_store_result(&mysql_read_getall))) {            fprintf(stderr, "vmysql: store result failed 2\n");            return(NULL);        }    } else if ( more == 0 ) {        return(NULL);    }    memset(IUser, 0, sizeof(IUser));    memset(IPass, 0, sizeof(IPass));    memset(IGecos, 0, sizeof(IGecos));    memset(IDir, 0, sizeof(IDir));    memset(IShell, 0, sizeof(IShell));    memset(IClearPass, 0, sizeof(IClearPass));    vpw.pw_name   = IUser;    vpw.pw_passwd = IPass;    vpw.pw_gecos  = IGecos;    vpw.pw_dir    = IDir;    vpw.pw_shell  = IShell;    vpw.pw_clear_passwd  = IClearPass;        if ((row_getall = mysql_fetch_row(res_read_getall)) != NULL) {        strncpy(vpw.pw_name,row_getall[0],SMALL_BUFF);        if (row_getall[1]!=0) strncpy(vpw.pw_passwd,row_getall[1],SMALL_BUFF);        if (row_getall[2]!=0) vpw.pw_uid = atoi(row_getall[2]);        if (row_getall[3]!=0) vpw.pw_gid = atoi(row_getall[3]);        if (row_getall[4]!=0) strncpy(vpw.pw_gecos,row_getall[4],SMALL_BUFF);        if (row_getall[5]!=0) strncpy(vpw.pw_dir,row_getall[5],SMALL_BUFF);        if (row_getall[6]!=0) {            strncpy(vpw.pw_shell, row_getall[6],SMALL_BUFF);        }#ifdef CLEAR_PASS        if (row_getall[7]!=0) {            strncpy(vpw.pw_clear_passwd, row_getall[7],SMALL_BUFF);        }#endif        more = 1;        return(&vpw);    }    more = 0;    mysql_free_result(res_read_getall);    res_read_getall = NULL;    return(NULL);}void vauth_end_getall(){    if ( res_read_getall != NULL ) {        mysql_free_result(res_read_getall);    }    res_read_getall = NULL;}char *vauth_munch_domain( char *domain ){ int i; static char tmpbuf[50];    if ( domain == NULL || domain[0] == 0 ) return(domain);    for(i=0;domain[i]!=0;++i){        tmpbuf[i] = domain[i];        if ( domain[i] == '.' || domain[i] == '-' ) {            tmpbuf[i] = MYSQL_DOT_CHAR;        }    }    tmpbuf[i] = 0;     return(tmpbuf);}int vauth_setpw( struct vqpasswd *inpw, char *domain ){ char *tmpstr; uid_t myuid; uid_t uid; gid_t gid; int err;    err = vcheck_vqpw(inpw, domain);    if ( err != 0 ) return(err);    vget_assign(domain,NULL,0,&uid,&gid);    myuid = geteuid();    if ( myuid != 0 && myuid != uid ) {        return(VA_BAD_UID);    }    if ( (err=vauth_open_update()) != 0 ) return(err);    vset_default_domain( domain );#ifndef MANY_DOMAINS    tmpstr = vauth_munch_domain( domain );#else    tmpstr = MYSQL_DEFAULT_TABLE; #endif    qnprintf( SqlBufUpdate,SQL_BUF_SIZE,SETPW,            tmpstr,             inpw->pw_passwd,            inpw->pw_uid,            inpw->pw_gid,             inpw->pw_gecos,            inpw->pw_dir,             inpw->pw_shell, #ifdef CLEAR_PASS            inpw->pw_clear_passwd,#endif            inpw->pw_name#ifdef MANY_DOMAINS            ,domain#endif            );    if (mysql_query(&mysql_update,SqlBufUpdate)) {        fprintf(stderr, "vmysql: sql error[6]: %s\n", mysql_error(&mysql_update));        return(-1);    } #ifdef SQWEBMAIL_PASS    vsqwebmail_pass( inpw->pw_dir, inpw->pw_passwd, uid, gid);#endif    return(0);}#ifdef POP_AUTH_OPEN_RELAYint vopen_smtp_relay(){ char *ipaddr; time_t mytime; int err; int rows;    mytime = time(NULL);    ipaddr = get_remote_ip();    if ( ipaddr == NULL ) {        return 0;    }    if ( (err=vauth_open_update()) != 0 ) return 0;    qnprintf( SqlBufUpdate, SQL_BUF_SIZE,"replace into relay ( ip_addr, timestamp ) values ( '%s', %d )",            ipaddr, (int)mytime);    if (mysql_query(&mysql_update,SqlBufUpdate)) {        vcreate_relay_table();        if (mysql_query(&mysql_update,SqlBufUpdate)) {            fprintf(stderr, "vmysql: sql error[7]: %s\n", mysql_error(&mysql_update));        }    }    rows = mysql_affected_rows(&mysql_update);    /* return true if only INSERT (didn't exist) */    /* would return 2 if replaced, or -1 if error */    return rows == 1;}void vupdate_rules(int fdm){    if (vauth_open_read() != 0) return;    snprintf(SqlBufRead, SQL_BUF_SIZE, "select ip_addr from relay");    if (mysql_query(&mysql_read,SqlBufRead)) {        vcreate_relay_table();        if (mysql_query(&mysql_read,SqlBufRead)) {            fprintf(stderr, "vmysql: sql error[8]: %s\n", mysql_error(&mysql_read));            return;        }    }    if (!(res_read = mysql_store_result(&mysql_read))) {        fprintf(stderr, "vmysql: store result failed 3\n");        return;    }    while((row = mysql_fetch_row(res_read))) {        snprintf(SqlBufRead, SQL_BUF_SIZE, "%s:allow,RELAYCLIENT=\"\",RBLSMTPD=\"\"\n", row[0]);        write(fdm,SqlBufRead, strlen(SqlBufRead));    }    mysql_free_result(res_read);}void vclear_open_smtp(time_t clear_minutes, time_t mytime){ time_t delete_time; int err;        if ( (err=vauth_open_update()) != 0 ) return;     delete_time = mytime - clear_minutes;    snprintf( SqlBufUpdate, SQL_BUF_SIZE, "delete from relay where timestamp <= %d",         (int)delete_time);    if (mysql_query(&mysql_update,SqlBufUpdate)) {        vcreate_relay_table();        return;    }}void vcreate_relay_table(){  vauth_create_table ("relay", RELAY_TABLE_LAYOUT, 1);  return;}#endifint vmkpasswd( char *domain ){    return(0);}void vclose(){    if (read_open == 1 ) {        mysql_close(&mysql_read);        read_open = 0;    }    if (read_getall_open == 1 ) {        mysql_close(&mysql_read_getall);        read_getall_open = 0;    }    if (update_open == 1 ) {        mysql_close(&mysql_update);        update_open = 0;    }}#ifdef IP_ALIAS_DOMAINSvoid vcreate_ip_map_table(){  vauth_create_table ("ip_alias_map", IP_ALIAS_TABLE_LAYOUT, 1);  return;}int vget_ip_map( char *ip, char *domain, int domain_size){ int ret = -1;    if ( ip == NULL || strlen(ip) <= 0 ) return(-1);    if ( domain == NULL ) return(-2);    if ( vauth_open_read() != 0 ) return(-3);    qnprintf(SqlBufRead, SQL_BUF_SIZE, "select domain from ip_alias_map where ip_addr = '%s'",        ip);    if (mysql_query(&mysql_read,SqlBufRead)) {        return(-1);    }    if (!(res_read = mysql_store_result(&mysql_read))) {        fprintf(stderr, "vget_ip_map: store result failed 4\n");        return(-4);    }    while((row = mysql_fetch_row(res_read))) {        ret = 0;        strncpy(domain, row[0], domain_size);    }    mysql_free_result(res_read);    return(ret);}int vadd_ip_map( char *ip, char *domain) {    if ( ip == NULL || strlen(ip) <= 0 ) return(-1);    if ( domain == NULL || strlen(domain) <= 0 ) return(-1);    if ( vauth_open_update() != 0 ) return(-1);    qnprintf(SqlBufUpdate,SQL_BUF_SIZE,        "replace into ip_alias_map ( ip_addr, domain ) values ( '%s', '%s' )",      ip, domain);    if (mysql_query(&mysql_update,SqlBufUpdate)) {        vcreate_ip_map_table();        if (mysql_query(&mysql_update,SqlBufUpdate)) {            return(-1);        }    }    return(0);}int vdel_ip_map( char *ip, char *domain) {    if ( ip == NULL || strlen(ip) <= 0 ) return(-1);    if ( domain == NULL || strlen(domain) <= 0 ) return(-1);    if ( vauth_open_update() != 0 ) return(-1);    qnprintf( SqlBufUpdate,SQL_BUF_SIZE,          "delete from ip_alias_map where ip_addr = '%s' and domain = '%s'",            ip, domain);    if (mysql_query(&mysql_update,SqlBufUpdate)) {        return(0);    }     return(0);}int vshow_ip_map( int first, char *ip, char *domain ){ static int more = 0;    if ( ip == NULL ) return(-1);    if ( domain == NULL ) return(-1);    if ( vauth_open_read() != 0 ) return(-1);    if ( first == 1 ) {        snprintf(SqlBufRead,SQL_BUF_SIZE,             "select ip_addr, domain from ip_alias_map");         if (res_read!=NULL) mysql_free_result(res_read);        res_read = NULL;        if (mysql_query(&mysql_read,SqlBufRead)) {            vcreate_ip_map_table();            if (mysql_query(&mysql_read,SqlBufRead)) {                return(0);            }        }        if (!(res_read = mysql_store_result(&mysql_read))) {            fprintf(stderr, "vmysql: store result failed 5\n");            return(0);        }    } else if ( more == 0 ) {        return(0);    }    if ((row = mysql_fetch_row(res_read)) != NULL) {        strncpy(ip, row[0], 18);         strncpy(domain, row[1], 156);         more = 1;        return(1);    }    more = 0;    mysql_free_result(res_read);    res_read = NULL;    return(0);}#endifint vread_dir_control(vdir_type *vdir, char *domain, uid_t uid, gid_t gid){ int found = 0;    if ( vauth_open_read() != 0 ) return(-1);    qnprintf(SqlBufRead, SQL_BUF_SIZE,         "select %s from dir_control where domain = '%s'",         DIR_CONTROL_SELECT, domain );    if (mysql_query(&mysql_read,SqlBufRead)) {        vcreate_dir_control(domain);        qnprintf(SqlBufRead, SQL_BUF_SIZE,             "select %s from dir_control where domain = '%s'",            DIR_CONTROL_SELECT, domain );        if (mysql_query(&mysql_read,SqlBufRead)) {            return(-1);        }    }    if (!(res_read = mysql_store_result(&mysql_read))) {        fprintf(stderr, "vread_dir_control: store result failed 6\n");        return(0);    }    if ((row = mysql_fetch_row(res_read)) != NULL) {        found = 1;        vdir->cur_users = atol(row[0]);        vdir->level_cur = atoi(row[1]);        vdir->level_max = atoi(row[2]);        vdir->level_start[0] = atoi(row[3]);        vdir->level_start[1] = atoi(row[4]);        vdir->level_start[2] = atoi(row[5]);        vdir->level_end[0] = atoi(row[6]);        vdir->level_end[1] = atoi(row[7]);        vdir->level_end[2] = atoi(row[8]);        vdir->level_mod[0] = atoi(row[9]);        vdir->level_mod[1] = atoi(row[10]);        vdir->level_mod[2] = atoi(row[11]);        vdir->level_index[0] = atoi(row[12]);        vdir->level_index[1] = atoi(row[13]);        vdir->level_index[2] = atoi(row[14]);        strncpy(vdir->the_dir, row[15], MAX_DIR_NAME);    }    mysql_free_result(res_read);    if ( found == 0 ) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人亚洲精品狼色在线| 精品日韩欧美一区二区| 欧美一级免费观看| 中文字幕久久午夜不卡| 亚洲成人三级小说| av成人免费在线观看| 51午夜精品国产| 136国产福利精品导航| 久热成人在线视频| 欧美日韩中文精品| 国产精品国产精品国产专区不片| 日韩中文字幕区一区有砖一区| www..com久久爱| 日韩免费一区二区三区在线播放| 亚洲日本电影在线| 成人性生交大片免费看视频在线 | 国产美女主播视频一区| 欧美在线免费观看亚洲| 国产精品麻豆久久久| 国产一区在线精品| 日韩一卡二卡三卡| 日韩综合一区二区| 91精品国产麻豆| 午夜精品爽啪视频| 91精品福利在线| 亚洲精品国产一区二区精华液| 国产精品1区2区3区在线观看| 日韩美女一区二区三区四区| 日韩精品免费专区| 欧美电影在线免费观看| 亚洲第一福利一区| 欧美日韩第一区日日骚| 日日摸夜夜添夜夜添精品视频 | 美女一区二区视频| 91精品欧美综合在线观看最新| 亚洲一二三四在线| 精品污污网站免费看| 亚洲午夜久久久久久久久电影院 | 69堂国产成人免费视频| 视频在线观看国产精品| 欧美日韩国产大片| 久草中文综合在线| 国产亚洲欧洲997久久综合| 国产一区二区三区精品视频| 久久久久久亚洲综合影院红桃 | www.亚洲色图.com| 国产精品福利影院| 91久久国产最好的精华液| 亚洲在线观看免费视频| 欧美日韩国产综合一区二区| 天天做天天摸天天爽国产一区| 欧美一级淫片007| 激情综合网激情| 亚洲国产岛国毛片在线| 日本精品一区二区三区高清 | 色综合天天综合网天天狠天天| 亚洲视频香蕉人妖| 欧美日韩国产另类一区| 蜜桃久久久久久久| 国产欧美日韩亚州综合| 色8久久精品久久久久久蜜| 日韩高清不卡在线| 久久久精品国产99久久精品芒果| 9l国产精品久久久久麻豆| 亚洲一区二区中文在线| 91精品国产免费| 成人综合婷婷国产精品久久免费| 亚洲乱码一区二区三区在线观看| 在线电影院国产精品| 激情图区综合网| 一区二区三区中文在线观看| 欧美一区二区三区在线看| 国产99久久久久久免费看农村| 一区二区三区在线视频免费观看 | 国内精品自线一区二区三区视频| 亚洲国产精品高清| 欧美日韩国产乱码电影| 丁香婷婷综合网| 日本欧美加勒比视频| 国产精品美女久久久久高潮| 欧美日韩一区久久| 99精品视频在线观看免费| 日本欧美加勒比视频| 亚洲欧美色图小说| 久久综合久久99| 欧美日韩一级二级三级| 国产91丝袜在线18| 日韩高清电影一区| 亚洲一区二区三区四区五区黄| 久久美女艺术照精彩视频福利播放| 在线免费观看成人短视频| 国产91富婆露脸刺激对白| 美女一区二区在线观看| 一级日本不卡的影视| 亚洲国产高清不卡| 久久蜜桃av一区精品变态类天堂| 4hu四虎永久在线影院成人| 成人av第一页| 国产老肥熟一区二区三区| 男女男精品网站| 日欧美一区二区| 日日夜夜免费精品| 亚洲成人综合视频| 日韩毛片精品高清免费| 中文字幕 久热精品 视频在线| 精品日韩成人av| 91精品久久久久久久91蜜桃| 在线观看亚洲精品视频| 99精品久久99久久久久| 成人福利视频网站| 成人avav在线| www.亚洲人| 99久久婷婷国产| av电影在线观看完整版一区二区| 成人亚洲精品久久久久软件| 国产成人精品免费视频网站| 国产在线不卡视频| 国产精品自在在线| 不卡在线视频中文字幕| 成人动漫一区二区三区| 成人av在线一区二区三区| 懂色av一区二区三区免费看| 成人丝袜高跟foot| 91视频一区二区三区| 91免费看片在线观看| 在线观看视频一区二区欧美日韩| 一本大道久久a久久精品综合| 97精品久久久午夜一区二区三区| 色综合久久中文综合久久97| 欧美亚洲尤物久久| 7799精品视频| 精品久久99ma| 国产偷国产偷亚洲高清人白洁| 亚洲国产成人在线| 亚洲欧美日韩电影| 天堂影院一区二区| 久久99深爱久久99精品| 国产精品综合二区| 色噜噜狠狠色综合中国| 欧美日韩一区二区三区视频| 8x8x8国产精品| 国产欧美一区二区精品忘忧草| 亚洲欧美视频在线观看视频| 亚洲国产wwwccc36天堂| 日韩av一级片| voyeur盗摄精品| 在线播放中文字幕一区| 久久精品在这里| 一区二区三区**美女毛片| 热久久一区二区| 成人成人成人在线视频| 欧美日韩成人综合在线一区二区| 久久久国际精品| 一区二区国产视频| 激情综合网最新| 欧洲精品中文字幕| 久久久www免费人成精品| 一区二区三区成人| 国产一区二区三区| 欧美色精品在线视频| 欧美精品一区二区三区在线播放| 亚洲日本在线天堂| 国产精品影视网| 欧美女孩性生活视频| 中文字幕国产一区二区| 亚洲影院在线观看| 国产99久久久国产精品免费看| 欧美高清性hdvideosex| 日本一区二区三区久久久久久久久不| 五月婷婷激情综合| a美女胸又www黄视频久久| 日韩一区二区在线免费观看| 亚洲日本护士毛茸茸| 国产精品一品二品| 日韩三级.com| 亚洲成人福利片| 99re热视频精品| 久久精品一区四区| 看片网站欧美日韩| 这里是久久伊人| 亚洲精品国产高清久久伦理二区| 国产一区二区三区最好精华液| 欧美久久久久中文字幕| 一区二区激情视频| 一本到一区二区三区| 国产精品看片你懂得| 国产精品自拍三区| 久久久久久久久久久久久夜| 另类专区欧美蜜桃臀第一页| 欧美在线小视频| 亚洲在线视频网站| 欧美在线综合视频| 亚洲国产视频一区| 欧美三级一区二区| 亚洲一区二区高清| 在线看国产一区二区| 亚洲女女做受ⅹxx高潮| 一本大道久久a久久精二百| 亚洲视频狠狠干| 91亚洲精品乱码久久久久久蜜桃|