ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/HostUpdateSharp/HostUpdateSharp.cs
Revision: 104
Committed: 2004-03-02T13:41:03-08:00 (21 years, 3 months ago) by Douglas Thrift
File size: 2466 byte(s)
Log Message:
This should be better.

File Contents

# Content
1 // Host Update Sharp
2 //
3 // Douglas Thrift
4 //
5 // $Id$
6
7 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();
35 }
36 catch (Exception exception) { Console.Error.WriteLine(exception); }
37 }
38 public HostUpdateSharp()
39 {
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)
45 {
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.Headers = headers;
60 request.KeepAlive = false;
61 request.Method = "POST";
62 request.UserAgent = "Host Update Sharp/1.0 (" + platform() + ')';
63
64 StreamWriter post = new StreamWriter(request.GetRequestStream(),
65 Encoding.ASCII);
66
67 post.Write(host);
68 post.Close();
69
70 HttpWebResponse response = (HttpWebResponse)request.GetResponse();
71
72 StreamReader content = new StreamReader(response.GetResponseStream(),
73 Encoding.ASCII);
74
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 static string platform()
88 {
89 if (uname == "")
90 {
91 uname = "Unknown 0.0 x86";
92 }
93
94 return uname;
95 }
96 #else
97 private static string platform()
98 {
99 if (uname == "")
100 {
101 OperatingSystem os = Environment.OSVersion;
102 string system = "Unknown";
103
104 switch (os.Platform)
105 {
106 case PlatformID.Win32NT:
107 system = "Windows NT";
108 break;
109 case PlatformID.Win32Windows:
110 system = "Windows";
111 break;
112 }
113
114 uname = system + ' ' + os.Version.Major + '.' + os.Version.Minor +
115 " x86";
116 }
117
118 return uname;
119 }
120 #endif
121 }

Properties

Name Value
svn:eol-style native
svn:keywords Id