Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void GenerateContexts(string Root, string OutputFile)
- {
- LogInstance.Log(LogLineHead + "Generating correct file contexts");
- if (File.Exists(Root + "\\system\\etc\\selinux\\plat_file_contexts") && File.Exists(Root + "\\vendor\\etc\\selinux\\nonplat_file_contexts"))
- {
- StreamReader platreader = new StreamReader(Root + "\\system\\etc\\selinux\\plat_file_contexts");
- StreamReader nonplatreader = new StreamReader(Root + "\\vendor\\etc\\selinux\\nonplat_file_contexts");
- StreamWriter contextwriter = new StreamWriter(OutputFile);
- contextwriter.Write(platreader.ReadToEnd() + nonplatreader.ReadToEnd());
- contextwriter.Close();
- contextwriter.Dispose();
- nonplatreader.Close();
- nonplatreader.Dispose();
- platreader.Close();
- platreader.Dispose();
- }
- else if (File.Exists(Root + "\\boot\\ramdisk\\file_contexts")) File.Copy(Root + "\\boot\\ramdisk\\file_contexts", OutputFile);
- else if (File.Exists(Root + "\\boot\\ramdisk\\file_contexts.bin"))
- {
- File.Copy(Root + "\\boot\\ramdisk\\file_contexts.bin", Path.GetDirectoryName(OutputFile) + "\\file_contexts.bin");
- ConvertContexts(Root + "\\boot\\ramdisk\\file_contexts.bin", OutputFile);
- }
- else if (File.Exists(Root + "\\boot\\ramdisk\\plat_file_contexts") && File.Exists(Root + "\\boot\\ramdisk\\nonplat_file_contexts"))
- {
- StreamReader platreader = new StreamReader(Root + "\\boot\\ramdisk\\plat_file_contexts");
- StreamReader nonplatreader = new StreamReader(Root + "\\boot\\ramdisk\\nonplat_file_contexts");
- StreamWriter contextwriter = new StreamWriter(OutputFile);
- contextwriter.Write(platreader.ReadToEnd() + nonplatreader.ReadToEnd());
- contextwriter.Close();
- contextwriter.Dispose();
- nonplatreader.Close();
- nonplatreader.Dispose();
- platreader.Close();
- platreader.Dispose();
- }
- if (!File.Exists(OutputFile))
- {
- if (File.Exists(Root + "\\recovery\\ramdisk\\file_contexts")) File.Copy(Root + "\\recovery\\ramdisk\\file_contexts", OutputFile);
- else if (File.Exists(Root + "\\recovery\\ramdisk\\file_contexts.bin"))
- {
- File.Copy(Root + "\\recovery\\ramdisk\\file_contexts.bin", Path.GetDirectoryName(OutputFile) + "\\file_contexts.bin");
- ConvertContexts(Root + "\\recovery\\ramdisk\\file_contexts.bin", OutputFile);
- }
- else if (File.Exists(Root + "\\recovery\\ramdisk\\plat_file_contexts") && File.Exists(Root + "\\recovery\\ramdisk\\nonplat_file_contexts"))
- {
- StreamReader platreader = new StreamReader(Root + "\\recovery\\ramdisk\\plat_file_contexts");
- StreamReader nonplatreader = new StreamReader(Root + "\\recovery\\ramdisk\\nonplat_file_contexts");
- StreamWriter contextwriter = new StreamWriter(OutputFile);
- contextwriter.Write(platreader.ReadToEnd() + nonplatreader.ReadToEnd());
- contextwriter.Close();
- contextwriter.Dispose();
- nonplatreader.Close();
- nonplatreader.Dispose();
- platreader.Close();
- platreader.Dispose();
- }
- }
- if (File.Exists(OutputFile)) LogInstance.Log(LogLineHead + "Success");
- else LogInstance.Log(LogLineHead + "[ERROR] : Failed to generate correct contexts");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement