ELF4f4 (444]]`X `  ((( Qtd/lib/ld-linux.so.2GNUC]WKU\,<M>XNVD'7/%GJI605Z !L[P8RCTO42*SFQYA#?: (+  9"&1$)-.=@B3E H;T6dFgte# hm=đWԑQL|^x$'4%DqTdt OLo6BĒԒ6-q{x9v$94>D42T6d tx#9`d,W9ē@ԓ59:|s$Je4xXDQFTJ?dt~di-Ĕ:KԔ9R9m}L$94:D;T|sdt6>hxĕ*7ԕ}4vx<Gxbh $6D4TBDxTed9Q t9|a 0libpthread.so.0pthread_cond_waitpthread_cond_timedwaitwaitpidrecvconnectpthread_createrecvfrompthread_detachsendacceptpthread_oncepthread_key_createpthread_killsendmsgsendtoforkpthread_cond_signalpthread_cond_broadcastpthread_mutex_unlockpthread_mutexattr_initpthread_mutex_lock__errno_locationpthread_mutex_init_Jv_RegisterClassesrecvmsgfcntlpthread_joinpthread_setspecificlibc.so.6strcpyioctlsysconfstdoutvsprintffdopeninet_ptonsnprintfgetenvfgetsisfdtypedup2mallocsocketselectfflushmmapbzerofreeaddrinfoabortpipecallocgai_strerrorstrcatbindsetsockoptstdinferrorunlinklistensscanffreadstrdupgettimeofdaypollsyslogstrcmpshutdownfclosegetpeernamestderrgetsockoptgetaddrinfosocketpairfwriteexitinet_ntopfopenatoifileno_IO_stdin_used__libc_start_mainstrlenfputsgetsockname__fxstat__gmon_start__GLIBC_2.1GLIBC_2.0GLIBC_2.3.2@ii pii zri ii pii zT[`&d'hP   $ ( , 048<@DHLPTX\`dhlptx |!"#$%()*+,-./0123456789:;<=>?@ABCDEF GHIJK L$M(N,O0Q4S8T<U@VDXHYLZP\U$5%%h%h%h%h% h %h(%h0%h8p%h@`% hHP%$hP@%(hX0%,h` %0hh%4hp%8hx%<h%@h%Dh%Hh%Lh%Ph%Th%Xhp%\h`%`hP%dh@%hh0%lh %ph%th%xh%|h%h%h%h%h %h(%h0%h8p%h@`%hHP%hP@%hX0%h` %hh%hp%hx%h%h%h%h%h%h%h%hp%h`%hP%h@%h0%h %h%h%h%h%h%h%h% h %h(%h0%h8p%h@`% hHP%$hP@%(hX0%,h` %0hh%4hp%8hx%<h%@h%Dh%Hh%Lh%Ph1^PTRhhDQVhUS[JPdtЋ]ÐU=lu)tҡulÉUtt hhÐUE EEE}uSuuuE}yD8u EE'}uUE)UE륋EU)‰ЉEEUuu ujE}y hH)EÐUE EuujjUE Euujjx j@UE EuujjPUE Euujj-UE Euujj  jUEuuP P[E}t/ uPhT+EPEPhYP|=tPu : 5`5dP 5dÐUu uEEu h[VEU uEu hh(Uu uu htUuu uE}u hEUu uu hUuu u@E}u h_EUtE}u h6EU uEEu hEUuuuuu us E}u h¶EUuu uE}uuhͶEU uy h߶ZUuu uE}u h%EU uE}u hEU uWE}u hEU uuuhU uE}u h$VEUuu uE}u h/EUuu u;Et h=ÐUuu uE}y$d8GtZ8gtσ hIEUuu u9y hVmUuu u)y ha=Uuu uy ho Uuu uy hU uuuu u y hUu u&E}y huEU hEEt uE u uy hUuu uE}y hȷEUuuu uE}y hӷEUuuuuu u] E}y h޷lEUuu uEE}y h4EU uuuu u E}y hEUuuu u;Et hUuuuuu u ;Et hUEEU E;B r M EATEEӃuu u;Et h U uuuu ur y h.Uu uy h?Uuu uE}y hNEUuuu uE}y h[LÐU}u huuu uOE}u hEUuu uE}yu h}uu hÐU ugt hƸ{Uu uE}u hӸIEUuu uE}u" ukt hEUu uE}u hEUu uu hU(P)ă}t h E 0E 0 E}y hJu5h juUWV fffffff؏ُ󪍽f󤍽󪍽of󤍽o h hܟDž؟5`h5`huhPEu+ PPPhP uhP-u2PPPoPghPuu jP PPPhPI hPyhh PPPoPhhPhoPhhPuu PPP PPu hPu u hh PCu-h hB u  jhEPhXoPulhZoPt/؏PP u Eyh\hBbhyPUu0hPu uŃ h볃hhBhPurhhBhPu 3u hPhBE u A j5`P5`he^_UH E u EhuẼhhBujjEPuhuh nE܋U)‰=~ E E܋U)‰ЉEuujPu ujPUԍEuh}suujP]PhB u UDžT.EE hE hE hE hvETuh/hB uh hKuuuhuE}`hNhBjhgu  uEuhz{h~u8EXPu< EE؃hhB5uhz"ujjEP uEԋU)‰=~ E EԋU)‰ЉEuujXPCuujXPU̍E u6E;E|jhyu ujhuÐU=Whhu=y8uE;=u E) U EEUE EEE;ErWEPuJE}uEŠEE} u %}u}uEEE럋EEEEUuu udE}y heEÐUE EEE}uKuuuE}8u E EUE)UE뭋EEEUuu uy;Et hÐUHj EPEEEPEPu u(E}t" uPu uhEĉEEp EpEpZE}y.EpEpuu uEċ@Eąu}uu uh! uEUu uÐUHj EPEEE̋EEЍEPEPu u E}t EEĉEEUHj EPwEEE̋EEЍEPEPu uE}tH uGPE E} uE@uEE}uERuh` EÐUuuu uE}u*‹E hnUu u}E}u‹E h.U uPE}u‹E hUu uE}um‹E hU ucE}u0‹E htUu ucE}u‹E h4U uE}u‹E hU uE}uv‹E hU u E}u9‹E h9}U uE}u‹E hV@Uu uOE}u‹E hpUuu u,E}uy‹E hUu u<E}u9‹E h}Uu uE}u‹E h=Uu u\E}u‹E hUWVS [Þ+)19sאF9r [^_UVS[Z+)ɍqu ^[^ÉNuUSu u[+jW]ÐUSRt ЋuX[US[*R]readn error: %s calloc errorclose errordup2 errorfcntl errorgettimeofday errorioctl errorfork errormalloc errormmap erroropen error for %spipe errorread errorstrdup errorsysconf errorunlink error for %swait errorwaitpid errorwrite erroraccept errorbind errorconnect errorgetpeername errorgetsockname errorgetsockopt errorisfdtype errorLISTENQlisten errorpoll errorrecv errorrecvfrom errorrecvmsg errorselect errorsend errorsendto errorsendmsg errorsetsockopt errorshutdown errorsocket errorsocketpair errorNULL 3rd argument to inet_ntopinet_ntop errorinet_pton error for %sfclose errorfdopen errorfgets errorfopen errorfputs errorusage: client error connecting to server waiting for file Welcome to Matthew Nixon's Client-Server File Transfer System cstf> %s%s%sgetputdo we get here 2?%s do we get here 3:?Server terminated prematurely Timeout! Exiting from server now %sready to get file rwProblems writing to file... command done! File already exists! choose a new filename Exiting from server now ctfs> rbThis is the file size : %i window size is %d read %i bytes do we get here server2 ? ./do we get here server1? ready to put file %d wbThis is the size of the file : error opening file for reading readline errorwriten errortcp_connect error for %s, %s: %stcp_connect error for %s, %s(no service name)(no hostname)host_serv error for %s, %s: %spthread_create errorpthread_join errorpthread_detach errorpthread_kill errorpthread_mutexattr_init errorpthread_mutex_init errorpthread_mutex_lock errorpthread_mutex_unlock errorpthread_cond_broadcast errorpthread_cond_signal errorpthread_cond_wait errorpthread_cond_timedwait errorpthread_once errorpthread_key_create errorpthread_setspecific error , HЃ  |\ ooo0 Zjzʑڑ *:JZjzʒڒ *:JZjzʓړ *:JZjzʔڔ *:JZjzʕڕ *:JZjzGCC: (GNU) 3.3.2 20031218 (Red Hat Linux 3.3.2-5)GCC: (GNU) 3.3.2 20031218 (Red Hat Linux 3.3.2-5)GCC: (GNU) 3.3.2 20031022 (Red Hat Linux 3.3.2-1)GCC: (GNU) 3.3.2 20031022 (Red Hat Linux 3.3.2-1)GCC: (GNU) 3.3.2 20031022 (Red Hat Linux 3.3.2-1)GCC: (GNU) 3.3.2 20031022 (Red Hat Linux 3.3.2-1)GCC: (GNU) 3.3.2 20031022 (Red Hat Linux 3.3.2-1)GCC: (GNU) 3.3.2 20031022 (Red Hat Linux 3.3.2-1)GCC: (GNU) 3.3.2 20031022 (Red Hat Linux 3.3.2-1)GCC: (GNU) 3.3.2 20031022 (Red Hat Linux 3.3.2-1)GCC: (GNU) 3.3.2 20031022 (Red Hat Linux 3.3.2-1)GCC: (GNU) 3.3.2 20031022 (Red Hat Linux 3.3.2-1)GCC: (GNU) 3.3.2 20031022 (Red Hat Linux 3.3.2-1)GCC: (GNU) 3.3.2 20031022 (Red Hat Linux 3.3.2-1)GCC: (GNU) 3.3.2 20031022 (Red Hat Linux 3.3.2-1)GCC: (GNU) 3.3.2 20031022 (Red Hat Linux 3.3.2-1)GCC: (GNU) 3.3.2 20031218 (Red Hat Linux 3.3.2-5).symtab.strtab.shstrtab.interp.note.ABI-tag.hash.dynsym.dynstr.gnu.version.gnu.version_r.rel.dyn.rel.plt.init.text.fini.rodata.eh_frame.data.dynamic.ctors.dtors.jcr.got.bss.comment#(( 1HH7 Ѓ? Go00 To pc \\ l || u,,pDDp{d6@@6' ]`   `````h``bH `bcej; z (HЃ0\| , D   @ `ؖ *8EIlU k8 w Ϙ %0; CLZft> {T6dFte Ƣ5 8 Q= N1 P@ m)==O@ a] k5 v8 . 40  đWE5 ԑQL3 &1 = 8 |; -xA$'S4%eDqv@}Td)  tJ ԝ0 G8 " C L6->l FJ= [: btd# }ĒԒ6D Ĵ@ qd x91, 7d6 B$9T0 `4rD4T6d tx'8 = ϞX е"" #9`d,=AA BN L* S9iē@|؟8 ԓ5( 9+ |ӱ@ FS  !8 )sG$JXͲ@ k4x~ DQTJ%6 2 dP1 XL AC [-  t*~H = [d|5 DH . X i  *  Ĕ:- Ԕ? . D @ X 0 ]  h 9z 9  }  6 $9 @ /   4:  D;4 T|D d\ tq 6 h  p x 8 ĕ* ԕ 4 X   x0 <A <( I = X xk h| $6  е" D 4T A 8  Dx 2 Te ) d9; O t9e _8 j  1d ij= = |   z.  0call_gmon_startcrtstuff.c__CTOR_LIST____DTOR_LIST____JCR_LIST__p.0completed.1__do_global_dtors_auxframe_dummy__CTOR_END____DTOR_END____FRAME_END____JCR_END____do_global_ctors_auxreadn.cerror.cerr_doitwrapunix.cwrapsock.cwraplib.cwrapstdio.cclient.creadline.cread_cnt.0read_ptr.1read_buf.2my_readwriten.ctcp_connect.chost_serv.cwrappthread.cSelectfreeaddrinfo@@GLIBC_2.0pthread_cond_wait@@GLIBC_2.3.2pthread_detach@@GLIBC_2.0pthread_cond_timedwait@@GLIBC_2.3.2FdopenReadnSysconfSendPthread_killferror@@GLIBC_2.0vsprintf@@GLIBC_2.0fdopen@@GLIBC_2.1Pthread_cond_waithost_servSocketpairReadlineUnlinkGetsockname_DYNAMICstrdup@@GLIBC_2.0Fopenisfdtype@@GLIBC_2.0getaddrinfo@@GLIBC_2.0MallocWritePthread_cond_broadcastReadwrite@@GLIBC_2.0Openpoll@@GLIBC_2.0recvfrom@@GLIBC_2.0fileno@@GLIBC_2.0strcmp@@GLIBC_2.0close@@GLIBC_2.0_fp_hwinet_pton@@GLIBC_2.0fork@@GLIBC_2.0ForkHost_servgetenv@@GLIBC_2.0FgetsConnectfflush@@GLIBC_2.0FcntlreadlinePthread_createpthread_create@@GLIBC_2.1unlink@@GLIBC_2.0__fini_array_endSendmsgPthread_mutex_unlockSendtoselect@@GLIBC_2.0err_dumpstrerror@@GLIBC_2.0__dso_handlemmap@@GLIBC_2.0__libc_csu_finiPthread_key_create__errno_location@@GLIBC_2.0pthread_kill@@GLIBC_2.0readnaccept@@GLIBC_2.0shutdown@@GLIBC_2.0_initGetsockoptlisten@@GLIBC_2.0Getpeernamemalloc@@GLIBC_2.0pthread_mutex_init@@GLIBC_2.0pipe@@GLIBC_2.0fread@@GLIBC_2.0sendto@@GLIBC_2.0Pollget_clientListenfstatsyslog@@GLIBC_2.0getsockopt@@GLIBC_2.0stdout@@GLIBC_2.0stderr@@GLIBC_2.0abort@@GLIBC_2.0MmapInet_ntopFclosesetsockopt@@GLIBC_2.0sysconf@@GLIBC_2.0Recvmsgpthread_once@@GLIBC_2.0err_quitgetpeername@@GLIBC_2.0Closewaitpid@@GLIBC_2.0Pthread_joinservercheckInet_pton_startpthread_mutexattr_init@@GLIBC_2.0Waitpidpthread_mutex_lock@@GLIBC_2.0fgets@@GLIBC_2.0Pthread_mutex_initrecvmsg@@GLIBC_2.0Tcp_connect__fxstat@@GLIBC_2.0fputs@@GLIBC_2.0SetsockoptWaitstrlen@@GLIBC_2.0WritenAcceptPthread_cond_timedwaitShutdowntcp_connectpthread_setspecific@@GLIBC_2.0pthread_key_create@@GLIBC_2.0Pthread_mutex_lockpthread_cond_signal@@GLIBC_2.3.2Isfdtype__fini_array_start__libc_csu_initGettimeofday__bss_startmainpthread_cond_broadcast@@GLIBC_2.3.2__libc_start_main@@GLIBC_2.0__init_array_endPipedup2@@GLIBC_2.0strcat@@GLIBC_2.0Dup2Pthread_setspecificBinddata_startprintf@@GLIBC_2.0bind@@GLIBC_2.0_finifcntl@@GLIBC_2.0fclose@@GLIBC_2.1Callocgetsockname@@GLIBC_2.0Pthread_oncehandle_clienterr_retgettimeofday@@GLIBC_2.0__preinit_array_endsnprintf@@GLIBC_2.0open@@GLIBC_2.0pthread_join@@GLIBC_2.0inet_ntop@@GLIBC_2.0bzero@@GLIBC_2.0gai_strerror@@GLIBC_2.1exit@@GLIBC_2.0writensendmsg@@GLIBC_2.0Ioctlatoi@@GLIBC_2.0calloc@@GLIBC_2.0sscanf@@GLIBC_2.0_edata_GLOBAL_OFFSET_TABLE__endsend@@GLIBC_2.0ioctl@@GLIBC_2.0err_sysPthread_detachconnect@@GLIBC_2.0stdin@@GLIBC_2.0fopen@@GLIBC_2.1__init_array_start__fstat_IO_stdin_usedpthread_mutex_unlock@@GLIBC_2.0RecvfromSocketdaemon_procrecv@@GLIBC_2.0Strdupfwrite@@GLIBC_2.0__data_startsocket@@GLIBC_2.0_Jv_RegisterClassessocketpair@@GLIBC_2.0Recv__preinit_array_startput_clientPthread_cond_signalPthread_mutexattr_initread@@GLIBC_2.0err_msgFputswait@@GLIBC_2.0__gmon_start__strcpy@@GLIBC_2.0