gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] [SCM] Gnash branch, ipv6, updated. release_0_8_9_final-14


From: Rob Savoye
Subject: [Gnash-commit] [SCM] Gnash branch, ipv6, updated. release_0_8_9_final-1461-ge2a526b
Date: Sat, 14 Apr 2012 13:32:46 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Gnash".

The branch, ipv6 has been updated
       via  e2a526bcb3a00f42a30396b049e2dbbc3b13bc34 (commit)
       via  90121033d07af46b4da736cc6555015221de6b2f (commit)
       via  a4364ccb0e95f53fa4b8876e5addfc9de7cd5770 (commit)
       via  97e59e5507a6d9074a76f308ee87dd0623666885 (commit)
       via  7b006611af480df8fef737be098e743e009ec403 (commit)
       via  eabc5cc75a1b636f160e2b47ebceae2b4c70c8a6 (commit)
       via  f580600479b0e45d5e3b1027163b80180a196251 (commit)
       via  6a48f18ff58ba7d37c8bb8c1c632daac2c6c68d7 (commit)
       via  ff0c13dbc7d78eadc4b224115c87ec6d00a483b7 (commit)
       via  35a601a74a8e64757612e06c85d08df88b181727 (commit)
      from  eb38447ba426faf04fc5ddfadecd2afeef59917e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit//commit/?id=e2a526bcb3a00f42a30396b049e2dbbc3b13bc34


commit e2a526bcb3a00f42a30396b049e2dbbc3b13bc34
Author: Rob Savoye <address@hidden>
Date:   Sat Apr 14 07:31:50 2012 -0600

    be less verbose, remove commented out blocks.

diff --git a/cygnal/libnet/network.cpp b/cygnal/libnet/network.cpp
index bc3138e..2446f5c 100644
--- a/cygnal/libnet/network.cpp
+++ b/cygnal/libnet/network.cpp
@@ -157,7 +157,7 @@ Network::createServer(short port)
 int
 Network::createServer(std::string hostname, short port)
 {
-    GNASH_REPORT_FUNCTION;
+//    GNASH_REPORT_FUNCTION;
 
     int             on, type;
     int             retries = 0;
@@ -208,13 +208,6 @@ Network::createServer(std::string hostname, short port)
         ot = ot->ai_next;
     }
 
-    // struct protoent *ppe;
-    // if ((ppe = getprotobyname(DEFAULTPROTO)) == 0) {
-    //     log_error(_("unable to get protocol entry for %s"),
-    //               DEFAULTPROTO);
-    //     return -1;
-    // }
-
     struct addrinfo *it = ans;
     while (it) {
         // Get a file descriptor for this socket connection
@@ -226,7 +219,7 @@ Network::createServer(std::string hostname, short port)
             it = it->ai_next;
         } else {
             boost::shared_ptr<char> straddr = getIPString(it);
-            log_debug("Socket created for %s, %d", straddr, it->ai_protocol); 
+            log_debug("Socket created for %s", straddr); 
             break;
         }
     }
@@ -244,21 +237,6 @@ Network::createServer(std::string hostname, short port)
         freeaddrinfo(ans);          // free the response data
         return -1;
     }
