Esempio n. 1
0
 public override void Execute(DaemonClient dc, Repository db)
 {
     EndPoint peer = dc.Peer;
     string host = Dns.GetHostEntry((peer as IPEndPoint).Address).HostName ??
                   (peer as IPEndPoint).Address.ToString();
     ReceivePack rp = new ReceivePack(db);
     Stream stream = dc.Stream;
     string name = "anonymous";
     string email = name + "@" + host;
     rp.setRefLogIdent(new PersonIdent(name, email));
     rp.receive(stream, null);
 }
Esempio n. 2
0
 public override void Execute(DaemonClient dc, Repository db)
 {
     var rp = new UploadPack(db);
     Stream stream = dc.Stream;
     rp.Upload(stream, null, null);
 }
Esempio n. 3
0
            public override void Execute(DaemonClient dc, Repository db)
            {
                EndPoint peer = dc.Peer;

                var ipEndpoint = peer as IPEndPoint;
                if (ipEndpoint == null)
                {
                    throw new InvalidOperationException("peer must be a IPEndPoint");
                }

                string host = Dns.GetHostEntry(ipEndpoint.Address).HostName ?? ipEndpoint.Address.ToString();
                var rp = new ReceivePack(db);
                Stream stream = dc.Stream;
                const string name = "anonymous";
                string email = name + "@" + host;
                rp.setRefLogIdent(new PersonIdent(name, email));
                rp.receive(stream, null);
            }
Esempio n. 4
0
        private void startClient(Socket s)
        {
            var dc = new DaemonClient(this) { Peer = s.RemoteEndPoint };

            // [caytchen] TODO: insanse anonymous methods were ported 1:1 from jgit, do properly sometime
            var t = new Thread(
                new ThreadStart(delegate
                                    {
                                        var stream = new NetworkStream(s);
                                        try
                                        {
                                            dc.Execute(new BufferedStream(stream));
                                        }
                                        catch (IOException)
                                        {
                                        }
                                        catch (SocketException)
                                        {
                                        }
                                        finally
                                        {
                                            try
                                            {
                                                stream.Close();
                                                s.Close();
                                            }
                                            catch (IOException)
                                            {
                                            }
                                            catch (SocketException)
                                            {
                                            }
                                        }
                                    }));

            t.Start();
            Processors.Add("Git-Daemon-Client " + s.RemoteEndPoint, t);
        }