⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 policy.cgi

📁 xen 3.2.2 源码
💻 CGI
📖 第 1 页 / 共 5 页
字号:
			print '    </TD>'			print '    <TD>'			print '      Add the type(s) selected above'			print '    </TD>'			print '  </TR>'	print '</TABLE>'def sendPLSubHtml( ):	global formVmNames, formVmDel, formVmName, formVmAdd	global allVmDel, allVmDom0	global allVmChWs, allVmChWDel, allVmChW, allVmChWAdd	global allVmStes, allVmSteDel, allVmSte, allVmSteAdd	global formSteTypes, formChWallTypes	print '<TABLE class="full">'	print '  <COLGROUP>'	print '    <COL width="100%">'	print '  </COLGROUP>'	# Virtual Machines...	print '  <TR>'	print '    <TD>'	print '      <TABLE class="full">'	print '        <COLGROUP>'	print '          <COL width="10%">'	print '          <COL width="40%">'	print '          <COL width="50%">'	print '        </COLGROUP>'	print '        <TR>'	print '          <TD class="heading" align="center" colspan="3">Virtual Machine Classes</TD>'	print '        </TR>'	print '        <TR>'	print '          <TD colspan="2">'	sendHtmlFormVar( formVmName, 'class="full"' )	sendHtmlFormVar( formVmNames )	print '          </TD>'	print '          <TD>&nbsp;</TD>'	print '        </TR>'	print '        <TR>'	print '          <TD>'	sendHtmlFormVar( formVmAdd, 'class="full"' )	print '          </TD>'	print '          <TD colspan="2">'	print '            Create a new VM class with the above name'	print '          </TD>'	print '        </TR>'	print '      </TABLE>'	print '    </TD>'	print '  </TR>'	if len( formVmNames[1] ) > 0:		print '  <TR>'		print '    <TD colspan="1">'		print '      &nbsp;'		print '    </TD>'		print '  </TR>'		print '  <TR>'		print '    <TD>'		print '      <TABLE class="fullbox">'		print '        <COLGROUP>'		print '          <COL width="10%">'		print '          <COL width="40%">'		print '          <COL width="50%">'		print '        </COLGROUP>'		print '        <THEAD>'		print '          <TR>'		print '            <TD class="fullbox">Dom 0?</TD>'		print '            <TD class="fullbox">Name</TD>'		print '            <TD class="fullbox">Actions</TD>'		print '          </TR>'		print '        </THEAD>'		for i, vmName in enumerate( formVmNames[1] ):			print '        <TR>'			print '          <TD class="fullbox">'			if formVmNameDom0[1] == vmName:				print 'Yes'			else:				print '&nbsp;'			print '          </TD>'			print '          <TD class="fullbox">' + vmName + '</TD>'			print '          <TD class="fullbox">'			print '            <A href="#' + vmName + '">Edit</A>'			formVar = allVmDel[vmName]			sendHtmlFormVar( formVar, 'class="link"' )			formVar = allVmDom0[vmName]			sendHtmlFormVar( formVar, 'class="link"' )			print '          </TD>'			print '        </TR>'		print '      </TABLE>'		print '    </TD>'		print '  </TR>'		for vmName in formVmNames[1]:			print '  <TR>'			print '    <TD>'			print '      <HR>'			print '    </TD>'			print '  </TR>'			print '  <TR>'			print '    <TD>'			print '      <TABLE class="full">'			print '        <COLGROUP>'			print '          <COL width="10%">'			print '          <COL width="39%">'			print '          <COL width="2%">'			print '          <COL width="10%">'			print '          <COL width="39%">'			print '        </COLGROUP>'			print '        <TR>'			print '          <TD colspan="5" align="center" class="heading">'			print '            <A name="' + vmName + '">Virtual Machine Class: ' + vmName + '</A>'			print '          </TD>'			print '        </TR>'			print '        <TR>'			print '          <TD colspan="2" align="center">Simple Type Enforcement Types</TD>'			print '          <TD>&nbsp;</TD>'			print '          <TD colspan="2" align="center">Chinese Wall Types</TD>'			print '        </TR>'			print '        <TR>'			print '          <TD colspan="2">'			formVar = allVmStes[vmName];			sendHtmlFormVar( formVar, 'class="full" size="4" multiple"' )			print '          </TD>'			print '          <TD>&nbsp;</TD>'			print '          <TD colspan="2">'			formVar = allVmChWs[vmName];			sendHtmlFormVar( formVar, 'class="full" size="4" multiple"' )			print '          </TD>'			print '        </TR>'			print '        <TR>'			print '          <TD>'			formVar = allVmSteDel[vmName];			sendHtmlFormVar( formVar, 'class="full"' )			print '          </TD>'			print '          <TD>'			print '            Delete the type(s) selected above'			print '          </TD>'			print '          <TD>&nbsp;</TD>'			print '          <TD>'			formVar = allVmChWDel[vmName];			sendHtmlFormVar( formVar, 'class="full"' )			print '          </TD>'			print '          <TD>'			print '            Delete the type(s) selected above'			print '          </TD>'			print '        </TR>'			print '        <TR>'			print '          <TD colspan="2">'			stSet = Set( formSteTypes[1] )			vmSet = Set( allVmStes[vmName][1] )			formVar = allVmSte[vmName]			formVar[1] = []			for steType in stSet.difference( vmSet ):				formVar[1].append( steType )			formVar[1].sort( )			sendHtmlFormVar( formVar, 'class="full" size="2" multiple"' )			print '          </TD>'			print '          <TD>&nbsp;</TD>'			print '          <TD colspan="2">'			ctSet = Set( formChWallTypes[1] )			vmSet = Set( allVmChWs[vmName][1] )			formVar = allVmChW[vmName]			formVar[1] = []			for chwallType in ctSet.difference( vmSet ):				formVar[1].append( chwallType )			formVar[1].sort( )			sendHtmlFormVar( formVar, 'class="full" size="2" multiple"' )			print '          </TD>'			print '        </TR>'			print '        <TR>'			print '          <TD>'			formVar = allVmSteAdd[vmName];			sendHtmlFormVar( formVar, 'class="full"' )			print '          </TD>'			print '          <TD>'			print '            Add the type(s) selected above'			print '          </TD>'			print '          <TD>&nbsp;</TD>'			print '          <TD>'			formVar = allVmChWAdd[vmName];			sendHtmlFormVar( formVar, 'class="full"' )			print '          </TD>'			print '          <TD>'			print '            Add the type(s) selected above'			print '          </TD>'			print '        </TR>'			print '      </TABLE>'			print '    </TD>'			print '  </TR>'	print '</TABLE>'def sendPLObjHtml( ):	global formResNames, formResDel, formResName, formResAdd	global allResDel	global allResStes, allResSteDel, allResSte, allResSteAdd	global formSteTypes, formChWallTypes	print '<TABLE class="full">'	print '  <COLGROUP>'	print '    <COL width="100%">'	print '  </COLGROUP>'	# Resources...	print '  <TR>'	print '    <TD>'	print '      <TABLE class="full">'	print '        <COLGROUP>'	print '          <COL width="10%">'	print '          <COL width="40%">'	print '          <COL width="50%">'	print '        </COLGROUP>'	print '        <TR>'	print '          <TD class="heading" align="center" colspan="3">Resource Classes</TD>'	print '        </TR>'	print '        <TR>'	print '          <TD colspan="2">'	sendHtmlFormVar( formResName, 'class="full"' )	sendHtmlFormVar( formResNames )	print '          </TD>'	print '          <TD>&nbsp;</TD>'	print '        </TR>'	print '        <TR>'	print '          <TD>'	sendHtmlFormVar( formResAdd, 'class="full"' )	print '          </TD>'	print '          <TD colspan="2">'	print '            Create a new Resource class with the above name'	print '          </TD>'	print '        </TR>'	print '      </TABLE>'	print '    </TD>'	print '  </TR>'	if len( formResNames[1] ) > 0:		print '  <TR>'		print '    <TD colspan="1">'		print '      &nbsp;'		print '    </TD>'		print '  </TR>'		print '  <TR>'		print '    <TD>'		print '      <TABLE class="fullbox">'		print '        <COLGROUP>'		print '          <COL width="50%">'		print '          <COL width="50%">'		print '        </COLGROUP>'		print '        <THEAD>'		print '          <TR>'		print '            <TD class="fullbox">Name</TD>'		print '            <TD class="fullbox">Actions</TD>'		print '          </TR>'		print '        </THEAD>'		for i, resName in enumerate( formResNames[1] ):			print '        <TR>'			print '          <TD class="fullbox">' + resName + '</TD>'			print '          <TD class="fullbox">'			print '            <A href="#' + resName + '">Edit</A>'			formVar = allResDel[resName]			sendHtmlFormVar( formVar, 'class="link"' )			print '          </TD>'			print '        </TR>'		print '      </TABLE>'		print '    </TD>'		print '  </TR>'		for resName in formResNames[1]:			print '  <TR>'			print '    <TD>'			print '      <HR>'			print '    </TD>'			print '  </TR>'			print '  <TR>'			print '    <TD>'			print '      <TABLE class="full">'			print '        <COLGROUP>'			print '          <COL width="10%">'			print '          <COL width="90%">'			print '        </COLGROUP>'			print '        <TR>'			print '          <TD colspan="2" align="center" class="heading">'			print '            <A name="' + resName + '">Resource Class: ' + resName + '</A>'			print '          </TD>'			print '        </TR>'			print '        <TR>'			print '          <TD colspan="2" align="center">Simple Type Enforcement Types</TD>'			print '        </TR>'			print '        <TR>'			print '          <TD colspan="2">'			formVar = allResStes[resName];			sendHtmlFormVar( formVar, 'class="full" size="4" multiple"' )			print '          </TD>'			print '        </TR>'			print '        <TR>'			print '          <TD>'			formVar = allResSteDel[resName];			sendHtmlFormVar( formVar, 'class="full"' )			print '          </TD>'			print '          <TD>'			print '            Delete the type(s) selected above'			print '          </TD>'			print '        </TR>'			print '        <TR>'			print '          <TD colspan="2">'			stSet = Set( formSteTypes[1] )			resSet = Set( allResStes[resName][1] )			formVar = allResSte[resName]			formVar[1] = []			for steType in stSet.difference( resSet ):				formVar[1].append( steType )			formVar[1].sort( )			sendHtmlFormVar( formVar, 'class="full" size="2" multiple"' )			print '          </TD>'			print '        </TR>'			print '        <TR>'			print '          <TD>'			formVar = allResSteAdd[resName];			sendHtmlFormVar( formVar, 'class="full"' )			print '          </TD>'			print '          <TD>'			print '            Add the type(s) selected above'			print '          </TD>'			print '        </TR>'			print '      </TABLE>'			print '    </TD>'			print '  </TR>'	print '</TABLE>'def checkXmlData( ):	global xmlIncomplete	global formPolicyName, formPolicyOrder	global formChWallTypes, formSteTypes, formCSNames	# Validate the Policy Header requirements	if ( len( formPolicyName[1] ) == 0 ):		msg = ''		msg = msg + 'The XML policy schema requires that the Policy '		msg = msg + 'Information Name field have a value.'		formatXmlGenError( msg )	if formPolicyOrder[1] == 'v_ChWall':		if len( formChWallTypes[1] ) == 0:			msg = ''			msg = msg + 'You have specified the primary policy to be '			msg = msg + 'Chinese Wall but have not created any Chinese '			msg = msg + 'Wall types.  Please create some Chinese Wall '			msg = msg + 'types or change the primary policy.'			formatXmlGenError( msg )	if formPolicyOrder[1] == 'v_Ste':		if len( formSteTypes[1] ) == 0:			msg = ''			msg = msg + 'You have specified the primary policy to be '			msg = msg + 'Simple Type Enforcement but have not created '			msg = msg + 'any Simple Type Enforcement types.  Please create '			msg = msg + 'some Simple Type Enforcement types or change the '			msg = msg + 'primary policy.'			formatXmlGenError( msg )def sendXmlHeaders( ):	# HTML headers	print 'Content-Type: text/xml'	print 'Content-Disposition: attachment; filename=security_policy.xml'	printdef sendPolicyXml( ):	print '<?xml version="1.0"?>'	print '<SecurityPolicyDefinition xmlns="http://www.ibm.com"'	print '                          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'	print '                          xsi:schemaLocation="http://www.ibm.com security_policy.xsd">'	# Policy header	sendPHeaderXml( )	# Policy (types)	sendPSteXml( )	sendPChWallXml( )	# Policy Labels (subjects and objects)	print '<SecurityLabelTemplate>'	sendPLSubXml( )	sendPLObjXml( )	print '</SecurityLabelTemplate>'	print '</SecurityPolicyDefinition>'def sendPHeaderXml( ):	global formPolicyName, formPolicyUrl, formPolicyRef, formPolicyDate, formPolicyNSUrl	# Policy header definition	print '<PolicyHeader>'	print '  <PolicyName>' + formPolicyName[1] + '</PolicyName>'	print '  <Version>1.0</Version>'	if len( formPolicyUrl[1] ) > 0:		print '  <PolicyUrl>' + formPolicyUrl[1] + '</PolicyUrl>'	if len( formPolicyRef[1] ) > 0:		print '  <Reference>' + formPolicyRef[1] + '</Reference>'	if len( formPolicyDate[1] ) > 0:		print '  <Date>' + formPolicyDate[1] + '</Date>'	if len( formPolicyNSUrl[1] ) > 0:		print '  <NameSpaceUrl>' + formPolicyNSUrl[1] + '</NameSpaceUrl>'	print '</PolicyHeader>'def sendPSteXml( ):	global formPolicyOrder, formSteTypes	# Simple Type Enforcement...	if len( formSteTypes[1] ) == 0:		return	if formPolicyOrder[1] == 'v_Ste':		print '<SimpleTypeEnforcement priority="PrimaryPolicyComponent">'	else:		print '<SimpleTypeEnforcement>'	print '  <SimpleTypeEnforcementTypes>'	for steType in formSteTypes[1]:		print '    <Type>' + steType + '</Type>'	print '  </SimpleTypeEnforcementTypes>'	print '</SimpleTypeEnforcement>'def sendPChWallXml( ):	global formPolicyOrder, formChWallTypes	global formCSNames, allCSMTypes	# Chinese Wall...	if len( formChWallTypes[1] ) == 0:		return	if formPolicyOrder[1] == 'v_ChWall':		print '<ChineseWall priority="PrimaryPolicyComponent">'	else:		print '<ChineseWall>'	print '  <ChineseWallTypes>'	for chWallType in formChWallTypes[1]:		print '    <Type>' + chWallType + '</Type>'	print '  </ChineseWallTypes>'	# Chinese Wall Conflict Sets (if any) ...	if len( formCSNames[1] ) > 0:		print '  <ConflictSets>'		for cs in formCSNames[1]:			formVar = allCSMTypes[cs]			if len( formVar[1] ) == 0:				continue			print '    <Conflict name="' + cs + '">'			for csm in formVar[1]:				print '      <Type>' + csm + '</Type>'			print '    </Conflict>'		print '  </ConflictSets>'	print '</ChineseWall>'def sendPLSubXml( ):	global formVmNames, allVmChWs, allVmStes	# Virtual machines...	if len( formVmNames[1] ) == 0:		return	print '  <SubjectLabels bootstrap="' + formVmNameDom0[1] + '">'	for vmName in formVmNames[1]:		print '    <VirtualMachineLabel>'		print '      <Name>' + vmName + '</Name>'		formVar = allVmStes[vmName]		if len( formVar[1] ) > 0:			print '      <SimpleTypeEnforcementTypes>'			for ste in formVar[1]:				print '      <Type>' + ste + '</Type>'			print '      </SimpleTypeEnforcementTypes>'		formVar = allVmChWs[vmName]		if len( formVar[1] ) > 0:			print '      <ChineseWallTypes>'			for chw in formVar[1]:				print '        <Type>' + chw + '</Type>'

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -