# PaCkAgE DaTaStReAm mdma 1 490 # end of header  theractevicNbdev Pathname to the inode for the block device # pathname Pathname to the inode for the device # attrs Expression-list\: attributes of the device # An expression in this list is of the form attr=\"value\" # where attr is the attribute name and value is the # value of that attribute. # spool:::/var/spool/pkg:desc="Packaging Spool Directory" disk1:/dev/rdsk/c0t1d0s2:/dev/dsk/c0t1d0s2::desc="Disk Drive" type="disk" part="tr07070100005b66000081a4000000120000000a000000012e1b74240000009e000000200000001800000000000000000000000d00000000mdma/pkginfoPKG=mdma VERSION=0.1 ARCH=sparc NAME=Multithreaded Daemon for Multimedia Access CATEGORY=application CLASSES=none BASEDIR=/opt/mdma PSTAMP=elanor940706231900 07070100005b65000081a4000000120000000a000000012e1b742400000778000000200000001800000000000000000000000c00000000mdma/pkgmap: 1 490 1 d none /opt/mdma 0755 ses other 1 f none /opt/mdma/README 0644 root other 1932 29102 773550866 1 d none /opt/mdma/adm 0755 root other 1 d none /opt/mdma/bgi 0755 root other 1 f none /opt/mdma/bgi/BGI-spec 0644 root other 9453 38907 773549498 1 d none /opt/mdma/bgi/include 0755 root other 1 f none /opt/mdma/bgi/include/bgi_lib.h 0644 root other 1989 38183 773544576 1 d none /opt/mdma/bgi/src 0755 root other 1 f none /opt/mdma/bgi/src/dns-log.cc 0644 root other 1563 60418 773544630 1 f none /opt/mdma/bgi/src/sample_handler.cc 0644 root other 1667 5832 773544647 1 f none /opt/mdma/bgi/src/test-log.cc 0644 root other 1565 60512 773544630 1 d none /opt/mdma/bin 0755 root other 1 f none /opt/mdma/bin/web-killer 0755 root other 50156 34319 773544736 1 f none /opt/mdma/copyright 0644 root other 602 52489 773549358 1 d none /opt/mdma/etc 0755 root other 1 f none /opt/mdma/etc/log.conf 0644 root other 150 12966 773545054 1 f none /opt/mdma/etc/mdma.conf 0644 root other 222 19055 773544967 1 f none /opt/mdma/etc/mime.types 0644 root other 3417 34079 773544765 1 f none /opt/mdma/etc/mosaic-headers 0644 root other 1130 33603 773544765 1 f none /opt/mdma/etc/root-request 0644 root other 6 211 773544806 1 d none /opt/mdma/html 0755 root other 1 f none /opt/mdma/html/index.html 0644 root other 1179 37031 773547780 1 d none /opt/mdma/lib 0755 root other 1 f none /opt/mdma/lib/dns-log.so 0755 root other 3088 26048 773544681 1 f none /opt/mdma/lib/file_handler.so 0755 root other 23636 11303 773544681 1 f none /opt/mdma/lib/libbgi.a 0644 root other 21684 39434 773544821 1 f none /opt/mdma/lib/sample_handler.so 0755 root other 13452 10279 773544681 1 f none /opt/mdma/lib/test-log.so 0755 root other 2980 22217 773544682 1 d none /opt/mdma/sbin 0755 root other 1 f none /opt/mdma/sbin/httpd 0755 root other 80796 26574 773544706 1 i copyright 602 52489 773551024 1 i pkginfo 158 12867 773551140 07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!!07070100005b66000081a4000000120000000a000000012e1b74240000009e000000200000001800000000000000000000000800000000pkginfoPKG=mdma VERSION=0.1 ARCH=sparc NAME=Multithreaded Daemon for Multimedia Access CATEGORY=application CLASSES=none BASEDIR=/opt/mdma PSTAMP=elanor940706231900 07070100005b65000081a4000000120000000a000000012e1b742400000778000000200000001800000000000000000000000700000000pkgmap: 1 490 1 d none /opt/mdma 0755 ses other 1 f none /opt/mdma/README 0644 root other 1932 29102 773550866 1 d none /opt/mdma/adm 0755 root other 1 d none /opt/mdma/bgi 0755 root other 1 f none /opt/mdma/bgi/BGI-spec 0644 root other 9453 38907 773549498 1 d none /opt/mdma/bgi/include 0755 root other 1 f none /opt/mdma/bgi/include/bgi_lib.h 0644 root other 1989 38183 773544576 1 d none /opt/mdma/bgi/src 0755 root other 1 f none /opt/mdma/bgi/src/dns-log.cc 0644 root other 1563 60418 773544630 1 f none /opt/mdma/bgi/src/sample_handler.cc 0644 root other 1667 5832 773544647 1 f none /opt/mdma/bgi/src/test-log.cc 0644 root other 1565 60512 773544630 1 d none /opt/mdma/bin 0755 root other 1 f none /opt/mdma/bin/web-killer 0755 root other 50156 34319 773544736 1 f none /opt/mdma/copyright 0644 root other 602 52489 773549358 1 d none /opt/mdma/etc 0755 root other 1 f none /opt/mdma/etc/log.conf 0644 root other 150 12966 773545054 1 f none /opt/mdma/etc/mdma.conf 0644 root other 222 19055 773544967 1 f none /opt/mdma/etc/mime.types 0644 root other 3417 34079 773544765 1 f none /opt/mdma/etc/mosaic-headers 0644 root other 1130 33603 773544765 1 f none /opt/mdma/etc/root-request 0644 root other 6 211 773544806 1 d none /opt/mdma/html 0755 root other 1 f none /opt/mdma/html/index.html 0644 root other 1179 37031 773547780 1 d none /opt/mdma/lib 0755 root other 1 f none /opt/mdma/lib/dns-log.so 0755 root other 3088 26048 773544681 1 f none /opt/mdma/lib/file_handler.so 0755 root other 23636 11303 773544681 1 f none /opt/mdma/lib/libbgi.a 0644 root other 21684 39434 773544821 1 f none /opt/mdma/lib/sample_handler.so 0755 root other 13452 10279 773544681 1 f none /opt/mdma/lib/test-log.so 0755 root other 2980 22217 773544682 1 d none /opt/mdma/sbin 0755 root other 1 f none /opt/mdma/sbin/httpd 0755 root other 80796 26574 773544706 1 i copyright 602 52489 773551024 1 i pkginfo 158 12867 773551140 07070100002a1a000041ed000000120000000a000000022e1b742600000000000000200000001800000000000000000000000800000000install07070100002a1b000081a4000000120000000a000000012e1b73b00000025a000000200000001800000000000000000000001200000000install/copyrightCopyright (c) Simon E Spero 1994 All rights reserved THIS PRELIMINARY VERSION MUST NOT BE REDISTRIBUTED WITHOUT PRIOR PERMISSION. Permission is hereby granted to install and use this software for academic and research purposes. If you install the software, you should send electronic mail to ses@unc.edu letting me know that you have done so. In addition, you should report any bugs you discover to the same address. THIS SOFTWARE HAS NO WARRANTY. Simon Spero and The University of North Carolina disclaim all liability for any damages that may accrue as the result of the use of this package. 070701000000b1000041ed000000120000000a000000032e1b742500000000000000200000001800000000000000000000000500000000root07070100001138000041ed000000120000000a000000032e1b742500000000000000200000001800000000000000000000000900000000root/opt070701000029ee000041ed000000120000000a000000082e1b742600000000000000200000001800000000000000000000000e00000000root/opt/mdma07070100002a13000081a4000000120000000a000000012e1b73120000078c000000200000001800000000000000000000001500000000root/opt/mdma/READMEMDMA - Multithreaded Daemon for Multimedia Access Simon Spero (ses@unc.edu) Welcome to pre-alpha release 0.1 of MDMA. MDMA is a new HTTP server for solaris. on very busy servers like sunsite or ncsa, which handle over 100,000 requests a day. MDMA has loads of neat stuff like multithreading, BGI support, stackable log modules, which I'll write about more when my hands don't hurt so much. How to Get: ----------- MDMA is available via the web from http://elanor.oit.unc.edu/mdma.html [NC-17] THIS IS A SNEAK-PREVIEW PRE-ALPHA (i.e. badly broken) RELEASE --------------------------------------------------------------------- It's not house-trained. It probably won't work. Don't try and use this release for anything useful. We have made every effort to ensure that all bits in this package are either 0 or 1. However, these bits may not be in the correct order and proportion. Anyone found laughing at the code will be shot at dawn. -- Known Missing stuff Documentation. Error Message generation. POST support in default file handler. Decent examples Things that will change: Logging protocol; the protocol for log handlers will be changed to allow a handler to be called for different loggable events New BGI modules needed: MAPS Port of ismap handler to BGI CGI Support for legacy applications :-) TCL BGI module with embedded TCL interpreter. USER Support for user name lookup. Command Line arguments: ----------------------- httpd [-p port] [-r root] [-f fstab] [-d] [-l log-config] [-m mime.types] -p port) TCP port to listen on DEFAULT: 80 -r root) Base directory for http data DEFAULT: /opt/mdma/html -f fstab) BGI module attachment points DEFAULT: /opt/mdma/etc/mdma.conf -l logtab) Log module configuration file DEFAULT: /opt/mdma/etc/log.conf -m mime) file-name to mime type mappings DEFAULT: /opt/mdma/etc/mime.types -d) Increment debugging level 07070100003a7f000041ed000000120000000a000000042e1b742500000000000000200000001800000000000000000000001200000000root/opt/mdma/bgi07070100003a80000081a4000000120000000a000000012e1b6dba000024ed000000200000001800000000000000000000001b00000000root/opt/mdma/bgi/BGI-specDRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT $Id: BGI-spec,v 1.4 1994/07/02 02:47:01 ses Exp ses $ DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT Binary Gateway Interface - An API for dynamically extensible HTTP servers July 1st 1994 Simon Spero University of North Carolina at Chapel Hill ses@unc.edu Abstract: Many HTTP servers currently support an interface protocol allowing them to pass requests on external scripts. This protocol is known as CGI. This mechanism is extremely flexible, but is unsuited to high performance applications. In this paper we discuss an alternative approach to server extensibility and propose an alternative interface protocol based on dynamically linked functions. We compare the two approaches and indicate some of the advantages and disadvantages of each. Introduction. ------------- The Common Gateway Interface (CGI)[McCool 93] is a standard way of allowing the manager of an information server to add extra functionality to a server without needing to modify the http server itself. This functionality is achieved by starting an external gateway process, and passing messages to and from that process. CGI is not specific to the HTTP protocol. CGI communicates with the gateway process through a number of different mechanisms. Information about the request is passed through about 20 environment variables. Information about queries is also passed via the command line. For requests that contain information in addition to the HTTP header, the additional data will be made available on standard input. The gateway script responds by sending the result to standard output. Normally the output is processed on to the client. For efficiency, if a script name begins with a magic string "nph-", the output is not parsed, and may be send directly to the client. This system is extremely flexible; however the design is not suitable for use in high performance servers. There are several reasons for this. The first problem is the processing overhead caused by the creation of an extra process to handle each request. Secondly, the server is required to process any and all HTTP headers, and to generate an environment variable for each of them before passing the request on to the gateway. Most of these headers will not be needed by the gateway module. Thirdly, unless the "nph-" escape hatch is used, the server must read and parse the results of the gatewayed operation before sending them on to the client. A Binary Gateway Interface -------------------------- An alternative way of extending the functionality of a server is to make use of the dynamic linking facilities available under most modern operating systems. If a standard set of function calls for handling requests is defined, then extended operations can be handled as cheaply as standard ones. Design Goals ------------ The designed presented in the following section is intended to meet several design goals. 1) Fast. Extensions should be able to run as fast as built in functions. 2) Lazy. Headers should not be parsed or evaluated unless absolutely necessary. 3) Portable. Gateways developed for one operating system should be usable on another system without requiring extensive modifications. 4) Simple. The gateway author should not spend more time working on the interface code than she does on the actual gateway. BGI design ----------- The design is somewhat inspired by the Plan 9 file system, and to a lesser extent, the extension system used for the System V.4 name resolution library. The BGI model is based on the model of a hierachical name space. Specialised handlers can be mounted at any point in the name space; these handlers will be responsible for handling any requests that lie beneath their mount points, unless a more specific handlers is mounted below it. Servers do not need to use this model internally; however BGI handlers do need to be told where they are mounted so that they can determine how much prefix to remove from a URL. Example: Suppose we have a namespace with the following handlers mounted at the indicated points. Mount point Handler -------------------------------------------------- / file_handler /image-maps map_handler /pictures picture_handler /pictures/office-scene videopix_handler /cgibin cgi_handler /search-me wais_handler A request for "/pictures/simon.gif" would be handled by picture_handler, as would a request for "/pictures/simon.jpeg". However, a request for "/pictures/office-scene" would invoke the videopix_handler. However, asking for "/picture" would invoke the file_handler. BGI handlers are compiled object code modules containing three functions which are used to mount and unmount handlers, and to handle incoming requests. Handler Methods --------------- Init void* _init(char* mount_point,char* args) This function is used to initialise a handler for attachment to a point in the namespace. The value returned should either be 0, indicating that a problem occured, or a cookie which will be passed to the handler function. Unmount int _umount(char* mount_point, void* cookie) This function should remove the handler from the indicated mount point, and free up any memory allocated for the cookie. Handler: int _handler(void* cookie, char* method, char* url, char* version, sock_buf* buf) This function handles all requests on this mount point. Arguments: cookie: This is the token that was returned by the initialisation routine. method: The method that was used to invoke this handler uri: The uri passed for this request. All hex escapes will be replaced by the corresponding characters before this routine is called. version: The version string passed in the request. If no version was passed, this string will be set to null. buf: This argument is a container for the socket to use for this request together with a buffer containing information already read from the client. typdef struct _sockbuf { char* buffer; // pointer to start of I/O buffer int buf_size; // total size of this buffer char* end_of_data; // pointer to character after end of valid data // in this buffer. char* current_ptr; // pointer to first available character in buffer int sock; // the socket } Result code: If no errors occur, the handler function should return 0 or 200. If an error occurs, the handler should return either 0, or a valid HTTP error code. If a status code other than 200 is returned, the server will generate an appropriate error message. Notes: All handler functions must be re-entrant. Handler functions should not close the connection themselves. Library functions ----------------- Server implementors should make the following functions available to gateway implementors. --- int handle_url(char* method, char* url, char* version, sock_buf* buf) Used to handle redirections, so that a handler can simply compute an alternate url and then have that resolved. --- int http_error(int socket, int code, char* version) Generate an error message corresponding to error 'code' --- STAY TUNED - more functions need documenting. Comparisons ----------- BGI offers a much faster alternative to CGI for extending servers; however there are several disadvantages. The most obvious problem is that BGI itself uses compiled modules, whereas CGI programs can be written in interpreted languages. Since a CGI emulation module can be implemented under BGI, this is problem can be circumvented. Also, since BGI doesn't automatically handle all header processing, if extensive header processing is needed, this must be handled by the application. Adding functions to support header manipulation to the support library would certainly help this. Open Issues ------------ 1) It might be better to have separate handlers for each method, rather than having the single handler with its operation argument. This would allow different handlers to manage GET and POST requests. However, this would complicate the interface, since most handlers would only support a single method. Currently, my favourited solution is to go with a single function per mountpoint, but to then implement a BGI module that dispatches to other BGI modules based on the method. 2) Adding more functions to the support library will make implementing gateways easier. I'm open to suggestions. References: [McCool 93] Introduction to CGI, http://hoohoo.ncsa.uiuc.edu/cgi/ # # $Log: BGI-spec,v $ # Revision 1.4 1994/07/02 02:47:01 ses # Emphasised that umount should dispose of the cookie # # Changed interface handler spec, replacing the integer operation with the # method string, adding a paramater for version, and bundling all I/O # paramaters into a single structure. # # Clarified (hah) semantics of result code from handler function. # # Changed interface to handle_url to match changes in handler # # Added version to http_error # # Revision 1.3 1994/06/28 23:01:33 ses # cookie is now a void* # # Revision 1.2 1994/06/23 21:16:13 ses # Added argument string to mount entry point # # Added buf_valid to handler entry point # # Revision 1.1 1994/06/22 16:00:00 ses # Initial Release 070701000042a0000041ed000000120000000a000000022e1b742500000000000000200000001800000000000000000000001a00000000root/opt/mdma/bgi/include070701000042a1000081a4000000120000000a000000012e1b5a80000007c5000000200000001800000000000000000000002400000000root/opt/mdma/bgi/include/bgi_lib.h#ifndef BGI_LIB_H #define BGI_LIB_H extern int debug; #include #include #include /* This file defines library routines available for use in BGI modules */ typedef struct _sock_buf { char* buffer; int buf_size; char* end_of_buffer; char* current_ptr; int sock; } sock_buf; typedef void* (*init_func)(char* path,char* args); typedef int (*umount_func)(char* path,void* cookie); typedef int (*handler_func)(void* cookie, char* method, char* url, char* version, sock_buf* buf); typedef void* (*log_open_func)(char* args); typedef int (*log_close_func)(void* cookie); typedef int (*log_message_func)(void* cookie, char* method, char* url, char* ident, char* auth_user, int status, time_t date,struct sockaddr* host, int h_size); typedef struct _accept { char* value; struct _accept* next; } accept_val; typedef struct _extra_headers { char* field; char* value; struct _extra_headers* next; } extra_headers; typedef struct _header { char* From; accept_val* Accept; char* Accept_Encoding; char* Accept_Language; char* User_Agent; char* Referer; char* Authorization; char* ChargeTo; extra_headers* extras; } header; #ifdef __cplusplus extern "C" { #endif char** split(char* string,char* pat,int collapse); char** split_any(char* string, char* pat, int collapse); header* parse_header(unsigned char* buf, int size, int* offset, int* valid, int socket); void http_error(sock_buf* sb, int code, char* version); void mime_headers(int sock, int size, char* type,char* encoding,time_t date); char* ext_to_mime(char* ext); void* create_bgi_mutex(); int lock_bgi_mutex(void* the_mutex); int unlock_bgi_mutex(void* the_mutex); int free_bgi_mutex(void* the_mutex); int log_message( char* method, char* url,char* ident, char* auth_user, int status, time_t date,struct sockaddr* in, int in_size); #ifdef __cplusplus } #endif #endif 07070100005310000041ed000000120000000a000000022e1b742500000000000000200000001800000000000000000000001600000000root/opt/mdma/bgi/src07070100005312000081a4000000120000000a000000012e1b5ab60000061b000000200000001800000000000000000000002100000000root/opt/mdma/bgi/src/dns-log.cc#include "bgi_lib.h" #include #include extern "C" { void* test_open(char* args); int test_close(void* cookie); int test_message (void* cookie, char* method, char* url, char* ident, char* auth_user, int status, time_t date,struct sockaddr* host, int host_size); } struct test_cookie { FILE* log_file; test_cookie(char* filename) { log_file = fopen(filename,"a+"); } ~test_cookie() { if(log_file) fclose(log_file); } }; void* test_open(char* args) { printf("opening test-log on %s\n",args); test_cookie* cookie = new test_cookie(args); if(cookie->log_file == 0) { delete cookie; return 0; } else { return cookie; } } int test_close(void* cookie) { test_cookie* tc = (test_cookie*)cookie; delete tc; return 0; } int test_message (void* cookie, char* method, char* url, char* ident, char* auth_user, int status, time_t date,struct sockaddr* host, int host_size) { test_cookie* tc = (test_cookie*)cookie; sockaddr_in* sin = (sockaddr_in*)host; char time_buf[40]; in_addr* addr = &(sin->sin_addr); char* hostname; char buf[20]; hostent* he = 0; he = gethostbyaddr((char*)addr,sizeof(in_addr),AF_INET); if(he) { hostname = he->h_name; } else { sprintf(buf,"%d.%d.%d.%d", addr->S_un.S_un_b.s_b1, addr->S_un.S_un_b.s_b2, addr->S_un.S_un_b.s_b3, addr->S_un.S_un_b.s_b4); hostname = buf; } fprintf(tc->log_file,"[%s] %s %s %s",hostname,method,url,ctime_r(&date,time_buf,40)); return 0; } 07070100005313000081a4000000120000000a000000012e1b5ac700000683000000200000001800000000000000000000002800000000root/opt/mdma/bgi/src/sample_handler.cc#include "bgi_lib.h" #include #include #include #include extern "C" { int gettimeofday(struct timeval* tv); } extern "C" { void* sample_init(char* path, char* args); int sample_umount(char* path, void* cookie); int sample_handler(void* cookie, char* method, char* url, char* version, sock_buf* buf); } struct sample_cookie { void* lock; int cnt; sample_cookie() { lock = create_bgi_mutex(); cnt = 0; } }; void* sample_init(char* path, char* args) { if(debug) { printf("mounting sample handler on %s with args %s\n", path,args); } return new sample_cookie; } int sample_umount(char* path, void* cookie) { sample_cookie* fc = (sample_cookie*)cookie; delete fc; return(0); } int sample_handler(void* cookie, char* method, char* url , char* version, sock_buf* buf) { sample_cookie* fc = (sample_cookie*)cookie; lock_bgi_mutex(fc->lock); int my_cnt = fc->cnt++; unlock_bgi_mutex(fc->lock); if(debug) { printf("sample handler called to %s on %s, using version %s\n", method,url,version ? version : "0.9"); } int len; struct sockaddr addr; len = sizeof(struct sockaddr); struct timeval date; gettimeofday(&date); if ((getpeername(buf->sock, &addr, &len)) >= 0) { log_message(method,url,0,0,200,date.tv_sec,&addr,len); } mime_headers(buf->sock,0,"text/html",0,0); char* cp = buf->buffer; cp += sprintf(cp,"

