środa, 28 października 2009

Funkcja odczytująca konfigurację portów serwera Apache Tomcat


function BOOL GetTomcatPorts(szPath, svPortHTTP, svPortSHD, svPortAJP, bLog)
BOOL bResult, bFindHTTP, bFindSHD, bFindAJP;
LIST lsPlik;
string line, newline, szPortLine;
int i,nStart,nStop;
begin
if Is(FILE_EXISTS, szPath ^ "conf\\server.xml") then
bFindHTTP = FALSE;
bFindSHD = FALSE;
bFindAJP = FALSE;
lsPlik = ListCreate(STRINGLIST);
ListReadFromFile(lsPlik, szPath ^ "conf\\server.xml");
if ListCount(lsPlik)>0 then
ListSetIndex(lsPlik,LISTFIRST);
for i=0 to ListCount(lsPlik)-1
ListCurrentString(lsPlik,line);
if (StrFind(line,"Connector port")>=0) && (StrFind(line,'protocol="HTTP/1.1"')>=0) && (StrFind(line,'SSLEnabled')<0) then nStart = StrFind(line,"port"); nStart = nStart+6;//7 StrSub(szPortLine,line,nStart,10); nStop = StrFind(szPortLine,"\""); line = szPortLine; StrSub(szPortLine,line,0,nStop); svPortHTTP = szPortLine; if bLog then WriteLog(2,"- znaleziono konfigurację na Port HTTP: "+svPortHTTP); endif; bFindHTTP = TRUE; endif; if (StrFind(line,"Server port")>=0) && (StrFind(line,'shutdown="SHUTDOWN">')>=0) then
nStart = StrFind(line,"port");
nStart = nStart+6;
StrSub(szPortLine,line,nStart,10);
nStop = StrFind(szPortLine,"\"");
line = szPortLine;
StrSub(szPortLine,line,0,nStop);
svPortSHD = szPortLine;
if bLog then WriteLog(2,"- znaleziono konfigurację na Port ShutDown: "+svPortSHD); endif;
bFindSHD = TRUE;
endif;

if (StrFind(line,"Connector port=")>=0) && (StrFind(line,'protocol="AJP/1.3"')>=0) then
nStart = StrFind(line,"port");
nStart = nStart+6;
StrSub(szPortLine,line,nStart,10);
nStop = StrFind(szPortLine,"\"");
line = szPortLine;
StrSub(szPortLine,line,0,nStop);
svPortAJP = szPortLine;
if bLog then WriteLog(2,"- znaleziono konfigurację na Port AJP: "+svPortAJP); endif;
bFindAJP = TRUE;
endif;

ListSetIndex(lsPlik,LISTNEXT);
endfor;
endif;

//Zapis konfiguracji
if bFindHTTP then
bResult = TRUE;
else
if bLog then WriteLog(2,"- nie znaleziono konfiguracji Portu HTTP. Przypisano domyślny: 8080"); endif;
svPortHTTP = "8080";
endif;

if !bFindSHD then
if bLog then WriteLog(2,"- nie znaleziono konfiguracji Port Shutdown. Przypisano domyślny: 8005"); endif;
svPortSHD = "8005";
endif;

if !bFindAJP then
if bLog then WriteLog(2,"- nie znaleziono konfiguracji Port AJP. Przypisano domyślny: 8009"); endif;
svPortSHD = "8009";
endif;

ListDestroy(lsPlik);

else
if bLog then
WriteLog(1,"- plik konfiguracji \"server.xml\" serwera nie istnieje w katalogu:\""+szPath+"\"");
endif;
bResult = FALSE;
endif;

return bResult;
end;

Brak komentarzy:

Prześlij komentarz