diff options
Diffstat (limited to 'util/passwdconverter.c')
-rw-r--r-- | util/passwdconverter.c | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/util/passwdconverter.c b/util/passwdconverter.c deleted file mode 100644 index 2361b787..00000000 --- a/util/passwdconverter.c +++ /dev/null @@ -1,146 +0,0 @@ -#include "bbs.h" - -/* userec_t before revision 2275 */ -typedef struct old_userec_t { - char userid[IDLEN + 1]; - char realname[20]; - char nickname[24]; - char passwd[PASSLEN]; - unsigned char uflag; - unsigned int userlevel; - unsigned short numlogins; - unsigned short numposts; - time4_t firstlogin; - time4_t lastlogin; - char lasthost[16]; - int money; - char remoteuser[3]; /* 保留 目前沒用到的 */ - char proverb; - char email[50]; - char address[50]; - char justify[REGLEN + 1]; - unsigned char month; - unsigned char day; - unsigned char year; - unsigned char sex; - unsigned char state; - unsigned char pager; - unsigned char invisible; - unsigned int exmailbox; - chicken_t mychicken; - time4_t lastsong; - unsigned int loginview; - unsigned char channel; /* 動態看板 (unused?) */ - unsigned short vl_count; /* ViolateLaw counter */ - unsigned short five_win; - unsigned short five_lose; - unsigned short five_tie; - unsigned short chc_win; - unsigned short chc_lose; - unsigned short chc_tie; - int mobile; - char mind[4]; - char ident[11]; - unsigned int uflag2; - unsigned char signature; - - unsigned char goodpost; /* 評價為好文章數 */ - unsigned char badpost; /* 評價為壞文章數 */ - unsigned char goodsale; /* 競標 好的評價 */ - unsigned char badsale; /* 競標 壞的評價 */ - char myangel[IDLEN+1]; /* 我的小天使 */ - unsigned short chess_elo_rating; /* 象棋等級分 */ - unsigned int withme; - char pad[48]; -} old_userec_t; - -void transform(userec_t *new, old_userec_t *old) -{ - new->version = PASSWD_VERSION; - - strlcpy(new->userid, old->userid, IDLEN + 1); - strlcpy(new->realname, old->realname, 20); - strlcpy(new->nickname, old->nickname, 24); - strlcpy(new->passwd, old->passwd, PASSLEN); - new->uflag = old->uflag; - new->userlevel = old->userlevel; - new->numlogins = old->numlogins; - new->numposts = old->numposts; - new->firstlogin = old->firstlogin; - new->lastlogin = old->lastlogin; - strlcpy(new->lasthost, old->lasthost, 16); - new->money = old->money; - strlcpy(new->remoteuser, old->remoteuser, 3); - new->proverb = old->proverb; - strlcpy(new->email, old->email, 50); - strlcpy(new->address, old->address, 50); - strlcpy(new->justify, old->justify, REGLEN + 1); - new->month = old->month; - new->day = old->day; - new->year = old->year; - new->sex = old->sex; - new->state = old->state; - new->pager = old->pager; - new->invisible = old->invisible; - new->exmailbox = old->exmailbox; - new->mychicken = old->mychicken; - new->lastsong = old->lastsong; - new->loginview = old->loginview; - new->channel = old->channel; - new->vl_count = old->vl_count; - new->five_win = old->five_win; - new->five_lose = old->five_lose; - new->five_tie = old->five_tie; - new->chc_win = old->chc_win; - new->chc_lose = old->chc_lose; - new->chc_tie = old->chc_tie; - new->mobile = old->mobile; - memcpy(new->mind, old->mind, 4); - memset(new->pad0, 0, sizeof(new->pad0)); // ident is not used anymore - new->uflag2 = old->uflag2; - new->signature = old->signature; - - new->goodpost = old->goodpost; - new->badpost = old->badpost; - new->goodsale = old->goodsale; - new->badsale = old->badsale; - strlcpy(new->myangel, old->myangel, IDLEN+1); - new->chess_elo_rating = old->chess_elo_rating; - new->withme = old->withme; - memset(new->pad, 0, sizeof(new->pad)); -} - -int main(void) -{ - int fd, fdw; - userec_t new; - old_userec_t old; - - printf("You're going to convert your .PASSWDS\n"); - printf("The new file will be named .PASSWDS.trans.tmp\n"); - printf("old size of userec_t is %d, and the new one is %d\n", sizeof(old_userec_t), sizeof(userec_t)); -/* - printf("Press any key to continue\n"); - getchar(); -*/ - - if (chdir(BBSHOME) < 0) { - perror("chdir"); - exit(-1); - } - - if ((fd = open(FN_PASSWD, O_RDONLY)) < 0 || - (fdw = open(FN_PASSWD".trans.tmp", O_WRONLY | O_CREAT | O_TRUNC, 0600)) < 0 ) { - perror("open"); - exit(-1); - } - - while (read(fd, &old, sizeof(old)) > 0) { - transform(&new, &old); - write(fdw, &new, sizeof(new)); - } - - close(fd); - close(fdw); - return 0; -} |