Пример #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("IronSHTServer program started");

            Console.WriteLine("Processing command-line arguments");

            Params ps = new Params();

            foreach (var arg in args)
            {
                if (!ps.ProcessCommandLineArgument(arg))
                {
                    usage();
                    return;
                }
            }

            if (!ps.Validate())
            {
                usage();
                return;
            }

            ServiceIdentity serviceIdentity = ServiceIdentity.ReadFromFile(ps.ServiceFileName);

            if (serviceIdentity == null)
            {
                return;
            }
            if (serviceIdentity.ServiceType != "IronSHT")
            {
                Console.Error.WriteLine("ERROR - Service described by {0} is of type {1}, not IronSHT", ps.ServiceFileName,
                                        serviceIdentity.ServiceType);
                return;
            }

            PrivateIdentity privateIdentity = PrivateIdentity.ReadFromFile(ps.PrivateKeyFileName);

            if (privateIdentity == null)
            {
                return;
            }

            Native____Io__s_Compile.PrintParams.SetParameters(ps.Profile, i_shouldPrintProgress: false);

            var nc = Native____Io__s_Compile.NetClient.Create(privateIdentity, ps.LocalHostNameOrAddress, ps.LocalPort,
                                                              serviceIdentity.Servers, ps.Verbose);

            Dafny.ISequence <byte>[] serverPublicKeys =
                serviceIdentity.Servers.Select(server => Dafny.Sequence <byte> .FromArray(server.PublicKey)).ToArray();
            var ironArgs = Dafny.Sequence <Dafny.ISequence <byte> > .FromArray(serverPublicKeys);

            Profiler.Initialize();
            Native____Io__s_Compile.Time.Initialize();
            Console.WriteLine("IronFleet program started.");
            Console.WriteLine("[[READY]]");
            Main__i_Compile.__default.IronfleetMain(nc, ironArgs);
            Console.WriteLine("[[EXIT]]");
        }
Пример #2
0
        static void Main(string[] args)
        {
            Params ps = new Params();

            foreach (var arg in args)
            {
                if (!ps.ProcessCommandLineArgument(arg))
                {
                    usage();
                    return;
                }
            }

            if (!ps.Validate())
            {
                return;
            }

            ServiceIdentity serviceIdentity = ServiceIdentity.ReadFromFile(ps.ServiceFileName);

            if (serviceIdentity == null)
            {
                return;
            }

            PrivateIdentity privateIdentity = PrivateIdentity.ReadFromFile(ps.PrivateKeyFileName);

            if (privateIdentity == null)
            {
                return;
            }

            var runner = new Runner(serviceIdentity, privateIdentity, ps);

            runner.Run();
        }
Пример #3
0
        static void Main(string[] args)
        {
            Console.WriteLine("IronRSL{0}Server program started", Service.Name);

            Console.WriteLine("Processing command-line arguments");

            Params ps = new Params();

            foreach (var arg in args)
            {
                if (!ps.ProcessCommandLineArgument(arg))
                {
                    usage();
                    return;
                }
            }

            if (!ps.Validate())
            {
                usage();
                return;
            }

            ServiceIdentity serviceIdentity = ServiceIdentity.ReadFromFile(ps.ServiceFileName);

            if (serviceIdentity == null)
            {
                return;
            }
            if (serviceIdentity.ServiceType != "IronRSL" + Service.Name)
            {
                Console.Error.WriteLine("Provided service identity has type {0}, not IronRSL{1}.",
                                        serviceIdentity.ServiceType, Service.Name);
                return;
            }

            PrivateIdentity privateIdentity = PrivateIdentity.ReadFromFile(ps.PrivateKeyFileName);

            if (privateIdentity == null)
            {
                return;
            }

            Native____Io__s_Compile.PrintParams.SetParameters(ps.Profile, ps.Progress);

            if (ps.Safeguard)
            {
                File.Delete(ps.PrivateKeyFileName);
                Console.WriteLine("Deleted private key file after reading it since RSL servers should never run twice.");
            }
            else
            {
                Console.WriteLine(@"
  *** DANGER:  Because you specified safeguard=false, we didn't delete the ***
  *** private key file to prevent you from running the RSL server twice.   ***
  *** Hopefully, you're just testing things.                               ***
");
            }

            var nc = Native____Io__s_Compile.NetClient.Create(privateIdentity, ps.LocalHostNameOrAddress, ps.LocalPort,
                                                              serviceIdentity.Servers, ps.Verbose);

            Dafny.ISequence <byte>[] serverPublicKeys =
                serviceIdentity.Servers.Select(server => Dafny.Sequence <byte> .FromArray(server.PublicKey)).ToArray();
            var ironArgs = Dafny.Sequence <Dafny.ISequence <byte> > .FromArray(serverPublicKeys);

            Profiler.Initialize();
            Native____Io__s_Compile.Time.Initialize();
            Console.WriteLine("[[READY]]");
            Main__i_Compile.__default.IronfleetMain(nc, ironArgs);
            Console.WriteLine("[[EXIT]]");
        }