큐메일 컴파일시 'warning'
글쓴이: neoprog / 작성시간: 금, 2004/12/10 - 2:09오후
큐메일을 설치중입니다. 그런데.. 오늘..
qmail.kldp.org
사이트가 안돼네요.
MySQL 버젼은
mysql-standard-4.0.17-pc-linux-i686 바이너리이구요,
RedHat 9 입니다.
자유게시판에 김정균님이 올리신 글을 찾았습니다.... T_T
김정균 wrote:
people server 에 문제가 있는데, 관리자가 연락이 되지 않습니다.
순선씨는 이글 보거든 전화좀 주세요. 전화를 받지 않으시네요.
일단 switch 에서 port 를 차단한 상태입니다. :-)P.S
드디어 무소불위의 권력을 행사하는 군요. 크크
어쨋거나,
checkpassword0.90 + checkpassword-mysql-0.7.4 patch 를 설치중입니다. 컴파일시 아래와 같은 'warning'이 나오구요, 이상태로 설치를 하면
pop3로그인시 'id+도메인' 로그인이 안돼더라구요. 이게 'warning'때문인지는
확실치 않구요, 설치시에 warning이 있길래 이것때문이 아닌지 추측할뿐입니다.
제가 프로그램에는 젠병이라 혹시라도 아시는 분이 계시다면 도와주십시요~~ :!:
checkpassword.c: In function `doit_my': checkpassword.c:52: warning: assignment makes pointer from integer without a cast mysql.c: In function `My_CheckUser': mysql.c:450: warning: assignment discards qualifiers from pointer target type mysql.c:506: warning: passing arg 2 of `strcmp' makes pointer from integer without a cast In file included from /usr/local/include/mysql/my_global.h:276, from md5.c:35: /usr/include/asm/atomic.h:40:2: warning: #warning Using kernel header in userland program. BAD!
checkpassword.c doit_my function 부분
(My_CheckUser 부분이 52line)
/***********************************/ char *stored; /*---- check MySQL ----*/ int doit_my(login, mid, passwd) char *login, *mid, *passwd; { char *myerror; int flag = 0; if (mysql_use == 1) { pw = My_CheckUser(login, mid, pop_or_apop, passwd, &flag, &myerror); if (pw) { stored = pw->pw_passwd; } } if ( *(myerror) != '\0' ) { syslog(LOG_ERR, "MySQL Query Error. %s", myerror); } return flag; }
mysql.c 소스중
450 line( *myerror = mysql_error(mysql); )
My_CheckUser(char *id, char *mid, int pop_or_apop, char *passwd, int *flag, char **myerror) { .... .... if ( mysql_query(mysql, buf) < 0 || !(result=mysql_store_result(mysql)) ) { *myerror = mysql_error(mysql); *flag = 2; return(0); }
506 line...( a = strcmp(ppass, crypt(passwd, ppass)); )
if (pop_or_apop == 1) { if (row[6] == NULL) { goto error_exit; } if (strcmp(ppass, row[6]) != 0) { *flag = 3; goto error_exit3; } } else { switch (enc_type) { case PLAINTEXT_ENCRYPTION_FLAG: a = strcmp(ppass, passwd); break; case CRYPT_DES_ENCRYPTION_FLAG: a = strcmp(ppass, crypt(passwd, ppass)); break; case MYSQL_ENCRYPTION_FLAG: if (row[6] == NULL) { goto error_exit; } a = strcmp(ppass, row[6]); break; case MD5_ENCRYPTION_FLAG: md5crypt(passwd, buf); a = strcmp(ppass, buf); break; default: goto error_exit; break; } if (a!=0) { *flag = 3; goto error_exit3; } }
Forums:
댓글 달기