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 92 by Douglas Thrift, 2004-03-01T23:23:39-08:00 vs.
Revision 106 by Douglas Thrift, 2004-03-02T14:08:44-08:00

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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines