Skip to content

Commit

Permalink
Update string comparisons and various slight tweaks
Browse files Browse the repository at this point in the history
  • Loading branch information
Jbob committed Jun 17, 2016
1 parent 520346a commit d44d243
Show file tree
Hide file tree
Showing 11 changed files with 91 additions and 56 deletions.
4 changes: 2 additions & 2 deletions Debugger/Commands/DumpCommand.cs
Expand Up @@ -36,7 +36,7 @@ public bool Process(string[] args)
Help();
return true;
}
else if (args[0].ToLower().Equals("cycle"))
else if (args[0].Equals("cycle", StringComparison.OrdinalIgnoreCase))
{
try
{
Expand All @@ -51,7 +51,7 @@ public bool Process(string[] args)
Log.WriteLine(rawResponse);
Log.Divider();

if (args.Length > 1 && args[1].ToLower().Equals("save"))
if (args.Length > 1 && args[1].Equals("save", StringComparison.OrdinalIgnoreCase))
{
var path = Path.Combine(Settings.Location, "FOGCycle.txt");
Log.WriteLine("Saving output to " + path);
Expand Down
2 changes: 1 addition & 1 deletion Modules/HostnameChanger/HostnameChanger.cs
Expand Up @@ -94,7 +94,7 @@ private void RenameComputer(HostnameChangerMessage msg)
Log.Error(Name, "Hostname is not specified");
return;
}
if (Environment.MachineName.ToLower().Equals(msg.Hostname.ToLower()))
if (Environment.MachineName.Equals(msg.Hostname.ToLower(), StringComparison.OrdinalIgnoreCase))
{
Log.Entry(Name, "Hostname is correct");
return;
Expand Down
11 changes: 10 additions & 1 deletion Modules/HostnameChanger/Mac/MacHostName.cs
Expand Up @@ -36,8 +36,17 @@ public void RenameComputer(string hostname)

public bool RegisterComputer(HostnameChangerMessage msg)
{
var user = msg.ADUser;

// Remove the DOMAIN from ADUser since osx binding does not require it
if (user.Contains("/"))
{
var splitIndex = msg.ADUser.IndexOf("/", StringComparison.Ordinal);
user = msg.ADUser.Substring(splitIndex + 1);
}

var returnCode = ProcessHandler.Run("/bin/bash",
$"{Path.Combine(Settings.Location, "osxbind.sh")} {msg.ADDom} {msg.ADOU} {msg.ADUser} {msg.ADPass}");
$"{Path.Combine(Settings.Location, "osxbind.sh")} {msg.ADDom} {msg.ADOU} {user} {msg.ADPass}");

return returnCode == 0;
}
Expand Down
64 changes: 31 additions & 33 deletions Modules/HostnameChanger/Windows/WindowsHostName.cs
Expand Up @@ -24,12 +24,42 @@
using System.Net;
using System.Runtime.InteropServices;
using Zazzles;
using Zazzles.Middleware;

namespace FOG.Modules.HostnameChanger.Windows
{
internal class WindowsHostName : IHostName
{
[DllImport("netapi32.dll", CharSet = CharSet.Unicode)]
private static extern int NetJoinDomain(string lpServer, string lpDomain, string lpAccountOU,
string lpAccount, string lpPassword, JoinOptions nameType);

[DllImport("netapi32.dll", CharSet = CharSet.Unicode)]
private static extern int NetUnjoinDomain(string lpServer, string lpAccount, string lpPassword,
UnJoinOptions fUnjoinOptions);

private static int DomainWrapper(HostnameChangerMessage msg, bool ou, JoinOptions options)
{
return NetJoinDomain(null,
msg.ADDom,
ou ? msg.ADOU : null,
msg.ADUser,
msg.ADPass,
options);
}

[Flags]
private enum UnJoinOptions
{
NetsetupAccountDelete = 0x00000004
}

[Flags]
private enum JoinOptions
{
NetsetupJoinDomain = 0x00000001,
NetsetupAcctCreate = 0x00000002
}

private readonly Dictionary<int, string> _returnCodes = new Dictionary<int, string>
{
{0, "Success"},
Expand Down Expand Up @@ -149,37 +179,5 @@ public void ActivateComputer(string key)

WinActivation.SetProductKey(key);
}

//Import dll methods
[DllImport("netapi32.dll", CharSet = CharSet.Unicode)]
private static extern int NetJoinDomain(string lpServer, string lpDomain, string lpAccountOU,
string lpAccount, string lpPassword, JoinOptions nameType);

[DllImport("netapi32.dll", CharSet = CharSet.Unicode)]
private static extern int NetUnjoinDomain(string lpServer, string lpAccount, string lpPassword,
UnJoinOptions fUnjoinOptions);

private static int DomainWrapper(HostnameChangerMessage msg, bool ou, JoinOptions options)
{
return NetJoinDomain(null,
msg.ADDom,
ou ? msg.ADOU : null,
msg.ADUser,
msg.ADPass,
options);
}

[Flags]
private enum UnJoinOptions
{
NetsetupAccountDelete = 0x00000004
}

[Flags]
private enum JoinOptions
{
NetsetupJoinDomain = 0x00000001,
NetsetupAcctCreate = 0x00000002
}
}
}
4 changes: 2 additions & 2 deletions Modules/PrinterManager/Windows/WindowsPrinterManager.cs
Expand Up @@ -137,8 +137,8 @@ public override void Configure(Printer printer, bool verbose = false)
public override void ApplyChanges()
{
Log.Entry(LogName, "Restarting spooler");
ProcessHandler.Run("net", "stop spooler");
ProcessHandler.Run("net", "start spooler");
Process.Start("net", "stop spooler")?.WaitForExit(15*1000);
Process.Start("net", "start spooler")?.WaitForExit(15 * 1000);
}

private void AddIPPort(Printer printer, string remotePort)
Expand Down
4 changes: 2 additions & 2 deletions Modules/SnapinClient/SnapinClient.cs
Expand Up @@ -106,13 +106,13 @@ protected override void DoWork(Response data, SnapinMessage msg)
Communication.Contact(
$"/service/snapins.checkin.php?taskid={snapin.JobTaskID}&exitcode={exitCode}", true);

if (snapin.Action.ToLower().Equals("reboot"))
if (snapin.Action.Equals("reboot", StringComparison.OrdinalIgnoreCase))
{
Power.Restart("Snapin requested restart", Power.ShutdownOptions.Delay,
"This computer needs to reboot to apply new software.");
break;
}
else if (snapin.Action.ToLower().Equals("shutdown"))
else if (snapin.Action.Equals("shutdown", StringComparison.OrdinalIgnoreCase))
{
Power.Shutdown("Snapin requested shutdown", Power.ShutdownOptions.Delay,
"This computer needs to shutdown to apply new software.");
Expand Down
8 changes: 8 additions & 0 deletions UniversalInstaller/Mac/MacInstall.cs
Expand Up @@ -67,6 +67,7 @@ public bool Install()
ProcessHandler.Run("chmod", "755 " + Path.Combine(GetLocation(), "osxbind.sh"));
ProcessHandler.Run("chmod", "755 " + Path.Combine(GetLocation(), "control.sh"));
ProcessHandler.Run("chmod", "755 " + Path.Combine(GetLocation(), "OSX-FOG-TRAY.app"));
ProcessHandler.Run("chmod", "+x " + Path.Combine(GetLocation(), "OSX-FOG-TRAY.app/Contents/MacOS/OSX-FOG-Tray"));

ProcessHandler.Run("chown", "root /Library/LaunchDaemons/org.freeghost.daemon.plist");
ProcessHandler.Run("chown", "root /Library/LaunchAgents/org.freeghost.useragent.plist");
Expand Down Expand Up @@ -98,11 +99,18 @@ public bool Uninstall()
{
if (Directory.Exists(GetLocation()))
{
// Check if an upgrade is underway
if (Settings.Location.Contains(GetLocation()))
{
var filePaths = Directory.GetFiles(GetLocation(), "*", SearchOption.TopDirectoryOnly);
foreach (var filePath in filePaths.Where(filePath => !filePath.ToLower().EndsWith("fog.log")))
File.Delete(filePath);

// OSX .app programs are actually directories
var trayApp = Path.Combine(GetLocation(), "OSX-FOG-TRAY.app");
if (Directory.Exists(trayApp))
Directory.Delete(trayApp, true);

}
else
{
Expand Down
12 changes: 10 additions & 2 deletions UniversalInstaller/UniversalInstaller.cs
Expand Up @@ -69,6 +69,14 @@ static void Main(string[] args)

p.Parse(args);

if (args.Length == 1)
{
if (args[0].Equals("upgrade"))
upgrade = true;
else if (args[0].Equals("uninstall"))
uninstall = true;
}

if (uninstall)
PerformCLIUninstall();
else if (upgrade)
Expand Down Expand Up @@ -224,7 +232,7 @@ private static void PerformCLIInstall(bool noInfo = false)
Console.ForegroundColor = _infoColor;
var rawTray = Console.ReadLine();
Console.ResetColor();
if (rawTray.Trim().ToLower().Equals("n"))
if (rawTray.Trim().Equals("n", StringComparison.OrdinalIgnoreCase))
tray = "0";

// Check hostname length (OSX appends .local by default)
Expand All @@ -248,7 +256,7 @@ private static void PerformCLIInstall(bool noInfo = false)
Console.ForegroundColor = _infoColor;
var rawStart = Console.ReadLine();
Console.ResetColor();
if (rawStart.Trim().ToLower().Equals("n"))
if (rawStart.Trim().Equals("n", StringComparison.OrdinalIgnoreCase))
start = false;
}

Expand Down
2 changes: 1 addition & 1 deletion UpdateHelper/AbstractUpdate.cs
Expand Up @@ -27,7 +27,7 @@ abstract class AbstractUpdate : IUpdate
{
public void ApplyUpdate()
{
ProcessHandler.RunClientEXE("SmartInstaller.exe", "upgrade");
ProcessHandler.RunClientEXE("SmartInstaller.exe", "--upgrade");
}

public abstract void StartService();
Expand Down
24 changes: 14 additions & 10 deletions UserService/app.config
@@ -1,23 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.2.13.0" newVersion="1.2.13.0"/>
<assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.2.13.0" newVersion="1.2.13.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0"/>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="SuperSocket.SocketBase" publicKeyToken="6c80000676988ebb" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.6.4.0" newVersion="1.6.4.0"/>
<assemblyIdentity name="SuperSocket.SocketBase" publicKeyToken="6c80000676988ebb" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.6.4.0" newVersion="1.6.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="SuperSocket.Common" publicKeyToken="6c80000676988ebb" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.6.4.0" newVersion="1.6.4.0"/>
<assemblyIdentity name="SuperSocket.Common" publicKeyToken="6c80000676988ebb" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.6.4.0" newVersion="1.6.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebSocket4Net" publicKeyToken="eb4e154b696bf72a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-0.14.1.0" newVersion="0.14.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" /></startup></configuration>
12 changes: 10 additions & 2 deletions UserService/main.cs
Expand Up @@ -57,13 +57,21 @@ public static void Main(string[] args)
_fogService = new FOGUserService();
_fogService.Start();

if (Settings.Get("Tray").Equals("1") && Settings.OS == Settings.OSType.Windows)
if (Settings.Get("Tray").Equals("1"))
StartTray();
}

private static void StartTray()
{
ProcessHandler.RunClientEXE("FOGTray.exe", "", false);
switch (Settings.OS)
{
case Settings.OSType.Windows:
ProcessHandler.RunClientEXE("FOGTray.exe", "", false);
break;
case Settings.OSType.Mac:
ProcessHandler.Run("open", Path.Combine(Settings.Location, "OSX-FOG-TRAY.app"), false);
break;
}
}
}
}

0 comments on commit d44d243

Please sign in to comment.