- Timestamp:
- 09/28/17 16:20:21 (8 years ago)
- Branches:
- master, perl-5.22
- Children:
- 48bf314
- Parents:
- a35989d
- Location:
- npl/syn3/webint/src/vpn
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
npl/syn3/webint/src/vpn/listtunnels.php
ra35989d r0b780b4 65 65 { 66 66 //status NOT ok? 67 if ($status[$name][ state] != "STATE_QUICK_I2" && $status[$name][state] != "STATE_QUICK_R2" && $status[$name][state] != "STATE_V2_IPSEC_R" && $status[$name][state] != "STATE_V2_IPSEC_I")67 if ($status[$name][phase1] != "OK" || $status[$name][phase2] != "OK") 68 68 LinkDefault("testtunnel.php?name=$name&mode=down", _Started(), "<img src='../img/CAUTION.gif'>",_ConfirmDisable($name)); 69 69 else … … 87 87 88 88 89 //should be up? 89 90 if ($data["auto"]=="up") 90 91 { 91 //do we have actual status info? 92 if ($status[$name][state]) 93 { 94 $statehtml=State_GetHtml("ipsec_$name",true); 95 echo "<a href='editvpnmon.php?tunnelName=$name'>"; 96 if ($statehtml) 97 echo $statehtml; 98 else 99 echo "<img title='"._vpnMon()."' src='../img/mon.gif'>"; 100 echo "</a>"; 92 $statehtml=State_GetHtml("ipsec_$name",true); 93 echo "<a href='editvpnmon.php?tunnelName=$name'>"; 94 if ($statehtml) 95 echo $statehtml; 96 else 97 echo "<img title='"._vpnMon()."' src='../img/mon.gif'>"; 98 echo "</a>"; 101 99 102 // if ($status[$name][state] != "STATE_QUICK_I2" && 103 // $status[$name][state] != "STATE_QUICK_R2" ) 104 // echo "<img src='../img/arrow_r.gif'>"; 105 echo "<a href='tunnelstatus.php?name=$name'>"; 106 echo $VPN_STATES[$status[$name][state]]; 107 echo "</a>"; 108 } 100 echo "<a href='tunnelstatus.php?name=$name'> "; 101 102 if ($status[$name][phase1]!="OK") 103 echo "Phase 1: ".$status[$name][phase1]; 104 elseif ($status[$name][phase2]!="OK") 105 echo "Phase 2: ".$status[$name][phase2]; 109 106 else 110 {111 echo "<b>Unknown</b>"; 112 }107 echo "OK"; 108 109 echo "</a>"; 113 110 } 114 111 -
npl/syn3/webint/src/vpn/openswan.php
ra35989d r0b780b4 334 334 335 335 336 $VPN_STATES =array(337 'Main'=>"Connecting...",336 $VPN_STATES_1=array( 337 //ike v1 338 338 'STATE_MAIN_I1'=>"Connecting...", 339 'STATE_MAIN_R1'=>"Connection accepted...", 340 'STATE_MAIN_I2'=>"Connection complete...", 339 'STATE_MAIN_R1'=>"Connecting...", 340 'STATE_MAIN_I2'=>"Connecting...", 341 341 342 'STATE_MAIN_I3'=>"Checking keys...", 342 'STATE_MAIN_R2'=>"Checking keys...", 343 'STATE_MAIN_I4'=>"Keys accepted...", 344 'STATE_MAIN_R3'=>"Waiting for tunnel request...", 345 'Quick'=>"Requesting tunnel...", 346 'STATE_QUICK_I1'=>"Requesting tunnel...", 347 'STATE_QUICK_R1'=>"Tunnel request received...", 348 'STATE_QUICK_I2'=>"Tunnel established", 349 'STATE_QUICK_R2'=>"Tunnel established", 343 'STATE_MAIN_R2'=>"Checking keys...", 344 345 'STATE_MAIN_I4'=>"OK", 346 'STATE_MAIN_R3'=>"OK", 347 348 349 //ike v2 350 'STATE_PARENT_I2'=>"Negotiating...", 351 352 'STATE_PARENT_I3'=>"OK", 353 'STATE_PARENT_R2'=>"OK", 354 350 355 ); 351 356 352 353 $VPN_PRIO=array( 354 'Main'=>0, 355 'STATE_MAIN_I1'=>1, 356 'STATE_MAIN_R1'=>2, 357 'STATE_MAIN_I2'=>3, 358 'STATE_MAIN_I3'=>4, 359 'STATE_MAIN_R2'=>5, 360 'STATE_MAIN_I4'=>6, 361 'STATE_MAIN_R3'=>7, 362 'Quick'=>8, 363 'STATE_QUICK_I1'=>9, 364 'STATE_QUICK_R1'=>10, 365 'STATE_QUICK_I2'=>11, 366 'STATE_QUICK_R2'=>12, 357 $VPN_STATES_2=array( 358 //ike v1 359 'STATE_QUICK_I1'=>"Negotiating tunnel...", 360 'STATE_QUICK_R1'=>"Negotiating tunnel...", 361 362 'STATE_QUICK_I2'=>"OK", 363 'STATE_QUICK_R2'=>"OK", 364 365 366 //ike v2 367 'STATE_V2_IPSEC_I'=>"OK", 368 'STATE_V2_IPSEC_R'=>"OK", 369 367 370 ); 368 371 369 //tries to determine state from a logline. 370 //returns false on no state found 372 // 373 // 374 // $VPN_PRIO=array( 375 // 'Main'=>0, 376 // 'STATE_MAIN_I1'=>1, 377 // 'STATE_MAIN_R1'=>2, 378 // 'STATE_MAIN_I2'=>3, 379 // 'STATE_MAIN_I3'=>4, 380 // 'STATE_MAIN_R2'=>5, 381 // 'STATE_MAIN_I4'=>6, 382 // 'STATE_MAIN_R3'=>7, 383 // 'Quick'=>8, 384 // 'STATE_QUICK_I1'=>9, 385 // 'STATE_QUICK_R1'=>10, 386 // 'STATE_QUICK_I2'=>11, 387 // 'STATE_QUICK_R2'=>12, 388 // ); 389 390 //determines phase1 and phase2 state from logline 371 391 function vpn_LogToState($logline) 372 392 { 373 global $VPN_STATES; 374 375 if (preg_match("/to state (.*)$/",$logline,$matches)) 376 { 377 if (isset($VPN_STATES[$matches[1]])) 378 return ($matches[1]); 379 } 380 elseif (preg_match("/initiating (.*) Mode/",$logline,$matches)) 381 { 382 if (isset($VPN_STATES[$matches[1]])) 383 return ($matches[1]); 384 } 385 else 386 { 387 return false; 388 } 393 global $VPN_STATES_1; 394 global $VPN_STATES_2; 395 396 $ret=[]; 397 if (preg_match("/(STATE_[0-9_A-Z]*)/",$logline,$matches)) 398 { 399 $state=$matches[1]; 400 if ($VPN_STATES_1[$state]) 401 $ret['phase1']=$VPN_STATES_1[$state]; 402 if ($VPN_STATES_2[$state]) 403 $ret['phase2']=$VPN_STATES_2[$state]; 404 } 405 return($ret); 389 406 } 390 407 //read logging output of a tunnel … … 393 410 { 394 411 global $VPN_LOG; 395 $lines=SafeExec("grep ' \]:\"$name\"' '$VPN_LOG'|tail -1000");412 $lines=SafeExec("grep 'pluto.*\"$name\"' '$VPN_LOG'|tail -1000"); 396 413 foreach ($lines as $line) 397 414 { 398 preg_match("/\]: \".*?\".(.*)/",$line,$matches);399 $ret[]=array(vpn_LogToState($ matches[1]),$matches[1]);415 // preg_match("/\]: \".*?\".(.*)/",$line,$matches); 416 $ret[]=array(vpn_LogToState($line),$line); 400 417 } 401 418 return $ret; … … 407 424 function vpn_GetStatus() 408 425 { 409 global $VPN_STATES; 410 global $VPN_PRIO; 426 global $VPN_STATES_1; 427 global $VPN_STATES_2; 428 // global $VPN_PRIO; 411 429 412 430 if (Cmd("ipsec whack --status",'',$output)<0) … … 419 437 foreach ($output as $line) 420 438 { 421 if (preg_match('/^.*#([0-9])*:.*"(.*?)"[:0-9]* ([A-Z0-9_]+) /',$line,$matches)) 422 { 423 $nr=$matches[1]; 424 $name=$matches[2]; 425 $state=$matches[3]; 426 if ( 427 $name && 428 $state && 429 $VPN_PRIO[$state]>=$VPN_PRIO[$ret[$name]['state']] 430 ) 431 { 432 $ret[$name]['state']=$state; 433 $ret[$name]['info'][]=$line; 434 } 435 } 436 elseif (preg_match('/^.*"(.*?)": *(.*)$/',$line,$matches)) 439 if (preg_match('/\"(.*)\"/',$line,$matches)) 437 440 { 438 441 $name=$matches[1]; 439 $info=$matches[2]; 440 if ($name && $info) 441 { 442 $ret[$name]['info'][]=$info; 443 } 442 $ret[$name]['info'][]=$line; 443 $state=vpn_LogToState($line); 444 if ($state['phase1']) 445 $ret[$name]['phase1']=$state['phase1']; 446 if ($state['phase2']) 447 $ret[$name]['phase2']=$state['phase2']; 448 444 449 } 450 451 // //state + info 452 // if (preg_match('/^.*#([0-9])*:.*"(.*?)"[:0-9]* ([A-Z0-9_]+) /',$line,$matches)) 453 // { 454 // $nr=$matches[1]; 455 // $name=$matches[2]; 456 // $state=$matches[3]; 457 // if ( 458 // $name && 459 // $state 460 // ) 461 // { 462 // if ($VPN_STATES_1[$state]) 463 // $ret[$name]['phase1']=$VPN_STATES_1[$state]; 464 // if ($VPN_STATES_2[$state]) 465 // $ret[$name]['phase2']=$VPN_STATES_2[$state]; 466 // 467 // $ret[$name]['info'][]=$line; 468 // } 469 // } 470 // //info only 471 // elseif (preg_match('/^.*"(.*?)": *(.*)$/',$line,$matches)) 472 // { 473 // $name=$matches[1]; 474 // $info=$matches[2]; 475 // if ($name && $info) 476 // { 477 // $ret[$name]['info'][]=$info; 478 // } 479 // } 445 480 } 446 481 -
npl/syn3/webint/src/vpn/tunnelstatus.php
ra35989d r0b780b4 1 1 <? 2 /* 2 /* 3 3 (C) 2004-2013 DatuX - info@datux.nl 4 4 … … 17 17 */ 18 18 19 19 20 20 $LEVEL=10; 21 21 include_once("../common.php"); 22 22 require_once("openswan.php"); 23 23 include_once("../form.php"); 24 24 25 25 ?> 26 26 … … 32 32 33 33 <? Head(); ?> 34 34 35 35 <h1><?=$TITLE?></h1> 36 36 37 37 <? 38 /* 38 /* 39 39 (C) 2004-2013 DatuX - info@datux.nl 40 40 … … 60 60 <tr><th><?=_TechnicalInfoOpenswan() ?></tr> 61 61 <? 62 echo "<tr><td><b>State: ".$status[$name]['state']."</b> (".$VPN_STATES[$status[$name][state]].")";62 echo "<tr><td><b>Phase 1: ".$status[$name]['phase1']."<br>"."Phase 2: ".$status[$name]['phase2']."</b></tr>"; 63 63 64 64 foreach ($status[$name]['info'] as $info) … … 75 75 <th><?=_LogMessage()?></th> 76 76 </tr> 77 77 78 78 <? 79 79 80 80 foreach ($log as $logdata) 81 81 { 82 82 echo "<tr>"; 83 83 echo "<td>"; 84 if ($VPN_STATES[$logdata[0]]) 85 { 86 /*if ($logdata[0] == "STATE_QUICK_I2" || $logdata[0] == "STATE_QUICK_R2") 87 echo "<img src='../img/enabled.gif'>"; 88 else 89 echo "<img src='../img/disabled.gif'>";*/ 90 echo $VPN_STATES[$logdata[0]]; 91 } 84 if ($logdata[0]['phase1']) 85 echo "Phase 1: ".$logdata[0]['phase1']; 86 87 elseif ($logdata[0]['phase2']) 88 echo "Phase 2: ".$logdata[0]['phase2']; 92 89 else 93 {94 90 echo " "; 95 } 96 91 97 92 echo "<td>$logdata[1]"; 98 93 echo "</tr>"; 99 94 } 100 95 101 96 if (!$log) 102 97 echo "<tr colspan=5><td>"._NoLogMessagesForThisTunnel()."</tr>";
Note: See TracChangeset
for help on using the changeset viewer.