dmacias.org is almost not broken.

Ok, so you might have noticed the somewhat drastic change going around here. Images seem to be in their respective spot and comments can now be viewed again.

There are some bugs that I am chasing around so sit tight.

~david macias

Cisco Security Advisory: A Default Username and Password in WLSE and HSE Devices

Interesting read over at Slashdot, about Cisco having a hard coded L/P in two of their software packages.


  • The affected software releases for WLSE are 2.0, 2.0.2 and 2.5.
  • The affected software releases for HSE are 1.7, 1.7.1, 1.7.2 and 1.7.3.



  • Of course the fine folks at Slashdot have raised all sorts of issues about privacy, who can you trust, open source this, open source that, and wearing tin foil hats.



    Cisco SlashdotI am a bit torn on the issue. How many calls does a company get regarding forgotten passwords or rogue employees sabotaging a company’s network?


    Who can you trust with information that could potentially put at risk each and every one of your customers?



    There is the pickle!

    dmacias.org is broken!

    Well not really, I had to change to a default theme, because the theme I normally use Axonz, is not compatible with my version of GL. So I will be dropping the Axonz developer a line to see what’s up. Also, I am working on my own little theme, but since school and work are constantly keeping me too busy, I don’t have that much time to dedicate to this site.

    ~david macias

    PS: to the lovely bot who spammed my site, I will find you.

    RSS and PHP with a hint of CSS

    Well this is the continuation from ealier story to my earlier post about messing around with RSS feeds with PHP. The synopsis of my little project was to capture the recents job postings from a really good job posting website. Take a look below for the code.



    ~david maciasSome limitations: I need to learn how to reuse the XML parser that way I don’t have to build it and clean it up new everytime, creates really messy code. I am not sure how bad of a load it is causing on the RSS home website. Among other things, but hey for 2 hours of hacking this works out pretty decent. Check out a live example at: Example

    
    <html>
    <head>
    <title>Bottom Page</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    //CSS to ensure that text starts on top of colum regarldless of how many entries are received
    <style type="text/css">
    <!--
    .veralign {
            vertical-align: top;
    }
    -->
    </style>
    </head>
    
    <body>
    <p>
      <?php
            if (($_GET['city']) == NULL){
                    printf("No City Selected");
    //if there is no city selected do not process and code, saves resources
            }
            else {
                    printf("<p>City: ");
                    printf($_GET['city']);
                    printf("</p>");
    
                    class RSSParser {
                            var $insideitem = false;
                            var $sectitle = "";
                            var $title = "";
                            var $link = "";
                            var $creator = "";
                            var $language = "";
                            var $source = "";
                            var $rights = "";
                            var $date = "";
                            var $type = "";
    
                            function startElement($parser, $tagName, $attrs) {
                                    if ($this->insideitem) {
                                            $this->tag = $tagName;
                                    }
                                    elseif ($tagName == "ITEM") {
                                            $this->insideitem = true;
                                    }
                            }
    
                            function endElement($parser, $tagName) {
                                    if ($tagName == "ITEM") {
                                            printf("<font size =\"2\"><b><a href='%s'>%s</a></b> [ %s ]</font><BR>", trim($this->link), htmlspecialchars(trim($this->title)), htmlspecialchars(trim($this->source)));
                                            printf("<font size=\"2\"><b>Date: %s </b></font><BR>", htmlspecialchars(trim($this->date)));
                                            printf("<font size=\"1\">Creator: %s</font><BR>", htmlspecialchars(trim($this->creator)));
                                            printf("<font size=\"1\">Rights: %s</font><BR><BR>", htmlspecialchars(trim($this->rights)));
                                            $this->title = "";
                                            $this->link = "";
                                            $this->source = "";
                                            $this->date = "";
                                            $this->rights = "";
                                            $this->creator = "";
                                            $this->insideitem = false;
                                    }
                            }
    
                            function characterData($parser, $data) {
                                    if ($this->insideitem) {
                                            switch ($this->tag) {
                                                    case "DC:TITLE":
                                                            $this->title .= $data;
                                                    break;
                                                    case "LINK":
                                                            $this->link .= $data;
                                                    break;
                                                    case "DC:CREATOR":
                                                            $this->creator .= $data;
                                                    break;
                                                    case "DC:RIGHTS":
                                                            $this->rights .= $data;
                                                    break;
                                                    case "DC:DATE":
                                                            $this->date .= $data;
                                                    break;
                                                    case "DC:SOURCE":
                                                            $this->source .= $data;
                                                    break;
                                            }
                                    }
                            }
                    }
     printf("<table width=\"100%%\" border=\"1\" cellspacing=\"0\" cellpadding=\"10\"><tr>");
            printf("<td class=\"veralign\">");
    
                    $xml_parser = xml_parser_create();
                    $rss_parser = new RSSParser();
    
                    xml_set_object($xml_parser,&$rss_parser);
                    xml_set_element_handler($xml_parser, "startElement", "endElement");
                    xml_set_character_data_handler($xml_parser, "characterData");
    
                    printf("<B>%s Internet Engineering</B><BR>", $_GET['city']);
                    $fp = fopen("http://".$_GET['city'].".craigslist.org/eng/index.rss","r")
                    or die("Error reading RSS data.");
                    while ($data = fread($fp, 4096))
                            xml_parse($xml_parser, $data, feof($fp))
                    or die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser)));
                    fclose($fp);
    
                    xml_parser_free($xml_parser);
            printf("</td>");
    
            //////////////
            printf("<td class=\"veralign\">");
    
                    $xml_parser = xml_parser_create();
                    $rss_parser = new RSSParser();
                    xml_set_object($xml_parser,&$rss_parser);
                    xml_set_element_handler($xml_parser, "startElement", "endElement");
                    xml_set_character_data_handler($xml_parser, "characterData");
    
                    printf("<B>%s Software/DBA</B><BR>", $_GET['city']);
                    $fp1 = fopen("http://".$_GET['city'].".craigslist.org/sof/index.rss","r")
                    or die("Error reading RSS data.");
                    while ($data = fread($fp1, 4096))
                            xml_parse($xml_parser, $data, feof($fp1))
                    or die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser)));
                    fclose($fp1);
    
                    xml_parser_free($xml_parser);
    
            printf("</td>");
    
            ///////////
            printf("<td class=\"veralign\">");
    
                    $xml_parser = xml_parser_create();
            $rss_parser = new RSSParser();
            xml_set_object($xml_parser,&$rss_parser);
            xml_set_element_handler($xml_parser, "startElement", "endElement");
            xml_set_character_data_handler($xml_parser, "characterData");
    
            printf("<B>%s Systems/Networking</B><BR>", $_GET['city']);
            $fp1 = fopen("http://".$_GET['city'].".craigslist.org/sad/index.rss","r")
            or die("Error reading RSS data.");
            while ($data = fread($fp1, 4096))
                    xml_parse($xml_parser, $data, feof($fp1))
            or die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser)));
            fclose($fp1);
    
            xml_parser_free($xml_parser);
    
            printf("</td>");
    
            ///////////
    
            printf("<td class=\"veralign\">");
    
            $xml_parser = xml_parser_create();
            $rss_parser = new RSSParser();
            xml_set_object($xml_parser,&$rss_parser);
            xml_set_element_handler($xml_parser, "startElement", "endElement");
            xml_set_character_data_handler($xml_parser, "characterData");
    
            printf("<B>%s Web/Design</B><BR>", $_GET['city']);
            $fp1 = fopen("http://".$_GET['city'].".craigslist.org/art/index.rss","r")
            or die("Error reading RSS data.");
            while ($data = fread($fp1, 4096))
                    xml_parse($xml_parser, $data, feof($fp1))
            or die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser)));
            fclose($fp1);
    
            xml_parser_free($xml_parser);
    
            printf("</td>");
    
            ///////////
            printf("<td class=\"veralign\">");
    
            $xml_parser = xml_parser_create();
            $rss_parser = new RSSParser();
            xml_set_object($xml_parser,&$rss_parser);
            xml_set_element_handler($xml_parser, "startElement", "endElement");
            xml_set_character_data_handler($xml_parser, "characterData");
    
            printf("<B>%s Tech Support</B><BR>", $_GET['city']);
            $fp1 = fopen("http://".$_GET['city'].".craigslist.org/tch/index.rss","r")
            or die("Error reading RSS data.");
            while ($data = fread($fp1, 4096))
                    xml_parse($xml_parser, $data, feof($fp1))
            or die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser)));
            fclose($fp1);
    
            xml_parser_free($xml_parser);
    
            printf("</td>");
            printf("</tr></table>");
            }
    
    ?>
    </p>
    </body>
    </html>
    

    MandrakeSoft out of Chapter 11 Protection

    Just saw on /., that Mandrake is out of their Chapter 11 like protection which they filed some months back. Good to hear for my favorite linux distribution. I have some reservations over the new Mandrake, however I will not pass any judgement until I get the official release from the MandrakeSoft store.

    Support your linux companies, time is not free and their efforts are definetly appreciated.

    ~david macias

    Moving out of the RC into the final version

    Upgraded the code base of the website, looks like it was succesful. I will kep the old site for a while, just in case I missed something. Seems a little faster, I wish my host was running PHP 4.3 or atleast running PEAR, but alas no :-(

    ~david macias

    RSS and PHP

    So I decided to play around with PHP and XML. My objective was to create a site which will retrieve job postings from a RSS feed. I am currently tweaking it but so far it is working great. Here are some pointers for any souls trying to to do something similar.



    ~david macias



    I retrieved this tutorial from this Great Site.



    I have updated this article with this new story.Please take a look at the comments made in the source code. This code will retrieve a feed, parse it, then print only the parts I really care about. For the most part the code is self explanatory, but I have included some comments to help out the newbies like me.


    
    <html>
    <head>
    <title>DAM's RSS/XML and PHP</title>
    </head>
    <body>
    <h2>Currently...</h2>
    <dl>
    <?php
    	class RSSParser {
    		var $insideitem = false; //Check out the what is inside the <title> tags, and these variables should reflect what you want to pull out
    		var $sectitle = "";
    		var $title = "";
    		var $link = "";
    		var $creator = "";
    		var $language = "";
    		var $source = "";
    		var $rights = "";
    		var $date = "";
    		var $type = "";
    		//This function checks if you are inside a new item
    		function startElement($parser, $tagName, $attrs) {
    			if ($this->insideitem) {
    				$this->tag = $tagName;
    			} 
    			elseif ($tagName == "ITEM") {
    				$this->insideitem = true;				
    			}
    		}	
    	//functions prints out the data retreived from the RSS feed
    		function endElement($parser, $tagName) {
    			if ($tagName == "ITEM") {
    				printf("<dt><b><a href='%s'>%s</a></b> [ %s ]</dt>", trim($this->link),htmlspecialchars(trim($this->title)),htmlspecialchars(trim($this->source)));
    				printf("Date: %s <BR>",htmlspecialchars(trim($this->date)));
    				printf("Creator: %s<BR>",htmlspecialchars(trim($this->creator)));
    				printf("Rights: %s<BR><BR>",htmlspecialchars(trim($this->rights)));
    				$this->title = "";
    				$this->link = "";
    				$this->source = "";
    				$this->date = "";
    				$this->rights = "";
    				$this->creator = "";
    				$this->insideitem = false;
    			}
    		}
    	
    		function characterData($parser, $data) {
    			if ($this->insideitem) {
    				switch ($this->tag) {
    					case "DC:TITLE":
    						$this->title .= $data;
    					break;
    					case "LINK":
    						$this->link .= $data;
    					break;
    					case "DC:CREATOR":
    						$this->creator .= $data;
    					break;
    					case "DC:RIGHTS":
    						$this->rights .= $data;
    					break;
    					case "DC:DATE":
    						$this->date .= $data;
    					break;
    					case "DC:SOURCE":
    						$this->source .= $data;
    					break;
    				}
    			}
    		}
    	}
    
    	$xml_parser = xml_parser_create();
    	$rss_parser = new RSSParser();
    	xml_set_object($xml_parser,&$rss_parser);
    	xml_set_element_handler($xml_parser, "startElement", "endElement");
    	xml_set_character_data_handler($xml_parser, "characterData");
    	
    	$xml_parser = xml_parser_create();
    	$rss_parser = new RSSParser();
    	xml_set_object($xml_parser,&$rss_parser);
    	xml_set_element_handler($xml_parser, "startElement", "endElement");
    	xml_set_character_data_handler($xml_parser, "characterData");
    	
    	$fp1 = fopen("htt://YourSiteFeedGoesHere/rss.xml","r")
    	or die("Error reading RSS data.");
    	while ($data = fread($fp1, 4096))
    		xml_parse($xml_parser, $data, feof($fp1))
    	or die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser)));
    	fclose($fp1);
    	xml_parser_free($xml_parser);
    ?>
    </dl>
    </body>
    </html>
    

    Windows 2003 Server

    So I finally cracked down and started playing with the future of the Windows Servers. I am talking about the Windows 2003 server. Read on to find out what some of my initial thoughts on this new operating system.



    edit: 04/08/04
    Security Focus just posted a new article on the IIS6.0 security :-) Talk about timely.1. It actually loaded pretty fast, which I was surprised, I didn’t use a beast of a machine, but what I did use, seemed to work well and have a nice response time.



    2. Security, this has to be the first server where it seems like the computer is tight down out of the box. A couple of ports were open which seem to be unnecessary, but I will not close then until I find out more about the operating system.



    3. The interface is a great improvement from that horrible interface called Windows XP.



    4. Symantec Antivirus Corporate Edition v8 does not play well with 2003, at least for me, and I am having a hard time automating the virus updates. I think it might have something to do with Windows security.



    5. I absolutely love remote desktop connection; MS finally got on the ball and did what PC Anywhere and tightVNC have been doing for years.



    6. Sharepoint is nice; I just need to read up on how to configure it correctly.



    I don’t see the migration from Windows 2002 Server to Windows 2003 should be too painful. However, I think that with the new IIS 6.0 that my Linux server might end up doing something else.



    -david macias

    Lost Prophets – Last Train Home

    Kind of a sign, was just thinking about this song, when my favorite internet radio station played it. So this song is about hope after love, the words might seem a little depressing, but the underlaying message is that there is "still tomorrow".

    And we sing.One! Two! Three!

    To every broken heart in here
    Love was once a part, but now it’s disappeared
    She told me that it’s all a part of the choices that you’re making
    Even when you think you’re right
    You have to give to take

    But there’s still tomorrow
    Forget the sorrow
    And I can be on the last train home
    Watch it pass the day
    As it fades away
    No more time to care
    No more time, today

    But we sing
    If we’re going nowhere
    Yeah we sing
    If it’s not enough
    And we sing
    Sing without a reason
    To ever fall in love

    I wonder if you’re listening
    Picking up on the signals
    Sent back from within
    Sometimes it feels like I don’t really know whats going on
    Time and time again it seems like everything is wrong in here

    But there’s still tomorrow
    Forget the sorrow
    And I can be on the last train home
    Watch it pass the day
    As it fades away
    No more time to care
    No more time, today

    But we sing
    If we’re going nowhere
    Yeah we sing
    If it’s not enough
    And we sing
    Sing without a reason
    To ever fall in love

    Well we sing if we’re going nowhere
    Yeah we sing if it’s not enough
    And we sing
    Sing without a reason to ever fall in love

    But we sing
    If we’re going no where
    Yeah we sing
    If it’s not enough
    And we sing
    Sing with out a reason to never fall in love
    To never fall in love again