How many have I served?

\n"); cp += sprintf(cp,"The answer is %d\n",my_cnt); cp += sprintf(cp,"

back to the start\n"); write(buf->sock,buf->buffer,cp-buf->buffer); return 0; } 07070100005314000081a4000000120000000a000000012e1b5ab60000061d000000200000001800000000000000000000002200000000root/opt/mdma/bgi/src/test-log.cc#include "bgi_lib.h" #include #include extern "C" { void* test_open(char* args); int test_close(void* cookie); int test_message (void* cookie, char* method, char* url, char* ident, char* auth_user, int status, time_t date,struct sockaddr* host, int host_size); } struct test_cookie { FILE* log_file; test_cookie(char* filename) { log_file = fopen(filename,"a+"); } ~test_cookie() { if(log_file) fclose(log_file); } }; void* test_open(char* args) { printf("opening test-log on %s\n",args); test_cookie* cookie = new test_cookie(args); if(cookie->log_file == 0) { delete cookie; return 0; } else { return cookie; } } int test_close(void* cookie) { test_cookie* tc = (test_cookie*)cookie; delete tc; return 0; } int test_message (void* cookie, char* method, char* url, char* ident, char* auth_user, int status, time_t date,struct sockaddr* host, int host_size) { test_cookie* tc = (test_cookie*)cookie; sockaddr_in* sin = (sockaddr_in*)host; char time_buf[40]; in_addr* addr = &(sin->sin_addr); char* hostname; char buf[20]; hostent* he = 0; // he = gethostbyaddr((char*)addr,sizeof(in_addr),AF_INET); if(he) { hostname = he->h_name; } else { sprintf(buf,"%d.%d.%d.%d", addr->S_un.S_un_b.s_b1, addr->S_un.S_un_b.s_b2, addr->S_un.S_un_b.s_b3, addr->S_un.S_un_b.s_b4); hostname = buf; } fprintf(tc->log_file,"[%s] %s %s %s",hostname,method,url,ctime_r(&date,time_buf,40)); return 0; } 07070100004b21000041ed000000120000000a000000022e1b742500000000000000200000001800000000000000000000001200000000root/opt/mdma/bin07070100004b27000081a4000000120000000a000000012e1b5b200000c3ec000000200000001800000000000000000000001d00000000root/opt/mdma/bin/web-killerELF44 (44****<* * /usr/lib/ld.so.1SlDL=gd<^#B;YVfS6FhZ/N4e:cAM`[>iTj.X8bOR?\aWK5Jk)C(0*$2-9@&1'!",H7E+P %UQG_]3I $<' ' ' ' ' * * *,,,4+' t$+)+.' <&$N,W-X\+Pcv+} ,,*,&P &p8++*,-*2+7,C,J,dR' X,_+ d-q,y* +D+,+,|+,,!+h++-,,,+t- -$,X,-("+,,@9,@*Z+8`,g%xy' -0*' ,l-H' 8,(,p+\& ,' ,!-P/,L7+socketgetopt__DTOR_LIST___startreadatoi__CTOR_LIST____set_new_handler_environ_endstrdupread_requests__FPcgetpiddo_requests__FPv__new_handlerresult_lock_GLOBAL_OFFSET_TABLE_result_wait__builtin_delete__builtin_newgethostbynamethr_createload_headers__FPcatexitthreads_left_lockexitrandheader_sizemallocsprintf_initactive.remrandom_namesverbose_DYNAMICfscanfprintfmutex_lockwrite_exitmutex_unlockenvironperrorsrandsetrlimittotal_timefreeclosethreads_leftopenoptargtotal_requests___errnoporthegetrlimitgettimeofday_edata_PROCEDURE_LINKAGE_TABLE_fopenmemset__do_global_dtors__CTOR_END__active_lock_etext_lib_versionwaiting_for_connect__do_global_ctorstotal_bytes__DTOR_END__mainmemcpystrlenstatset_new_handlerpause_finiheaderstotal_connectconnectmutex_initlibthread.so.1libsocket.so.1libnsl.so.1libc.so.1,"- M*1*3+B+4+ :+,?+8V+D>+P$+\d+hE+tL++++&+F+R+G+.+k+@+/,C,f,W,(b,4,@S,Lj,XO,d7,pc,|A,J,I,6 @D# @FI#@F@, @ "@@F@F㿐Ic'`  'Ia@F㿐㿐㿐㿐* 2`㿐'H'L'PH"L" P" 㿐'H@       H ` @㿐         㿐"@ "` "` 㿐'H'LH"L" 㿐"" 㿐"@ "` 㿈'H$ H$   *  @` $'  H  @$ *` H@"*`  " H 'H`'㿈@E  @E''  *`  @ *` `'Ic@Em *` ?㿐"@ "` "` 㻀'D'DI@EL'耢  IcD@E? &$I#@E8? @ @E0''DhD@E  Ic@E @DD @E'dd  J`@E @D%@$" d`@Dh'D'HJ` 'J`0' ' 'DHJ@@D/*`:`?}?*`: .@ s*`FL D` a s7`Ē " .a @D''a @D"`a @Dr'a @D}'a @Dv' @Dt @DszА @Dn'ВА @Dk J`P@DL@Dd"a(!(` J``@D. @D'̀  J`@D @D# @ -$a`  @D7`  @D1a0  @D+`@D*" '܀   F  @DȐ`'`@D@D ?c0'DD'ؐ   @D 7  @ 7ڒؐ`a((@ @C'쀢     @C?" ?c@  J`@C @C?cؔ @Ca0@C` " a0@C?cؔ @C @CJ@@CpJ`@C{a0@C` " ` "  Ā`J`` @CGa0@Cy?cJa:@?cJa:@?cД @Cu?c?ܔ ?c?Д "@?cВ@?Ԕ Д@@ " ?c??ؖ  "@ ' ??ܖ  "@ 'Ja ƅD:@?aP@ D:!PaJ?"  ̀`-?c@?cJ @C?#?c@?c @C@@C?c`@C!?c@?cJ0 @B?#?c@?c @B@@B?c"@?c? @B?"  ?c??㸖  @ "?cД @B?c?ܔ ?c?Д "@?cВ@?Ԕ Д@@ " ?c@@Ba0@Bh` " ` " a0@B\`@BRa$ "!$?aH @ "!H?c??ؖ  "@ ' ??ܖ  "@ 'Ja ƅD:@?a@ D:!`@Ba0@B` " a0@B  Ā`'?#?#?#?#?cȚ@ ??;`#\ J!@   @A`'`@A` "  `2 !P #\!PJ!ha$H@A!H!$?a$! ?Ja    @Ak @A\`@A 㿐I# #`   ` `@  I#*`?2㿐@A㿐" @A П `I"`Ё㿐㿐 Ja@Ac "@A?㿈㿠㿈Ic'`  'Ia@@㿠this shouldn't happen rcouldn't open %s %s %d header stat errorheader open error:presidentrequestsvh:p:f:r:n:RH:setrlimit:can't resolve hostname %s bad request list file %s couldn't create socket:errno = %d couldn't connect:%d active, %d connect, %d result_wait, %d total GET %s HTTP/1.0 GET %s "%s", %d, %02.2lf, %02.2lf, %02.2lf %d reqs, %d bytes, %02.2lf seconds,%02.2lf of that connect average size, %3.2lf bytes, average time %02.2lf seconds A.Virtual memory exceeded in `new' * BQ`l ' ' v *<$ 00<0H0T0`0l0x00000000000000 0,080D0P0\0h0t0000000000P& $<' ' ' ' ' * * *,,&1'G,Uc0x@X`<(0$X8$`84,%@<HMWaku&(',,4+' t++' &$ ,-X+P!4+; L,Z,f*|,&P &p8++*,*+,,,d' ,+ "-/,7* @+DG+,N+Y,|_+e,r,!z+h++-,,,+t- -$,X,-(+,@,*+8,%%x7' D-0P*W' d,xl-H' 8,(,p+\&,' ,-P,L+../bin/web-killercrti.svalues-Xa.ccrtstuff.c__do_global_ctors_auxforce_to_dataweb-killer.cc__8selectorP7request__7requestRC7requestlength__7request_._7requestpick_name__8selector__14frequency_nodePclntohlhtonlntohshtons__14frequency_nodeRC14frequency_node__14frequency_node__8selectorRC8selector__7requestPclPT0libgcc2.clibgcc2.clibgcc2.clibgcc2.cdefault_new_handlercrtstuff.c__do_global_ctors_auxforce_to_datacrtn.ssocketgetopt__DTOR_LIST___startreadatoi__CTOR_LIST____set_new_handler_environ_endstrdupread_requests__FPcgetpiddo_requests__FPv__new_handlerresult_lock_GLOBAL_OFFSET_TABLE_result_wait__builtin_delete__builtin_newgethostbynamethr_createload_headers__FPcatexitthreads_left_lockexitrandheader_sizemallocsprintf_initactive.remrandom_namesverbose_DYNAMICfscanfprintfmutex_lockwrite_exitmutex_unlockenvironperrorsrandsetrlimittotal_timefreeclosethreads_leftopenoptargtotal_requests___errnoporthegetrlimitgettimeofday_edata_PROCEDURE_LINKAGE_TABLE_fopenmemset__do_global_dtors__CTOR_END__active_lock_etext_lib_versionwaiting_for_connect__do_global_ctorstotal_bytes__DTOR_END__mainmemcpystrlenstatset_new_handlerpause_finiheaderstotal_connectconnectmutex_init d/dQ8w8F<@(#)SunOS 5.3 Generic September 1993as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8ld: (SGU) SunOS/ELF (LK-1.3)A d6dD<SuǀGiʀ $0YȀ 1>JUamw !"#%&À'΀(ـ)) 12'?3@AkOuOWWǀYՀc݀lmr)6ALU_hq|΀ـ !*4Xbk#߀(%_3b}o}~Ȁ׀;ˀր %! 2   # ݀+ + "0 -E BF Rt kx ; K W' g s  ŀ% ր )  F+ Y - - 9 *;8;GGG ""$+%600ǀрh !!8,\r#Ѐfۀ(_mFQ̀؀m~)̀)ڀ.#.5=ǀ=Հ'6i)u)dπdB&M&Z"(Ȁ*ڀ<(Sʀ7eɀs܀C~WʀDT$/=*:2F2S:?؀ <Z JZ Y ʀe ܀s x!&!׀:!:!""&"2$"r$"#.#!.#,9#R9#`3#=#:$1C$>%[%[%&׀&&''8'X'''''ŀ+,;+,I+,Y,,,.mQ.xS./y/{/)//00)0Ԁ0߀1F1U1122 2ހ233333ƀ4cI4o5 \55w5ŀ6g6w7(77$g7@@g7IDgDgDhDi7$o7@oDoDoDpDq7$y(7@yDyDyDzD{((7$X7@DDDD007ɀ7~78\8m889(;959F99M9:;S:I$(:o@:y(H:(L:(P:D(D(D)D*@,:;T6;b$+;r@;|HD+D+ D, D-D.x P;$/X;@D/D/D0D1D34D5XX;$;@ ;@6D6D6$D68$$;$<<@<<H4 <&B<$?4<@D?D?D@DA$<$`=@ = @BDBDBDB0= $J=K@=UJHDJDJ DK DLDM DODPDQDRDSDTDU(=cN =ga>$V> @DVDVDWDY(DZ@D[hD]D^D_D`>*W>0X>4$>P@ >Z@aDaDa$Da8$$>n$d>dDDdDdDeDg Dh$Di4DjHDo`DpDsDt>e>g>l>ʀm> }> ~> ? ? ? ?) ?5 ?D$?ZDDDDD$D4D@DTDdDtDDDD?gh?md?r$?zD?HDD D DD$D,D4DhD`DpDxDDDDDDDDDDD$D,DDDTDdDlDDDDDDDDDD DLDdD|DDDDDDDD0??????À?ʀ?׀ ?$?DDDDDD0D8DPD|DDDDDD DD8DHDtDDD D D D DD8DHD`DxDDDDDDDD D!D"hD$D%D+D,$D-tD/D0D1D2D4LD5dD6tD7D8D:D;D<D> D?D@DADBDCDDDKDMDODPDQDSDV DDW DY D[ D\ ?@@ @@(@/@8@?߸@O߰@[߬@d*ߨ@h+ߤ @u y@ z@ {@ |@ @ @ @ @ ) d%d%+<:\ǹTr̀߀ 8SoMۀW3 456(738>9I>TEal.$%) d&Pd&P+<:\ǹTr̀߀ 8SoMۀW3 456(738>9I>TEal$j&P@i* d&pd&p+<:\ǹTr̀߀ 8SoMۀW3 456(738>9I>TEal$"&p@!0 d&d&+<:\ǹTr̀߀ 8SoMۀW3 456(738>9I>TEal`= B2$F&H@FT$R&h@Rt$[&.interp.hash.dynsym.dynstr.rela.bss.rela.plt.text.init.fini.ctors.dtors.rodata.got.dynamic.plt.data.bss.symtab.strtab.stab.index.comment.stab.shstrtab.stab.indexstr.stabstrvalues-Xa.c/1093/on1093_ws/usr/src/lib/libc/port/gen/values-Xa.cXt ; V=2.0/home/tipper/home2/ses/src/thread/src/usr/ccs/lib/values-Xa.oweb-killer.cc/home/tipper/home2/ses/src/thread/src/web-killer.ccgcc2_compiled.int:t1=r1;-2147483648;2147483647;char:t2=r2;0;127;long int:t3=r1;-2147483648;2147483647;unsigned int:t4=r1;0;-1;long unsigned int:t5=r1;0;-1;short int:t6=r1;-32768;32767;long long int:t7=r1;01000000000000000000000;0777777777777777777777;short unsigned int:t8=r1;0;65535;long long unsigned int:t9=r1;0000000000000;01777777777777777777777;signed char:t10=r1;-128;127;unsigned char:t11=r1;0;255;float:t12=r1;4;0;double:t13=r1;8;0;long double:t14=r1;16;0;void:t15=15__wchar_t:t16=r1;-2147483648;2147483647;__vtbl_ptr_type:T17=s8__delta:6,0,16;__index:6,16,16;__pfn:18=*15,32,32;__delta2:6,32,16;;__vtbl_ptr_type:t17_physadr:T19=s4r:20=ar1;0;0;1,0,32;;_physadr:t19physadr:t21=*19_label_t:T22=s8val:23=ar1;0;1;1,0,64;;_label_t:t22label_t:t22lock_t:t11uchar_t:t11ushort_t:t8uint_t:t4ulong_t:t5caddr_t:t24=*2daddr_t:t3off_t:t3cnt_t:t6paddr_t:t5use_t:t11sysid_t:t6index_t:t6boolean:t25=eB_TRUE:1,B_FALSE:0,;boolean_t:t25longlong_t:t7u_longlong_t:t9offset_t:t7diskaddr_t:t7lloff:T26=u8_f:7,0,64;_p:27=xs._0:,0,64;;lloff:t26lloff_t:t26lldaddr:T28=u8_f:7,0,64;_p:29=xs._1:,0,64;;lldaddr:t28lldaddr_t:t28k_fltset_t:t5id_t:t3major_t:t5minor_t:t5pri_t:t6o_mode_t:t8o_dev_t:t6o_uid_t:t8o_gid_t:t8o_nlink_t:t6o_pid_t:t6o_ino_t:t8key_t:t1mode_t:t5uid_t:t3gid_t:t3nlink_t:t5dev_t:t5ino_t:t5pid_t:t3size_t:t4ssize_t:t1time_t:t3clock_t:t3clockid_t:t1timer_t:t1unchar:t11ushort:t8uint:t4ulong:t5hostid_t:t3u_char:t11u_short:t8u_int:t4u_long:t5_quad:T30=s8val:31=ar1;0;1;3,0,64;;_quad:t30quad:t30timeval:T32=s8tv_sec:3,0,32;tv_usec:3,32,32;;timeval:t32timezone:T33=s8tz_minuteswest:1,0,32;tz_dsttime:1,32,32;;timezone:t33itimerval:T34=s16it_interval:32,0,64;it_value:32,64,64;;itimerval:t34timespec:T35=s8tv_sec:3,0,32;tv_nsec:3,32,32;;timespec:t35timespec_t:t35timestruc_t:t35itimerspec:T36=s16it_interval:35,0,64;it_value:35,64,64;;itimerspec:t36itimerspec_t:t36hrtime_t:t7tm:T37=s36tm_sec:1,0,32;tm_min:1,32,32;tm_hour:1,64,32;tm_mday:1,96,32;tm_mon:1,128,32;tm_year:1,160,32;tm_wday:1,192,32;tm_yday:1,224,32;tm_isdst:1,256,32;;tm:t37sigval:T38=u4sival_int:1,0,32;sival_ptr:18,0,32;;sigval:t38sigevent:T39=s12sigev_notify:1,0,32;sigev_signo:1,32,32;sigev_value:38,64,32;;sigevent:t39siginfo:T40=s128si_signo:1,0,32;si_code:1,32,32;si_errno:1,64,32;_data:41=xu._2:,96,928;;siginfo:t40siginfo_t:t40k_siginfo:T42=s28si_signo:1,0,32;si_code:1,32,32;si_errno:1,64,32;_data:43=xu._10:,96,128;;k_siginfo:t42k_siginfo_t:t42sigqueue:T44=s40sq_next:45=*44,0,32;sq_info:42,32,224;sq_func:46=*47=f15,256,32;sq_backptr:18,288,32;;sigqueue:t44sigqueue_t:t44fd_mask:t3fd_set:T48=s128fds_bits:49=ar1;0;31;3,0,1024;;fd_set:t48rlim_t:t5rlimit:T50=s8rlim_cur:5,0,32;rlim_max:5,32,32;;rlimit:t50SIG_FUNC_TYP:t51=f15SIG_TYP:t52=*51sigset_t:t53=xssigset_t:k_sigset_t:t54=xsk_sigset_t:sigaction:T55=s32sa_flags:1,0,32;_funcptr:56=xu._20:,32,32;sa_mask:53,64,128;sa_resv:23,192,64;;sigaction:t55sigaltstack:T57=s12ss_sp:24,0,32;ss_size:1,32,32;ss_flags:1,64,32;;sigaltstack:t57stack_t:t57disp_lock_t:t11uint8_t:t11uint32_t:t5uint64_t:t9_mutex_flags:T58=s8flag:59=ar1;0;3;11,0,32;type:5,32,32;;_mutex_flags:t58_mutex_lock:T60=s8pad:61=ar1;0;7;11,0,64;;_mutex_lock:t60_mutex_lock_un:T62=u8lock64:60,0,64;owner64:9,0,64;;_mutex_lock_un:t62_lwp_mutex:T63=s24flags:58,0,64;lock:62,64,64;data:9,128,64;;_lwp_mutex:t63lwp_mutex_t:t63_lwp_cond_flags:T64=s8flag:59,0,32;type:5,32,32;;_lwp_cond_flags:t64_lwp_cond:T65=s16flags:64,0,64;data:9,64,64;;_lwp_cond:t65lwp_cond_t:t65_lwp_sema:T66=s24count:5,0,32;type:5,32,32;flags:61,64,64;data:9,128,64;;_lwp_sema:t66lwp_sema_t:t66_sema:T67=s48count:5,0,32;type:5,32,32;pad1:68=ar1;0;2;9,64,192;pad2:69=ar1;0;1;9,256,128;;_sema:t67sema_t:t67mutex_t:t63cond_t:t65_rwlock:T70=s64readers:5,0,32;type:5,32,32;pad1:68,64,192;pad2:69,256,128;pad3:69,384,128;;_rwlock:t70rwlock_t:t70thread_t:t4thread_key_t:t4fpos_t:t3FILE:t71=xsFILE:div_t:t72=xsdiv_t:ldiv_t:t73=xsldiv_t:lldiv_t:t74=xslldiv_t:wchar_t:t3stat:T75=s136st_dev:5,0,32;st_pad1:76=ar1;0;2;3,32,96;st_ino:5,128,32;st_mode:5,160,32;st_nlink:5,192,32;st_uid:3,224,32;st_gid:3,256,32;st_rdev:5,288,32;st_pad2:31,320,64;st_size:3,384,32;st_pad3:3,416,32;st_atim:35,448,64;st_mtim:35,512,64;st_ctim:35,576,64;st_blksize:3,640,32;st_blocks:3,672,32;st_fstype:77=ar1;0;15;2,704,128;st_pad4:78=ar1;0;7;3,832,256;;stat:t75netconfig:T79=s64nc_netid:24,0,32;nc_semantics:5,32,32;nc_flag:5,64,32;nc_protofmly:24,96,32;nc_proto:24,128,32;nc_device:24,160,32;nc_nlookups:5,192,32;nc_lookups:80=*24,224,32;nc_unused:81=ar1;0;7;5,256,256;;netconfig:t79NCONF_HANDLE:t82=xsNCONF_HANDLE:linger:T83=s8l_onoff:1,0,32;l_linger:1,32,32;;linger:t83sockaddr:T84=s16sa_family:8,0,16;sa_data:85=ar1;0;13;2,16,112;;sockaddr:t84sockproto:T86=s4sp_family:8,0,16;sp_protocol:8,16,16;;sockproto:t86msghdr:T87=s24msg_name:24,0,32;msg_namelen:1,32,32;msg_iov:88=*89=xsiovec:,64,32;msg_iovlen:1,96,32;msg_accrights:24,128,32;msg_accrightslen:1,160,32;;msghdr:t87opthdr:T90=s12level:3,0,32;name:3,32,32;len:3,64,32;;opthdr:t90optdefault:T91=s12optname:1,0,32;val:24,32,32;len:1,64,32;;optdefault:t91opproc:T92=s8level:1,0,32;func:93=*94=f1,32,32;;opproc:t92socksysreq:T95=s28args:96=ar1;0;6;1,0,224;;socksysreq:t95socknewproto:T97=s20family:1,0,32;type:1,32,32;proto:1,64,32;dev:5,96,32;flags:1,128,32;;socknewproto:t97dl:T98=s8dl_hop:3,0,32;dl_lop:5,32,32;;dl:t98dl_t:t98lkinfo:T99=s16lk_name:24,0,32;lk_flags:1,32,32;lk_pad:31,64,64;;lkinfo:t99lkinfo_t:t99_lkstat_t:T100=s44ls_infop:101=*99,0,32;ls_wrcnt:5,32,32;ls_rdcnt:5,64,32;ls_solordcnt:5,96,32;ls_fail:5,128,32;un:102=xu._26:,160,64;ls_wtime:98,224,64;ls_htime:98,288,64;;_lkstat_t:t100lkstat_t:t100lkstat_sum:T103=s8sp:104=*100,0,32;next:105=*103,32,32;;lkstat_sum:t103lkstat_sum_t:t103lksblk:T106=s4020lsb_prev:107=*106,0,32;lsb_next:107,32,32;lsb_nfree:1,64,32;lsb_free:104,96,32;lsb_bufs:108=ar1;0;90;100,128,32032;;lksblk:t106lksblk_t:t106syncobj:t109=eSOBJ_SEM:5,SOBJ_CV:4,SOBJ_WRT:3,SOBJ_RDR:2,SOBJ_MTX:1,SOBJ_NONE:0,;syncobj_t:t109sleepq:T110=s4sq_first:111=*112=xs_kthread:,0,32;;sleepq:t110sleepq_t:t110sleepq_bucket:T113=s8sb_queue:110,0,32;sb_lock:11,32,8;;sleepq_bucket:t113sleepq_bucket_t:t113pirec:T114=s16pi_forw:115=*114,0,32;pi_back:115,32,32;pi_benef:111,64,32;pi_epri_hi:4,96,32;;pirec:t114pirec_t:t114qobj_t:t116=eQOBJ_SEM:0,QOBJ_MTX:0,QOBJ_CV:0,QOBJ_WRT:1,QOBJ_RDR:0,QOBJ_DEF:0,;turnstile_t:t117=xsturnstile:turnstile_id_t:t8tstile_un:T118=u16ts_forw:119=*117,0,32;ts_prioinv:114,0,128;;tstile_un:t118turnstile:T117=s32tsun:118,0,128;ts_sleepq:120=ar1;0;1;110,128,64;ts_id:8,192,16;ts_flags:11,208,8;ts_wlock:11,216,8;ts_sobj_priv_data:18,224,32;;turnstile:t117kmutex_type_t:t121=eMUTEX_ADAPTIVE_DEF:6,MUTEX_DRIVER_STAT:5,MUTEX_DRIVER_NOSTAT:4,MUTEX_SPIN_STAT:3,MUTEX_ADAPTIVE_STAT:2,MUTEX_SPIN:1,MUTEX_ADAPTIVE:0,;generic_mutex:T122=s8_filler1:123=ar1;0;2;2,0,24;m_lock:11,24,8;m_type:11,32,8;_filler2:123,40,24;;generic_mutex:t122adaptive_mutex:T124=s8m_owner:4,0,24;m_lock:11,24,8;m_type:11,32,8;m_wlock:11,40,8;m_waiters:8,48,16;;adaptive_mutex:t124adaptive_mutex2:T125=s8m_owner_lock:4,0,32;m_type:11,32,8;m_wlock:11,40,8;m_waiters:8,48,16;;adaptive_mutex2:t125spin_mutex:T126=s8m_oldspl:8,0,16;m_spinlock:11,16,8;m_dummylock:11,24,8;m_type:11,32,8;_filler:2,40,8;m_minspl:8,48,16;;spin_mutex:t126stat_mutex:T127=s8m_stats_lock:4,0,32;m_type:11,32,8;_filler:128=ar1;0;2;11,40,24;;stat_mutex:t127mutex:T129=u8m_generic:122,0,64;m_adaptive:124,0,64;m_adaptive2:125,0,64;m_spin:126,0,64;m_stats:127,0,64;;mutex:t129kmutex_t:t129mutex_stats:T130=s48m_real:129,0,64;lkinfo:99,64,128;lkstat:104,192,32;name:131=ar1;0;17;2,224,144;flag:11,368,8;;mutex_stats:t130ksema_type_t:t132=eSEMA_DRIVER:1,SEMA_DEFAULT:0,;_ksema:T133=s8type:11,0,8;wlock:11,8,8;waiters:8,16,16;count:1,32,32;;_ksema:t133ksema_t:t133krw_type_t:t134=eRW_DEFAULT:4,RW_DRIVER_STAT:3,RW_DRIVER_NOSTAT:2,RW_SLEEP_STAT:1,RW_SLEEP:0,;krw_t:t135=eRW_READER:1,RW_WRITER:0,;_krwlock:T136=s12type:11,0,8;rw_wlock:11,8,8;waiters:8,16,16;un:137=xu._32:,32,32;owner:111,64,32;;_krwlock:t136krwlock_t:t136rwlock_stats:T138=s52real:136,0,96;lkinfo:99,96,128;lkstat:104,224,32;name:139=ar1;0;18;2,256,152;flag:2,408,8;;rwlock_stats:t138kcondvar_t:t140=xskcondvar_t:kcv_type_t:t141=eCV_DRIVER:1,CV_DEFAULT:0,;cred:T142=s36cr_ref:5,0,32;cr_uid:3,32,32;cr_gid:3,64,32;cr_ruid:3,96,32;cr_rgid:3,128,32;cr_suid:3,160,32;cr_sgid:3,192,32;cr_ngroups:5,224,32;cr_groups:143=ar1;0;0;3,256,32;;cred:t142cred_t:t142iovec:T89=s8iov_base:24,0,32;iov_len:1,32,32;;iovec:t89iovec_t:t89uio_seg:t144=eUIO_USERISPACE:2,UIO_SYSSPACE:1,UIO_USERSPACE:0,;uio_seg_t:t144uio:T145=s40uio_iov:88,0,32;uio_iovcnt:1,32,32;_uio_offset:26,64,64;uio_segflg:144,128,32;uio_fmode:6,160,16;_uio_limit:28,192,64;uio_resid:1,256,32;;uio:t145uio_t:t145uio_rw:t146=eUIO_WRITE:1,UIO_READ:0,;uio_rw_t:t146fault_type:t147=eF_SOFTUNLOCK:3,F_SOFTLOCK:2,F_PROT:1,F_INVAL:0,;seg_rw:t148=eS_CREATE:4,S_EXEC:3,S_WRITE:2,S_READ:1,S_OTHER:0,;vtype:t149=eVBAD:8,VXNAM:7,VFIFO:6,VLNK:5,VCHR:4,VBLK:3,VDIR:2,VREG:1,VNON:0,;vtype_t:t149vnode:T150=s56v_lock:129,0,64;v_flag:8,64,16;v_count:5,96,32;v_vfsmountedhere:151=*152=xsvfs:,128,32;v_op:153=*154=xsvnodeops:,160,32;v_vfsp:151,192,32;v_stream:155=*156=xsstdata:,224,32;v_pages:157=*158=xspage:,256,32;v_type:149,288,32;v_rdev:5,320,32;v_data:24,352,32;v_filocks:159=*160=xsfilock:,384,32;v_cv:140,416,16;;vnode:t150vnode_t:t150vattr:T161=s80va_mask:3,0,32;va_type:149,32,32;va_mode:5,64,32;va_uid:3,96,32;va_gid:3,128,32;va_fsid:5,160,32;va_nodeid:5,192,32;va_nlink:5,224,32;va_size0:5,256,32;va_size:5,288,32;va_atime:35,320,64;va_mtime:35,384,64;va_ctime:35,448,64;va_rdev:5,512,32;va_blksize:5,544,32;va_nblocks:5,576,32;va_vcode:5,608,32;;vattr:t161vattr_t:t161rm:t162=eRMDIRECTORY:1,RMFILE:0,;symfollow:t163=eFOLLOW:1,NO_FOLLOW:0,;vcexcl:t164=eEXCL:1,NONEXCL:0,;create:t165=eCRCORE:3,CRMKDIR:2,CRMKNOD:1,CRCREAT:0,;rm_t:t162symfollow_t:t163vcexcl_t:t164create_t:t165vnodeops:T154=s156vop_open:166=*167=f1,0,32;vop_close:168=*169=f1,32,32;vop_read:170=*171=f1,64,32;vop_write:170,96,32;vop_ioctl:172=*173=f1,128,32;vop_setfl:174=*175=f1,160,32;vop_getattr:176=*177=f1,192,32;vop_setattr:176,224,32;vop_access:174,256,32;vop_lookup:178=*179=f1,288,32;vop_create:180=*181=f1,320,32;vop_remove:182=*183=f1,352,32;vop_link:184=*185=f1,384,32;vop_rename:186=*187=f1,416,32;vop_mkdir:188=*189=f1,448,32;vop_rmdir:190=*191=f1,480,32;vop_readdir:192=*193=f1,512,32;vop_symlink:194=*195=f1,544,32;vop_readlink:196=*197=f1,576,32;vop_fsync:198=*199=f1,608,32;vop_inactive:200=*201=f15,640,32;vop_fid:202=*203=f1,672,32;vop_rwlock:204=*205=f15,704,32;vop_rwunlock:204,736,32;vop_seek:206=*207=f1,768,32;vop_cmp:208=*209=f1,800,32;vop_frlock:210=*211=f1,832,32;vop_space:210,864,32;vop_realvp:212=*213=f1,896,32;vop_getpage:214=*215=f1,928,32;vop_putpage:216=*217=f1,960,32;vop_map:218=*219=f1,992,32;vop_addmap:220=*221=f1,1024,32;\vop_delmap:222=*223=f1,1056,32;vop_poll:224=*225=f1,1088,32;vop_dump:226=*227=f1,1120,32;vop_pathconf:228=*229=f1,1152,32;vop_pageio:230=*231=f1,1184,32;vop_dumpctl:232=*233=f1,1216,32;;vnodeops:t154vnodeops_t:t154pollfd:T234=s8fd:1,0,32;events:6,32,16;revents:6,48,16;;pollfd:t234pollfd_t:t234queue:T235=s84q_qinfo:236=*237=xsqinit:,0,32;q_first:238=*239=xsmsgb:,32,32;q_last:238,64,32;q_next:240=*235,96,32;q_link:240,128,32;q_ptr:18,160,32;q_count:5,192,32;q_flag:5,224,32;q_minpsz:3,256,32;q_maxpsz:3,288,32;q_hiwat:5,320,32;q_lowat:5,352,32;q_bandp:241=*242=xsqband:,384,32;q_lock:129,416,64;q_stream:155,480,32;q_syncq:243=*244=xssyncq:,512,32;q_nband:11,544,8;q_wait:140,560,16;q_sync:140,576,16;q_nfsrv:240,608,32;q_nbsrv:240,640,32;;queue:t235queue_t:t235qband:T242=s28qb_next:241,0,32;qb_count:5,32,32;qb_first:238,64,32;qb_last:238,96,32;qb_hiwat:5,128,32;qb_lowat:5,160,32;qb_flag:5,192,32;;qband:t242qband_t:t242qfields:t245=eQBAD:8,QFLAG:7,QLAST:6,QFIRST:5,QCOUNT:4,QMINPSZ:3,QMAXPSZ:2,QLOWAT:1,QHIWAT:0,;qfields_t:t245module_info:T246=s24mi_idnum:8,0,16;mi_idname:24,32,32;mi_minpsz:3,64,32;mi_maxpsz:3,96,32;mi_hiwat:5,128,32;mi_lowat:5,160,32;;module_info:t246qinit:T237=s28qi_putp:93,0,32;qi_srvp:93,32,32;qi_qopen:93,64,32;qi_qclose:93,96,32;qi_qadmin:93,128,32;qi_minfo:247=*246,160,32;qi_mstat:248=*249=xsmodule_stat:,192,32;;qinit:t237streamtab:T250=s16st_rdinit:236,0,32;st_wrinit:236,32,32;st_muxrinit:236,64,32;st_muxwinit:236,96,32;;streamtab:t250linkblk:T251=s12l_qtop:240,0,32;l_qbot:240,32,32;l_index:1,64,32;;linkblk:t251free_rtn:T252=s16free_func:253=*254=f15,0,32;free_arg:24,32,32;free_next:255=*252,64,32;free_flags:1,96,32;;free_rtn:t252datab:T256=s32db_frtnp:255,0,32;db_base:257=*11,32,32;db_lim:257,64,32;db_ref:11,96,8;db_type:11,104,8;db_refmin:11,112,8;db_size:4,128,32;filler:258=ar1;0;7;2,160,64;db_reserved:3,224,32;;datab:t256msgb:T239=s32b_next:238,0,32;b_prev:238,32,32;b_cont:238,64,32;b_rptr:257,96,32;b_wptr:257,128,32;b_datap:259=*256,160,32;b_band:11,192,8;b_flag:8,208,16;b_queue:240,224,32;;msgb:t239mblk_t:t239dblk_t:t256frtn_t:t252iocblk:T260=s40ioc_cmd:1,0,32;ioc_cr:261=*142,32,32;ioc_id:4,64,32;ioc_count:4,96,32;ioc_error:1,128,32;ioc_rval:1,160,32;ioc_filler:262=ar1;0;3;3,192,128;;iocblk:t260copyreq:T263=s44cq_cmd:1,0,32;cq_cr:261,32,32;cq_id:4,64,32;cq_addr:24,96,32;cq_size:4,128,32;cq_flag:1,160,32;cq_private:238,192,32;cq_filler:262,224,128;;copyreq:t263copyresp:T264=s44cp_cmd:1,0,32;cp_cr:261,32,32;cp_id:4,64,32;cp_rval:24,96,32;cp_pad1:4,128,32;cp_pad2:1,160,32;cp_private:238,192,32;cp_filler:262,224,128;;copyresp:t264stroptions:T265=s28so_flags:5,0,32;so_readopt:6,32,16;so_wroff:8,48,16;so_minpsz:3,64,32;so_maxpsz:3,96,32;so_hiwat:5,128,32;so_lowat:5,160,32;so_band:11,192,8;;stroptions:t265str_evmsg:T266=s48sv_event:3,0,32;sv_vp:267=*150,32,32;sv_eid:3,64,32;sv_evpri:3,96,32;sv_flags:3,128,32;sv_uid:3,160,32;sv_pid:3,192,32;sv_hostid:3,224,32;sv_pad:262,256,128;;str_evmsg:t266htonl:f5__arg:P5/usr/local/lib/gcc-lib/sparc-sun-solaris2.3/2.5.8/include/sys/byteorder.hhtons:f8__arg:P4ntohl:f5__arg:P5ntohs:f8__arg:P4in_addr:T268=s4S_un:269=xu._36:,0,32;;in_addr:t268sockaddr_in:T270=s16sin_family:6,0,16;sin_port:8,16,16;sin_addr:268,32,32;sin_zero:258,64,64;;sockaddr_in:t270ip_mreq:T271=s8imr_multiaddr:268,0,32;imr_interface:268,32,32;;ip_mreq:t271hostent:T272=s20h_name:24,0,32;h_aliases:80,32,32;h_addrtype:1,64,32;h_length:1,96,32;h_addr_list:80,128,32;;hostent:t272netent:T273=s16n_name:24,0,32;n_aliases:80,32,32;n_addrtype:1,64,32;n_net:5,96,32;;netent:t273servent:T274=s16s_name:24,0,32;s_aliases:80,32,32;s_port:1,64,32;s_proto:24,96,32;;servent:t274protoent:T275=s12p_name:24,0,32;p_aliases:80,32,32;p_proto:1,64,32;;protoent:t275__7requestPclPT0:f276=*277=xsrequest:this:P276fi:p24freq:p3n:p276web-killer.ccrequest:T277=s12filename:24,0,32;frequency:3,32,32;next:276,64,32;request::278=#277,15,276,1,15;:_._7request;2A.279=##276;:RC7request;2A.280=##276;:PclPT0;2A.;length::281=##1;:;2A.;;request:Tt277_._7request:f15this:P276__in_chrg:p1length__7request:f1this:P276__7requestRC7request:f276this:P276_ctor_arg:P282=&277__14frequency_nodePcl:f283=*284=xsfrequency_node:this:P283f:p24c:p3frequency_node:Tt284=s8filename:24,0,32;cumulative:3,32,32;frequency_node::285=##283;:RC14frequency_node;2A.286=##283;:Pcl;2A.287=##283;:;2A.;;__14frequency_node:f283this:P283__14frequency_nodeRC14frequency_node:f283this:P283_ctor_arg:P288=&284__8selectorP7request:f289=*290=xsselector:this:P289requests:p276i:1selector:Tt290=s12nodes:283,0,32;num_nodes:1,32,32;total_count:3,64,32;selector::291=##289;:RC8selector;2A.292=##289;:P7request;2A.;pick_name::293=##24;:;2A.;;pick_name__8selector:f24this:P289key:1i:1__8selectorRC8selector:f289this:P289_ctor_arg:P294=&290read_requests__FPc:F276filename:p24tmp:276req_file:295=*71request_name:296=ar1;0;1023;2frequency:1active:G1waiting_for_connect:G1threads_left:G1result_wait:G1port:G1verbose:G1headers:G24header_size:G1load_headers__FPc:F15filename:p24sb:75fd:1main:F1argc:p1argv:p80c:2hostname:24config_file:24num_reps:1num_threads:1foo:50requests:276i:1do_requests__FPv:F18arg:p18num_requests:1i:1sin:270buf:297=ar1;0;8191;2sock:1start:32end:32connect_time:13this_one:13fname:24n:1bytes_read:1he:G298=*272result_lock:G63threads_left_lock:G63active_lock:G63total_time:G13total_connect:G13total_bytes:G3total_requests:G3random_names:G289libgcc2.c/opt/src/gcc-2.5.8/./libgcc2.cgcc2_compiled.int:t1=r1;-2147483648;2147483647;char:t2=r2;0;127;long int:t3=r1;-2147483648;2147483647;unsigned int:t4=r1;0;-1;long unsigned int:t5=r1;0;-1;long long int:t6=r1;01000000000000000000000;0777777777777777777777;long long unsigned int:t7=r1;0000000000000;01777777777777777777777;short int:t8=r1;-32768;32767;short unsigned int:t9=r1;0;65535;signed char:t10=r1;-128;127;unsigned char:t11=r1;0;255;float:t12=r1;4;0;double:t13=r1;8;0;long double:t14=r1;16;0;complex int:t15=s8real:1,0,32;imag:1,32,32;;complex float:t16=r16;4;0;complex double:t17=r17;8;0;complex long double:t18=r18;16;0;void:t19=19reg_class:T20=eNO_REGS:0,GENERAL_REGS:1,FP_REGS:2,ALL_REGS:3,LIM_REG_CLASSES:4,;machine_mode:T21=eVOIDmode:0,QImode:1,HImode:2,PSImode:3,SImode:4,PDImode:5,DImode:6,TImode:7,OImode:8,QFmode:9,HFmode:10,SFmode:11,DFmode:12,XFmode:13,TFmode:14,SCmode:15,DCmode:16,XCmode:17,TCmode:18,CQImode:19,CHImode:20,CSImode:21,CDImode:22,CTImode:23,COImode:24,BLKmode:25,CCmode:26,CC_NOOVmode:27,CCFPmode:28,CCFPEmode:29,MAX_MACHINE_MODE:30,;mode_class:T22=eMODE_RANDOM:0,MODE_INT:1,MODE_FLOAT:2,MODE_PARTIAL_INT:3,MODE_CC:4,MODE_COMPLEX_INT:5,MODE_COMPLEX_FLOAT:6,MAX_MODE_CLASS:7,;ptrdiff_t:t1size_t:t4wchar_t:t3UQItype:t11SItype:t1USItype:t4DItype:t6UDItype:t7SFtype:t12DFtype:t13TFtype:t14word_type:t1DIstruct:T23=s8high:1,0,32;low:1,32,32;;DIunion:t24=u8s:23,0,64;ll:6,0,64;;func_ptr:t25=*26=f19__do_global_dtors:F19libgcc2.c/opt/src/gcc-2.5.8/./libgcc2.cgcc2_compiled.int:t1=r1;-2147483648;2147483647;char:t2=r2;0;127;long int:t3=r1;-2147483648;2147483647;unsigned int:t4=r1;0;-1;long unsigned int:t5=r1;0;-1;long long int:t6=r1;01000000000000000000000;0777777777777777777777;long long unsigned int:t7=r1;0000000000000;01777777777777777777777;short int:t8=r1;-32768;32767;short unsigned int:t9=r1;0;65535;signed char:t10=r1;-128;127;unsigned char:t11=r1;0;255;float:t12=r1;4;0;double:t13=r1;8;0;long double:t14=r1;16;0;complex int:t15=s8real:1,0,32;imag:1,32,32;;complex float:t16=r16;4;0;complex double:t17=r17;8;0;complex long double:t18=r18;16;0;void:t19=19reg_class:T20=eNO_REGS:0,GENERAL_REGS:1,FP_REGS:2,ALL_REGS:3,LIM_REG_CLASSES:4,;machine_mode:T21=eVOIDmode:0,QImode:1,HImode:2,PSImode:3,SImode:4,PDImode:5,DImode:6,TImode:7,OImode:8,QFmode:9,HFmode:10,SFmode:11,DFmode:12,XFmode:13,TFmode:14,SCmode:15,DCmode:16,XCmode:17,TCmode:18,CQImode:19,CHImode:20,CSImode:21,CDImode:22,CTImode:23,COImode:24,BLKmode:25,CCmode:26,CC_NOOVmode:27,CCFPmode:28,CCFPEmode:29,MAX_MACHINE_MODE:30,;mode_class:T22=eMODE_RANDOM:0,MODE_INT:1,MODE_FLOAT:2,MODE_PARTIAL_INT:3,MODE_CC:4,MODE_COMPLEX_INT:5,MODE_COMPLEX_FLOAT:6,MAX_MODE_CLASS:7,;ptrdiff_t:t1size_t:t4wchar_t:t3UQItype:t11SItype:t1USItype:t4DItype:t6UDItype:t7SFtype:t12DFtype:t13TFtype:t14word_type:t1DIstruct:T23=s8high:1,0,32;low:1,32,32;;DIunion:t24=u8s:23,0,64;ll:6,0,64;;__builtin_delete:F19ptr:P25=*19libgcc2.c/opt/src/gcc-2.5.8/./libgcc2.cgcc2_compiled.int:t1=r1;-2147483648;2147483647;char:t2=r2;0;127;long int:t3=r1;-2147483648;2147483647;unsigned int:t4=r1;0;-1;long unsigned int:t5=r1;0;-1;long long int:t6=r1;01000000000000000000000;0777777777777777777777;long long unsigned int:t7=r1;0000000000000;01777777777777777777777;short int:t8=r1;-32768;32767;short unsigned int:t9=r1;0;65535;signed char:t10=r1;-128;127;unsigned char:t11=r1;0;255;float:t12=r1;4;0;double:t13=r1;8;0;long double:t14=r1;16;0;complex int:t15=s8real:1,0,32;imag:1,32,32;;complex float:t16=r16;4;0;complex double:t17=r17;8;0;complex long double:t18=r18;16;0;void:t19=19reg_class:T20=eNO_REGS:0,GENERAL_REGS:1,FP_REGS:2,ALL_REGS:3,LIM_REG_CLASSES:4,;machine_mode:T21=eVOIDmode:0,QImode:1,HImode:2,PSImode:3,SImode:4,PDImode:5,DImode:6,TImode:7,OImode:8,QFmode:9,HFmode:10,SFmode:11,DFmode:12,XFmode:13,TFmode:14,SCmode:15,DCmode:16,XCmode:17,TCmode:18,CQImode:19,CHImode:20,CSImode:21,CDImode:22,CTImode:23,COImode:24,BLKmode:25,CCmode:26,CC_NOOVmode:27,CCFPmode:28,CCFPEmode:29,MAX_MACHINE_MODE:30,;mode_class:T22=eMODE_RANDOM:0,MODE_INT:1,MODE_FLOAT:2,MODE_PARTIAL_INT:3,MODE_CC:4,MODE_COMPLEX_INT:5,MODE_COMPLEX_FLOAT:6,MAX_MODE_CLASS:7,;ptrdiff_t:t1size_t:t4wchar_t:t3UQItype:t11SItype:t1USItype:t4DItype:t6UDItype:t7SFtype:t12DFtype:t13TFtype:t14word_type:t1DIstruct:T23=s8high:1,0,32;low:1,32,32;;DIunion:t24=u8s:23,0,64;ll:6,0,64;;vfp:t25=*26=f19__builtin_new:F27=*19sz:P4libgcc2.c/opt/src/gcc-2.5.8/./libgcc2.cgcc2_compiled.int:t1=r1;-2147483648;2147483647;char:t2=r2;0;127;long int:t3=r1;-2147483648;2147483647;unsigned int:t4=r1;0;-1;long unsigned int:t5=r1;0;-1;long long int:t6=r1;01000000000000000000000;0777777777777777777777;long long unsigned int:t7=r1;0000000000000;01777777777777777777777;short int:t8=r1;-32768;32767;short unsigned int:t9=r1;0;65535;signed char:t10=r1;-128;127;unsigned char:t11=r1;0;255;float:t12=r1;4;0;double:t13=r1;8;0;long double:t14=r1;16;0;complex int:t15=s8real:1,0,32;imag:1,32,32;;complex float:t16=r16;4;0;complex double:t17=r17;8;0;complex long double:t18=r18;16;0;void:t19=19reg_class:T20=eNO_REGS:0,GENERAL_REGS:1,FP_REGS:2,ALL_REGS:3,LIM_REG_CLASSES:4,;machine_mode:T21=eVOIDmode:0,QImode:1,HImode:2,PSImode:3,SImode:4,PDImode:5,DImode:6,TImode:7,OImode:8,QFmode:9,HFmode:10,SFmode:11,DFmode:12,XFmode:13,TFmode:14,SCmode:15,DCmode:16,XCmode:17,TCmode:18,CQImode:19,CHImode:20,CSImode:21,CDImode:22,CTImode:23,COImode:24,BLKmode:25,CCmode:26,CC_NOOVmode:27,CCFPmode:28,CCFPEmode:29,MAX_MACHINE_MODE:30,;mode_class:T22=eMODE_RANDOM:0,MODE_INT:1,MODE_FLOAT:2,MODE_PARTIAL_INT:3,MODE_CC:4,MODE_COMPLEX_INT:5,MODE_COMPLEX_FLOAT:6,MAX_MODE_CLASS:7,;ptrdiff_t:t1size_t:t4wchar_t:t3UQItype:t11SItype:t1USItype:t4DItype:t6UDItype:t7SFtype:t12DFtype:t13TFtype:t14word_type:t1DIstruct:T23=s8high:1,0,32;low:1,32,32;;DIunion:t24=u8s:23,0,64;ll:6,0,64;;fpos_t:t3FILE:t25=s16_cnt:1,0,32;_ptr:26=*11,32,32;_base:26,64,32;_flag:11,96,8;_file:11,104,8;;vfp:t27=*28=f19__new_handler:G27__set_new_handler:F27handler:P27set_new_handler:F27handler:P27default_new_handler:f19   v$$ )<< 39' ' |?'' E''L''S''r[**`* * i** n,,$t,,y,85x:xH :<( elf2fY07070100002a14000081a4000000120000000a000000012e1b6d2e0000025a000000200000001800000000000000000000001800000000root/opt/mdma/copyrightCopyright (c) Simon E Spero 1994 All rights reserved THIS PRELIMINARY VERSION MUST NOT BE REDISTRIBUTED WITHOUT PRIOR PERMISSION. Permission is hereby granted to install and use this software for academic and research purposes. If you install the software, you should send electronic mail to ses@unc.edu letting me know that you have done so. In addition, you should report any bugs you discover to the same address. THIS SOFTWARE HAS NO WARRANTY. Simon Spero and The University of North Carolina disclaim all liability for any damages that may accrue as the result of the use of this package. 07070100005b67000041ed000000120000000a000000022e1b742600000000000000200000001800000000000000000000001200000000root/opt/mdma/etc07070100005b68000081a4000000120000000a000000012e1b5c5e00000096000000200000001800000000000000000000001b00000000root/opt/mdma/etc/log.conf# Format is # prefix library args #test /opt/mdma/lib/test-log.so /opt/mdma/adm/access-log test /opt/mdma/lib/dns-log.so /opt/mdma/adm/access-log 07070100005b69000081a4000000120000000a000000012e1b5c07000000de000000200000001800000000000000000000001c00000000root/opt/mdma/etc/mdma.conf# test configuration file for fast HTTP daemon # This files lists the mount points and modules # format # mountpoint symbol object file arguments / file builtin - /dummy sample /opt/mdma/lib/sample_handler.so - 07070100005b6a000081a4000000120000000a000000012e1b5b3d00000d59000000200000001800000000000000000000001d00000000root/opt/mdma/etc/mime.types# This is a comment. I love comments. # This is also a comment. I must admit, they do have some good points application/activemessage application/andrew-inset application/applefile application/atomicmail application/dca-rft application/dec-dx application/mac-binhex40 application/macwriteii application/msword application/news-message-id application/news-transmission application/octet-stream bin application/oda oda application/pdf pdf application/postscript ai eps ps application/remote-printing application/rtf rtf application/slate application/x-mif mif application/wita application/wordperfect5.1 application/x-csh csh application/x-dvi dvi application/x-hdf hdf application/x-latex latex application/x-netcdf nc cdf application/x-sh sh application/x-tcl tcl application/x-tex tex application/x-texinfo texinfo texi application/x-troff t tr roff application/x-troff-man man application/x-troff-me me application/x-troff-ms ms application/x-wais-source src application/zip zip application/x-bcpio bcpio application/x-cpio cpio application/x-gtar gtar application/x-shar shar application/x-sv4cpio sv4cpio application/x-sv4crc sv4crc application/x-tar tar application/x-ustar ustar audio/basic au snd audio/x-aiff aif aiff aifc audio/x-wav wav image/gif gif image/ief ief image/jpeg jpeg jpg jpe image/tiff tiff tif image/x-cmu-raster ras image/x-portable-anymap pnm image/x-portable-bitmap pbm image/x-portable-graymap pgm image/x-portable-pixmap ppm image/x-rgb rgb image/x-xbitmap xbm image/x-xpixmap xpm image/x-xwindowdump xwd image/pdf pdf message/external-body message/news message/partial message/rfc822 multipart/alternative multipart/appledouble multipart/digest multipart/mixed multipart/parallel multipart/script scr text/html html text/plain txt c pl text/richtext rtx text/tab-separated-values tsv text/x-setext etx video/mpeg mpeg mpg mpe audio/x-mpeg mp2 video/quicktime qt mov video/x-msvideo avi video/x-sgi-movie movie 07070100005b6b000081a4000000120000000a000000012e1b5b3d0000046a000000200000001800000000000000000000002100000000root/opt/mdma/etc/mosaic-headersAccept: text/plain Accept: application/x-html Accept: application/html Accept: text/x-html Accept: text/html Accept: audio/x-mpeg Accept: application/x-hdf Accept: application/x-netcdf Accept: application/hdf Accept: application/netcdf Accept: audio/basic Accept: audio/x-aiff Accept: image/gif Accept: image/jpeg Accept: image/tiff Accept: image/x-portable-anymap Accept: image/x-portable-bitmap Accept: image/x-portable-graymap Accept: image/x-portable-pixmap Accept: image/x-rgb Accept: image/rgb Accept: image/x-xbitmap Accept: image/x-xpixmap Accept: image/xwd Accept: image/x-xwd Accept: image/x-xwindowdump Accept: video/mpeg Accept: application/postscript Accept: application/x-dvi Accept: message/rfc822 Accept: application/x-latex Accept: application/x-tex Accept: application/x-texinfo Accept: application/x-troff Accept: application/x-troff-man Accept: application/x-troff-me Accept: application/x-troff-ms Accept: text/richtext Accept: text/tab-separated-values Accept: text/x-setext Accept: */* User-Agent: NCSA Mosaic for the X Window System/2.2 libwww/2.12 modified 07070100005b6c000081a4000000120000000a000000012e1b5b6600000006000000200000001800000000000000000000001f00000000root/opt/mdma/etc/root-request/ 100 070701000000b2000041ed000000120000000a000000022e1b742600000000000000200000001800000000000000000000001300000000root/opt/mdma/html070701000000b4000081a4000000120000000a000000012e1b67040000049b000000200000001800000000000000000000001e00000000root/opt/mdma/html/index.htmlMDMA - Multithreaded Daemon for Multimedia Access


MDMA - Multithreaded Daemon for Multimedia Access

Simon Spero (ses@unc.edu)

What is MDMA

MDMA is a new HTTP server for Solaris. It has been designed for use on very busy servers such as UNC's sunsite, which handle over 100,000 requests a day.

Features

  • Speed. Up to ten times faster than other servers.
  • Multi-threading. All requests are handled by a single process, with much less overhead than if a new process were to be started for each request.
  • Dynamically Extensible MDMA uses BGI - a set of programming conventions that allow the server administrator to dynamically load new functions. These functions allow customised enhancements to operate as quickly and efficiently as standard file requests.
  • System Monitoring MDMA also allows the administrator to customise the functions used to log requests; these functions can be used to generate continuously updated counts of request rates and response times.

MDMA - The speed daemon


07070100001139000041ed000000120000000a000000022e1b742600000000000000200000001800000000000000000000001200000000root/opt/mdma/lib0707010000113a000081a4000000120000000a000000012e1b5ae900000c10000000200000001800000000000000000000001d00000000root/opt/mdma/lib/dns-log.soELF4 4 ( VVXXPPXXP p$X     \8*8@GUX^elV`ctime_r_end__builtin_deletetest_close__builtin_newsprintffclosegethostbyaddr_DYNAMICprintf_edata_PROCEDURE_LINKAGE_TABLE_fopen_etexttest_openfprintftest_message      $( D| 8 8  H H㿐 @@ @` $  @0㿐   @@ P ` @  "     `@\@ (`@ a+opening test-log on %s %d.%d.%d.%d[%s] %s %s %sp  $ p$X    $5\8@NV]kXt{V`dns-log.sodns-log.ccctime_r_end__builtin_deletetest_close__builtin_newsprintffclosegethostbyaddr_DYNAMICprintf_edata_PROCEDURE_LINKAGE_TABLE_fopen_etexttest_openfprintftest_messageas: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8.hash.dynsym.dynstr.rela.text.text.rodata.dynamic.bss.symtab.strtab.comment.shstrtab  pp$$ "(>0XXP9> FN p6W a0707010000113b000081a4000000120000000a000000012e1b5ae900005c54000000200000001800000000000000000000002200000000root/opt/mdma/lib/file_handler.soELF4ZL4 ( >>>>PP>>P50.'/-*&!()%+" # $,00;h>?D     ?D!/L->LTjpvd>-@",$t?D!>(/L(;@Fgetpeernamectime_r_endstrduplog_message__builtin_delete__builtin_newsprintfcurrent_configuration.umul.uremseed_tablemunmapfile_init_DYNAMICprintfstrcatwritemime_headersperrorcloseopenstrcmpext_to_mimefile_handlergettimeofday_edata_PROCEDURE_LINKAGE_TABLE_mmap_etextstrlenfile_umountstatdebugsysconf. .  < <    ,+8\dx. |.  .x >.|.. > .. > . >8. >8./ >P// >P/ +//T /X 0\ 0` 0t001t12<23#383t3#344044#4555P#55#56 6D6l66667 88889(909|9999::4:`::::;;8㿐  € &  J.2 J .  J  㿐  @@ `@@& @& 㿐`@`@     @@` !L `."  L   ` @  #`  @@ h@ |@@` p!@ ` g! @@ 0^ [ Ȑ 'L@P X@L  #\ L #`P@ Ȑ@ @ ;!@  @      *@@@ !@   @ &@  @  ȁ㿐@㿐   , @s@  &㿐@ 㿐N@    @L`@ L` @* @o@ @@@O @]@ 㿐   , @3  㿐 `@M `@㿐& .`@ "  @H &㿐 @<㿐 @5㿐 @8 &@ @} &㿐  @H 2 㿐 `@L `@"㿐@   㿐@ & 6  @ @>  & @ @/ & 㿐@  4   2 㿐 " @  " @  ` `@"" " 㿐   @ 2 㿐@ 2    @@㿐  @ 2 @ @ @@02 㿐  @    @ @q"` "@㿐  @ @ $  @ @O"` "@ 㿐@ @A㿐@ @7`?㿐" ` `` @`@ @&@㿐@    @ &" "    "" " "   2  %JJ`" JJ@"J 2J@   (ޒ`ܐ  㿐N@N`" LL @" L 2NN 2,L` "g$`  Ȑ@ @[$` 2L@@ @``@}L`*`" @@@$@A$` @uN`* @  @ @ @Z N `*`$" @Z@ @ @H N`*`" @ @``@:L`*`" @@$` 㿐 " @  "    U@ @  `  , @    $ @ `@㿐@&& & 㿐   @$&  * " 㿐  € & 㿐  @㿐@㿐   , @s@  &㿐@ 㿐N@    @L`@ L` @* @o@ @@@O @]@ 㿐   , @3  㿐 `@M `@㿐& .`@ "  @H &㿐 @<㿐 @5㿐 @8 &@ @} &㿐  @H 2 㿐 `@L `@"㿐@   㿐@ & 6  @ @>  & @ @/ & 㿐@  4   2 㿐 " @  " @  ` `@"" " 㿐   @ 2 㿐@ 2    @@㿐  @ 2 @ @ @@02 㿐  @    @ @q"` "@㿐  @ @ $  @ @O"` "@ 㿐@ @A㿐@ @7`?㿐" ` `` @`@ @&@㿐@    @ &" "    "" " "   2  %JJ`" JJ@"J 2J@   (ޒ`ܐ  㿐N@N`" LL @" L 2NN 2,L` "g$`  @ @[$` 2L@@ @``@}L`*`" @@@$@A$` @uN`* @  @ @ @Z N `*`$" @Z@ @ @H N`*`" @ @``@:L`*`" @@$` 㿐 " @  "    @@ @  `  , @    $ @ `@㿐@&& & 㿐   @$&  * " ?ch'T#?@`@`@` @``@T T?cؒ @ (@`? / /``@@`@@㿐  € & 㿀\ ` @  @ #\#`#d` ` 㿐@㿐   , @s@  &㿐@ 㿐N@    @L`@ L` @* @o@ @@@O @]@ 㿐   , @3  㿐 `@M `@㿐& .`@ "  @H &㿐 @<㿐 @5㿐 @8 &@ @} &㿐  @H 2 㿐 `@L `@"㿐@   㿐@ & 6  @ @>  & @ @/ & 㿐@  4   2 㿐 " @  " @  ` `@"" " 㿐   @ 2 㿐@ 2    @@㿐  @ 2 @ @ @@02 㿐  @    @ @q"` "@㿐  @ @ $  @ @O"` "@ 㿐@ @A㿐@ @7`?㿐" ` `` @`@ @&@㿐@    @ &" "    "" " "   2  %JJ`" JJ@"J 2J@   (ޒ`ܐ  㿐N@N`" LL @" L 2NN 2,L` "g$`  @ @[$` 2L@@ @``@}L`*`" @@@$@A$` @uN`* @  @ @ @Z N `*`$" @Z@ @ @H N`*`" @ @``@:L`*`" @@$` 㿐 " @  "    )@ @  `  , @    $ @ `@㿐@&& & 㿐   @$&  * " open: %s %s_initinit: %s %s_umountumount: %s %s_handlerhandler: %s %s_open%s: %s %s_close%s_messagemounting file handler on %s with args %s file handler called to %s on %s, using version %s 0.9GET%s/%strying pathname %s stat error for %s stat/index.htmlopen:text/htmlmmap:munmap:open: %s %s_initinit: %s %s_umountumount: %s %s_handlerhandler: %s %s_open%s: %s %s_close%s_messageHTTP/1.0 200 OK Server: MDMA/0.1 MIME-version: 1.0 Content-type: %s text/htmlContent-Encoding: %s Last-Modified: %sContent-Length: %d open: %s %s_initinit: %s %s_umountumount: %s %s_handlerhandler: %s %s_open%s: %s %s_close%s_message0 N0  00;h>?D    !H<HPkp8L` D0< x%89<@Vlhw\<D,4L|hd8(0:(LN! t$48p88F!Do  ($$H""P0)8I),`c,"hD'<%X#8&@'Lh#&A(<m&<#D")&\h)8D*t((%`0%$L- +$T$A$4X)}*%P%8'-D "  2(( b$x$ ~  2H 0( / 78 6` :L 5/D M4< i2 1L8 3@ 4h 4@ 5 !4P< Q1D o0D 6 3h 7\8 88 (6@( W20 y3  1L ;  1$ 2`4 7@ 17 V2 g28 y50 ;$D /,  6h(1$2>F?DKR/L^o}d>-@",$t,?D3MR>Y`L(lqwfile_handler.sofile_handler.ccinsert__t9hash_list1ZcPcT1allow_filename__FPclookup__t10hash_table1ZcPc__vc__t10hash_table1ZcPc__t5dlist1Z11log_handler_._t5dlist1Z11log_handler_._t9trie_node1Z11bgi_handlerprint__t10hash_table1Zcpop__t5dlist1Z11log_handlerprint__t14hash_list_node1Zc_._t10hash_table1Zcfind__t14hash_list_node1ZcPcremove__t5dlist1Z11log_handlerPc__t14hash_list_node1ZcPcT1PT0add__t5dlist1Z11log_handlerPcP11log_handlermap__t5dlist1Z11log_handlerPFPcP11log_handler_vmap__t10hash_table1ZcPFPcPc_v_lookup__t10hash_table1ZcPciisempty__t5dlist1Z11log_handler_._t14hash_list_node1Zc__t10dlist_node1Z11log_handlerPcP11log_handlerPT0T3add__t9trie_node1Z11bgi_handlerPcP11bgi_handlerappend__t5dlist1Z11log_handlerPcP11log_handlermap__t14hash_list_node1ZcPFPcPc_vinsert__t14hash_list_node1ZcPcT1__t10hash_table1Zci__t9trie_node1Z11bgi_handlerPcP11bgi_handlerPPT0print__t9hash_list1Zcfind__t9hash_list1ZcPcunlink__t10dlist_node1Z11log_handlerlookup__t9trie_node1Z11bgi_handlerPc__t9hash_list1Zc_._t9hash_list1Zcfind__t5dlist1Z11log_handlerPcP11log_handlerensure_table__t9trie_node1Z11bgi_handlerunmount__11bgi_handlerprepend__t5dlist1Z11log_handlerPcP11log_handlermap__t9hash_list1ZcPFPcPc_vext_to_mime.ccinsert__t9hash_list1ZcPcT1lookup__t10hash_table1ZcPc__vc__t10hash_table1ZcPc__t5dlist1Z11log_handler_._t5dlist1Z11log_handler_._t9trie_node1Z11bgi_handlerprint__t10hash_table1Zcpop__t5dlist1Z11log_handlerprint__t14hash_list_node1Zc_._t10hash_table1Zcfind__t14hash_list_node1ZcPcremove__t5dlist1Z11log_handlerPc__t14hash_list_node1ZcPcT1PT0add__t5dlist1Z11log_handlerPcP11log_handlermap__t5dlist1Z11log_handlerPFPcP11log_handler_vmap__t10hash_table1ZcPFPcPc_v_lookup__t10hash_table1ZcPciisempty__t5dlist1Z11log_handler_._t14hash_list_node1Zc__t10dlist_node1Z11log_handlerPcP11log_handlerPT0T3add__t9trie_node1Z11bgi_handlerPcP11bgi_handlerappend__t5dlist1Z11log_handlerPcP11log_handlermap__t14hash_list_node1ZcPFPcPc_vinsert__t14hash_list_node1ZcPcT1__t10hash_table1Zci__t9trie_node1Z11bgi_handlerPcP11bgi_handlerPPT0print__t9hash_list1Zcfind__t9hash_list1ZcPcunlink__t10dlist_node1Z11log_handlerlookup__t9trie_node1Z11bgi_handlerPc__t9hash_list1Zc_._t9hash_list1Zcfind__t5dlist1Z11log_handlerPcP11log_handlerensure_table__t9trie_node1Z11bgi_handlerunmount__11bgi_handlerprepend__t5dlist1Z11log_handlerPcP11log_handlermap__t9hash_list1ZcPFPcPc_vmime_headers.cclog.ccinsert__t9hash_list1ZcPcT1lookup__t10hash_table1ZcPc__vc__t10hash_table1ZcPc__t5dlist1Z11log_handler_._t5dlist1Z11log_handler_._t9trie_node1Z11bgi_handlerprint__t10hash_table1Zcpop__t5dlist1Z11log_handlerprint__t14hash_list_node1Zc_._t10hash_table1Zcfind__t14hash_list_node1ZcPcremove__t5dlist1Z11log_handlerPc__t14hash_list_node1ZcPcT1PT0add__t5dlist1Z11log_handlerPcP11log_handlermap__t5dlist1Z11log_handlerPFPcP11log_handler_vmap__t10hash_table1ZcPFPcPc_v_lookup__t10hash_table1ZcPciisempty__t5dlist1Z11log_handler_._t14hash_list_node1Zc__t10dlist_node1Z11log_handlerPcP11log_handlerPT0T3add__t9trie_node1Z11bgi_handlerPcP11bgi_handlerappend__t5dlist1Z11log_handlerPcP11log_handlermap__t14hash_list_node1ZcPFPcPc_vinsert__t14hash_list_node1ZcPcT1__t10hash_table1Zci__t9trie_node1Z11bgi_handlerPcP11bgi_handlerPPT0print__t9hash_list1Zcfind__t9hash_list1ZcPcunlink__t10dlist_node1Z11log_handlerlookup__t9trie_node1Z11bgi_handlerPc__t9hash_list1Zc_._t9hash_list1Zcfind__t5dlist1Z11log_handlerPcP11log_handlerensure_table__t9trie_node1Z11bgi_handlerunmount__11bgi_handlerprepend__t5dlist1Z11log_handlerPcP11log_handlermap__t9hash_list1ZcPFPcPc_vgetpeernamectime_r_endstrduplog_message__builtin_delete__builtin_newsprintfcurrent_configuration.umul.uremseed_tablemunmapfile_init_DYNAMICprintfstrcatwritemime_headersperrorcloseopenstrcmpext_to_mimefile_handlergettimeofday_edata_PROCEDURE_LINKAGE_TABLE_mmap_etextstrlenfile_umountstatdebugsysconfas: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8.hash.dynsym.dynstr.rela.text.text.rodata.dynamic.bss.symtab.strtab.comment.shstrtab 00 00N  "((;h;h0>>P9?D?D>?D P FINYWYa0707010000113c000081a4000000120000000a000000012e1b5b75000054b4000000200000001800000000000000000000001b00000000root/opt/mdma/lib/libbgi.a! / 773543748 0 0 0 196 `  &P****4:getline__FP4FILEPisplitsplit_anyext_to_mimehttp_errorunlock_bgi_mutexcreate_bgi_mutexlock_bgi_mutexfree_bgi_mutexmime_headerslog_messagegetline.o/ 773543772 18 10 100644 1216 ` ELF4(.shstrtab.text.symtab.strtab.rela.text.comment㿀@ P'' P'@O`  `#`@ &@ @` 퀢0*`@'` !/? " @@@''''@*`@ &@@` Ԁ` Ӏ` @쀢@*@@   !(;@getline.cc__builtin_newmemcpyungetcgetline__FP4FILEPigetc__builtin_delete`@`as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.845 lQ! ,p6split.o/ 773543773 18 10 100644 1696 ` ELF4(.shstrtab.text.symtab.strtab.rela.text.comment㿀 '@ ''N FN K*: @; K  J    ,"( .@2@* 䀢  *@ "@`@ &@ @' ' '* "*`"   ѐ %@2@* 䀢  *@ "@`@ &@ @' ' '* "*`" 㿀 '@ ''N?J*`: 6J   ,"( .@2@* 䀢  *@ "@`@ &@ @' ' '* "*`"  ð ѐ %@2@* 䀢  *@ "@`@ &@ @' ' '* "*`"  %/split.cc__builtin_newmemcpysplitsplit_any__builtin_delete d,has: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.845 l@!x ,P6ext_to_mime.o/ 773543780 18 10 100644 6452 ` ELF4(.shstrtab.text.rodata.symtab.strtab.rela.text.comment㿐  € & 㿐  @㿐@㿐   , @s@  &㿐@ 㿐N@    @L`@ L` @* @o@ @@@O @]@ 㿐   , @3  㿐 `@M `@㿐& .`@ "  @H &㿐 @<㿐 @5㿐 @8 &@ @} &㿐  @H 2 㿐 `@L `@"㿐@   㿐@ & 6  @ @>  & @ @/ & 㿐@  4   2 㿐 " @  " @  ` `@"" " 㿐   @ 2 㿐@ 2    @@㿐  @ 2 @ @ @@02 㿐  @    @ @q"` "@㿐  @ @ $  @ @O"` "@ 㿐@ @A㿐@ @7`?㿐" ` `` @`@ @&@㿐@    @ &" "    "" " "   2  %JJ`" JJ@"J 2J@   (ޒ`ܐ  㿐N@N`" LL @" L 2NN 2,L` "g$`  @ @[$` 2L@@ @``@}L`*`" @@@$@A$` @uN`* @  @ @ @Z N `*`$" @Z@ @ @H N`*`" @ @``@:L`*`" @@$` 㿐 " @  "    @@ @  `  , @    $ @ `@㿐@&& & 㿐   @$&  * " open: %s %s_initinit: %s %s_umountumount: %s %s_handlerhandler: %s %s_open%s: %s %s_close%s_messageH+FD_8x ` \D<L8@1@hRp0<D'Ph?8s(T0L) | ZH$p4 D 8! DJ a(l$ $ext_to_mime.ccinsert__t9hash_list1ZcPcT1lookup__t10hash_table1ZcPc__vc__t10hash_table1ZcPc__t5dlist1Z11log_handler_._t5dlist1Z11log_handler_._t9trie_node1Z11bgi_handlerprint__t10hash_table1Zcpop__t5dlist1Z11log_handlerprint__t14hash_list_node1Zc_._t10hash_table1Zcfind__t14hash_list_node1ZcPcremove__t5dlist1Z11log_handlerPc__t14hash_list_node1ZcPcT1PT0add__t5dlist1Z11log_handlerPcP11log_handlermap__t5dlist1Z11log_handlerPFPcP11log_handler_vmap__t10hash_table1ZcPFPcPc_v_lookup__t10hash_table1ZcPciisempty__t5dlist1Z11log_handler_._t14hash_list_node1Zc__t10dlist_node1Z11log_handlerPcP11log_handlerPT0T3add__t9trie_node1Z11bgi_handlerPcP11bgi_handlerappend__t5dlist1Z11log_handlerPcP11log_handlermap__t14hash_list_node1ZcPFPcPc_vinsert__t14hash_list_node1ZcPcT1__t10hash_table1Zci__t9trie_node1Z11bgi_handlerPcP11bgi_handlerPPT0print__t9hash_list1Zcfind__t9hash_list1ZcPcunlink__t10dlist_node1Z11log_handlerlookup__t9trie_node1Z11bgi_handlerPc__t9hash_list1Zc_._t9hash_list1Zcfind__t5dlist1Z11log_handlerPcP11log_handlerensure_table__t9trie_node1Z11bgi_handlerunmount__11bgi_handlerprepend__t5dlist1Z11log_handlerPcP11log_handlermap__t9hash_list1ZcPFPcPc_v__builtin_newext_to_mimeseed_table.umul.uremstrcmpstrdupcurrent_configuration__builtin_delete$0 (0 + + ,-D/1))41.)).d1|1101\.p1x11.)P.d1)))D1P1X1p1) <1 D1 h) t/ 1 / ) / <) H/ t) / 1 1 1 1 X1 l1 / )as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.84= t  X  )!)( 46http_error.o/ 773543775 18 10 100644 1040 ` ELF4(.shstrtab.rodata.text.symtab.strtab.rela.text.commentError %d has occured HTTP/1.0 %d Something broke MIME-Version: 1.0 Content-Type: text/html

Error %d

?c ?@@` ??@`@ ?@ @#.http_error.ccmemcpywritestrlenhttp_errorsprintf$ (, D H L`pas: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.84= xxp!6)8` 46bgi_mutex.o/ 773543779 18 10 100644 2508 ` ELFd4( .shstrtab.text.rodata.symtab.strtab.rela.text.rela.rodata.comment㿐 `&@ @㿐  R €@ 㿐 `&@㿐 & (@ `@ 㿐@  @ 㿐@ 㿐@㿐@ 44x@G^|(q0`H4@8( &=,N[$lbgi_mutex.cclog_error__FPce_._16shared_condition_vt.12thread_class_vt.16shared_condition_._13daemon_threadtest__16shared_conditionoptions__12thread_class_vt.13daemon_threadpanic__12thread_classafter__12thread_classbefore__12thread_class_._12thread_class__builtin_newcond_destroyexit__12thread_classPvunlock_bgi_mutexmutex_unlockcreate_bgi_mutexrun__13daemon_threadafter__13daemon_threadlock_bgi_mutexmutex_lockmutex_initfree_bgi_mutex__builtin_deletethr_exitabortbefore__13daemon_thread x x l x x 0 $|,04<DHLT\dlt08@Has: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.84J @x!x)| 4< A,6mime_headers.o/ 773543782 18 10 100644 1556 ` ELF4(.shstrtab.rodata.text.symtab.strtab.rela.text.commentHTTP/1.0 200 OK Server: MDMA/0.1 MIME-version: 1.0 Content-type: %s text/htmlContent-Encoding: %s Last-Modified: %sContent-Length: %d ?ch'T#?@`@`@` @``@T T?cؒ @ (@`? / /``@@`@@@$+3mime_headers.ccmime_headerswritestrlensprintfctime_r  $( 4 8< H 0LP 0` `d `l Hpt H p p       0as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.84= x4@t!;)@\ 46log.o/ 773543786 18 10 100644 6532 ` ELFD4(.shstrtab.text.rodata.symtab.strtab.rela.text.comment㿐  € & 㿀\ ` @  @ #\#`#d` ` 㿐@㿐   , @s@  &㿐@ 㿐N@    @L`@ L` @* @o@ @@@O @]@ 㿐   , @3  㿐 `@M `@㿐& .`@ "  @H &㿐 @<㿐 @5㿐 @8 &@ @} &㿐  @H 2 㿐 `@L `@"㿐@   㿐@ & 6  @ @>  & @ @/ & 㿐@  4   2 㿐 " @  " @  ` `@"" " 㿐   @ 2 㿐@ 2    @@㿐  @ 2 @ @ @@02 㿐  @    @ @q"` "@㿐  @ @ $  @ @O"` "@ 㿐@ @A㿐@ @7`?㿐" ` `` @`@ @&@㿐@    @ &" "    "" " "   2  %JJ`" JJ@"J 2J@   (ޒ`ܐ  㿐N@N`" LL @" L 2NN 2,L` "g$`  @ @[$` 2L@@ @``@}L`*`" @@@$@A$` @uN`* @  @ @ @Z N `*`$" @Z@ @ @H N`*`" @ @``@:L`*`" @@$` 㿐 " @  "    )@ @  `  , @    $ @ `@㿐@&& & 㿐   @$&  * " open: %s %s_initinit: %s %s_umountumount: %s %s_handlerhandler: %s %s_open%s: %s %s_close%s_messageH#>W8p|` D`< 8 l@)hJh$<Ddh708k (0 XL! R$h44hh8 DB Y<($ log.ccinsert__t9hash_list1ZcPcT1lookup__t10hash_table1ZcPc__vc__t10hash_table1ZcPc__t5dlist1Z11log_handler_._t5dlist1Z11log_handler_._t9trie_node1Z11bgi_handlerprint__t10hash_table1Zcpop__t5dlist1Z11log_handlerprint__t14hash_list_node1Zc_._t10hash_table1Zcfind__t14hash_list_node1ZcPcremove__t5dlist1Z11log_handlerPc__t14hash_list_node1ZcPcT1PT0add__t5dlist1Z11log_handlerPcP11log_handlermap__t5dlist1Z11log_handlerPFPcP11log_handler_vmap__t10hash_table1ZcPFPcPc_v_lookup__t10hash_table1ZcPciisempty__t5dlist1Z11log_handler_._t14hash_list_node1Zc__t10dlist_node1Z11log_handlerPcP11log_handlerPT0T3add__t9trie_node1Z11bgi_handlerPcP11bgi_handlerappend__t5dlist1Z11log_handlerPcP11log_handlermap__t14hash_list_node1ZcPFPcPc_vinsert__t14hash_list_node1ZcPcT1__t10hash_table1Zci__t9trie_node1Z11bgi_handlerPcP11bgi_handlerPPT0print__t9hash_list1Zcfind__t9hash_list1ZcPcunlink__t10dlist_node1Z11log_handlerlookup__t9trie_node1Z11bgi_handlerPc__t9hash_list1Zc_._t9hash_list1Zcfind__t5dlist1Z11log_handlerPcP11log_handlerensure_table__t9trie_node1Z11bgi_handlerunmount__11bgi_handlerprepend__t5dlist1Z11log_handlerPcP11log_handlermap__t9hash_list1ZcPFPcPc_v__builtin_newseed_table.umul.uremstrcmpstrdupcurrent_configuration__builtin_deletelog_message(/ ,/ 0* 4* H+d,.H0d))0- )H)t-0000-000$-X)-0))@)0000) 0 0 ) . 0 . P) \. ) . ) . 0 40 d0 l0 0 0 . )as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.84= t <  L )!l )x 4 60707010000113d000081a4000000120000000a000000012e1b5ae90000348c000000200000001800000000000000000000002400000000root/opt/mdma/lib/sample_handler.soELF42\4 ( """"PP""P575,)$46 (#!/2+&-.%*1"'03L  ""l      "l!->LR_g}h"H@!6<(E]dq"lx("|D$getpeernamectime_r_endstrduplog_message__builtin_delete__builtin_newabortcond_destroysprintfcurrent_configurationafter__13daemon_threadfree_bgi_mutex.umul.uremseed_tableexit__12thread_classPvthr_exit_DYNAMICsample_initprintfmutex_lockwritemime_headersmutex_unlockrun__13daemon_threadsample_handlerbefore__13daemon_threadstrcmpgettimeofday_edata_PROCEDURE_LINKAGE_TABLE_sample_umount_etextmemcpystrlenunlock_bgi_mutexdebuglock_bgi_mutexcreate_bgi_mutexmutex_init3 3   "  5,@4X2`3 d3    P P"+  %  $ ( ,< @D T$p t      ,HX6l#&       !  !  ! !, !00 !04\l !Hpt !H !` !` !x !x1$     ,H,Ht*,X*p**<*$|4@|HP  < , 4 <) D L T' \ d l t | l      㿐 @ @ @&& 㿐@ h@ & @     @ '@ @Ԁ   #\ #`@ Ȓ   @ `@`@@` @$  㿐 `&@ @㿐  R €@ 㿐 `&@㿐 & (@ `@ 㿐@  @ 㿐@ 㿐@㿐@?ch'T#?@`@`@` @``@T T?cؒ @ (@`? / /``@@`@@㿐  € & 㿀\ ` @  @ #\#`#d` ` 㿐@㿐   , @s@  &㿐@ 㿐N@    @L`@ L` @* @o@ @@@O @]@ 㿐   , @3  㿐 `@M `@㿐& .`@ "  @H &㿐 @<㿐 @5㿐 @8 &@ @} &㿐  @H 2 㿐 `@L `@"㿐@   㿐@ & 6  @ @>  & @ @/ & 㿐@  4   2 㿐 " @  " @  ` `@"" " 㿐   @ 2 㿐@ 2    @@㿐  @ 2 @ @ @@02 㿐  @    @ @q"` "@㿐  @ @ $  @ @O"` "@ 㿐@ @A㿐@ @7`?㿐" ` `` @`@ @&@㿐@    @ &" "    "" " "   2  %JJ`" JJ@"J 2J@   (ޒ`ܐ  㿐N@N`" LL @" L 2NN 2,L` "g$`  @ @[$` 2L@@ @``@}L`*`" @@@$@A$` @uN`* @  @ @ @Z N `*`$" @Z@ @ @H N`*`" @ @``@:L`*`" @@$` 㿐 " @  "    )@ @  `  , @    $ @ `@㿐@&& & 㿐   @$&  * " mounting sample handler on %s with args %s sample handler called to %s on %s, using version %s 0.9text/html

How many have I served?

The answer is %d

back to the start  HTTP/1.0 200 OK Server: MDMA/0.1 MIME-version: 1.0 Content-type: %s text/htmlContent-Encoding: %s Last-Modified: %sContent-Length: %d open: %s %s_initinit: %s %s_umountumount: %s %s_handlerhandler: %s %s_open%s: %s %s_close%s_message L , L  ""l     %2dB4X @k (< `4l(/?FHa|8``DD<68JP@ghp<D =H]hu8(0*K<L_ $4LL8*WD  ($"l .4AI_vh"H@<('?FS"lZt("|D$sample_handler.sosample_handler.ccbgi_mutex.cclog_error__FPce_._16shared_condition_vt.12thread_class_vt.16shared_condition_._13daemon_threadtest__16shared_conditionoptions__12thread_class_vt.13daemon_threadpanic__12thread_classafter__12thread_classbefore__12thread_class_._12thread_classmime_headers.cclog.ccinsert__t9hash_list1ZcPcT1lookup__t10hash_table1ZcPc__vc__t10hash_table1ZcPc__t5dlist1Z11log_handler_._t5dlist1Z11log_handler_._t9trie_node1Z11bgi_handlerprint__t10hash_table1Zcpop__t5dlist1Z11log_handlerprint__t14hash_list_node1Zc_._t10hash_table1Zcfind__t14hash_list_node1ZcPcremove__t5dlist1Z11log_handlerPc__t14hash_list_node1ZcPcT1PT0add__t5dlist1Z11log_handlerPcP11log_handlermap__t5dlist1Z11log_handlerPFPcP11log_handler_vmap__t10hash_table1ZcPFPcPc_v_lookup__t10hash_table1ZcPciisempty__t5dlist1Z11log_handler_._t14hash_list_node1Zc__t10dlist_node1Z11log_handlerPcP11log_handlerPT0T3add__t9trie_node1Z11bgi_handlerPcP11bgi_handlerappend__t5dlist1Z11log_handlerPcP11log_handlermap__t14hash_list_node1ZcPFPcPc_vinsert__t14hash_list_node1ZcPcT1__t10hash_table1Zci__t9trie_node1Z11bgi_handlerPcP11bgi_handlerPPT0print__t9hash_list1Zcfind__t9hash_list1ZcPcunlink__t10dlist_node1Z11log_handlerlookup__t9trie_node1Z11bgi_handlerPc__t9hash_list1Zc_._t9hash_list1Zcfind__t5dlist1Z11log_handlerPcP11log_handlerensure_table__t9trie_node1Z11bgi_handlerunmount__11bgi_handlerprepend__t5dlist1Z11log_handlerPcP11log_handlermap__t9hash_list1ZcPFPcPc_vgetpeernamectime_r_endstrduplog_message__builtin_delete__builtin_newabortcond_destroysprintfcurrent_configurationafter__13daemon_threadfree_bgi_mutex.umul.uremseed_tableexit__12thread_classPvthr_exit_DYNAMICsample_initprintfmutex_lockwritemime_headersmutex_unlockrun__13daemon_threadsample_handlerbefore__13daemon_threadstrcmpgettimeofday_edata_PROCEDURE_LINKAGE_TABLE_sample_umount_etextmemcpystrlenunlock_bgi_mutexdebuglock_bgi_mutexcreate_bgi_mutexmutex_initas: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8.hash.dynsym.dynstr.rela.text.rela.rodata.text.rodata.dynamic.bss.symtab.strtab.comment.shstrtab LLp< "  /@5  =""PF"l"lK"l DS)<[1d1n0707010000113e000081a4000000120000000a000000012e1b5aea00000ba4000000200000001800000000000000000000001e00000000root/opt/mdma/lib/test-log.soELF4 4 ( PPP \X     X,8*8@GPWX^x~`ddctime_r_end__builtin_deletetest_close__builtin_newsprintffclose_DYNAMICprintf_edata_PROCEDURE_LINKAGE_TABLE_fopen_etexttest_openfprintftest_message    LT     㿐 @@ @` $  @0㿐   @@ P` ` ` ` `@`\@ (`@ a+opening test-log on %s %d.%d.%d.%d[%s] %s %s %s\   \X    !X&7,8BPX_hoXv`ddtest-log.sotest-log.ccctime_r_end__builtin_deletetest_close__builtin_newsprintffclose_DYNAMICprintf_edata_PROCEDURE_LINKAGE_TABLE_fopen_etexttest_openfprintftest_messageas: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8.hash.dynsym.dynstr.rela.text.text.rodata.dynamic.bss.symtab.strtab.comment.shstrtab  \\ "(>0P9XX>X FHN 6W :a070701000021e9000041ed000000120000000a000000022e1b742600000000000000200000001800000000000000000000001300000000root/opt/mdma/sbin070701000021ea000081a4000000120000000a000000012e1b5b0200013b9c000000200000001800000000000000000000001900000000root/opt/mdma/sbin/httpdELFT474 (44ZZ\\``/usr/lib/ld.so.1VIw9bcgS7slH:m!^pr"0Z>Txy&`hB<t'6zEP|K;{YG2C/iFvJ_X*oUQ$)#.,1O-WN8R ]LA[%\kjaf=Md4@D}n3?+q5(~ue<Tx    \ `Tp Tt$05<AhNS a$s {pD4Đ@!l\@ x `8D x+289D>|\@b8ihv|~{DpĄy (lĈ d\yH5<HXO`[lb\kh0du~xP`Đ@`$y``P L@'p!/6@E,JyX_te)Hx4lH0y|@@ $40 h-0:@pGaLgnduxTRP  Z |$x !  x(2>7>Eh(QV8d$npvx <}@(T Xsocketgetopt__DTOR_LIST___startsigemptysetreadgetpeernamenum_builtinsatoi__CTOR_LIST____set_new_handlerctime_r_environ_endstrdup_iobthr_setpriolog_messagedlclose__new_handler_GLOBAL_OFFSET_TABLE_sleepsigaction__builtin_delete__ctype__builtin_newabortsigignorethr_createacceptatexitexitget_connection__11inet_daemonsplitmalloccond_destroysprintfbindfork1_initsigholdsetup__11inet_daemoncurrent_configurationsetsockoptafter__13daemon_threaddup.umul.uremseed_tablelisten_idsetup__11http_daemonexit__12thread_classPvungetccond_signalfclosesys_errlistmunmapthr_exitfile_initthr_killstart_thread__FP12thread_class_DYNAMICprintf__iob_sys_errlistexecvmutex_lockstrcatset_priority__12thread_classiwritehttp_error_exitmime_headersmutex_unlockenvironperrorsetrlimitgetcfreerun__13daemon_threadcloseload_configuration__18http_configurationPcN31ithread_support_proc__FPvopenoptarg___errnobefore__13daemon_threadstrcmpext_to_mimegetrlimitlisten_threadnew_child__11http_daemonPvfile_handlergettimeofdaydlsym_edata_PROCEDURE_LINKAGE_TABLE_fopenmemsetdlopen__do_global_dtorsmmaphandle_http__FiP18http_configuration__CTOR_END__strcpy_etext_lib_version__do_global_ctorsteardown__11inet_daemon_ctype__DTOR_END__signal__16shared_conditionmainmemcpystrlenfile_umountstatsecret_socketsplit_anydlerrorset_new_handler_finiglob_argvgetline__FP4FILEPiglob_argcget_connection__11http_daemonlistenfprintfdebugthr_selfsysconfsigrelsebuiltinslibsocket.so.1libnsl.so.1libdl.so.1libthread.so.1libc.so.1p&ĐY 0nx2Q88D9Pa\Sh=tj*BU@GX[e0H(I4(@qL{XPd}p|>x,sf"5 $]0w< HmT`_lRx6\Oco|E?7/gN %,h8<D4 @D# @erg"x@en@!, @ p"@ N@ec@ed㿐gb'`  'g`@eC㿐h!`&@  @㿐  R €@e- 㿐h!`&@ 㿐h & (@e `@   A㿐h!`&@ 㿐  € & 㿐h!`&@ o㿐 gc@d&h!`&@ `㿐@d@d  @   㿐@d @5@d 㿐 4@d #`   g@dؒc@`@dؒ0>@d  @d@d 04"g@d @d͐g@d͐#p! @ @ (*   @   <  @ "@ ` 8 **g#" *"@d g@d#@d| p@w@d@d dG 'Ԑ 'А@d@d  @d 㿐@ g c"@" " 㿐@㿐   , @s@  &㿐@ 㿐N@  "l @L`@da L` @d]* @o@ @dQ@@O @]@ 㿐   , @3  㿐 `@M `@j㿐& .`@k "  @H &㿐 @<㿐 @5㿐 @8 &@@ @} &㿐  @H 2 㿐 `@L `@"㿐@   㿐@c & 6  @ @>  & @ @/ & 㿐@c  4   2 㿐 " @  " @  ` `@"" " 㿐   @ 2 㿐@ 2    @@㿐  @cN 2 @ @ @@02 㿐  @c3    @n @q"` "@㿐  @c @L $  @L @O"` "@ 㿐@> @A㿐@4 @7`?㿐" ` `` @`@ @&@ 㿐@     @ &" "    "" " "   2  %JJ`" JJ@"J 2J@   (ޒ`ܐ  㿐N@N`" LL @" L 2NN 2,L` "g$`  @ @[$` 2L@@ @bE``@}L`*`" @}@@b8$@A$` @uN`* @  @p @b" @Z N `*`$" @Z@^ @b @H N`*`" @P @b``@:L`*`" @:@$` 㿐 " @/  "    @# @!  `  , @    $ @ `@ 㿐@a&& & 㿐   @$&  * " 㿐  € & 㻀'& @a&h@aa谒2' ha@aph@a!H@a ?@쮒hb@ =   ` 8h @apbX 2Y   "h@GbX @ab  2> `bX     @ &&@aJ&& € &?0@Ɣ ? @q @o?  h"` @a 0`"h@|h" @`0  `@a 2 @ah@`!Pa?ha`@a@a覒 @ah@`ܐ!h0"hax@`@`褒 @`h@`ː!0ha@`@`袒 @`h@`!@`+?@ $$ $ @`Ð$ € $  ?0@?  ?  @ @? m@@ސ@`h@`a谒2 ' hb@`ih@`x!H?@ޒ쮒.hb@ "`  @`n@` @٢`@`f$@  0 hb@`8@@ѐ@`Zh@`Sa谒2&' hc@`#?h" @`(@~0h"8@` 0h "@`@o@m@`1?3h5@}쮒hb@W "x"t "p k `@S @` @`h@_!Pha@`@`耢  $@@_a@_Ւ@`ha@_@_耢  $`@_a@_’$@@_ha@_@_耢  $`@_a@_$`$@@_א@`@ $` @? @ hc0@_0hb@_|@ސ@ܐv@_ 㿐@㿐   , @s@  &㿐@ 㿐N@  "l @L`@_` L` @_\* @o@ @_P@@O @]@ 㿐   , @3  㿐 `@M `@i㿐& .`@j "  @H &㿐 @<㿐 @5㿐 @8 &@? @} &㿐  @H 2 㿐 `@L `@"㿐@   㿐@^ & 6  @ @>  & @ @/ & 㿐@^  4   2 㿐 " @  " @  ` `@"" " 㿐   @ 2 㿐@ 2    @@㿐  @^M 2 @ @ @@02 㿐  @^2    @m @q"` "@㿐  @^ @K $  @K @O"` "@ 㿐@= @A㿐@3 @7`?㿐" ` `` @`@ @&@㿐@     @ &" "    "" " "   2  %JJ`" JJ@"J 2J@   (ޒ`ܐ  㿐N@N`" LL @" L 2NN 2,L` "g$`  @ @[$` 2L@@ @]D``@}L`*`" @|@@]7$@A$` @uN`* @  @o @]! @Z N `*`$" @Z@] @] @H N`*`" @O @]``@:L`*`" @9@$` 㿐 " @.  "    7@" @   `  , @    $ @ `@ 㿐@\&& & 㿐   @$&  * " 㿐i"`&@ @㿐  R €@\X 㿐i"`&@ǐ㿐i!& (@\I `@  A㿐i"`&@㿐  € & 㿐i"`&@" @" < @\f @\d'耢  Ph@\1#?"`8i   ? ?i ?  ? ' 7/i 0 0 ? ? P?/?i P P:  `D: !" #2  *i@\)h R? E* A8ADADADADADADADADADADADADADADADADA(AD@ADADADADAD@AADAD@ADA 0@[ΐ@[ 0ɤ 0@[Ő 0@[ 0@[bT $bT" 8 i@[`x@[{ @  P$ $@ @ hcX @ $@$ @ @ $ @ @ @$@$ #$`?#@  i@[n @[E @[ @Ȑ "`4`ia@8"" i`"" @ " "`@[3  㿐@㿐   , @s@  &㿐@ 㿐N@  "l @L`@[5 L` @[1* @o@ @[%@@O @]@ 㿐   , @3  㿐 `@M `@>㿐& .`@? "  @H &㿐 @<㿐 @5㿐 @8 &@ @} &㿐  @H 2 㿐 `@L `@"㿐@   㿐@Z & 6  @Ր @>  & @Ɛ @/ & 㿐@Zs  4   2 㿐 " @  " @  ` `@"" " 㿐   @ 2 㿐@ 2    @@m㿐  @Z" 2 @] @[ @@W02 㿐  @Z    @B @q"` "@㿐  @Y @  $  @  @O"` "@ 㿐@ @A㿐@ @7`?㿐" ` `` @`@ @&@ݐ㿐@    @ &" "    "" " "   2  %JJ`" JJ@"J 2J@   (ޒ`ܐ  㿐N@N`" LL @" L 2NN 2,L` "g$`  Đ@j @h[$` 2L@@g @Y``@}L`*`" @Q@@Y $@A$` @uN`* @  @D @X @Z N `*`$" @Z@2 @X @H N`*`" @$ @X֐``@:L`*`" @@$` 㿐 " @  "    Q@ @  `  , @    $ @ `@ސ㿐@X&& & 㿐   @Ր$&  * " 㿐  € &  %JJ`" JJ@"J 2J@   (ޒ`ܐ  㿐N@N`" LL @" L 2NN 2,L` "g$`  @m @k[$` 2L@@j @X``@}L`*`" @T@@X$@A$` @uN`* @  @G @W @Z N `*`$" @Z@5 @W @H N`*`" @' @Wِ``@:L`*`" @@$` 㿐 " @  "    ;@ @  `  , @    $ @ `@㿐@W&& & 㿐   @ؐ$&  * " 㿐  € & ?cX?㼆 ??#@@ $@W a !?#@$@ ?@ "?c$@  ?#` &@@`@Wp 4%@%@&?&@`%@ @$ "?# " @m@WN@_$%%`%*@ ?#@L@??#@?#@?# @" @?@W @1$%% (?@%@+*?@ "?c%@ ?#@?#@?c (%@ @@`@V 4&&&@?&@`& @  ~ |%V?@@@?@@@V 4$@$@$?$@`$@ @y @ 4 Ѐ ɢ@@,@?@@@V 4$@$@$?$@`$@ @y @       '??#@?#@?# @" @@Vr@$%%`%i*@ ?#@p?ؐ#?#@?#@?# @" @b@VC@T%%% %@P*?cܠ@ $?cؐ %@ ?#s%@??#?#  @@`@V 4%@%@&?&@`%@ @( & $#?#Ԩ " @ @U@$%%`%*@M?#ج?#Ԫ?#@ " @@UÔ@%%%@@`%@*@@$ ! ?#@?#@@?@@U 4$@$@$?$@`$@ @ ?#ܠ@?#@?#@L?@ ?$$ ?#?㼆?c$ ?#?$ $  ? c @ !  @ ?cܔ @  @W?#@R?#@N?#@J 㿐@㿐   , @s@  &㿐@ 㿐N@  "l @L`@TҠ L` @Tΐ* @o@ @T @@O @]@ 㿐   , @3  㿐 `@M `@ې㿐& .`@ܐ "  @H &㿐 @<㿐 @5㿐 @8 &@ @} &㿐  @H 2 㿐 `@L `@"㿐@   㿐@T3 & 6  @r @>  & @c @/ & 㿐@T  4   2 㿐 " @=  " @7  ` `@,"" " 㿐   @ 2 㿐@ 2    @@ 㿐  @S 2 @ @ @@02 㿐  @S    @ߐ @q"` "@㿐  @S @ $  @ @O"` "@ 㿐@ @A㿐@ @7`?㿐" ` `` @`@ @&@z㿐@}    @ &" "    "" " "   2  %JJ`" JJ@"J 2J@   (ޒ`ܐ  㿐N@N`" LL @" L 2NN 2,L` "g$`  E@ @[$` 2L@@ @R``@}L`*`" @ @@R$@A$` @uN`* @  @  @R @Z N `*`$" @Z@ ϐ @R @H N`*`" @  @Rs``@:L`*`" @ @$` 㿐 " @   "    Ґ@  @   `  , @    $ @  `@ {㿐@R3&& & 㿐   @ r$&  * " 㿐  € &  J.2 J .  J  㿐"T j @Q@ A `@@R#& @Q& 㿐`@ '`@ % "T  j xj @@Qj@QВ` !L `."  L  j ` @Qǖ  #bT j @Q@Qݐ h@Qے |@j@QԒ` p!@QȒ bT g!j @Qoj@Qr 0^ [ Ȑ 'L@QP X@QL  #\ L #`P@  Ȑ@Q j@QO ;!j@   @       *@@Qj@Q/ !@Q    @Q} &@Qx  j@Q  ȁ㿐@㿐   , @s@  &㿐@ 㿐N@  "l @L`@P L` @P* @o@ @Pߠ@@O @]@ 㿐   , @3  㿐 `@M `@ 㿐& .`@  "  @H &㿐 @<㿐 @5㿐 @8 &@ ΐ @} &㿐  @H 2 㿐 `@L `@ "㿐@   㿐@PP & 6  @  @>  & @  @/ & 㿐@P-  4   2 㿐 " @ Z  " @ T  ` `@ I"" " 㿐   @ 2 㿐@ 2    @@ '㿐  @Oܐ 2 @  @  @@ 02 㿐  @O    @  @q"` "@㿐  @O @  $  @ ڐ @O"` "@ 㿐@ ̐ @A㿐@  @7`?㿐" ` `` @ `@  @ &@ 㿐@     @ &" "    "" " "   2  %JJ`" JJ@"J 2J@   (ޒ`ܐ  㿐N@N`" LL @" L 2NN 2,L` "g$`  Ȑ@ $ @ "[$` 2L@@ ! @NӐ``@}L`*`" @ @@NƐ$@A$` @uN`* @  @  @N @Z N `*`$" @Z@  @N @H N`*`" @ ސ @N``@:L`*`" @ @$` 㿐 " @   "    U@  @   `  , @    $ @  `@ 㿐@NP&& & 㿐   @ $&  * " 㿐j!x`&@ s @㿐  R €@M 㿐j!x`&@ V㿐j!& (@Mؐ `@ I 㿐R``@R`0`4@R` `$@  R €㿈R``@  ^4@N*쀢  㿐@N$@N% @N%㿐R` `$@  R €@M㿐@M@M㿐R`@`D@  R8<€㿐R`H`L@㿐R`P`T@ RX\€@ɐ 㿐j#`&@ @㿐  R €@M/ 㿐j#`&@㿐j#& (@M  `@  A㿐j#`&@x 2  6T   @M   & @MaБ*  j@M!0> @M  7 '?c  7 @Mx  6 j@L! @Mq  6 @McБ*   j@L!0@Mc @ 6 @MRБ*   j@LԐ"(@L @ME㿐  @L㿐@! @  $@ @M;@M' j@L"X@M1  @M aБ*  j@L"@@0@ "" " 㿀@ P'' P'@MO`  `#`@ &@ @M` 퀢0*`@L'` !/? " @@L@''''@L*`@ &@@Lɐ` Ԁ` Ӏ` @LĒ쀢@*@@  㿀 '@ ''N FN K*: @; K  J    ,"( .@2@Z* 䀢  *@ "@`@ &@ @C' ' '* "*`"   ѐ %@2@/* 䀢  *@ "@`@ &@ @' ' '* "*`" 㿀 '@  ''N?J*`: 6J   ,"( .@2@* 䀢  *@ "@`@ &@ @' ' '* "*`"  ð ѐ %@2@* 䀢  *@ "@`@ &@ @' ' '* "*`" 㿐  € & 㿐  @㿐@㿐   , @s@  &㿐@ 㿐N@  "l @L`@K L` @K * @o@ @K@@O @]@ 㿐   , @3  㿐 `@M `@㿐& .`@ "  @H &㿐 @<㿐 @5㿐 @8 &@ @} &㿐  @H 2 㿐 `@L `@Ȑ"㿐@   㿐@Jr & 6  @ @>  & @ @/ & 㿐@JO  4   2 㿐 " @|  " @v  ` `@k"" " 㿐   @ 2 㿐@ 2    @@I㿐  @I 2 @9 @7 @@302 㿐  @I    @ @q"` "@㿐  @I @ $  @ @O"` "@ 㿐@ @A㿐@ @7`?㿐" ` `` @`@ @&@㿐@    @ &" "    "" " "   2  %JJ`" JJ@"J 2J@   (ޒ`ܐ  㿐N@N`" LL @" L 2NN 2,L` "g$`  @F @D[$` 2L@@C @H``@}L`*`" @-@@H$@A$` @uN`* @  @  @HҐ @Z N `*`$" @Z@ @H @H N`*`" @ @H``@:L`*`" @@$` 㿐 " @  "    @@ @ѐ  `  , @    $ @ `@㿐@Hr&& & 㿐   @$&  * " ?c ?@k@Hb`` ??@k`x@HY ?@Hu @H?ch'T#?k@HC`ظk@H>`k@H9ak!8k@H0a kaH@H(T T?cؒ @H (k@Ha`? / /`kax@H k@Ha@H%@H9㿐  € & 㿀\ ` @  @ #\#`#d` ` 㿐@㿐   , @s@  &㿐@ 㿐N@  "l @L`@G L` @G* @o@ @G@@O @]@ 㿐   , @3  㿐 `@M `@㿐& .`@ "  @H &㿐 @<㿐 @5㿐 @8 &@q @} &㿐  @H 2 㿐 `@L `@I"㿐@   㿐@F & 6  @2 @>  & @# @/ & 㿐@FВ  4   2 㿐 " @  " @  ` `@"" " 㿐   @ 2 㿐@ 2    @@ʐ㿐  @F 2 @ @ @@02 㿐  @Fd    @ @q"` "@㿐  @FB @} $  @} @O"` "@ 㿐@o @A㿐@e @7`?㿐" ` `` @E`@B @@&@:㿐@=    @ &" "    "" " "   2  %JJ`" JJ@"J 2J@   (ޒ`ܐ  㿐N@N`" LL @" L 2NN 2,L` "g$`  @ @Ő[$` 2L@@Đ @Ev``@}L`*`" @@@Ei$@A$` @uN`* @  @ @ES @Z N `*`$" @Z@ @EA @H N`*`" @ @E3``@:L`*`" @k@$` 㿐 " @`  "    )@T @R  `  , @    $ @@ `@;㿐@D&& & 㿐   @2$&  * " 㿐g" "`   ` `@  g"*`?2㿐@E7㿐" @E2"l blg"bl㿐㿐 kb8@D "@DZ?㿈㿠㿈gb'`  'g`@D6㿠open: %s %s_initinit: %s %s_umountumount: %s %s_handlerhandler: %s %s_open%s: %s %s_close%s_messageerror - restart delivered to wrong thread restarting -Sexecv:lt|y ly|yyyd| $y|yyy{D||D ly|yyyDDDDDlt|Dyopen: %s %s_initinit: %s %s_umountumount: %s %s_handlerhandler: %s %s_open%s: %s %s_close%s_messagercan't open configuration file %s; ==> %s:%d: syntax error %s:%d: argument missing builtin%s:%d: couldn't mount builtin "%s" %s:%d: unknown builtin "%s" %s:%d: can't mount %s on %s can't open mime table %s -%s:%d: error in extensions table can't open log table %s %s:%d: couldn't push log module %s open: %s %s_initinit: %s %s_umountumount: %s %s_handlerhandler: %s %s_open%s: %s %s_close%s_messagesetrlimit:/opt/mdma/etc/mdma.conf/opt/mdma/html/opt/mdma/etc/mime.types/opt/mdma/etc/log.confp:f:m:r:dl:Susage: httpd [-p port] [-f config_file] [ -r root ] [ -m mime_file ] couldn't configure - exiting >>py|y=yyd| >x>py|y=yy{D||D>4>h > =y|y=yyDDDD=====Dyopen: %s %s_initinit: %s %s_umountumount: %s %s_handlerhandler: %s fileopen: %s %s_initinit: %s %s_umountumount: %s %s_handlerhandler: %s %s_open%s: %s %s_close%s_messageopen: %s %s_initinit: %s %s_umountumount: %s %s_handlerhandler: %s %s_open%s: %s %s_close%s_messagemounting file handler on %s with args %s file handler called to %s on %s, using version %s 0.9GET%s/%strying pathname %s stat error for %s stat/index.htmlopen:text/htmlmmap:munmap:wx, wwy|ywyyDDDDw\wwwwDyinet_daemon: can't create socket(%s) setsockopt:listener_proc: can't bind socket to port %d (%s) listener_proc: can't listen to port %d (%d) out of file handles... sleeping listener_proc: accept error (%s) {{y|yz|yy{D||Dz{ zzdy|yz|yyDDDDz<zdzlztz|Dyopen: %s %s_initinit: %s %s_umountumount: %s %s_handlerhandler: %s %s_open%s: %s %s_close%s_messageError %d has occured HTTP/1.0 %d Something broke MIME-Version: 1.0 Content-Type: text/html

Error %d

HTTP/1.0 200 OK Server: MDMA/0.1 MIME-version: 1.0 Content-type: %s text/htmlContent-Encoding: %s Last-Modified: %sContent-Length: %d open: %s %s_initinit: %s %s_umountumount: %s %s_handlerhandler: %s %s_open%s: %s %s_close%s_messageVirtual memory exceeded in `new' ` $/>  x H <T 00<0H0T0`0l0x00000000000000 0,080D0P0\0h0t0000000000000~0{0x(0u40r@0oL0lX0id0fp0c|0`0]0Z0W0T0Q0N0K0H0E0B0? 0<09$06003<00h0hh ?S ?XsJ"5͞< A,[}^?j^zEx}>"C1)_1b1f4F =WDm/2-(1_[0k=<SFf!0q):%DwG=/Wl^̍"G:e$T $w !S"&~n!71`S] r|uv GZ!n4,]6x1 >7k}8Xʴ)eG+Hs.⏒<}U5=P15cC+$~3̆ )6 7Nl0O Oٿ'ڍ3a*UM$ -n ?YI&0Vg7x 9D(>$Nl=7#J8-?'E)&{b32  _^}~Y gn3.:/]=L!xGAk&8>" ,11-X-W='#H/`|r%(52 0U#+ƿ:/$/^ s,L$4C:;&rXݵa-I|>T2)cRm#e&3$0Wp y'_ #f7%5q69Ps&"j >)չ,1u  4'_ ?@N65eω XXT O -yv!%z!@ht&.#NIR3Ss=%ҿD*Z#Vx#2}8_8[i3<:MP)9c, I} `f@75"S$ S B[{{'.!H5"FA 4"{wg3P'q~N#(:t.kU>o&90q.3%7/?2S/ToJ+  eA8 /+2rk.2V&V91 T'P=&Ю=22N f4w 7.8_=P!(=((bz {o ]_ j_du<<::D7f#[  ]š)K/(H =~0ɠM=>)a`f3c%Ҥ*08y0 J 9|0Ӂ8_O8"/% Ml&D8 AK+jB?R;6&Q%wx9O4;w8!I% o Y: T1Zjn,):k+*-+pR;V? &1=.$ 64 a@9p'!´6#@ \d>/ cV藺5 w4rI&7f-+)/%6l=y!YU>n ?%] 3V"(Pd%ʰ,CZ N q.`pG t/15'*k5X $hE-~"Oa7iwȄׇ5b 9מ ( FH1&j$)m595a  <'H$g`.W S,28Kr2 *C#&|.hY581#75L߇(#'<- ^*'}@.. 6uQ>E&*$=DwD$Q) =B;U\%H6o`26f)9I&/hd !wKB,Xm?V.v>*S. s(Ji*A#V?I?5yce!z2Ew}0i5!d 96=bm 7q!97˜5B)K>Ig=. 9i 5|u!e$7 p//0c/!z%*IW1M0&4!^:~F+,/2H;Em2pf(#*[X1(/F(;!)4DGWP^"eT:8c 2S _%:x~ 0 r!0/d`745;cv6Z<ϥ]+w6%3 )-ژ>?f' 0AP$LGG.v#7}>U85P0@c=C07M36Z{Ӑ& l gqOh# .n4!EUM,s,S 3&4o !(:+$#7/o-y-&fEд(j9t3&6 1 -¼1q_O76'26e4()9EXE).ɂ݀v 8QmitĻ0YN0R=>~yTD&"j#+`)5(%i bNP+., L1 hCf#ފ; # /# /{1X{ q0& A0.h3Sr(Ģgޟ?t~=o&7y> (A8_+-·k8o(V<^4 : ~T5].>9<2ީ?%? (Kδ3T2. ">&  Io3._0j,Xu"(<'  Y[J(@媩6bgH 94!5'{M ]3 `3T$a*21y">}|9l#O- rI"%8=Al2؋$K@zBB6Q$0jx!4 wz=X(j ?.@):7sE+?CZ,1n6)=ʑ%=>B6N0?"& 5J3:R:Bx&8';;r%n^  ;YŨ+bp-'*3 '>5x%*V4?8@4k,I-bV+04@ \>*/.VW8 /v c6*,s+bs Py-x\",$&`n;2]#d!-7C :!+ ZN-jv=hNq*p?~%Hd/h6m*Ά5+bh›./5_a+Bi+0M-QJ$b$ ?ݥ%P' /D9`:o'yb.9$a,J<(>W--:)?6,K9! '-R~c3%tY'8"7Dr# {.]L}8{\* C$ c. }#/Q ,$V5  4: ub+\?זH(+K*2Āf0%^IȢh Xd97iGw%->B2m%qn"<Tx    \ `Tp%;TIQ<a4w@ @  <HL%,8$` 6(I(pgl(` D4"<  &|<p8P!@m"h"d#"t<,D&hC$c!h{%8&\l($($d(0!0R!0stL)( 0` ` $  4 %dE%j { 8<D(#T D)HD&L =$(m $4@H2P19088`844 @ DH B B I8 I|`  -> ( @M  ^>h w= ` BD =4 G`< E = D 8 3Fl@ PGh qG H G$< CD C&IdFFh^J08K >(>x(I(E05EV=mDXLM ` @` D$E44J(JhME^Eh8p=(HMD> I<(>p6D$R]Q{OQ N\QD*N< AP^xHk\\,ch8c`f\DD`<$_4@]8T_@qa(h`b`< ]hD*\Gbg`8hc8db(_<04_lU]Ligd ^0$^4cc_,"^84aagDR0 b(^T$nHgH,lGk`r8yr`v8kDpx<nm88o@2phSp,qqp<<lDl0r|(oh@sH8tt$r,(n0nmpL*v [m$qnL4s,snn8q"wDKg brT(m$wTw4x@  w(x,3wK` _w4uwww\(z4z4@  z(${ =zdU ` iz|4zt{(zl` z<({ #|H>Y0rl8 `HD<88'@D,he<lD  :<h R8  ( @0!p!(L!<h !m4$!4!!!0!8""4D"] "t("X$""""xH##,#4h8#M`#g#DD#<#4#8#@$(h$'$E$q<$hD$$$8h%8%H%x(%<0%l%L%d &/0$&E4&\&&,&8&&D' '6('fT$'''''('''p'''( (Tt((#((<(4h(A(F (T$(f (np(wD(|4(Đ@!((((l(\(((@ (x (`8)D) )x))%8),D)1|)O@)U8)\h)i|)q)v)|)){Dp)Ą))y )))()l)Ĉ)d\*yH*(*/*;X*B`*Nl*U\*^h0d*h*qxP*`**Đ@*`***$*y`*`**P+L@+ +p!+"+)+3+8,+=yX+Rt+X)H+x4l+H+0++y|@+@+ $++4+0,h, 0,-,3p,:,TL,Z,ad,hx,zT,RP , ,,Z, ,,|$,x !, - x(-%>-*-1-8h(-D-I8-W$-ap-i-yx -<-}-@-(---T-- --Xhttpdcrti.svalues-Xa.ccrtstuff.c__do_global_ctors_auxforce_to_datahttp.cclog_error__FPce_._16shared_condition_vt.12http_handler_vt.12thread_classinsert__t9hash_list1ZcPcT1lookup__t10hash_table1ZcPc__vc__t10hash_table1ZcPc__t5dlist1Z11log_handler_._t5dlist1Z11log_handler_vt.16shared_condition_._13daemon_thread_._t9trie_node1Z11bgi_handlertest__16shared_conditionoptions__12thread_classrun__12http_handler_vt.13daemon_threadprint__t10hash_table1Zcpanic__12thread_classpop__t5dlist1Z11log_handlerprint__t14hash_list_node1Zcafter__12thread_class_._t10hash_table1Zcfind__t14hash_list_node1ZcPcremove__t5dlist1Z11log_handlerPc__t14hash_list_node1ZcPcT1PT0add__t5dlist1Z11log_handlerPcP11log_handlermap__t5dlist1Z11log_handlerPFPcP11log_handler_vmap__t10hash_table1ZcPFPcPc_v_lookup__t10hash_table1ZcPciisempty__t5dlist1Z11log_handler_._t14hash_list_node1Zc__t10dlist_node1Z11log_handlerPcP11log_handlerPT0T3add__t9trie_node1Z11bgi_handlerPcP11bgi_handler_._11http_daemon_._11inet_daemonappend__t5dlist1Z11log_handlerPcP11log_handlermap__t14hash_list_node1ZcPFPcPc_vinsert__t14hash_list_node1ZcPcT1before__12thread_class__t10hash_table1Zci__t9trie_node1Z11bgi_handlerPcP11bgi_handlerPPT0_vt.11inet_daemon_vt.11http_daemonprint__t9hash_list1Zcfind__t9hash_list1ZcPcunlink__t10dlist_node1Z11log_handlerlookup__t9trie_node1Z11bgi_handlerPc__t9hash_list1Zc_._t9hash_list1Zc_._12http_handler_._12thread_classfind__t5dlist1Z11log_handlerPcP11log_handlerrestart_handler__FiP7siginfoPvensure_table__t9trie_node1Z11bgi_handlerunmount__11bgi_handlerprepend__t5dlist1Z11log_handlerPcP11log_handleroptions__11inet_daemonmap__t9hash_list1ZcPFPcPc_vhttp_configuration.ccinsert__t9hash_list1ZcPcT1lookup__t10hash_table1ZcPc__vc__t10hash_table1ZcPc__t5dlist1Z11log_handler_._t5dlist1Z11log_handler_._t9trie_node1Z11bgi_handlerprint__t10hash_table1Zcpop__t5dlist1Z11log_handlerprint__t14hash_list_node1Zc_._t10hash_table1Zcfind__t14hash_list_node1ZcPcremove__t5dlist1Z11log_handlerPc__t14hash_list_node1ZcPcT1PT0add__t5dlist1Z11log_handlerPcP11log_handlermap__t5dlist1Z11log_handlerPFPcP11log_handler_vmap__t10hash_table1ZcPFPcPc_v_lookup__t10hash_table1ZcPciisempty__t5dlist1Z11log_handler_._t14hash_list_node1Zc__t10dlist_node1Z11log_handlerPcP11log_handlerPT0T3add__t9trie_node1Z11bgi_handlerPcP11bgi_handlerappend__t5dlist1Z11log_handlerPcP11log_handlermap__t14hash_list_node1ZcPFPcPc_vinsert__t14hash_list_node1ZcPcT1__t10hash_table1Zci__t9trie_node1Z11bgi_handlerPcP11bgi_handlerPPT0print__t9hash_list1Zcfind__t9hash_list1ZcPcunlink__t10dlist_node1Z11log_handlerlookup__t9trie_node1Z11bgi_handlerPc__t9hash_list1Zc_._t9hash_list1Zcfind__t5dlist1Z11log_handlerPcP11log_handlerensure_table__t9trie_node1Z11bgi_handlerunmount__11bgi_handlerprepend__t5dlist1Z11log_handlerPcP11log_handlermap__t9hash_list1ZcPFPcPc_vmain.cclog_error__FPce_._16shared_condition_vt.12thread_classinsert__t9hash_list1ZcPcT1lookup__t10hash_table1ZcPc__vc__t10hash_table1ZcPc__t5dlist1Z11log_handler_._t5dlist1Z11log_handler_vt.16shared_condition_._13daemon_thread_._t9trie_node1Z11bgi_handlertest__16shared_conditionoptions__12thread_class_vt.13daemon_threadprint__t10hash_table1Zcpanic__12thread_classpop__t5dlist1Z11log_handlerprint__t14hash_list_node1Zcafter__12thread_class_._t10hash_table1Zcfind__t14hash_list_node1ZcPcremove__t5dlist1Z11log_handlerPc__t14hash_list_node1ZcPcT1PT0add__t5dlist1Z11log_handlerPcP11log_handlermap__t5dlist1Z11log_handlerPFPcP11log_handler_vmap__t10hash_table1ZcPFPcPc_v_lookup__t10hash_table1ZcPciisempty__t5dlist1Z11log_handler_._t14hash_list_node1Zc__t10dlist_node1Z11log_handlerPcP11log_handlerPT0T3add__t9trie_node1Z11bgi_handlerPcP11bgi_handler_._11http_daemon_._11inet_daemonappend__t5dlist1Z11log_handlerPcP11log_handlermap__t14hash_list_node1ZcPFPcPc_vinsert__t14hash_list_node1ZcPcT1before__12thread_class__t10hash_table1Zci__t9trie_node1Z11bgi_handlerPcP11bgi_handlerPPT0_vt.11http_daemon_vt.11inet_daemonprint__t9hash_list1Zcfind__t9hash_list1ZcPcunlink__t10dlist_node1Z11log_handlerlookup__t9trie_node1Z11bgi_handlerPc__t9hash_list1Zc_._t9hash_list1Zc_._12thread_classfind__t5dlist1Z11log_handlerPcP11log_handlerensure_table__t9trie_node1Z11bgi_handlerunmount__11bgi_handlerprepend__t5dlist1Z11log_handlerPcP11log_handleroptions__11inet_daemonmap__t9hash_list1ZcPFPcPc_vbuiltin.cc_._t9trie_node1Z11bgi_handleradd__t9trie_node1Z11bgi_handlerPcP11bgi_handler__t9trie_node1Z11bgi_handlerPcP11bgi_handlerPPT0lookup__t9trie_node1Z11bgi_handlerPcensure_table__t9trie_node1Z11bgi_handlerunmount__11bgi_handlerhandle_http.ccinsert__t9hash_list1ZcPcT1lookup__t10hash_table1ZcPc__vc__t10hash_table1ZcPc__t5dlist1Z11log_handler_._t5dlist1Z11log_handler_._t9trie_node1Z11bgi_handlerprint__t10hash_table1Zcpop__t5dlist1Z11log_handlerprint__t14hash_list_node1Zc_._t10hash_table1Zcfind__t14hash_list_node1ZcPcremove__t5dlist1Z11log_handlerPc__t14hash_list_node1ZcPcT1PT0add__t5dlist1Z11log_handlerPcP11log_handlermap__t5dlist1Z11log_handlerPFPcP11log_handler_vmap__t10hash_table1ZcPFPcPc_v_lookup__t10hash_table1ZcPciisempty__t5dlist1Z11log_handler_._t14hash_list_node1Zc__t10dlist_node1Z11log_handlerPcP11log_handlerPT0T3add__t9trie_node1Z11bgi_handlerPcP11bgi_handlerappend__t5dlist1Z11log_handlerPcP11log_handlermap__t14hash_list_node1ZcPFPcPc_vinsert__t14hash_list_node1ZcPcT1__t10hash_table1Zci__t9trie_node1Z11bgi_handlerPcP11bgi_handlerPPT0print__t9hash_list1Zcfind__t9hash_list1ZcPcunlink__t10dlist_node1Z11log_handlerlookup__t9trie_node1Z11bgi_handlerPc__t9hash_list1Zc_._t9hash_list1Zcfind__t5dlist1Z11log_handlerPcP11log_handlerensure_table__t9trie_node1Z11bgi_handlerunmount__11bgi_handlerprepend__t5dlist1Z11log_handlerPcP11log_handlermap__t9hash_list1ZcPFPcPc_vfile_handler.ccinsert__t9hash_list1ZcPcT1allow_filename__FPclookup__t10hash_table1ZcPc__vc__t10hash_table1ZcPc__t5dlist1Z11log_handler_._t5dlist1Z11log_handler_._t9trie_node1Z11bgi_handlerprint__t10hash_table1Zcpop__t5dlist1Z11log_handlerprint__t14hash_list_node1Zc_._t10hash_table1Zcfind__t14hash_list_node1ZcPcremove__t5dlist1Z11log_handlerPc__t14hash_list_node1ZcPcT1PT0add__t5dlist1Z11log_handlerPcP11log_handlermap__t5dlist1Z11log_handlerPFPcP11log_handler_vmap__t10hash_table1ZcPFPcPc_v_lookup__t10hash_table1ZcPciisempty__t5dlist1Z11log_handler_._t14hash_list_node1Zc__t10dlist_node1Z11log_handlerPcP11log_handlerPT0T3add__t9trie_node1Z11bgi_handlerPcP11bgi_handlerappend__t5dlist1Z11log_handlerPcP11log_handlermap__t14hash_list_node1ZcPFPcPc_vinsert__t14hash_list_node1ZcPcT1__t10hash_table1Zci__t9trie_node1Z11bgi_handlerPcP11bgi_handlerPPT0print__t9hash_list1Zcfind__t9hash_list1ZcPcunlink__t10dlist_node1Z11log_handlerlookup__t9trie_node1Z11bgi_handlerPc__t9hash_list1Zc_._t9hash_list1Zcfind__t5dlist1Z11log_handlerPcP11log_handlerensure_table__t9trie_node1Z11bgi_handlerunmount__11bgi_handlerprepend__t5dlist1Z11log_handlerPcP11log_handlermap__t9hash_list1ZcPFPcPc_vlibmt.cclog_error__FPce_._16shared_condition_vt.12thread_class_vt.16shared_condition_._13daemon_threadtest__16shared_conditionoptions__12thread_class_vt.13daemon_threadpanic__12thread_classafter__12thread_classbefore__12thread_class_._12thread_classmt_daemon.cclog_error__FPce_._16shared_condition_vt.12thread_class_vt.16shared_condition_._13daemon_threadtest__16shared_conditionoptions__12thread_class_vt.13daemon_threadpanic__12thread_classafter__12thread_class_._11inet_daemonbefore__12thread_class_vt.11inet_daemon_._12thread_classoptions__11inet_daemonhash.ccgetline.ccsplit.ccext_to_mime.ccinsert__t9hash_list1ZcPcT1lookup__t10hash_table1ZcPc__vc__t10hash_table1ZcPc__t5dlist1Z11log_handler_._t5dlist1Z11log_handler_._t9trie_node1Z11bgi_handlerprint__t10hash_table1Zcpop__t5dlist1Z11log_handlerprint__t14hash_list_node1Zc_._t10hash_table1Zcfind__t14hash_list_node1ZcPcremove__t5dlist1Z11log_handlerPc__t14hash_list_node1ZcPcT1PT0add__t5dlist1Z11log_handlerPcP11log_handlermap__t5dlist1Z11log_handlerPFPcP11log_handler_vmap__t10hash_table1ZcPFPcPc_v_lookup__t10hash_table1ZcPciisempty__t5dlist1Z11log_handler_._t14hash_list_node1Zc__t10dlist_node1Z11log_handlerPcP11log_handlerPT0T3add__t9trie_node1Z11bgi_handlerPcP11bgi_handlerappend__t5dlist1Z11log_handlerPcP11log_handlermap__t14hash_list_node1ZcPFPcPc_vinsert__t14hash_list_node1ZcPcT1__t10hash_table1Zci__t9trie_node1Z11bgi_handlerPcP11bgi_handlerPPT0print__t9hash_list1Zcfind__t9hash_list1ZcPcunlink__t10dlist_node1Z11log_handlerlookup__t9trie_node1Z11bgi_handlerPc__t9hash_list1Zc_._t9hash_list1Zcfind__t5dlist1Z11log_handlerPcP11log_handlerensure_table__t9trie_node1Z11bgi_handlerunmount__11bgi_handlerprepend__t5dlist1Z11log_handlerPcP11log_handlermap__t9hash_list1ZcPFPcPc_vhttp_error.ccmime_headers.cclog.ccinsert__t9hash_list1ZcPcT1lookup__t10hash_table1ZcPc__vc__t10hash_table1ZcPc__t5dlist1Z11log_handler_._t5dlist1Z11log_handler_._t9trie_node1Z11bgi_handlerprint__t10hash_table1Zcpop__t5dlist1Z11log_handlerprint__t14hash_list_node1Zc_._t10hash_table1Zcfind__t14hash_list_node1ZcPcremove__t5dlist1Z11log_handlerPc__t14hash_list_node1ZcPcT1PT0add__t5dlist1Z11log_handlerPcP11log_handlermap__t5dlist1Z11log_handlerPFPcP11log_handler_vmap__t10hash_table1ZcPFPcPc_v_lookup__t10hash_table1ZcPciisempty__t5dlist1Z11log_handler_._t14hash_list_node1Zc__t10dlist_node1Z11log_handlerPcP11log_handlerPT0T3add__t9trie_node1Z11bgi_handlerPcP11bgi_handlerappend__t5dlist1Z11log_handlerPcP11log_handlermap__t14hash_list_node1ZcPFPcPc_vinsert__t14hash_list_node1ZcPcT1__t10hash_table1Zci__t9trie_node1Z11bgi_handlerPcP11bgi_handlerPPT0print__t9hash_list1Zcfind__t9hash_list1ZcPcunlink__t10dlist_node1Z11log_handlerlookup__t9trie_node1Z11bgi_handlerPc__t9hash_list1Zc_._t9hash_list1Zcfind__t5dlist1Z11log_handlerPcP11log_handlerensure_table__t9trie_node1Z11bgi_handlerunmount__11bgi_handlerprepend__t5dlist1Z11log_handlerPcP11log_handlermap__t9hash_list1ZcPFPcPc_vlibgcc2.clibgcc2.clibgcc2.clibgcc2.cdefault_new_handlercrtstuff.c__do_global_ctors_auxforce_to_datacrtn.ssocketgetopt__DTOR_LIST___startsigemptysetreadgetpeernamenum_builtinsatoi__CTOR_LIST____set_new_handlerctime_r_environ_endstrdup_iobthr_setpriolog_messagedlclose__new_handler_GLOBAL_OFFSET_TABLE_sleepsigaction__builtin_delete__ctype__builtin_newabortsigignorethr_createacceptatexitexitget_connection__11inet_daemonsplitmalloccond_destroysprintfbindfork1_initsigholdsetup__11inet_daemoncurrent_configurationsetsockoptafter__13daemon_threaddup.umul.uremseed_tablelisten_idsetup__11http_daemonexit__12thread_classPvungetccond_signalfclosesys_errlistmunmapthr_exitfile_initthr_killstart_thread__FP12thread_class_DYNAMICprintf__iob_sys_errlistexecvmutex_lockstrcatset_priority__12thread_classiwritehttp_error_exitmime_headersmutex_unlockenvironperrorsetrlimitgetcfreerun__13daemon_threadcloseload_configuration__18http_configurationPcN31ithread_support_proc__FPvopenoptarg___errnobefore__13daemon_threadstrcmpext_to_mimegetrlimitlisten_threadnew_child__11http_daemonPvfile_handlergettimeofdaydlsym_edata_PROCEDURE_LINKAGE_TABLE_fopenmemsetdlopen__do_global_dtorsmmaphandle_http__FiP18http_configuration__CTOR_END__strcpy_etext_lib_version__do_global_ctorsteardown__11inet_daemon_ctype__DTOR_END__signal__16shared_conditionmainmemcpystrlenfile_umountstatsecret_socketsplit_anydlerrorset_new_handler_finiglob_argvgetline__FP4FILEPiglob_argcget_connection__11http_daemonlistenfprintfdebugthr_selfsysconfsigrelsebuiltins d/dQ8v8F<@(#)SunOS 5.3 Generic September 1993as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8as: SC3.0 early access 01 Sep 1993 GCC: (GNU) 2.5.8ld: (SGU) SunOS/ELF (LK-1.3)) dd+<:\ǹTr̀߀ 8SoMۀW3 456(738>9I>TEal.$) d@d@+<:\ǹTr̀߀ 8SoMۀW3 456(738>9I>TEal$j@@i* d`d`+<:\ǹTr̀߀ 8SoMۀW3 456(738>9I>TEal$"`@!0 dd+<:\ǹTr̀߀ 8SoMۀW3 456(738>9I>TEal`= B2$FH@FT$Rh@Rt$[.interp.hash.dynsym.dynstr.rela.bss.rela.plt.text.init.fini.ctors.dtors.rodata.got.dynamic.plt.data.bss.symtab.strtab.stab.index.comment.stab.shstrtab.stab.indexstr.stabstrvalues-Xa.c/1093/on1093_ws/usr/src/lib/libc/port/gen/values-Xa.cXt ; V=2.0/home/tipper/home2/ses/src/mdma/http/usr/ccs/lib/values-Xa.olibgcc2.c/opt/src/gcc-2.5.8/./libgcc2.cgcc2_compiled.int:t1=r1;-2147483648;2147483647;char:t2=r2;0;127;long int:t3=r1;-2147483648;2147483647;unsigned int:t4=r1;0;-1;long unsigned int:t5=r1;0;-1;long long int:t6=r1;01000000000000000000000;0777777777777777777777;long long unsigned int:t7=r1;0000000000000;01777777777777777777777;short int:t8=r1;-32768;32767;short unsigned int:t9=r1;0;65535;signed char:t10=r1;-128;127;unsigned char:t11=r1;0;255;float:t12=r1;4;0;double:t13=r1;8;0;long double:t14=r1;16;0;complex int:t15=s8real:1,0,32;imag:1,32,32;;complex float:t16=r16;4;0;complex double:t17=r17;8;0;complex long double:t18=r18;16;0;void:t19=19reg_class:T20=eNO_REGS:0,GENERAL_REGS:1,FP_REGS:2,ALL_REGS:3,LIM_REG_CLASSES:4,;machine_mode:T21=eVOIDmode:0,QImode:1,HImode:2,PSImode:3,SImode:4,PDImode:5,DImode:6,TImode:7,OImode:8,QFmode:9,HFmode:10,SFmode:11,DFmode:12,XFmode:13,TFmode:14,SCmode:15,DCmode:16,XCmode:17,TCmode:18,CQImode:19,CHImode:20,CSImode:21,CDImode:22,CTImode:23,COImode:24,BLKmode:25,CCmode:26,CC_NOOVmode:27,CCFPmode:28,CCFPEmode:29,MAX_MACHINE_MODE:30,;mode_class:T22=eMODE_RANDOM:0,MODE_INT:1,MODE_FLOAT:2,MODE_PARTIAL_INT:3,MODE_CC:4,MODE_COMPLEX_INT:5,MODE_COMPLEX_FLOAT:6,MAX_MODE_CLASS:7,;ptrdiff_t:t1size_t:t4wchar_t:t3UQItype:t11SItype:t1USItype:t4DItype:t6UDItype:t7SFtype:t12DFtype:t13TFtype:t14word_type:t1DIstruct:T23=s8high:1,0,32;low:1,32,32;;DIunion:t24=u8s:23,0,64;ll:6,0,64;;func_ptr:t25=*26=f19__do_global_dtors:F19libgcc2.c/opt/src/gcc-2.5.8/./libgcc2.cgcc2_compiled.int:t1=r1;-2147483648;2147483647;char:t2=r2;0;127;long int:t3=r1;-2147483648;2147483647;unsigned int:t4=r1;0;-1;long unsigned int:t5=r1;0;-1;long long int:t6=r1;01000000000000000000000;0777777777777777777777;long long unsigned int:t7=r1;0000000000000;01777777777777777777777;short int:t8=r1;-32768;32767;short unsigned int:t9=r1;0;65535;signed char:t10=r1;-128;127;unsigned char:t11=r1;0;255;float:t12=r1;4;0;double:t13=r1;8;0;long double:t14=r1;16;0;complex int:t15=s8real:1,0,32;imag:1,32,32;;complex float:t16=r16;4;0;complex double:t17=r17;8;0;complex long double:t18=r18;16;0;void:t19=19reg_class:T20=eNO_REGS:0,GENERAL_REGS:1,FP_REGS:2,ALL_REGS:3,LIM_REG_CLASSES:4,;machine_mode:T21=eVOIDmode:0,QImode:1,HImode:2,PSImode:3,SImode:4,PDImode:5,DImode:6,TImode:7,OImode:8,QFmode:9,HFmode:10,SFmode:11,DFmode:12,XFmode:13,TFmode:14,SCmode:15,DCmode:16,XCmode:17,TCmode:18,CQImode:19,CHImode:20,CSImode:21,CDImode:22,CTImode:23,COImode:24,BLKmode:25,CCmode:26,CC_NOOVmode:27,CCFPmode:28,CCFPEmode:29,MAX_MACHINE_MODE:30,;mode_class:T22=eMODE_RANDOM:0,MODE_INT:1,MODE_FLOAT:2,MODE_PARTIAL_INT:3,MODE_CC:4,MODE_COMPLEX_INT:5,MODE_COMPLEX_FLOAT:6,MAX_MODE_CLASS:7,;ptrdiff_t:t1size_t:t4wchar_t:t3UQItype:t11SItype:t1USItype:t4DItype:t6UDItype:t7SFtype:t12DFtype:t13TFtype:t14word_type:t1DIstruct:T23=s8high:1,0,32;low:1,32,32;;DIunion:t24=u8s:23,0,64;ll:6,0,64;;__builtin_delete:F19ptr:P25=*19libgcc2.c/opt/src/gcc-2.5.8/./libgcc2.cgcc2_compiled.int:t1=r1;-2147483648;2147483647;char:t2=r2;0;127;long int:t3=r1;-2147483648;2147483647;unsigned int:t4=r1;0;-1;long unsigned int:t5=r1;0;-1;long long int:t6=r1;01000000000000000000000;0777777777777777777777;long long unsigned int:t7=r1;0000000000000;01777777777777777777777;short int:t8=r1;-32768;32767;short unsigned int:t9=r1;0;65535;signed char:t10=r1;-128;127;unsigned char:t11=r1;0;255;float:t12=r1;4;0;double:t13=r1;8;0;long double:t14=r1;16;0;complex int:t15=s8real:1,0,32;imag:1,32,32;;complex float:t16=r16;4;0;complex double:t17=r17;8;0;complex long double:t18=r18;16;0;void:t19=19reg_class:T20=eNO_REGS:0,GENERAL_REGS:1,FP_REGS:2,ALL_REGS:3,LIM_REG_CLASSES:4,;machine_mode:T21=eVOIDmode:0,QImode:1,HImode:2,PSImode:3,SImode:4,PDImode:5,DImode:6,TImode:7,OImode:8,QFmode:9,HFmode:10,SFmode:11,DFmode:12,XFmode:13,TFmode:14,SCmode:15,DCmode:16,XCmode:17,TCmode:18,CQImode:19,CHImode:20,CSImode:21,CDImode:22,CTImode:23,COImode:24,BLKmode:25,CCmode:26,CC_NOOVmode:27,CCFPmode:28,CCFPEmode:29,MAX_MACHINE_MODE:30,;mode_class:T22=eMODE_RANDOM:0,MODE_INT:1,MODE_FLOAT:2,MODE_PARTIAL_INT:3,MODE_CC:4,MODE_COMPLEX_INT:5,MODE_COMPLEX_FLOAT:6,MAX_MODE_CLASS:7,;ptrdiff_t:t1size_t:t4wchar_t:t3UQItype:t11SItype:t1USItype:t4DItype:t6UDItype:t7SFtype:t12DFtype:t13TFtype:t14word_type:t1DIstruct:T23=s8high:1,0,32;low:1,32,32;;DIunion:t24=u8s:23,0,64;ll:6,0,64;;vfp:t25=*26=f19__builtin_new:F27=*19sz:P4libgcc2.c/opt/src/gcc-2.5.8/./libgcc2.cgcc2_compiled.int:t1=r1;-2147483648;2147483647;char:t2=r2;0;127;long int:t3=r1;-2147483648;2147483647;unsigned int:t4=r1;0;-1;long unsigned int:t5=r1;0;-1;long long int:t6=r1;01000000000000000000000;0777777777777777777777;long long unsigned int:t7=r1;0000000000000;01777777777777777777777;short int:t8=r1;-32768;32767;short unsigned int:t9=r1;0;65535;signed char:t10=r1;-128;127;unsigned char:t11=r1;0;255;float:t12=r1;4;0;double:t13=r1;8;0;long double:t14=r1;16;0;complex int:t15=s8real:1,0,32;imag:1,32,32;;complex float:t16=r16;4;0;complex double:t17=r17;8;0;complex long double:t18=r18;16;0;void:t19=19reg_class:T20=eNO_REGS:0,GENERAL_REGS:1,FP_REGS:2,ALL_REGS:3,LIM_REG_CLASSES:4,;machine_mode:T21=eVOIDmode:0,QImode:1,HImode:2,PSImode:3,SImode:4,PDImode:5,DImode:6,TImode:7,OImode:8,QFmode:9,HFmode:10,SFmode:11,DFmode:12,XFmode:13,TFmode:14,SCmode:15,DCmode:16,XCmode:17,TCmode:18,CQImode:19,CHImode:20,CSImode:21,CDImode:22,CTImode:23,COImode:24,BLKmode:25,CCmode:26,CC_NOOVmode:27,CCFPmode:28,CCFPEmode:29,MAX_MACHINE_MODE:30,;mode_class:T22=eMODE_RANDOM:0,MODE_INT:1,MODE_FLOAT:2,MODE_PARTIAL_INT:3,MODE_CC:4,MODE_COMPLEX_INT:5,MODE_COMPLEX_FLOAT:6,MAX_MODE_CLASS:7,;ptrdiff_t:t1size_t:t4wchar_t:t3UQItype:t11SItype:t1USItype:t4DItype:t6UDItype:t7SFtype:t12DFtype:t13TFtype:t14word_type:t1DIstruct:T23=s8high:1,0,32;low:1,32,32;;DIunion:t24=u8s:23,0,64;ll:6,0,64;;fpos_t:t3FILE:t25=s16_cnt:1,0,32;_ptr:26=*11,32,32;_base:26,64,32;_flag:11,96,8;_file:11,104,8;;vfp:t27=*28=f19__new_handler:G27__set_new_handler:F27handler:P27set_new_handler:F27handler:P27default_new_handler:f19   H< )<< 3TT9|?xx ELS[\\```iL nTTtppyp -H 4@ (}07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!!