-
-//     struct sockaddr_in6 sock_in;
-//     memset((char *)&sock_in, 0, sizeof(sock_in));
-//     sock_in.sin6_family = it->ai_family;
-// #if 1
-//     // Accept incoming connections only on our IP number
-//     memcpy(&sock_in.sin6_addr, &it->ai_addr, it->ai_addrlen);
-// #else
-//     // Accept incoming connections on any IP number
-//     sock_in.sin6_addr = in6addr_any;
-// #endif
-//     sock_in.sin6_port = htons(port);
-// //    sock_in.sin6_len = sizeof(sock_in);
-    
-// //     _ipaddr = sock_in.sin6_addr.s_addr;
     
     retries = 0;
     while (retries < 5) {

http://git.savannah.gnu.org/cgit//commit/?id=90121033d07af46b4da736cc6555015221de6b2f


commit 90121033d07af46b4da736cc6555015221de6b2f
Author: Rob Savoye <address@hidden>
Date:   Sat Apr 14 07:31:12 2012 -0600

    free the answer from, getaddrinfo

diff --git a/libbase/Socket.cpp b/libbase/Socket.cpp
index 358e500..a2c2445 100644
--- a/libbase/Socket.cpp
+++ b/libbase/Socket.cpp
@@ -154,7 +154,7 @@ Socket::connect(const std::string& hostname, 
boost::uint16_t port)
     struct addrinfo req, *ans;
     std::memset(&req, 0, sizeof(struct addrinfo));
     req.ai_family = AF_UNSPEC;  // Allow IPv4 or IPv6
-    req.ai_socktype = 0; // SOCK_STREAM;
+    req.ai_socktype = SOCK_STREAM;
 
     if ((code = getaddrinfo(hostname.c_str(), 0, &req, &ans)) != 0) {
         log_error(_("getaddrinfo() failed with code: #%d - %s\n"),
@@ -165,12 +165,6 @@ Socket::connect(const std::string& hostname, 
boost::uint16_t port)
     // display all the IP numbers
     struct addrinfo *ot = ans;
     while (ot) {
-        // We only want the SOCK_STREAM type
-        if (ot->ai_socktype == SOCK_DGRAM) {
-            // log_debug("SockType is SOCK_DGRAM");
-            ot = ot->ai_next;
-            continue;
-        }
         char clienthost   [NI_MAXHOST];
         std::memset(&clienthost, 0, NI_MAXHOST);
         char clientservice[NI_MAXSERV];
@@ -197,11 +191,6 @@ Socket::connect(const std::string& hostname, 
boost::uint16_t port)
     // required
     struct addrinfo *it = ans;
     while (it) {
-        // We only want a SOCK_STREAM
-        if (it->ai_socktype == SOCK_DGRAM) {
-            it = it->ai_next;
-            continue;
-        }
         _socket = ::socket(it->ai_family, it->ai_socktype, it->ai_protocol);
         if (_socket < 0) {
             const int err = errno;
@@ -241,6 +230,7 @@ Socket::connect(const std::string& hostname, 
boost::uint16_t port)
             const int err = errno;
             log_error(_("Socket creation failed: %s"), std::strerror(err));
             _socket = 0;
+            freeaddrinfo(ans);
             return false;
         }
     }
@@ -262,9 +252,11 @@ Socket::connect(const std::string& hostname, 
boost::uint16_t port)
         if (err != EINPROGRESS) {
             log_error(_("Failed to connect to socket: %s"), 
std::strerror(err));
             _socket = 0;
+            freeaddrinfo(ans);
             return false;
         }
 #else
+            freeaddrinfo(ans);
         return false;
 #endif
     }
@@ -286,6 +278,8 @@ Socket::connect(const std::string& hostname, 
boost::uint16_t port)
                  reinterpret_cast<const char*>(&on), sizeof(on));
     
     assert(_socket);
+    freeaddrinfo(ans);
+
     return true;
 }
 

http://git.savannah.gnu.org/cgit//commit/?id=a4364ccb0e95f53fa4b8876e5addfc9de7cd5770


commit a4364ccb0e95f53fa4b8876e5addfc9de7cd5770
Author: Rob Savoye <address@hidden>
Date:   Fri Apr 13 21:44:01 2012 -0600

    create servers that support both I{PV4 and IPV6

diff --git a/cygnal/libnet/network.cpp b/cygnal/libnet/network.cpp
index 12f08c8..bc3138e 100644
--- a/cygnal/libnet/network.cpp
+++ b/cygnal/libnet/network.cpp
@@ -102,7 +102,7 @@ Network::Network()
        _listenfd(0),
        _port(0),
        _connected(false),
-       _debug(false),
+       _debug(true),
        _timeout(0)
 {
 //    GNASH_REPORT_FUNCTION;
@@ -147,14 +147,18 @@ Network::createServer(void)
     return createServer(port);
 }
 
-// FIXME: Should also support IPv6 (AF_INET6)
 int
 Network::createServer(short port)
 {
 //    GNASH_REPORT_FUNCTION;
+    return createServer("localhost.localdomain", port);
+}
+
+int
+Network::createServer(std::string hostname, short port)
+{
+    GNASH_REPORT_FUNCTION;
 
-    struct protoent *ppe;
-    struct sockaddr_in sock_in;
     int             on, type;
     int             retries = 0;
 
@@ -162,85 +166,122 @@ Network::createServer(short port)
        log_debug(_("already connected to port %hd"), port);
        return _listenfd;
     }
-    
-    const struct hostent *host = gethostbyname("localhost");
-    struct in_addr *thisaddr = reinterpret_cast<struct in_addr 
*>(host->h_addr_list[0]);
-    _ipaddr = thisaddr->s_addr;
-    memset(&sock_in, 0, sizeof(sock_in));
-
-#if 0
-    // Accept incoming connections only on our IP number
-    sock_in.sin_addr.s_addr = thisaddr->s_addr;
-#else
-    // Accept incoming connections on any IP number
-    sock_in.sin_addr.s_addr = INADDR_ANY;
-#endif
 
-    _ipaddr = sock_in.sin_addr.s_addr;
-    sock_in.sin_family = AF_INET;
-    sock_in.sin_port = htons(port);
-
-    if ((ppe = getprotobyname(DEFAULTPROTO)) == 0) {
-        log_error(_("unable to get protocol entry for %s"),
-                DEFAULTPROTO);
-        return -1;
+    int code = 0;
+    struct addrinfo req, *ans;
+    std::memset(&req, 0, sizeof(struct addrinfo));
+    // For wildcard IP address
+    req.ai_flags    = AI_PASSIVE;
+    req.ai_family   = AF_UNSPEC; // Allow IPv4 or IPv6
+    req.ai_socktype = SOCK_STREAM;
+    req.ai_protocol = 0;        // default is tcp
+
+    if ((code = getaddrinfo(hostname.c_str(), 0, &req, &ans)) != 0) {
+        log_error(_("getaddrinfo() failed with code: #%d - %s\n"),
+                  code, gai_strerror(code));
+        freeaddrinfo(ans);          // free the response data
+        return false;
     }
 
-    // set protocol type
-    if ( strcmp(DEFAULTPROTO, "udp") == 0) {
-        type = SOCK_DGRAM;
-    } else {
-        type = SOCK_STREAM;
+    // display all the IP numbers
+    struct addrinfo *ot = ans;
+    while (ot) {
+        char clienthost   [NI_MAXHOST];
+        std::memset(&clienthost, 0, NI_MAXHOST);
+        char clientservice[NI_MAXSERV];
+        std::memset(&clientservice, 0, NI_MAXSERV);
+        getnameinfo(ot->ai_addr, ot->ai_addrlen,
+                    clienthost, sizeof(clienthost),
+                    clientservice, sizeof(clientservice),
+                    NI_NUMERICHOST);
+        
+        boost::shared_ptr<char> straddr = getIPString(ot);
+        
+        if (ot->ai_family == AF_INET6) {
+            log_debug("%s has IPV6 address of: %s", hostname, straddr.get());
+        } else if (ot->ai_family == AF_INET) {
+            log_debug("%s has IPV4 address of: %s", hostname, straddr.get());
+        } else {
+            log_error("%s has no IP address!", hostname);
+        }
+        
+        ot = ot->ai_next;
     }
 
-    // Get a file descriptor for this socket connection
-    _listenfd = socket(PF_INET, type, ppe->p_proto);
+    // struct protoent *ppe;
+    // if ((ppe = getprotobyname(DEFAULTPROTO)) == 0) {
+    //     log_error(_("unable to get protocol entry for %s"),
+    //               DEFAULTPROTO);
+    //     return -1;
+    // }
+
+    struct addrinfo *it = ans;
+    while (it) {
+        // Get a file descriptor for this socket connection
+        _listenfd = socket(it->ai_family, it->ai_socktype, it->ai_protocol);
+        
+        if (_listenfd < 0) {
+            log_debug("unable to create socket: %s"), strerror(errno);
+            // Try the next IP number
+            it = it->ai_next;
+        } else {
+            boost::shared_ptr<char> straddr = getIPString(it);
+            log_debug("Socket created for %s, %d", straddr, it->ai_protocol); 
+            break;
+        }
+    }
 
     // error, wasn't able to create a socket
-    if (_listenfd < 0) {
+    if (it == 0) {
         log_error(_("unable to create socket: %s"), strerror(errno));
         return -1;
     }
-
+    
     on = 1;
     if (setsockopt(_listenfd, SOL_SOCKET, SO_REUSEADDR,
                    (char *)&on, sizeof(on)) < 0) {
         log_error(_("setsockopt SO_REUSEADDR failed"));
+        freeaddrinfo(ans);          // free the response data
         return -1;
     }
 
+//     struct sockaddr_in6 sock_in;
+//     memset((char *)&sock_in, 0, sizeof(sock_in));
+//     sock_in.sin6_family = it->ai_family;
+// #if 1
+//     // Accept incoming connections only on our IP number
+//     memcpy(&sock_in.sin6_addr, &it->ai_addr, it->ai_addrlen);
+// #else
+//     // Accept incoming connections on any IP number
+//     sock_in.sin6_addr = in6addr_any;
+// #endif
+//     sock_in.sin6_port = htons(port);
+// //    sock_in.sin6_len = sizeof(sock_in);
+    
+// //     _ipaddr = sock_in.sin6_addr.s_addr;
+    
     retries = 0;
-
-//     in_addr_t       nodeaddr;
-//     nodeaddr = inet_lnaof(*thisaddr);
     while (retries < 5) {
-        if (bind(_listenfd, reinterpret_cast<struct sockaddr *>(&sock_in),
-                 sizeof(sock_in)) == -1) {
+        if (bind(_listenfd, it->ai_addr, it->ai_addrlen)) {
             log_error(_("unable to bind to port %hd: %s"),
                     port, strerror(errno));
 //                    inet_ntoa(sock_in.sin_addr), strerror(errno));
             retries++;
         }
-
-       if (_debug) {
-//             char  ascip[INET_ADDRSTRLEN];
-//             inet_ntop(sock_in.sin_family, &_ipaddr, ascip, INET_ADDRSTRLEN);
-               char *ascip = ::inet_ntoa(sock_in.sin_addr);
-               log_debug(_("Server bound to service on %s, port %hd, using fd 
#%d"),
-                   ascip, ntohs(sock_in.sin_port),
-                   _listenfd);
-       }
-
-        if (type == SOCK_STREAM && listen(_listenfd, 5) < 0) {
+        
+        if (listen(_listenfd, 5) < 0) {
             log_error(_("unable to listen on port: %hd: %s "),
                 port, strerror(errno));
-            return -1;
+            break;
         }
-
+        
        // We have a socket created
         _port = port;
+        
         return _listenfd;
     }
+    
+    freeaddrinfo(ans);          // free the response data
     return -1;
 }
 
@@ -536,12 +577,10 @@ Network::createClient(const string &hostname, short port)
 {
 //    GNASH_REPORT_FUNCTION;
 
-    struct sockaddr_in  sock_in;
     fd_set              fdset;
     struct timeval      tval;
     int                 ret;
     int                 retries;
-    char                thishostname[MAXHOSTNAMELEN];
     struct protoent     *proto;
 
 //    assert( ! connected() );
@@ -552,7 +591,9 @@ Network::createClient(const string &hostname, short port)
     _port = port;    
     log_debug(_("%s: to host %s at port %d"), __FUNCTION__, hostname, port);
 
-    memset(&sock_in, 0, sizeof(struct sockaddr_in));
+#if 0
+    // If a hostname isn't supplied, get the localhost name.
+    char thishostname[MAXHOSTNAMELEN];
     memset(&thishostname, 0, MAXHOSTNAMELEN);
     if (hostname.size() == 0) {
         if (gethostname(thishostname, MAXHOSTNAMELEN) == 0) {
@@ -562,6 +603,55 @@ Network::createClient(const string &hostname, short port)
             return false;
         }
     }
+#endif
+
+#if 0 // def HAVE_IPV6
+    int code = 0;
+    struct addrinfo req, *ans;
+    std::memset(&req, 0, sizeof(struct addrinfo));
+    req.ai_family = AF_UNSPEC;  // Allow IPv4 or IPv6
+    req.ai_socktype = SOCK_STREAM;
+    
+    if ((code = getaddrinfo(hostname.c_str(), 0, &req, &ans)) != 0) {
+        log_error(_("getaddrinfo() failed with code: #%d - %s\n"),
+                  code, gai_strerror(code));
+        return false;
+    }
+    
+    // display all the IP numbers
+    struct addrinfo *ot = ans;
+    while (ot) {
+        // // We only want the SOCK_STREAM type
+        // if (ot->ai_socktype == SOCK_DGRAM) {
+        //     // log_debug("SockType is SOCK_DGRAM");
+        //     ot = ot->ai_next;
+        //     continue;
+        // }
+        char clienthost   [NI_MAXHOST];
+        std::memset(&clienthost, 0, NI_MAXHOST);
+        char clientservice[NI_MAXSERV];
+        std::memset(&clientservice, 0, NI_MAXSERV);
+        getnameinfo(ot->ai_addr, ot->ai_addrlen,
+                    clienthost, sizeof(clienthost),
+                    clientservice, sizeof(clientservice),
+                    NI_NUMERICHOST);
+        
+        boost::shared_ptr<char> straddr = getIPString(ot);
+        
+        if (ot->ai_family == AF_INET6) {
+            log_debug("%s has IPV6 address of: %s", hostname, straddr.get());
+        } else if (ot->ai_family == AF_INET) {
+            log_debug("%s has IPV4 address of: %s", hostname, straddr.get());
+        } else {
+            log_error("%s has no IP address!", hostname);
+        }
+        
+        ot = ot->ai_next;
+    }
+
+#else // IPV4
+    struct sockaddr_in  sock_in;
+    memset(&sock_in, 0, sizeof(struct sockaddr_in));
 
     const struct hostent *hent = ::gethostbyname(hostname.c_str());
     if (hent > 0) {
@@ -575,10 +665,11 @@ Network::createClient(const string &hostname, short port)
     inet_ntop(sock_in.sin_family, &sock_in.sin_addr.s_addr, ascip, 
INET_ADDRSTRLEN);
     log_debug(_("The IP address for this client socket is %s"), ascip);
 #endif
-
+#endif
+    
     proto = ::getprotobyname("TCP");
 
-    _sockfd = ::socket(PF_INET, SOCK_STREAM, proto->p_proto);
+    _sockfd = ::socket(AF_INET, SOCK_STREAM, proto->p_proto);
     if (_sockfd < 0) {
         log_error(_("unable to create socket: %s"), strerror(errno));
         _sockfd = -1;
@@ -1622,6 +1713,29 @@ Network::sniffBytesReady(int fd)
     return bytes;
 }
 
+// Return the string representation of the IPV4 or IPV6 number
+boost::shared_ptr<char>
+Network::getIPString(struct addrinfo *ai)
+{
+    boost::shared_ptr<char> straddr(new char[INET6_ADDRSTRLEN]);
+    std::memset(straddr.get(), 0, INET6_ADDRSTRLEN);    
+    if (ai->ai_family == AF_INET6) {
+        struct sockaddr_in6 *sock6 = reinterpret_cast<struct sockaddr_in6 
*>(ai->ai_addr);
+        struct in6_addr sin6_addr = sock6->sin6_addr;
+        ::inet_ntop(AF_INET6, &sin6_addr, straddr.get(), INET6_ADDRSTRLEN);
+//        log_debug("IPV6 address: %s", straddr.get());
+    } else if (ai->ai_family == AF_INET) {
+        struct sockaddr_in *sock = reinterpret_cast<struct sockaddr_in 
*>(ai->ai_addr);
+        struct in_addr sin_addr = sock->sin_addr;
+        ::inet_ntop(AF_INET, &sin_addr, straddr.get(), INET_ADDRSTRLEN);
+//        log_debug("IPV4 address: %s", straddr);
+    } else {
+        log_error(_("no IP address in addrinfo!"));
+    }
+    
+    return straddr;
+}
+
 // Trap Control-C so we can cleanly exit
 static void
 cntrlc_handler (int sig)

http://git.savannah.gnu.org/cgit//commit/?id=97e59e5507a6d9074a76f308ee87dd0623666885


commit 97e59e5507a6d9074a76f308ee87dd0623666885
Author: Rob Savoye <address@hidden>
Date:   Fri Apr 13 21:42:58 2012 -0600

    add getIPString for IPV4 and IPV6

diff --git a/cygnal/libnet/network.h b/cygnal/libnet/network.h
index 659b4fc..1e0ecc8 100644
--- a/cygnal/libnet/network.h
+++ b/cygnal/libnet/network.h
@@ -28,6 +28,8 @@
 # include <netinet/in.h>
 # include <arpa/inet.h>
 # include <sys/select.h>
+# include <sys/socket.h>
+# include <netdb.h>
 #ifdef HAVE_POLL_H
 # include <poll.h>
 #else 
@@ -140,6 +142,7 @@ public:
        void *handler;
        cygnal::Buffer *buffer;
        std::string filespec;
+        std::string hostname;
        protocols_supported_e protocol;
     } thread_params_t;
     typedef boost::uint8_t byte_t;
@@ -158,6 +161,7 @@ public:
     /// @return The file descritor to wait for connections on.
     int createServer(void);
     int createServer(short port);
+    int createServer(std::string hostname, short port);
     
     /// \brief Accept a client connection for the current server.
     ///
@@ -328,6 +332,9 @@ public:
     size_t sniffBytesReady(int fd);
     
  protected:
+    // Return the string representation of the IPV4 or IPV6 number
+    boost::shared_ptr<char> getIPString(struct addrinfo *ai);
+
     in_addr_t   _ipaddr;
     int         _sockfd;       // the file descriptor used for reading and 
writing
     int         _listenfd;     // the file descriptor used to listen for new 
connections

http://git.savannah.gnu.org/cgit//commit/?id=7b006611af480df8fef737be098e743e009ec403


commit 7b006611af480df8fef737be098e743e009ec403
Author: Rob Savoye <address@hidden>
Date:   Fri Apr 13 19:13:41 2012 -0600

    return, don't try to connect forever when there is an accept error

diff --git a/cygnal/cygnal.cpp b/cygnal/cygnal.cpp
index 23ef268..372ca17 100644
--- a/cygnal/cygnal.cpp
+++ b/cygnal/cygnal.cpp
@@ -650,7 +650,11 @@ admin_handler(Network::thread_params_t *args)
     net.createServer(args->hostname, args->port);
     while (retries > 0) {
        log_network(_("Starting Admin Handler for port %d"), args->port);
-       net.newConnection(true);
+
+       if (net.newConnection(true) <= 0) {
+            return;
+        }
+        
        log_network(_("Got an incoming Admin request"));
        sleep(1);
        do {
@@ -827,7 +831,7 @@ connection_handler(Network::thread_params_t *args)
        if (args->netfd <= 0) {
            log_network(_("No new %s network connections"),
                         proto_str[args->protocol]);
-           continue;
+           return;
        } else {
            log_network(_("*** New %s network connection for thread ID #%d, fd 
#%d ***"),
                        proto_str[args->protocol], tid, args->netfd);

http://git.savannah.gnu.org/cgit//commit/?id=eabc5cc75a1b636f160e2b47ebceae2b4c70c8a6


commit eabc5cc75a1b636f160e2b47ebceae2b4c70c8a6
Author: Rob Savoye <address@hidden>
Date:   Fri Apr 13 17:02:30 2012 -0600

    add --machine option

diff --git a/cygnal/cygnal.cpp b/cygnal/cygnal.cpp
index 67f265c..23ef268 100644
--- a/cygnal/cygnal.cpp
+++ b/cygnal/cygnal.cpp
@@ -200,6 +200,7 @@ usage()
         << _("  -t,  --testing       Turn on special Gnash testing support") 
<< endl
        << _("  -a,  --admin         Enable the administration thread") << endl
        << _("  -r,  --root          Document root for all files") << endl
+       << _("  -m,  --machine       Hostname for this machine") << endl
        << endl;
 }
 
@@ -412,24 +413,29 @@ main(int argc, char *argv[])
     textdomain (PACKAGE);
 #endif
 
-   const Arg_parser::Option opts[] =
+    // This becomes the default hostname, which becomes
+    // 127.0.0.1 or ::1 for the localhost. The --machine
+    // otion can change this.
+    std::string hostname = "localhost.localdomain";
+    
+    const Arg_parser::Option opts[] =
         {
-        { 'h', "help",          Arg_parser::no  },
-        { 'V', "version",       Arg_parser::no  },
-        { 'p', "port-offset",   Arg_parser::yes },
-        { 'v', "verbose",       Arg_parser::no  },
-        { 'd', "dump",          Arg_parser::no  },
-        { 'n', "netdebug",      Arg_parser::no  },
-        { 't', "testing",       Arg_parser::no  },
-        { 'a', "admin",         Arg_parser::no  },
-        { 'r', "root",          Arg_parser::yes },
-        { 'o', "only-port",     Arg_parser::yes },
-        { 's', "singlethreaded", Arg_parser::no }
+            { 'h', "help",          Arg_parser::no  },
+            { 'V', "version",       Arg_parser::no  },
+            { 'p', "port-offset",   Arg_parser::yes },
+            { 'v', "verbose",       Arg_parser::no  },
+            { 'd', "dump",          Arg_parser::no  },
+            { 'n', "netdebug",      Arg_parser::no  },
+            { 't', "testing",       Arg_parser::no  },
+            { 'a', "admin",         Arg_parser::no  },
+            { 'r', "root",          Arg_parser::yes },
+            { 'o', "only-port",     Arg_parser::yes },
+            { 's', "singlethreaded", Arg_parser::no },
+            { 'm', "machine",       Arg_parser::yes }
         };
-
+    
     Arg_parser parser(argc, argv, opts);
-    if( ! parser.error().empty() )     
-    {
+    if( ! parser.error().empty() ) {
         cout << parser.error() << endl;
         exit(EXIT_FAILURE);
     }
@@ -451,9 +457,9 @@ main(int argc, char *argv[])
        crcfile.setDocumentRoot(docroot);
     }
     if (crcfile.getPortOffset()) {
-      port_offset = crcfile.getPortOffset();
+        port_offset = crcfile.getPortOffset();
     }
-
+    
     // Handle command line arguments
     for( int i = 0; i < parser.arguments(); ++i ) {
        const int code = parser.code(i);
@@ -496,6 +502,9 @@ main(int argc, char *argv[])
              crcfile.dump();
              exit(EXIT_SUCCESS);
              break;
+         case 'm':
+             hostname = parser.argument(i);
+             break;
          default:
              log_error(_("Extraneous argument: %s"), 
parser.argument(i).c_str());
         }
@@ -508,9 +517,9 @@ main(int argc, char *argv[])
     // can use for distributed processing.
     cyg.loadPeersFile();
     cyg.probePeers();
-
+    
 //    cyg.dump();
-
+    
     // Trap ^C (SIGINT) so we can kill all the threads
     act1.sa_handler = cntrlc_handler;
     sigaction (SIGINT, &act1, NULL);
@@ -556,6 +565,7 @@ main(int argc, char *argv[])
        http_data->filespec = docroot;
        http_data->protocol = Network::HTTP;
        http_data->port = port_offset + gnash::HTTP_PORT;
+        http_data->hostname = hostname;
        if (crcfile.getThreadingFlag()) {
            boost::thread http_thread(boost::bind(&connection_handler, 
http_data));
        } else {
@@ -573,6 +583,7 @@ main(int argc, char *argv[])
        rtmp_data->filespec = docroot;
        rtmp_data->protocol = Network::RTMP;
        rtmp_data->port = port_offset + gnash::RTMP_PORT;
+        rtmp_data->hostname = hostname;
        if (crcfile.getThreadingFlag()) {
            boost::thread rtmp_thread(boost::bind(&connection_handler, 
rtmp_data));
        } else {
@@ -636,7 +647,7 @@ admin_handler(Network::thread_params_t *args)
     
     Network net;
     Handler::admin_cmd_e cmd = Handler::POLL;
-    net.createServer(args->port);
+    net.createServer(args->hostname, args->port);
     while (retries > 0) {
        log_network(_("Starting Admin Handler for port %d"), args->port);
        net.newConnection(true);
@@ -760,7 +771,7 @@ connection_handler(Network::thread_params_t *args)
        net.toggleDebug(true);
     }
     // Start a server on this tcp/ip port.
-    fd = net.createServer(args->port);
+    fd = net.createServer(args->hostname, args->port);
     if (fd <= 0) {
        log_error(_("Can't start %s Connection Handler for fd #%d, port %hd"),
                  proto_str[args->protocol], fd, args->port);

http://git.savannah.gnu.org/cgit//commit/?id=f580600479b0e45d5e3b1027163b80180a196251


commit f580600479b0e45d5e3b1027163b80180a196251
Author: Rob Savoye <address@hidden>
Date:   Thu Apr 12 14:27:10 2012 -0600

    add error message if addrinfo has no IP number

diff --git a/libbase/Socket.cpp b/libbase/Socket.cpp
index 4273d88..358e500 100644
--- a/libbase/Socket.cpp
+++ b/libbase/Socket.cpp
@@ -186,7 +186,10 @@ Socket::connect(const std::string& hostname, 
boost::uint16_t port)
             log_debug("%s has IPV6 address of: %s", hostname, straddr.get());
         } else if (ot->ai_family == AF_INET) {
             log_debug("%s has IPV4 address of: %s", hostname, straddr.get());
+        } else {
+            log_error("%s has no IP address!", hostname);
         }
+        
         ot = ot->ai_next;
     }
 
@@ -302,6 +305,8 @@ Socket::getIPString(struct addrinfo *ai)
         struct in_addr sin_addr = sock->sin_addr;
         ::inet_ntop(AF_INET, &sin_addr, straddr.get(), INET_ADDRSTRLEN);
 //        log_debug("IPV4 address: %s", straddr);
+    } else {
+        log_error("no IP address in addrinfo!");
     }
     
     return straddr;

http://git.savannah.gnu.org/cgit//commit/?id=6a48f18ff58ba7d37c8bb8c1c632daac2c6c68d7


commit 6a48f18ff58ba7d37c8bb8c1c632daac2c6c68d7
Author: Rob Savoye <address@hidden>
Date:   Thu Apr 12 14:26:38 2012 -0600

    remove extraneous leading spaces

diff --git a/testsuite/misc-ming.all/XMLSocketTest.as 
b/testsuite/misc-ming.all/XMLSocketTest.as
index cc29152..b1d883a 100644
--- a/testsuite/misc-ming.all/XMLSocketTest.as
+++ b/testsuite/misc-ming.all/XMLSocketTest.as
@@ -77,9 +77,9 @@ myXML.onData = handleData;
 myXML.onClose = handleDisconnect;
 receivedArray = new Array();
 
- ret = myXML.connect("localhost.localdomain", 2229);
- check_equals(ret, true);
- stop();
+ret = myXML.connect("localhost.localdomain", 2229);
+check_equals(ret, true);
+stop();
 
 
 function checkResults() {

http://git.savannah.gnu.org/cgit//commit/?id=ff0c13dbc7d78eadc4b224115c87ec6d00a483b7


commit ff0c13dbc7d78eadc4b224115c87ec6d00a483b7
Author: Rob Savoye <address@hidden>
Date:   Thu Apr 12 14:26:13 2012 -0600

    AMF, Element, and Buffer are now on the cygnal namespace, not the amf one.

diff --git a/cygnal/testsuite/libnet.all/generate_amfbins.cpp 
b/cygnal/testsuite/libnet.all/generate_amfbins.cpp
index 7f87d3b..6c07818 100644
--- a/cygnal/testsuite/libnet.all/generate_amfbins.cpp
+++ b/cygnal/testsuite/libnet.all/generate_amfbins.cpp
@@ -44,9 +44,9 @@
 #include "amf.h"
 #include "element.h"
 
-using amf::AMF;
-using amf::Element;
-using amf::Buffer;
+using cygnal::AMF;
+using cygnal::Element;
+using cygnal::Buffer;
 using namespace gnash;
 using namespace std;
 
@@ -178,46 +178,46 @@ main(int argc, char *argv[])
     string str = "Guten Tag";
 
     Element elnum1(dub);
-    boost::shared_ptr<Buffer> bnum1 = amf::AMF::encodeElement(elnum1);
+    boost::shared_ptr<Buffer> bnum1 = cygnal::AMF::encodeElement(elnum1);
     int fd = ::open("amf0-number.bin" ,O_WRONLY|O_CREAT, S_IRWXU);
     ::write(fd, bnum1->reference(), bnum1->allocated()); ::close(fd);
 
     flag = true;
     Element elbool1(flag);
-    boost::shared_ptr<Buffer> bbool1 = amf::AMF::encodeElement(elbool1);
+    boost::shared_ptr<Buffer> bbool1 = cygnal::AMF::encodeElement(elbool1);
     fd = ::open("amf0-boolean.bin" ,O_WRONLY|O_CREAT, S_IRWXU);
     ::write(fd, bbool1->reference(), bbool1->allocated()); ::close(fd);
     
     Element elstr1(str);
-    boost::shared_ptr<Buffer> bstr1 = amf::AMF::encodeElement(elstr1);
+    boost::shared_ptr<Buffer> bstr1 = cygnal::AMF::encodeElement(elstr1);
     fd = ::open("amf0-string.bin" ,O_WRONLY|O_CREAT, S_IRWXU);
     ::write(fd, bstr1->reference(), bstr1->allocated()); ::close(fd);
 
     Element el3;
     el3.clear();
     el3.makeNull();
-    boost::shared_ptr<Buffer> bel3 = amf::AMF::encodeElement(el3);
+    boost::shared_ptr<Buffer> bel3 = cygnal::AMF::encodeElement(el3);
     fd = ::open("amf0-null-object.bin" ,O_WRONLY|O_CREAT, S_IRWXU);
     ::write(fd, bel3->reference(), bel3->allocated()); ::close(fd);
 
 
     Element el4;
     el4.makeUndefined();
-    boost::shared_ptr<Buffer> bel4 = amf::AMF::encodeElement(el4);
+    boost::shared_ptr<Buffer> bel4 = cygnal::AMF::encodeElement(el4);
     fd = ::open("amf0-undefined-object.bin" ,O_WRONLY|O_CREAT, S_IRWXU);
     ::write(fd, bel4->reference(), bel4->allocated()); ::close(fd);
 
     Element el6;
     el6.clear();
     el6.makeNullString();
-    boost::shared_ptr<Buffer> bel6 = amf::AMF::encodeElement(el6);
+    boost::shared_ptr<Buffer> bel6 = cygnal::AMF::encodeElement(el6);
     fd = ::open("amf0-null-string.bin" ,O_WRONLY|O_CREAT, S_IRWXU);
     ::write(fd, bel6->reference(), bel6->allocated()); ::close(fd);    
 
     Element el15;
     el15.clear();
     el15.makeUnsupported();
-    boost::shared_ptr<Buffer> bel15 = amf::AMF::encodeElement(el15);
+    boost::shared_ptr<Buffer> bel15 = cygnal::AMF::encodeElement(el15);
     fd = ::open("amf0-unsupported-object.bin" ,O_WRONLY|O_CREAT, S_IRWXU);
     ::write(fd, bel15->reference(), bel15->allocated()); ::close(fd);
 
@@ -265,7 +265,7 @@ main(int argc, char *argv[])
     rel1.makeBoolean(true);
     rel1.makeNumber(num);
     if ((rel1.getType() == Element::NUMBER_AMF0) &&
-        (rel1.getDataSize() == amf::AMF0_NUMBER_SIZE) &&
+        (rel1.getDataSize() == cygnal::AMF0_NUMBER_SIZE) &&
         (rel1.to_number() == num)) {
         runtest.pass("Remade boolean as a double element");
     } else {
diff --git a/cygnal/testsuite/libnet.all/test_diskstream.cpp 
b/cygnal/testsuite/libnet.all/test_diskstream.cpp
index 06effa7..9f7ae89 100644
--- a/cygnal/testsuite/libnet.all/test_diskstream.cpp
+++ b/cygnal/testsuite/libnet.all/test_diskstream.cpp
@@ -43,7 +43,7 @@
 #include "buffer.h"
 #include "diskstream.h"
 
-using namespace amf;
+using namespace cygnal;
 using namespace gnash;
 using namespace std;
 
@@ -203,7 +203,7 @@ test()
 void
 test_mem()
 {
-    boost::shared_ptr<amf::Buffer> buf1(new amf::Buffer(12));
+    boost::shared_ptr<cygnal::Buffer> buf1(new cygnal::Buffer(12));
     *buf1 = "Hello World";
     // drop the null terminator byte we inherit when using a simnple
     // string for testing
diff --git a/cygnal/testsuite/libnet.all/test_http.cpp 
b/cygnal/testsuite/libnet.all/test_http.cpp
index c0833ce..b6a7d29 100644
--- a/cygnal/testsuite/libnet.all/test_http.cpp
+++ b/cygnal/testsuite/libnet.all/test_http.cpp
@@ -52,7 +52,7 @@ extern int optind, getopt(int, char *const *, const char *);
 #include "GnashNumeric.h"
 
 using namespace gnash;
-using namespace amf;
+using namespace cygnal;
 using namespace std;
 
 static void usage (void);
@@ -583,10 +583,10 @@ test_post()
 
     HTTP http;
 
-    boost::shared_ptr<amf::Buffer> encstr = AMF::encodeString("Hello World!");
-    boost::shared_ptr<amf::Buffer> encnum = AMF::encodeNumber(1.2345);
+    boost::shared_ptr<cygnal::Buffer> encstr = AMF::encodeString("Hello 
World!");
+    boost::shared_ptr<cygnal::Buffer> encnum = AMF::encodeNumber(1.2345);
 
-    amf::Buffer ptr1;
+    cygnal::Buffer ptr1;
     ptr1 = "POST /echo/gateway HTTP/1.1\r\n";
     ptr1 += "User-Agent: Opera/9.62 (X11; Linux i686; U; en) Presto/2.1.1\r\n";
     ptr1 += "Host: localhost:4080\r\n";
@@ -605,7 +605,7 @@ test_post()
     // Check the Server field
     AMF amf;
     boost::uint8_t *data1 = http.processHeaderFields(&ptr1);
-    boost::shared_ptr<amf::Element> el1 = amf.extractAMF(data1, data1 + 15);
+    boost::shared_ptr<cygnal::Element> el1 = amf.extractAMF(data1, data1 + 15);
     string str1 = el1->to_string();
 
     if ((http.getField("host") == "localhost:4080")
@@ -616,7 +616,7 @@ test_post()
         runtest.fail("HTTP::processHeaderFields(POST) + STRING");
     }
 
-    amf::Buffer ptr2;
+    cygnal::Buffer ptr2;
     ptr2 += "POST /echo/gateway HTTP/1.1\r\n";
     ptr2 += "User-Agent: Opera/9.62.(X11;.Linux.i686;.U;.en) Presto/2.1.1\r\n";
     ptr2 += "Host: localhost:5080\r\n";
@@ -634,7 +634,7 @@ test_post()
     ptr2.resize();              // shrink the buffer to be the exact size of 
the data
 
     boost::uint8_t *data2 = http.processHeaderFields(&ptr2);
-    boost::shared_ptr<amf::Element> el2 = amf.extractAMF(data2, data2 + 15);
+    boost::shared_ptr<cygnal::Element> el2 = amf.extractAMF(data2, data2 + 15);
     if ((http.getField("host") == "localhost:5080")
         && (el2->to_number() == 1.2345)
         && (http.getField("content-length") == "9")) {
@@ -670,7 +670,7 @@ test_post()
     boost::shared_ptr<Buffer> hex1(new Buffer("00 00 00 00 00 01 00 04 65 63 
68 6f 00 02 2f 32 00 00 00 14 0a 00 00 00 01 02 00 0c 48 65 6c 6c 6f 20 77 6f 
72 6c 64 21"));
     boost::shared_ptr<Buffer> hex2(new Buffer("00 00 00 00 00 01 00 0b 2f 32 
2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 02 00 0c 48 65 6c 6c 
6f 20 77 6f 72 6c 64 21"));
 //    http.clearFields();
-    vector<boost::shared_ptr<amf::Element> > headers = 
http.parseEchoRequest(*hex1);
+    vector<boost::shared_ptr<cygnal::Element> > headers = 
http.parseEchoRequest(*hex1);
 
     if ((strncmp(headers[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers[1]->getName(), "/2", 2) == 0)
@@ -680,7 +680,7 @@ test_post()
         runtest.fail("HTTP::parseEchoRequest()");
     }
 
-    amf::Buffer &buff = http.formatEchoResponse(headers[1]->getName(), 
*headers[3]);
+    cygnal::Buffer &buff = http.formatEchoResponse(headers[1]->getName(), 
*headers[3]);
     string head(reinterpret_cast<const char *>(buff.reference()));
     const char *ptr3 = reinterpret_cast<const char *>(hex2->reference());
     const char *ptr4 = reinterpret_cast<const char *>(buff.reference()) + 
head.size();
@@ -706,7 +706,7 @@ test_rtmpt (void)
 
     // Boolean True request
     boost::shared_ptr<Buffer> hex_req1(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 31 00 00 00 07 0a 00 00 00 01 01 01"));
-    vector<boost::shared_ptr<amf::Element> > headers1 = 
http.parseEchoRequest(*hex_req1);
+    vector<boost::shared_ptr<cygnal::Element> > headers1 = 
http.parseEchoRequest(*hex_req1);
     if ((strncmp(headers1[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers1[1]->getName(), "/1", 2) == 0)
         && (headers1[3]->getType() == Element::BOOLEAN_AMF0)
@@ -719,7 +719,7 @@ test_rtmpt (void)
     
     // Boolean True response
     boost::shared_ptr<Buffer> hex_res1(new Buffer("00 00 00 00 00 01 00 0b 2f 
31 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 01 01"));
-    amf::Buffer &buf1 = http.formatEchoResponse(headers1[1]->getName(), 
*headers1[3]);
+    cygnal::Buffer &buf1 = http.formatEchoResponse(headers1[1]->getName(), 
*headers1[3]);
     string head1(reinterpret_cast<const char *>(buf1.reference()));
     const char *ptr1a = reinterpret_cast<const char *>(hex_res1->reference());
     const char *ptr1b = reinterpret_cast<const char *>(buf1.reference()) + 
head1.size();
@@ -732,7 +732,7 @@ test_rtmpt (void)
 
     // Boolean false request
     boost::shared_ptr<Buffer> hex_req2(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 32 00 00 00 07 0a 00 00 00 01 01 00"));
-    vector<boost::shared_ptr<amf::Element> > headers2 = 
http.parseEchoRequest(*hex_req2);
+    vector<boost::shared_ptr<cygnal::Element> > headers2 = 
http.parseEchoRequest(*hex_req2);
     if ((strncmp(headers2[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers2[1]->getName(), "/2", 2) == 0)
         && (headers2[3]->getType() == Element::BOOLEAN_AMF0)
@@ -743,7 +743,7 @@ test_rtmpt (void)
     }
     // Boolean False response
     boost::shared_ptr<Buffer> hex_res2(new Buffer("00 00 00 00 00 01 00 0b 2f 
32 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 01 00"));
-    amf::Buffer &buf2 = http.formatEchoResponse(headers2[1]->getName(), 
*headers2[3]);
+    cygnal::Buffer &buf2 = http.formatEchoResponse(headers2[1]->getName(), 
*headers2[3]);
     string head2(reinterpret_cast<const char *>(buf2.reference()));
     const char *ptr2a = reinterpret_cast<const char *>(hex_res2->reference());
     const char *ptr2b = reinterpret_cast<const char *>(buf2.reference()) + 
head2.size();
@@ -755,7 +755,7 @@ test_rtmpt (void)
 
     // NULL Object request
     boost::shared_ptr<Buffer> hex_req3(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 31 00 00 00 06 0a 00 00 00 01 05"));
-    vector<boost::shared_ptr<amf::Element> > headers3 = 
http.parseEchoRequest(*hex_req3);
+    vector<boost::shared_ptr<cygnal::Element> > headers3 = 
http.parseEchoRequest(*hex_req3);
     if ((strncmp(headers3[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers3[1]->getName(), "/1", 2) == 0)
         && (headers3[3]->getType() == Element::NULL_AMF0)) {
@@ -765,7 +765,7 @@ test_rtmpt (void)
     }
     // NULL Object response
     boost::shared_ptr<Buffer> hex_res3(new Buffer("00 00 00 00 00 01 00 0b 2f 
31 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 05"));
-    amf::Buffer &buf3 = http.formatEchoResponse(headers3[1]->getName(), 
*headers3[3]);
+    cygnal::Buffer &buf3 = http.formatEchoResponse(headers3[1]->getName(), 
*headers3[3]);
     string head3(reinterpret_cast<const char *>(buf3.reference()));
     const char *ptr3a = reinterpret_cast<const char *>(hex_res3->reference());
     const char *ptr3b = reinterpret_cast<const char *>(buf3.reference()) + 
head3.size();
@@ -777,7 +777,7 @@ test_rtmpt (void)
 
     // UNDEFINED Object request
     boost::shared_ptr<Buffer> hex_req4(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 31 00 00 00 06 0a 00 00 00 01 06"));
-    vector<boost::shared_ptr<amf::Element> > headers4 = 
http.parseEchoRequest(*hex_req4);
+    vector<boost::shared_ptr<cygnal::Element> > headers4 = 
http.parseEchoRequest(*hex_req4);
     if ((strncmp(headers4[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers4[1]->getName(), "/1", 2) == 0)
         && (headers4[3]->getType() == Element::UNDEFINED_AMF0)) {
@@ -787,7 +787,7 @@ test_rtmpt (void)
     }
     // UNDEFINED Object response
     boost::shared_ptr<Buffer> hex_res4(new Buffer("00 00 00 00 00 01 00 0b 2f 
31 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 05"));
-    amf::Buffer &buf4 = http.formatEchoResponse(headers4[1]->getName(), 
*headers4[3]);
+    cygnal::Buffer &buf4 = http.formatEchoResponse(headers4[1]->getName(), 
*headers4[3]);
     string head4(reinterpret_cast<const char *>(buf4.reference()));
     const char *ptr4a = reinterpret_cast<const char *>(hex_res4->reference());
     const char *ptr4b = reinterpret_cast<const char *>(buf4.reference()) + 
head4.size();
@@ -799,7 +799,7 @@ test_rtmpt (void)
 
     // Date Object request
     boost::shared_ptr<Buffer> hex_req5(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 31 00 00 00 10 0a 00 00 00 01 0b 42 71 e4 ca 4e 32 d0 00 01 
a4"));
-    vector<boost::shared_ptr<amf::Element> > headers5 = 
http.parseEchoRequest(*hex_req5);
+    vector<boost::shared_ptr<cygnal::Element> > headers5 = 
http.parseEchoRequest(*hex_req5);
     if (headers5[3] == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(DATE Object)");
     } else {
@@ -820,7 +820,7 @@ test_rtmpt (void)
     if (headers5[3] == 0) {
         runtest.unresolved("HTTP::formatEchoResponse(DATE Object)");
     } else {
-        amf::Buffer &buf5 = http.formatEchoResponse(headers5[1]->getName(), 
*headers5[3]);
+        cygnal::Buffer &buf5 = http.formatEchoResponse(headers5[1]->getName(), 
*headers5[3]);
         string head5(reinterpret_cast<const char *>(buf5.reference()));
         const char *ptr5a = reinterpret_cast<const char 
*>(hex_res5->reference()+30);
         const char *ptr5b = reinterpret_cast<const char *>(buf5.reference() + 
124);
@@ -833,7 +833,7 @@ test_rtmpt (void)
 
     // Date Array request
     boost::shared_ptr<Buffer> hex_req6(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 32 00 00 00 18 0a 00 00 00 01 0a 00 00 00 02 0b 42 71 e4 ca 
4e 32 d0 00 01 a4 07 00 01"));
-    vector<boost::shared_ptr<amf::Element> > headers6 = 
http.parseEchoRequest(*hex_req6);
+    vector<boost::shared_ptr<cygnal::Element> > headers6 = 
http.parseEchoRequest(*hex_req6);
     if (headers6[3] == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(DATE Array)");
     } else {
@@ -850,7 +850,7 @@ test_rtmpt (void)
     
     // Undefined Array request
     boost::shared_ptr<Buffer> hex_req7(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 31 00 00 00 0a 0a 00 00 00 01 0a 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers7 = 
http.parseEchoRequest(*hex_req7);
+    vector<boost::shared_ptr<cygnal::Element> > headers7 = 
http.parseEchoRequest(*hex_req7);
     if ((strncmp(headers7[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers7[1]->getName(), "/1", 2) == 0)
         && (headers7[3]->getType() == Element::STRICT_ARRAY_AMF0)) {
@@ -860,7 +860,7 @@ test_rtmpt (void)
     }
     // Undefined Array response
     boost::shared_ptr<Buffer> hex_res7(new Buffer("00 00 00 00 00 01 00 0b 2f 
31 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 0a 00 00 00 00"));
-    amf::Buffer &buf7 = http.formatEchoResponse(headers7[1]->getName(), 
*headers7[3]);
+    cygnal::Buffer &buf7 = http.formatEchoResponse(headers7[1]->getName(), 
*headers7[3]);
 
     //    cerr << hexify(hex_res7->reference(), hex_res7->allocated(), false) 
<< endl;
     string head7(reinterpret_cast<const char *>(buf7.reference()));
@@ -876,12 +876,12 @@ test_rtmpt (void)
     // Number 1
     // Array request
     boost::shared_ptr<Buffer> hex_req8(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 32 00 00 00 13 0a 00 00 00 01 0a 00 00 00 01 00 3f f0 00 00 
00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers8 = 
http.parseEchoRequest(*hex_req8);
+    vector<boost::shared_ptr<cygnal::Element> > headers8 = 
http.parseEchoRequest(*hex_req8);
     if (headers8[3] == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(Simple Strict Array of 
Numbers, 1 item)");
     } else {
         if (headers8[3]->propertySize() > 0) {
-            std::vector<boost::shared_ptr<amf::Element> > props8 = 
headers8[3]->getProperties();
+            std::vector<boost::shared_ptr<cygnal::Element> > props8 = 
headers8[3]->getProperties();
             if ((strncmp(headers8[0]->getName(), "echo", 4) == 0)
                 && (strncmp(headers8[1]->getName(), "/2", 2) == 0)
                 && (headers8[3]->getType() == Element::STRICT_ARRAY_AMF0)
@@ -898,7 +898,7 @@ test_rtmpt (void)
     }
     // Undefined Array response
     boost::shared_ptr<Buffer> hex_res8(new Buffer("00 00 00 00 00 01 00 0b 2f 
32 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 0a 00 00 00 01 00 
3f f0 00 00 00 00 00 00"));
-    amf::Buffer &buf8 = http.formatEchoResponse(headers8[1]->getName(), 
*headers8[3]);
+    cygnal::Buffer &buf8 = http.formatEchoResponse(headers8[1]->getName(), 
*headers8[3]);
     //    cerr << hexify(hex_res8->reference()+30, amf::AMF0_NUMBER_SIZE, 
false) << endl;
     //    cerr << hexify(buf8.reference() + 124, amf::AMF0_NUMBER_SIZE, false) 
<< endl;
     string head8(reinterpret_cast<const char *>(buf8.reference()));
@@ -913,7 +913,7 @@ test_rtmpt (void)
     // Number 1,2
     // Array request
     boost::shared_ptr<Buffer> hex_req9(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 33 00 00 00 1c 0a 00 00 00 01 0a 00 00 00 02 00 3f f0 00 00 
00 00 00 00 00 40 00 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers9 = 
http.parseEchoRequest(*hex_req9);
+    vector<boost::shared_ptr<cygnal::Element> > headers9 = 
http.parseEchoRequest(*hex_req9);
     if ((strncmp(headers9[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers9[1]->getName(), "/3", 2) == 0)
         && (headers9[3]->getType() == Element::STRICT_ARRAY_AMF0)) {
@@ -924,7 +924,7 @@ test_rtmpt (void)
     }
     // Undefined Array response
     boost::shared_ptr<Buffer> hex_res9(new Buffer("00 00 00 00 00 01 00 0b 2f 
33 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 0a 00 00 00 02 00 
3f f0 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00"));
-    amf::Buffer &buf9 = http.formatEchoResponse(headers9[1]->getName(), 
*headers9[3]);
+    cygnal::Buffer &buf9 = http.formatEchoResponse(headers9[1]->getName(), 
*headers9[3]);
     string head9(reinterpret_cast<const char *>(buf9.reference()));
     const char *ptr9a = reinterpret_cast<const char *>(hex_res9->reference());
     const char *ptr9b = reinterpret_cast<const char *>(buf9.reference()) + 
head9.size();
@@ -937,7 +937,7 @@ test_rtmpt (void)
     // Number 1,2,3
     // Array request
     boost::shared_ptr<Buffer> hex_req10(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 34 00 00 00 25 0a 00 00 00 01 0a 00 00 00 03 00 3f f0 00 00 
00 00 00 00 00 40 00 00 00 00 00 00 00 00 40 08 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers10 = 
http.parseEchoRequest(*hex_req10);
+    vector<boost::shared_ptr<cygnal::Element> > headers10 = 
http.parseEchoRequest(*hex_req10);
     if ((strncmp(headers10[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers10[1]->getName(), "/4", 2) == 0)
         && (headers10[3]->getType() == Element::STRICT_ARRAY_AMF0)) {
@@ -948,7 +948,7 @@ test_rtmpt (void)
     }
     // Undefined Array response
     boost::shared_ptr<Buffer> hex_res10(new Buffer("00 00 00 00 00 01 00 0b 2f 
34 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 0a 00 00 00 03 00 
3f f0 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 00 40 08 00 00 00 00 00 
00"));
-    amf::Buffer &buf10 = http.formatEchoResponse(headers10[1]->getName(), 
*headers10[3]);
+    cygnal::Buffer &buf10 = http.formatEchoResponse(headers10[1]->getName(), 
*headers10[3]);
     string head10(reinterpret_cast<const char *>(buf10.reference()));
     const char *ptr10a = reinterpret_cast<const char 
*>(hex_res10->reference());
     const char *ptr10b = reinterpret_cast<const char *>(buf10.reference()) + 
head10.size();
@@ -960,7 +960,7 @@ test_rtmpt (void)
 
     // Number 0 Request
     boost::shared_ptr<Buffer> hex_req11(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 31 00 00 00 0e 0a 00 00 00 01 00 00 00 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers11 = 
http.parseEchoRequest(*hex_req11);
+    vector<boost::shared_ptr<cygnal::Element> > headers11 = 
http.parseEchoRequest(*hex_req11);
     if ((strncmp(headers11[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers11[1]->getName(), "/1", 2) == 0)
         && (headers11[3]->getType() == Element::NUMBER_AMF0)
@@ -971,7 +971,7 @@ test_rtmpt (void)
     }
     // Number 0 Response
     boost::shared_ptr<Buffer> hex_res11(new Buffer("00 00 00 00 00 01 00 0b 2f 
31 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 00 00 00 00 00 
00 00 00"));
-    amf::Buffer &buf11 = http.formatEchoResponse(headers11[1]->getName(), 
*headers11[3]);
+    cygnal::Buffer &buf11 = http.formatEchoResponse(headers11[1]->getName(), 
*headers11[3]);
     string head11(reinterpret_cast<const char *>(buf11.reference()));
     const char *ptr11a = reinterpret_cast<const char 
*>(hex_res11->reference());
     const char *ptr11b = reinterpret_cast<const char *>(buf11.reference()) + 
head11.size();
@@ -983,7 +983,7 @@ test_rtmpt (void)
 
     // Number 1 Request
     boost::shared_ptr<Buffer> hex_req12(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 32 00 00 00 0e 0a 00 00 00 01 00 3f f0 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers12 = 
http.parseEchoRequest(*hex_req12);
+    vector<boost::shared_ptr<cygnal::Element> > headers12 = 
http.parseEchoRequest(*hex_req12);
     if ((strncmp(headers12[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers12[1]->getName(), "/2", 2) == 0)
         && (headers12[3]->getType() == Element::NUMBER_AMF0)
@@ -994,7 +994,7 @@ test_rtmpt (void)
     }
     // Number 1 Response
     boost::shared_ptr<Buffer> hex_res12(new Buffer("00 00 00 00 00 01 00 0b 2f 
32 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 3f f0 00 00 00 
00 00 00"));
-    amf::Buffer &buf12 = http.formatEchoResponse(headers12[1]->getName(), 
*headers12[3]);
+    cygnal::Buffer &buf12 = http.formatEchoResponse(headers12[1]->getName(), 
*headers12[3]);
     string head12(reinterpret_cast<const char *>(buf12.reference()));
     const char *ptr12a = reinterpret_cast<const char 
*>(hex_res12->reference());
     const char *ptr12b = reinterpret_cast<const char *>(buf12.reference()) + 
head12.size();
@@ -1006,7 +1006,7 @@ test_rtmpt (void)
 
     // Number -1 Request
     boost::shared_ptr<Buffer> hex_req13(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 33 00 00 00 0e 0a 00 00 00 01 00 bf f0 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers13 = 
http.parseEchoRequest(*hex_req13);
+    vector<boost::shared_ptr<cygnal::Element> > headers13 = 
http.parseEchoRequest(*hex_req13);
     if ((strncmp(headers13[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers13[1]->getName(), "/3", 2) == 0)
         && (headers13[3]->getType() == Element::NUMBER_AMF0)
@@ -1017,7 +1017,7 @@ test_rtmpt (void)
     }
     // Number -1 Response
     boost::shared_ptr<Buffer> hex_res13(new Buffer("00 00 00 00 00 01 00 0b 2f 
33 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 bf f0 00 00 00 
00 00 00"));
-    amf::Buffer &buf13 = http.formatEchoResponse(headers13[1]->getName(), 
*headers13[3]);
+    cygnal::Buffer &buf13 = http.formatEchoResponse(headers13[1]->getName(), 
*headers13[3]);
     string head13(reinterpret_cast<const char *>(buf13.reference()));
     const char *ptr13a = reinterpret_cast<const char 
*>(hex_res13->reference());
     const char *ptr13b = reinterpret_cast<const char *>(buf13.reference()) + 
head13.size();
@@ -1029,7 +1029,7 @@ test_rtmpt (void)
 
     // Number 256 Request
     boost::shared_ptr<Buffer> hex_req14(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 34 00 00 00 0e 0a 00 00 00 01 00 40 70 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers14 = 
http.parseEchoRequest(*hex_req14);
+    vector<boost::shared_ptr<cygnal::Element> > headers14 = 
http.parseEchoRequest(*hex_req14);
     if ((strncmp(headers14[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers14[1]->getName(), "/4", 2) == 0)
         && (headers14[3]->getType() == Element::NUMBER_AMF0)
@@ -1040,7 +1040,7 @@ test_rtmpt (void)
     }
     // Number 256 Response
     boost::shared_ptr<Buffer> hex_res14(new Buffer("00 00 00 00 00 01 00 0b 2f 
34 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 40 70 00 00 00 
00 00 00"));
-    amf::Buffer &buf14 = http.formatEchoResponse(headers14[1]->getName(), 
*headers14[3]);
+    cygnal::Buffer &buf14 = http.formatEchoResponse(headers14[1]->getName(), 
*headers14[3]);
     string head14(reinterpret_cast<const char *>(buf14.reference()));
     const char *ptr14a = reinterpret_cast<const char 
*>(hex_res14->reference());
     const char *ptr14b = reinterpret_cast<const char *>(buf14.reference()) + 
head14.size();
@@ -1052,7 +1052,7 @@ test_rtmpt (void)
 
     // Number -256 Request
     boost::shared_ptr<Buffer> hex_req15(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 35 00 00 00 0e 0a 00 00 00 01 00 c0 70 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers15 = 
http.parseEchoRequest(*hex_req15);
+    vector<boost::shared_ptr<cygnal::Element> > headers15 = 
http.parseEchoRequest(*hex_req15);
     if ((strncmp(headers15[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers15[1]->getName(), "/5", 2) == 0)
         && (headers15[3]->getType() == Element::NUMBER_AMF0)
@@ -1063,7 +1063,7 @@ test_rtmpt (void)
     }
     // Number -256 Response
     boost::shared_ptr<Buffer> hex_res15(new Buffer("00 00 00 00 00 01 00 0b 2f 
35 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 c0 70 00 00 00 
00 00 00"));
-    amf::Buffer &buf15 = http.formatEchoResponse(headers15[1]->getName(), 
*headers15[3]);
+    cygnal::Buffer &buf15 = http.formatEchoResponse(headers15[1]->getName(), 
*headers15[3]);
     string head15(reinterpret_cast<const char *>(buf15.reference()));
     const char *ptr15a = reinterpret_cast<const char 
*>(hex_res15->reference());
     const char *ptr15b = reinterpret_cast<const char *>(buf15.reference()) + 
head15.size();
@@ -1075,7 +1075,7 @@ test_rtmpt (void)
 
     // Number 65536 Request
     boost::shared_ptr<Buffer> hex_req16(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 36 00 00 00 0e 0a 00 00 00 01 00 40 f0 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers16 = 
http.parseEchoRequest(*hex_req16);
+    vector<boost::shared_ptr<cygnal::Element> > headers16 = 
http.parseEchoRequest(*hex_req16);
     if ((strncmp(headers16[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers16[1]->getName(), "/6", 2) == 0)
         && (headers16[3]->getType() == Element::NUMBER_AMF0)
@@ -1086,7 +1086,7 @@ test_rtmpt (void)
     }
     // Number 65536 Response
     boost::shared_ptr<Buffer> hex_res16(new Buffer("00 00 00 00 00 01 00 0b 2f 
36 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 40 f0 00 00 00 
00 00 00"));
-    amf::Buffer &buf16 = http.formatEchoResponse(headers16[1]->getName(), 
*headers16[3]);
+    cygnal::Buffer &buf16 = http.formatEchoResponse(headers16[1]->getName(), 
*headers16[3]);
     string head16(reinterpret_cast<const char *>(buf16.reference()));
     const char *ptr16a = reinterpret_cast<const char 
*>(hex_res16->reference());
     const char *ptr16b = reinterpret_cast<const char *>(buf16.reference()) + 
head16.size();
@@ -1098,7 +1098,7 @@ test_rtmpt (void)
 
     // Number -655536 Request
     boost::shared_ptr<Buffer> hex_req16x(new Buffer("00 00 00 00 00 01 00 04 
65 63 68 6f 00 02 2f 37 00 00 00 0e 0a 00 00 00 01 00 c0 f0 00 00 00 00 00 
00"));
-    vector<boost::shared_ptr<amf::Element> > headers16x = 
http.parseEchoRequest(*hex_req16x);
+    vector<boost::shared_ptr<cygnal::Element> > headers16x = 
http.parseEchoRequest(*hex_req16x);
     if ((strncmp(headers16x[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers16x[1]->getName(), "/7", 2) == 0)
         && (headers16x[3]->getType() == Element::NUMBER_AMF0)
@@ -1109,7 +1109,7 @@ test_rtmpt (void)
     }
     // Number -655536 Response
     boost::shared_ptr<Buffer> hex_res17(new Buffer("00 00 00 00 00 01 00 0b 2f 
37 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 c0 f0 00 00 00 
00 00 00"));
-    amf::Buffer &buf17 = http.formatEchoResponse(headers16x[1]->getName(), 
*headers16x[3]);
+    cygnal::Buffer &buf17 = http.formatEchoResponse(headers16x[1]->getName(), 
*headers16x[3]);
     string head17(reinterpret_cast<const char *>(buf17.reference()));
     const char *ptr17a = reinterpret_cast<const char 
*>(hex_res17->reference());
     const char *ptr17b = reinterpret_cast<const char *>(buf17.reference()) + 
head17.size();
@@ -1121,7 +1121,7 @@ test_rtmpt (void)
 
     // Number 0 Request
     boost::shared_ptr<Buffer> hex_req18(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 38 00 00 00 0e 0a 00 00 00 01 00 00 00 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers18 = 
http.parseEchoRequest(*hex_req18);
+    vector<boost::shared_ptr<cygnal::Element> > headers18 = 
http.parseEchoRequest(*hex_req18);
     if ((strncmp(headers18[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers18[1]->getName(), "/8", 2) == 0)
         && (headers18[3]->getType() == Element::NUMBER_AMF0)
@@ -1132,7 +1132,7 @@ test_rtmpt (void)
     }
     // Number 0 Response
     boost::shared_ptr<Buffer> hex_res18(new Buffer("00 00 00 00 00 01 00 0b 2f 
38 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 00 00 00 00 00 
00 00 00"));
-    amf::Buffer &buf18 = http.formatEchoResponse(headers18[1]->getName(), 
*headers18[3]);
+    cygnal::Buffer &buf18 = http.formatEchoResponse(headers18[1]->getName(), 
*headers18[3]);
     string head18(reinterpret_cast<const char *>(buf18.reference()));
     const char *ptr18a = reinterpret_cast<const char 
*>(hex_res18->reference());
     const char *ptr18b = reinterpret_cast<const char *>(buf18.reference()) + 
head18.size();
@@ -1144,7 +1144,7 @@ test_rtmpt (void)
 
     // Number 1.5 Request
     boost::shared_ptr<Buffer> hex_req19(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 39 00 00 00 0e 0a 00 00 00 01 00 3f f8 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers19 = 
http.parseEchoRequest(*hex_req19);
+    vector<boost::shared_ptr<cygnal::Element> > headers19 = 
http.parseEchoRequest(*hex_req19);
     if ((strncmp(headers19[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers19[1]->getName(), "/9", 2) == 0)
         && (headers19[3]->getType() == Element::NUMBER_AMF0)
@@ -1155,7 +1155,7 @@ test_rtmpt (void)
     }
     // Number 1.5 Response
     boost::shared_ptr<Buffer> hex_res19(new Buffer("00 00 00 00 00 01 00 0b 2f 
39 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 3f f8 00 00 00 
00 00 00"));
-    amf::Buffer &buf19 = http.formatEchoResponse(headers19[1]->getName(), 
*headers19[3]);
+    cygnal::Buffer &buf19 = http.formatEchoResponse(headers19[1]->getName(), 
*headers19[3]);
     string head19(reinterpret_cast<const char *>(buf19.reference()));
     const char *ptr19a = reinterpret_cast<const char 
*>(hex_res19->reference());
     const char *ptr19b = reinterpret_cast<const char *>(buf19.reference()) + 
head19.size();
@@ -1167,7 +1167,7 @@ test_rtmpt (void)
 
     // Number -1.5 Request
     boost::shared_ptr<Buffer> hex_req20(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 03 2f 31 30 00 00 00 0e 0a 00 00 00 01 00 bf f8 00 00 00 00 00 
00"));
-    vector<boost::shared_ptr<amf::Element> > headers20 = 
http.parseEchoRequest(*hex_req20);
+    vector<boost::shared_ptr<cygnal::Element> > headers20 = 
http.parseEchoRequest(*hex_req20);
     if ((strncmp(headers20[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers20[1]->getName(), "/10", 2) == 0)
         && (headers20[3]->getType() == Element::NUMBER_AMF0)
@@ -1178,7 +1178,7 @@ test_rtmpt (void)
     }
     // Number -1.5 Response
     boost::shared_ptr<Buffer> hex_res20(new Buffer("00 00 00 00 00 01 00 0c 2f 
31 30 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 bf f8 00 00 
00 00 00 00"));
-    amf::Buffer &buf20 = http.formatEchoResponse(headers20[1]->getName(), 
*headers20[3]);
+    cygnal::Buffer &buf20 = http.formatEchoResponse(headers20[1]->getName(), 
*headers20[3]);
     string head20(reinterpret_cast<const char *>(buf20.reference()));
     const char *ptr20a = reinterpret_cast<const char 
*>(hex_res20->reference());
     const char *ptr20b = reinterpret_cast<const char *>(buf20.reference()) + 
head20.size();
@@ -1190,7 +1190,7 @@ test_rtmpt (void)
 
     // Number NaN Request
     boost::shared_ptr<Buffer> hex_req21(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 03 2f 31 31 00 00 00 0e 0a 00 00 00 01 00 ff f8 00 00 00 00 00 
00"));
-    vector<boost::shared_ptr<amf::Element> > headers21 = 
http.parseEchoRequest(*hex_req21);
+    vector<boost::shared_ptr<cygnal::Element> > headers21 = 
http.parseEchoRequest(*hex_req21);
     if ((strncmp(headers21[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers21[1]->getName(), "/11", 2) == 0)
         && (headers21[3]->getType() == Element::NUMBER_AMF0)
@@ -1201,7 +1201,7 @@ test_rtmpt (void)
     }
     // Number NaN Response
     boost::shared_ptr<Buffer> hex_res21(new Buffer("00 00 00 00 00 01 00 0c 2f 
31 31 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 ff f8 00 00 
00 00 00 00"));
-    amf::Buffer &buf21 = http.formatEchoResponse(headers21[1]->getName(), 
*headers21[3]);
+    cygnal::Buffer &buf21 = http.formatEchoResponse(headers21[1]->getName(), 
*headers21[3]);
     string head21(reinterpret_cast<const char *>(buf21.reference()));
     const char *ptr21a = reinterpret_cast<const char 
*>(hex_res21->reference());
     const char *ptr21b = reinterpret_cast<const char *>(buf21.reference()) + 
head21.size();
@@ -1216,7 +1216,7 @@ test_rtmpt (void)
 
     // Number Infinity Request
     boost::shared_ptr<Buffer> hex_req22x(new Buffer("00 00 00 00 00 01 00 04 
65 63 68 6f 00 03 2f 31 34 00 00 00 0e 0a 00 00 00 01 00 7f ef ff ff ff ff ff 
ff"));
-    vector<boost::shared_ptr<amf::Element> > headers22x = 
http.parseEchoRequest(*hex_req22x);
+    vector<boost::shared_ptr<cygnal::Element> > headers22x = 
http.parseEchoRequest(*hex_req22x);
     if ((strncmp(headers22x[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers22x[1]->getName(), "/14", 2) == 0)
         && (headers22x[3]->getType() == Element::NUMBER_AMF0)
@@ -1228,7 +1228,7 @@ test_rtmpt (void)
     // Number Infinity Response
     boost::shared_ptr<Buffer> hex_res23(new Buffer("00 00 00 00 00 01 00 0c 2f 
31 33 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 00 7f f0 00 00 
00 00 00 00"));
 #if 0
-    amf::Buffer &buf23 = http.formatEchoResponse(headers22x[1]->getName(), 
*headers22x[3]);
+    cygnal::Buffer &buf23 = http.formatEchoResponse(headers22x[1]->getName(), 
*headers22x[3]);
     string head23(reinterpret_cast<const char *>(buf23.reference()));
     const char *ptr23a = reinterpret_cast<const char 
*>(hex_res23->reference());
     const char *ptr23b = reinterpret_cast<const char *>(buf23.reference()) + 
head23.size();
@@ -1252,9 +1252,9 @@ test_rtmpt (void)
     // Number 1,2,1,2
     // Array request
     boost::shared_ptr<Buffer> hex_req26(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 35 00 00 00 33 0a 00 00 00 01 0a 00 00 00 03 00 3f f0 00 00 
00 00 00 00 00 40 00 00 00 00 00 00 00 0a 00 00 00 02 00 3f f0 00 00 00 00 00 
00 00 40 00 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers26 = 
http.parseEchoRequest(*hex_req26);
-    std::vector<boost::shared_ptr<amf::Element> > props26 = 
headers26[3]->getProperties();
-    std::vector<boost::shared_ptr<amf::Element> > props26a = 
props26[2]->getProperties();
+    vector<boost::shared_ptr<cygnal::Element> > headers26 = 
http.parseEchoRequest(*hex_req26);
+    std::vector<boost::shared_ptr<cygnal::Element> > props26 = 
headers26[3]->getProperties();
+    std::vector<boost::shared_ptr<cygnal::Element> > props26a = 
props26[2]->getProperties();
     if ((strncmp(headers26[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers26[1]->getName(), "/5", 2) == 0)
         && (headers26[3]->getType() == Element::STRICT_ARRAY_AMF0)
@@ -1270,7 +1270,7 @@ test_rtmpt (void)
     }
     // Undefined Array response
     boost::shared_ptr<Buffer> hex_res26(new Buffer("00 00 00 00 00 01 00 0b 2f 
35 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 0a 00 00 00 03 00 
3f f0 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 0a 00 00 00 02 00 3f f0 00 
00 00 00 00 00 00 40 00 00 00 00 00 00 00"));
-    amf::Buffer &buf26 = http.formatEchoResponse(headers26[1]->getName(), 
*headers26[3]);
+    cygnal::Buffer &buf26 = http.formatEchoResponse(headers26[1]->getName(), 
*headers26[3]);
     string head26(reinterpret_cast<const char *>(buf26.reference()));
     //    cerr << hexify(hex_res26->reference()+30, amf::AMF0_NUMBER_SIZE, 
false) << endl;
     const char *ptr26a = reinterpret_cast<const char 
*>(hex_res26->reference());
@@ -1285,8 +1285,8 @@ test_rtmpt (void)
     // Number 1,,,,,,,100
     // Array request
     boost::shared_ptr<Buffer> hex_req27(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 36 00 00 00 7f 0a 00 00 00 01 0a 00 00 00 65 00 3f f0 00 00 
00 00 00 00 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 
06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 
06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 
06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 00 
40 59 00 00 00 00 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers27 = 
http.parseEchoRequest(*hex_req27);
-    std::vector<boost::shared_ptr<amf::Element> > props27 = 
headers27[3]->getProperties();
+    vector<boost::shared_ptr<cygnal::Element> > headers27 = 
http.parseEchoRequest(*hex_req27);
+    std::vector<boost::shared_ptr<cygnal::Element> > props27 = 
headers27[3]->getProperties();
     if ((strncmp(headers27[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers27[1]->getName(), "/6", 2) == 0)
         && (headers27[3]->getType() == Element::STRICT_ARRAY_AMF0)
@@ -1303,7 +1303,7 @@ test_rtmpt (void)
     // Undefined Array response
     boost::shared_ptr<Buffer> hex_res27(new Buffer("00 00 00 00 00 01 00 0b 2f 
36 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 08 00 00 00 66 00 
01 30 00 3f f0 00 00 00 00 00 00 00 03 31 30 30 00 40 59 00 00 00 00 00 00 00 
06 6c 65 6e 67 74 68 00 40 59 80 00 00 00 00 00 00 00 09"));
 #if 0
-    amf::Buffer &buf27 = http.formatEchoResponse(headers27[1]->getName(), 
*headers27[3]);
+    cygnal::Buffer &buf27 = http.formatEchoResponse(headers27[1]->getName(), 
*headers27[3]);
     string head27(reinterpret_cast<const char *>(buf27.reference()));
     cerr << hexify(hex_res27->reference()+29, hex_res27->allocated()-29 , 
false) << endl;
     cerr << hexify(buf27.reference() + 123, buf27.allocated()-123, false) << 
endl;
@@ -1319,8 +1319,8 @@ test_rtmpt (void)
 #if 0
     // Array request
     boost::shared_ptr<Buffer> hex_req28(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 37 00 00 00 38 0a 00 00 00 01 08 00 00 00 01 00 06 6c 65 6e 
67 74 68 00 3f f0 00 00 00 00 00 00 00 01 30 00 3f f0 00 00 00 00 00 00 00 03 
6f 6e 65 00 3f f0 00 00 00 00 00 00 00 00 09"));
-    vector<boost::shared_ptr<amf::Element> > headers28 = 
http.parseEchoRequest(*hex_req28);
-    std::vector<boost::shared_ptr<amf::Element> > props28 = 
headers28[3]->getProperties();
+    vector<boost::shared_ptr<cygnal::Element> > headers28 = 
http.parseEchoRequest(*hex_req28);
+    std::vector<boost::shared_ptr<cygnal::Element> > props28 = 
headers28[3]->getProperties();
     if ((strncmp(headers28[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers28[1]->getName(), "/7", 2) == 0)
         && (headers28[3]->getType() == Element::ECMA_ARRAY_AMF0)
@@ -1338,7 +1338,7 @@ test_rtmpt (void)
     
     // Undefined Array response
     boost::shared_ptr<Buffer> hex_res28(new Buffer("00 00 00 00 00 01 00 0b 2f 
37 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 08 00 00 00 01 00 
03 6f 6e 65 00 3f f0 00 00 00 00 00 00 00 01 30 00 3f f0 00 00 00 00 00 00 00 
06 6c 65 6e 67 74 68 00 3f f0 00 00 00 00 00 00 00 00 09"));
-    amf::Buffer &buf28 = http.formatEchoResponse(headers28[1]->getName(), 
*headers28[3]);
+    cygnal::Buffer &buf28 = http.formatEchoResponse(headers28[1]->getName(), 
*headers28[3]);
 //     cerr << hexify(hex_res28->reference()+30, hex_res28->allocated()-30, 
false) << endl;
 //     cerr << hexify(buf28.reference() + 124, buf28.allocated() - 124, false) 
<< endl;
     string head28(reinterpret_cast<const char *>(buf28.reference()));
@@ -1353,7 +1353,7 @@ test_rtmpt (void)
 
     // NULL String request, ie.. no data
     boost::shared_ptr<Buffer> hex_req29(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 31 00 00 00 08 0a 00 00 00 01 02 00 00"));
-    vector<boost::shared_ptr<amf::Element> > headers29 = 
http.parseEchoRequest(*hex_req29);
+    vector<boost::shared_ptr<cygnal::Element> > headers29 = 
http.parseEchoRequest(*hex_req29);
     if ((strncmp(headers29[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers29[1]->getName(), "/1", 2) == 0)
         && (headers29[3]->getType() == Element::STRING_AMF0)
@@ -1365,7 +1365,7 @@ test_rtmpt (void)
     // NULL String response
     boost::shared_ptr<Buffer> hex_res29(new Buffer("00 00 00 00 00 01 00 0b 2f 
31 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 02 00 00"));
 #if 0                           // FIXME: why does this core dump ?
-    amf::Buffer &buf29 = http.formatEchoResponse(headers29[1]->getName(), 
*headers29[3]);
+    cygnal::Buffer &buf29 = http.formatEchoResponse(headers29[1]->getName(), 
*headers29[3]);
     string head29(reinterpret_cast<const char *>(buf29.reference()));
     const char *ptr29a = reinterpret_cast<const char 
*>(hex_res29->reference());
     const char *ptr29b = reinterpret_cast<const char *>(buf29.reference()) + 
head29.size();
@@ -1379,7 +1379,7 @@ test_rtmpt (void)
     // String request
     // "Hello world!"
     boost::shared_ptr<Buffer> hex_req30(new Buffer(" 00 00 00 00 00 01 00 04 
65 63 68 6f 00 02 2f 32 00 00 00 14 0a 00 00 00 01 02 00 0c 48 65 6c 6c 6f 20 
77 6f 72 6c 64 21"));
-    vector<boost::shared_ptr<amf::Element> > headers30 = 
http.parseEchoRequest(*hex_req30);
+    vector<boost::shared_ptr<cygnal::Element> > headers30 = 
http.parseEchoRequest(*hex_req30);
     if ((strncmp(headers30[0]->getName(), "echo", 4) == 0)
         && (strncmp(headers30[1]->getName(), "/2", 2) == 0)
         && (headers30[3]->getType() == Element::STRING_AMF0)
@@ -1390,7 +1390,7 @@ test_rtmpt (void)
     }
     // String response
     boost::shared_ptr<Buffer> hex_res30(new Buffer("00 00 00 00 00 01 00 0b 2f 
32 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 02 00 0c 48 65 6c 
6c 6f 20 77 6f 72 6c 64 21"));
-    amf::Buffer &buf30 = http.formatEchoResponse(headers30[1]->getName(), 
*headers30[3]);
+    cygnal::Buffer &buf30 = http.formatEchoResponse(headers30[1]->getName(), 
*headers30[3]);
     string head30(reinterpret_cast<const char *>(buf30.reference()));
     const char *ptr30a = reinterpret_cast<const char 
*>(hex_res30->reference());
     const char *ptr30b = reinterpret_cast<const char *>(buf30.reference()) + 
head30.size();
@@ -1403,12 +1403,12 @@ test_rtmpt (void)
     // Array of Strings request
     // test1,test2,test3,test4
     boost::shared_ptr<Buffer> hex_req31(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 33 00 00 00 2a 0a 00 00 00 01 0a 00 00 00 04 02 00 05 74 65 
73 74 31 02 00 05 74 65 73 74 32 02 00 05 74 65 73 74 33 02 00 05 74 65 73 74 
34"));
-    vector<boost::shared_ptr<amf::Element> > headers31 = 
http.parseEchoRequest(*hex_req31);
+    vector<boost::shared_ptr<cygnal::Element> > headers31 = 
http.parseEchoRequest(*hex_req31);
     if (headers31.size() == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(Simple String Array)");
     } else {
 
-        std::vector<boost::shared_ptr<amf::Element> > props31 = 
headers31[3]->getProperties();
+        std::vector<boost::shared_ptr<cygnal::Element> > props31 = 
headers31[3]->getProperties();
         if ((strncmp(headers31[0]->getName(), "echo", 4) == 0)
             && (strncmp(headers31[1]->getName(), "/3", 2) == 0)
             && (headers31[3]->getType() == Element::STRICT_ARRAY_AMF0)
@@ -1425,7 +1425,7 @@ test_rtmpt (void)
     
     // Array of Strings response
     boost::shared_ptr<Buffer> hex_res31(new Buffer("00 00 00 00 00 01 00 0b 2f 
33 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 0a 00 00 00 04 02 
00 05 74 65 73 74 31 02 00 05 74 65 73 74 32 02 00 05 74 65 73 74 33 02 00 05 
74 65 73 74 34"));
-    amf::Buffer &buf31 = http.formatEchoResponse(headers31[1]->getName(), 
*headers31[3]);
+    cygnal::Buffer &buf31 = http.formatEchoResponse(headers31[1]->getName(), 
*headers31[3]);
     string head31(reinterpret_cast<const char *>(buf31.reference()));
     const char *ptr31a = reinterpret_cast<const char 
*>(hex_res31->reference());
     const char *ptr31b = reinterpret_cast<const char *>(buf31.reference()) + 
head31.size();
@@ -1438,11 +1438,11 @@ test_rtmpt (void)
     // Custom class Request
     // [object EchoClass]                    [object.Object]
     boost::shared_ptr<Buffer> hex_req40(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 31 00 00 00 26 0a 00 00 00 01 03 00 05 61 74 74 72 32 00 3f 
f0 00 00 00 00 00 00 00 05 61 74 74 72 31 02 00 03 6f 6e 65 00 00 09"));
-    vector<boost::shared_ptr<amf::Element> > headers40 = 
http.parseEchoRequest(*hex_req40);
+    vector<boost::shared_ptr<cygnal::Element> > headers40 = 
http.parseEchoRequest(*hex_req40);
     if (headers40[3] == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(object CustomClass)");
     } else {
-        std::vector<boost::shared_ptr<amf::Element> > props40 = 
headers40[3]->getProperties();
+        std::vector<boost::shared_ptr<cygnal::Element> > props40 = 
headers40[3]->getProperties();
         if ((strncmp(headers40[0]->getName(), "echo", 4) == 0)
             && (strncmp(headers40[1]->getName(), "/1", 2) == 0)
             && (headers40[3]->getType() == Element::OBJECT_AMF0)
@@ -1456,7 +1456,7 @@ test_rtmpt (void)
         }
     }
     boost::shared_ptr<Buffer> hex_res40(new Buffer("00 00 00 00 00 01 00 0b 2f 
31 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 03 00 05 61 74 74 
72 32 00 3f f0 00 00 00 00 00 00 00 05 61 74 74 72 31 02 00 03 6f 6e 65 00 00 
09"));
-    amf::Buffer &buf40 = http.formatEchoResponse(headers40[1]->getName(), 
*headers40[3]);
+    cygnal::Buffer &buf40 = http.formatEchoResponse(headers40[1]->getName(), 
*headers40[3]);
 
     string head40(reinterpret_cast<const char *>(buf40.reference()));
     const char *ptr40a = reinterpret_cast<const char 
*>(hex_res40->reference());
@@ -1469,7 +1469,7 @@ test_rtmpt (void)
     
     // [object EchoClass],[object EchoClass] [object.Object],[object.Object]
     boost::shared_ptr<Buffer> hex_req41(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 32 00 00 00 2e 0a 00 00 00 01 0a 00 00 00 02 03 00 05 61 74 
74 72 32 00 3f f0 00 00 00 00 00 00 00 05 61 74 74 72 31 02 00 03 6f 6e 65 00 
00 09 07 00 01"));
-    vector<boost::shared_ptr<amf::Element> > headers41 = 
http.parseEchoRequest(*hex_req41);
+    vector<boost::shared_ptr<cygnal::Element> > headers41 = 
http.parseEchoRequest(*hex_req41);
     if (headers41[3] == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(object CustomClass Array)");
     } else {
@@ -1481,7 +1481,7 @@ test_rtmpt (void)
         }
     }
     boost::shared_ptr<Buffer> hex_res41(new Buffer("00 00 00 00 00 01 00 0b 2f 
32 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 0a 00 00 00 02 03 
00 05 61 74 74 72 32 00 3f f0 00 00 00 00 00 00 00 05 61 74 74 72 31 02 00 03 
6f 6e 65 00 00 09 07 00 01"));
-    amf::Buffer &buf41 = http.formatEchoResponse(headers41[1]->getName(), 
*headers41[3]);
+    cygnal::Buffer &buf41 = http.formatEchoResponse(headers41[1]->getName(), 
*headers41[3]);
     string head41(reinterpret_cast<const char *>(buf41.reference()));
     const char *ptr41a = reinterpret_cast<const char 
*>(hex_res41->reference());
     const char *ptr41b = reinterpret_cast<const char *>(buf41.reference()) + 
head41.size();
@@ -1494,7 +1494,7 @@ test_rtmpt (void)
     // Remote Class
     // [object RemoteClass]                      [object RemoteClass]
     boost::shared_ptr<Buffer> hex_req42(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 31 00 00 00 59 0a 00 00 00 01 10 00 27 6f 72 67 2e 72 65 64 
35 2e 73 65 72 76 65 72 2e 77 65 62 61 70 70 2e 65 63 68 6f 2e 52 65 6d 6f 74 
65 43 6c 61 73 73 00 0a 61 74 74 72 69 62 75 74 65 32 00 40 00 00 00 00 00 00 
00 00 0a 61 74 74 72 69 62 75 74 65 31 02 00 03 6f 6e 65 00 00 09"));
-    vector<boost::shared_ptr<amf::Element> > headers42 = 
http.parseEchoRequest(*hex_req42);
+    vector<boost::shared_ptr<cygnal::Element> > headers42 = 
http.parseEchoRequest(*hex_req42);
     if (headers42[3] == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(Remote Class)");
     } else {    
@@ -1509,7 +1509,7 @@ test_rtmpt (void)
     }
 
     boost::shared_ptr<Buffer> hex_res42(new Buffer("00 00 00 00 00 01 00 0b 2f 
31 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 10 00 27 6f 72 67 
2e 72 65 64 35 2e 73 65 72 76 65 72 2e 77 65 62 61 70 70 2e 65 63 68 6f 2e 52 
65 6d 6f 74 65 43 6c 61 73 73 00 0a 61 74 74 72 69 62 75 74 65 31 02 00 03 6f 
6e 65 00 0a 61 74 74 72 69 62 75 74 65 32 00 40 00 00 00 00 00 00 00 00 00 
09"));
-    amf::Buffer &buf42 = http.formatEchoResponse(headers42[1]->getName(), 
*headers42[3]);
+    cygnal::Buffer &buf42 = http.formatEchoResponse(headers42[1]->getName(), 
*headers42[3]);
     string head42(reinterpret_cast<const char *>(buf42.reference()));
     const char *ptr42a = reinterpret_cast<const char 
*>(hex_res42->reference());
     const char *ptr42b = reinterpret_cast<const char *>(buf42.reference()) + 
head42.size();
@@ -1523,13 +1523,13 @@ test_rtmpt (void)
     // org.red5.server.webapp.echo.RemoteClass
     // [object RemoteClass],[object RemoteClass] [object RemoteClass],[object 
RemoteClass]
     boost::shared_ptr<Buffer> hex_req43(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 32 00 00 00 b2 0a 00 00 00 01 0a 00 00 00 02 10 00 27 6f 72 
67 2e 72 65 64 35 2e 73 65 72 76 65 72 2e 77 65 62 61 70 70 2e 65 63 68 6f 2e 
52 65 6d 6f 74 65 43 6c 61 73 73 00 0a 61 74 74 72 69 62 75 74 65 32 00 3f f0 
00 00 00 00 00 00 00 0a 61 74 74 72 69 62 75 74 65 31 02 00 03 6f 6e 65 00 00 
09 10 00 27 6f 72 67 2e 72 65 64 35 2e 73 65 72 76 65 72 2e 77 65 62 61 70 70 
2e 65 63 68 6f 2e 52 65 6d 6f 74 65 43 6c 61 73 73 00 0a 61 74 74 72 69 62 75 
74 65 32 00 40 00 00 00 00 00 00 00 00 0a 61 74 74 72 69 62 75 74 65 31 02 00 
03 74 77 6f 00 00 09"));
-    vector<boost::shared_ptr<amf::Element> > headers43 = 
http.parseEchoRequest(*hex_req43);
+    vector<boost::shared_ptr<cygnal::Element> > headers43 = 
http.parseEchoRequest(*hex_req43);
     if (headers43[3] == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(object RemoteClass Array, 2 
items)");
     } else {
-       std::vector<boost::shared_ptr<amf::Element> > props43 = 
headers43[3]->getProperties();
-       std::vector<boost::shared_ptr<amf::Element> > props43a = 
props43[0]->getProperties();
-       std::vector<boost::shared_ptr<amf::Element> > props43b = 
props43[1]->getProperties();
+       std::vector<boost::shared_ptr<cygnal::Element> > props43 = 
headers43[3]->getProperties();
+       std::vector<boost::shared_ptr<cygnal::Element> > props43a = 
props43[0]->getProperties();
+       std::vector<boost::shared_ptr<cygnal::Element> > props43b = 
props43[1]->getProperties();
         if ((strncmp(headers43[0]->getName(), "echo", 4) == 0)
             && (strncmp(headers43[1]->getName(), "/2", 2) == 0)
             && (headers43[3]->getType() == Element::STRICT_ARRAY_AMF0)
@@ -1552,9 +1552,9 @@ test_rtmpt (void)
         }
     }
     boost::shared_ptr<Buffer> hex_res43(new Buffer("00 00 00 00 00 01 00 0b 2f 
32 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 0a 00 00 00 02 10 
00 27 6f 72 67 2e 72 65 64 35 2e 73 65 72 76 65 72 2e 77 65 62 61 70 70 2e 65 
63 68 6f 2e 52 65 6d 6f 74 65 43 6c 61 73 73 00 0a 61 74 74 72 69 62 75 74 65 
31 02 00 03 6f 6e 65 00 0a 61 74 74 72 69 62 75 74 65 32 00 3f f0 00 00 00 00 
00 00 00 00 09 10 00 27 6f 72 67 2e 72 65 64 35 2e 73 65 72 76 65 72 2e 77 65 
62 61 70 70 2e 65 63 68 6f 2e 52 65 6d 6f 74 65 43 6c 61 73 73 00 0a 61 74 74 
72 69 62 75 74 65 31 02 00 03 74 77 6f 00 0a 61 74 74 72 69 62 75 74 65 32 00 
40 00 00 00 00 00 00 00 00 00 09"));
-    amf::Buffer &buf43 = http.formatEchoResponse(headers43[1]->getName(), 
*headers43[3]);
-    std::vector<boost::shared_ptr<amf::Element> > props43 = 
headers43[3]->getProperties();
-    //    std::vector<boost::shared_ptr<amf::Element> > props43a = 
props43[0]->getProperties();
+    cygnal::Buffer &buf43 = http.formatEchoResponse(headers43[1]->getName(), 
*headers43[3]);
+    std::vector<boost::shared_ptr<cygnal::Element> > props43 = 
headers43[3]->getProperties();
+    //    std::vector<boost::shared_ptr<cygnal::Element> > props43a = 
props43[0]->getProperties();
 //     cerr << hexify(hex_res43->reference()+29, hex_res43->allocated()-29 , 
false) << endl;
 //     cerr << hexify(buf43.reference(), buf43.allocated(), true) << endl;
 //     cerr << hexify(buf43.reference() + 124, buf43.allocated()-124, false) 
<< endl;
@@ -1571,7 +1571,7 @@ test_rtmpt (void)
     
     // [object RemoteClass]                      [object RemoteClass]
     boost::shared_ptr<Buffer> hex_req44(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 33 00 00 00 5b 0a 00 00 00 01 10 00 27 6f 72 67 2e 72 65 64 
35 2e 73 65 72 76 65 72 2e 77 65 62 61 70 70 2e 65 63 68 6f 2e 52 65 6d 6f 74 
65 43 6c 61 73 73 00 0a 61 74 74 72 69 62 75 74 65 32 00 41 d2 65 80 b4 80 00 
00 00 0a 61 74 74 72 69 62 75 74 65 31 02 00 05 74 68 72 65 65 00 00 09"));
-    vector<boost::shared_ptr<amf::Element> > headers44 = 
http.parseEchoRequest(*hex_req44);
+    vector<boost::shared_ptr<cygnal::Element> > headers44 = 
http.parseEchoRequest(*hex_req44);
     if (headers44[3] == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(object RemoteClass Array)");
     } else {
@@ -1584,7 +1584,7 @@ test_rtmpt (void)
         }
     }
     boost::shared_ptr<Buffer> hex_res44(new Buffer("00 00 00 00 00 01 00 0b 2f 
33 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 10 00 27 6f 72 67 
2e 72 65 64 35 2e 73 65 72 76 65 72 2e 77 65 62 61 70 70 2e 65 63 68 6f 2e 52 
65 6d 6f 74 65 43 6c 61 73 73 00 0a 61 74 74 72 69 62 75 74 65 31 02 00 05 74 
68 72 65 65 00 0a 61 74 74 72 69 62 75 74 65 32 00 41 d2 65 80 b4 80 00 00 00 
00 09"));
-    amf::Buffer &buf44 = http.formatEchoResponse(headers44[1]->getName(), 
*headers44[3]);
+    cygnal::Buffer &buf44 = http.formatEchoResponse(headers44[1]->getName(), 
*headers44[3]);
     string head44(reinterpret_cast<const char *>(buf44.reference()));
     const char *ptr44a = reinterpret_cast<const char 
*>(hex_res44->reference());
     const char *ptr44b = reinterpret_cast<const char *>(buf44.reference()) + 
head44.size();
@@ -1597,11 +1597,11 @@ test_rtmpt (void)
 #if 0
     // [object RemoteClass]                      [object RemoteClass]
     boost::shared_ptr<Buffer> hex_req45(new Buffer("00 00 00 00 00 01 00 04 65 
63 68 6f 00 02 2f 34 00 00 00 5a 0a 00 00 00 01 10 00 27 6f 72 67 2e 72 65 64 
35 2e 73 65 72 76 65 72 2e 77 65 62 61 70 70 2e 65 63 68 6f 2e 52 65 6d 6f 74 
65 43 6c 61 73 73 00 0a 61 74 74 72 69 62 75 74 65 32 00 42 71 3f 8f 4d 00 00 
00 00 0a 61 74 74 72 69 62 75 74 65 31 02 00 04 66 6f 75 72 00 00 09"));
-    vector<boost::shared_ptr<amf::Element> > headers45 = 
http.parseEchoRequest(*hex_req45);
+    vector<boost::shared_ptr<cygnal::Element> > headers45 = 
http.parseEchoRequest(*hex_req45);
     if (headers45[3] == 0) {
         runtest.unresolved("HTTP::parseEchoRequest(object RemoteClass Array)");
     } else {
-       std::vector<boost::shared_ptr<amf::Element> > props45 = 
headers45[3]->getProperties();
+       std::vector<boost::shared_ptr<cygnal::Element> > props45 = 
headers45[3]->getProperties();
         if (props45.size() == 2) {
             if ((strncmp(headers45[0]->getName(), "echo", 4) == 0)
                 && (strncmp(headers45[1]->getName(), "/4", 2) == 0)
@@ -1623,7 +1623,7 @@ test_rtmpt (void)
     }
     
     boost::shared_ptr<Buffer> hex_res45(new Buffer("00 00 00 00 00 01 00 0b 2f 
34 2f 6f 6e 52 65 73 75 6c 74 00 04 6e 75 6c 6c ff ff ff ff 10 00 27 6f 72 67 
2e 72 65 64 35 2e 73 65 72 76 65 72 2e 77 65 62 61 70 70 2e 65 63 68 6f 2e 52 
65 6d 6f 74 65 43 6c 61 73 73 00 0a 61 74 74 72 69 62 75 74 65 31 02 00 04 66 
6f 75 72 00 0a 61 74 74 72 69 62 75 74 65 32 00 c1 9c 2c c0 00 00 00 00 00 00 
09"));
-    amf::Buffer &buf45 = http.formatEchoResponse(headers45[1]->getName(), 
*headers45[3]);
+    cygnal::Buffer &buf45 = http.formatEchoResponse(headers45[1]->getName(), 
*headers45[3]);
     string head45(reinterpret_cast<const char *>(buf45.reference()));
     const char *ptr45a = reinterpret_cast<const char 
*>(hex_res45->reference());
     const char *ptr45b = reinterpret_cast<const char *>(buf45.reference()) + 
head45.size();
@@ -1648,7 +1648,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req1->reference(), hex_req1->allocated(), false) << 
endl;
     hex_req1->corrupt(6);
 //    cerr << hexify(hex_req1->reference(), hex_req1->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt1 = 
http.parseEchoRequest(*hex_req1);    
+    vector<boost::shared_ptr<cygnal::Element> > corrupt1 = 
http.parseEchoRequest(*hex_req1);    
     if (corrupt1.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Boolean TRUE)");
     } else {
@@ -1658,7 +1658,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req2->reference(), hex_req2->allocated(), false) << 
endl;
     hex_req2->corrupt(4);
 //    cerr << hexify(hex_req2->reference(), hex_req2->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt2 = 
http.parseEchoRequest(*hex_req2);    
+    vector<boost::shared_ptr<cygnal::Element> > corrupt2 = 
http.parseEchoRequest(*hex_req2);    
     if (corrupt2.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Boolean FALSE)");
     } else {
@@ -1668,7 +1668,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req3->reference(), hex_req3->allocated(), false) << 
endl;
     hex_req3->corrupt(3);
 //    cerr << hexify(hex_req3->reference(), hex_req3->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt3 = 
http.parseEchoRequest(*hex_req3);    
+    vector<boost::shared_ptr<cygnal::Element> > corrupt3 = 
http.parseEchoRequest(*hex_req3);    
     if (corrupt3.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(NULL Object)");
     } else {
@@ -1678,7 +1678,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req4->reference(), hex_req4->allocated(), false) << 
endl;
     hex_req4->corrupt(7);
 //    cerr << hexify(hex_req4->reference(), hex_req4->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt4 = 
http.parseEchoRequest(*hex_req4);    
+    vector<boost::shared_ptr<cygnal::Element> > corrupt4 = 
http.parseEchoRequest(*hex_req4);    
     if (corrupt4.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(UNDEFINED Object)");
     } else {
@@ -1688,7 +1688,7 @@ test_rtmpt (void)
     cerr << hexify(hex_req5->reference(), hex_req5->allocated(), false) << 
endl;
     hex_req5->corrupt(5);
     cerr << hexify(hex_req5->reference(), hex_req5->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt5 = 
http.parseEchoRequest(*hex_req5);    
+    vector<boost::shared_ptr<cygnal::Element> > corrupt5 = 
http.parseEchoRequest(*hex_req5);    
     if (corrupt5.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(DATE Object)");
     } else {
@@ -1698,7 +1698,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req6->reference(), hex_req6->allocated(), false) << 
endl;
     hex_req6->corrupt(7);
 //    cerr << hexify(hex_req6->reference(), hex_req6->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt6 = 
http.parseEchoRequest(*hex_req6);    
+    vector<boost::shared_ptr<cygnal::Element> > corrupt6 = 
http.parseEchoRequest(*hex_req6);    
     if (corrupt6.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(DATE Array)");
     } else {
@@ -1708,7 +1708,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req7->reference(), hex_req7->allocated(), false) << 
endl;
     hex_req7->corrupt(5);
 //    cerr << hexify(hex_req7->reference(), hex_req7->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt7 = 
http.parseEchoRequest(*hex_req7);    
+    vector<boost::shared_ptr<cygnal::Element> > corrupt7 = 
http.parseEchoRequest(*hex_req7);    
     if (corrupt7.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Undefined Strict 
Array)");
     } else {
@@ -1718,7 +1718,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req8->reference(), hex_req8->allocated(), false) << 
endl;
     hex_req8->corrupt(2);
 //    cerr << hexify(hex_req8->reference(), hex_req8->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt8 = 
http.parseEchoRequest(*hex_req8);    
+    vector<boost::shared_ptr<cygnal::Element> > corrupt8 = 
http.parseEchoRequest(*hex_req8);    
     if (corrupt8.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Simple Strict Array of 
Numbers. 1 item)");
     } else {
@@ -1728,7 +1728,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req9->reference(), hex_req9->allocated(), false) << 
endl;
     hex_req9->corrupt(3);
 //    cerr << hexify(hex_req9->reference(), hex_req9->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt9 = 
http.parseEchoRequest(*hex_req9);    
+    vector<boost::shared_ptr<cygnal::Element> > corrupt9 = 
http.parseEchoRequest(*hex_req9);    
     if (corrupt9.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Simple Strict Array of 
Numbers. 2 items)");
     } else {
@@ -1738,7 +1738,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req10->reference(), hex_req10->allocated(), false) << 
endl;
     hex_req10->corrupt(2);
 //    cerr << hexify(hex_req10->reference(), hex_req10->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt10 = 
http.parseEchoRequest(*hex_req10);    
+    vector<boost::shared_ptr<cygnal::Element> > corrupt10 = 
http.parseEchoRequest(*hex_req10);    
     if (corrupt10.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Simple Strict Array of 
Numbers. 3 items)");
     } else {
@@ -1748,7 +1748,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req11->reference(), hex_req11->allocated(), false) << 
endl;
     hex_req11->corrupt(2);
 //    cerr << hexify(hex_req11->reference(), hex_req11->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt11 = 
http.parseEchoRequest(*hex_req11);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt11 = 
http.parseEchoRequest(*hex_req11);
     if (corrupt11.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Number 0)");
     } else {
@@ -1758,7 +1758,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req12->reference(), hex_req12->allocated(), false) << 
endl;
     hex_req12->corrupt(4);
 //    cerr << hexify(hex_req12->reference(), hex_req12->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt12 = 
http.parseEchoRequest(*hex_req12);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt12 = 
http.parseEchoRequest(*hex_req12);
     if (corrupt12.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Number 1)");
     } else {
@@ -1768,7 +1768,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req13->reference(), hex_req13->allocated(), false) << 
endl;
     hex_req13->corrupt(1);
 //    cerr << hexify(hex_req13->reference(), hex_req13->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt13 = 
http.parseEchoRequest(*hex_req13);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt13 = 
http.parseEchoRequest(*hex_req13);
     if (corrupt13.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Number -1)");
     } else {
@@ -1778,7 +1778,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req14->reference(), hex_req14->allocated(), false) << 
endl;
     hex_req14->corrupt(5);
 //    cerr << hexify(hex_req14->reference(), hex_req14->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt14 = 
http.parseEchoRequest(*hex_req14);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt14 = 
http.parseEchoRequest(*hex_req14);
     if (corrupt14.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Number 256)");
     } else {
@@ -1788,7 +1788,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req15->reference(), hex_req15->allocated(), false) << 
endl;
     hex_req15->corrupt(5);
 //    cerr << hexify(hex_req15->reference(), hex_req15->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt15 = 
http.parseEchoRequest(*hex_req15);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt15 = 
http.parseEchoRequest(*hex_req15);
     if (corrupt15.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Number -256)");
     } else {
@@ -1798,7 +1798,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req16->reference(), hex_req16->allocated(), false) << 
endl;
     hex_req16->corrupt(2);
 //    cerr << hexify(hex_req16->reference(), hex_req16->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt16 = 
http.parseEchoRequest(*hex_req16);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt16 = 
http.parseEchoRequest(*hex_req16);
     if (corrupt16.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Number 65536)");
     } else {
@@ -1808,7 +1808,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req17->reference(), hex_req17->allocated(), false) << 
endl;
     hex_req16x->corrupt(6);
 //    cerr << hexify(hex_req17->reference(), hex_req17->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt17 = 
http.parseEchoRequest(*hex_req16x);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt17 = 
http.parseEchoRequest(*hex_req16x);
     if (corrupt17.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Number -65536)");
     } else {
@@ -1818,7 +1818,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req19->reference(), hex_req19->allocated(), false) << 
endl;
     hex_req19->corrupt(1);
 //    cerr << hexify(hex_req19->reference(), hex_req19->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt19 = 
http.parseEchoRequest(*hex_req19);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt19 = 
http.parseEchoRequest(*hex_req19);
     if (corrupt19.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Number 1.5)");
     } else {
@@ -1828,7 +1828,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req20->reference(), hex_req20->allocated(), false) << 
endl;
     hex_req20->corrupt(4);
 //    cerr << hexify(hex_req20->reference(), hex_req20->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt20 = 
http.parseEchoRequest(*hex_req20);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt20 = 
http.parseEchoRequest(*hex_req20);
     if (corrupt20.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Number -1.5)");
     } else {
@@ -1838,7 +1838,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req21->reference(), hex_req21->allocated(), false) << 
endl;
     hex_req21->corrupt(8);
 //    cerr << hexify(hex_req21->reference(), hex_req21->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt21 = 
http.parseEchoRequest(*hex_req21);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt21 = 
http.parseEchoRequest(*hex_req21);
     if (corrupt21.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Number NaN)");
     } else {
@@ -1848,7 +1848,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req22->reference(), hex_req22->allocated(), false) << 
endl;
     hex_req22->corrupt(1);
 //    cerr << hexify(hex_req22->reference(), hex_req22->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt22 = 
http.parseEchoRequest(*hex_req22);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt22 = 
http.parseEchoRequest(*hex_req22);
     if (corrupt22.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Number Infinity)");
     } else {
@@ -1858,7 +1858,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req26->reference(), hex_req26->allocated(), false) << 
endl;
     hex_req26->corrupt(5);
 //    cerr << hexify(hex_req26->reference(), hex_req26->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt26 = 
http.parseEchoRequest(*hex_req26);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt26 = 
http.parseEchoRequest(*hex_req26);
     if (corrupt26.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Strict Array of 
Numbers, 3 items)");
     } else {
@@ -1868,7 +1868,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req27->reference(), hex_req27->allocated(), false) << 
endl;
     hex_req27->corrupt(3);
 //    cerr << hexify(hex_req27->reference(), hex_req27->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt27 = 
http.parseEchoRequest(*hex_req27);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt27 = 
http.parseEchoRequest(*hex_req27);
     if (corrupt27.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Strict Array - Number, 
undefines, Number)");
     } else {
@@ -1878,7 +1878,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req29->reference(), hex_req29->allocated(), false) << 
endl;
     hex_req29->corrupt(8);
 //    cerr << hexify(hex_req29->reference(), hex_req29->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt29 = 
http.parseEchoRequest(*hex_req29);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt29 = 
http.parseEchoRequest(*hex_req29);
     if (corrupt29.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(NULL String)");
     } else {
@@ -1888,7 +1888,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req30->reference(), hex_req30->allocated(), false) << 
endl;
     hex_req30->corrupt(7);
 //    cerr << hexify(hex_req30->reference(), hex_req30->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt30 = 
http.parseEchoRequest(*hex_req30);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt30 = 
http.parseEchoRequest(*hex_req30);
     if (corrupt30.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Simple String)");
     } else {
@@ -1898,7 +1898,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req31->reference(), hex_req31->allocated(), false) << 
endl;
     hex_req31->corrupt(2);
 //    cerr << hexify(hex_req31->reference(), hex_req31->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt31 = 
http.parseEchoRequest(*hex_req31);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt31 = 
http.parseEchoRequest(*hex_req31);
     if (corrupt31.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(Simple String Array)");
     } else {
@@ -1908,7 +1908,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req40->reference(), hex_req40->allocated(), false) << 
endl;
     hex_req40->corrupt(6);
 //    cerr << hexify(hex_req40->reference(), hex_req40->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt40 = 
http.parseEchoRequest(*hex_req40);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt40 = 
http.parseEchoRequest(*hex_req40);
     if (corrupt40.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(object CustomClass)");
     } else {
@@ -1918,7 +1918,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req41->reference(), hex_req41->allocated(), false) << 
endl;
     hex_req41->corrupt(1);
 //    cerr << hexify(hex_req41->reference(), hex_req41->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt41 = 
http.parseEchoRequest(*hex_req41);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt41 = 
http.parseEchoRequest(*hex_req41);
     if (corrupt41.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(object CustomClass 
Array)");
     } else {
@@ -1928,7 +1928,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req42->reference(), hex_req42->allocated(), false) << 
endl;
     hex_req42->corrupt(2);
 //    cerr << hexify(hex_req42->reference(), hex_req42->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt42 = 
http.parseEchoRequest(*hex_req42);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt42 = 
http.parseEchoRequest(*hex_req42);
     if (corrupt42.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(object RemoteClass)");
     } else {
@@ -1938,7 +1938,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req43->reference(), hex_req43->allocated(), false) << 
endl;
     hex_req43->corrupt(4);
 //    cerr << hexify(hex_req43->reference(), hex_req43->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt43 = 
http.parseEchoRequest(*hex_req43);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt43 = 
http.parseEchoRequest(*hex_req43);
     if (corrupt43.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(object RemoteClass 
Array, 2 items)");
     } else {
@@ -1948,7 +1948,7 @@ test_rtmpt (void)
 //    cerr << hexify(hex_req44->reference(), hex_req44->allocated(), false) << 
endl;
     hex_req44->corrupt(3);
 //    cerr << hexify(hex_req44->reference(), hex_req44->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt44 = 
http.parseEchoRequest(*hex_req44);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt44 = 
http.parseEchoRequest(*hex_req44);
     if (corrupt44.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(object RemoteClass");
     } else {
@@ -1960,7 +1960,7 @@ test_rtmpt (void)
 #if 0
     hex_req45->corrupt(6);
 //    cerr << hexify(hex_req45->reference(), hex_req45->allocated(), false) << 
endl;
-    vector<boost::shared_ptr<amf::Element> > corrupt45 = 
http.parseEchoRequest(*hex_req45);
+    vector<boost::shared_ptr<cygnal::Element> > corrupt45 = 
http.parseEchoRequest(*hex_req45);
     if (corrupt45.size()) {
         runtest.pass("Corrupted HTTP::parseEchoRequest(object RemoteClass");
     } else {
diff --git a/cygnal/testsuite/libnet.all/test_rtmp.cpp 
b/cygnal/testsuite/libnet.all/test_rtmp.cpp
index 2aa5f5a..fcd7d67 100644
--- a/cygnal/testsuite/libnet.all/test_rtmp.cpp
+++ b/cygnal/testsuite/libnet.all/test_rtmp.cpp
@@ -48,7 +48,7 @@
 #include "arg_parser.h"
 #include "gmemory.h"
 
-using namespace amf;
+using namespace cygnal;
 using namespace gnash;
 using namespace std;
 
@@ -174,9 +174,9 @@ test_split()
         }
     }
     
-//     boost::shared_ptr<amf::Buffer> tmpbuf = que1.front();
+//     boost::shared_ptr<cygnal::Buffer> tmpbuf = que1.front();
 //     que1.pop_front();
-    boost::shared_ptr<amf::Buffer> tmpbuf(new Buffer);
+    boost::shared_ptr<cygnal::Buffer> tmpbuf(new Buffer);
     if (notest) {
         runtest.untested("RTMP::split(1st packet header) of 2");
     } else {
@@ -447,10 +447,10 @@ test_system()
     
     RTMPClient client;
     
-    boost::shared_ptr<amf::Buffer> buf1(new amf::Buffer("00 00 00 00 00 00")); 
// clear buffer message
-    boost::shared_ptr<amf::Buffer> buf2(new amf::Buffer("00 06 cf 03 04 c3")); 
// ping client from server
-    boost::shared_ptr<amf::Buffer> buf3(new amf::Buffer("00 07 cf 03 04 c3")); 
// Pong, reply from client
-    boost::shared_ptr<amf::Buffer> buf4(new amf::Buffer("00 00 00 00 00 01")); 
// clear buffer message
+    boost::shared_ptr<cygnal::Buffer> buf1(new cygnal::Buffer("00 00 00 00 00 
00")); // clear buffer message
+    boost::shared_ptr<cygnal::Buffer> buf2(new cygnal::Buffer("00 06 cf 03 04 
c3")); // ping client from server
+    boost::shared_ptr<cygnal::Buffer> buf3(new cygnal::Buffer("00 07 cf 03 04 
c3")); // Pong, reply from client
+    boost::shared_ptr<cygnal::Buffer> buf4(new cygnal::Buffer("00 00 00 00 00 
01")); // clear buffer message
     
     boost::shared_ptr<RTMP::rtmp_ping_t> ping1 = client.decodePing(*buf1);
     if (ping1->type == RTMP::PING_CLEAR) {
@@ -461,7 +461,7 @@ test_system()
     
 #if 0
     RTMPServer server;
-    boost::shared_ptr<amf::Buffer> enc1 = server.encodePing(RTMP::PING_CLEAR);
+    boost::shared_ptr<cygnal::Buffer> enc1 = 
server.encodePing(RTMP::PING_CLEAR);
     if ((memcmp(buf1->reference(), enc1->reference(), 6) == 0)) {
         runtest.pass("Encoded RTMP Ping Clear message");
     } else {
@@ -469,7 +469,7 @@ test_system()
     }
 
     boost::uint32_t time = *(reinterpret_cast<boost::uint32_t 
*>(buf2->reference() + 2));
-    boost::shared_ptr<amf::Buffer> enc2 = server.encodePing(RTMP::PING_CLIENT, 
htonl(time));
+    boost::shared_ptr<cygnal::Buffer> enc2 = 
server.encodePing(RTMP::PING_CLIENT, htonl(time));
 //     cerr << hexify(buf2->begin(), buf2->size(), false) << endl;
 //     cerr << hexify(enc2->begin(), enc2->size(), false) << endl;
     if ((memcmp(buf2->reference(), enc2->reference(), 6) == 0)) {
@@ -489,20 +489,20 @@ test_system()
     }    
 
     // SERVER message
-//     boost::shared_ptr<amf::Buffer> hex1 = hex2mem("02 00 00 00 00 00 04 05 
00 00 00 00 00 13 12 d0");
-//     boost::shared_ptr<amf::Buffer> hex1 = hex2mem("00 13 12 d0");
+//     boost::shared_ptr<cygnal::Buffer> hex1 = hex2mem("02 00 00 00 00 00 04 
05 00 00 00 00 00 13 12 d0");
+//     boost::shared_ptr<cygnal::Buffer> hex1 = hex2mem("00 13 12 d0");
 //     RTMPMsg *msg1 = client.decodeMsgBody(hex1);
     
     // Client message
-//     boost::shared_ptr<amf::Buffer> hex2 = hex2mem("02 00 00 00 00 00 05 06 
00 00 00 00 00 13 12 d0 02");
-//     boost::shared_ptr<amf::Buffer> hex2 = hex2mem("00 13 12 d0 02");
+//     boost::shared_ptr<cygnal::Buffer> hex2 = hex2mem("02 00 00 00 00 00 05 
06 00 00 00 00 00 13 12 d0 02");
+//     boost::shared_ptr<cygnal::Buffer> hex2 = hex2mem("00 13 12 d0 02");
 //     RTMPMsg *msg2 = client.decodeMsgBody(hex2);
 
 #if 0
     for (double dub=0; dub<=200; dub ++) {
         Element el11;
         el11.makeNumber(dub);
-        boost::shared_ptr<amf::Buffer> buf11 = el11.getBuffer();
+        boost::shared_ptr<cygnal::Buffer> buf11 = el11.getBuffer();
         cerr << "FIXME: " << el11.to_number() << ":     ";
         swapBytes(buf11->begin(), 8);
         cerr << hexify(buf11->begin(), buf11->size(), false) << endl;
@@ -522,8 +522,8 @@ test_header()
     
     // this is a sample 12 bytes RTMP header
 //    const char *x1 = "03 00 00 00 00 01 1f 14 00 00 00 00";
-    boost::shared_ptr<amf::Buffer> buf1(new Buffer("03 00 00 00 00 01 1f 14 00 
00 00 00"));
-    boost::shared_ptr<amf::Buffer> head1 = client.encodeHeader(0x3, 
RTMP::HEADER_12, 287,
+    boost::shared_ptr<cygnal::Buffer> buf1(new Buffer("03 00 00 00 00 01 1f 14 
00 00 00 00"));
+    boost::shared_ptr<cygnal::Buffer> head1 = client.encodeHeader(0x3, 
RTMP::HEADER_12, 287,
                                         RTMP::INVOKE, RTMPMsg::FROM_CLIENT);
 //     cerr << hexify(buf1->begin(), RTMP_MAX_HEADER_SIZE, false) << endl;
 //     cerr << hexify(head1->begin(), RTMP_MAX_HEADER_SIZE, false) << endl;
@@ -541,8 +541,8 @@ test_header()
          runtest.fail("Decoded RTMP header(Invoke)");
      }
 
-     boost::shared_ptr<amf::Buffer> buf2(new Buffer("02 00 00 00 00 00 06 04 
00 00 00 00"));
-     boost::shared_ptr<amf::Buffer> head2 = client.encodeHeader(0x2, 
RTMP::HEADER_12, PING_MSG_SIZE,
+     boost::shared_ptr<cygnal::Buffer> buf2(new Buffer("02 00 00 00 00 00 06 
04 00 00 00 00"));
+     boost::shared_ptr<cygnal::Buffer> head2 = client.encodeHeader(0x2, 
RTMP::HEADER_12, PING_MSG_SIZE,
                                      RTMP::USER, RTMPMsg::FROM_SERVER);
 //     cerr << hexify(head2->begin(), RTMP_MAX_HEADER_SIZE, false) << endl;
      if ((memcmp(buf2->reference(), head2->reference(), 8) == 0)) {
@@ -551,8 +551,8 @@ test_header()
          runtest.fail("Encoded RTMP header(Ping 0)");
      }
 
-     boost::shared_ptr<amf::Buffer> buf3(new Buffer("02 ff e3 6c 00 00 06 04 
00 00 00 00"));
-     boost::shared_ptr<amf::Buffer> head3 = client.encodeHeader(0x2, 
RTMP::HEADER_12, PING_MSG_SIZE,
+     boost::shared_ptr<cygnal::Buffer> buf3(new Buffer("02 ff e3 6c 00 00 06 
04 00 00 00 00"));
+     boost::shared_ptr<cygnal::Buffer> head3 = client.encodeHeader(0x2, 
RTMP::HEADER_12, PING_MSG_SIZE,
                                      RTMP::USER, RTMPMsg::FROM_SERVER);
 //     cerr << hexify(head3->begin(), RTMP_MAX_HEADER_SIZE, false) << endl;
      if ((memcmp(buf2->reference(), head3->reference(), 8) == 0)) {
@@ -569,8 +569,8 @@ test_header()
          runtest.fail("Decoded RTMP header(Ping)");
      }
 
-     boost::shared_ptr<amf::Buffer> buf4(new Buffer("c2"));
-     boost::shared_ptr<amf::Buffer> head4 = client.encodeHeader(0x2, 
RTMP::HEADER_1);
+     boost::shared_ptr<cygnal::Buffer> buf4(new Buffer("c2"));
+     boost::shared_ptr<cygnal::Buffer> head4 = client.encodeHeader(0x2, 
RTMP::HEADER_1);
 //     cerr << hexify(head4->begin(), RTMP_MAX_HEADER_SIZE, false) << endl;
      if ((memcmp(buf4->reference(), head4->reference(), 1) == 0)) {
          runtest.pass("Encoded RTMP header(size 1)");
@@ -581,8 +581,8 @@ test_header()
 // 43 00 00 00 00 00 15 14 02 00 08 6f 6e 42 57 44    onBWDone
 // 6f 6e 65 00 40 00 00 00 00 00 00 00 05
 
-     boost::shared_ptr<amf::Buffer> buf5(new Buffer("43 00 00 00 00 00 19 
14"));
-     boost::shared_ptr<amf::Buffer> head5 = client.encodeHeader(0x3, 
RTMP::HEADER_8, 0x19, RTMP::INVOKE,
+     boost::shared_ptr<cygnal::Buffer> buf5(new Buffer("43 00 00 00 00 00 19 
14"));
+     boost::shared_ptr<cygnal::Buffer> head5 = client.encodeHeader(0x3, 
RTMP::HEADER_8, 0x19, RTMP::INVOKE,
                                          RTMPMsg::FROM_CLIENT);
 //     head5->dump();
 //     cerr << hexify(head5->begin(), 8, false) << endl;
@@ -601,8 +601,8 @@ test_header()
      }
 
      // 4 byte header
-     boost::shared_ptr<amf::Buffer> buf6(new Buffer("83 00 00 00"));
-     boost::shared_ptr<amf::Buffer> head6 = client.encodeHeader(0x3, 
RTMP::HEADER_4, 0x19, RTMP::INVOKE,
+     boost::shared_ptr<cygnal::Buffer> buf6(new Buffer("83 00 00 00"));
+     boost::shared_ptr<cygnal::Buffer> head6 = client.encodeHeader(0x3, 
RTMP::HEADER_4, 0x19, RTMP::INVOKE,
                                          RTMPMsg::FROM_CLIENT);
      if ((memcmp(buf6->reference(), head6->reference(), 4) == 0)) {
          runtest.pass("Encoded RTMP header(size 4)");
@@ -626,12 +626,12 @@ test_results()
 //   64 65 64 2e 00 04 63 6f    64 65 02 00 1d 4e 65 74    ded...code...Net
 //   43 6f 6e 6e 65 63 74 69    6f 6e 2e 43 6f 6e 6e 65    Connection.Conne
 //   63 74 2e 53 75 63 63 65    73 73 00 00 c3 09          ct.Success....
-    boost::shared_ptr<amf::Buffer> hex2(new Buffer("02 00 07 5f 72 65 73 75 6c 
74 00 3f f0 00 00 00 00 00 00 05 03 00 0b 61 70 70 6c 69 63 61 74 69 6f 6e 05 
00 05 6c 65 76 65 6c 02 00 06 73 74 61 74 75 73 00 0b 64 65 73 63 72 69 70 74 
69 6f 6e 02 00 15 43 6f 6e 6e 65 63 74 69 6f 6e 20 73 75 63 63 65 65 64 65 64 
2e 00 04 63 6f 64 65 02 00 1d 4e 65 74 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 
6e 6e 65 63 74 2e 53 75 63 63 65 73 73 00 00 09"));
+    boost::shared_ptr<cygnal::Buffer> hex2(new Buffer("02 00 07 5f 72 65 73 75 
6c 74 00 3f f0 00 00 00 00 00 00 05 03 00 0b 61 70 70 6c 69 63 61 74 69 6f 6e 
05 00 05 6c 65 76 65 6c 02 00 06 73 74 61 74 75 73 00 0b 64 65 73 63 72 69 70 
74 69 6f 6e 02 00 15 43 6f 6e 6e 65 63 74 69 6f 6e 20 73 75 63 63 65 65 64 65 
64 2e 00 04 63 6f 64 65 02 00 1d 4e 65 74 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 
6f 6e 6e 65 63 74 2e 53 75 63 63 65 73 73 00 00 09"));
 
     boost::shared_ptr<RTMPMsg> msg1 = rtmp.decodeMsgBody(*hex2);
     if (msg1) {
-        std::vector<boost::shared_ptr<amf::Element> > hell = 
msg1->getElements();
-        std::vector<boost::shared_ptr<amf::Element> > props = 
hell[0]->getProperties();        
+        std::vector<boost::shared_ptr<cygnal::Element> > hell = 
msg1->getElements();
+        std::vector<boost::shared_ptr<cygnal::Element> > props = 
hell[0]->getProperties();        
 //         printf("FIXME: %d, %d, %s:%s\n", props.size(), msg1->getStatus(),
 //                props[3]->getName(), props[3]->to_string());
         if ((msg1->getStatus() ==  RTMPMsg::NC_CONNECT_SUCCESS)
@@ -647,7 +647,7 @@ test_results()
 
 #if 0
     RTMPServer rtmpserv;
-    boost::shared_ptr<amf::Buffer> buf2 = 
rtmpserv.encodeResult(RTMPMsg::NC_CONNECT_SUCCESS);
+    boost::shared_ptr<cygnal::Buffer> buf2 = 
rtmpserv.encodeResult(RTMPMsg::NC_CONNECT_SUCCESS);
 //    cerr << hexify(buf2->begin(), 122, true) << endl;
     if ((memcmp(hex2->reference(), buf2->reference(), 122) == 0)) {
         runtest.pass("Encoded RTMP result(NC_CONNECT_SUCCESS)");
@@ -657,10 +657,10 @@ test_results()
     delete buf2;
 #endif
     
-    boost::shared_ptr<amf::Buffer> hex3(new Buffer("02 00 07 5f 72 65 73 75 6c 
74 00 3f f0 00 00 00 00 00 00 05 03 00 0b 61 70 70 6c 69 63 61 74 69 6f 6e 05 
00 05 6c 65 76 65 6c 02 00 05 65 72 72 6f 72 00 0b 64 65 73 63 72 69 70 74 69 
6f 6e 02 00 00 00 04 63 6f 64 65 02 00 1c 4e 65 74 43 6f 6e 6e 65 63 74 69 6f 
6e 2e 43 6f 6e 6e 65 63 74 2e 46 61 69 6c 65 64 00 00 09"));
+    boost::shared_ptr<cygnal::Buffer> hex3(new Buffer("02 00 07 5f 72 65 73 75 
6c 74 00 3f f0 00 00 00 00 00 00 05 03 00 0b 61 70 70 6c 69 63 61 74 69 6f 6e 
05 00 05 6c 65 76 65 6c 02 00 05 65 72 72 6f 72 00 0b 64 65 73 63 72 69 70 74 
69 6f 6e 02 00 00 00 04 63 6f 64 65 02 00 1c 4e 65 74 43 6f 6e 6e 65 63 74 69 
6f 6e 2e 43 6f 6e 6e 65 63 74 2e 46 61 69 6c 65 64 00 00 09"));
     boost::shared_ptr<RTMPMsg> msg2 = rtmp.decodeMsgBody(*hex3);
-    std::vector<boost::shared_ptr<amf::Element> > hell = msg2->getElements();
-    std::vector<boost::shared_ptr<amf::Element> > props = 
hell[0]->getProperties();        
+    std::vector<boost::shared_ptr<cygnal::Element> > hell = 
msg2->getElements();
+    std::vector<boost::shared_ptr<cygnal::Element> > props = 
hell[0]->getProperties();        
 //     printf("FIXME: %d, %d, %s:%s\n", props.size(), msg1->getStatus(),
 //            props[3]->getName(), props[3]->to_string());
     if (msg2) {
@@ -694,9 +694,9 @@ test_results()
 //         address@hidden
 //     clientid
 //         dsLgYohb
-    boost::shared_ptr<amf::Buffer> hex4(new Buffer("02 00 08 6f 6e 53 74 61 74 
75 73 00 00 00 00 00 00 00 00 00 05 03 00 05 6c 65 76 65 6c 02 00 06 73 74 61 
74 75 73 00 04 63 6f 64 65 02 00 14 4e 65 74 53 74 72 65 61 6d 2e 50 6c 61 79 
2e 52 65 73 65 74 00 0b 64 65 73 63 72 69 70 74 69 6f 6e 02 00 2a 50 6c 61 79 
69 6e 67 20 61 6e 64 20 72 65 73 65 74 74 69 6e 67 20 50 44 5f 45 6e 67 6c 69 
73 68 5f 4c 6f 77 40 32 30 30 31 2e 00 07 64 65 74 61 69 6c 73 02 00 13 50 44 
5f 45 6e 67 6c 69 73 68 5f 4c 6f 77 40 32 30 30 31 00 08 63 6c 69 65 6e 74 69 
64 02 00 08 64 73 4c 67 59 6f 68 62 00 00 09"));
+    boost::shared_ptr<cygnal::Buffer> hex4(new Buffer("02 00 08 6f 6e 53 74 61 
74 75 73 00 00 00 00 00 00 00 00 00 05 03 00 05 6c 65 76 65 6c 02 00 06 73 74 
61 74 75 73 00 04 63 6f 64 65 02 00 14 4e 65 74 53 74 72 65 61 6d 2e 50 6c 61 
79 2e 52 65 73 65 74 00 0b 64 65 73 63 72 69 70 74 69 6f 6e 02 00 2a 50 6c 61 
79 69 6e 67 20 61 6e 64 20 72 65 73 65 74 74 69 6e 67 20 50 44 5f 45 6e 67 6c 
69 73 68 5f 4c 6f 77 40 32 30 30 31 2e 00 07 64 65 74 61 69 6c 73 02 00 13 50 
44 5f 45 6e 67 6c 69 73 68 5f 4c 6f 77 40 32 30 30 31 00 08 63 6c 69 65 6e 74 
69 64 02 00 08 64 73 4c 67 59 6f 68 62 00 00 09"));
     boost::shared_ptr<RTMPMsg> msg4 = rtmp.decodeMsgBody(*hex4);
-//    std::vector<amf::Element *> hell4 = msg4->getElements();
+//    std::vector<cygnal::Element *> hell4 = msg4->getElements();
     if ((msg4->getStatus() ==  RTMPMsg::NS_PLAY_RESET)
         && (msg4->getMethodName() == "onStatus")
         && (msg4->size() >= 1)) {
@@ -709,7 +709,7 @@ test_results()
 // code
 //     NetStream
 // Data.Start
-    boost::shared_ptr<amf::Buffer> hex5(new Buffer("02 00 08 6f 6e 53 74 61 74 
75 73 03 00 04 63 6f 64 65 02 00 14 4e 65 74 53 74 72 65 61 6d 2e 44 61 74 61 
2e 53 74 61 72 74 00 00 09"));
+    boost::shared_ptr<cygnal::Buffer> hex5(new Buffer("02 00 08 6f 6e 53 74 61 
74 75 73 03 00 04 63 6f 64 65 02 00 14 4e 65 74 53 74 72 65 61 6d 2e 44 61 74 
61 2e 53 74 61 72 74 00 00 09"));
     boost::shared_ptr<RTMPMsg> msg5 = rtmp.decodeMsgBody(*hex5);
     if ((msg5->getStatus() ==  RTMPMsg::NS_DATA_START)
         && (msg5->getMethodName() == "onStatus")
@@ -728,7 +728,7 @@ test_results()
 //         Started playing address@hidden
 //     details
 //         address@hidden
-    boost::shared_ptr<amf::Buffer> hex6(new Buffer("02 00 08 6f 6e 53 74 61 74 
75 73 00 00 00 00 00 00 00 00 00 05 03 00 05 6c 65 76 65 6c 02 00 06 73 74 61 
74 75 73 00 04 63 6f 64 65 02 00 14 4e 65 74 53 74 72 65 61 6d 2e 50 6c 61 79 
2e 53 74 61 72 74 00 0b 64 65 73 63 72 69 70 74 69 6f 6e 02 00 24 53 74 61 72 
74 65 64 20 70 6c 61 79 69 6e 67 20 50 44 5f 45 6e 67 6c 69 73 68 5f 4c 6f 77 
40 32 30 30 31 2e 00 07 64 65 74 61 69 6c 73 02 00 13 50 44 5f 45 6e 67 6c 69 
73 68 5f 4c 6f 77 40 32 30 30 31 00 08 63 6c 69 65 6e 74 69 64 02 00 08 64 73 
4c 67 59 6f 68 62 00 00 09"));
+    boost::shared_ptr<cygnal::Buffer> hex6(new Buffer("02 00 08 6f 6e 53 74 61 
74 75 73 00 00 00 00 00 00 00 00 00 05 03 00 05 6c 65 76 65 6c 02 00 06 73 74 
61 74 75 73 00 04 63 6f 64 65 02 00 14 4e 65 74 53 74 72 65 61 6d 2e 50 6c 61 
79 2e 53 74 61 72 74 00 0b 64 65 73 63 72 69 70 74 69 6f 6e 02 00 24 53 74 61 
72 74 65 64 20 70 6c 61 79 69 6e 67 20 50 44 5f 45 6e 67 6c 69 73 68 5f 4c 6f 
77 40 32 30 30 31 2e 00 07 64 65 74 61 69 6c 73 02 00 13 50 44 5f 45 6e 67 6c 
69 73 68 5f 4c 6f 77 40 32 30 30 31 00 08 63 6c 69 65 6e 74 69 64 02 00 08 64 
73 4c 67 59 6f 68 62 00 00 09"));
     boost::shared_ptr<RTMPMsg> msg6 = rtmp.decodeMsgBody(*hex6);
     if ((msg6->getStatus() ==  RTMPMsg::NS_PLAY_START)
         && (msg6->getMethodName() == "onStatus")
@@ -743,7 +743,7 @@ test_results()
 // errors when using GCC 3.4 ?
     
 // ..............._error.?......... 
..level...error..code...NetConnection.Connect.Rejected..description..A[ 
Server.Reject ] : Virtual host _defa.ultVHost_ is not available....
-    boost::shared_ptr<amf::Buffer> hex7(new Buffer("02 00 06 5f 65 72 72 6f 72 
00 3f f0 00 00 00 00 00 00 05 03 00 05 6c 65 76 65 6c 02 00 05 65 72 72 6f 72 
00 04 63 6f 64 65 02 00 1e 4e 65 74 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 
6e 65 63 74 2e 52 65 6a 65 63 74 65 64 00 0b 64 65 73 63 72 69 70 74 69 6f 6e 
02 00 41 5b 20 53 65 72 76 65 72 2e 52 65 6a 65 63 74 20 5d 20 3a 20 56 69 72 
74 75 61 6c 20 68 6f 73 74 20 5f 64 65 66 61 c3 75 6c 74 56 48 6f 73 74 5f 20 
69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 2e 00 00 09"));
+    boost::shared_ptr<cygnal::Buffer> hex7(new Buffer("02 00 06 5f 65 72 72 6f 
72 00 3f f0 00 00 00 00 00 00 05 03 00 05 6c 65 76 65 6c 02 00 05 65 72 72 6f 
72 00 04 63 6f 64 65 02 00 1e 4e 65 74 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 
6e 6e 65 63 74 2e 52 65 6a 65 63 74 65 64 00 0b 64 65 73 63 72 69 70 74 69 6f 
6e 02 00 41 5b 20 53 65 72 76 65 72 2e 52 65 6a 65 63 74 20 5d 20 3a 20 56 69 
72 74 75 61 6c 20 68 6f 73 74 20 5f 64 65 66 61 c3 75 6c 74 56 48 6f 73 74 5f 
20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 2e 00 00 09"));
     boost::shared_ptr<RTMPMsg> msg7 = rtmp.decodeMsgBody(*hex7);
     if ((msg7->getStatus() ==  RTMPMsg::NC_CONNECT_REJECTED)
         && (msg7->getMethodName() == "_error")
@@ -754,10 +754,10 @@ test_results()
     }
     
 
//.onStatus.............level...error..code...NetStream.Play.StreamNotFound..description..6Failed
 to play gate06_tablan_bcueu_; .stream not 
found...details...gate06_tablan_bcueu_..clientid.A.;..
-    boost::shared_ptr<amf::Buffer> hex8(new Buffer("02 00 08 6f 6e 53 74 61 74 
75 73 00 00 00 00 00 00 00 00 00 05 03 00 05 6c 65 76 65 6c 02 00 05 65 72 72 
6f 72 00 04 63 6f 64 65 02 00 1d 4e 65 74 53 74 72 65 61 6d 2e 50 6c 61 79 2e 
53 74 72 65 61 6d 4e 6f 74 46 6f 75 6e 64 00 0b 64 65 73 63 72 69 70 74 69 6f 
6e 02 00 36 46 61 69 6c 65 64 20 74 6f 20 70 6c 61 79 20 67 61 74 65 30 36 5f 
74 61 62 6c 61 6e 5f 62 63 75 65 75 5f 3b 20 c4 73 74 72 65 61 6d 20 6e 6f 74 
20 66 6f 75 6e 64 2e 00 07 64 65 74 61 69 6c 73 02 00 14 67 61 74 65 30 36 5f 
74 61 62 6c 61 6e 5f 62 63 75 65 75 5f 00 08 63 6c 69 65 6e 74 69 64 00 41 d8 
3b b4 e4 00 00 00 00 00 09"));
+    boost::shared_ptr<cygnal::Buffer> hex8(new Buffer("02 00 08 6f 6e 53 74 61 
74 75 73 00 00 00 00 00 00 00 00 00 05 03 00 05 6c 65 76 65 6c 02 00 05 65 72 
72 6f 72 00 04 63 6f 64 65 02 00 1d 4e 65 74 53 74 72 65 61 6d 2e 50 6c 61 79 
2e 53 74 72 65 61 6d 4e 6f 74 46 6f 75 6e 64 00 0b 64 65 73 63 72 69 70 74 69 
6f 6e 02 00 36 46 61 69 6c 65 64 20 74 6f 20 70 6c 61 79 20 67 61 74 65 30 36 
5f 74 61 62 6c 61 6e 5f 62 63 75 65 75 5f 3b 20 c4 73 74 72 65 61 6d 20 6e 6f 
74 20 66 6f 75 6e 64 2e 00 07 64 65 74 61 69 6c 73 02 00 14 67 61 74 65 30 36 
5f 74 61 62 6c 61 6e 5f 62 63 75 65 75 5f 00 08 63 6c 69 65 6e 74 69 64 00 41 
d8 3b b4 e4 00 00 00 00 00 09"));
     boost::shared_ptr<RTMPMsg> msg8 = rtmp.decodeMsgBody(*hex8);
 //    msg4->dump();
-//    std::vector<amf::Element *> hell4 = msg4->getElements();
+//    std::vector<cygnal::Element *> hell4 = msg4->getElements();
     if ((msg8->getStatus() ==  RTMPMsg::NS_PLAY_STREAMNOTFOUND)
         && (msg8->getMethodName() == "onStatus")
         && (msg8->size() >= 1)) {
@@ -769,10 +769,10 @@ test_results()
 #endif
 
 
//.....onStatus.............level...status..code...NetStream.Play.Stop..description..%Stopped
 playing 
gate06_tablan_bcueu_...details....gate06_tablan_bcueu_..clientid.A.;.......reason......
     
-    boost::shared_ptr<amf::Buffer> hex9(new Buffer("02 00 08 6f 6e 53 74 61 74 
75 73 00 00 00 00 00 00 00 00 00 05 03 00 05 6c 65 76 65 6c 02 00 06 73 74 61 
74 75 73 00 04 63 6f 64 65 02 00 13 4e 65 74 53 74 72 65 61 6d 2e 50 6c 61 79 
2e 53 74 6f 70 00 0b 64 65 73 63 72 69 70 74 69 6f 6e 02 00 25 53 74 6f 70 70 
65 64 20 70 6c 61 79 69 6e 67 20 67 61 74 65 30 36 5f 74 61 62 6c 61 6e 5f 62 
63 75 65 75 5f 2e 00 07 64 65 74 61 69 6c 73 c4 02 00 14 67 61 74 65 30 36 5f 
74 61 62 6c 61 6e 5f 62 63 75 65 75 5f 00 08 63 6c 69 65 6e 74 69 64 00 41 d8 
3b b4 e4 00 00 00 00 06 72 65 61 73 6f 6e 02 00 00 00 00 09"));
+    boost::shared_ptr<cygnal::Buffer> hex9(new Buffer("02 00 08 6f 6e 53 74 61 
74 75 73 00 00 00 00 00 00 00 00 00 05 03 00 05 6c 65 76 65 6c 02 00 06 73 74 
61 74 75 73 00 04 63 6f 64 65 02 00 13 4e 65 74 53 74 72 65 61 6d 2e 50 6c 61 
79 2e 53 74 6f 70 00 0b 64 65 73 63 72 69 70 74 69 6f 6e 02 00 25 53 74 6f 70 
70 65 64 20 70 6c 61 79 69 6e 67 20 67 61 74 65 30 36 5f 74 61 62 6c 61 6e 5f 
62 63 75 65 75 5f 2e 00 07 64 65 74 61 69 6c 73 c4 02 00 14 67 61 74 65 30 36 
5f 74 61 62 6c 61 6e 5f 62 63 75 65 75 5f 00 08 63 6c 69 65 6e 74 69 64 00 41 
d8 3b b4 e4 00 00 00 00 06 72 65 61 73 6f 6e 02 00 00 00 00 09"));
     boost::shared_ptr<RTMPMsg> msg9 = rtmp.decodeMsgBody(*hex9);
 //    msg4->dump();
-//    std::vector<amf::Element *> hell4 = msg4->getElements();
+//    std::vector<cygnal::Element *> hell4 = msg4->getElements();
     if ((msg9->getStatus() ==  RTMPMsg::NS_PLAY_STOP)
         && (msg9->getMethodName() == "onStatus")
         && (msg9->size() >= 1)) {
@@ -788,7 +788,7 @@ test_types()
     GNASH_REPORT_FUNCTION;
     RTMP rtmp;
     
-    boost::shared_ptr<amf::Buffer> buf1(new Buffer("06 00 d2 04 00 00 00 00"));
+    boost::shared_ptr<cygnal::Buffer> buf1(new Buffer("06 00 d2 04 00 00 00 
00"));
 }
 
 void
@@ -797,8 +797,8 @@ test_client()
     GNASH_REPORT_FUNCTION;
     RTMPClient rtmp;
 
-    boost::shared_ptr<amf::Buffer> buf1(new Buffer("02 00 07 63 6f 6e 6e 65 63 
74 00 3f f0 00 00 00 00 00 00 03 00 03 61 70 70 02 00 0f 6d 70 33 5f 61 70 70 
2f 69 64 33 74 65 73 74 00 08 66 6c 61 73 68 56 65 72 02 00 0c 4c 4e 58 20 39 
2c 30 2c 33 31 2c 30 00 06 73 77 66 55 72 6c 02 00 29 68 74 74 70 3a 2f 2f 72 
65 6e 61 75 6e 2e 63 6f 6d 2f 66 6c 65 78 32 2f 70 6f 73 74 73 2f 4d 50 33 54 
65 73 74 2e 73 77 66 00 05 74 63 55 72 6c 02 00 21 72 74 6d 70 3a 2f 2f 72 65 
6e 61 75 6e 2e 63 6f 6d 2f 6d 70 33 5f 61 70 70 2f 69 64 33 74 65 73 74 00 04 
66 70 61 64 01 00 00 0b 61 75 64 69 6f 43 6f 64 65 63 73 00 40 83 38 00 00 00 
00 00 00 0b 76 69 64 65 6f 43 6f 64 65 63 73 00 40 5f 00 00 00 00 00 00 00 0d 
76 69 64 65 6f 46 75 6e 63 74 69 6f 6e 00 3f f0 00 00 00 00 00 00 00 07 70 61 
67 65 55 72 6c 02 00 2a 68 74 74 70 3a 2f 2f 72 65 6e 61 75 6e 2e 63 6f 6d 2f 
66 6c 65 78 32 2f 70 6f 73 74 73 2f 4d 50 33 54 65 73 74 2e 68 74 6d 6c 00 0e 
6f 62 6a 65 63 74 45 6e 63 6f 64 69 6e 67 00 00 00 00 00 00 00 00 00 00 00 
09"));
-    boost::shared_ptr<amf::Buffer> buf2 = 
rtmp.encodeConnect("mp3_app/id3test", 
"http://renaun.com/flex2/posts/MP3Test.swf";, 
"rtmp://renaun.com/mp3_app/id3test", 615, 124, 1, 
"http://renaun.com/flex2/posts/MP3Test.html";);
+    boost::shared_ptr<cygnal::Buffer> buf1(new Buffer("02 00 07 63 6f 6e 6e 65 
63 74 00 3f f0 00 00 00 00 00 00 03 00 03 61 70 70 02 00 0f 6d 70 33 5f 61 70 
70 2f 69 64 33 74 65 73 74 00 08 66 6c 61 73 68 56 65 72 02 00 0c 4c 4e 58 20 
39 2c 30 2c 33 31 2c 30 00 06 73 77 66 55 72 6c 02 00 29 68 74 74 70 3a 2f 2f 
72 65 6e 61 75 6e 2e 63 6f 6d 2f 66 6c 65 78 32 2f 70 6f 73 74 73 2f 4d 50 33 
54 65 73 74 2e 73 77 66 00 05 74 63 55 72 6c 02 00 21 72 74 6d 70 3a 2f 2f 72 
65 6e 61 75 6e 2e 63 6f 6d 2f 6d 70 33 5f 61 70 70 2f 69 64 33 74 65 73 74 00 
04 66 70 61 64 01 00 00 0b 61 75 64 69 6f 43 6f 64 65 63 73 00 40 83 38 00 00 
00 00 00 00 0b 76 69 64 65 6f 43 6f 64 65 63 73 00 40 5f 00 00 00 00 00 00 00 
0d 76 69 64 65 6f 46 75 6e 63 74 69 6f 6e 00 3f f0 00 00 00 00 00 00 00 07 70 
61 67 65 55 72 6c 02 00 2a 68 74 74 70 3a 2f 2f 72 65 6e 61 75 6e 2e 63 6f 6d 
2f 66 6c 65 78 32 2f 70 6f 73 74 73 2f 4d 50 33 54 65 73 74 2e 68 74 6d 6c 00 
0e 6f 62 6a 65 63 74 45 6e 63 6f 64 69 6e 67 00 00 00 00 00 00 00 00 00 00 00 
09"));
+    boost::shared_ptr<cygnal::Buffer> buf2 = 
rtmp.encodeConnect("mp3_app/id3test", 
"http://renaun.com/flex2/posts/MP3Test.swf";, 
"rtmp://renaun.com/mp3_app/id3test", 615, 124, 1, 
"http://renaun.com/flex2/posts/MP3Test.html";);
 //     cerr << hexify(buf1->begin(), buf1->size(), false) << endl;
 //     cerr << hexify(buf2->begin(), buf1->size(), false) << endl;
     if ((memcmp(buf1->reference(), buf2->reference(), 50) == 0)) {

http://git.savannah.gnu.org/cgit//commit/?id=35a601a74a8e64757612e06c85d08df88b181727


commit 35a601a74a8e64757612e06c85d08df88b181727
Author: Rob Savoye <address@hidden>
Date:   Thu Apr 12 13:06:55 2012 -0600

    -vv is needed for verbose output, not just -v

diff --git a/testsuite/misc-ming.all/XMLSocketTester.sh 
b/testsuite/misc-ming.all/XMLSocketTester.sh
index 9b5f5ec..3c4b770 100644
--- a/testsuite/misc-ming.all/XMLSocketTester.sh
+++ b/testsuite/misc-ming.all/XMLSocketTester.sh
@@ -62,7 +62,7 @@ outlog=${top_builddir}/testoutlog.\$$
 ) &
 (
     echo "Running second process"
-    ${top_builddir}/gui/gnash -d100 -v -r0 ${swf} -t ${timeout} > \${outlog}
+    ${top_builddir}/gui/gnash -d100 -vv -r0 ${swf} -t ${timeout} > \${outlog}
     cat \${outlog}
        if test "x${endtagpat}" != x; then
                lasttrace=\`grep TRACE \${outlog} | tail -1 | sed 's/.*TRACE: 
//'\`

-----------------------------------------------------------------------

Summary of changes:
 cygnal/cygnal.cpp                                |   61 ++++--
 cygnal/libnet/network.cpp                        |  208 +++++++++++++-----
 cygnal/libnet/network.h                          |    7 +
 cygnal/testsuite/libnet.all/generate_amfbins.cpp |   22 +-
 cygnal/testsuite/libnet.all/test_diskstream.cpp  |    4 +-
 cygnal/testsuite/libnet.all/test_http.cpp        |  242 +++++++++++-----------
 cygnal/testsuite/libnet.all/test_rtmp.cpp        |   90 ++++----
 libbase/Socket.cpp                               |   23 +-
 testsuite/misc-ming.all/XMLSocketTest.as         |    6 +-
 testsuite/misc-ming.all/XMLSocketTester.sh       |    2 +-
 10 files changed, 389 insertions(+), 276 deletions(-)


hooks/post-receive
-- 
Gnash



reply via email to

[Prev in Thread] Current Thread [Next in Thread]