ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/HostUpdateSharp/HostUpdateSharp.cs
(Generate patch)

Comparing HostUpdateSharp/HostUpdateSharp.cs (file contents):
Revision 77 by Douglas Thrift, 2004-02-28T00:37:46-08:00 vs.
Revision 96 by Douglas Thrift, 2004-03-02T00:26:19-08:00

# Line 7 | Line 7
7   using System;
8   using System.IO;
9   using System.Net;
10 + using System.Text;
11  
12 < namespace DouglasThrift.HostUpdateSharp
12 > public class HostUpdateSharp
13   {
14 <        public class HostUpdateSharp
14 >        public static void Main(string[] args)
15          {
16 <                public static void Main(string[] args)
16 >                try
17                  {
18 <                        //
18 >                        new HostUpdateSharp();
19                  }
20 +                catch (Exception exception) { Console.Error.WriteLine(exception); }
21          }
22 +        public HostUpdateSharp()
23 +        {
24 +                StringBuilder host = new StringBuilder("host=" + Dns.GetHostName());
25 +                string url = "http://topsecret.douglasthrift.net/auth/hostupdate.cgi";
26 +
27 +                if ((host + "").IndexOf('.') < 0)
28 +                {
29 +                        host.Append(".local.douglasthrift.net");
30 +                }
31 +
32 +                WebHeaderCollection headers = new WebHeaderCollection();
33 +
34 +                headers.Add("Authorization", "Basic " + Convert.ToBase64String((new
35 +                        ASCIIEncoding()).GetBytes("HostUpdate:frell2003")));
36 +
37 +                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
38 +
39 +                request.Accept = "text/plain";
40 +                request.ContentLength = host.Length;
41 +                request.ContentType = "application/x-www-form-urlencoded";
42 +                request.Headers = headers;
43 +                request.KeepAlive = false;
44 +                request.Method = "POST";
45 +                request.UserAgent = "Host Update Sharp/1.0 (" + platform() + ')';
46 +
47 +                StreamWriter post = new StreamWriter(request.GetRequestStream(),
48 +                        Encoding.ASCII);
49 +
50 +                post.Write(host);
51 +                post.Close();
52 +
53 +                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
54 +
55 +                StreamReader content = new StreamReader(response.GetResponseStream(),
56 +                        Encoding.ASCII);
57 +
58 +                Console.Write(content.ReadToEnd());
59 +                content.Close();
60 +        }
61 + #if _FreeBSD_
62 +        private string platform() { return "FreeBSD 4.9-STABLE i386"; }
63 + #else
64 +        private string platform()
65 +        {
66 +                OperatingSystem os = Environment.OSVersion;
67 +                string system = "Unknown";
68 +
69 +                switch (os.Platform)
70 +                {
71 +                case PlatformID.Win32NT:
72 +                        system = "Windows NT";
73 +                        break;
74 +                case PlatformID.Win32Windows:
75 +                        system = "Windows";
76 +                        break;
77 +                }
78 +
79 +                int major = os.Version.Major, minor = os.Version.Minor;
80 +                string version = os + "";
81 +
82 +                switch (system)
83 +                {
84 +                case "Windows NT":
85 +                        switch (major)
86 +                        {
87 +                        case 5:
88 +                                switch (minor)
89 +                                {
90 +                                case 0:
91 +                                        version = "Windows 2000";
92 +                                        break;
93 +                                case 1:
94 +                                        version = "Windows XP";
95 +                                        break;
96 +                                case 2:
97 +                                        version = "Windows .NET Server";
98 +                                        break;
99 +                                }
100 +                                break;
101 +                        }
102 +                        break;
103 +                case "Windows":
104 +                        if (major == 4)
105 +                        {
106 +                                switch (minor)
107 +                                {
108 +                                case 10:
109 +                                        version = " Windows 98";
110 +                                        break;
111 +                                case 90:
112 +                                        version = " Windows ME";
113 +                                        break;
114 +                                }
115 +                        }
116 +                        break;
117 +                }
118 +
119 +                return system + ' ' + major + '.' + minor + " [" + version + "] ix86";
120 +        }
121 + #endif
122   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines