<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Scott Hughes</title>
	<atom:link href="http://scotthughes.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://scotthughes.org</link>
	<description></description>
	<lastBuildDate>Sun, 09 Jan 2011 19:03:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Resume a download behind a Login Form</title>
		<link>http://scotthughes.org/resume-a-download-behind-a-login-form/</link>
		<comments>http://scotthughes.org/resume-a-download-behind-a-login-form/#comments</comments>
		<pubDate>Sun, 09 Jan 2011 18:59:54 +0000</pubDate>
		<dc:creator>sdhughes</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://scotthughes.org/?p=32</guid>
		<description><![CDATA[Sometimes, when you&#8217;re downloading a large file from a NAS or website which requires you to login via an HTML form, you need to retrieve the website cookie into curl before resuming the download. curl -c '/tmp/cookie' -d 'username=USERNAME_HERE&#38;passwd=PASSWORD_HERE' http://full.url.to/login_form.cgi &#8230; <a href="http://scotthughes.org/resume-a-download-behind-a-login-form/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Sometimes, when you&#8217;re downloading a large file from a NAS or website which requires you to login via an HTML form, you need to retrieve the website cookie into curl before resuming the download.<br />
<code><br />
curl -c '/tmp/cookie' -d 'username=USERNAME_HERE&amp;passwd=PASSWORD_HERE' http://full.url.to/login_form.cgi</p>
<p>curl -b '/tmp/cookie' -o partial-downloaded-file.zip -C - http://full.url.to/original_file.zip<br />
</code><br />
You&#8217;ll have to replace &#8220;username&#8221; and &#8220;passwd&#8221; with whatever the login form HTML names are.</p>
]]></content:encoded>
			<wfw:commentRss>http://scotthughes.org/resume-a-download-behind-a-login-form/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deer in the Back Yard</title>
		<link>http://scotthughes.org/deer-in-the-back-yard/</link>
		<comments>http://scotthughes.org/deer-in-the-back-yard/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 03:55:10 +0000</pubDate>
		<dc:creator>sdhughes</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://scotthughes.org/?p=23</guid>
		<description><![CDATA[My wife took this video.. it&#8217;s right in our back yard at breakfast time.]]></description>
			<content:encoded><![CDATA[<p>My wife took this video.. it&#8217;s right in our back yard at breakfast time.</p>
<!-- degradable html5 audio and video plugin --><div class="video_wrap html5video"><div style="display:none;"><object width="480" height="320" type="application/x-shockwave-flash" data="http://scotthughes.org/wp-content/plugins/degradable-html5-audio-and-video/incl/videoplayer.swf?file=http://scotthughes.org/wp-content/uploads/2010/11/Deer.m4v" id="f-html5video-0"><param name="movie" value="http://scotthughes.org/wp-content/plugins/degradable-html5-audio-and-video/incl/videoplayer.swf?file=http://scotthughes.org/wp-content/uploads/2010/11/Deer.m4v" /></object></div><video width="480" height="320" controls autobuffer id="html5video-0" class="html5video"><source src="http://scotthughes.org/wp-content/uploads/2010/11/Deer.m4v" type="video/mp4" /><object width="480" height="320" type="application/x-shockwave-flash" data="http://scotthughes.org/wp-content/plugins/degradable-html5-audio-and-video/incl/videoplayer.swf?file=http://scotthughes.org/wp-content/uploads/2010/11/Deer.m4v" id="f-html5video-0"><param name="movie" value="http://scotthughes.org/wp-content/plugins/degradable-html5-audio-and-video/incl/videoplayer.swf?file=http://scotthughes.org/wp-content/uploads/2010/11/Deer.m4v" /><p>Could not use HTML&nbsp;5 or <em>Flash</em> for playback. You can download the file as <a href="http://scotthughes.org/wp-content/uploads/2010/11/Deer.m4v">MPEG4/H.264</a> or <a href="http://scotthughes.org/wp-content/uploads/2010/11/Deer">Ogg Theora</a> file.</p></object></video></div><script type="text/javascript">if (jQuery.browser.mozilla) {tempvid=document.getElementsByTagName("video")[0]; jQuery(tempvid).remove(); jQuery("div.video_wrap div").show()} else jQuery("div.video_wrap div object").remove();</script>
]]></content:encoded>
			<wfw:commentRss>http://scotthughes.org/deer-in-the-back-yard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://scotthughes.org/wp-content/uploads/2010/11/Deer.m4v" length="5456075" type="video/mp4" />
		</item>
		<item>
		<title>Apache w/ Windows AD SSO and LDAP Group Authorization</title>
		<link>http://scotthughes.org/apache-active-directory-sso/</link>
		<comments>http://scotthughes.org/apache-active-directory-sso/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 03:22:35 +0000</pubDate>
		<dc:creator>sdhughes</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://scotthughes.org/?p=4</guid>
		<description><![CDATA[I had the requirement to authenticate a website using SSO (pass-through domain authentication) and restrict access to certain groups in Active Directory. This is how I achieved it. Components used: Redhat RHEL 5 Apache 2.2 mod_perl mod_auth_kerb Apache2::AuthZLDAP Kerberos Service &#8230; <a href="http://scotthughes.org/apache-active-directory-sso/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div>
<p>I had the requirement to authenticate a website using SSO (pass-through domain authentication) and restrict access to certain groups in Active Directory. This is how I achieved it.</p>
<h2>Components used:</h2>
<ul>
<li>
<div>Redhat RHEL 5</div>
</li>
<li>
<div>Apache 2.2</div>
</li>
<li>
<div>mod_perl</div>
</li>
<li>
<div>mod_auth_kerb</div>
</li>
<li>
<div>Apache2::AuthZLDAP</div>
</li>
</ul>
<h2>Kerberos Service Principle setup</h2>
<p>(Using <a href="http://grolmsnet.de/kerbtut/">this grolmsnet.de tutorial</a> as guidance.)</p>
<h3>Edit/Additions to krb5.conf</h3>
<pre>[libdefaults]
 default_realm = FULL-AD-DOMAIN.COM
 dns_lookup_realm = true
 dns_lookup_kdc = true</pre>
<h3>Test Basic Kerberos Functionality</h3>
<pre>username@linux [~]$ kinit username@FULL-AD-DOMAIN.COM</pre>
<h3>AD Service Principal Setup</h3>
<ul>
<li>Create a dummy user account in the Active Directory domain. It must be enabled, with &#8220;password never expires&#8221; and NOT having &#8220;force change password at next login.&#8221; It should not have any administrative privileges. Assume the username is apache-kerberos-user for the next command.</li>
<li>From the domain controller, or another machine with the ktpass.exe utility, run the following</li>
</ul>
<pre>C:\&gt;ktpass -princ HTTP/fqdn-of-webserver.domain.com@FULL-AD-DOMAIN.COM
 -mapuser apache-kerberos-user -crypto rc4-hmac-nt
 -ptype KRB5_NT_SRV_HST -pass SECRET_PASSWORD_GOES_HERE
 -out c:\apache.keytab</pre>
<ul>
<li>Move the outputted keytab file to the webserver (possibly located at /etc/httpd/conf)</li>
</ul>
<h3>Test AD Service Principal</h3>
<pre>username@linux [~]$ kinit -k -t /etc/httpd/conf/apache.keytab HTTP/fqdn-of-webserver.domain.com</pre>
<h2>Apache Setup</h2>
<pre># yum install mod_auth_kerb mod_perl</pre>
<h3>Install Apache2::AuthZLDAP perl module</h3>
<p>Instructions for this step vary based on your Perl installation standards. I use <a href="http://perl.arix.com/cpan2rpm/" target="_blank">cpan2rpm</a> to build Perl modules as RPM packages</p>
<h3>httpd.conf additions</h3>
<pre>&lt;Directory "/var/www/html/topsecret"&gt;
AuthType Kerberos
KrbAuthRealms FULL-AD-DOMAIN.COM
KrbServiceName HTTP
Krb5Keytab /etc/httpd/conf/apache.keytab
KrbMethodNegotiate on
KrbMethodK5Passwd on
KrbAuthoritative off
PerlSetVar LDAPURI      ldap://fqdn-of-ad-domaincontroller.com:389
PerlSetVar LDAPbaseDN   DC=FULL-AD-DOMAIN,DC=com
PerlSetVar LDAPuser         ldap-bind-user@full-ad-domain.com
PerlSetVar LDAPpassword     ldap-bind-password
PerlSetVar LDAPfilter       &amp;(userPrincipalName=[uid])(memberOf=CN=LDAPGROUPNAME,OU=Department,DC=FULL-AD-DOMAIN,DC=com)
PerlAuthzHandler Apache2::AuthZLDAP
require valid-user
&lt;/Directory&gt;</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://scotthughes.org/apache-active-directory-sso/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cisco Circuit Emulation (CEM) Failover</title>
		<link>http://scotthughes.org/cisco-circuit-emulation-cem-failover/</link>
		<comments>http://scotthughes.org/cisco-circuit-emulation-cem-failover/#comments</comments>
		<pubDate>Fri, 01 May 2009 03:27:47 +0000</pubDate>
		<dc:creator>sdhughes</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://scotthughes.org/?p=9</guid>
		<description><![CDATA[This circuit emulation configuration could be used in a DR situation. rtr1 is at the HQ site, rtr2 is at the remote site. rtr3 is at the disaster/failover site for HQ. It utilizes EEM with object tracking as an event &#8230; <a href="http://scotthughes.org/cisco-circuit-emulation-cem-failover/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div>
<p>This circuit emulation configuration could be used in a DR situation. rtr1 is at the HQ site, rtr2 is at the remote site. rtr3 is at the disaster/failover site for HQ. It utilizes EEM with object tracking as an event source, so it requires IOS 12.4(2)T or above. Given a fault-tolerant, routable IP connection, this provides a fault tolerant analog circuit, especially useful in legacy telephony and utility applications. Click &#8220;<a href="/cem-failover">read more</a>&#8221; for configuration details.</p>
<p>HQ Router: rtr1 Cisco 3845. NM-CEM-4TE1 installed in slot 3</p>
<p>Remote Router: rtr2 Cisco 3845. NM-CEM-4TE1 installed in slot 3</p>
<p>Disaster Recovery HQ Router: rtr3 Cisco 3845. NM-CEM-4TE1 installed in slot 3</p>
<h2>rtr1: HQ</h2>
<pre>card type t1 3
controller T1 3/0
 framing esf
 cem-group 0 timeslots 1-24
 cablelength long 0db
!
interface Loopback0
 description HQ IP
 ip address 10.0.0.1 255.255.255.255
!
cem 3/0/0
payload-compression
xconnect 10.0.0.2 0 encapsulation udp
 local ip addr 10.0.0.1
 local udp port 16002
 remote udp port 16001</pre>
<h2>rtr2: Remote</h2>
<pre>card type t1 3
controller T1 3/0
 framing esf
 cem-group 0 timeslots 1-24
 cablelength long 0db
!
track 1 ip route 10.0.0.1 255.255.255.255 reachability
!
interface Loopback0
 description REMOTE IP
 ip address 10.0.0.2 255.255.255.255
!
cem 3/0/0
payload-compression
xconnect 10.0.0.1 0 encapsulation udp
 local ip addr 10.0.0.2
 local udp port 16001
 remote udp port 16002
!
event manager applet CEM-HQ-DOWN
 event track 1 state down
 action 1.0 cli command "enable"
 action 1.1 cli command "configure term"
 action 1.2 cli command "cem 3/0/0"
 action 1.3 cli command "xconnect 10.0.0.3 0 encapsulation udp"
event manager applet CEM-HQ-UP
 event track 1 state up
 action 1.0 cli command "enable"
 action 1.1 cli command "configure term"
 action 1.2 cli command "cem 3/0/0"
 action 1.3 cli command "xconnect 10.0.0.1 0 encapsulation udp"</pre>
<h2>rtr3: Disaster Recovery HQ Site</h2>
<pre>card type t1 3
controller T1 3/0
 framing esf
 cem-group 0 timeslots 1-24
 cablelength long 0db
!
track 1 ip route 10.0.0.1 255.255.255.255 reachability
!
interface Loopback0
 description DR IP
 ip address 10.0.0.3 255.255.255.255
!
cem 3/0/0
payload-compression
xconnect 10.0.0.2 0 encapsulation udp
 local ip addr 10.0.0.3
 local udp port 16002
 remote udp port 16001
 shutdown
!
event manager applet CEM-HQ-DOWN
 event track 1 state down
 action 1.0 cli command "enable"
 action 1.1 cli command "configure term"
 action 1.2 cli command "cem 3/0/0"
 action 1.3 cli command "no shutdown"
event manager applet CEM-HQ-UP
 event track 1 state up
 action 1.0 cli command "enable"
 action 1.1 cli command "configure term"
 action 1.2 cli command "cem 3/0/0"
 action 1.3 cli command "shutdown"</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://scotthughes.org/cisco-circuit-emulation-cem-failover/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Published!</title>
		<link>http://scotthughes.org/published/</link>
		<comments>http://scotthughes.org/published/#comments</comments>
		<pubDate>Fri, 01 May 2009 03:26:18 +0000</pubDate>
		<dc:creator>sdhughes</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://scotthughes.org/?p=7</guid>
		<description><![CDATA[My work has been published in a Cisco case study: Click here to read about it.]]></description>
			<content:encoded><![CDATA[<div>
<p>My work has been published in a Cisco case study: Click <a href="http://www.cisco.com/en/US/prod/collateral/routers/ps272/case_study_C36-526902.pdf">here</a> to read about it.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://scotthughes.org/published/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing MeetingPlace Express 2.0 on VMWare</title>
		<link>http://scotthughes.org/installing-meetingplace-express-2-0-on-vmware/</link>
		<comments>http://scotthughes.org/installing-meetingplace-express-2-0-on-vmware/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 03:30:04 +0000</pubDate>
		<dc:creator>sdhughes</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://scotthughes.org/?p=12</guid>
		<description><![CDATA[I recently had the need to build a test installation of MeetingPlace Express on our VMware environment. The process is not officially supported by Cisco as it is for Communications Manager, Unity, and Presence. Here are the modifications I made &#8230; <a href="http://scotthughes.org/installing-meetingplace-express-2-0-on-vmware/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div>
<p>I recently had the need to build a test installation of MeetingPlace Express on our VMware environment. The process is not officially supported by Cisco as it is for Communications Manager, Unity, and Presence. Here are the modifications I made ot the installation to trick it into installing on VMware:</p>
<p>1. Create a VM for MeetingPlace express. I created mine with 4 GB of RAM, 2 processors, 2 NICs, and a 90GB hard drive.</p>
<p>2. Extract a MeetingPlace installation DVD into a directory on a Linux machine # mount /media/cdrecorder # mkdir /scr/MPX # cd /scr/MPX # tar -cf &#8211; /media/cdrecorder | tar -xvf -</p>
<p>3. Edit the following files to short-circuit the platform and hard drive checks: Cisco/base_scripts/check_platform.sh Cisco/vendor/misc/bin/hw_setup.sh In both cases, I simply put an &#8220;exit 0&#8243; on its own line immediately after the #!/bin/bash at the top of each file. The exit 0 immediately exits the script with a successful error code and avoids the nasty &#8220;Platform not Supported&#8221; message.</p>
<p>4. Re-roll an .iso file with your new information # cd /scr/MPX # chmod a+w isolinux/isolinux.bin # mkisofs -r -T -J -b isolinux/isolinux.bin \ -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 \ -boot-info-table -o /scr/MPX-VMWARE.iso /scr/MPX/ When you get through the OS installation, the VM will reboot. The firstboot script will prompt you to insert the Cisco Application DVD to install the MeetingPlace application. For me, I couldn&#8217;t use my &#8220;custom&#8221; DVD for this step. My original MeetingPlace Express installation DVD was recognized and installed the application successfully.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://scotthughes.org/installing-meetingplace-express-2-0-on-vmware/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Best Cake Ever!</title>
		<link>http://scotthughes.org/best-cake-ever/</link>
		<comments>http://scotthughes.org/best-cake-ever/#comments</comments>
		<pubDate>Sun, 30 Dec 2007 03:35:51 +0000</pubDate>
		<dc:creator>sdhughes</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://scotthughes.org/?p=16</guid>
		<description><![CDATA[My Wife made this for my birthday &#8212; it&#8217;s so cool it deserves to be shared with the world.]]></description>
			<content:encoded><![CDATA[<div id="attachment_15" class="wp-caption alignnone" style="width: 160px"><a href="http://scotthughes.org/wp-content/uploads/2010/11/IMG_0636.jpg" rel="lightbox[16]"><img class="size-thumbnail wp-image-15 " title="Guitar Hero Cake" src="http://scotthughes.org/wp-content/uploads/2010/11/IMG_0636-150x150.jpg" alt="" width="150" height="150" /></a><p class="wp-caption-text">Best Cake Ever! 12-28-2008</p></div>
<p>My Wife made this for my birthday &#8212; it&#8217;s so cool it deserves to be shared with the world.</p>
]]></content:encoded>
			<wfw:commentRss>http://scotthughes.org/best-cake-ever/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

