8000 Clean up 'chkselinuxenv' script. · postgres/postgres@a4b3fee · GitHub
[go: up one dir, main page]

Skip to content
{"payload":{"commit":{"oid":"a4b3feebc44dcb872fc7a765c4d48627c97421ed","url":"/postgres/postgres/commit/a4b3feebc44dcb872fc7a765c4d48627c97421ed","authoredDate":"2011-08-19T13:09:40.000-04:00","committedDate":"2011-08-19T13:09:40.000-04:00","shortMessage":null,"shortMessageMarkdown":"\u003cdiv\u003eClean up 'chkselinuxenv' script.\u003c/div\u003e","shortMessageMarkdownLink":null,"bodyMessageHtml":"Eliminate dependencies on \"which\", as we don't really need that to be\ninstalled for proper testing. Don't number the tests, as that increases\nthe footprint of every patch that wants to add or remove tests. Make\nthe test output more informative, so that it's a bit easier to see what\nwent right (or wrong). Spelling and grammar improvements.","authors":[{"login":"robertmhaas","displayName":"Robert Haas","avatarUrl":"https://avatars.githubusercontent.com/u/886678?v=4","path":"/robertmhaas","isGitHub":false}],"committerAttribution":false,"committer":{"login":"robertmhaas","displayName":"Robert Haas","avatarUrl":"https://avatars.githubusercontent.com/u/886678?v=4","path":"/robertmhaas","isGitHub":false},"parents":["10c378f2350a8321ea76fc02d821a9e7707c7563"],"globalRelayId":"MDY6Q29tbWl0OTI3NDQyOmE0YjNmZWViYzQ0ZGNiODcyZmM3YTc2NWM0ZDQ4NjI3Yzk3NDIxZWQ=","sha1":"10c378f2350a8321ea76fc02d821a9e7707c7563","sha2":"a4b3feebc44dcb872fc7a765c4d48627c97421ed"},"currentUser":null,"repo":{"id":927442,"defaultBranch":"master","name":"postgres","ownerLogin":"postgres","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2010-09-21T11:35:45.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/177543?v=4","public":true,"private":false,"isOrgOwned":true},"diffEntryData":[{"diffLines":[{"stylingDirective":null,"type":"HUNK","blobLineNumber":8,"text":"@@ -9,200 +9,153 @@ PG_DATADIR=\"$2\"","html":"@@ -9,200 +9,153 @@ PG_DATADIR=\u0026quot;$2\u0026quot;","displayNoNewLineWarning":false,"position":0,"left":8,"right":8},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":9,"text":" ","html":"\u003cbr\u003e","displayNoNewLineWarning":false,"position":1,"left":9,"right":9},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":10,"text":" echo","html":" \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":2,"left":10,"right":10},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":11,"text":" echo \"============== checking selinux environment ==============\"","html":" \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e============== checking selinux environment ==============\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":3,"left":11,"right":11},{"stylingDirective":null,"type":"DELETION","blobLineNumber":12,"text":"-#","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":4,"left":12,"right":11},{"stylingDirective":null,"type":"DELETION","blobLineNumber":13,"text":"-# Test.0 - necessary commands for environment checks","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Test.0 - necessary commands for environment checks\u003c/span\u003e","displayNoNewLineWarning":false,"position":5,"left":13,"right":11},{"stylingDirective":null,"type":"DELETION","blobLineNumber":14,"text":"-#","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":6,"left":14,"right":11},{"stylingDirective":null,"type":"DELETION","blobLineNumber":15,"text":"-echo -n \"test installed commands ... \"","html":"-\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e -n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003etest installed commands ... \u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":7,"left":15,"right":11},{"stylingDirective":null,"type":"DELETION","blobLineNumber":16,"text":"-if ! which --help \u003e\u0026/dev/null; then","html":"-\u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e!\u003c/span\u003e which --help \u003cspan class=\"pl-k\"\u003e\u0026gt;\u0026amp;\u003c/span\u003e/dev/null\u003cspan class=\"pl-k\"\u003e;\u003c/span\u003e \u003cspan class=\"pl-k\"\u003ethen\u003c/span\u003e","displayNoNewLineWarning":false,"position":8,"left":16,"right":11},{"stylingDirective":null,"type":"DELETION","blobLineNumber":17,"text":"- echo \"failed\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003efailed\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":9,"left":17,"right":11},{"stylingDirective":null,"type":"DELETION","blobLineNumber":18,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":10,"left":18,"right":11},{"stylingDirective":null,"type":"DELETION","blobLineNumber":19,"text":"- echo \"'which' command was not found, executable or installed.\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u0026#39;which\u0026#39; command was not found, executable or installed.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":11,"left":19,"right":11},{"stylingDirective":null,"type":"DELETION","blobLineNumber":20,"text":"- echo \"Please make sure your PATH, or install this command at first.\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003ePlease make sure your PATH, or install this command at first.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":12,"left":20,"right":11},{"stylingDirective":null,"type":"DELETION","blobLineNumber":21,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":13,"left":21,"right":11},{"stylingDirective":null,"type":"DELETION","blobLineNumber":22,"text":"- echo \"If yum is available on your system, it will suggest packages\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eIf yum is available on your system, it will suggest packages\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":14,"left":22,"right":11},{"stylingDirective":null,"type":"DELETION","blobLineNumber":23,"text":"- echo \"to be installed:\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eto be installed:\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":15,"left":23,"right":11},{"stylingDirective":null,"type":"DELETION","blobLineNumber":24,"text":"- echo \" # yum provides which\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e # yum provides which\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":16,"left":24,"right":11},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":12,"text":"+","html":"+","displayNoNewLineWarning":false,"position":17,"left":24,"right":12},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":13,"text":"+# matchpathcon must be present to assess whether the installation environment","html":"+\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e matchpathcon must be present to assess whether the installation environment\u003c/span\u003e","displayNoNewLineWarning":false,"position":18,"left":24,"right":13},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":14,"text":"+# is OK.","html":"+\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e is OK.\u003c/span\u003e","displayNoNewLineWarning":false,"position":19,"left":24,"right":14},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":15,"text":"+echo -n \"checking for matchpathcon ... \"","html":"+\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e -n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003echecking for matchpathcon ... \u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":20,"left":24,"right":15},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":16,"text":"+if ! matchpathcon -n . \u003e/dev/null 2\u003e\u00261; then","html":"+\u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e!\u003c/span\u003e matchpathcon -n \u003cspan class=\"pl-c1\"\u003e.\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e/dev/null \u003cspan class=\"pl-k\"\u003e2\u0026gt;\u0026amp;1\u003c/span\u003e\u003cspan class=\"pl-k\"\u003e;\u003c/span\u003e \u003cspan class=\"pl-k\"\u003ethen\u003c/span\u003e","displayNoNewLineWarning":false,"position":21,"left":24,"right":16},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":17,"text":"+ echo \"not found\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003enot found\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":22,"left":24,"right":17},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":18,"text":"+ echo \"\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":23,"left":24,"right":18},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":19,"text":"+ echo \"matchpathcon not found; please install it or update your PATH.\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003ematchpathcon not found; please install it or update your PATH.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":24,"left":24,"right":19},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":20,"text":" exit 1","html":" \u003cspan class=\"pl-c1\"\u003eexit\u003c/span\u003e 1","displayNoNewLineWarning":false,"position":25,"left":25,"right":20},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":21,"text":" fi","html":" \u003cspan class=\"pl-k\"\u003efi\u003c/span\u003e","displayNoNewLineWarning":false,"position":26,"left":26,"right":21},{"stylingDirective":null,"type":"DELETION","blobLineNumber":27,"text":"-if ! matchpathcon -n / \u003e\u0026/dev/null; then","html":"-\u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e!\u003c/span\u003e matchpathcon -n / \u003cspan class=\"pl-k\"\u003e\u0026gt;\u0026amp;\u003c/span\u003e/dev/null\u003cspan class=\"pl-k\"\u003e;\u003c/span\u003e \u003cspan class=\"pl-k\"\u003ethen\u003c/span\u003e","displayNoNewLineWarning":false,"position":27,"left":27,"right":21},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":22,"text":"+echo \"ok\"","html":"+\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eok\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":28,"left":27,"right":22},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":23,"text":"+","html":"+","displayNoNewLineWarning":false,"position":29,"left":27,"right":23},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":24,"text":"+# runcon must be present to launch psql using the correct environment","html":"+\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e runcon must be present to launch psql using the correct environment\u003c/span\u003e","displayNoNewLineWarning":false,"position":30,"left":27,"right":24},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":25,"text":"+echo -n \"checking for runcon ... \"","html":"+\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e -n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003echecking for runcon ... \u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":31,"left":27,"right":25},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":26,"text":"+if ! runcon --help \u003e/dev/null 2\u003e\u00261; then","html":"+\u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e!\u003c/span\u003e runcon --help \u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e/dev/null \u003cspan class=\"pl-k\"\u003e2\u0026gt;\u0026amp;1\u003c/span\u003e\u003cspan class=\"pl-k\"\u003e;\u003c/span\u003e \u003cspan class=\"pl-k\"\u003ethen\u003c/span\u003e","displayNoNewLineWarning":false,"position":32,"left":27,"right":26},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":27,"text":" echo \"failed\"","html":" \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003efailed\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":33,"left":28,"right":27},{"stylingDirective":null,"type":"DELETION","blobLineNumber":29,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":34,"left":29,"right":27},{"stylingDirective":null,"type":"DELETION","blobLineNumber":30,"text":"- echo \"'matchpathcon' command was not found, executable or installed.\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u0026#39;matchpathcon\u0026#39; command was not found, executable or installed.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":35,"left":30,"right":27},{"stylingDirective":null,"type":"DELETION","blobLineNumber":31,"text":"- echo \"Please make sure your PATH, or install this command at first.\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003ePlease make sure your PATH, or install this command at first.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":36,"left":31,"right":27},{"stylingDirective":null,"type":"DELETION","blobLineNumber":32,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":37,"left":32,"right":27},{"stylingDirective":null,"type":"DELETION","blobLineNumber":33,"text":"- echo \"If yum is available on your system, it will suggest packages\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eIf yum is available on your system, it will suggest packages\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":38,"left":33,"right":27},{"stylingDirective":null,"type":"DELETION","blobLineNumber":34,"text":"- echo \"to be installed:\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eto be installed:\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":39,"left":34,"right":27},{"stylingDirective":null,"type":"DELETION","blobLineNumber":35,"text":"- echo \" # yum provides which\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e # yum provides which\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":40,"left":35,"right":27},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":28,"text":"+ echo \"\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":41,"left":35,"right":28},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":29,"text":"+ echo \"The runcon command must exist and be executable; it is used to\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eThe runcon command must exist and be executable; it is used to\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":42,"left":35,"right":29},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":30,"text":"+ echo \"launch psql command with a particular domain. It is typically\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003elaunch psql command with a particular domain. It is typically\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":43,"left":35,"right":30},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":31,"text":"+\techo \"included within the coreutils package.\"","html":"+\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eincluded within the coreutils package.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":44,"left":35,"right":31},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":32,"text":"+ echo \"\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":45,"left":35,"right":32},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":33,"text":" exit 1","html":" \u003cspan class=\"pl-c1\"\u003eexit\u003c/span\u003e 1","displayNoNewLineWarning":false,"position":46,"left":36,"right":33},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":34,"text":" fi","html":" \u003cspan class=\"pl-k\"\u003efi\u003c/span\u003e","displayNoNewLineWarning":false,"position":47,"left":37,"right":34},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":35,"text":" echo \"ok\"","html":" \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eok\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":48,"left":38,"right":35},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":36,"text":" ","html":"\u003cbr\u003e","displayNoNewLineWarning":false,"position":49,"left":39,"right":36},{"stylingDirective":null,"type":"DELETION","blobLineNumber":40,"text":"-#","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":50,"left":40,"right":36},{"stylingDirective":null,"type":"DELETION","blobLineNumber":41,"text":"-# Test.1 - must be launched at unconfined_t domain","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Test.1 - must be launched at unconfined_t domain\u003c/span\u003e","displayNoNewLineWarning":false,"position":51,"left":41,"right":36},{"stylingDirective":null,"type":"DELETION","blobLineNumber":42,"text":"-#","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":52,"left":42,"right":36},{"stylingDirective":null,"type":"DELETION","blobLineNumber":43,"text":"-echo -n \"test unconfined_t domain ... \"","html":"-\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e -n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003etest unconfined_t domain ... \u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":53,"left":43,"right":36},{"stylingDirective":null,"type":"DELETION","blobLineNumber":44,"text":"-","html":"-","displayNoNewLineWarning":false,"position":54,"left":44,"right":36},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":37,"text":"+# check that the user is running in the unconfined_t domain","html":"+\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e check that the user is running in the unconfined_t domain\u003c/span\u003e","displayNoNewLineWarning":false,"position":55,"left":44,"right":37},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":38,"text":"+echo -n \"checking current user domain ... \"","html":"+\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e -n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003echecking current user domain ... \u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":56,"left":44,"right":38},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":39,"text":" DOMAIN=`id -Z 2\u003e/dev/null | sed 's/:/ /g' | awk '{print $3}'`","html":" DOMAIN=\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003eid -Z \u003cspan class=\"pl-k\"\u003e2\u0026gt;\u003c/span\u003e/dev/null \u003cspan class=\"pl-k\"\u003e|\u003c/span\u003e sed \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003es/:/ /g\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e|\u003c/span\u003e awk \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e{print $3}\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":57,"left":45,"right":39},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":40,"text":"+echo ${DOMAIN:-failed}","html":"+\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-smi\"\u003e${DOMAIN\u003cspan class=\"pl-k\"\u003e:-\u003c/span\u003efailed}\u003c/span\u003e","displayNoNewLineWarning":false,"position":58,"left":45,"right":40},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":41,"text":" if [ \"${DOMAIN}\" != \"unconfined_t\" ]; then","html":" \u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e [ \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${DOMAIN}\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e!=\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eunconfined_t\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e ]\u003cspan class=\"pl-k\"\u003e;\u003c/span\u003e \u003cspan class=\"pl-k\"\u003ethen\u003c/span\u003e","displayNoNewLineWarning":false,"position":59,"left":46,"right":41},{"stylingDirective":null,"type":"DELETION","blobLineNumber":47,"text":"- echo \"failed\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003efailed\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":60,"left":47,"right":41},{"stylingDirective":null,"type":"DELETION","blobLineNumber":48,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":61,"left":48,"right":41},{"stylingDirective":null,"type":"DELETION","blobLineNumber":49,"text":"- echo \"This regression test needs to be launched on unconfined_t domain.\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eThis regression test needs to be launched on unconfined_t domain.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":62,"left":49,"right":41},{"stylingDirective":null,"type":"DELETION","blobLineNumber":50,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":63,"left":50,"right":41},{"stylingDirective":null,"type":"DELETION","blobLineNumber":51,"text":"- echo \"The unconfined_t domain is mostly default domain of users' shell\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eThe unconfined_t domain is mostly default domain of users\u0026#39; shell\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":64,"left":51,"right":41},{"stylingDirective":null,"type":"DELETION","blobLineNumber":52,"text":"- echo \"process. So, we suggest you to revert your special configuration\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eprocess. So, we suggest you to revert your special configuration\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":65,"left":52,"right":41},{"stylingDirective":null,"type":"DELETION","blobLineNumber":53,"text":"- echo \"on your system, as follows:\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eon your system, as follows:\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":66,"left":53,"right":41},{"stylingDirective":null,"type":"DELETION","blobLineNumber":54,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":67,"left":54,"right":41},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":42,"text":"+ echo \"\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":68,"left":54,"right":42},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":43,"text":"+ echo \"This regression test must be launched from the unconfined_t domain.\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eThis regression test must be launched from the unconfined_t domain.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":69,"left":54,"right":43},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":44,"text":"+ echo \"\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":70,"left":54,"right":44},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":45,"text":"+ echo \"The unconfined_t domain is typically the default domain for user\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eThe unconfined_t domain is typically the default domain for user\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":71,"left":54,"right":45},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":46,"text":"+ echo \"shell processes. If the default has been changed on your system,\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eshell processes. If the default has been changed on your system,\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":72,"left":54,"right":46},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":47,"text":"+\techo \"you can revert the changes like this:\"","html":"+\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eyou can revert the changes like this:\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":73,"left":54,"right":47},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":48,"text":"+ echo \"\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":74,"left":54,"right":48},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":49,"text":" echo \" \\$ su -\"","html":" \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-cce\"\u003e\\$\u003c/span\u003e su -\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":75,"left":55,"right":49},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":50,"text":" echo \" # semanage login -d `whoami`\"","html":" \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e # semanage login -d \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003ewhoami\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":76,"left":56,"right":50},{"stylingDirective":null,"type":"DELETION","blobLineNumber":57,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":77,"left":57,"right":50},{"stylingDirective":null,"type":"DELETION","blobLineNumber":58,"text":"- echo \"Or, add a setting to login as unconfined_t domain\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eOr, add a setting to \u003cspan class=\"x x-first x-last\"\u003elogin as \u003c/span\u003eunconfined_t domain\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":78,"left":58,"right":50},{"stylingDirective":null,"type":"DELETION","blobLineNumber":59,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":79,"left":59,"right":50},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":51,"text":"+ echo \"\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e\u003cspan class=\"x x-first\"\u003e \u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds x\"\u003e\"\u003c/span\u003e\u003cspan class=\"pl-pds x x-last\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":80,"left":59,"right":51},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":52,"text":"+ echo \"Or, you can add a setting to log in using the unconfined_t domain:\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eOr, \u003cspan class=\"x x-first x-last\"\u003eyou can \u003c/span\u003eadd a setting to \u003cspan class=\"x x-first x-last\"\u003elog in using the \u003c/span\u003eunconfined_t domain\u003cspan class=\"x x-first x-last\"\u003e:\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":81,"left":59,"right":52},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":53,"text":"+ echo \"\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e\u003cspan class=\"x x-first\"\u003e \u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds x\"\u003e\"\u003c/span\u003e\u003cspan class=\"pl-pds x x-last\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":82,"left":59,"right":53},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":54,"text":" echo \" \\$ su -\"","html":" \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-cce\"\u003e\\$\u003c/span\u003e su -\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":83,"left":60,"right":54},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":55,"text":" echo \" # semanage login -a -s unconfined_u -r s0-s0:c0.c255 `whoami`\"","html":" \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e # semanage login -a -s unconfined_u -r s0-s0:c0.c255 \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003ewhoami\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":84,"left":61,"right":55},{"stylingDirective":null,"type":"DELETION","blobLineNumber":62,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":85,"left":62,"right":55},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":56,"text":"+ echo \"\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e\u003cspan class=\"x x-first\"\u003e \u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds x\"\u003e\"\u003c/span\u003e\u003cspan class=\"pl-pds x x-last\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":86,"left":62,"right":56},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":57,"text":" exit 1","html":" \u003cspan class=\"pl-c1\"\u003eexit\u003c/span\u003e 1","displayNoNewLineWarning":false,"position":87,"left":63,"right":57},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":58,"text":" fi","html":" \u003cspan class=\"pl-k\"\u003efi\u003c/span\u003e","displayNoNewLineWarning":false,"position":88,"left":64,"right":58},{"stylingDirective":null,"type":"DELETION","blobLineNumber":65,"text":"-echo \"ok\"","html":"-\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eok\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":89,"left":65,"right":58},{"stylingDirective":null,"type":"DELETION","blobLineNumber":66,"text":"-","html":"-","displayNoNewLineWarning":false,"position":90,"left":66,"right":58},{"stylingDirective":null,"type":"DELETION","blobLineNumber":67,"text":"-#","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":91,"left":67,"right":58},{"stylingDirective":null,"type":"DELETION","blobLineNumber":68,"text":"-# Test.2 - 'runcon' must exist and be executable","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Test.2 - \u0026#39;runcon\u0026#39; must exist and be executable\u003c/span\u003e","displayNoNewLineWarning":false,"position":92,"left":68,"right":58},{"stylingDirective":null,"type":"DELETION","blobLineNumber":69,"text":"-#","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":93,"left":69,"right":58},{"stylingDirective":null,"type":"DELETION","blobLineNumber":70,"text":"-echo -n \"test runcon command ... \"","html":"-\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e -n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003etest runcon command ... \u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":94,"left":70,"right":58},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":59,"text":" ","html":"\u003cbr\u003e","displayNoNewLineWarning":false,"position":95,"left":71,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":72,"text":"-CMD_RUNCON=\"`which runcon 2\u003e/dev/null`\"","html":"-CMD_RUNCON=\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003ewhich runcon \u003cspan class=\"pl-k\"\u003e2\u0026gt;\u003c/span\u003e/dev/null\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":96,"left":72,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":73,"text":"-if [ ! -x \"${CMD_RUNCON}\" ]; then","html":"-\u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e [ \u003cspan class=\"pl-k\"\u003e!\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e-x\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${CMD_RUNCON}\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e ]\u003cspan class=\"pl-k\"\u003e;\u003c/span\u003e \u003cspan class=\"pl-k\"\u003ethen\u003c/span\u003e","displayNoNewLineWarning":false,"position":97,"left":73,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":74,"text":"- echo \"failed\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003efailed\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":98,"left":74,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":75,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":99,"left":75,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":76,"text":"- echo \"The runcon must exist and be executable; it is internally used to\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eThe runcon must exist and be executable; it is internally used to\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":100,"left":76,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":77,"text":"- echo \"launch psql command with a particular domain. It is mostly included\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003elaunch psql command with a particular domain. It is mostly included\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":101,"left":77,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":78,"text":"- echo \"within coreutils package. So, our suggestion is to install the latest\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003ewithin coreutils package. So, our suggestion is to install the latest\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":102,"left":78,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":79,"text":"- echo \"version of this package.\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eversion of this package.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":103,"left":79,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":80,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":104,"left":80,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":81,"text":"- exit 1","html":"- \u003cspan class=\"pl-c1\"\u003eexit\u003c/span\u003e 1","displayNoNewLineWarning":false,"position":105,"left":81,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":82,"text":"-fi","html":"-\u003cspan class=\"pl-k\"\u003efi\u003c/span\u003e","displayNoNewLineWarning":false,"position":106,"left":82,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":83,"text":"-echo \"ok\"","html":"-\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eok\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":107,"left":83,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":84,"text":"-","html":"-","displayNoNewLineWarning":false,"position":108,"left":84,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":85,"text":"-#","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":109,"left":85,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":86,"text":"-# Test.3 - 'sestatus' must exist and be executable","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Test.3 - \u0026#39;sestatus\u0026#39; must exist and be executable\u003c/span\u003e","displayNoNewLineWarning":false,"position":110,"left":86,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":87,"text":"-#","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":111,"left":87,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":88,"text":"-echo -n \"test sestatus command ... \"","html":"-\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e -n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003etest sestatus command ... \u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":112,"left":88,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":89,"text":"-","html":"-","displayNoNewLineWarning":false,"position":113,"left":89,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":90,"text":"-CMD_SESTATUS=\"`which sestatus 2\u003e/dev/null`\"","html":"-CMD_SESTATUS=\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003ewhich sestatus \u003cspan class=\"pl-k\"\u003e2\u0026gt;\u003c/span\u003e/dev/null\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":114,"left":90,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":91,"text":"-if [ ! -x \"${CMD_SESTATUS}\" ]; then","html":"-\u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e [ \u003cspan class=\"pl-k\"\u003e!\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e-x\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${CMD_SESTATUS}\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e ]\u003cspan class=\"pl-k\"\u003e;\u003c/span\u003e \u003cspan class=\"pl-k\"\u003ethen\u003c/span\u003e","displayNoNewLineWarning":false,"position":115,"left":91,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":92,"text":"- echo \"failed\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003efailed\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":116,"left":92,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":93,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":117,"left":93,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":94,"text":"- echo \"The sestatus should exist and be executable; it is internally used to\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eThe sestatus should exist and be executable; it is internally used to\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":118,"left":94,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":95,"text":"- echo \"this checks; to show configuration of SELinux. It is mostly included\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003ethis checks; to show configuration of SELinux. It is mostly included\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":119,"left":95,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":96,"text":"- echo \"within policycoreutils package. So, our suggestion is to install the\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003ewithin policycoreutils package. So, our suggestion is to install the\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":120,"left":96,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":97,"text":"- echo \"latest version of this package.\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003elatest version of this package.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":121,"left":97,"right":59},{"stylingDirective":null,"type":"DELETION","blobLineNumber":98,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":122,"left":98,"right":59},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":60,"text":"+# SELinux must be configured to enforcing mode","html":"+\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e SELinux must be configured to enforcing mode\u003c/span\u003e","displayNoNewLineWarning":false,"position":123,"left":98,"right":60},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":61,"text":"+echo -n \"checking selinux operating mode ... \"","html":"+\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e -n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003echecking selinux operating mode ... \u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":124,"left":98,"right":61},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":62,"text":"+CURRENT_MODE=`env LANG=C sestatus | grep 'Current mode:' | awk '{print $3}'`","html":"+CURRENT_MODE=\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003eenv LANG=C sestatus \u003cspan class=\"pl-k\"\u003e|\u003c/span\u003e grep \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003eCurrent mode:\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e|\u003c/span\u003e awk \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e{print $3}\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":125,"left":98,"right":62},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":63,"text":"+echo ${CURRENT_MODE:-failed}","html":"+\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-smi\"\u003e${CURRENT_MODE\u003cspan class=\"pl-k\"\u003e:-\u003c/span\u003efailed}\u003c/span\u003e","displayNoNewLineWarning":false,"position":126,"left":98,"right":63},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":64,"text":"+if [ \"${CURRENT_MODE}\" != enforcing ]; then","html":"+\u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e [ \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${CURRENT_MODE}\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e!=\u003c/span\u003e enforcing ]\u003cspan class=\"pl-k\"\u003e;\u003c/span\u003e \u003cspan class=\"pl-k\"\u003ethen\u003c/span\u003e","displayNoNewLineWarning":false,"position":127,"left":98,"right":64},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":65,"text":"+\tif [ \"${CURRENT_MODE}\" = permissive -o \"${CURRENT_MODE}\" = disabled ]; then","html":"+\t\u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e [ \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${CURRENT_MODE}\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e=\u003c/span\u003e permissive \u003cspan class=\"pl-k\"\u003e-o\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${CURRENT_MODE}\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e=\u003c/span\u003e disabled ]\u003cspan class=\"pl-k\"\u003e;\u003c/span\u003e \u003cspan class=\"pl-k\"\u003ethen\u003c/span\u003e","displayNoNewLineWarning":false,"position":128,"left":98,"right":65},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":66,"text":"+\t echo \"\"","html":"+\t \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":129,"left":98,"right":66},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":67,"text":"+\t echo \"Before running the regression tests, SELinux must be enabled and\"","html":"+\t \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eBefore running the regression tests, SELinux must be enabled and\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":130,"left":98,"right":67},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":68,"text":"+\t\techo \"must be running in enforcing mode.\"","html":"+\t\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003emust be running in enforcing mode.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":131,"left":98,"right":68},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":69,"text":"+\t\techo \"\"","html":"+\t\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":132,"left":98,"right":69},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":70,"text":"+\t\techo \"If SELinux is currently running in permissive mode, you can\"","html":"+\t\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eIf SELinux is currently running in permissive mode, you can\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":133,"left":98,"right":70},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":71,"text":"+\t\techo \"switch to enforcing command using the 'setenforce' command.\"","html":"+\t\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eswitch to enforcing command using the \u0026#39;setenforce\u0026#39; command.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":134,"left":98,"right":71},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":72,"text":"+\t echo","html":"+\t \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":135,"left":98,"right":72},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":73,"text":"+\t echo \" \\$ su -\"","html":"+\t \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-cce\"\u003e\\$\u003c/span\u003e su -\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":136,"left":98,"right":73},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":74,"text":"+\t echo \" # setenforce 1\"","html":"+\t \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e # setenforce 1\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":137,"left":98,"right":74},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":75,"text":"+\t echo \"\"","html":"+\t \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":138,"left":98,"right":75},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":76,"text":"+\t echo \"The system default setting is configured in /etc/selinux/config,\"","html":"+\t \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eThe system default setting is configured in /etc/selinux/config,\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":139,"left":98,"right":76},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":77,"text":"+\t echo \"or using a kernel bool parameter.\"","html":"+\t \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eor using a kernel bool parameter.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":140,"left":98,"right":77},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":78,"text":"+\t echo \"\"","html":"+\t \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":141,"left":98,"right":78},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":79,"text":"+\telse","html":"+\t\u003cspan class=\"pl-k\"\u003eelse\u003c/span\u003e","displayNoNewLineWarning":false,"position":142,"left":98,"right":79},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":80,"text":"+\t\techo \"\"","html":"+\t\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":143,"left":98,"right":80},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":81,"text":"+\t\techo \"Unable to determine the current selinux operating mode. Please\"","html":"+\t\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eUnable to determine the current selinux operating mode. Please\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":144,"left":98,"right":81},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":82,"text":"+\t\techo \"verify that the sestatus command is installed and in your PATH.\"","html":"+\t\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003everify that the sestatus command is installed and in your PATH.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":145,"left":98,"right":82},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":83,"text":"+\t echo \"\"","html":"+\t \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":146,"left":98,"right":83},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":84,"text":"+\tfi","html":"+\t\u003cspan class=\"pl-k\"\u003efi\u003c/span\u003e","displayNoNewLineWarning":false,"position":147,"left":98,"right":84},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":85,"text":" exit 1","html":" \u003cspan class=\"pl-c1\"\u003eexit\u003c/span\u003e 1","displayNoNewLineWarning":false,"position":148,"left":99,"right":85},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":86,"text":" fi","html":" \u003cspan class=\"pl-k\"\u003efi\u003c/span\u003e","displayNoNewLineWarning":false,"position":149,"left":100,"right":86},{"stylingDirective":null,"type":"DELETION","blobLineNumber":101,"text":"-echo \"ok\"","html":"-\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eok\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":150,"left":101,"right":86},{"stylingDirective":null,"type":"DELETION","blobLineNumber":102,"text":"-","html":"-","displayNoNewLineWarning":false,"position":151,"left":102,"right":86},{"stylingDirective":null,"type":"DELETION","blobLineNumber":103,"text":"-#","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":152,"left":103,"right":86},{"stylingDirective":null,"type":"DELETION","blobLineNumber":104,"text":"-# Test.4 - 'getsebool' must exist and be executable","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Test.4 - \u0026#39;getsebool\u0026#39; must exist and be executable\u003c/span\u003e","displayNoNewLineWarning":false,"position":153,"left":104,"right":86},{"stylingDirective":null,"type":"DELETION","blobLineNumber":105,"text":"-#","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":154,"left":105,"right":86},{"stylingDirective":null,"type":"DELETION","blobLineNumber":106,"text":"-echo -n \"test getsebool command ... \"","html":"-\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e -n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003etest getsebool command ... \u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":155,"left":106,"right":86},{"stylingDirective":null,"type":"DELETION","blobLineNumber":107,"text":"-","html":"-","displayNoNewLineWarning":false,"position":156,"left":107,"right":86},{"stylingDirective":null,"type":"DELETION","blobLineNumber":108,"text":"-CMD_GETSEBOOL=\"`which getsebool`\"","html":"-CMD_GETSEBOOL=\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003ewhich getsebool\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":157,"left":108,"right":86},{"stylingDirective":null,"type":"DELETION","blobLineNumber":109,"text":"-if [ ! -x \"${CMD_GETSEBOOL}\" ]; then","html":"-\u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e [ \u003cspan class=\"pl-k\"\u003e!\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e-x\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${CMD_GETSEBOOL}\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e ]\u003cspan class=\"pl-k\"\u003e;\u003c/span\u003e \u003cspan class=\"pl-k\"\u003ethen\u003c/span\u003e","displayNoNewLineWarning":false,"position":158,"left":109,"right":86},{"stylingDirective":null,"type":"DELETION","blobLineNumber":110,"text":"- echo \"failed\"","html":"- \ 10000 u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003efailed\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":159,"left":110,"right":86},{"stylingDirective":null,"type":"DELETION","blobLineNumber":111,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":160,"left":111,"right":86},{"stylingDirective":null,"type":"DELETION","blobLineNumber":112,"text":"- echo \"The getsebool should exist and be executable; it is internally used to\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eThe getsebool should exist and be executable; it is internally used to\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":161,"left":112,"right":86},{"stylingDirective":null,"type":"DELETION","blobLineNumber":113,"text":"- echo \"this checks; to show current setting of SELinux boolean variables.\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003ethis checks; to show current setting of SELinux boolean variables.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":162,"left":113,"right":86},{"stylingDirective":null,"type":"DELETION","blobLineNumber":114,"text":"- echo \"It is mostly included within libselinux-utils package. So, our suggestion\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eIt is mostly included within libselinux-utils package. So, our suggestion\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":163,"left":114,"right":86},{"stylingDirective":null,"type":"DELETION","blobLineNumber":115,"text":"- echo \"is to install the latest version of this package.\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eis to install the latest version of this package.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":164,"left":115,"right":86},{"stylingDirective":null,"type":"DELETION","blobLineNumber":116,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":165,"left":116,"right":86},{"stylingDirective":null,"type":"DELETION","blobLineNumber":117,"text":"- exit 1","html":"- \u003cspan class=\"pl-c1\"\u003eexit\u003c/span\u003e 1","displayNoNewLineWarning":false,"position":166,"left":117,"right":86},{"stylingDirective":null,"type":"DELETION","blobLineNumber":118,"text":"-fi","html":"-\u003cspan class=\"pl-k\"\u003efi\u003c/span\u003e","displayNoNewLineWarning":false,"position":167,"left":118,"right":86},{"stylingDirective":null,"type":"DELETION","blobLineNumber":119,"text":"-echo \"ok\"","html":"-\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eok\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":168,"left":119,"right":86},{"stylingDirective":null,"type":"DELETION","blobLineNumber":120,"text":"-","html":"-","displayNoNewLineWarning":false,"position":169,"left":120,"right":86},{"stylingDirective":null,"type":"DELETION","blobLineNumber":121,"text":"-#","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":170,"left":121,"right":86},{"stylingDirective":null,"type":"DELETION","blobLineNumber":122,"text":"-# Test.5 - SELinux must be configured to enforcing mode","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Test.5 - SELinux must be configured to enforcing mode\u003c/span\u003e","displayNoNewLineWarning":false,"position":171,"left":122,"right":86},{"stylingDirective":null,"type":"DELETION","blobLineNumber":123,"text":"-#","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":172,"left":123,"right":86},{"stylingDirective":null,"type":"DELETION","blobLineNumber":124,"text":"-echo -n \"test enforcing mode ... \"","html":"-\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e -n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003etest enforcing mode ... \u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":173,"left":124,"right":86},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":87,"text":" ","html":"\u003cbr\u003e","displayNoNewLineWarning":false,"position":174,"left":125,"right":87},{"stylingDirective":null,"type":"DELETION","blobLineNumber":126,"text":"-CURRENT_MODE=`env LANG=C ${CMD_SESTATUS} | grep 'Current mode:' | awk '{print $3}'`","html":"-CURRENT_MODE=\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003eenv LANG=C \u003cspan class=\"pl-smi\"\u003e${CMD_SESTATUS}\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e|\u003c/span\u003e grep \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003eCurrent mode:\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e|\u003c/span\u003e awk \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e{print $3}\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":175,"left":126,"right":87},{"stylingDirective":null,"type":"DELETION","blobLineNumber":127,"text":"-if [ \"${CURRENT_MODE}\" != \"enforcing\" ]; then","html":"-\u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e [ \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${CURRENT_MODE}\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e!=\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eenforcing\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e ]\u003cspan class=\"pl-k\"\u003e;\u003c/span\u003e \u003cspan class=\"pl-k\"\u003ethen\u003c/span\u003e","displayNoNewLineWarning":false,"position":176,"left":127,"right":87},{"stylingDirective":null,"type":"DELETION","blobLineNumber":128,"text":"- echo \"failed\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003efailed\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":177,"left":128,"right":87},{"stylingDirective":null,"type":"DELETION","blobLineNumber":129,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":178,"left":129,"right":87},{"stylingDirective":null,"type":"DELETION","blobLineNumber":130,"text":"- echo \"SELinux must be configured to 'enforcing' mode.\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eSELinux must be configured to \u0026#39;enforcing\u0026#39; mode.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":179,"left":130,"right":87},{"stylingDirective":null,"type":"DELETION","blobLineNumber":131,"text":"- echo \"You can switch SELinux to enforcing mode using setenforce command,\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eYou can switch SELinux to enforcing mode using setenforce command,\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":180,"left":131,"right":87},{"stylingDirective":null,"type":"DELETION","blobLineNumber":132,"text":"- echo \"as follows:\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eas follows:\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":181,"left":132,"right":87},{"stylingDirective":null,"type":"DELETION","blobLineNumber":133,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":182,"left":133,"right":87},{"stylingDirective":null,"type":"DELETION","blobLineNumber":134,"text":"- echo \" \\$ su -\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-cce\"\u003e\\$\u003c/span\u003e su -\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":183,"left":134,"right":87},{"stylingDirective":null,"type":"DELETION","blobLineNumber":135,"text":"- echo \" # setenforce 1\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e # setenforce 1\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":184,"left":135,"right":87},{"stylingDirective":null,"type":"DELETION","blobLineNumber":136,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":185,"left":136,"right":87},{"stylingDirective":null,"type":"DELETION","blobLineNumber":137,"text":"- echo \"The system default setting is configured at /etc/selinux/config,\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eThe system default setting is configured at /etc/selinux/config,\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":186,"left":137,"right":87},{"stylingDirective":null,"type":"DELETION","blobLineNumber":138,"text":"- echo \"or kernel bool parameter. Please also check it, if you see this\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eor kernel bool parameter. Please also check it, if you see this\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":187,"left":138,"right":87},{"stylingDirective":null,"type":"DELETION","blobLineNumber":139,"text":"- echo \"message although you didn't switch to permissive mode.\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003emessage although you didn\u0026#39;t switch to permissive mode.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":188,"left":139,"right":87},{"stylingDirective":null,"type":"DELETION","blobLineNumber":140,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":189,"left":140,"right":87},{"stylingDirective":null,"type":"DELETION","blobLineNumber":141,"text":"- exit 1","html":"- \u003cspan class=\"pl-c1\"\u003eexit\u003c/span\u003e 1","displayNoNewLineWarning":false,"position":190,"left":141,"right":87},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":88,"text":"+# 'sepgsql-regtest' policy module must be loaded","html":"+\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e \u0026#39;sepgsql-regtest\u0026#39; policy module must be loaded\u003c/span\u003e","displayNoNewLineWarning":false,"position":191,"left":141,"right":88},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":89,"text":"+echo -n \"checking for sepgsql-regtest policy ... \"","html":"+\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e -n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003echecking for sepgsql-regtest policy ... \u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":192,"left":141,"right":89},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":90,"text":"+SELINUX_MNT=`env LANG=C sestatus 2\u003e/dev/null | grep '^SELinuxfs mount:' | awk '{print $3}'`","html":"+SELINUX_MNT=\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003eenv LANG=C sestatus \u003cspan class=\"pl-k\"\u003e2\u0026gt;\u003c/span\u003e/dev/null \u003cspan class=\"pl-k\"\u003e|\u003c/span\u003e grep \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e^SELinuxfs mount:\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e|\u003c/span\u003e awk \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e{print $3}\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":193,"left":141,"right":90},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":91,"text":"+if [ \"$SELINUX_MNT\" = \"\" ]; then","html":"+\u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e [ \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e$SELINUX_MNT\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e=\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e ]\u003cspan class=\"pl-k\"\u003e;\u003c/span\u003e \u003cspan class=\"pl-k\"\u003ethen\u003c/span\u003e","displayNoNewLineWarning":false,"position":194,"left":141,"right":91},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":92,"text":"+\techo \"failed\"","html":"+\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003efailed\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":195,"left":141,"right":92},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":93,"text":"+\techo \"\"","html":"+\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":196,"left":141,"right":93},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":94,"text":"+\techo \"Unable to find SELinuxfs mount point.\"","html":"+\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eUnable to find SELinuxfs mount point.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":197,"left":141,"right":94},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":95,"text":"+\techo \"\"","html":"+\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":198,"left":141,"right":95},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":96,"text":"+\techo \"The sestatus command should report the location where SELinuxfs\"","html":"+\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eThe sestatus command should report the location where SELinuxfs\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":199,"left":141,"right":96},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":97,"text":"+\techo \"is mounted, but did not do so.\"","html":"+\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eis mounted, but did not do so.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":200,"left":141,"right":97},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":98,"text":"+\techo \"\"","html":"+\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":201,"left":141,"right":98},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":99,"text":"+\texit 1","html":"+\t\u003cspan class=\"pl-c1\"\u003eexit\u003c/span\u003e 1","displayNoNewLineWarning":false,"position":202,"left":141,"right":99},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":100,"text":" fi","html":" \u003cspan class=\"pl-k\"\u003efi\u003c/span\u003e","displayNoNewLineWarning":false,"position":203,"left":142,"right":100},{"stylingDirective":null,"type":"DELETION","blobLineNumber":143,"text":"-echo \"ok\"","html":"-\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eok\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":204,"left":143,"right":100},{"stylingDirective":null,"type":"DELETION","blobLineNumber":144,"text":"-","html":"-","displayNoNewLineWarning":false,"position":205,"left":144,"right":100},{"stylingDirective":null,"type":"DELETION","blobLineNumber":145,"text":"-#","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":206,"left":145,"right":100},{"stylingDirective":null,"type":"DELETION","blobLineNumber":146,"text":"-# Test.6 - 'sepgsql-regtest' policy module must be loaded","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Test.6 - \u0026#39;sepgsql-regtest\u0026#39; policy module must be loaded\u003c/span\u003e","displayNoNewLineWarning":false,"position":207,"left":146,"right":100},{"stylingDirective":null,"type":"DELETION","blobLineNumber":147,"text":"-#","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":208,"left":147,"right":100},{"stylingDirective":null,"type":"DELETION","blobLineNumber":148,"text":"-echo -n \"test sepgsql-regtest policy ... \"","html":"-\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e -n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003etest sepgsql-regtest policy ... \u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":209,"left":148,"right":100},{"stylingDirective":null,"type":"DELETION","blobLineNumber":149,"text":"-","html":"-","displayNoNewLineWarning":false,"position":210,"left":149,"right":100},{"stylingDirective":null,"type":"DELETION","blobLineNumber":150,"text":"-SELINUX_MNT=`env LANG=C ${CMD_SESTATUS} | grep '^SELinuxfs mount:' | awk '{print $3}'`","html":"-SELINUX_MNT=\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003eenv LANG=C \u003cspan class=\"pl-smi\"\u003e${CMD_SESTATUS}\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e|\u003c/span\u003e grep \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e^SELinuxfs mount:\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e|\u003c/span\u003e awk \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e{print $3}\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":211,"left":150,"right":100},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":101,"text":" if [ ! -e ${SELINUX_MNT}/booleans/sepgsql_regression_test_mode ]; then","html":" \u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e [ \u003cspan class=\"pl-k\"\u003e!\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e-e\u003c/span\u003e \u003cspan class=\"pl-smi\"\u003e${SELINUX_MNT}\u003c/span\u003e/booleans/sepgsql_regression_test_mode ]\u003cspan class=\"pl-k\"\u003e;\u003c/span\u003e \u003cspan class=\"pl-k\"\u003ethen\u003c/span\u003e","displayNoNewLineWarning":false,"position":212,"left":151,"right":101},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":102,"text":" echo \"failed\"","html":" \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003efailed\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":213,"left":152,"right":102},{"stylingDirective":null,"type":"DELETION","blobLineNumber":153,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":214,"left":153,"right":102},{"stylingDirective":null,"type":"DELETION","blobLineNumber":154,"text":"- echo \"The 'sepgsql-regtest' policy module must be installed; that provide\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eThe 'sepgsql-regtest' policy module \u003cspan class=\"x x-first x-last\"\u003emust be installed; that provide\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":215,"left":154,"right":102},{"stylingDirective":null,"type":"DELETION","blobLineNumber":155,"text":"- echo \"a set of special rules for this regression test.\"","html":"-\u003cspan class=\"x x-first x-last\"\u003e \u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003cspan class=\"x x-first x-last\"\u003ea set of special rules for this regression test\u003c/span\u003e.\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":216,"left":155,"right":102},{"stylingDirective":null,"type":"DELETION","blobLineNumber":156,"text":"- echo \"You can install this module as follows:\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eYou can install this module \u003cspan class=\"x x-first x-last\"\u003eas follows\u003c/span\u003e:\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":217,"left":156,"right":102},{"stylingDirective":null,"type":"DELETION","blobLineNumber":157,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":218,"left":157,"right":102},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":103,"text":"+ echo \"\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e\u003cspan class=\"x x-first\"\u003e \u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds x\"\u003e\"\u003c/span\u003e\u003cspan class=\"pl-pds x x-last\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":219,"left":157,"right":103},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":104,"text":"+ echo \"The 'sepgsql-regtest' policy module appears not to be installed.\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eThe 'sepgsql-regtest' policy module \u003cspan class=\"x x-first x-last\"\u003eappears not to be installed.\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":220,"left":157,"right":104},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":105,"text":"+\techo \"Without this policy installed, the regression tests will fail.\"","html":"+\u003cspan class=\"x x-first x-last\"\u003e\t\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003cspan class=\"x x-first x-last\"\u003eWithout this policy installed, the regression tests will fail\u003c/span\u003e.\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":221,"left":157,"right":105},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":106,"text":"+ echo \"You can install this module using the following commands:\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eYou can install this module \u003cspan class=\"x x-first x-last\"\u003eusing the following commands\u003c/span\u003e:\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":222,"left":157,"right":106},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":107,"text":"+ echo \"\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e\u003cspan class=\"x x-first\"\u003e \u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds x\"\u003e\"\u003c/span\u003e\u003cspan class=\"pl-pds x x-last\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":223,"left":157,"right":107},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":108,"text":" echo \" \\$ make -f /usr/share/selinux/devel/Makefile -C contrib/selinux\"","html":" \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-cce\"\u003e\\$\u003c/span\u003e make -f /usr/share/selinux/devel/Makefile -C contrib/selinux\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":224,"left":158,"right":108},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":109,"text":" echo \" \\$ su\"","html":" \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-cce\"\u003e\\$\u003c/span\u003e su\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":225,"left":159,"right":109},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":110,"text":" echo \" # semodule -i contrib/sepgsql/sepgsql-regtest.pp\"","html":" \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e # semodule -i contrib/sepgsql/sepgsql-regtest.pp\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":226,"left":160,"right":110},{"stylingDirective":null,"type":"DELETION","blobLineNumber":161,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":227,"left":161,"right":110},{"stylingDirective":null,"type":"DELETION","blobLineNumber":162,"text":"- echo \"Then, you can confirm the policy package being installed, as follows:\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003cspan class=\"x x-first x-last\"\u003eThen, you can \u003c/span\u003econfirm \u003cspan class=\"x x-first x-last\"\u003ethe\u003c/span\u003e policy package \u003cspan class=\"x x-first x-last\"\u003ebeing\u003c/span\u003e installed, \u003cspan class=\"x x-first x-last\"\u003eas follows\u003c/span\u003e:\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":228,"left":162,"right":110},{"stylingDirective":null,"type":"DELETION","blobLineNumber":163,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":229,"left":163,"right":110},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":111,"text":"+ echo \"\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e\u003cspan class=\"x x-first\"\u003e \u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds x\"\u003e\"\u003c/span\u003e\u003cspan class=\"pl-pds x x-last\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":230,"left":163,"right":111},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":112,"text":"+ echo \"To confirm that policy package is installed, use this command:\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003cspan class=\"x x-first x-last\"\u003eTo \u003c/span\u003econfirm \u003cspan class=\"x x-first x-last\"\u003ethat\u003c/span\u003e policy package \u003cspan class=\"x x-first x-last\"\u003eis\u003c/span\u003e installed, \u003cspan class=\"x x-first x-last\"\u003euse this command\u003c/span\u003e:\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":231,"left":163,"right":112},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":113,"text":"+ echo \"\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e\u003cspan class=\"x x-first\"\u003e \u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds x\"\u003e\"\u003c/span\u003e\u003cspan class=\"pl-pds x x-last\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":232,"left":163,"right":113},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":114,"text":" echo \" # semodule -l | grep sepgsql\"","html":" \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e # semodule -l | grep sepgsql\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":233,"left":164,"right":114},{"stylingDirective":null,"type":"DELETION","blobLineNumber":165,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":234,"left":165,"right":114},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":115,"text":"+ echo \"\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e\u003cspan class=\"x x-first\"\u003e \u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds x\"\u003e\"\u003c/span\u003e\u003cspan class=\"pl-pds x x-last\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":235,"left":165,"right":115},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":116,"text":" exit 1","html":" \u003cspan class=\"pl-c1\"\u003eexit\u003c/span\u003e 1","displayNoNewLineWarning":false,"position":236,"left":166,"right":116},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":117,"text":" fi","html":" \u003cspan class=\"pl-k\"\u003efi\u003c/span\u003e","displayNoNewLineWarning":false,"position":237,"left":167,"right":117},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":118,"text":" echo \"ok\"","html":" \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eok\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":238,"left":168,"right":118},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":119,"text":" ","html":"\u003cbr\u003e","displayNoNewLineWarning":false,"position":239,"left":169,"right":119},{"stylingDirective":null,"type":"DELETION","blobLineNumber":170,"text":"-#","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":240,"left":170,"right":119},{"stylingDirective":null,"type":"DELETION","blobLineNumber":171,"text":"-# Test.7 - 'sepgsql_regression_test_mode' must be turned on","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Test.7 - \u0026#39;sepgsql_regression_test_mode\u0026#39; must be turned on\u003c/span\u003e","displayNoNewLineWarning":false,"position":241,"left":171,"right":119},{"stylingDirective":null,"type":"DELETION","blobLineNumber":172,"text":"-#","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":242,"left":172,"right":119},{"stylingDirective":null,"type":"DELETION","blobLineNumber":173,"text":"-echo -n \"test selinux boolean ... \"","html":"-\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e -n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003etest selinux boolean ... \u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":243,"left":173,"right":119},{"stylingDirective":null,"type":"DELETION","blobLineNumber":174,"text":"-","html":"-","displayNoNewLineWarning":false,"position":244,"left":174,"right":119},{"stylingDirective":null,"type":"DELETION","blobLineNumber":175,"text":"-if ! ${CMD_GETSEBOOL} sepgsql_regression_test_mode | grep -q ' on$'; then","html":"-\u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e!\u003c/span\u003e \u003cspan class=\"pl-smi\"\u003e${CMD_GETSEBOOL}\u003c/span\u003e sepgsql_regression_test_mode \u003cspan class=\"pl-k\"\u003e|\u003c/span\u003e grep -q \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e on$\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"pl-k\"\u003e;\u003c/span\u003e \u003cspan class=\"pl-k\"\u003ethen\u003c/span\u003e","displayNoNewLineWarning":false,"position":245,"left":175,"right":119},{"stylingDirective":null,"type":"DELETION","blobLineNumber":176,"text":"- echo \"failed\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003efailed\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":246,"left":176,"right":119},{"stylingDirective":null,"type":"DELETION","blobLineNumber":177,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":247,"left":177,"right":119},{"stylingDirective":null,"type":"DELETION","blobLineNumber":178,"text":"- echo \"The boolean variable of 'sepgsql_regression_test_mode' must be\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eThe boolean variable of \u0026#39;sepgsql_regression_test_mode\u0026#39; must be\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":248,"left":178,"right":119},{"stylingDirective":null,"type":"DELETION","blobLineNumber":179,"text":"- echo \"turned. It affects an internal state of SELinux policy, then\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eturned. It affects an internal state of SELinux policy, then\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":249,"left":179,"right":119},{"stylingDirective":null,"type":"DELETION","blobLineNumber":180,"text":"- echo \"a set of rules to run regression test will be activated.\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003ea set of rules to run regression test will be activated.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":250,"left":180,"right":119},{"stylingDirective":null,"type":"DELETION","blobLineNumber":181,"text":"- echo \"You can turn on this variable as follows:\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eYou can turn on this variable as follows:\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":251,"left":181,"right":119},{"stylingDirective":null,"type":"DELETION","blobLineNumber":182,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":252,"left":182,"right":119},{"stylingDirective":null,"type":"DELETION","blobLineNumber":183,"text":"- echo \" \\$ su -\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-cce\"\u003e\\$\u003c/span\u003e su -\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":253,"left":183,"right":119},{"stylingDirective":null,"type":"DELETION","blobLineNumber":184,"text":"- echo \" # setsebool sepgsql_regression_test_mode 1\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e # setsebool sepgsql_regression_test_mode 1\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":254,"left":184,"right":119},{"stylingDirective":null,"type":"DELETION","blobLineNumber":185,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":255,"left":185,"right":119},{"stylingDirective":null,"type":"DELETION","blobLineNumber":186,"text":"- echo \"Also note that we recommend to turn off this variable after the\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eAlso note that we recommend to turn off this variable after the\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":256,"left":186,"right":119},{"stylingDirective":null,"type":"DELETION","blobLineNumber":187,"text":"- echo \"regression test, because it activates unnecessary rules.\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eregression test, because it activates unnecessary rules.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":257,"left":187,"right":119},{"stylingDirective":null,"type":"DELETION","blobLineNumber":188,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":258,"left":188,"right":119},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":120,"text":"+# Verify that sepgsql_regression_test_mode is active.","html":"+\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Verify that sepgsql_regression_test_mode is active.\u003c/span\u003e","displayNoNewLineWarning":false,"position":259,"left":188,"right":120},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":121,"text":"+echo -n \"checking whether policy is enabled ... \"","html":"+\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e -n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003echecking whether policy is enabled ... \u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":260,"left":188,"right":121},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":122,"text":"+POLICY_STATUS=`getsebool sepgsql_regression_test_mode | awk '{print $3}'`","html":"+POLICY_STATUS=\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003egetsebool sepgsql_regression_test_mode \u003cspan class=\"pl-k\"\u003e|\u003c/span\u003e awk \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e{print $3}\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":261,"left":188,"right":122},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":123,"text":"+echo ${POLICY_STATUS:-failed}","html":"+\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-smi\"\u003e${POLICY_STATUS\u003cspan class=\"pl-k\"\u003e:-\u003c/span\u003efailed}\u003c/span\u003e","displayNoNewLineWarning":false,"position":262,"left":188,"right":123},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":124,"text":"+if [ \"${POLICY_STATUS}\" != \"on\" ]; then","html":"+\u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e [ \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${POLICY_STATUS}\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e!=\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eon\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e ]\u003cspan class=\"pl-k\"\u003e;\u003c/span\u003e \u003cspan class=\"pl-k\"\u003ethen\u003c/span\u003e","displayNoNewLineWarning":false,"position":263,"left":188,"right":124},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":125,"text":"+\techo \"\"","html":"+\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":264,"left":188,"right":125},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":126,"text":"+ echo \"The SELinux boolean 'sepgsql_regression_test_mode' must be\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eThe SELinux boolean \u0026#39;sepgsql_regression_test_mode\u0026#39; must be\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":265,"left":188,"right":126},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":127,"text":"+ echo \"turned on in order to enable the rules necessary to run the\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eturned on in order to enable the rules necessary to run the\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":266,"left":188,"right":127},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":128,"text":"+\techo \"regression tests.\"","html":"+\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eregression tests.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":267,"left":188,"right":128},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":129,"text":"+\techo \"\"","html":"+\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":268,"left":188,"right":129},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":130,"text":"+\tif \"${POLICY_STATUS}\" = \"\"; then","html":"+\t\u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${POLICY_STATUS}\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e = \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"pl-k\"\u003e;\u003c/span\u003e \u003cspan class=\"pl-k\"\u003ethen\u003c/span\u003e","displayNoNewLineWarning":false,"position":269,"left":188,"right":130},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":131,"text":"+\t\techo \"We attempted to determine the state of this Boolean using\"","html":"+\t\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eWe attempted to determine the state of this Boolean using\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":270,"left":188,"right":131},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":132,"text":"+\t\techo \"'getsebool', but that command did not produce the expected\"","html":"+\t\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u0026#39;getsebool\u0026#39;, but that command did not produce the expected\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":271,"left":188,"right":132},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":133,"text":"+\t\techo \"output. Please verify that getsebool is available and in\"","html":"+\t\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eoutput. Please verify that getsebool is available and in\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":272,"left":188,"right":133},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":134,"text":"+\t\techo \"your PATH.\"","html":"+\t\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eyour PATH.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":273,"left":188,"right":134},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":135,"text":"+\telse","html":"+\t\u003cspan class=\"pl-k\"\u003eelse\u003c/span\u003e","displayNoNewLineWarning":false,"position":274,"left":188,"right":135},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":136,"text":"+\t\techo \"You can turn on this variable using the following commands:\"","html":"+\t\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eYou can turn on this variable using the following commands:\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":275,"left":188,"right":136},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":137,"text":"+\t echo \"\"","html":"+\t \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":276,"left":188,"right":137},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":138,"text":"+\t echo \" \\$ su -\"","html":"+\t \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-cce\"\u003e\\$\u003c/span\u003e su -\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":277,"left":188,"right":138},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":139,"text":"+\t echo \" # setsebool sepgsql_regression_test_mode 1\"","html":"+\t \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e # setsebool sepgsql_regression_test_mode 1\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":278,"left":188,"right":139},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":140,"text":"+\t echo \"\"","html":"+\t \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":279,"left":188,"right":140},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":141,"text":"+\t echo \"For security reasons, it is suggested that you turn off this\"","html":"+\t \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eFor security reasons, it is suggested that you turn off this\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":280,"left":188,"right":141},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":142,"text":"+\t\techo \"variable when regression testing is complete and the associated\"","html":"+\t\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003evariable when regression testing is complete and the associated\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":281,"left":188,"right":142},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":143,"text":"+\t\techo \"rules are no longer needed.\"","html":"+\t\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003erules are no longer needed.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":282,"left":188,"right":143},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":144,"text":"+\tfi","html":"+\t\u003cspan class=\"pl-k\"\u003efi\u003c/span\u003e","displayNoNewLineWarning":false,"position":283,"left":188,"right":144},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":145,"text":"+ echo \"\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":284,"left":188,"right":145},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":146,"text":" exit 1","html":" \u003cspan class=\"pl-c1\"\u003eexit\u003c/span\u003e 1","displayNoNewLineWarning":false,"position":285,"left":189,"right":146},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":147,"text":" fi","html":" \u003cspan class=\"pl-k\"\u003efi\u003c/span\u003e","displayNoNewLineWarning":false,"position":286,"left":190,"right":147},{"stylingDirective":null,"type":"DELETION","blobLineNumber":191,"text":"-echo \"ok\"","html":"-\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eok\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":287,"left":191,"right":147},{"stylingDirective":null,"type":"DELETION","blobLineNumber":192,"text":"-","html":"-","displayNoNewLineWarning":false,"position":288,"left":192,"right":147},{"stylingDirective":null,"type":"DELETION","blobLineNumber":193,"text":"-#","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":289,"left":193,"right":147},{"stylingDirective":null,"type":"DELETION","blobLineNumber":194,"text":"-# Test.8 - 'psql' command must be executable by test domain","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Test.8 - \u0026#39;psql\u0026#39; command must be executable by test domain\u003c/span\u003e","displayNoNewLineWarning":false,"position":290,"left":194,"right":147},{"stylingDirective":null,"type":"DELETION","blobLineNumber":195,"text":"-#","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":291,"left":195,"right":147},{"stylingDirective":null,"type":"DELETION","blobLineNumber":196,"text":"-echo -n \"test execution of psql ... \"","html":"-\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e -n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003etest execution of psql ... \u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":292,"left":196,"right":147},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":148,"text":" ","html":"\u003cbr\u003e","displayNoNewLineWarning":false,"position":293,"left":197,"right":148},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":149,"text":"+# 'psql' command must be executable by test domain","html":"+\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e \u0026#39;psql\u0026#39; command must be executable by test domain\u003c/span\u003e","displayNoNewLineWarning":false,"position":294,"left":197,"right":149},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":150,"text":"+echo -n \"checking whether we can run psql ... \"","html":"+\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e -n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003echecking whether we can run psql ... \u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":295,"left":197,"right":150},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":151,"text":" CMD_PSQL=\"${PG_BINDIR}/psql\"","html":" CMD_PSQL=\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${PG_BINDIR}\u003c/span\u003e/psql\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":296,"left":198,"right":151},{"stylingDirective":null,"type":"DELETION","blobLineNumber":199,"text":"-${CMD_RUNCON} -t sepgsql_regtest_user_t ${CMD_PSQL} --help \u003e\u0026 /dev/null","html":"-\u003cspan class=\"pl-smi x x-first x-last\"\u003e${CMD_RUNCON}\u003c/span\u003e -t sepgsql_regtest_user_t \u003cspan class=\"pl-smi\"\u003e${CMD_PSQL}\u003c/span\u003e --help \u003cspan class=\"pl-k\"\u003e\u0026gt;\u0026amp;\u003c/span\u003e /dev/null","displayNoNewLineWarning":false,"position":297,"left":199,"right":151},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":152,"text":"+runcon -t sepgsql_regtest_user_t ${CMD_PSQL} --help \u003e\u0026 /dev/null","html":"+\u003cspan class=\"x x-first x-last\"\u003eruncon\u003c/span\u003e -t sepgsql_regtest_user_t \u003cspan class=\"pl-smi\"\u003e${CMD_PSQL}\u003c/span\u003e --help \u003cspan class=\"pl-k\"\u003e\u0026gt;\u0026amp;\u003c/span\u003e /dev/null","displayNoNewLineWarning":false,"position":298,"left":199,"right":152},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":153,"text":" if [ $? -ne 0 ]; then","html":" \u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e [ \u003cspan class=\"pl-smi\"\u003e$?\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e-ne\u003c/span\u003e 0 ]\u003cspan class=\"pl-k\"\u003e;\u003c/span\u003e \u003cspan class=\"pl-k\"\u003ethen\u003c/span\u003e","displayNoNewLineWarning":false,"position":299,"left":200,"right":153},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":154,"text":" echo \"failed\"","html":" \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003efailed\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":300,"left":201,"right":154},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":155,"text":" echo","html":" \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":301,"left":202,"right":155},{"stylingDirective":null,"type":"DELETION","blobLineNumber":203,"text":"- echo \"The ${CMD_PSQL} must be executable by sepgsql_regtest_user_t\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003cspan class=\"x x-first x-last\"\u003eThe \u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${CMD_PSQL}\u003c/span\u003e must be executable \u003cspan class=\"x x-first x-last\"\u003eby\u003c/span\u003e sepgsql_regtest_user_t\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":302,"left":203,"right":155},{"stylingDirective":null,"type":"DELETION","blobLineNumber":204,"text":"- echo \"domain. It has restricted privileges compared to unconfined_t,\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003edomain. \u003cspan class=\"x x-first x-last\"\u003eIt \u003c/span\u003ehas restricted privileges compared to\u003cspan class=\"x x-first x-last\"\u003e unconfined_t,\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":303,"left":204,"right":155},{"stylingDirective":null,"type":"DELETION","blobLineNumber":205,"text":"- echo \"so you should ensure whether this command is labeled correctly.\"","html":"-\u003cspan class=\"x x-first x-last\"\u003e \u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eso you should ensure \u003cspan class=\"x x-first x-last\"\u003ewhether this command\u003c/span\u003e is labeled correctly.\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":304,"left":205,"right":155},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":156,"text":"+ echo \"${CMD_PSQL} must be executable from the sepgsql_regtest_user_t\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${CMD_PSQL}\u003c/span\u003e must be executable \u003cspan class=\"x x-first x-last\"\u003efrom the\u003c/span\u003e sepgsql_regtest_user_t\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":305,"left":205,"right":156},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":157,"text":"+ echo \"domain. The domain has restricted privileges compared to\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003edomain. \u003cspan class=\"x x-first x-last\"\u003eThe domain \u003c/span\u003ehas restricted privileges compared to\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":306,"left":205,"right":157},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":158,"text":"+\techo \"unconfined_t, so you should ensure that it is labeled correctly.\"","html":"+\u003cspan class=\"x x-first x-last\"\u003e\t\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003cspan class=\"x x-first x-last\"\u003eunconfined_t, \u003c/span\u003eso you should ensure \u003cspan class=\"x x-first x-last\"\u003ethat it\u003c/span\u003e is labeled correctly.\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":307,"left":205,"right":158},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":159,"text":" echo","html":" \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":308,"left":206,"right":159},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":160,"text":" echo \" \\$ su - (not needed, if you owns installation directory)\"","html":" \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-cce\"\u003e\\$\u003c/span\u003e su - (not needed, if you owns installation directory)\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":309,"left":207,"right":160},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":161,"text":" EXPECT_PSQL=`matchpathcon -n ${CMD_PSQL} | sed 's/:/ /g' | awk '{print $3}'`","html":" EXPECT_PSQL=\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003ematchpathcon -n \u003cspan class=\"pl-smi\"\u003e${CMD_PSQL}\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e|\u003c/span\u003e sed \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003es/:/ /g\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e|\u003c/span\u003e awk \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e{print $3}\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":310,"left":208,"right":161},{"stylingDirective":null,"type":"HUNK","blobLineNumber":178,"text":"@@ -226,61 +179,52 @@ if [ $? -ne 0 ]; then","html":"@@ -226,61 +179,52 @@ if [ $? -ne 0 ]; then","displayNoNewLineWarning":false,"position":311,"left":225,"right":178},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":179,"text":" fi","html":" \u003cspan class=\"pl-k\"\u003efi\u003c/span\u003e","displayNoNewLineWarning":false,"position":312,"left":226,"right":179},{"st 8000 ylingDirective":null,"type":"CONTEXT","blobLineNumber":180,"text":" echo \"ok\"","html":" \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eok\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":313,"left":227,"right":180},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":181,"text":" ","html":"\u003cbr\u003e","displayNoNewLineWarning":false,"position":314,"left":228,"right":181},{"stylingDirective":null,"type":"DELETION","blobLineNumber":229,"text":"-#","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":315,"left":229,"right":181},{"stylingDirective":null,"type":"DELETION","blobLineNumber":230,"text":"-# Test.9 - 'sepgsql' must be installed","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Test.9 - \u0026#39;sepgsql\u0026#39; must be installed\u003c/span\u003e","displayNoNewLineWarning":false,"position":316,"left":230,"right":181},{"stylingDirective":null,"type":"DELETION","blobLineNumber":231,"text":"-# and, not configured to permissive mode","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e and, not configured to permissive mode\u003c/span\u003e","displayNoNewLineWarning":false,"position":317,"left":231,"right":181},{"stylingDirective":null,"type":"DELETION","blobLineNumber":232,"text":"-#","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":318,"left":232,"right":181},{"stylingDirective":null,"type":"DELETION","blobLineNumber":233,"text":"-echo -n \"test sepgsql installation ... \"","html":"-\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e -n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003etest sepgsql installation ... \u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":319,"left":233,"right":181},{"stylingDirective":null,"type":"DELETION","blobLineNumber":234,"text":"-","html":"-","displayNoNewLineWarning":false,"position":320,"left":234,"right":181},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":182,"text":"+# loadable module must be installed and not configured to permissive mode","html":"+\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e loadable module must be installed and not configured to permissive mode\u003c/span\u003e","displayNoNewLineWarning":false,"position":321,"left":234,"right":182},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":183,"text":"+echo -n \"checking sepgsql installation ... \"","html":"+\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e -n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003echecking sepgsql installation ... \u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":322,"left":234,"right":183},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":184,"text":" VAL=\"`${CMD_PSQL} template1 -tc 'SHOW sepgsql.permissive' 2\u003e/dev/null`\"","html":" VAL=\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${CMD_PSQL}\u003c/span\u003e template1 -tc \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003eSHOW sepgsql.permissive\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e2\u0026gt;\u003c/span\u003e/dev/null\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":323,"left":235,"right":184},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":185,"text":" RETVAL=\"$?\"","html":" RETVAL=\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e$?\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":324,"left":236,"right":185},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":186,"text":" if [ $RETVAL -eq 2 ]; then","html":" \u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e [ \u003cspan class=\"pl-smi\"\u003e$RETVAL\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e-eq\u003c/span\u003e 2 ]\u003cspan class=\"pl-k\"\u003e;\u003c/span\u003e \u003cspan class=\"pl-k\"\u003ethen\u003c/span\u003e","displayNoNewLineWarning":false,"position":325,"left":237,"right":186},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":187,"text":" echo \"failed\"","html":" \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003efailed\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":326,"left":238,"right":187},{"stylingDirective":null,"type":"DELETION","blobLineNumber":239,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":327,"left":239,"right":187},{"stylingDirective":null,"type":"DELETION","blobLineNumber":240,"text":"- echo \"The postgresql server process is not connectable.\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eThe postgresql server process is not connectable.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":328,"left":240,"right":187},{"stylingDirective":null,"type":"DELETION","blobLineNumber":241,"text":"- echo \"Please check your installation first, rather than selinux settings.\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003ePlease check your installation first, rather than selinux settings.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":329,"left":241,"right":187},{"stylingDirective":null,"type":"DELETION","blobLineNumber":242,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":330,"left":242,"right":187},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":188,"text":"+ echo \"\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":331,"left":242,"right":188},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":189,"text":"+ echo \"Unable to connect to the server. Please check your installation.\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eUnable to connect to the server. Please check your installation.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":332,"left":242,"right":189},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":190,"text":"+ echo \"\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":333,"left":242,"right":190},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":191,"text":" exit 1","html":" \u003cspan class=\"pl-c1\"\u003eexit\u003c/span\u003e 1","displayNoNewLineWarning":false,"position":334,"left":243,"right":191},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":192,"text":" elif [ $RETVAL -ne 0 ]; then","html":" \u003cspan class=\"pl-k\"\u003eelif\u003c/span\u003e [ \u003cspan class=\"pl-smi\"\u003e$RETVAL\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e-ne\u003c/span\u003e 0 ]\u003cspan class=\"pl-k\"\u003e;\u003c/span\u003e \u003cspan class=\"pl-k\"\u003ethen\u003c/span\u003e","displayNoNewLineWarning":false,"position":335,"left":244,"right":192},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":193,"text":" echo \"failed\"","html":" \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003efailed\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":336,"left":245,"right":193},{"stylingDirective":null,"type":"DELETION","blobLineNumber":246,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":337,"left":246,"right":193},{"stylingDirective":null,"type":"DELETION","blobLineNumber":247,"text":"- echo \"The sepgsql module was not loaded. So, our recommendation is to\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eThe sepgsql module was not loaded. So, our recommendation is to\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":338,"left":247,"right":193},{"stylingDirective":null,"type":"DELETION","blobLineNumber":248,"text":"- echo \"confirm 'shared_preload_libraries' setting in postgresql.conf,\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003econfirm \u0026#39;shared_preload_libraries\u0026#39; setting in postgresql.conf,\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":339,"left":248,"right":193},{"stylingDirective":null,"type":"DELETION","blobLineNumber":249,"text":"- echo \"then restart server process.\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003ethen restart server process.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":340,"left":249,"right":193},{"stylingDirective":null,"type":"DELETION","blobLineNumber":250,"text":"- echo \"It must have '\\$libdir/sepgsql' at least.\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eIt must have \u0026#39;\u003cspan class=\"pl-cce\"\u003e\\$\u003c/span\u003elibdir/sepgsql\u0026#39; at least.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":341,"left":250,"right":193},{"stylingDirective":null,"type":"DELETION","blobLineNumber":251,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":342,"left":251,"right":193},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":194,"text":"+ echo \"\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":343,"left":251,"right":194},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":195,"text":"+ echo \"The 'sepgsql' module does not appear to be loaded. Please verify\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eThe \u0026#39;sepgsql\u0026#39; module does not appear to be loaded. Please verify\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":344,"left":251,"right":195},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":196,"text":"+ echo \"that the 'shared_preload_libraries' setting in postgresql.conf\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003ethat the \u0026#39;shared_preload_libraries\u0026#39; setting in postgresql.conf\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":345,"left":251,"right":196},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":197,"text":"+ echo \"includes sepgsql, and then stop and restart the server.\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eincludes sepgsql, and then stop and restart the server.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":346,"left":251,"right":197},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":198,"text":"+ echo \"\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":347,"left":251,"right":198},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":199,"text":" exit 1","html":" \u003cspan class=\"pl-c1\"\u003eexit\u003c/span\u003e 1","displayNoNewLineWarning":false,"position":348,"left":252,"right":199},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":200,"text":" elif ! echo \"$VAL\" | grep -q 'off$'; then","html":" \u003cspan class=\"pl-k\"\u003eelif\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e!\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e$VAL\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e|\u003c/span\u003e grep -q \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003eoff$\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"pl-k\"\u003e;\u003c/span\u003e \u003cspan class=\"pl-k\"\u003ethen\u003c/span\u003e","displayNoNewLineWarning":false,"position":349,"left":253,"right":200},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":201,"text":" echo \"failed\"","html":" \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003efailed\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":350,"left":254,"right":201},{"stylingDirective":null,"type":"DELETION","blobLineNumber":255,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":351,"left":255,"right":201},{"stylingDirective":null,"type":"DELETION","blobLineNumber":256,"text":"- echo \"The GUC variable 'sepgsql.permissive' was set to 'on', although\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eThe GUC variable \u0026#39;sepgsql.permissive\u0026#39; was set to \u0026#39;on\u0026#39;, although\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":352,"left":256,"right":201},{"stylingDirective":null,"type":"DELETION","blobLineNumber":257,"text":"- echo \"system configuration is enforcing mode.\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003esystem configuration is enforcing mode.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":353,"left":257,"right":201},{"stylingDirective":null,"type":"DELETION","blobLineNumber":258,"text":"- echo \"You should eliminate this setting from postgresql.conf, then\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eYou should eliminate this setting from postgresql.conf, then\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":354,"left":258,"right":201},{"stylingDirective":null,"type":"DELETION","blobLineNumber":259,"text":"- echo \"restart server process.\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003erestart server process.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":355,"left":259,"right":201},{"stylingDirective":null,"type":"DELETION","blobLineNumber":260,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":356,"left":260,"right":201},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":202,"text":"+ echo \"\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":357,"left":260,"right":202},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":203,"text":"+ echo \"The GUC variable 'sepgsql.permissive' is set to 'on'. It must be\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eThe GUC variable \u0026#39;sepgsql.permissive\u0026#39; is set to \u0026#39;on\u0026#39;. It must be\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":358,"left":260,"right":203},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":204,"text":"+\techo \"turned off before running the regression tests.\"","html":"+\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eturned off before running the regression tests.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":359,"left":260,"right":204},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":205,"text":"+ echo \"\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":360,"left":260,"right":205},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":206,"text":" exit 1","html":" \u003cspan class=\"pl-c1\"\u003eexit\u003c/span\u003e 1","displayNoNewLineWarning":false,"position":361,"left":261,"right":206},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":207,"text":" fi","html":" \u003cspan class=\"pl-k\"\u003efi\u003c/span\u003e","displayNoNewLineWarning":false,"position":362,"left":262,"right":207},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":208,"text":" echo \"ok\"","html":" \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eok\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":363,"left":263,"right":208},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":209,"text":" ","html":"\u003cbr\u003e","displayNoNewLineWarning":false,"position":364,"left":264,"right":209},{"stylingDirective":null,"type":"DELETION","blobLineNumber":265,"text":"-#","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":365,"left":265,"right":209},{"stylingDirective":null,"type":"DELETION","blobLineNumber":266,"text":"-# Test.10 - 'template1' database must be labeled","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Test.10 - \u0026#39;template1\u0026#39; database must be labeled\u003c/span\u003e","displayNoNewLineWarning":false,"position":366,"left":266,"right":209},{"stylingDirective":null,"type":"DELETION","blobLineNumber":267,"text":"-#","html":"-\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":367,"left":267,"right":209},{"stylingDirective":null,"type":"DELETION","blobLineNumber":268,"text":"-echo -n \"test template1 database ... \"","html":"-\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e -n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003etest template1 database ... \u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":368,"left":268,"right":209},{"stylingDirective":null,"type":"DELETION","blobLineNumber":269,"text":"-","html":"-","displayNoNewLineWarning":false,"position":369,"left":269,"right":209},{"stylingDirective":null,"type":"DELETION","blobLineNumber":270,"text":"-NUM=`${CMD_PSQL} template1 -tc 'SELECT count(*) FROM pg_catalog.pg_seclabel' 2\u003e/dev/null`","html":"-NUM=\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${CMD_PSQL}\u003c/span\u003e template1 -tc \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003eSELECT count(*) FROM pg_catalog.pg_seclabel\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e2\u0026gt;\u003c/span\u003e/dev/null\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":370,"left":270,"right":209},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":210,"text":"+# template1 database must be labeled","html":"+\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e template1 database must be labeled\u003c/span\u003e","displayNoNewLineWarning":false,"position":371,"left":270,"right":210},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":211,"text":"+echo -n \"checking for labels in template1 ... \"","html":"+\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e -n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003echecking for labels in template1 ... \u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":372,"left":270,"right":211},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":212,"text":"+NUM=`${CMD_PSQL} template1 -Atc 'SELECT count(*) FROM pg_catalog.pg_seclabel' 2\u003e/dev/null`","html":"+NUM=\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${CMD_PSQL}\u003c/span\u003e template1 -Atc \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003eSELECT count(*) FROM pg_catalog.pg_seclabel\u003cspan class=\"pl-pds\"\u003e\u0026#39;\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e2\u0026gt;\u003c/span\u003e/dev/null\u003cspan class=\"pl-pds\"\u003e`\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":373,"left":270,"right":212},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":213,"text":" if [ -z \"${NUM}\" -o \"$NUM\" -eq 0 ]; then","html":" \u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e [ \u003cspan class=\"pl-k\"\u003e-z\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${NUM}\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e-o\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e$NUM\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e-eq\u003c/span\u003e 0 ]\u003cspan class=\"pl-k\"\u003e;\u003c/span\u003e \u003cspan class=\"pl-k\"\u003ethen\u003c/span\u003e","displayNoNewLineWarning":false,"position":374,"left":271,"right":213},{"stylingDirective":null,"type":"DELETION","blobLineNumber":272,"text":"- echo \"failed!\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003efailed!\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":375,"left":272,"right":213},{"stylingDirective":null,"type":"DELETION","blobLineNumber":273,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":376,"left":273,"right":213},{"stylingDirective":null,"type":"DELETION","blobLineNumber":274,"text":"- echo \"Initial labels must be assigned on the 'template1' database; that shall\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eInitial labels must be assigned on the \u0026#39;template1\u0026#39; database; that shall\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":377,"left":274,"right":213},{"stylingDirective":null,"type":"DELETION","blobLineNumber":275,"text":"- echo \"be copied to the database for regression test.\"","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003ebe copied to the database for regression test.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":378,"left":275,"right":213},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":214,"text":"+ echo \"failed\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003efailed\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":379,"left":275,"right":214},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":215,"text":"+ echo \"\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":380,"left":275,"right":215},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":216,"text":"+ echo \"In order to regression test sepgsql, initial labels must be assigned\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eIn order to regression test sepgsql, initial labels must be assigned\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":381,"left":275,"right":216},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":217,"text":"+\techo \"on the 'template1' database. These labels will be copied into the\"","html":"+\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eon the \u0026#39;template1\u0026#39; database. These labels will be copied into the\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":382,"left":275,"right":217},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":218,"text":"+\techo \"regression test database.\"","html":"+\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eregression test database.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":383,"left":275,"right":218},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":219,"text":"+\techo \"\"","html":"+\t\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":384,"left":275,"right":219},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":220,"text":" echo \"See Installation section of the PostgreSQL documentation.\"","html":" \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003eSee Installation section of the PostgreSQL documentation.\u003cspan class=\"pl-pds\"\u003e\u0026quot;\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":385,"left":276,"right":220},{"stylingDirective":null,"type":"DELETION","blobLineNumber":277,"text":"- echo","html":"- \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":386,"left":277,"right":220},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":221,"text":"+ echo \"\"","html":"+ \u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e\u003cspan class=\"x x-first\"\u003e \u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds x\"\u003e\"\u003c/span\u003e\u003cspan class=\"pl-pds x x-last\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":387,"left":277,"right":221},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":222,"text":" exit 1","html":" \u003cspan class=\"pl-c1\"\u003eexit\u003c/span\u003e 1","displayNoNewLineWarning":false,"position":388,"left":278,"right":222},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":223,"text":" fi","html":" \u003cspan class=\"pl-k\"\u003efi\u003c/span\u003e","displayNoNewLineWarning":false,"position":389,"left":279,"right":223},{"stylingDirective":null,"type":"DELETION","blobLineNumber":280,"text":"-echo \"ok\"","html":"-\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003cspan class=\"x x-first x-last\"\u003eok\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":390,"left":280,"right":223},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":224,"text":"+echo \"found ${NUM}\"","html":"+\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003cspan class=\"x x-first\"\u003efound \u003c/span\u003e\u003cspan class=\"pl-smi x x-last\"\u003e${NUM}\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":391,"left":280,"right 8000 ":224},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":225,"text":" ","html":"\u003cbr\u003e","displayNoNewLineWarning":false,"position":392,"left":281,"right":225},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":226,"text":" #","html":" \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":393,"left":282,"right":226},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":227,"text":" # check complete - ","html":" \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e check complete - \u003c/span\u003e","displayNoNewLineWarning":false,"position":394,"left":283,"right":227},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":228,"text":" #","html":" \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":395,"left":284,"right":228},{"stylingDirective":null,"type":"DELETION","blobLineNumber":285,"text":"-echo","html":"-\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e","displayNoNewLineWarning":false,"position":396,"left":285,"right":228},{"stylingDirective":null,"type":"ADDITION","blobLineNumber":229,"text":"+echo \"\"","html":"+\u003cspan class=\"pl-c1\"\u003eecho\u003c/span\u003e\u003cspan class=\"x x-first\"\u003e \u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds x\"\u003e\"\u003c/span\u003e\u003cspan class=\"pl-pds x x-last\"\u003e\"\u003c/span\u003e\u003c/span\u003e","displayNoNewLineWarning":false,"position":397,"left":285,"right":229},{"stylingDirective":null,"type":"CONTEXT","blobLineNumber":230,"text":" exit 0","html":" \u003cspan class=\"pl-c1\"\u003eexit\u003c/span\u003e 0","displayNoNewLineWarning":false,"position":398,"left":286,"right":230}],"diffNumber":0,"diffSize":"0 Bytes","isBinary":false,"isTooBig":false,"collapsed":false,"isSubmodule":false,"lineCount":230,"linesChanged":328,"newTreeEntry":{"lineCount":230,"path":"contrib/sepgsql/chkselinuxenv","mode":100755,"isGenerated":false},"oldTreeEntry":{"lineCount":0,"path":"contrib/sepgsql/chkselinuxenv","mode":100755},"linesAdded":136,"linesDeleted":192,"path":"contrib/sepgsql/chkselinuxenv","pathDigest":"e05e0227ba3290029d5607774c632d3792b9403168148aa5d3482795c1073afb","status":"MODIFIED","truncatedReason":null,"oldOid":"10c378f2350a8321ea76fc02d821a9e7707c7563","newOid":"a4b3feebc44dcb872fc7a765c4d48627c97421ed","copilotChatReference":null,"deletedSha":"10c378f2350a8321ea76fc02d821a9e7707c7563","canToggleRichDiff":false,"defaultToRichDiff":false,"proseDifffHtml":null,"renderInfo":null,"dependencyDiffPath":null,"submodule":null}],"splitViewPreference":"unified","ignoreWhitespace":false,"repoOwnerGlobalRelayId":"MDEyOk9yZ2FuaXphdGlvbjE3NzU0Mw==","commentsPreference":"visible","diffLineSpacingPreference":"relaxed","useMonospaceFont":false,"pasteUrlLinkAsPlainText":false,"userNotices":[],"path":"/postgres/postgres/commit/a4b3feebc44dcb872fc7a765c4d48627c97421ed","fileTreeExpanded":true,"headerInfo":{"additions":136,"deletions":192,"filesChanged":1,"filesChangedString":"1"},"moreDiffsToLoad":false,"asyncDiffLoadInfo":{"startIndex":1,"truncated":false,"byteCount":13913,"lineShownCount":399},"commentInfo":{"canComment":false,"locked":false,"canLock":false,"repoArchived":false},"csrf_tokens":{"/users/diffview?diff=split":{"post":"N49FOaMln1BUAP5LQgItU7BmAMNKVyFShxswBWWlq9Hj3iEugtN65gyH7rW7cilMvMqaMsKcdkPWFt5oFobUzg"},"/users/diffview?diff=unified":{"post":"YqJOfrCVl33b9yTF2LBOAPkJdsCyexi461qQqwa67bu28yppkWNyy4NwNDshwEof9aXsMTqwT6m6V37GdZmSpA"},"/notifications/thread":{"post":"lmF3_Z0Ys4mKaDuT6S6CJX7sVWhKs5XmbXHajs1w9HKMvBzPtsomzmDN6_lEkn41nsf0aSicCfIz1aAJmyp5mw"}}},"title":"Clean up 'chkselinuxenv' script. · postgres/postgres@a4b3fee","appPayload":{"helpUrl":"https://docs.github.com","findInDiffWorkerPath":"/assets-cdn/worker/find-in-diff-worker-2bfe39677d14.js","enabled_features":{"diff_ux_refresh_beta":false,"diff_inline_comments":true,"diff_ux_refresh_ssr_five":false,"diff_ux_refresh_ssr_ten":false,"react_diff_line_type_character_correction":true}}}

Commit a4b3fee

Browse files
committed
Clean up 'chkselinuxenv' script.
Eliminate dependencies on "which", as we don't really need that to be installed for proper testing. Don't number the tests, as that increases the footprint of every patch that wants to add or remove tests. Make the test output more informative, so that it's a bit easier to see what went right (or wrong). Spelling and grammar improvements.
1 parent 10c378f commit a4b3fee

File tree

1 file changed

+136
-192
lines changed

1 file changed

+136
-192
lines changed

contrib/sepgsql/chkselinuxenv

Lines changed: 136 additions & 192 deletions
Original file line numberDiff line numberDiff line change
@@ -9,200 +9,153 @@ PG_DATADIR="$2"
99

1010
echo
1111
echo "============== checking selinux environment =============="
12-
#
13-
# Test.0 - necessary commands for environment checks
14-
#
15-
echo -n "test installed commands ... "
16-
if ! which --help >&/dev/null; then
17-
echo "failed"
18-
echo
19-
echo "'which' command was not found, executable or installed."
20-
echo "Please make sure your PATH, or install this command at first."
21-
echo
22-
echo "If yum is available on your system, it will suggest packages"
23-
echo "to be installed:"
24-
echo " # yum provides which"
12+
13+
# matchpathcon must be present to assess whether the installation environment
14+
# is OK.
15+
echo -n "checking for matchpathcon ... "
16+
if ! matchpathcon -n . >/dev/null 2>&1; then
17+
echo "not found"
18+
echo ""
19+
echo "matchpathcon not found; please install it or update your PATH."
2520
exit 1
2621
fi
27-
if ! matchpathcon -n / >&/dev/null; then
22+
echo "ok"
23+
24+
# runcon must be present to launch psql using the correct environment
25+
echo -n "checking for runcon ... "
26+
if ! runcon --help >/dev/null 2>&1; then
2827
echo "failed"
29-
echo
30-
echo "'matchpathcon' command was not found, executable or installed."
31-
echo "Please make sure your PATH, or install this command at first."
32-
echo
33-
echo "If yum is available on your system, it will suggest packages"
34-
echo "to be installed:"
35-
echo " # yum provides which"
28+
echo ""
29+
echo "The runcon command must exist and be executable; it is used to"
30+
echo "launch psql command with a particular domain. It is typically"
31+
echo "included within the coreutils package."
32+
echo ""
3633
exit 1
3734
fi
3835
echo "ok"
3936

40-
#
41-
# Test.1 - must be launched at unconfined_t domain
42-
#
43-
echo -n "test unconfined_t domain ... "
44-
37+
# check that the user is running in the unconfined_t domain
38+
echo -n "checking current user domain ... "
4539
DOMAIN=`id -Z 2>/dev/null | sed 's/:/ /g' | awk '{print $3}'`
40+
echo ${DOMAIN:-failed}
4641
if [ "${DOMAIN}" != "unconfined_t" ]; then
47-
echo "failed"
48-
echo
49-
echo "This regression test needs to be launched on unconfined_t domain."
50-
echo
51-
echo "The unconfined_t domain is mostly default domain of users' shell"
52-
echo "process. So, we suggest you to revert your special configuration"
53-
echo "on your system, as follows:"
54-
echo
42+
echo ""
43+
echo "This regression test must be launched from the unconfined_t domain."
44+
echo ""
45+
echo "The unconfined_t domain is typically the default domain for user"
46+
echo "shell processes. If the default has been changed on your system,"
47+
echo "you can revert the changes like this:"
48+
echo ""
5549
echo " \$ su -"
5650
echo " # semanage login -d `whoami`"
57-
echo
58-
echo "Or, add a setting to login as unconfined_t domain"
59-
echo
51+
echo ""
52+
echo "Or, you can add a setting to log in using the unconfined_t domain:"
53+
echo ""
6054
echo " \$ su -"
6155
echo " # semanage login -a -s unconfined_u -r s0-s0:c0.c255 `whoami`"
62-
echo
56+
echo ""
6357
exit 1
6458
fi
65-
echo "ok"
66-
67-
#
68-
# Test.2 - 'runcon' must exist and be executable
69-
#
70-
echo -n "test runcon command ... "
7159

72-
CMD_RUNCON="`which runcon 2>/dev/null`"
73-
if [ ! -x "${CMD_RUNCON}" ]; then
74-
echo "failed"
75-
echo
76-
echo "The runcon must exist and be executable; it is internally used to"
77-
echo "launch psql command with a particular domain. It is mostly included"
78-
echo "within coreutils package. So, our suggestion is to install the latest"
79-
echo "version of this package."
80-
echo
81-
exit 1
82-
fi
83-
echo "ok"
84-
85-
#
86-
# Test.3 - 'sestatus' must exist and be executable
87-
#
88-
echo -n "test sestatus command ... "
89-
90-
CMD_SESTATUS="`which sestatus 2>/dev/null`"
91-
if [ ! -x "${CMD_SESTATUS}" ]; then
92-
echo "failed"
93-
echo
94-
echo "The sestatus should exist and be executable; it is internally used to"
95-
echo "this checks; to show configuration of SELinux. It is mostly included"
96-
echo "within policycoreutils package. So, our suggestion is to install the"
97-
echo "latest version of this package."
98-
echo
60+
# SELinux must be configured to enforcing mode
61+
echo -n "checking selinux operating mode ... "
62+
CURRENT_MODE=`env LANG=C sestatus | grep 'Current mode:' | awk '{print $3}'`
63+
echo ${CURRENT_MODE:-failed}
64+
if [ "${CURRENT_MODE}" != enforcing ]; then
65+
if [ "${CURRENT_MODE}" = permissive -o "${CURRENT_MODE}" = disabled ]; then
66+
echo ""
67+
echo "Before running the regression tests, SELinux must be enabled and"
68+
echo "must be running in enforcing mode."
69+
echo ""
70+
echo "If SELinux is currently running in permissive mode, you can"
71+
echo "switch to enforcing command using the 'setenforce' command."
72+
echo
73+
echo " \$ su -"
74+
echo " # setenforce 1"
75+
echo ""
76+
echo "The system default setting is configured in /etc/selinux/config,"
77+
echo "or using a kernel bool parameter."
78+
echo ""
79+
else
80+
echo ""
81+
echo "Unable to determine the current selinux operating mode. Please"
82+
echo "verify that the sestatus command is installed and in your PATH."
83+
echo ""
84+
fi
9985
exit 1
10086
fi
101-
echo "ok"
102-
103-
#
104-
# Test.4 - 'getsebool' must exist and be executable
105-
#
106-
echo -n "test getsebool command ... "
107-
108-
CMD_GETSEBOOL="`which getsebool`"
109-
if [ ! -x "${CMD_GETSEBOOL}" ]; then
110-
echo "failed"
111-
echo
112-
echo "The getsebool should exist and be executable; it is internally used to"
113-
echo "this checks; to show current setting of SELinux boolean variables."
114-
echo "It is mostly included within libselinux-utils package. So, our suggestion"
115-
echo "is to install the latest version of this package."
116-
echo
117-
exit 1
118-
fi
119-
echo "ok"
120-
121-
#
122-
# Test.5 - SELinux must be configured to enforcing mode
123-
#
124-
echo -n "test enforcing mode ... "
12587

126-
CURRENT_MODE=`env LANG=C ${CMD_SESTATUS} | grep 'Current mode:' | awk '{print $3}'`
127-
if [ "${CURRENT_MODE}" != "enforcing" ]; then
128-
echo "failed"
129-
echo
130-
echo "SELinux must be configured to 'enforcing' mode."
131-
echo "You can switch SELinux to enforcing mode using setenforce command,"
132-
echo "as follows:"
133-
echo
134-
echo " \$ su -"
135-
echo " # setenforce 1"
136-
echo
137-
echo "The system default setting is configured at /etc/selinux/config,"
138-
echo "or kernel bool parameter. Please also check it, if you see this"
139-
echo "message although you didn't switch to permissive mode."
140-
echo
141-
exit 1
88+
# 'sepgsql-regtest' policy module must be loaded
89+
echo -n "checking for sepgsql-regtest policy ... "
90+
SELINUX_MNT=`env LANG=C sestatus 2>/dev/null | grep '^SELinuxfs mount:' | awk '{print $3}'`
91+
if [ "$SELINUX_MNT" = "" ]; then
92+
echo "failed"
93+
echo ""
94+
echo "Unable to find SELinuxfs mount point."
95+
echo ""
96+
echo "The sestatus command should report the location where SELinuxfs"
97+
echo "is mounted, but did not do so."
98+
echo ""
99+
exit 1
142100
fi
143-
echo "ok"
144-
145-
#
146-
# Test.6 - 'sepgsql-regtest' policy module must be loaded
147-
#
148-
echo -n "test sepgsql-regtest policy ... "
149-
150-
SELINUX_MNT=`env LANG=C ${CMD_SESTATUS} | grep '^SELinuxfs mount:' | awk '{print $3}'`
151101
if [ ! -e ${SELINUX_MNT}/booleans/sepgsql_regression_test_mode ]; then
152102
echo "failed"
153-
echo
154-
echo "The 'sepgsql-regtest' policy module must be installed; that provide"
155-
echo "a set of special rules for this regression test."
156-
echo "You can install this module as follows:"
157-
echo
103+
echo ""
104+
echo "The 'sepgsql-regtest' policy module appears not to be installed."
105+
echo "Without this policy installed, the regression tests will fail."
106+
echo "You can install this module using the following commands:"
107+
echo ""
158108
echo " \$ make -f /usr/share/selinux/devel/Makefile -C contrib/selinux"
159109
echo " \$ su"
160110
echo " # semodule -i contrib/sepgsql/sepgsql-regtest.pp"
161-
echo
162-
echo "Then, you can confirm the policy package being installed, as follows:"
163-
echo
111+
echo ""
112+
echo "To confirm that policy package is installed, use this command:"
113+
echo ""
164114
echo " # semodule -l | grep sepgsql"
165-
echo
115+
echo ""
166116
exit 1
167117
fi
168118
echo "ok"
169119

170-
#
171-
# Test.7 - 'sepgsql_regression_test_mode' must be turned on
172-
#
173-
echo -n "test selinux boolean ... "
174-
175-
if ! ${CMD_GETSEBOOL} sepgsql_regression_test_mode | grep -q ' on$'; then
176-
echo "failed"
177-
echo
178-
echo "The boolean variable of 'sepgsql_regression_test_mode' must be"
179-
echo "turned. It affects an internal state of SELinux policy, then"
180-
echo "a set of rules to run regression test will be activated."
181-
echo "You can turn on this variable as follows:"
182-
echo
183-
echo " \$ su -"
184-
echo " # setsebool sepgsql_regression_test_mode 1"
185-
echo
186-
echo "Also note that we recommend to turn off this variable after the"
187-
echo "regression test, because it activates unnecessary rules."
188-
echo
120+
# Verify that sepgsql_regression_test_mode is active.
121+
echo -n "checking whether policy is enabled ... "
122+
POLICY_STATUS=`getsebool sepgsql_regression_test_mode | awk '{print $3}'`
123+
echo ${POLICY_STATUS:-failed}
124+
if [ "${POLICY_STATUS}" != "on" ]; then
125+
echo ""
126+
echo "The SELinux boolean 'sepgsql_regression_test_mode' must be"
127+
echo "turned on in order to enable the rules necessary to run the"
128+
echo "regression tests."
129+
echo ""
130+
if "${POLICY_STATUS}" = ""; then
131+
echo "We attempted to determine the state of this Boolean using"
132+
echo "'getsebool', but that command did not produce the expected"
133+
echo "output. Please verify that getsebool is available and in"
134+
echo "your PATH."
135+
else
136+
echo "You can turn on this variable using the following commands:"
137+
echo ""
138+
echo " \$ su -"
139+
echo " # setsebool sepgsql_regression_test_mode 1"
140+
echo ""
141+
echo "For security reasons, it is suggested that you turn off this"
142+
echo "variable when regression testing is complete and the associated"
143+
echo "rules are no longer needed."
144+
fi
145+
echo ""
189146
exit 1
190147
fi
191-
echo "ok"
192-
193-
#
194-
# Test.8 - 'psql' command must be executable by test domain
195-
#
196-
echo -n "test execution of psql ... "
197148

149+
# 'psql' command must be executable by test domain
150+
echo -n "checking whether we can run psql ... "
198151
CMD_PSQL="${PG_BINDIR}/psql"
199-
${CMD_RUNCON} -t sepgsql_regtest_user_t ${CMD_PSQL} --help >& /dev/null
152+
runcon -t sepgsql_regtest_user_t ${CMD_PSQL} --help >& /dev/null
200153
if [ $? -ne 0 ]; then
201154
echo "failed"
202155
echo
203-
echo "The ${CMD_PSQL} must be executable by sepgsql_regtest_user_t"
204-
echo "domain. It has restricted privileges compared to unconfined_t,"
205-
echo "so you should ensure whether this command is labeled correctly."
156+
echo "${CMD_PSQL} must be executable from the sepgsql_regtest_user_t"
157+
echo "domain. The domain has restricted privileges compared to"
158+
echo "unconfined_t, so you should ensure that it is labeled correctly."
206159
echo
207160
echo " \$ su - (not needed, if you owns installation directory)"
208161
EXPECT_PSQL=`matchpathcon -n ${CMD_PSQL} | sed 's/:/ /g' | awk '{print $3}'`
@@ -226,61 +179,52 @@ if [ $? -ne 0 ]; then
226179
fi
227180
echo "ok"
228181

229-
#
230-
# Test.9 - 'sepgsql' must be installed
231-
# and, not configured to permissive mode
232-
#
233-
echo -n "test sepgsql installation ... "
234-
182+
# loadable module must be installed and not configured to permissive mode
183+
echo -n "checking sepgsql installation ... "
235184
VAL="`${CMD_PSQL} template1 -tc 'SHOW sepgsql.permissive' 2>/dev/null`"
236185
RETVAL="$?"
237186
if [ $RETVAL -eq 2 ]; then
238187
echo "failed"
239-
echo
240-
echo "The postgresql server process is not connectable."
241-
echo "Please check your installation first, rather than selinux settings."
242-
echo
188+
echo ""
189+
echo "Unable to connect to the server. Please check your installation."
190+
echo ""
243191
exit 1
244192
elif [ $RETVAL -ne 0 ]; then
245193
echo "failed"
246-
echo
247-
echo "The sepgsql module was not loaded. So, our recommendation is to"
248-
echo "confirm 'shared_preload_libraries' setting in postgresql.conf,"
249-
echo "then restart server process."
250-
echo "It must have '\$libdir/sepgsql' at least."
251-
echo
194+
echo ""
195+
echo "The 'sepgsql' module does not appear to be loaded. Please verify"
196+
echo "that the 'shared_preload_libraries' setting in postgresql.conf"
197+
echo "includes sepgsql, and then stop and restart the server."
198+
echo ""
252199
exit 1
253200
elif ! echo "$VAL" | grep -q 'off$'; then
254201
echo "failed"
255-
echo
256-
echo "The GUC variable 'sepgsql.permissive' was set to 'on', although"
257-
echo "system configuration is enforcing mode."
258-
echo "You should eliminate this setting from postgresql.conf, then"
259-
echo "restart server process."
260-
echo
202+
echo ""
203+
echo "The GUC variable 'sepgsql.permissive' is set to 'on'. It must be"
204+
echo "turned off before running the regression tests."
205+
echo ""
261206
exit 1
262207
fi
263208
echo "ok"
264209

265-
#
266-
# Test.10 - 'template1' database must be labeled
267-
#
268-
echo -n "test template1 database ... "
269-
270-
NUM=`${CMD_PSQL} template1 -tc 'SELECT count(*) FROM pg_catalog.pg_seclabel' 2>/dev/null`
210+
# template1 database must be labeled
211+
echo -n "checking for labels in template1 ... "
212+
NUM=`${CMD_PSQL} template1 -Atc 'SELECT count(*) FROM pg_catalog.pg_seclabel' 2>/dev/null`
271213
if [ -z "${NUM}" -o "$NUM" -eq 0 ]; then
272-
echo "failed!"
273-
echo
274-
echo "Initial labels must be assigned on the 'template1' database; that shall"
275-
echo "be copied to the database for regression test."
214+
echo "failed"
215+
echo ""
216+
echo "In order to regression test sepgsql, initial labels must be assigned"
217+
echo "on the 'template1' database. These labels will be copied into the"
218+
echo "regression test database."
219+
echo ""
276220
echo "See Installation section of the PostgreSQL documentation."
277-
echo
221+
echo ""
278222
exit 1
279223
fi
280-
echo "ok"
224+
echo "found ${NUM}"
281225

282226
#
283227
# check complete -
284228
#
285-
echo
229+
echo ""
286230
exit 0

0 commit comments

Comments
 (0)
0