From: Viktor M. <mih...@us...> - 2005-07-07 13:07:11
|
Update of /cvsroot/sblim/sfcb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28131 Modified Files: httpAdapter.c httpComm.c msgqueue.c sfcBroker.c Log Message: Bugs fixed: 1234158. Socket pair and semaphore generation did not account for HTTPS adapter. They do now. Index: sfcBroker.c =================================================================== RCS file: /cvsroot/sblim/sfcb/sfcBroker.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- sfcBroker.c 20 Jun 2005 13:09:44 -0000 1.16 +++ sfcBroker.c 7 Jul 2005 13:06:31 -0000 1.17 @@ -49,7 +49,6 @@ extern UtilStringBuffer *instanceToString(CMPIInstance * ci, char **props); extern int init_sfcBroker(char *); extern CMPIBroker *Broker; -extern void initHttpProcCtl(int); extern void initProvProcCtl(int); extern void processTerminated(int pid); extern int httpDaemon(int argc, char *argv[], int sslMode, int pid); @@ -347,7 +346,7 @@ int c, i; unsigned long tmask = 0, sslMode=0,sslOMode=0; int enableHttp=0,enableHttps=0,useChunking=0,doBa=0; - long dSockets, pSockets; + long dSockets,sSockets,pSockets; char *pauseStr; _SFCB_TRACE_INIT(); @@ -442,6 +441,8 @@ if (getControlNum("httpProcs", &dSockets)) dSockets = 10; + if (getControlNum("httpsProcs", &sSockets)) + sSockets = 10; if (getControlNum("provProcs", &pSockets)) pSockets = 16; @@ -453,10 +454,10 @@ resultSockets=getSocketPair("sfcbd result"); sfcbSockets=getSocketPair("sfcbd sfcb"); - initSem(dSockets,dSockets,pSockets); + initSem(dSockets,sSockets,pSockets); initProvProcCtl(pSockets); init_sfcBroker(NULL); - initSocketPairs(pSockets,dSockets,0); + initSocketPairs(pSockets,dSockets,sSockets); setSignal(SIGQUIT, handleSigquit,0); setSignal(SIGTERM, handleSigquit,0); Index: httpComm.c =================================================================== RCS file: /cvsroot/sblim/sfcb/httpComm.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- httpComm.c 6 Jul 2005 13:24:31 -0000 1.6 +++ httpComm.c 7 Jul 2005 13:06:31 -0000 1.7 @@ -26,6 +26,9 @@ void handleSSLerror(const char *file, int lineno, const char *msg) { mlogf(M_ERROR,M_SHOW,"\n*** %s:%i %s -- exiting\n", file, lineno, msg); +#ifdef SFCB_DEBUG + ERR_print_errors_fp(stderr); +#endif exit(-1); } #endif Index: httpAdapter.c =================================================================== RCS file: /cvsroot/sblim/sfcb/httpAdapter.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- httpAdapter.c 6 Jul 2005 13:24:29 -0000 1.15 +++ httpAdapter.c 7 Jul 2005 13:06:31 -0000 1.16 @@ -103,14 +103,14 @@ char *protocol; } Buffer; -void initHttpProcCtl(int p) +void initHttpProcCtl(int p, int sslmode) { - httpProcSemKey=ftok(".",'H'); - httpWorkSemKey=ftok(".",'W'); + httpProcSemKey=ftok(".",'H' + sslmode); + httpWorkSemKey=ftok(".",'W' + sslmode); union semun sun; int i; - mlogf(M_INFO,M_SHOW,"--- Max Http procs: %d\n",p); + mlogf(M_INFO,M_SHOW,"--- Max Http%s procs: %d\n",sslmode?"s":"",p); if ((httpProcSem=semget(httpProcSemKey,1,0666))!=-1) semctl(httpProcSem,0,IPC_RMID,sun); @@ -902,9 +902,14 @@ hMax=htMax; } - if (getControlNum("httpProcs", &procs)) - procs = 10; - initHttpProcCtl(procs); + if (sslMode) { + if (getControlNum("httpsProcs", &procs)) + procs = 10; + } else { + if (getControlNum("httpProcs", &procs)) + procs = 10; + } + initHttpProcCtl(procs,sslMode); if (getControlBool("doBasicAuth", &doBa)) doBa=0; @@ -1006,11 +1011,13 @@ char *fnc,*fnk; ctx = SSL_CTX_new(SSLv23_method()); getControlChars("sslCertificateFilePath", &fnc); + _SFCB_TRACE(1,("--- sslCertificateFilePath = %s",fnc)); if (SSL_CTX_use_certificate_chain_file(ctx, fnc) != 1) - intSSLerror("Error loading certificate from file"); + intSSLerror("Error loading certificate from file"); getControlChars("sslKeyFilePath", &fnk); + _SFCB_TRACE(1,("--- sslKeyFilePath = %s",fnk)); if (SSL_CTX_use_PrivateKey_file(ctx, fnk, SSL_FILETYPE_PEM) != 1) - intSSLerror("Error loading private key from file"); + intSSLerror("Error loading private key from file"); } #endif Index: msgqueue.c =================================================================== RCS file: /cvsroot/sblim/sfcb/msgqueue.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- msgqueue.c 14 Jun 2005 11:42:04 -0000 1.7 +++ msgqueue.c 7 Jul 2005 13:06:31 -0000 1.8 @@ -482,7 +482,7 @@ void initSocketPairs(int provs, int https, int shttps) { - int i,t=(provs*2)+https; //,shttps; + int i,t=(provs*2)+https+shttps; sPairs=(ComSockets*)malloc(sizeof(ComSockets)*t); mlogf(M_INFO,M_SHOW,"--- initSocketPairs: %d\n",t); |