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

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

?? vmysql.c

?? 相當(dāng)優(yōu)秀的 UNIX 進(jìn)程管理工具
?? C
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
        int i;        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(0);}int vwrite_dir_control(vdir_type *vdir, char *domain, uid_t uid, gid_t gid){    if ( vauth_open_update() != 0 ) return(-1);    qnprintf(SqlBufUpdate, SQL_BUF_SIZE, "replace into dir_control ( \domain, cur_users, \level_cur, level_max, \level_start0, level_start1, level_start2, \level_end0, level_end1, level_end2, \level_mod0, level_mod1, level_mod2, \level_index0, level_index1, level_index2, the_dir ) values ( \'%s', %lu, %d, %d, \%d, %d, %d, \%d, %d, %d, \%d, %d, %d, \%d, %d, %d, \'%s')\n",    domain, vdir->cur_users, vdir->level_cur, vdir->level_max,    vdir->level_start[0], vdir->level_start[1], vdir->level_start[2],    vdir->level_end[0], vdir->level_end[1], vdir->level_end[2],    vdir->level_mod[0], vdir->level_mod[1], vdir->level_mod[2],    vdir->level_index[0], vdir->level_index[1], vdir->level_index[2],    vdir->the_dir);    if (mysql_query(&mysql_update,SqlBufUpdate)) {        vcreate_dir_control(domain);        if (mysql_query(&mysql_update,SqlBufUpdate)) {            fprintf(stderr, "vmysql: sql error[b]: %s\n", mysql_error(&mysql_update));            return(-1);        }    }    return(0);}void vcreate_dir_control(char *domain){  if (vauth_create_table ("dir_control", DIR_CONTROL_TABLE_LAYOUT, 1)) return;    /* this next bit should be replaced with a call to vwrite_dir_control */    qnprintf(SqlBufUpdate, SQL_BUF_SIZE, "replace into dir_control ( \domain, cur_users, \level_cur, level_max, \level_start0, level_start1, level_start2, \level_end0, level_end1, level_end2, \level_mod0, level_mod1, level_mod2, \level_index0, level_index1, level_index2, the_dir ) values ( \'%s', 0, \0, %d, \0, 0, 0, \%d, %d, %d, \0, 2, 4, \0, 0, 0, \'')\n",    domain, MAX_DIR_LEVELS, MAX_DIR_LIST-1, MAX_DIR_LIST-1, MAX_DIR_LIST-1);    if (mysql_query(&mysql_update,SqlBufUpdate)) {        fprintf(stderr, "vmysql: sql error[d]: %s\n", mysql_error(&mysql_update));        return;    }}int vdel_dir_control(char *domain){ int err;    if ( (err=vauth_open_update()) != 0 ) return(err);    qnprintf(SqlBufUpdate, SQL_BUF_SIZE,         "delete from dir_control where domain = '%s'",         domain);     if (mysql_query(&mysql_update,SqlBufUpdate)) {        vcreate_dir_control(domain);            if (mysql_query(&mysql_update,SqlBufUpdate)) {                fprintf(stderr, "vmysql: sql error[e]: %s\n", mysql_error(&mysql_update));                return(-1);        }    }    return(0);}#ifdef ENABLE_AUTH_LOGGINGint vset_lastauth(char *user, char *domain, char *remoteip ){ int err;    if ( (err=vauth_open_update()) != 0 ) return(err);    qnprintf( SqlBufUpdate, SQL_BUF_SIZE,"replace into lastauth set user='%s', domain='%s', \remote_ip='%s', timestamp=%lu", user, domain, remoteip, time(NULL));     if (mysql_query(&mysql_update,SqlBufUpdate)) {        vcreate_lastauth_table();        if (mysql_query(&mysql_update,SqlBufUpdate)) {            fprintf(stderr, "vmysql: sql error[f]: %s\n", mysql_error(&mysql_update));        }    }    return(0);}time_t vget_lastauth(struct vqpasswd *pw, char *domain){ int err; time_t mytime;    if ( (err=vauth_open_read()) != 0 ) return(err);    qnprintf( SqlBufRead,  SQL_BUF_SIZE,    "select timestamp from lastauth where user='%s' and domain='%s'",         pw->pw_name, domain);    if (mysql_query(&mysql_read,SqlBufRead)) {        vcreate_lastauth_table();        if (mysql_query(&mysql_read,SqlBufRead)) {            fprintf(stderr, "vmysql: sql error[g]: %s\n", mysql_error(&mysql_read));            return(0);        }    }    res_read = mysql_store_result(&mysql_read);    mytime = 0;    while((row = mysql_fetch_row(res_read))) {        mytime = atol(row[0]);    }    mysql_free_result(res_read);    return(mytime);}char *vget_lastauthip(struct vqpasswd *pw, char *domain){ static char tmpbuf[100];    if ( vauth_open_read() != 0 ) return(NULL);    qnprintf( SqlBufRead,  SQL_BUF_SIZE,    "select remote_ip from lastauth where user='%s' and domain='%s'",         pw->pw_name, domain);    if (mysql_query(&mysql_read,SqlBufRead)) {        vcreate_lastauth_table();        if (mysql_query(&mysql_read,SqlBufRead)) {            fprintf(stderr, "vmysql: sql error[h]: %s\n", mysql_error(&mysql_read));            return(NULL);        }    }    res_read = mysql_store_result(&mysql_read);    while((row = mysql_fetch_row(res_read))) {        strncpy(tmpbuf,row[0],100);    }    mysql_free_result(res_read);    return(tmpbuf);}void vcreate_lastauth_table(){  vauth_create_table ("lastauth", LASTAUTH_TABLE_LAYOUT, 1);  return;}#endif /* ENABLE_AUTH_LOGGING */#ifdef VALIASchar *valias_select( char *alias, char *domain ){ int err;    /* if we can not connect, set the verrori value */    if ( (err=vauth_open_read()) != 0 ) {      return(NULL);    }    qnprintf( SqlBufRead, SQL_BUF_SIZE, "select valias_line from valias \where alias = '%s' and domain = '%s'", alias, domain );    if (mysql_query(&mysql_read,SqlBufRead)) {        vcreate_valias_table();        if (mysql_query(&mysql_read,SqlBufRead)) {            fprintf(stderr, "vmysql: sql error[j]: %s\n", mysql_error(&mysql_read));            return(NULL);        }    }    res_read = mysql_store_result(&mysql_read);    return(valias_select_next());}char *valias_select_next(){    if((row = mysql_fetch_row(res_read))) {        return(row[0]);    }    mysql_free_result(res_read);    return(NULL);}int valias_insert( char *alias, char *domain, char *alias_line){ int err;    if ( (err=vauth_open_update()) != 0 ) return(err);    while(*alias_line==' ' && *alias_line!=0) ++alias_line;    qnprintf( SqlBufUpdate, SQL_BUF_SIZE, "insert into valias \( alias, domain, valias_line ) values ( '%s', '%s', '%s')",        alias, domain, alias_line );    if (mysql_query(&mysql_update,SqlBufUpdate)) {        vcreate_valias_table();        if (mysql_query(&mysql_update,SqlBufUpdate)) {            fprintf(stderr, "vmysql: sql error[k]: %s\n", mysql_error(&mysql_update));            return(-1);        }    }    return(0);}int valias_remove( char *alias, char *domain, char *alias_line){ int err;    if ( (err=vauth_open_update()) != 0 ) return(err);    qnprintf( SqlBufUpdate, SQL_BUF_SIZE,         "delete from valias where alias = '%s' \and valias_line = '%s' and domain = '%s'", alias, alias_line, domain );    if (mysql_query(&mysql_update,SqlBufUpdate)) {        vcreate_valias_table();        if (mysql_query(&mysql_update,SqlBufUpdate)) {            fprintf(stderr, "vmysql: sql error[l]: %s\n", mysql_error(&mysql_update));            return(-1);        }    }    return(0);}int valias_delete( char *alias, char *domain){ int err;    if ( (err=vauth_open_update()) != 0 ) return(err);    qnprintf( SqlBufUpdate, SQL_BUF_SIZE,         "delete from valias where alias = '%s' \and domain = '%s'", alias, domain );    if (mysql_query(&mysql_update,SqlBufUpdate)) {        vcreate_valias_table();        if (mysql_query(&mysql_update,SqlBufUpdate)) {            fprintf(stderr, "vmysql: sql error[l]: %s\n", mysql_error(&mysql_update));            return(-1);        }    }    return(0);}int valias_delete_domain( char *domain){ int err;    if ( (err=vauth_open_update()) != 0 ) return(err);    qnprintf( SqlBufUpdate, SQL_BUF_SIZE,         "delete from valias where domain = '%s'",         domain );    if (mysql_query(&mysql_update,SqlBufUpdate)) {        vcreate_valias_table();        if (mysql_query(&mysql_update,SqlBufUpdate)) {            fprintf(stderr, "vmysql: sql error[m]: %s\n", mysql_error(&mysql_update));            return(-1);        }    }    return(0);}void vcreate_valias_table(){  vauth_create_table ("valias", VALIAS_TABLE_LAYOUT, 1);  return;}char *valias_select_all( char *alias, char *domain ){ int err;    if ( (err=vauth_open_read()) != 0 ) return(NULL);    qnprintf( SqlBufRead, SQL_BUF_SIZE,         "select alias, valias_line from valias where domain = '%s' order by alias", domain );    if (mysql_query(&mysql_read,SqlBufRead)) {        vcreate_valias_table();        if (mysql_query(&mysql_read,SqlBufRead)) {            fprintf(stderr, "vmysql: sql error[o]: %s\n", mysql_error(&mysql_read));            return(NULL);        }    }    res_read = mysql_store_result(&mysql_read);    return(valias_select_all_next(alias));}char *valias_select_all_next(char *alias){    if((row = mysql_fetch_row(res_read))) {        strcpy( alias, (row[0]));        return(row[1]);    }    mysql_free_result(res_read);    return(NULL);}#endif#ifdef ENABLE_MYSQL_LOGGINGint logmysql(int verror, char *TheUser, char *TheDomain, char *ThePass,   char *TheName, char *IpAddr, char *LogLine) { int err; time_t mytime;     mytime = time(NULL);    if ( (err=vauth_open_update()) != 0 ) return(err);    qnprintf( SqlBufUpdate, SQL_BUF_SIZE,        "INSERT INTO vlog set user='%s', passwd='%s', \        domain='%s', logon='%s', remoteip='%s', message='%s', \        error=%i, timestamp=%d", TheUser, ThePass, TheDomain,        TheName, IpAddr, LogLine, verror, (int)mytime);    if (mysql_query(&mysql_update,SqlBufUpdate)) {        vcreate_vlog_table();        if (mysql_query(&mysql_update,SqlBufUpdate)) {                fprintf(stderr, "error inserting into vlog table\n");        }    }    return(0);}void vcreate_vlog_table(){  vauth_create_table ("vlog", VLOG_TABLE_LAYOUT, 1);  return;}#endif#ifdef ENABLE_MYSQL_LIMITSvoid vcreate_limits_table(){  vauth_create_table ("limits", LIMITS_TABLE_LAYOUT, 1);  return;}int vget_limits(const char *domain, struct vlimits *limits){    vdefault_limits (limits);    if (vauth_open_read() != 0)         return(-1);    qnprintf(SqlBufRead, SQL_BUF_SIZE, "SELECT maxpopaccounts, maxaliases, "        "maxforwards, maxautoresponders, maxmailinglists, diskquota, "        "maxmsgcount, defaultquota, defaultmaxmsgcount, "        "disable_pop, disable_imap, disable_dialup, "        "disable_passwordchanging, disable_webmail, disable_relay, "        "disable_smtp, perm_account, perm_alias, perm_forward, "        "perm_autoresponder, perm_maillist, perm_quota, perm_defaultquota \n"        "FROM limits \n"        "WHERE domain = '%s'", domain);    if (mysql_query(&mysql_read,SqlBufRead)) {        vcreate_limits_table();        if (mysql_query(&mysql_read,SqlBufRead)) {            fprintf(stderr, "vmysql: sql error[p]: %s\n", mysql_error(&mysql_read));            return(-1);        }    }    if (!(res_read = mysql_store_result(&mysql_read))) {        fprintf(stderr, "vmysql: store result failed 7\n");        return -1;    }    if (mysql_num_rows(res_read) == 0) {        /* this should not be a fatal error: upgrading gets extremly annoying elsewise. */        /*fprintf(stderr, "vmysql: can't find limits for domain '%s', using defaults.\n", domain);        return -1;*/        /* instead, we return the result of our attempt of reading the limits from the default limits file */        return vlimits_read_limits_file (VLIMITS_DEFAULT_FILE, limits);    } else if ((row = mysql_fetch_row(res_read)) != NULL) {        int perm = atol(row[20]);        limits->maxpopaccounts = atoi(row[0]);        limits->maxaliases = atoi(row[1]);        limits->maxforwards = atoi(row[2]);        limits->maxautoresponders = atoi(row[3]);        limits->maxmailinglists = atoi(row[4]);        limits->diskquota = atoi(row[5]);        limits->maxmsgcount = atoi(row[6]);        limits->defaultquota = atoi(row[7]);        limits->defaultmaxmsgcount = atoi(row[8]);        limits->disable_pop = atoi(row[9]);        limits->disable_imap = atoi(row[10]);        limits->disable_dialup = atoi(row[11]);        limits->disable_passwordchanging = atoi(row[12]);        limits->disable_webmail = atoi(row[13]);        limits->disable_relay = atoi(row[14]);        limits->disable_smtp = atoi(row[15]);        limits->perm_account = atoi(row[16]);        limits->perm_alias = atoi(row[17]);        limits->perm_forward = atoi(row[18]);        limits->perm_autoresponder = atoi(row[19]);        limits->perm_maillist = perm & VLIMIT_DISABLE_ALL;        perm >>= VLIMIT_DISABLE_BITS;        limits->perm_maillist_users = perm & VLIMIT_DISABLE_ALL;        perm >>= VLIMIT_DISABLE_BITS;        limits->perm_maillist_moderators = perm & VLIMIT_DISABLE_ALL;        limits->perm_quota = atoi(row[21]);        limits->perm_defaultquota = atoi(row[22]);    }    mysql_free_result(res_read);    return 0;}int vset_limits(const char *domain, const struct vlimits *limits){    if (vauth_open_update() != 0)        return(-1);    qnprintf(SqlBufUpdate, SQL_BUF_SIZE, "REPLACE INTO limits ("        "domain, maxpopaccounts, maxaliases, "        "maxforwards, maxautoresponders, maxmailinglists, "        "diskquota, maxmsgcount, defaultquota, defaultmaxmsgcount, "        "disable_pop, disable_imap, disable_dialup, "        "disable_passwordchanging, disable_webmail, disable_relay, "        "disable_smtp, perm_account, perm_alias, perm_forward, "        "perm_autoresponder, perm_maillist, perm_quota, perm_defaultquota) \n"        "VALUES \n"        "('%s', %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d)",        domain,        limits->maxpopaccounts,        limits->maxaliases,        limits->maxforwards,        limits->maxautoresponders,        limits->maxmailinglists,        limits->diskquota,        limits->maxmsgcount,        limits->defaultquota,        limits->defaultmaxmsgcount,        limits->disable_pop,        limits->disable_imap,        limits->disable_dialup,        limits->disable_passwordchanging,        limits->disable_webmail,        limits->disable_relay,        limits->disable_smtp,        limits->perm_account,        limits->perm_alias,        limits->perm_forward,        limits->perm_autoresponder,        (limits->perm_maillist |         (limits->perm_maillist_users << VLIMIT_DISABLE_BITS) |         (limits->perm_maillist_moderators << (VLIMIT_DISABLE_BITS * 2))),        limits->perm_quota,        limits->perm_defaultquota);    if (mysql_query(&mysql_update,SqlBufUpdate)) {        vcreate_limits_table();        if (mysql_query(&mysql_update,SqlBufUpdate)) {            fprintf(stderr, "vmysql: sql error[q]: %s\n", mysql_error(&mysql_update));            return(-1);        }    }    return 0;}int vdel_limits(const char *domain){    qnprintf(SqlBufUpdate, SQL_BUF_SIZE, "DELETE FROM limits WHERE domain = '%s'", domain);    if (mysql_query(&mysql_update,SqlBufUpdate))        return(-1);    return 0;}#endifint vauth_crypt(char *user,char *domain,char *clear_pass,struct vqpasswd *vpw){  if ( vpw == NULL ) return(-1);  return(strcmp(crypt(clear_pass,vpw->pw_passwd),vpw->pw_passwd));}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线一区二区三区做爰视频网站| 8x8x8国产精品| 在线国产电影不卡| 6080亚洲精品一区二区| 精品久久久久av影院| 久久精品视频免费| 亚洲色图欧洲色图婷婷| 亚洲成人精品一区二区| 久久er精品视频| 丰满少妇久久久久久久| 欧美亚洲高清一区| 精品欧美一区二区在线观看| 中文字幕av一区二区三区免费看| 亚洲精品国产第一综合99久久| 日韩国产一区二| 国产91丝袜在线18| 欧美人xxxx| 中文字幕欧美激情一区| 亚洲成av人片一区二区梦乃| 国产一区二区在线看| 色婷婷av一区二区| 精品国产亚洲在线| 亚洲黄色免费电影| 国内精品伊人久久久久av影院| 91老师片黄在线观看| 精品不卡在线视频| 尤物在线观看一区| 国产精品一级二级三级| 欧美日韩中文字幕一区二区| 久久先锋影音av鲁色资源网| 亚洲午夜精品一区二区三区他趣| 国产一区二区久久| 欧美日韩一级片在线观看| 久久人人超碰精品| 偷拍亚洲欧洲综合| 91麻豆免费在线观看| 日韩欧美中文字幕精品| 亚洲欧美一区二区久久| 国产一区二区三区电影在线观看| 欧美最猛性xxxxx直播| 久久精品亚洲精品国产欧美| 日韩精品一二三四| 日本电影欧美片| 国产日韩精品一区二区三区在线| 日韩精品福利网| 在线看一区二区| 国产精品免费av| 国内一区二区视频| 日韩欧美一区二区久久婷婷| 亚洲mv大片欧洲mv大片精品| 99这里都是精品| 国产清纯在线一区二区www| 麻豆91精品91久久久的内涵| 欧美色老头old∨ideo| 综合电影一区二区三区 | 色天使久久综合网天天| 久久欧美一区二区| 久久精品国产亚洲5555| 制服丝袜亚洲精品中文字幕| 一区二区三区免费在线观看| 成人永久aaa| 久久久久久夜精品精品免费| 久久国产精品第一页| 欧美一区二区二区| 天天影视涩香欲综合网| 在线观看网站黄不卡| 亚洲欧美国产三级| 9i在线看片成人免费| 国产精品婷婷午夜在线观看| 国产sm精品调教视频网站| 精品国产乱码久久| 精品一区免费av| 91精品国产免费久久综合| 天堂在线一区二区| 777久久久精品| 欧美a级一区二区| 91精品欧美一区二区三区综合在| 天天综合网天天综合色| 欧美狂野另类xxxxoooo| 天天色天天操综合| 欧美一区二区三区成人| 麻豆一区二区99久久久久| 日韩精品综合一本久道在线视频| 久久成人麻豆午夜电影| 精品国产一区二区三区不卡| 国产精品影视在线观看| 欧美韩国日本综合| 99国产精品视频免费观看| 自拍偷拍亚洲欧美日韩| 99视频精品免费视频| 亚洲免费在线观看| 欧美色爱综合网| 日韩成人精品在线| 精品理论电影在线观看| 国产黑丝在线一区二区三区| 国产精品全国免费观看高清| 99久久精品情趣| 亚洲图片欧美色图| 欧美一区二区三区日韩视频| 精品亚洲porn| 国产精品色一区二区三区| 色哟哟一区二区三区| 午夜电影一区二区| 欧美精品一区二区三区蜜桃视频| 国产乱码精品一区二区三| 国产精品久久久久天堂| 欧美偷拍一区二区| 久久国产精品99久久久久久老狼 | 国产精品88av| 亚洲欧美影音先锋| 精品视频在线看| 美女视频网站久久| 日本一区二区成人在线| 91年精品国产| 男人操女人的视频在线观看欧美| 久久婷婷色综合| 色呦呦国产精品| 麻豆精品一区二区综合av| 国产精品欧美一级免费| 欧美在线|欧美| 狠狠色丁香婷婷综合久久片| **欧美大码日韩| 欧美一级二级三级蜜桃| 成人国产精品免费观看视频| 亚洲va欧美va天堂v国产综合| 欧美精品一区二区蜜臀亚洲| 色综合天天综合| 精品影视av免费| 亚洲欧美日韩一区| 精品福利二区三区| 在线观看一区日韩| 国产原创一区二区| 亚洲午夜久久久久久久久久久| 久久久精品影视| 精品视频在线免费看| 成人黄页在线观看| 免费视频最近日韩| 亚洲色图欧洲色图婷婷| 久久久久久9999| 欧美精选午夜久久久乱码6080| 成人亚洲一区二区一| 日本视频在线一区| 亚洲欧美日韩国产综合| 久久众筹精品私拍模特| 欧美日韩免费观看一区三区| 国产视频一区二区三区在线观看 | 午夜私人影院久久久久| 国产人久久人人人人爽| 欧美一区2区视频在线观看| 91女厕偷拍女厕偷拍高清| 国产精品一线二线三线| 午夜精品久久久久久久99水蜜桃| 中文字幕av一区二区三区高 | 激情文学综合丁香| 亚洲国产aⅴ天堂久久| 中文字幕一区二区三区视频| 亚洲精品在线电影| 91精品国产入口在线| 日本精品视频一区二区| 成人黄色电影在线| 国产毛片精品视频| 麻豆精品视频在线观看视频| 午夜日韩在线观看| 亚洲欧美日本韩国| 国产精品初高中害羞小美女文| 亚洲精品在线三区| 91丨porny丨首页| 蜜臀av性久久久久蜜臀av麻豆| 综合亚洲深深色噜噜狠狠网站| 亚洲色图制服丝袜| 26uuu另类欧美| 日韩一区二区高清| 在线不卡中文字幕播放| 在线观看亚洲a| 日本韩国一区二区三区| 91网页版在线| 97精品国产97久久久久久久久久久久| 国产精品一区二区三区乱码| 黄页视频在线91| 韩国视频一区二区| 精品一区二区在线播放| 麻豆成人91精品二区三区| 日韩高清在线一区| 国产亚洲女人久久久久毛片| 国产寡妇亲子伦一区二区| 亚洲欧洲成人自拍| 91精品国产综合久久精品麻豆| 日本中文字幕不卡| 不卡av免费在线观看| 中文在线资源观看网站视频免费不卡 | 高清国产一区二区| 日本成人在线一区| 亚洲乱码中文字幕| 中文字幕亚洲综合久久菠萝蜜| 日韩欧美一区二区视频| 欧美三级乱人伦电影| 99国产一区二区三精品乱码| 国产成人av电影免费在线观看| 人人爽香蕉精品| 日韩av在线发布|